Stefan Habisch: Variabeln definieren

Hallo,

ich möchte in xsl(t2.0) stylesheet zwei variablen definieren, dass möchte ich eigentlich dynamisch machen und nicht hart eingeben, die werte kommen dabei von einem xml knoten

<xsl:variable name="knoten">
 <test von="wert1" zu="wert2"/>
 <test von="wert3" zu="wert4"/>
 <test von="wert6" zu="wert6a"/>
</xsl:variable>

ich brauche nun zwei Variablen die folgenden Inhalt haben

<xsl:variable name="von" select="('wert1,'wert3','wert6')"/>
<xsl:variable name="zu" select="('wert2','wert4','wert6a')"/>

könnte ich auch in dieser Form schreiben?

<xsl:variable name="von" select="$knoten/test/@von"/>
<xsl:variable name="zu" select="$knoten/test/@zu"/>

Gruss, St.

  1. Hi Stefan!

    Also, nun hab ich ein bischen xml/xsl und xpath Erfahrung - aber ich verstehe nicht, was du vor hast:

    ich möchte in xsl(t2.0) stylesheet zwei variablen definieren

    OK, das geht, allerdings solltest du sie unterschiedlich benennen...

    die werte kommen dabei von einem xml knoten

    <xsl:variable name="knotenX" select="[xpath zu deinem Knotenvalue]" />

    <xsl:variable name="knoten">
    <test von="wert1" zu="wert2"/>
    <test von="wert3" zu="wert4"/>
    <test von="wert6" zu="wert6a"/>
    </xsl:variable>

    ich brauche nun zwei Variablen die folgenden Inhalt haben

    <xsl:variable name="von" select="('wert1,'wert3','wert6')"/>
    <xsl:variable name="zu" select="('wert2','wert4','wert6a')"/>

    könnte ich auch in dieser Form schreiben?

    <xsl:variable name="von" select="$knoten/test/@von"/>
    <xsl:variable name="zu" select="$knoten/test/@zu"/>

    Hä? Eine xsl Variable enthält _einen_ Wert, kein Array - falls das dein gedanklicher Ansatz war.

    Beschreibe (xml basis + was soll rauskommen), was du vor hast, eventuell kann ich dir dann helfen.

    Grüsse,
    Richard

    1. Hallo,

      Hä? Eine xsl Variable enthält _einen_ Wert, kein Array - falls das dein gedanklicher Ansatz war.

      Na ja so etwas nennt man ja dann auch sequence  =('1','2','..') und ziemlich üblich, zumindest bei den vorteilen von xslt2.0 ;-). Habe es jetzt ausführlich getestet und die dazu geschrieben funktion scheint alles zu schlucken und die entsprechende sequencen korrekt weiterverarbeite, meldet keine probleme. Hatte eben bedenken wegen einer string sequence, ob ich eventuell den text() knoten ansteuern muss.