Le espressioni XPath sono utilizzate in orchestrazioni e definizioni di schema di file flat, quando diventa necessario identificare uno o più nodi in un messaggio o in una variabile al fine di accedere ai dati o stabilire se una condizione è stata soddisfatta.
XPath è uno standard XML che definisce una grammatica per l'identificazione di nodi o insiemi di nodi nei documenti XML.
È possibile modificare le espressioni XPath base, generate nei seguenti pannelli:
XPath 2.0 è supportato.
XPath descrive l'ubicazione degli attributi e degli elementi XML come un percorso simile agli URL o alle directory nel file system locale. Ogni elemento o attributo rappresenta un nodo in una struttura ad albero che inizia con il nodo root. Il nodo root contiene l'intera struttura ad albero, quindi ogni nodo nella struttura ad albero può essere raggiunto seguendo un percorso lungo i rami.
La sintassi di base è:
/root-node/child-node/.../final-element-node/root-node/child-node/.../final-element-node/@attribute-node
Questo percorso viene determinato in base allo schema XML che descrive i messaggi.
XPath utilizza il simbolo @ come sintassi abbreviata per l'identificazione degli attributi. I percorsi senza @ o senza il prefisso attribute::, identificano, per impostazione predefinita, gli elementi. Ad esempio:
/PackingSlip/PONumber/Itemidentifica l'elemento Item contenuto in PONumber nel nodo root PackingSlip.
I nomi dei nodi possono essere visualizzati anche con gli spazi dei nomi, ad esempio, tns:OrderNumber o *:Item. La parte di nome fino ai due punti è un prefisso che identifica uno spazio dei nomi, mentre i due punti sono il delimitatore tra lo spazio dei nomi ed il nome locale del nodo.
Gli spazi dei nomi sono uno standard XML utilizzato per identificare in modo univoco elementi o attributi, quando i documenti condividono contenuto proveniente da vari schemi. WebSphere Cast Iron Studio assegna e gestisce automaticamente gli spazi dei nomi per gli schemi XML utilizzati nei documenti della configurazione.
Talvolta, potrebbe essere utile selezionare un nodo solo se vengono soddisfatte alcune condizioni. Queste condizioni di selezione sono note come predicati.
I predicati si definiscono tra parentesi quadre, ad esempio:
/PV1/PatientDepartment[text()='Nursery']Questa espressione seleziona il nodo PatientDepartment solo se i dati nel nodo sono Nursery.
/Order/OrderDetail/Item[5]Questa espressione seleziona il quinto nodo Item in OrderDetail.
Le espressioni XPath possono anche essere condizioni booleane con valore true o false. Queste espressioni si possono utilizzare per selezionare nodi specifici o semplicemente identificare una condizione che va soddisfatta. È possibile utilizzare il builder espressione per facilitare la definizione di condizioni. Gli operatori XPath che possono comparire nelle espressioni includono:
concat('New Order # ',/Orders/Order/OrdNumber)
count(/Orders/Order)
normalize-space(/Job/Address/Line1)
string(/PurchaseOrder/VendorID)
translate(/Issue/ShortDescr,
'abcdefghijklmnopqrstuvwxyz',
'ABCDEFGHIJKLMNOPQRSTUVWXYZ')
Per un elenco completo delle funzioni XPath, consultare la specifica XPath ( http://www.w3.org/TR/xpath).
È possibile eseguire una verifica delle espressioni XPath rispetto ai dati della verifica XML utilizzando la Valutazione XPath.