在我的
应用程序中使用预编译的 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)">
。