[jdom-interest] JDOM XSLT TransformerConfigurationException
Laurent Bihanic
laurent.bihanic at atosorigin.com
Fri Apr 3 16:27:30 PDT 2009
Hi,
Your XSL file is probably corrupted.
Running a similar code I get the following error :
Error at xsl:for-each on line 14 of eof.xsl:
Namespace prefix ns has not been declared
Exception in thread "main" org.jdom.transform.XSLTransformException: Could not
construct XSLTransformer: Failed to compile stylesheet. 1 error detected.
...
Caused by: javax.xml.transform.TransformerConfigurationException: Failed to
compile stylesheet. 1 error detected.
at com.icl.saxon.PreparedStyleSheet.prepare(PreparedStyleSheet.java:134)
at
com.icl.saxon.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:120)
at org.jdom.transform.XSLTransformer.<init>(XSLTransformer.java:133)
... 2 more
Which is normal as the namespace declaration for the "ns" prefix is indeed
missing.
Laurent
Jack Bush a écrit :
> Hi All,
>
> I am getting the following exception when trying to do simple
> transformation (newbie in JDOM XSLT) using either XSLTransformer/TrAX in
> JDOM:
>
>
>
> *javax.xml.transform.TransformerConfigurationException:
> java.io.EOFException: no more input*
>
> at com.icl.saxon.PreparedStyleSheet.prepare(PreparedStyleSheet.java:121)
>
> at
> com.icl.saxon.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:120)
>
> at
> com.icl.saxon.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java:72)
>
> at
> standaloneClientRemoteInvestmentBean.JDOMTrAXPojoInvestmentBean.retrieveAreaZipcode(JDOMTrAXPojoInvestmentBean.java:68)
>
> at
> standaloneClientRemoteInvestmentBean.JDOMTrAXPojoInvestmentBean.main(JDOMTrAXPojoInvestmentBean.java:37)
>
> Caused by: java.io.EOFException: no more input
>
> at com.icl.saxon.aelfred.XmlParser.popInput(XmlParser.java:4083)
>
> at com.icl.saxon.aelfred.XmlParser.pushURL(XmlParser.java:3620)
>
> at com.icl.saxon.aelfred.XmlParser.doParse(XmlParser.java:159)
>
> at com.icl.saxon.aelfred.SAXDriver.parse(SAXDriver.java:320)
>
> at com.icl.saxon.om.Builder.build(Builder.java:265)
>
> at com.icl.saxon.PreparedStyleSheet.prepare(PreparedStyleSheet.java:111)
>
> ... 4 more
>
>
>
> Below is the stateStyleSheet:
>
> <?xml version="1.0" encoding="ISO-8859-1"?>
>
> <xsl:stylesheet version="1.0"
>
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
>
> <xsl:template match="/">
>
> <html>
>
> <body>
>
> <h2>Transformed State Detail</h2>
>
> <table border="1">
>
> <tr bgcolor="lightblue">
>
> <th align="left">Area Link</th>
>
> <th align="left">Area Name</th>
>
> </tr>
>
> <xsl:for-each
> select="*/ns:html/ns:body/ns:div[@id='content']/ns:table[@class='sresults']/ns:tr/ns:td/ns:a*">
>
> <tr>
>
> <td><xsl:value-of select="@href"/></td>
>
> <td><xsl:value-of select="@title"/></td>
>
> </tr>
>
> </xsl:for-each>
>
> </table>
>
> </body>
>
> </html>
>
> </xsl:template>
>
> </xsl:stylesheet>
>
>
>
> The Java program that calls this stateStyleSheet is as follows:
>
> SAXBuilder statesaxBuilder = new
> SAXBuilder("org.ccil.cowan.tagsoup.Parser", false);
>
> org.jdom.Document stateDocument = statesaxBuilder.build("state.xml");
>
> TransformerFactory factory = TransformerFactory.newInstance();
>
> Transformer transformer = factory.newTransformer(new
> StreamSource("stateStyleSheet.xsl"));
>
> JDOMSource source = new JDOMSource(stateDocument);
>
> JDOMResult result = new JDOMResult();
>
> transformer.transform(source, result);
>
> Document tranformedDocument = result.getDocument();
>
> ......
>
>
>
> Could this exception have been caused by incorrectly formatted
> stateStyleSheet? The search path
> "/ns:html/ns:body/ns:div[@id='content']/ns:table[@class='sresults']/ns:tr/ns:td/ns:a"
> has successfully worked in XPath such as the following lines:
>
>
>
> XPath statePath =
> XPath.newInstance("*/ns:html/ns:body/ns:div[@id='content']/ns:table
> [@class='sresults']/ns:tr/ns:td/ns:a*");
>
> statePath.addNamespace("ns", http://www.w3.org/1999/xhtml);
>
>
>
> Whether including namespace ("ns") or not doesn't make any difference.
>
> I am running JDK1.6, Netbeans 6.1, JDOM 1.1, Saxon 6.5, TagSoup 1.2 on
> Windows XP platform.
>
> Your assistance would be much appreciated.
>
> Many thanks,
>
> Jack
More information about the jdom-interest
mailing list