Confronti
Per confrontare due oggetti in XPath, utilizzare il segno di uguale =
per verificare l'uguaglianza oppure utilizzare !=
per verificare la disuguaglianza.
Per eseguire un'operazione di confronto, è necessario fornire esattamente due operandi. I confronti vengono eseguiti valutando gli operandi e, se necessario, convertendoli in modo che siano dello stesso tipo. Questa operazione viene eseguita in base al processo descritto di seguito in "Ordine di precedenza per i confronti".
Tutti gli elementi e gli attributi sono stringhe, ma ne viene automaticamente eseguito il cast in valori integer per consentire un confronto numerico. Durante le operazioni di confronto, viene eseguito il cast dei valori letterali numerici in valori di tipo Long o Double, come indicato nella seguente tabella.
Per informazioni su <
e su altri operatori di confronto binario, vedere "Operatori di confronto binario" più avanti.
Tipo letterale | Confronto | Esempio |
---|---|---|
String |
|
|
Integer |
|
|
Real |
|
|
È possibile utilizzare virgolette singole o doppie per i delimitatori di stringa nelle espressioni. Ciò semplifica la creazione e il passaggio dei pattern all'interno dei linguaggi di scripting.
Per ulteriori informazioni sui confronti eseguiti utilizzando XPath, vedere la sezione 3.4 ("Booleans") della raccomandazione W3C "XML Path Language (XPath) Version 1.0" del 16 novembre 1999 all'indirizzo www.w3.org/TR/xpath (informazioni in lingua inglese).
Esempi
Espressione | Si riferisce a |
---|---|
|
Tutti gli elementi |
|
Tutti gli elementi |
|
Tutti gli elementi |
|
Tutti gli elementi |
|
Tutti gli elementi |
Ordine di precedenza per i confronti
Ai confronti relativi ai tipi di dati sono conformi all'ordine di precedenza.
Se almeno un operando è un valore booleano, ogni operando verrà prima convertito in un valore booleano.
Se almeno un operando è un numero, ogni operando verrà prima convertito in un numero.
In caso contrario, se almeno un operando è una data, ogni operando verrà prima convertito in una data.
In caso contrario, entrambi gli operandi verranno prima convertiti in stringhe.
Operatori di confronto binario
Un insieme di operatori di confronto binario consente di eseguire il confronto di numeri e di restituire risultati booleani. Gli operatori <
, <=
, >
e >=
sono utilizzati per indicare, rispettivamente, un valore minore, minore o uguale, maggiore e maggiore o uguale. È possibile utilizzare virgolette singole o doppie per i delimitatori di stringa nelle espressioni. Ciò semplifica la creazione e il passaggio dei pattern all'interno dei linguaggi di scripting.
Gli operatori di confronto funzionano solo con i numeri. È possibile confrontare le stringhe per verificarne l'uguaglianza, ma se si desidera confrontare le stringhe per determinare l'ordinamento delle stesse, è necessario utilizzare Funzioni di estensione di Microsoft XPath.
Esempi
Espressione | Si riferisce a |
---|---|
|
Tutti gli elementi |
|
Tutti gli elementi |
|
I primi tre elementi |
Esempio
File XML (test.xml)
File XSLT (test.xsl)
Il seguente foglio di stile XSLT consente di selezionare tutti gli elementi <x>
che sono i primi di pari livello nell'ordine del documento.
Output formattato
La trasformazione applicata al file XML precedente contiene il seguente risultato:
<x a="1">
<x a="2" b="B">
<x>
<y>y31</y>
<y>y32</y>
</x>
</x>
</x>
<x a="2" b="B">
<x>
<y>y31</y>
<y>y32</y>
</x>
</x>
<x>
<y>y31</y>
<y>y32</y>
</x>
Vedere anche
Riferimento
Concetti
File XML di esempio per la sintassi di XPath (inventory.xml)