我有一个包含<h2>This is a <a href="....">nice</a> text (12.4)</h2>
的节点,我想在括号之间删除内容然后应用模板:
<xsl:apply-templates select="."/>
(dot有节点,我想保留<a>
,但我可以用另一个模板做到这一点)
如何在select属性中执行此操作?
<xsl:apply-templates select="replace(. , '\([0-9\.]*\)', '' )"/>
不起作用,我知道,因为节点不是字符串。
答案 0 :(得分:0)
在文本节点上使用该功能,例如
<xsl:template match="text()"><xsl:value-of select="replace(. , '\([0-9\.]*\)', '' )"/></xsl:template>
当然,您需要确保使用apply-templates处理文本节点,但是您应该已经看到了使用身份转换模板及其覆盖的足够示例,以便将其弄清楚。
如果需要,您当然可以根据需要将匹配模式细化为match="h2//text()"
。