PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : XSL Inhalt einer Variablen ist XML Pfad


Klaus1980
21.07.2006, 04:15
Hallo Leute,

ich habe eine Variable die ich mir zusammenbaue innerhalb einer Schleife. Sieht in etwa so aus:


<xsl:variable name="ContactName"><xsl:text>Contact</xsl:text><xsl:value-of select="$index"/><xsl:text>/ContactName</xsl:text><xsl:value-of select="$index"/></xsl:variable>


Am Schluss steht also drin:

Contact1/ContactName1 (im ersten Durchlauf)

Dann habe ich folgenden Code:


<xsl:if test="normalize-space($ContactName)!=''">
<xsl:value-of select="$ContactName" /><br />
</xsl:if>


Das Problem ist ich will den Inhalt aus der XML Datei aus dem Knoten Contact1/ContactName1 und nicht den Wert der Variablen.

Wie bekomme ich das hin? Geht das überhaupt auf diesem Weg den ich eingeschlagen habe?

Gruss Krusty


Scavi
24.07.2006, 09:59
Geht das überhaupt auf diesem Weg den ich eingeschlagen habe? Nein, da du einen String baust und kein NodeSet. Du musst auf irgendeinen anderen Weg ein XQuery absetzen, der dir diese Knoten selektiert.

Klaus1980
24.07.2006, 11:52
Kann mir auch jemand etwas genauer sagen wie das geht? Zumindest mal einen Ansatz.

Weiß nicht wie ich da starten muss.

Scavi
24.07.2006, 16:55
Dann poste mal dein XML und das was du als Output des XSLT haben willst.

Spankmaster79
12.09.2006, 17:45
Außerdem wäre noch die Frage, denke ich, welchen Prozessor du benutzt. Es gibt z.B. im IE die Möglichkeit eine Xpath-Funktion node-set() zu nutzen. Dazu musst du jedoch den msxsl Namensraum einbinden. Auch mit EXSL gibt es diese Erweiterung. Dann kannst du
<xsl:value-of select="node-set($ContactName) /> ausführen.

Dein XSLT-Prozessor muss die Funktion bis an diese Stelle dann aber wie schon gesagt kennen.

Korrigiert mich bitte falls ich falsch lieg.

Gruß
Spanky