0
我有這個格式良好的XSLT文件,可以將XML文件轉換爲略有不同的XML文件。當我在普通的Java運行穿越 - 我的設置工作,但是當我嘗試運行我的谷歌應用程序引擎代碼時,我嘗試加載XSLT文件,並出現以下錯誤消息崩潰:Google App Engine中的XSLT(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>
我怎樣才能解決這個問題?