aspose file tools*
The moose likes XML and Related Technologies and the fly likes java.lang. IllegalState Exception: Root element not set Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Engineering » XML and Related Technologies
Bookmark "java.lang. IllegalState Exception: Root element not set" Watch "java.lang. IllegalState Exception: Root element not set" New topic
Author

java.lang. IllegalState Exception: Root element not set

Martin Mikolajek
Greenhorn

Joined: Jan 10, 2007
Posts: 14
Hello,

i am trying to convert a XML-File to HTML with JAVA

String filename = "C:\\Temp\\Zinsen_mit_Jdom.xml";
try {
Document doc = new SAXBuilder().build
(new FileInputStream(filename));
Source xmlfile = new JDOMSource(doc);
JDOMResult htmlfile = new JDOMResult();
Transformer tf = TransformerFactory.newInstance().
newTransformer (new StreamSource
("C:\\Temp\\Zinsen.xsl"));

tf.transform(xmlfile,htmlfile);

System.out.println("##### Ausgabe des html Dokumentes #####");
XMLOutputter outputter = new XMLOutputter();
outputter.output(htmlfile.getDocument(), System.out);
} catch (Exception e) { errMsg(e); }
}

Root element not set

java.lang.IllegalStateException: Root element not set
at org.jdom.Document.getContent(Document.java:408)
at org.jdom.output.XMLOutputter.output(XMLOutputter.java:369)
at org.jdom.output.XMLOutputter.output(XMLOutputter.java:203)
at dom.Java_mit_XSL.main(Java_mit_XSL.java:48)

That's my XSL-File
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"
xmlns:xalan="http://xml.apache.org/xslt">
<xslutput method="xml" />
<xsl:template match="/">

<xsl:apply-templates select="Zinsberechnung"/>

</xsl:template>

<xsl:template match="Zinsberechnung">
<xsl:apply-templates select="header">
</xsl:apply-templates>
<br/>
<TABLE border="4pt">
<TR STYLE="font-size:16pt;color:red">
<TD>Jahr</TD>
<TD>Betrag</TD>
<TD>Zinsen</TD>
<TD>Tilgung</TD>
<TD>Restwert</TD>
</TR>
<xsl:apply-templates select="body">
</xsl:apply-templates>
</TABLE>
</xsl:template>

<xsl:template match="header">
<h2>Laufzeit-Berechnung</h2>
<h3>Zinsberechnung vom : <xsl:value-of select="@Datum"/></h3>
Betrag: <xsl:value-of select="Kreditbetrag"/><br/>
Rate: <xsl:value-of select="Rate"/><br/>
Zinssatz: <xsl:value-of select="Zinssatz"/><br/>
</xsl:template>

<xsl:template match="body">
<TR STYLE="font-size:16pt;color:blue">
<TD><xsl:value-of select="jahr"/></TD>
<TD><xsl:value-of select="betrag"/></TD>
<TD><xsl:value-of select="zinsen"/></TD>
<TD><xsl:value-of select="tilgung"/></TD>
<TD><xsl:value-of select="restwert"/></TD>
</TR>
</xsl:template>
</xsl:stylesheet>

and this the XML

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="Zinsen.xsl" ?>
<Zinsberechnung>
<header Datum="Thu Aug 02 18:54:37 CEST 2007">
<Kreditbetrag>50000.00</Kreditbetrag>
<Rate>5000.00</Rate>
<Zinssatz>5.00</Zinssatz>
</header>
<body>
<jahr>1</jahr>
<betrag>50000.00</betrag>
<zinsen>2500.00</zinsen>
<tilgung>2500.00</tilgung>
<restwert>47500.00</restwert>
</body>
<body>
<jahr>2</jahr>
<betrag>47500.00</betrag>
<zinsen>2375.00</zinsen>
<tilgung>2625.00</tilgung>
<restwert>44875.00</restwert>
</body>
</Zinsberechnung>


can anybody help me ???
what is wrong in my Files ??

Martin
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: java.lang. IllegalState Exception: Root element not set