Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.java > #13241
| From | WolfgangR <wrinnert@web.de> |
|---|---|
| Newsgroups | de.comp.lang.java |
| Subject | Re: Validierung GPX-Datei mit Xerces/SAX |
| Date | 2019-04-22 12:17 +0200 |
| Message-ID | <gi5imgF3e05U1@mid.individual.net> (permalink) |
| References | <gi5i7dF3aa6U1@mid.individual.net> |
Hi Alle,
Beim Parsen (mit Validierung) einer gpx-Datei bekomme ich folgende
Fehlermeldung:
[Error] Current_2019.03.30.gpx:2:5: Document is invalid: no grammar found.
[Error] Current_2019.03.30.gpx:2:5: Document root element "gpx", must
match DOCTYPE root "null".
Der Anfang der gpx-Datei sieht so aus:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<gpx xmlns="http://www.topografix.com/GPX/1/1"
creator="eTrex 30" version="1.1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.topografix.com/GPX/1/1
http://www.topografix.com/GPX/1/1/gpx.xsd">
<metadata>
<link href="http://www.garmin.com">
<text>Garmin International</text>
</link>
<time>2019-03-30T09:28:09Z</time>
</metadata>
<trk>
...
</trk>
Umgebung:
Debian Testing
Openjdk 11
Der entsprechende Code lautet:
try
{
Writer out = new OutputStreamWriter( System.out );
SAXParserFactory factory = SAXParserFactory.newInstance();
factory.setNamespaceAware( true );
SAXParser saxparser = factory.newSAXParser();
ContentHandler handler = new GarminGpxHandler( out );
XMLReader reader = saxparser.getXMLReader();
reader.setContentHandler( handler );
reader.setFeature("http://xml.org/sax/features/validation", true);
// Parse
InputSource inputSource = new InputSource( inputfile );
reader.parse(inputSource);
out.flush();
}
catch( IOException ioe ) {...}
catch( ParserConfigurationException e ) {...}
catch( SAXException e ) {...}
Meine Probleme / Fragen:
(1) Da der Garmin etrex30 einige unbenutzte und unbenutzbare
xmlns-Angaben in die Datei einfügt, musste ich sie manuell bearbeiten.
Vorher verweigerte Xerces die Arbeit.
Habe ich dabei etwas falsch gemacht?
(2) Um das Root-Element richtig zu verdauen, muss ich wohl noch eine
Änderung im Java-Code vornehmen.
Ich weiß aber nicht, wo ich eine Anleitung oder Dokumentation zur
Verarbeitung von Dokumenten finde,
deren Root-Element nicht "<xml ..." lautet.
Wolfgang R.
Back to de.comp.lang.java | Previous | Next — Previous in thread | Find similar
Validierung GPX-Datei mit Xerces/SAX WolfgangR <wrinnert@web.de> - 2019-04-22 12:09 +0200 Re: Validierung GPX-Datei mit Xerces/SAX WolfgangR <wrinnert@web.de> - 2019-04-22 12:17 +0200
csiph-web