我有一个将正则表达式作为参数的 XSLT 函数,但 XSLT 解析器不喜欢它。
代码如下:
<xsl:value-of select='ns:RegexReplace($variable, "", "style=\"\w+\:\s\w+;\"")' disable-output-escaping='yes' />
我发现了这个: http://www.xml.com/pub/a/2003/06/04/tr.html <-- 但它使用的是我现在的样子,而且似乎可以(为他们)工作。我只有一个垃圾解析器吗??
有什么办法吗? 或者,一种通过 CSS 技巧强制元素忽略内联样式的方法?
最佳答案
您似乎试图通过用反斜杠转义来在引号分隔的 XPath 字符串文字中包含引号。那是行不通的。
在XPath 1.0 (XSLT 1),没有好的方法可以做到这一点。您可能需要求助于一些技巧,例如定义一个包含单引号字符的变量并使用 concat
函数来创建您的字符串:
<xsl:variable name='quot' select="'"'"/>
<xsl:value-of select='concat("a string with a quote ", $quot, " character")'/>
在XPath 2.0 (XSLT 2),您可以用另一个引号转义一个引号:
<xsl:value-of select='"a string with a quote "" character"'/>
关于css - XSLT 中的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1509286/