我正在尝试让模板调用另一个模板,该模板创建一个具有普通值的简单XML节点。我真正的任务很难,但我简化了一些工作。
注意:我在这里看到了一些例子但我没有得到相同的结果,我无法看到我做错了什么。
我想结束这个:
<keyword>abc-company.com</keyword>
<keyword>test</keyword>
<keyword>ABC Company</keyword>
但我一直以此结束:
<keyword>abc-company.com</keyword>
<keyword/>
<keyword>ABC Company</keyword>
我故意返回一个普通的字符串值,但最终我想传入一个值,更改它并为元素返回一个值,但我为此示例简化了它。
<xsl:template name="keywords">
<xsl:param name="metas_branding"/>
<xsl:param name="metas_keywords"/>
<xsl:param name="ad_branding"/>
<keyword><xsl:value-of select="$metas_branding"/></keyword>
<xsl:call-template name="csvToNodes">
<xsl:with-param name="csvString" select="$metas_keywords"/>
</xsl:call-template>
<keyword><xsl:value-of select="$ad_branding"/></keyword>
</xsl:template>
<xsl:template name="csvToNodes">
<xsl:param name="csvString"/>
<xsl:element name="'keyword'">
<xsl:value-of select="test"/>
</xsl:element>
</xsl:template>
答案 0 :(得分:0)
<xsl:value-of select="test"/>
正在寻找一个元素名称test
,即当前元素的子元素。我猜你的XML没有这样的元素(或者也许它有,但它是空的),所以返回的值是一个空字符串。
你可能想写:
<xsl:value-of select="'test'"/>