
Interrogare e navigare un
<fileXML>
Obiettivi
Recupero dei dati in un file XML

Applicare un foglio di stile per la trasformazione di un file XML
Struttura del testo
Potremmo ipotizzare tre livelli, che corrispondono a tre macro aree di analisi e quindi a tre modelli o a tre punti di vista:
- STRUTTURA
- RAPPRESENTAZIONE/FORMATO
- FENOMENI INTERLINEARI/CONTENUTO
Non è obbligatorio scegliere uno dei tre modelli; tutti e tre possono essere rappresentati in fase di markup o meglio il modello elaborato può contemplare elementi che provengono dai tre diversi livelli della modellizzazione.
Struttura del testo (Prosa, versi, testi drammatici)
LIRICA
<l> contiene una singola linea, anche incompleta,
di un verso.
<lg> contiene un gruppo di versi che costituiscono un'unità formale, per esempio una stanza, una terzina, un refrain, un paragrafo in versi, etc.
<lg n=‘I’>
<l>Spesso il male di vivere ho incontrato:</l>
<l>era il rivo strozzato che gorgoglia,</l>
<l>era l'incartocciarsi della foglia</l>
<l>riarsa, era il cavallo stramazzato.</l>
</lg>
(da Ossi di seppia di Eugenio Montale)
SCHEMA
XML
XQUERY
XSLT
Linguaggi relativi all'XML o altri linguaggi di visualizzazione
HTML
ePub


- Per poter trasformare un documento o recurare annotazioni, c'è bisogno di un linguaggio base per selezionare nodi in un documento XML
- Manipolare dati attraverso funzioni
XPath è l'acronimo di XML Path Language
XPath utilizza la sintassi "path like" per identificare e navigare i nodi in un documento XML
XPath contiene oltre 200 funzioni integrate
XPath è un elemento importante nello standard XSLT
XPath è una raccomandazione W3C

Le espressioni XPath permettono di ”navigare” l’albero del
documento XML usando assi di navigazione (expression axes).

.
nodename | Selects all nodes with the name "nodename" |
---|---|
/ | Selects from the root node |
// | Selects nodes in the document from the current node that match the selection no matter where they are |
. | Selects the current node |
.. | Selects the parent of the current node |
@ | Selects attributes |

- XSLT - dipende da XPATH
- oXygen supporta XPATH
XSLT (Extensible Stylesheet Language Transformations)è un linguaggio per trasformare documenti XML in altri documenti XML, o in altri formati come HTML per pagine Web, testo normale o oggetti di formattazione XSL, che possono successivamente essere convertiti in altri formati, come PDF, PostScript e PNG.




Provate a farlo con l'elemento <l>
Quanti versi ci sono? <l>
/TEI/text/body/div/div/l

//l[@n='3']
L'attributo si richiama con il simbolo @

count(//l)
Xpath ha delle funzioni
un particolare costrutto sintattico di un determinato linguaggio di programmazione che permette di raggruppare, all'interno di un programma





Xpath Interrogazioni e visualizzazioni
By Tiziana Mancinelli
Xpath Interrogazioni e visualizzazioni
- 595