Espressioni booleane, di confronto e set
I modelli del filtro possono contenere espressioni booleane, espressioni di confronto ed espressioni set. I collegamenti elencati nella tabella seguente rappresentano simboli alternativi forniti nell'implementazione XSL Transformations (XSLT). In questo documento vengono descritti gli operatori di espressione.
Operatore | Descrizione |
---|---|
|
AND logico |
|
OR logico |
|
Negazione |
|
Uguaglianza |
|
Non uguaglianza |
|
Minore di |
|
Minore o uguale a |
|
Maggiore di |
|
Maggiore o uguale a |
|
Operazione sugli insiemi. Restituisce l'unione di due set di nodi |
* Metodo XPath esteso
La sintassi del World Wide Web Consortium (W3C) per le parole chiave operator utilizza spazi vuoti e altri separatori anziché il simbolo del dollaro ($
) utilizzato nella versione 2.5. Nella sintassi W3C una parola chiave binary del modulo $xxx$ può essere espressa come wsxxxws, dove ws si riferisce a un terminatore token rappresentato da uno spazio vuoto, da virgolette singole ('
) o da virgolette doppie ("
). Gli operatori unari come not()
utilizzano la notazione di funzione. Sebbene l'implementazione Microsoft supporti entrambe le sintassi, è consigliabile utilizzare la sintassi W3C per garantire la compatibilità futura.
L'ordine di precedenza (dal maggiore al minore) per gli operatori di confronto e booleani viene visualizzato nella seguente tabella.
Precedenza | Operatori | Descrizione |
---|---|---|
1 |
|
Raggruppamento |
2 |
|
Filtri |
3 |
|
Operazioni di percorso |
4 |
|
Confronti |
5 |
|
Confronti |
6 |
|
Unione |
7 |
|
NOT booleano |
8 |
|
AND booleano |
9 |
|
OR booleano |
Quando gli operatori vengono utilizzati in un documento XML, come un foglio di stile XSLT, i token <
e >
devono essere in sequenza escape rispettivamente come <
e >
. Ad esempio, l'istruzione XSLT seguente richiama una regola di modello XSLT su tutti gli elementi <book>
il cui elemento <price>
ha un valore numerico inferiore o uguale a 10.
<xsl:apply-templates select="book[price <= 10]"/>
Quando un'espressione XPath viene utilizzata con il DOM, gli operatori < e > non devono essere in sequenza escape. Ad esempio, l'istruzione JScript seguente seleziona tutti gli elementi <book>
il cui elemento <price>
ha un valore numerico inferiore o uguale a 10.
var cheap_books = dom.selectNodes("book[price <= 10]");
Le espressioni booleane possono corrispondere a tutti i nodi di un determinato valore o a tutti i nodi con nodi compresi in determinati intervalli. Di seguito viene riportato un esempio di espressione booleana che restituisce false.
1 >= 2
Gli operatori distinguono tra maiuscole e minuscole.
AND logico e OR logico
Gli operatori booleani and
e or
eseguono rispettivamente operazioni di AND logico e di OR logico. Questi operatori, insieme alle parentesi di raggruppamento, possono essere utilizzati per costruire sofisticate espressioni logiche.
Esempi
Espressione | Si riferisce a |
---|---|
|
Tutti gli elementi |
|
Tutti gli elementi |
NOT booleano
L'operatore not
booleano nega il valore di un'espressione all'interno di un modello del filtro.
Esempi
Espressione | Si riferisce a |
---|---|
|
Tutti gli elementi |
author[not(degree or award) and publication] |
Tutti gli elementi |
Esempio
File XML (test.xml)
File XSLT (test.xsl)
Il foglio di stile XSLT seguente seleziona tutti gli elementi <x> senza alcun attributo.
Output
La trasformazione, quando viene applicata al file XML precedente, restituisce il seguente risultato: