使用xsl:analyze-string时,我想识别匹配的值

时间:2017-10-10 18:36:45

标签: regex xml xslt xslt-2.0

我必须查看完整的XML并确定某些字符是否存在以及存在哪些字符。我有以下内容,匹配text()

<xsl:analyze-string select="." regex="[$~#^]">
  <xsl:matching-substring>
    <xsl:value-of select="'yes'"/>
  </xsl:matching-substring>
  <xsl:non-matching-substring>
    <xsl:value-of select="'no'"/>
  </xsl:non-matching-substring>
</xsl:analyze-string>

但我想要的是输出不匹配的值。

这个xml应该输出$和〜。

<sample>
  <test>this is #^test1</test>
</sample>

1 个答案:

答案 0 :(得分:0)

对于样本中的结果,您可以使用例如

('$', '~', '#', '^')[not(contains('this is #^test1', .))] 

(分别在模板中)

('$', '~', '#', '^')[not(contains(current(), .))]