gototopgototop
 
Sei in: Home Page Corso XSLT Assi a più livelli con XPath

Assi a più livelli con XPath

Ogni asse a più livelli restituisce un insieme di nodi che contiene tutti gli elementi all´interno di quell´asse. Vediamo un esempio:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/menu/aperitivi">

<xsl:value-of select="piatto[1]/ancestor::*[1]/@titolo" />
<xsl:value-of select="piatto[1]/ancestor::menu/primipiatti/@titolo" />

</xsl:template>

<xsl:template match="/menu/primipiatti" />
<xsl:template match="/menu/dolci" />

</xsl:stylesheet >

Sono facilmente individuabili le due righe che compiono tutta l´azione. Entrambe selezionano prima il nodo figlio dell´elemento "aperitivi" chiamato "piatto". A questo punto l´elemento diventa il nodo contesto. L´asse del progenitore indica al processore che vuole operare sui nodi progenitori del nodo contesto. I nodi progenitori sono "aperitici" e "menu". Il test di nodo consiste in un carattere jolly e un predicato. In questo caso punta al primo nodo progenitore dell´asse, che è il nodo genitore "aperitivi". Adesso vediamo il file di esempio che abbiamo ottenuto come output. La pagina mostra quanto scritto poco fa e cioè che seleziona l´attributo "titolo" dell´elemento "aperitivi" e poi l´attributo titolo dell´elemento "primipiatti".

Assi disponibili in XPath

La tabella di seguito riportata mostra la maggior parte degli assi disponibili con i quali selezionare un elemento in un albemro XML.

Assi di XPath
AsseDescrizione
ancestorTutti i nodi progenitore del nodo contesto.
ancestor-or-selfCome ancestor, comprendendo il nodo di contesto come primo nodo nell´insieme di nodi.
attribute Seleziona tutti gli attributi del nodo corrente.
childTutti i nodi figlio del nodo di contesto.
descendantSeleziona tutti i discendenti (figli, progenitori ecc...) del nodo corrente.
descendant-or-selfCome descendant, compreso il nodo di contesto come primo nodo nell´insieme di nodi.
followingCome following-sibling, ma includendo i loro discendenti, in ordine di profondità.
following-siblingTutti i nodi parenti che vengono in successione del nodo di contesto nell´albero del documento.
namespaceSeleziona tutti i nodi namespace del nodo corrente.
parentIl nodo genitore del nodo di contesto.
precedingCome preceding-sibling, ma includendo i loro discendenti, in ordine di profondità.
preceding-siblingTutti i nodi parenti che precedono il nodo di contesto nell´albero del documento.
selfIl nodo di contesto in sé.

© www.extrowebsite.com - Grafica, layout, articoli e guide sono di esclusiva proprietà del webmaster - Tutti i diritti riservati