[XSLT] как передать в шаблон, что нужно юзать аттрибут

bav46

Есть вот такой шаблон
 
<xsl:template name="JoinAttrs">
<xsl:param name="node"/>
<xsl:param name="attr"/>
<xsl:param name="sep"/>
<xsl:param name="comma"/>
<xsl:for-each select="$node"><xsl:if test="position != 1"><xsl:value-of select="$sep"/></xsl:if><xsl:value-of select="$comma"/><xsl:value-of select="$attr"/><xsl:value-of select="$comma"/></xsl:for-each>
</xsl:template>


И вот есть его вызов
 
<xsl:call-template name="JoinAttrs">
<xsl:with-param name="node" select="Attributes/Attribute[not(@VirtualColumn) or @VirtualColumn!='1']"/>
<xsl:with-param name="attr">./@Name</xsl:with-param>
<xsl:with-param name="sep">,</xsl:with-param>
<xsl:with-param name="comma">`</xsl:with-param>
</xsl:call-template>

вот выход `./@Name`,`./@Name`,`./@Name`,`./@Name`,`./@Name`,`./@Name`
а хочется на выходе значение аттрибута, чето я даже не знаю как у гугла это спросить, мб кто-нить сталкивался
заранее спасибо.
процессор 1.0

bav46

вообщем решение в данном случае простое
надо передать вместо node сразу же, что выбираем данный аттрибут
<xsl:with-param name="node" select="Attributes/Attribute[not(@VirtualColumn) or @VirtualColumn!='1']/@Name"/>
:grin:

SergeRRRRRR

<xsl:with-param name="attr">./@Name</xsl:with-param>
а почему здесь константа, а не select из xpath а-ля '/data/value/@Name' ?
Вообще, xslt 1.0 зло.

Maurog

как у гугла это спросить
меня гугл вывел на http://stackoverflow.com/questions/13602967/how-to-use-param...
Оставить комментарий
Имя или ник:
Комментарий: