Kann eine Variable von einer übergeordneten Vorlage an ihr untergeordnetes Element übergeben werden?XSL: Variablen zwischen Vorlagen übergeben
<xsl:template match="structure">
<xsl:variable name="var"><xsl:value-of select="@path" /></xsl:variable>
<xsl:apply-templates select="folders">
<xsl:with-param name="var1" select="'{var}'"/>
</xsl:apply-templates>
</xsl:template>
wird diese Vorlage entsprechen:
<xsl:template match="folder">
<xsl:param name="var1"/>
<xsl:value-of select="$var1"/>
</xsl:template>
Sie sehen, ich Verwendung var als var1 in der angepassten Vorlage will.
Wie kann ich das schaffen?
edit: die Struktur ist wie folgt:
<structure path="C:\xampplite\htdocs\xampp">
<folders>
<folder name="img">
<date>01/28/10 21:59:00</date>
<size>37.4 KB</size>
</folder>
</folders>
</structure>
edit2:
<xsl:template match="folder">
<xsl:variable name="var1"><xsl:value-of select="../../@path"/></xsl:variable>
<xsl:variable name="var2"><xsl:value-of select="@name" /></xsl:variable>
<xsl:variable name="var3"><xsl:value-of select="$var1"/>\<xsl:copy-of select="$var2"/> </xsl:variable>
<th colspan="2" align="left" bgcolor="#FF5500"><a onclick="foo('{$var3}')"><xsl:value-of select="$var3"/></a></th>
in der JScript-Funktion die Zeichenfolge ohne seine Schrägstriche ist. weiß jemand warum?
C: xampplitehtdocsxamppimg
Das sollte "einfach funktionieren" - die Frage impliziert, ist es nicht. Nein warte ... der Vorlagenname und die Auswahl = stimmen nicht mit dem angezeigten Code überein, du hast select = "Ordner" und match = "Ordner" ohne 's'. Ist das das Problem oder ist das nur ein Beispiel? – Murph
check out meine Antwort hier http://StackOverflow.com/A/41530702/4251431 –