Xalan 2.7.1 语法错误:无法编译样式表


在我的

应用程序中使用预编译的 XSLT 样式表时遇到了一个奇怪的问题。

不使用预编译选项时,我没有收到任何错误。 当我使用 Xalan 启用预编译样式表(translets)时,我遇到了一些编译错误。 这个是有代表性的:

16:21:15,262 ERROR [stderr] (http-/127.0.0.1:8080-177) ERROR:  'Syntax error in 'not(@value = (preceding-sibling::CreateAsnCalloff)[@materialshipped = '0' or @value = 'NON-CALL OFF ASN']/@value)'.'    
16:21:15,262 ERROR [stderr] (http-/127.0.0.1:8080-177) FATAL ERROR:  'Could not compile stylesheet'    
16:21:15,262 INFO  [stdout] (http-/127.0.0.1:8080-177) javax.xml.transform.TransformerConfigurationException: Could not compile stylesheet

导致此问题的 XSLT 位是:

<xsl:if test="not(@value = (preceding-sibling::CreateAsnCalloff)[@materialshipped = '0' or @value = '*NON-CALL OFF ASN*']/@value)">
    <OPTION value="{@cd}"><xsl:value-of select="@value"/></OPTION>
</xsl:if>

请尝试<xsl:if test="not(@value = preceding-sibling::CreateAsnCalloff[@materialshipped = '0' or @value = '*NON-CALL OFF ASN*']/@value)">

最新更新