2016-07-08 7 views
0

У меня возникла странная проблема при использовании предварительно скомпилированных таблиц стилей XSLT в моем приложении.Xalan 2.7.1 Ошибка синтаксиса: не удалось скомпилировать таблицу стилей

Когда НЕ использует предварительно скомпилированную опцию, я не получаю ошибок. Когда я включаю предварительно скомпилированные таблицы стилей (translets) с помощью Xalan, я получаю несколько ошибок компиляции. Это один представитель:

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> 

ответ

0

Попробуйте <xsl:if test="not(@value = preceding-sibling::CreateAsnCalloff[@materialshipped = '0' or @value = '*NON-CALL OFF ASN*']/@value)"> вместо этого.

+0

Думаю, я должен был добавить, что у вас есть мой оригинальный код. Я добавил() после прочтения другой статьи, которая предложила это как решение для другого случая. https://bugs.openjdk.java.net/browse/JDK-6577667 Но обе производят ту же ошибку. – user1536209