2013-11-02 2 views
0

У меня есть хорошо сформированный XSLT-файл для преобразования XML-файлов в несколько разные XML-файлы. Моя установка работает, когда я бег tranformation в простом Java, но когда я пытаюсь запустить свой код на Google App Engine он падает, когда я пытаюсь загрузить файл XSLT, со следующим сообщением об ошибке:XSLT в Google App Engine (Java)

ERROR: 'null' 
FATAL ERROR: 'Could not compile stylesheet' 
javax.xml.transform.TransformerConfigurationException: Could not compile stylesheet 
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplates(Unknown Source) 
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTransformer(Unknown Source) 

Java:

(что-то пойдет не так здесь)

InputStream is = context.getResourceAsStream("/xslt/add_spaces_and_ids.xslt"); 
    if (is == null) { 
     throw new NullPointerException("File could not be found"); 
    } 
    Source xsltSource = new StreamSource(is); 
    Transformer transformer = factory.newTransformer(xsltSource); 
    return transformer; 

XSLT:

(не должно быть ничего особенного)

<?xml version="1.0"?> 
<xsl:stylesheet version="1.0" 
       xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:strip-space elements="*"/> 
    <xsl:output method="xml" indent="yes"/> 
    <xsl:template match="kop"> 
    <xsl:variable name="kopText"> 
     <xsl:value-of select="."/> 
    </xsl:variable> 
    <xsl:variable name="titelText"> 
     <xsl:value-of select="titel"/> 
    </xsl:variable> 
    <!-- Add a space --> 
    <xsl:text> </xsl:text> 
    <xsl:copy> 
     <xsl:attribute name="id"> 
     <xsl:value-of select="generate-id()" /> 
     </xsl:attribute> 
     <xsl:apply-templates select="node() | @*"/> 
    </xsl:copy> 
    </xsl:template> 
    <xsl:template match="node()"> 
    <xsl:text> </xsl:text> 
    <xsl:copy> 
     <xsl:apply-templates select="node() | @*"/> 
    </xsl:copy> 
    </xsl:template> 
    <xsl:template match="@*"> 
    <xsl:copy> 
     <xsl:apply-templates select="node() | @*" /> 
    </xsl:copy> 
    </xsl:template> 
</xsl:stylesheet> 

Как я могу это исправить?

ответ

0

У меня были некоторые противоречивые библиотеки в моем пути построения:

xercesImps.jar, xml-apis.jar и serializer.jar

Удаление их из пути сборки, сохраняя при этом саксонской, решены мои вопросы.

Смежные вопросы