Wie bekomme ich die relative Position eines Knotens in einem bestimmten XML. Ich möchte nur "b" Knoten in "a" Knoten nicht in x-> y -> b betrachten, ich bekomme b zählen als 1,2,3,4 nicht 3,4,5,6. Ich habe "multiple" und "any" in xsl: number ausprobiert, funktioniert aber nicht.XSL Geschwisterzahl
<x>
<y>
<b></b>
<b></b>
</y>
</x>
<a>
<b></b>
<b></b>
</a>
<a>
<b></b>
<b></b>
</a>
<xsl:for-each select="a">
<dummy>
<xsl:for-each select="b">
<xsl:variable name="pos" select="position()" />
<dummy2><xsl:number level="any"/></dummy2>
</xsl:for-each>
</dummmy>
</xsl:for-each>
Ich erwarte, dass Dummy2 1,2,3,4 Werte hat.
<dummy>
<dummy2>1<dummy2>
<dummy2>2<dummy2>
</dummmy>
<dummy>
<dummy2>3<dummy2>
<dummy2>4<dummy2>
</dummmy>
'preceding :: b [parent :: a]' könnte ein Match 'x/y/a/b'. Abhängig von der erlaubten XML-Struktur könnte man versuchen, "count (previous :: b [./ parent :: a = current()/parent :: a]) + 1" zu berechnen, aber ich habe jetzt Zweifel, ob zwei Knoten in XPath gleich sind (Es ist eine Weile her, dass ich nicht etwas gemacht habe!) – Xenos