Czy jest możliwe przekazanie zmiennej z jednego szablonu nadrzędnego do jej elementu potomnego?XSL: przekazywanie zmiennych między szablonami
<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>
ten szablon będzie pasował:
<xsl:template match="folder">
<xsl:param name="var1"/>
<xsl:value-of select="$var1"/>
</xsl:template>
Widzisz chcę użycia var jako var1 w dopasowanej matrycy.
Jak mogę to ułatwić?
edit: struktura jest tak:
<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>
w funkcji JScript ciąg jest bez ukośników. ktoś wie dlaczego?
C: xampplitehtdocsxamppimg
To powinno "po prostu działać" - pytanie sugeruje, że tak nie jest. Nie czekaj ... nazwa szablonu i select = nie pasują do pokazanego kodu, masz select = "folders" i match = "folder" bez "s". Czy to jest problem, czy jest to tylko przykład? – Murph
Sprawdź moją odpowiedź tutaj http://stackoverflow.com/a/41530702/4251431 –