Thomas J.S.: xpath-ausdruck aus xml-dokument auslesen und darauf anwenden

Beitrag lesen

Hallo Alex,

» <thexpath>some/nodes[@id="index01"]</thexpath>

Das Problem ist, dass wenn der Inhalt vom <thexpath> in eine Variable geholt wird, ist das ein String, also nur eine Zeichenfolge und man kann nicht mehr als XPath-Ausdruck damit Arbeiten.

die hochkommas waren von mir, da ich dachte, das wäre die rechnerinterne darstellung des wertes einer string-variablen. bei if-abfragen muss ich doch auch schreiben z.b.:
<xsl:if test="$mystringvar = 'hallo'">

Ja, aber hier vergleichst du den Wert von $mystringvar mit dem String hallo, wenn du hallo nicht zwsichen Hochkommas setzt, gilt der als ein XPath-Ausdruck, hier also ein Elementname.

Mir fällt zu diesen Bedingungen auch nichts mehr ein.
Aber wenn du z.B. wirklihc mit IDs arbeites, kannst du das machen:
<thexpath>index01</thexpath>
<xsl:variable name="blabla" select="thexpath" />
<xsl:apply-templates select="element[@id = $balbla]" />

Da ich nicht weiss wie du das ganze verarbeitest: du könntest bei serverseitigen Verarbeitung Parameter mitgeben.
Mit JavaScript wäre auch eine Manipulation möglich: dazu gibts einige Threads im Archiv.

Grüße
Thomas