XSLT - Interpretieren von Strings als XPath-Ausdruck
synchron
- xsl
0 Gunnar Bittersmann
0 synchron
0 ThomasM0 synchron
Hallo,
ich habe in einer XML Datei bereits die XPath-Ausdrücke stehen.
also
<eintrag>concat("a",substring("bcdefghij",2,4))</eintrag>
beim verarbeiten per xslt werden diese Befehle nicht ausgeführt.
Es wird als normaler String behandelt.
Vielen Dank
@@synchron:
<eintrag>concat("a",substring("bcdefghij",2,4))</eintrag>
beim verarbeiten per xslt werden diese Befehle nicht ausgeführt.
Es wird als normaler String behandelt.
Woher sollte der XSLT-Prozessor auch wissen, dass kein normaler String gemeint ist, sondern eine XPath-Funktion?
SELFHTML: <http://de.selfhtml.org/xml/darstellung/xpathfunktionen.htm#Hinweise@title=Hinweise zu den XPath-Funktionen>: „Da die Funktionen einen Wert zurückgeben, werden sie innerhalb von XSLT normalerweise an den Stellen verwendet, wo Attribute Wertzuweisungen erhalten. So könnte beispielsweise das XSLT-Element Seite value-of in der folgenden Form notiert werden:
<xsl:value-of select="last()" />“
Live long and prosper,
Gunnar
@@synchron:
<eintrag>concat("a",substring("bcdefghij",2,4))</eintrag>
beim verarbeiten per xslt werden diese Befehle nicht ausgeführt.
Es wird als normaler String behandelt.Woher sollte der XSLT-Prozessor auch wissen, dass kein normaler String gemeint ist, sondern eine XPath-Funktion?
Eben...das muss ich ja versuchen ihm beizubringen....
SELFHTML: <http://de.selfhtml.org/xml/darstellung/xpathfunktionen.htm#Hinweise@title=Hinweise zu den XPath-Funktionen>: „Da die Funktionen einen Wert zurückgeben, werden sie innerhalb von XSLT normalerweise an den Stellen verwendet, wo Attribute Wertzuweisungen erhalten. So könnte beispielsweise das XSLT-Element Seite value-of in der folgenden Form notiert werden:
<xsl:value-of select="last()" />“
so funktioniert das. Also wenn ich den String direkt reinschreibe.
<xsl:value-of select="concat('a',substring('bcdefghij',2,4))" /> funktioniert,
im entry-template, in dem "." dem "concat("a",substring("bcdefghij",2,4))" entspricht funktioniert
<xsl:value-of select="." /> nicht.
wie mache ich ihm klar, dass er es interpretieren soll?
Live long and prosper,
Gunnar
Danke
Hallo synchron,
beim verarbeiten per xslt werden diese Befehle nicht ausgeführt.
Es wird als normaler String behandelt.
Das funktioniert nur mit Prozessor-Erweiterungen wie saxon:evaluate() oder dyn:evaluate().
Grüße,
Thomas
Hallo synchron,
beim verarbeiten per xslt werden diese Befehle nicht ausgeführt.
Es wird als normaler String behandelt.Das funktioniert nur mit Prozessor-Erweiterungen wie saxon:evaluate() oder dyn:evaluate().
Grüße,
Thomas
ok, Danke