Guten Tag,
Ich möchte per JDOM/SAXBuilder eine XML Datei einlesen die nicht ganz valide ist. Diese Datei ist das Ausgabe Format eines Programmes (Classification Tree Editor).
Die Invalidität besteht in min. 2 Punkten:
1. der Doctype ist: <!DOCTYPE cteobject SYSTEM "ctexl-1.0.dtd"> und die dtd ist nicht vorhanden
2. es gibt Stellen mit xlink:href="..." oder xlink:type="simple" wobei für xlink der Namesspace fehlt (prefix ... xlink ... is not bound")
Per Editor die Problem zu Lösen (das Sax Parser keine Ausnahem wirft) ist recht einfach: Doctype auf "null" und einen Name space für xlink angeben: xmlns:xlink="http://www.w3.org/1999/xlink".
Mein Frage ist jetzt: Gibt es eine Möglichkeit oder eine Parser der bestimmte XML Fehlr ignorieren kann? Oder könnte ich geschickt die Ausnahemen abfangen und z.b. direkt beim Parsen die entsprechenden Änderungen vornehmen?
Also der Parser soll möglichst unbeeindruckt von Fehlern versuchen einen Baum zu erstellen, Fehler bei Attributen sollten ja zumindest einen einwandfreien Baum ermöglichen.
Die meiner Meinung denkbar schlechteste Variante wäre, die Datei auf eine starre Art und Weise vorzuverarbeiten: "ersetze "ctexl-1.0.dtd" durch "null", lösche jedes vorkommen von "xlink:...."
Nun hätte ich noch ein Frage zu Eclipse (EE) und dessen XML Editor, kann man irgendwie zu einem normalen (XML)Texteditor umschalten? So das man den kompletten Text sieht und nicht nur (abstrahierte) Baumstruktur. Insbesondere Copy/Paste wäre dann einfacher.
Danke im Voraus...
Ich möchte per JDOM/SAXBuilder eine XML Datei einlesen die nicht ganz valide ist. Diese Datei ist das Ausgabe Format eines Programmes (Classification Tree Editor).
Die Invalidität besteht in min. 2 Punkten:
1. der Doctype ist: <!DOCTYPE cteobject SYSTEM "ctexl-1.0.dtd"> und die dtd ist nicht vorhanden
2. es gibt Stellen mit xlink:href="..." oder xlink:type="simple" wobei für xlink der Namesspace fehlt (prefix ... xlink ... is not bound")
Per Editor die Problem zu Lösen (das Sax Parser keine Ausnahem wirft) ist recht einfach: Doctype auf "null" und einen Name space für xlink angeben: xmlns:xlink="http://www.w3.org/1999/xlink".
Mein Frage ist jetzt: Gibt es eine Möglichkeit oder eine Parser der bestimmte XML Fehlr ignorieren kann? Oder könnte ich geschickt die Ausnahemen abfangen und z.b. direkt beim Parsen die entsprechenden Änderungen vornehmen?
Also der Parser soll möglichst unbeeindruckt von Fehlern versuchen einen Baum zu erstellen, Fehler bei Attributen sollten ja zumindest einen einwandfreien Baum ermöglichen.
Die meiner Meinung denkbar schlechteste Variante wäre, die Datei auf eine starre Art und Weise vorzuverarbeiten: "ersetze "ctexl-1.0.dtd" durch "null", lösche jedes vorkommen von "xlink:...."
Nun hätte ich noch ein Frage zu Eclipse (EE) und dessen XML Editor, kann man irgendwie zu einem normalen (XML)Texteditor umschalten? So das man den kompletten Text sieht und nicht nur (abstrahierte) Baumstruktur. Insbesondere Copy/Paste wäre dann einfacher.
Danke im Voraus...