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)

PROSA
I paragrafi che costituiscono una divisione testuale dovrebbero
essere marcati con <p>

<body>
...
<p>A seguitare, non ci saremmo mai intesi; perché se a me
stava a cuore la tigre, a lei il cacciatore. </p>
...
</body>

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)

Struttura del testo (Prosa, versi, testi drammatici)

Testi drammatici

<sp> contiene una singola battuta in un testo drammatico, o un brano presentato come tale (cioè per la recitazione) in un testo in prosa o in versi. Tra gli attributi: @who: identifica il soggetto parlante
<speaker> contiene una forma particolare di intestazione o etichetta, che fornisce i nomi di uno o più parlanti in un testo o frammento drammatico.
 

Struttura del testo (Prosa, versi, testi drammatici)

Testi drammatici

 

<stage> contiene qualsiasi tipo di didascalie e direttive di scena all'interno di un testo o di un frammento di testo drammatico. Tra gli attributi:
@type: indica il tipo di direttiva di scena. I valori consigliati includono ENTRATA, USCITA, MESSA IN SCENA, DIZIONE, etc.

<body>
 <div1 type="act" n="1">
  <head>Act One</head>
  <div2 type="scene" n="1">
   <stage>Pa Ubu, Ma Ubu</stage>
   <sp>
    <speaker>Pa Ubu</speaker>
    <p>Pschitt!</p>
   </sp>
  </div2>
  <div2 type="scene" n="2">
   <stage>A room in Pa Ubu's house, where a magnificent
       collation is set out</stage>
  </div2>
 </div1>

SCHEMA

XML

XQUERY

XSLT

Linguaggi relativi all'XML o altri linguaggi di visualizzazione

HTML

PDF

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 <stage>

 

 

Quanti versi ci sono? <l>

/TEI/text/body/div/div/sp
//sp[@who='#Barnardo']

L'attributo si richiama con il simbolo @

count(//sp[@who='#Barnardo'])

Xpath ha delle funzioni

un particolare costrutto sintattico di un determinato linguaggio di programmazione che permette di raggruppare, all'interno di un programma

//div/div[string-length(.) > 20000]

Xpath ha delle funzioni

un particolare costrutto sintattico di un determinato linguaggio di programmazione che permette di raggruppare, all'interno di un programma

avg(//div/div/string-length(.))

Xpath ha delle funzioni

un particolare costrutto sintattico di un determinato linguaggio di programmazione che permette di raggruppare, all'interno di un programma

<xsl:text>Number of speeches:</xsl:text>
<xsl:value-of select="count(//sp)"/>

Aggiungiamo qualche istruzione

<xsl:text>Number of acts:</xsl:text>
<xsl:value-of select=""/>



Aggiungiamo - <xsl:value-of select="count(//body/div)"/>

Xpath Interrogazioni e visualizzazioni

By Tiziana Mancinelli

Xpath Interrogazioni e visualizzazioni

  • 756