ancestor::*

ancestor::* gibt die Liste aller vorhergehender Nodes aus, aber ohne den aktuellen Mensch-Node.

XPath_ancestor.jpg


 <xsl:template match="/">
  <ergebnis>
   <xsl:for-each 
        select="/Orte/Ort[1]/Mensch[4]
                /ancestor::*">
    <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>
</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.