ancestor-or-self::*
ancestor-or-self::* gibt Ihnen eine Nodeliste aller vorhergehender Knoten bis zum Root-Element, und zwar in der Reihenfolge, dass der Rootnode zuerst ausgegeben wird.
<xsl:template match="/">
<ergebnis>
<xsl:for-each
select="/Orte/Ort[1]/Mensch[4]
/ancestor-or-self::*">
<e nr="{position()}">
<xsl:call-template name="generateXPath"/>
</e>
</xsl:for-each>
</ergebnis>
</xsl:template>
Das Resultat lautet dann:
<ergebnis>
<e nr="1">/Orte</e>
<e nr="2">/Orte/Ort[1]</e>
<e nr="3">/Orte/Ort[1]/Mensch[4]</e>
</ergebnis>
Get XML -- Technologien, Grundlagen, Validierung, Auswertung now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.