Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

j2eetutorial SAX Problem

2 views
Skip to first unread message

Norbert Melzer

unread,
Mar 4, 2008, 6:01:50 AM3/4/08
to
Hi Gruppe!

Ich habe jetzt die ersten Kapitel des J2EE Tutorials
(<http://java.sun.com/j2ee/1.4/docs/tutorial/doc/J2EETutorial.pdf> das mir
hier neulich empfohlen wurde (<010308.142112....@news.nobbz.de>)
durchgeackert, doch leider stoße ich jetzt in Kapitel 5 "Simple API for
XML" auf Probleme. Und zwar wenn ich das Beispiel echo01.java kompiliere
und starte mit einem Parameter der auf eine XML-Datei verweist (absolut
oder relativ ist dabei egal) erhalte ich eine Exception mit folgendem
StackTrace:

> org.xml.sax.SAXParseException: The encoding declaration is required in the text declaration.
> at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
> at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)
> at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)
> at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1411)
> at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanXMLDeclOrTextDecl(XMLScanner.java:515)
> at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.scanTextDecl(XMLDTDScannerImpl.java:771)
> at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.scanDTDExternalSubset(XMLDTDScannerImpl.java:305)
> at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(XMLDocumentScannerImpl.java:1177)
> at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(XMLDocumentScannerImpl.java:1068)
> at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:969)
> at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:645)
> at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:508)
> at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
> at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
> at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
> at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
> at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
> at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
> at javax.xml.parsers.SAXParser.parse(SAXParser.java:331)
> at j2eetut.Echo.main(Echo.java:60)

Der einzige Unterschied gegenüber der echo01.java ist, daß ich die Klasse
wieder in Echo und die Datei in echo.java umbenannt habe, ansonsten sind
die mit dem tutorial gelieferte und meine Datei identisch.

könnt ihr mir sagen wie ich das wegbekomme? Wenn ich das Tutorial richtig
verstehe sollte die Beispieldatei eigentlich schon zu einer Ausgabe
führen...

TIA Norbert

pumpkin67

unread,
Mar 5, 2008, 3:58:44 AM3/5/08
to
On 4 Mrz., 12:01, Norbert Melzer <norbert.mel...@gmx.net> wrote:

> durchgeackert, doch leider stoße ich jetzt in Kapitel 5 "Simple API for
> XML" auf Probleme. Und zwar wenn ich das Beispiel echo01.java kompiliere
> und starte mit einem Parameter der auf eine XML-Datei verweist (absolut
> oder relativ ist dabei egal) erhalte ich eine Exception mit folgendem

Das liegt nicht an der Klasse, sondern an der XML-Datei.
wie sieht denn die xml-datei aus welche Du parsen willst ?

ciao...
Jürgen

Norbert Melzer

unread,
Mar 5, 2008, 8:55:26 AM3/5/08
to

Ui... Wenn das so ist... Die XML Datei sieht aus wie folgt, sie wurde in
den vorhergehenden Kapiteln schritt für Schritt dem nachgebaut was da
stand. Ich war nicht auf die Idee gekommen daß es daran liegen könnte,
deswegen habe ich auch nicht weiter ausprobiert. Leider musste ich meinen
Arbeitsplatz räumen und habe jetzt meine externe Festplatte nicht dran und
kann nicht testen ob das verhalten mit den Beispiel XML-Dateien aus dem
Tutoriual ein anderes wäre.

-----8<-----
<?xml version='1.0' encoding="utf-8"?>

<!-- A SAMPLE set of slides -->

<!DOCTYPE slideshow SYSTEM 'slideshow.dtd' [
<!ENTITY product 'WonderWidget'>
<!ENTITY products 'WonderWidgets'>
<!ENTITY copyright SYSTEM 'copyright.xml'>
]>

<SL:slideshow xmlns:SL='http://www.example.com/slideshow' title='Sample
Slide Show' date='2008-03-03' author='NobbZ'>

<?my.presentation.Program QUERY="exec, tech, all"?>

<!-- TITLE SLIDE -->
<slide type='all'>
<SL:title>Wake up to &products;!</SL:title>
</slide>

<!-- COPYRIGHT SLIDE -->
<slide type='all'>
<item>&copyright;</item>
</slide>

<!-- OVERVIEW -->
<slide type='all'>
<SL:title>Overview</SL:title>
<item>Why <em>&products;</em> are great</item>
<item/>
<item>Who <em>buys</em> &products;</item>
</slide>

<slide type='exec'>
<SL:title>Financial Forecast</SL:title>
<item>Market Size &lt; predicted</item>
<item>Anticipated Penetration</item>
<item>Expected Revenues</item>
<item>Profit Margin</item>
</slide>

<slide type='tech'>
<SL:title>How it Works</SL:title>
<item>First we frozzle the frobmortem</item>
<item>Then we framboze the staten</item>
<item>Finally, we frenzle the fuznaten</item>
<item><![CDATA[Diagram:
frobmorten <--------------- fuznaten
| <3> ^
| <1> | <1> = fozzle
V | <2> = framboze
staten ----------------------+ <3> = frenzle
<2>
]]></item>
</slide>

</SL:slideshow>
----->8-----

Ich hoffe das jetzt beim Posten die Zeilenumbrüche nicht zerhackt werden...

TIA
Norbert

pumpkin67

unread,
Mar 5, 2008, 11:12:01 AM3/5/08
to
Mit dieser XML-Datei (und slideshow.dtd & copyright.xml, die ich mir
aus dem tutorial geholt habe)
läuft bei mir alles ohne exception durch. Kann den Fehler nicht
nachvollziehen.

In der XML-Datei ist ja die encoding declaration, welche er anmeckert,
vorhanden.
Da weiß ich jetzt auch nicht an was das liegen kann, sorry.

ciao...
Jürgen

ma...@heinerkuecker.de

unread,
Mar 5, 2008, 12:00:12 PM3/5/08
to

Eventuell ist der Pfad zur XML-Datei nicht in Ordnung.

>
> ciao...
> Jürgen

Heiner

pumpkin67

unread,
Mar 7, 2008, 3:42:39 AM3/7/08
to
On 5 Mrz., 18:00, m...@heinerkuecker.de wrote:

> Eventuell ist der Pfad zur XML-Datei nicht in Ordnung.

käme dann nicht eher eine FileNotFoundException ?

ciao..
Jürgen

Norbert Melzer

unread,
Mar 7, 2008, 10:30:17 AM3/7/08
to

Wie im OP beschrieben, ich habe es mit Absolutem und relativem Pfad
versucht. Allerdings ist mir gerade aufgefallen, daß die xhtml.dtd in der
Projekt Ansicht von Netbeans in einem ganz komischen Package angezeigt
wird, daß ich so nie eingerichtet habe, vielleicht liegt es daran. Werde
das Projekt wenn der Umbau bei uns abgeschlossen ist mal unter die Lupe
nehmen und notfalls das kleine Programm per Hand kompilieren. Vielleicht
komme ich ja dabei dem Fehler auf die Schliche.

Trotzdem Danke bis hier hin, nach dem Basteln und Schrauben probiere ich
noch mit dem Tutorial, danach werde ich dann Bericht erstatten.

MfG
Norbert

Norbert Melzer

unread,
Mar 10, 2008, 1:28:11 AM3/10/08
to
Am Fri, 7 Mar 2008 20:30:17 +0500 schrieb Norbert Melzer:

> Trotzdem Danke bis hier hin, nach dem Basteln und Schrauben probiere ich
> noch mit dem Tutorial, danach werde ich dann Bericht erstatten.

OK, ich habs gefunden... War ein Typo in der DTD... Hatte dort "encoding"
falsch geschrieben, dadurch kam es dann zu der im OP beschriebenen
Fehlermeldung.

Danke für eure Hilfe, jetzt kann ich endlich das Tutorial weiter
nachvollziehen!

MfG
Norbert

0 new messages