Il linguaggio di selezione XPath, utile per filtrare i dati presenti in files XML, offre un'ampia lista di operatori per poter eseguire selezioni mirate di dati XML.
Il risultato di una selezione, o espressione, XPath apparterrà necessariamente ad una delle tipologie di dati XML elencate di seguito:
- Node-Set: un insieme di nodi;
- String: un testo;
- Boolean: true or false, vero o falso;
- Number: un numero;
Come detto in apertura di articolo, XPath fornisce un ricco set di operatori per poter filtrare un documento XML in modo molto selettivo.
La tabella riassuntiva sotto esposta elenca tutti gli operatori XPath con il relativo modo di utilizzo all'interno di fogli di stile XSL(o XSLT), dove in alcuni casi è necessario trasformare gli operatori nelle rispettive entità.
Il file utilizzato per gli esempi è serra.xml .
| Operatore | Descrizione | Esempio | Risultato | Espr. XSL |
|---|---|---|---|---|
| | | Trova due o più node-set | //pianta | //vaso | Restituisce node-set con tutti gli elementi <pianta> e <vaso> | | |
| + | Esegue una somma | 3 + 2 | 5 | + |
| - | Esegue una sottrazione | 3 - 2 | 1 | - |
| x | Esegue una moltiplicazione | 3 x 2 | 6 | x |
| div | Esegue una divisione | 6 div 2 | 3 | div |
| = | Esegue un confronto di uguaglianza | nome = 'felce' | true se //pianta/nome è 'felce', altrimenti false | = |
| != | Esegue un confronto di disuguaglianza | nome != 'felce' | false se //pianta/nome è 'felce', altrimenti true | != |
| < | Esegue un confronto per Minore di | prezzo < 5 | true se prezzo è minore di 5, altrimenti false | < |
| <= | Esegue un confronto per Minore o Uguale a | prezzo <= 5 | true se prezzo è minore o uguale a 5, altrimenti false | <= |
| > | Esegue un confronto per Maggiore di | prezzo > 5 | true se prezzo è maggiore di 5, altrimenti false | > |
| >= | Esegue un confronto per Maggiore o uguale a | prezzo >= 5 | true se prezzo è maggiore o uguale a 5, altrimenti false | >= |
| or | Esegue un confronto con OR logico | nome = apos;felce' or nome = 'rosa' | true se //pianta/nome è 'felce' o 'rosa', altrimenti false | or |
| and | Esegue un confronto con AND logico | nome != 'felce' and nome != 'rosa' | true se //pianta/nome non è ne 'felce' ne 'rosa', altrimenti false | and |
| mod | Resto di divisione o Modulo | 6 mod 4 | 2, ovvero il resto della divisione 6/4 | mod |
Quando si utilizzano gli operatori è importante ricordarsi che la sintassi del linguaggio XPath è case-sensitive, ovvero che ciò che è scritto in minuscolo é considerato differente da ciò che è scritto in maiuscolo.
Personalmente, trovo che l'utilizzo di tali operatori sia necessario per poter esporre dati XML tramite fogli di stile XSLT.
Alla prossima, MA.
0 commenti:
Posta un commento
Non ti è chiaro qualcosa?
No problem, posta il tuo dubbio ;)
..... e ricordati di firmarlo!