删除前导零的构造在 Altova XML Spy 中运行良好。使用 Saxon-HE 9.4 java 时出现异常:
xsl:value-of 在 question.xslt 的第 6 行第 59 列出错:FORX0002:正则表达式“^0+(?!$)”中字符 4 处出错:预期 ())
代码:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<result>
<xsl:value-of select="replace('00012','^0+(?!$)','')"/>
</result>
</xsl:template>
</xsl:stylesheet>
我有解决方法,问题是理论上的。也许,必须使用特殊字符?