剥离(从剥离孩子的链接

时间:2014-06-19 11:31:48

标签: xml xslt-2.0

在执行样式表的过程中,我有一个这样的节点:

<a href="-----"> text (<a href="---">other text</a>)</a>

我用这个模板剥离内部:

<xsl:template match="a/a"/>

像魅力一样工作。 但我也希望剥离(和)。

我该怎么做?

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

感谢。你的解决方案让我对此有所了解,这对我来说也很有用:

<xsl:template match="a/text()[ contains( . , '(') or contains(. , ')') ]">
    <xsl:value-of select="replace(. , '[()]' , '')"/>
</xsl:template>

奇怪的是,'包含'不能像'替换'那样有一个regexpr。