xsl:variable als xpath-Wert für andere xsl-tag
Habe ich Probleme mit xsl:variable
. Ich will erstellen Sie eine variable mit einem Wert, der abhängig vom Wert eines anderen XML-Knoten-Attribut. Diese gute Arbeit. Aber wenn ich versuche, erstellen Sie eine variable mit einem string-Wert, der darstellt, XPath, es funktioniert einfach nicht, wenn ich versuche, es zu benutzen, da XPath in einem späteren XSL-tag.
<xsl:variable name="test">
<xsl:choose>
<xsl:when test="node/@attribute=0">string/represent/xpath/1</xsl:when>
<xsl:otherwise>string/represent/xpath/2</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:for-each select="$test">
[...]
</xsl:for-each>
Habe ich versucht:
Verwendung von xsl-variable in xsl-wenn
und
Probleme mit xsl:for-each-Auswahl mit xsl:variable. Aber mit keine Ergebnisse.
InformationsquelleAutor der Frage igor milla | 2011-01-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn diese Pfad im Voraus bekannt sind, wie in diesem Fall, dann können Sie verwenden:
InformationsquelleAutor der Antwort
Dynamische Auswertung eines XPath-Ausdrucks ist in der Regel nicht unterstützt XSLT (sowohl 1.0 und 2.0), aber:
Können wir implementieren eine eher Allgemeine dynamische XPath evaluator, wenn wir nur einschränken jedem Pfad zu einem element name:
wenn diese transformation, angewandt auf das XML-Dokument:
die wollten, das richtige Ergebnis produziert wird:
InformationsquelleAutor der Antwort Dimitre Novatchev
Dies ist nicht nativ möglich, die in XSLT 1.0, aber können Sie eine Erweiterungs-Bibliothek wie dyn:
http://www.exslt.org/dyn/functions/evaluate/dyn.evaluate.html
Den
dyn:evaluate
Funktion wertet einen string als XPath-Ausdruck.InformationsquelleAutor der Antwort Zkoh