Die Auswahl der ersten und zweiten Knoten, die in XSLT
Gegeben, die folgende Struktur, wie Sie den ersten und den zweiten Knoten mit allen Ihren Elementen aus dem Dokument basierend auf dem Prädikat in XSLT:
<list>
<slot>xx</slot>
<data>
<name>xxx</name>
<age>xxx</age>
</data>
<data>
<name>xxx</name>
<age>xxx</age>
</data>
<data>
<name>xxx</name>
<age>xxx</age>
</data>
</list>
<list>
<slot>xx</slot>
<data>
<name>xxx</name>
<age>xxx</age>
</data>
<data>
<name>xxx</name>
<age>xxx</age>
</data>
<data>
<name>xxx</name>
<age>xxx</age>
</data>
</list>
So wählen Sie das erste und das zweite vorkommen von Daten (ohne die Daten-element selbst, sondern nur name, Alter) aus der Liste, wo der slot ist gleich eine andere variable, die ich.e der ersten Liste hat die slot=02
, aber ich brauche die Daten aus der zweiten Liste, wo die slot=01
. Aber es nicht wirklich wichtig, die Reihenfolge der Liste durch einen slot, solange slot=$slotvariable
.
Ich habe versucht, die folgende Anweisung, aber es hat keine Ergebnisse:
<xsl:element name="{'Lastdata'}">
<xsl:copy-of select="list/data[position()=1 and slot = $slotvariable]" />
</xsl:element>
<xsl:element name="{'prevdata'}">
<xsl:copy-of select="list/data[position()=2 and slot = $slotvariable]" />
</xsl:element>
Alle arbeiten Vorschläge würden geschätzt werden
- Dinge, die fehlen diese Frage: 1) Ein XML-Beispiel, das eigentlich entspricht deine Erklärungen statt, die alle
xxxxx
. 2) Die Ausgabe, wie Sie es sich vorstellen. Bitte fügen Sie diese Dinge (Sie können Ihre Frage), damit die Menschen nicht gezwungen zu erraten, in Ihren Antworten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn ich deine Frage verstanden korrekt, dann:
Hinweise:
<xsl:element>
es sei denn, Sie haben einen dynamischen Namen basierend auf einem Ausdruck.[1]
ist eine Kurzform für[position() = 1]
Das folgende stylesheet:
Angewendet, um diese Quelle:
Führt zu folgendem Ergebnis:
data[../slot[1]=$slot]
entsprichtdata[slot=$slot]
, und ich glaube nicht, können Sie Variablen verwenden, die in übereinstimmung Ausdrücken.