我有这个XML和XSL,当它们通过在Windows环境中创建的独立XML处理器运行时,会生成正确的.html文件。
我正在Linux上使用Saxon在XSL文件中转换XML。
XSL使用了包含某些RegEx功能的外部.xsl,这是EXSLT.org发挥作用的地方。包含一个regexp.test.msxsl.xsl文件。
虽然当您运行java -jar /path/to/saxon.jar -O test.html my.xml my.xsl
我懂了
xsl:file.my.xsl的第63行选择错误:
URI:http ://exslt.org/regular-expressions不能标识外部Java类转换失败。
Windows源代码是C#。我仅假设包含regex功能的外部xsl文件适用于Windows环境,并且不打算与Java一起使用。
本质上,XML部分是这个
<xsl:when test="(string(@IfIs)="") or (not(regex:test(string($input_doc//inf[@id='5']), string(@IfIs), 'i')))">
除非有人可能知道我如何在XLST 2.0中进行正则表达式?
除非有人可能知道我如何在XLST 2.0中进行正则表达式?
如果您只是在测试中使用正则表达式,请使用matches()
(http://www.w3.org/TR/xpath-functions/#string.match)
上面的链接也包括tokenize()
和replace()
。
如果您必须执行任何复杂的字符串操作,请查看xsl:analyze-string
(http://www.w3.org/TR/xslt20/#element-analyze-string)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句