2016-07-08 23 views
0

Ich habe ein seltsames Problem, wenn ich vorkompilierte XSLT-Stylesheets in meiner Anwendung verwende.Xalan 2.7.1 Syntaxfehler: Stylesheet konnte nicht kompiliert werden

Wenn ich die vorkompilierte Option NICHT verwende, bekomme ich keine Fehler. Wenn ich vorkompilierte Stylesheets (Translets) mit Xalan aktiviere, erhalte ich einige Kompilierungsfehler. Dieser ist repräsentativ:

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 

Das Bit von XSLT, die das Problem verursacht ist:

<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> 

Antwort

0

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

+0

Ich denke, ich hätte hinzufügen sollen, dass was du hast, war mein ursprünglicher Code. Ich fügte das() hinzu, nachdem ich einen anderen Artikel gelesen hatte, der das als Lösung für einen anderen Fall vorschlug. https://bugs.openjdk.java.net/browse/JDK-6577667 Aber beide produzieren den gleichen Fehler. – user1536209