Xml 剥离(从链接剥离,同时剥离子链接)
在执行样式表期间,我有一个如下节点:Xml 剥离(从链接剥离,同时剥离子链接),xml,xslt-2.0,Xml,Xslt 2.0,在执行样式表期间,我有一个如下节点: ) 我使用此模板剥离内部: 工作起来很有魅力。 但我也希望去掉(和) 如何做到这一点?在文本节点上使用模板,例如 <xsl:template match="a/text()[ends-with(., '(') and following-sibling::node()[1][self::a]]"> <xsl:value-of select="substring(., 1, string-length() - 1)"/> <
)
我使用此模板剥离内部:
工作起来很有魅力。
但我也希望去掉(和)
如何做到这一点?在文本节点上使用模板,例如
<xsl:template match="a/text()[ends-with(., '(') and following-sibling::node()[1][self::a]]">
<xsl:value-of select="substring(., 1, string-length() - 1)"/>
</xsl:template>
<xsl:template match="a/text()[starts-with(., ')') and preceding-sibling::node()[1][self::a]]">
<xsl:value-of select="substring(., 2)"/>
</xsl:template>
谢谢。你的解决方案让我走上了这条路,这也为我带来了好处:
<xsl:template match="a/text()[ contains( . , '(') or contains(. , ')') ]">
<xsl:value-of select="replace(. , '[()]' , '')"/>
</xsl:template>
奇怪的是,“contains”不能有类似于“replace”的regexpr。
contains
是在不支持正则表达式的XPath 1.0中引入的。XPath 2.0具有matches
函数,可以在需要时使用正则表达式。