Hallo,
also noch mal, folgende for-each: Zuerst wird geprüft ob den Knoten in der aktuellen Schicht gibt. Wenn es ihn gibt, gibt er ihn aus wenn nicht, kommt die folgende for-each. Er durchsucht jetzt die Schichten die Schichten unter der wo wir gerade sind. Deswegen die position "kleiner". Und ich brauche den letzen Wert, also den letzten Ort den er findet. Wenn ich das so mache, wie unten findet er nicht. Wenn ich "position() = last()" wegnehmen findet er alle orte in alle darunter liegenden Schichten.
<xsl:when test="not (boolean(ort))">
<xsl:for-each select="//descendant::*[contains(local-name(), 'Name')]/bgs:Daten[position() < ($anzahl_layer)-($positionsnummer)]">
<xsl:if test="position() = last() ">
<xsl:value-of select="ort"/>
</xsl:if>
</xsl:for-each>
</xsl:when>
Danke