Hallo,
--------------- zitat --------------
<xsl:param name="y" select="saxon:evaluate(concat($var_mit_dem_pfad,'y'))" />
Noch besser :) brauche ich ja gar nicht mehr selber denken.
--------------- /zitat --------------
Sofern du _immmer_ Saxon als XSLT-Prozessor verwendest ist dies eine Lösung. Wenn nicht stehst du leider im Regen damit.
Ich wollte gerne wissen - da ich den ganzen Tag schon auf der Suche nach einer Lösung bin - ob ich in die XPath Syntax auch Variablen integrieren kann.
Generelle ja: aber es kommt darauf wan was der Wert der Variable dann ist.
Ich hab zB in der XML Datei Einträge mit Querverweisen auf andere Elemente der XML Datei. <linkto>/1/1/1/1/1/1/</linkto>
In diesem Fall <xsl:variable name="var_mit_dem_pfad" select="linkto" /> wäre der Wert der Variable ein String.
Da ich nun aber aus dem Element /1/1/1/1/1/1/ noch Werte brauche, wollte ich mittels
<xsl:param name="y" select="$var_mit_dem_pfad/y" auf das element y zugreifen. Leider funktioniert das nicht.
Dies würde auch mit concat() nicht funktionieren, eben weil der Wert deiner Variable ein String ist.
Wenn deine Variable so aussehen würde:
<xsl:variable name="var_mit_dem_pfad" select="/1/1/1/1/1/1" />
könntest du auf das Y-Element auch so zugreifen:
<xsl:value-of select="$var_mit_dem_pfad/Y" />. weil in diesem Fall der Wert der Variable ein Teilbaum ist.
Grüße
Thomas