Xml 如何向文本中添加特定模板
我有一个Xml 如何向文本中添加特定模板,xml,xslt,Xml,Xslt,我有一个xsl:template和一个xsl:text。我想将此模板应用于文本。我刚刚将param值更改为”/asd:myNote“,但它不起作用。我还需要做点什么吗 我的文本: <xsl:value-of select="./asd:myNote"/> 这是我的模板: <xsl:template name="filename-only"> <xsl:param name="path" /> <xsl:choose>
xsl:template
和一个xsl:text
。我想将此模板应用于文本。我刚刚将param值更改为”/asd:myNote“
,但它不起作用。我还需要做点什么吗
我的文本:
<xsl:value-of select="./asd:myNote"/>
这是我的模板:
<xsl:template name="filename-only">
<xsl:param name="path" />
<xsl:choose>
<xsl:when test="contains($path, '\')">
<xsl:call-template name="filename-only">
<xsl:with-param name="path" select="substring-after($path, '\')" />
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$path" />
</xsl:otherwise>
</xsl:choose>
</xsl:template>
我认为(如果不了解上下文,很难确定)应该:
<xsl:value-of select="./asd:myNote"/>
您要执行以下操作:
<xsl:call-template name="filename-only">
<xsl:with-param name="path" select="./asd:myNote"/>
</xsl:call-template>
--
顺便说一句,您没有“xsl:text”。
元素是样式表中用于向输出写入文本的元素。xsl:value
不会生成xsl:text
。你的意思是:“我的输入XML中有一个文本节点”?似乎命名模板是用于文件路径的-asd:myNote
是文件路径吗?