XSLT - Vergleich der Vorgänger-gleichgeordneten Elemente mit aktuellen Knoten-element
Habe ich diese XML-Datei:
<recursos>
<recurso url="http://w3c.com">
<descripcion>Consorcio W3C</descripcion>
<tipo>externo</tipo>
<idioma>ingles</idioma>
<contenido>General</contenido>
<unidad>Unidad 2</unidad>
</recurso>
<recurso url="http://html.com">
<descripcion>Especificación HTML</descripcion>
<tipo>externo</tipo>
<idioma>castellano</idioma>
<contenido>HTML</contenido>
<version>4.01</version>
<unidad>Unidad 3</unidad>
</recurso>
</recursos>
Will ich vergleichen einem "recurso"'s vorhergehende nebengeordnete element "unidad" mit der "unidad" von der aktuellen "recurso" um zu überprüfen, ob Sie sich unterscheiden.
War ich versucht:
<xsl:if test="preceding-sibling::recurso[position()=1]::unidad != unidad">
</xsl:if>
Aber ich weiß, es ist schrecklich falsch 🙁
Ich hoffe Ihr könnte mir helfen, ich danke Ihnen sehr.
InformationsquelleAutor der Frage siondream | 2010-06-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fast richtig.
Den
::
ist für Achsen, die nicht für die Bewegung entlang eines Pfades ("Schritt"). In XPath-Terminologie:Den
[1]
ist eine Kurzform für[position()=1]
.Den
child
Achse wird implizit in einem Schritt, so dass dieseist äquivalent zu:
InformationsquelleAutor der Antwort Tomalak