Timur Yalcin: Einbinden einer DTD

Ich möchte mit einer Java-Api eine XML-Datei parsen, das klappt auch, aber wenn ich versuche die DTD einzubinden.

<!DOCTYPE konan SYSTEM "Konan-V1.5.dtd" >

bekomme ich immer folgende Fehlermeldung:

SAXException: org.xml.sax.SAXParseException: Relative URI "Konan-V1.5.dtd"; kann nicht ohne eine Basis-URI aufgelöst werden.

Heisst das , dass ich einen Webserver laufen lassen muss? Ich habe schon eine Pfad-Adressierung versucht, aber da hat er auch gemeckert.

  1. Hallo,

    Ich möchte mit einer Java-Api eine XML-Datei parsen, das klappt auch, aber wenn ich versuche die DTD einzubinden.

    Mit welcher Java-API und welchem Parser?

    <!DOCTYPE konan SYSTEM "Konan-V1.5.dtd" >

    bekomme ich immer folgende Fehlermeldung:

    SAXException: org.xml.sax.SAXParseException: Relative URI "Konan-V1.5.dtd"; kann nicht ohne eine Basis-URI aufgelöst werden.

    Heisst das , dass ich einen Webserver laufen lassen muss?

    Nein, dass bedeutet der Parser benötigt eine Angabe von welchem Verzeichnis aus die relative URL gilt. Standardmäßig ist das bei den meisten Parsern das Verzeichnis in dem die geparste XML-Datei liegt.

    Falls du mit SAX parst (SAXExceptions werden auch beim Parsen mit DOM geworfen!), kannst Du dir die das Basisvezeichnis des Parsers ausgeben lassen über das Locator-Object und die Methode getSystemId ausgeben lassen.

    Ich habe schon eine Pfad-Adressierung versucht, aber da hat er auch gemeckert.

    Was bedeutet Pfad-Adressierung, meinst Du eine absolute Pfadangabe?
    Was hat er angemeckert und wie hast du die absolute Pfadangabe gemacht?

    Gruß
    Franz