XPath (XML Path Language)

Slides:



Advertisements
Presentazioni simili
Introduzione al linguaggio C++
Advertisements

Shell: variabili di sistema PATH HOME USER PWD SHELL HOSTNAME HOSTTYPE Per visualizzare il valore di tutte le variabili dambiente si usa il comando set.
WWW XML-Namespace Fabio Vitali. WWW Fabio Vitali2 Introduzione Qui esaminiamo: u Lesigenza e il funzionamento dei Namespace in XML.
Introduzione al DTD Mario Arrigoni Neri.
Introduzione ad XML Mario Arrigoni Neri.
Informatica 22/03/2012.
Estendere i linguaggi: i tipi di dato astratti
A. FERRARI Alberto Ferrari. L'HyperText Markup Language (HTML) (traduzione letterale: linguaggio di marcatura per ipertesti) è un linguaggio usato per.
Lezione 18 MIDI e XML Programmazione MIDI (Prof. Luca A. Ludovico)
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
PHP.
DTD Laurea Magistrale in Informatica Chapter 03 Modulo del corso Thecnologies for Innovation.
XSLT (eXtensible Stylesheet Language Transformation) Laurea Magistrale in Informatica Reti 2 (2005/06) dott. Francesco De Angelis
XPATH UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re Anno Accademico
XSLT UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re Anno Accademico
XPath (XML Path Language) Laurea Magistrale in Informatica Reti 2 (2005/06) dott. Francesco De Angelis
Query OQL e XQUERY a confronto
XML Prof. Alfredo Pulvirenti. XML XML (eXtensible Markup Language) è un meta linguaggio. Può essere definito come un insieme di regole e convenzioni che.
WWW Link in XML Fabio Vitali. WWW Fabio Vitali2 Introduzione Qui esaminiamo: u XLink.
Fondamenti di Informatica II Ingegneria Informatica / Automatica (A-I) Meccanica Prof. M.T. PAZIENZA a.a – 3° ciclo.
XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.
JAVASCRIPT DIFFERENZA TRA JAVASCRIPT E JAVA TAG LO SCRIPT OGGETTI LE CLASSI FUNZIONE GESTORE DI EVENTI ELEMENTI DEL LINGUAGGI è un vero e proprio linguaggio.
1 Corso di Informatica (Programmazione) Lezione 10 (12 novembre 2008) Programmazione in Java: espressioni booleane e controllo del flusso (selezione)
1 Corso di Informatica (Programmazione) Lezione 13 (21 novembre 2008) Programmazione in Java: stringhe e array.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Le stringhe di caratteri in Java Anno Accademico 2009/2010.
XML e DTD. –il "PROLOG contiene: dichiarazione della versione di XML; commenti (facoltativi); dichiarazione del DOCUMENT TYPE. –il "DOCUMENT INSTANCE.
Corso di basi di dati II Prof. Francesco Cutugno Dott. Sara Romano
Basi di Dati II Sara Romano
Introduzione agli stream e alle classi
Corso di Informatica A.A Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala Laurea.
Corso di Informatica A.A Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala Dott.ssa.
Lezione 4: Costrutti Condizionali Prof. Raffaele Montella.
Fondamentidi Programmazione Corso: Fondamenti di Programmazione Classe: PARI-DISPARI Docente: Prof. Luisa Gargano Testo: Aho, Ulman, Foundations of Computer.
Programmazione Corso di laurea in Informatica
Istruzioni di selezione in Java Programmazione Corso di laurea in Informatica.
Esercizio 1 Convertire il seguente DTD (esercizio 1 sui DTD) in XML Schema:
Corso di PHP.
XSLT Trasformazioni XSL Ing. Luca Sabatucci. XSLT Uno dei vantaggi principali nell'utilizzo dell'Extensible Markup Language è la facilità con cui si possono.
1 XPath. 2 What is XPath? XPath is a syntax for defining parts of an XML document XPath uses paths to define XML elements XPath defines a library of standard.
Informatica Umanistica A.A. 2009/2010 eXtensible Markup Language (XML)
Importanza DTD La DTD (Document Type Definition) consente di dichiarare in maniera univoca la struttura di markup mediante la definizione dello schema.
4 Tipi di dati & variabili
Javascript 6 Funzioni. Una funzione sarà eseguita in risposta ad un evento o ad una chiamata diretta. Le funzioni possono essere inserite comodamente.
I fogli di stile XSL – 2 –. Selezioni multiple : serve per applicare una regola in modo ricorsivo a nodi figli dellelemento contestuale. Attributo select.
Javascript: fondamenti, concetti, modello a oggetti
Creare pagine web Xhtlm. Struttura di una pagina.
HTML Lezione 3 Stili.
XPATH.
Informatica Umanistica A.A. 2007/2008 LEZIONE 4 eXtensible Markup Language (XML) INTRODUZIONE.
Introduzione a Javascript
Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni Document Type Definition  Document Type Definition (DTD)  Documento XML valido 
Programmazione Web PHP e MySQL 1. 2Programmazione Web - PHP e MySQL Esempio: un blog.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
WWW XSLT Ing. Michele Vindigni. WWW 2 Introduzione Oggi esaminiamo in breve: u XSLT, ovvero il linguaggio trasformazione per documenti XML con sintassi.
A.a. 2004/05Tecnologie Web1 Introduzione a XML: Document Type Definition; parser XML; XML-schema; eXtensible Stylesheet Language.
Carluccio Antonio Carluccio Alessandra Caricola Giovanni Vizzino Anna Università degli Studi di Bari.
1 Il linguaggio C Precisazioni sull’esperienza in laboratorio.
Ancora sulla shell. Shell e comandi La shell e' un programma che interpreta i comandi dell'utente. I comandi possono essere dati da terminale, oppure.
WWW XBase, XPath e XPointer Fabio Vitali. WWW Fabio Vitali2 Introduzione Qui esaminiamo: u XBase, XPath e XPointer.
I fogli di stile XSL.
WWW XSLT Fabio Vitali. WWW Fabio Vitali2 Introduzione Oggi esaminiamo in breve: u XSLT, ovvero il linguaggio di stile di XML.
WWW XBase, XPath e XPointer Fabio Vitali. WWW Fabio Vitali2 Introduzione Qui esaminiamo: u XBase, XPath e XPointer.
EXtensible Stylesheet Language Transformations (XSLT) Giuseppe Della Penna Università degli Studi di L’Aquila
1 XSL:Rappresentare i documenti XML Marco Mesiti XSL, XSLT, XPath.
Cloud informatica V anno. Introduzione a PHP Lo scripting PHP PHP è un linguaggio di scripting lato server. Le caratteristiche di un linguaggio di scripting.
Approfondimenti SQL.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
Transcript della presentazione:

XPath (XML Path Language) Laurea Magistrale in Informatica

XPath - XML Path Language Obiettivi XPath - XML Path Language

XPath - XML Path Language XPath è un linguaggio che permette di localizzare parti di un documento XML XPath non è un linguaggio strutturato ma un linguaggio basato su stringhe ed espressioni che sono utilizzate da altre tecnologie XML XPath opera sulla struttura logica del documento, non su quella sintattica XPath dispone anche di primitive per eseguire semplici operazioni su stringhe, numeri e valori booleani XPath - XML Path Language

Il documento secondo XPath Dal punto di vista di XPath, il documento XML è un albero Ogni elemento, commento, attributo, namespace, PI o stringa di testo (non-markup) è un nodo dell’albero Le relazioni tra i nodi sono semplici: Il documento ha un solo nodo radice che contiene tutti gli altri Un elemento annidato è un nodo figlio (child node) dell’elemento che lo contiene Commenti, PI e testo sono figli dell’elemento che li contiene I nodi attributo e dei namespace non sono considerati child dei loro parent Non sono contenuti all’interno dei parent ma sono solo utilizzati per fornire informazioni descrittive XPath - XML Path Language

Un semplice documento XML e la sua struttura ad albero con XPATH XPath - XML Path Language

Un documento xml con due nodi di namespace ed un nodo PI XPath - XML Path Language

Location Path e Location Step Il Location Path ( path di posizione) specifica come spostarsi tra i nodi dell’albero Un Location Path è composto di una sequenza di passi di locazione (Location Step) separati da ‘/’, e letti da sinistra a destra. Ogni termine individua più precisamente un frammento della risorsa individuata in precedenza. Un location step ha tre parti: Un asse Un test di nodo Zero o più predicati axis::test[pred1][pred2]…[pred N] XPath - XML Path Language

XPath - XML Path Language Nodo di contesto Le ricerche iniziano dal nodo di contesto Se abbiamo una istruzione xpath che restituisce il primo child del nodo di contesto Nodo di contesto  Head = nodo dell’elemento Title Nodo di contesto  HTML = nodo dell’elemento Head XPath - XML Path Language

XPath - XML Path Language Gli Assi L’asse è un insieme di nodi Indica quali nodi riferiti al contesto debbono essere inseriti nella ricerca Determina la sequenza di ricerca dei nodi ( diretta o inversa) Muovendosi sull’albero del documento, XPath permette di scegliere non solo tra i figli del nodo corrente, ma anche tra una serie di altri insiemi di nodi che sono in relazione con esso Gli assi identificano la direzione rispetto alla struttura del documento in cui andare a cercare l’oggetto da restituire rispetto al nodo contesto (NC) XPath - XML Path Language

XPath - XML Path Language Gli Assi XPATH (I) self Contiene il nodo corrente child Contiene gli elementi direttamente annidati nel contesto parent Contiene il padre dell’elemento corrente attribute Contiene gli attributi del nodo corrente ancestor Contiene il padre del nodo, il padre del padre, ecc… ancestor-or-self Come ancestor, ma contiene anche il nodo corrente XPath - XML Path Language

XPath - XML Path Language Gli Assi Xpath (II) descendant Contiene tutti gli elementi annidati nel nodo corrente (con livello di annidamento arbitrario) descendant-or-self Come descendant, ma contiene anche il nodo corrente following Contiene tutti i nodi che si trovano dopo quello corrente all’interno del documento, esclusi i discendenti, gli attributi del nodo e i namespaces following-sibling Contiene tutti i nodi che hanno lo stesso livello di nidificazione nell’elemento padre di quello corrente e sono posti dopo di esso (“fratelli”) XPath - XML Path Language

XPath - XML Path Language Gli Assi Xpath (III) preceding Contiene tutti i nodi che si trovano prima quello corrente all’interno del documento, esclusi i suoi antenati (ancestors), gli attributi del nodo e i namespaces preceding-sibling Contiene tutti i nodi che hanno lo stesso livello di nidificazione nell’elemento padre di quello corrente e sono posti prima di esso namespace Contiene i nodi namespace dichiarati per l’elemento corrente. XPath - XML Path Language

Le gerarchie secondo XPath <b/> </c> </a> <d xmlns:y=“…” x=“…”> <e/> </d> <g/> <f> </f> <i/> <h/> ancestor: [c,a] ancestor-or-self: [d,c,a] attribute: [x] child: [f] descendant: [f,g] descendant-or-self: [d,f,g] following: [i,h] following-sibling: [i] namespace: [y] parent: [c] preceding: [b,e] preceding-sibling: [e] self: [d] Nodo Corrente XPath - XML Path Language

Test di nodo (node test) Per individuare un particolare nodo su un asse, si usano il suo tipo e/o il suo nome tramite i cosiddetti node test. un asse ha un tipo di nodo principale che corrisponde al tipo di nodo che l’asse può selezionare Il test può essere: Un nome: vero se il nodo (elemento o attributo) ha quel nome text(), processing-instruction(), comment(): vero se il nodo è di tipo testo, processing instruction o commento. node(): vero sempre * : vero per tutti i nodi del tipo definito dall’asse XPath - XML Path Language

Path di posizione con assi e test dei nodi Location step  child::* Seleziona tutti i nodi degli elementi child del nodo di contesto Location step  child::text() Seleziona tutti i nodi di testo child del nodo di contesto Location path  child::*/child::text() Seleziona tutti i nodi di testo dei nipoti del nodo di contesto Esempio con html come nodo di contesto  XPath - XML Path Language

child::*/child::text() Nodi degli elementi Head e Body Risultato nullo perché né Head né Body hanno figli text XPath - XML Path Language

XPath - XML Path Language Sintassi abbreviata In alcuni casi esistono delle forme abbreviate usabili invece della sintassi completa: Child::x si può abbreviare con x Attribute::a si può abbreviare con @a Descendant si può abbreviare con ‘//’, self con ‘.’, parent con ‘..’ Esempi: /doc/chapter[5]/section[2]: la seconda sezione del quinto capitolo del documento ./chapter//para: tutti i para discendenti a qualunque livello di ogni nodo chapter figlio del NC //para: tutti i para discendenti a qualunque livello della radice del documento XPath - XML Path Language

XPath - XML Path Language Esempio Supponiamo di voler conoscere quali libri sono stati tradotti in giapponese /books/book/translation[.=‘Japanese’]/../title Per selezionare l’attributo edition /books/book/translation[.=‘Japanese’]/@edition XPath - XML Path Language

XPath - XML Path Language I Predicati I predicati corrispondono a filtri sull’insieme dei nodi selezionandone una parte secondo particolari criteri Il risultato di un filtro è l’insieme dei nodi filtrati In ciascuno step si possono inserire un numero arbitrario di filtri, che vengono richiamati nell’ordine in cui si presentano I filtri vanno posti nello step sempre dopo il node test All’interno del filtro si possono usare espressioni che abbiano valore booleano L’espressione del filtro viene valutata usando ciascun nodo del set come contesto, e se vale true il nodo viene aggiunto all’insieme dei risultati XPath - XML Path Language

XPath - XML Path Language Operandi nei Filtri All’interno dei filtri si possono usare espressioni XPath operandi: Espressioni XPath (compresi altri filtri nidificati!), che vengono valutate usando come contesto ciascun nodo dell’insieme di input Il “valore” di una espressione XPath, se usata con operatori di confronto, è il testo in essa contenuto (valore dell’attributo o testo all’interno dell’elemento). Se l’espressione è un insieme, XPath restituisce true se c’è almeno un suo elemento che soddisfi il test. Costanti numeriche o stringhe tra virgolette XPath - XML Path Language

XPath - XML Path Language I Filtri - Esempi /collection/album[title = “Supernatural”]/@ID gli ID di ogni album nella collection che abbia un (figlio) title contenente il testo “Supernatural”. /collection/album[@ID = “123”] tutti gli album nella collection con ID uguale a “123”. /collection/song[ @album =//album[title =“Supernatural”]/@ID ]/title i titoli di tutte le song nella collection che hanno un attributo album uguale all’ID di uno degli elementi album (presenti in qualunque punto tra i discendenti del contesto corrente) che hanno come title “Supernatural”. XPath - XML Path Language

collection/ song[…]/ title /collection/song[@album = //album[title = “S”]/@ID]/title <collection> <song> </collection> <title/> </song> <album> </album> collection/song //album //album[title=“S”] collection/song[…] collection/ song[…]/ title XPath - XML Path Language

XPath - XML Path Language I Filtri - Esempi //album/title[ . = “Supernatural”] il title di tutti gli album intitolati “Supernatural” (!) /collection/song[comment] tutte le song nella collection che hanno un comment /collection/song[comment[1] = “Hit”] tutte le song nella collection il cui primo comment contiene il testo “Hit” (non sottostringa!) //album[3] il terzo elemento album presente in tutto il file XML XPath - XML Path Language

XPath - XML Path Language I Filtri - Esempi //song[1][@album = “santana1”] la prima song nel documento, se ha un attributo album con valore “santana1” //cd[owner = “myself”]/song[@album = “santana1”]/title i title di tutte le song aventi un attributo album con valore “santana1” che si trovano in un cd avente un elemento figlio owner con valore “myself”. //*[self::song or self::album] tutti i nodi song o album nel documento corrente, a qualsiasi livello di nidificazione. XPath - XML Path Language

XPath - XML Path Language Operatori nei Filtri All’interno dei filtri si possono usare operatori: Confronto: ‘=’ (uguale), ‘!=’ (diverso), ‘>’ (maggiore), ‘>=’ (maggiore o uguale), ‘<’ (minore), ‘<=’ (minore o uguale). Logici (tra espressioni filtro valide): and, or, not(…) Insiemistici: (da usare tra insiemi di nodi, ma all’esterno dei filtri!): ‘|’ (unione). Raggruppamento (per dare precedenza a certe espressioni, si possono usare anche all’esterno dei filtri!): ‘(…)’ Matematici: ‘+’, ‘-’, ‘*’, ‘/’, mod XPath - XML Path Language

XPath - XML Path Language I Filtri - Esempi //album[@tracks >= 5] tutti gli album con attributo tracks avente valore maggiore di cinque //song[title and artist] tutte le song aventi (almeno) un figlio title e un figlio artist //song[@album != “santana1” and not(comment)] tutte le song con un attributo album con valore diverso da “santana1” e senza figli comment //cd/song[1] la prima song di tutti i cd (//cd/song)[1] la prima di tutte le song in tutti i cd XPath - XML Path Language

XPath - XML Path Language Funzioni nei Filtri All’interno dei filtri si possono usare vari tipi di funzioni: funzioni su insiemi di nodi funzioni su stringhe funzioni numeriche funzioni booleane funzioni XSLT - Specifiche (non presenti nella specifica XPath) XPath - XML Path Language

XPath - XML Path Language Funzioni su Nodi Principali funzioni sugli insiemi di nodi: count(ns): dimensione dell’insieme di nodi ns. last(): indice dell’ultimo elemento nell’insieme di nodi corrente. position(): posizione del nodo corrente all’interno del suo genitore. document(...): permette di accedere a documenti XML esterni. id(“…”): restituisce il nodo con l’attributi di tipo ID avente il valore dato. XPath - XML Path Language

Funzioni sulle Stringhe Principali funzioni sulle stringhe: string(o): converte l’oggetto o in una stringa. concat(s1,s2,...): concatena più stringhe. substring(s,x,y): sottostringa di s che inizia al carattere x ed è lunga y (opzionale) substring-after(s,t): la sottostringa di s che inizia dopo i caratteri t substring-before(s,t): la sottostringa di s che arriva fino ai caratteri t contains(s,t): vero se s contiene t. starts-with(s,t): vero se s inizia con t. string-length(s): la lunghezza della stringa s. XPath - XML Path Language

XPath - XML Path Language Funzioni Booleane Principali funzioni sui valori booleani: boolean(o): converte l’oggetto o in un valore booleano. true(): vale sempre true. false(): vale sempre false. not(e): vale l’opposto di e. XPath - XML Path Language

XPath - XML Path Language Funzioni Numeriche Principali funzioni sui valori numerici: number(o): converte l’oggetto o in un valore numerico. ceiling(x): restituisce l’intero più piccolo che non sia minore di x. floor(x): restituisce l’intero più grande che non sia maggiore di x. round(x): arrotonda x a un intero. sum(ns): converte in numeri (usando number()) tutti i nodi nell’insieme ns, e ne restituisce la somma. XPath - XML Path Language

XPath - XML Path Language I Filtri - Esempi //song[position() = last()] l’ultima song nel documento. //cd[sum(song/length) > 60]/title i titoli di tutti i cd in cui la durata totale delle song è maggiore di 60. //cd[count(song) < 12] i cd con meno di 12 song. //album[substring-after( substring-after(@date),’/’),’/’) = ‘2000’] gli album in cui l’attributo date è del tipo “…/…/2000” //album[@ID = current()/@album] gli album il cui attributo ID è uguale all’attributo album del contesto esterno corrente. XPath - XML Path Language

Un ulteriore esempio di XPath <prenotazioni> <biglietto nome="Luca Verdi"> <voloAndata data=“1-8-2005”> <tappa t="Bologna"/><tappa t="Frankfurt"/><tappa t="NewYork"/> </voloAndata> <voloRitorno data=“8-8-2005”> <tappa t="NewYork"/><tappa t="Roma"/><tappa t="Bologna"/> </voloRitorno> <prezzo>990</prezzo> </biglietto> <biglietto nome="Luigi Bianchi"> <destinazione>Roma</destinazione> <voloAndata data=“6-8-2005”> <tappa t="Bologna"/><tappa t="Roma"/> <voloRitorno data=“7-8-2005”> <tappa t="Roma"/><tappa t="Bologna"/> <prezzo>240</prezzo> ... Scrivere un XPath che identifichi: Tutti i biglietti di Luca Verdi Tutti i biglietti che costano più di 1000 euro Tutte le tappe di tutti i voli Tutti i biglietti del 6 agosto Tutti i biglietti che passano per Roma Le date di tutti i biglietti che arrivano a Napoli XPath - XML Path Language

Un ulteriore esempio di XPath <prenotazioni> <biglietto nome="Luca Verdi"> <voloAndata data=“1-8-2005”> <tappa t="Bologna"/><tappa t="Frankfurt"/><tappa t="NewYork"/> </voloAndata> <voloRitorno data=“8-8-2005”> <tappa t="NewYork"/><tappa t="Roma"/><tappa t="Bologna"/> </voloRitorno> <prezzo>990</prezzo> </biglietto> <biglietto nome="Luigi Bianchi"> <destinazione>Roma</destinazione> <voloAndata data=“6-8-2005”> <tappa t="Bologna"/><tappa t="Roma"/> <voloRitorno data=“7-8-2005”> <tappa t="Roma"/><tappa t="Bologna"/> <prezzo>240</prezzo> ... Tutti i biglietti di Luca Verdi //prenotazioni/biglietto[@nome=‘Luca Verdi’] XPath - XML Path Language

Un ulteriore esempio di XPath <prenotazioni> <biglietto nome="Luca Verdi"> <voloAndata data=“1-8-2005”> <tappa t="Bologna"/><tappa t="Frankfurt"/><tappa t="NewYork"/> </voloAndata> <voloRitorno data=“8-8-2005”> <tappa t="NewYork"/><tappa t="Roma"/><tappa t="Bologna"/> </voloRitorno> <prezzo>990</prezzo> </biglietto> <biglietto nome="Luigi Bianchi"> <destinazione>Roma</destinazione> <voloAndata data=“6-8-2005”> <tappa t="Bologna"/><tappa t="Roma"/> <voloRitorno data=“7-8-2005”> <tappa t="Roma"/><tappa t="Bologna"/> <prezzo>240</prezzo> ... Tutti i biglietti che costano più di 1000 euro //prenotazioni/biglietto[prezzo > 1000] XPath - XML Path Language

Un ulteriore esempio di XPath <prenotazioni> <biglietto nome="Luca Verdi"> <voloAndata data=“1-8-2005”> <tappa t="Bologna"/><tappa t="Frankfurt"/><tappa t="NewYork"/> </voloAndata> <voloRitorno data=“8-8-2005”> <tappa t="NewYork"/><tappa t="Roma"/><tappa t="Bologna"/> </voloRitorno> <prezzo>990</prezzo> </biglietto> <biglietto nome="Luigi Bianchi"> <destinazione>Roma</destinazione> <voloAndata data=“6-8-2005”> <tappa t="Bologna"/><tappa t="Roma"/> <voloRitorno data=“7-8-2005”> <tappa t="Roma"/><tappa t="Bologna"/> <prezzo>240</prezzo> ... Tutte le tappe di tutti i voli: //tappa XPath - XML Path Language

Un ulteriore esempio di XPath <prenotazioni> <biglietto nome="Luca Verdi"> <voloAndata data=“1-8-2005”> <tappa t="Bologna"/><tappa t="Frankfurt"/><tappa t="NewYork"/> </voloAndata> <voloRitorno data=“8-8-2005”> <tappa t="NewYork"/><tappa t="Roma"/><tappa t="Bologna"/> </voloRitorno> <prezzo>990</prezzo> </biglietto> <biglietto nome="Luigi Bianchi"> <destinazione>Roma</destinazione> <voloAndata data=“6-8-2005”> <tappa t="Bologna"/><tappa t="Roma"/> <voloRitorno data=“7-8-2005”> <tappa t="Roma"/><tappa t="Bologna"/> <prezzo>240</prezzo> ... Tutti i biglietti del 6 agosto //biglietto[*/@data="6-8-2005"] XPath - XML Path Language

Un ulteriore esempio di XPath <prenotazioni> <biglietto nome="Luca Verdi"> <voloAndata data=“1-8-2005”> <tappa t="Bologna"/><tappa t="Frankfurt"/><tappa t="NewYork"/> </voloAndata> <voloRitorno data=“8-8-2005”> <tappa t="NewYork"/><tappa t="Roma"/><tappa t="Bologna"/> </voloRitorno> <prezzo>990</prezzo> </biglietto> <biglietto nome="Luigi Bianchi"> <destinazione>Roma</destinazione> <voloAndata data=“6-8-2005”> <tappa t="Bologna"/><tappa t="Roma"/> <voloRitorno data=“7-8-2005”> <tappa t="Roma"/><tappa t="Bologna"/> <prezzo>240</prezzo> ... Tutti i biglietti che passano per Roma //biglietto[.//tappa/@t="Roma"] XPath - XML Path Language

Un ulteriore esempio di XPath <prenotazioni> <biglietto nome="Luca Verdi"> <voloAndata data=“1-8-2005”> <tappa t="Bologna"/><tappa t="Frankfurt"/><tappa t="NewYork"/> </voloAndata> <voloRitorno data=“8-8-2005”> <tappa t="NewYork"/><tappa t="Roma"/><tappa t="Bologna"/> </voloRitorno> <prezzo>990</prezzo> </biglietto> <biglietto nome="Luigi Bianchi"> <destinazione>Roma</destinazione> <voloAndata data=“6-8-2005”> <tappa t="Bologna"/><tappa t="Roma"/> <voloRitorno data=“7-8-2005”> <tappa t="Roma"/><tappa t="Bologna"/> <prezzo>240</prezzo> ... Tutti i biglietti che arrivano a Napoli //biglietto[.//tappa[last()]="Napoli"] XPath - XML Path Language

Uso delle funzioni di stringa XPath - XML Path Language

XPath - XML Path Language

XPath - XML Path Language Riferimenti Deitel et al, XML Corso di programmazione, Apogeo Chris Bates, XML in theory and Practice, Wiley XML Path Language (XPath) Version 1.0 W3C Recommendation 16 November 1999 http://www.w3.org/TR/xpath W3Schools Online Web Tutorials http://www.w3schools.com/xpath/default.asp XPath - XML Path Language