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.

Slides:



Advertisements
Presentazioni simili
DTD Document Type Definition per XML
Advertisements

Alberi binari Definizione Sottoalberi Padre, figli
/ fax
Introduzione ad XML Mario Arrigoni Neri.
PUNTATORI Introduzione
XPath (XML Path Language)
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
Corsi per il personale Bicocca-Insubria
Query OQL e XQUERY a confronto
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
G. Mecca – – Università della Basilicata Tecnologie di Sviluppo per il Web XML: Dettagli e Approfondimenti versione 2.0 Questo lavoro è
Definizione e caratteristiche
Heap binomiali.
Algoritmi e Strutture Dati
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 21 Marzo 2013.
Capitolo 9 Il problema della gestione di insiemi disgiunti (Union-find) Algoritmi e Strutture Dati.
1 Corso di Informatica (Programmazione) Lezione 10 (12 novembre 2008) Programmazione in Java: espressioni booleane e controllo del flusso (selezione)
1 INTRODUZIONE ALLA PROGRAMMAZIONE STRUTTURATA. 2 PROCESSO INTRODUZIONE ALLA PROGRAMMAZIONE STRUTTURATA INIZIO FINE.
XML e XSL. XSL - eXtensible Stylesheet Language XSL è un linguaggio di annotazione che serve a "trasformare" la struttura di un documento in formato XML.
Corso di basi di dati II Prof. Francesco Cutugno Dott. Sara Romano
Basi di Dati II Sara Romano
Dipartimento di Informatica e Sistemistica Alessandro DE CARLI Anno Accademico MOVIMENTAZIONE CONTROLLATA AZIONAMENTI CON MOTORE BRUSHLESS.
2000 Prentice Hall, Inc. All rights reserved. 1 Capitolo 3 - Functions Outline 3.1Introduction 3.2Program Components in C++ 3.3Math Library Functions 3.4Functions.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
1 Implementazione di Linguaggi 2 Implementazione di Linguaggi 2 Federico Bernardi Type checking 2° parte Type checking 2° parte - Equivalenza di type expressions.
I numeri by iprof.
I numeri relativi by iprof.
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Dettagli e comandi avanzati Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Elaborazione di Franco Grivet Chin
Esercizio 1 Convertire il seguente DTD (esercizio 1 sui DTD) in XML Schema:
XSLT Trasformazioni XSL Ing. Luca Sabatucci. XSLT Uno dei vantaggi principali nell'utilizzo dell'Extensible Markup Language è la facilità con cui si possono.
I fogli di stile XSL – 2 –. Selezioni multiple : serve per applicare una regola in modo ricorsivo a nodi figli dellelemento contestuale. Attributo select.
Fibonacci Heaps e il loro utilizzo nell’algoritmo di Prim
Javascript: fondamenti, concetti, modello a oggetti
ISTITUTO COMPRENSIVO STATALE “LUIGI EINAUDI” – SALE MARASINO - BS
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
INPS - COMUNI SERVIZI AL CITTADINO.
1 Questionario di soddisfazione ATA - a. sc. 2008/09 Il questionario è stato somministrato nel mese di aprile Sono stati restituiti 29 questionari.
RB-insert(T, z) // z.left = z.right = T.nil Insert(T, z) z.color = RED // z è rosso. Lunica violazione // possibile delle proprietà degli alberi // rosso-neri.
Il primo passo: I basilari del Prolog
Gianpaolo Cecere Introduzione
Capitolo 3 Strutture dati elementari Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
Ad opera di: Matteo Donatelli e Maurizio Di Paolo Presentazione su : Elettropneumatica 1.
C’è / Ci sono Scegli un numero.
1 Se seleziono le colonne da A – F e modifico con il mouse la larghezza della colonna C, cosa succede alle altre colonne selezionate? 1.Assumono tutte.
Fopndamenti di programmazione. 2 La classe String Una stringa è una sequenza di caratteri La classe String è utilizzata per memorizzare caratteri La classe.
Informatica Umanistica A.A. 2005/2006 LEZIONE 6 Ripasso XML – DTD XSL.
© GfK 2012 | Title of presentation | DD. Month
Pippo.
Modulo 6 Test di verifica
XPATH.
Capitolo 10 Espansione grammaticale: Pronomi doppi
Corsi di informatica ICCARBONERA.
Chapter 5 - Part 2 1 Procedura di sintesi  Specifiche  Formulazione – Ricavare un diagramma o una tabella di stato  Assegnazione della codifica di stato.
1 Analisi della gestione finanziaria dal 04 Gennaio 2008 Fondo Pensione Astri Comparto Bilanciato report al: 4 giugno 2010.
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.
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.
Transcript della presentazione:

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 functions XPath is a major element in XSLT XPath is not written in XML XPath is a W3C Standard

3 Nodi In XPath un documento XML viene considerato una struttura ad albero composta da nodi Xpath ha 7 tipi di nodi: – Radice – Elemento – Attributo – Testo – Commento – Istruzione di elaborazione – Namespace

4 Nodi La struttura ad albero di Xpath ha un solo nodo radice Il nodo radice ed i nodi degli elementi contengono liste ordinate di nodi child (figli) Tutti i nodi tranne quello radice hanno un nodo parent (genitore) Possono essere nodi child solamente: – Elementi, commenti, testi, istruzioni di elaborazione Notare che anche se un nodo attributo o namespace può avere come parent un elemento o la radice, non viene considerato un figlio del suo parent

5 Tipi di Nodi XPath

6 Tipi di nodi XPath

7 Esempio di albero XPath <![CDATA[ // C++ comment if ( this->getX() < 5 && value[ 0 ] != 3 ) cerr displayError(); ]]> C++ How to Program by Deitel & Deitel

8 L'albero relativo al file XML precedente

9 I path di posizione Un path di posizione e' un'espressione che specifica come spostarsi fra i nodi di un albero Xpath Un path di posizione è composto da: – Un asse – Un test dei nodi – Un predicato (facoltativo)

10 Gli assi Le ricerche iniziano sempre dal nodo di contesto – Selezionabile ad esempio con una istruzione match nelle trasformazioni XSL che vedremo poi Un asse indica quali nodi riferiti al nodo di contesto deveono essere inclusi nella ricerca L'asse determina la sequenza di ricerca – Diretta (vengono selezionati i nodi seguenti (child) di quello di contesto) – Inversa (vengono selezionati i nodi antecedenti (parent) a quello di contesto Tipo di nodo principale dell'asse: – Il tipo di nodo che l'asse puo' selezionare

11 Gli assi XPath

12 Test dei nodi Un asse seleziona un gruppo di nodi dall'albero in base ad un test dei nodi

13 Path di posizione = Assi + Test dei nodi I path di posizione sono formati da sequenze di passaggi di posizione separati da / Un passaggio di posizione è formato da: – Un asse – :: – Un test dei nodi – Un predicato (tra parentesi quadre, facoltativo) Esempi: – child::* (seleziona tutti i nodi degli elementi child del nodo di contesto) – child::text() (seleziona tutti i nodi di testo child del nodo di contesto) – child::body (seleziona tutti i nodi dell'elemento body che sono child del nodo di contesto)

14 Esempio Dal file XML seguente si vogliono selezionare tutti i libri tradotti in giapponese, in una o più edizioni Java How to Program Spanish Chinese Japanese French Japanese C++ How to Program Korean French Spanish Italian Japanese

15 Esempio Si supponga che il nodo radice (books) sia il nodo di contesto Il path di posizione da utilizzare per selezionare l'elemento title di qualunque libro tradotto in giapponese è: /books/book/translation[. = 'japanese']/../title Il path di posizione da utilizzare per selezionare l'attributo edition di qualunque libro tradotto in giapponese è: /books/book/translation[. =

16 Operatori e funzioni Gli operatori XPath consentono di manipolare i gruppi di nodi selezionati con i path di posizione per formare altri gruppi Le funzioni XPath permettono di svolgere operazioni su un gruppo di nodi

17 File XML con Namespace Processing Instruction and Namespace Nodes XML How to Program

18 Lista operatori XPath Pipe (|) – Unisce due gruppi di nodi – head | body (seleziona tutti gli elementi head e body che sono child del nodo di contesto) Slash(/) – Separa i passaggi di posizione – head/title[ last () ] (seleziona l'ultimo nodo dell'elemento title che è contenuto in head) Doppio Slash (//) – Equivalente a /descendant-or-self::node()/ – //body è equivalente a /descendant-or- self::node()/child()::body (seleziona tutti i nodi body dell'intero documento)

19 Lista funzioni XPath

20 Esempi di funzioni book [ position()=3 ] (oppure book[ 3 ] ) Seleziona il terzo elemento book del nodo di contesto count (*) restituisce il numero totale di elementi che sono child del nodo di contesto //book seleziona tutti i nodi dell'elemento book

21 Esempio sigle società di borsa Intel Corporation Cisco Systems, Inc. Dell Computer Corporation Microsoft Corporation Sun Microsystems, Inc. CMGI, Inc. Vogliamo selezionare tutte le società la cui sigla inizia per C

22 Foglio di stile per società di borsa <xsl:stylesheet version = "1.0" xmlns:xsl = " <xsl:if test = 'C')"> <xsl:value-of select = - ', name)"/>

23 Risultato