KrustyDerClown: XSL Inhalt einer Variablen ist XML Pfad

Hallo Leute,

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

code:
    <xsl:variable name="ContactName">xsl:textContact</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:

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 Krust

  1. Hi

    du fragst da nicht mehr den knoten ab sondern einen Wert, du kannst aber den Knoten abfragen so:

    <xsl:value-of select"/*[local-name ()= concat('Contact',$index)]/*[local-name () = concat('ContactName',$index)]"/>

    Gruß,

    Holger

    1. Fehlt natuerlich ein "=" also

      <xsl:value-of select="/*[local-name ()= concat('Contact',$index)]/*[local-name () = concat('ContactName',$index)]"/>

      1. Sorry. Fehlinfo.

        Funktioniert. Besten Dank. Teste jetzt mal zu Ende, aber scheint zu gehen. Melde mich noch mal falls es noch Probleme gibt.

      2. Hallo,

        Fehlt natuerlich ein "=" also

        und zwei Leerzeichen zu viel sind drinn!

        <xsl:value-of select="/*[local-name ()=

        ^^^^

        concat('Contact',$index)]/*[local-name () = concat('ContactName',$index)]"/>

        ^^^^^^

        Grüße
        Thomas

      3. Ich senke mein Haupt und gelobe Besserung.

        Gruß,

        Holger

    2. Hmmm. Funktioniert leider so nicht. Sicher das es so richtig ist?

      Habe nach dem select noch ein = eingefügt. Also daran liegts nicht.

      Gibt weiterhin nicht den Inhalt des Knoten aus sondern den Pfad. :(