XML-Validierung mit JDOM
(Autor: F а b і а n, Frage gestellt am Sa, 20. Dez 2003)
Hallo.
Ich moechte ein XML mit Java (JDom) einlesen und gegen ein XSD validieren. Das klappt auch alles ganz gut bis auf die Tatsache, dass der Parser (SAXBuilder) sich ueber ein XML-Tag beschwert, das er fuer ungueltig erklaert. Wenn ich das Tag entferne, dann validiert er jedoch einwandfrei. Hier mein XML, was NICHT geht:
<?xml version="1.0"?>
<?xml:stylesheet href="file.xsl" type="text/xsl"?>
<myTag>bla bla</myTag>
Und hier mein XML, was FUNKTIONIERT:
<?xml version="1.0"?>
<myTag>bla bla</myTag>
Dummerweise kann ich die Zeile nicht einfach rausschneiden, weil ich auf die Erstellung des XML keinen Einfluss habe. Beim Validieren (oder schon beim Einlesen) wirft der JDom Parser eine org.jdom.IllegalTargetException und meldet, dass "xml:stylesheet" fuer ihn nicht erlaubt sei.
Ist doch komisch, oder? Es handelt sich doch um eine ganz normale prozessinginstruction mit einem namespace, oder!? Wieso beschwert sich der Parser darueber? Oder kann/muss ich in meinem XSD irgendwas hinzufuegen, damit mein Parser das validiert?
Laut java doc heisst es unter IllegalTargetException: IllegalTargetException is thrown when a target is supplied in construction, etc., of a JDOM ProcessingInstruction, and that name breaks XML naming conventions.
Was ist da los?
vielen dank.
Ich moechte ein XML mit Java (JDom) einlesen und gegen ein XSD validieren. Das klappt auch alles ganz gut bis auf die Tatsache, dass der Parser (SAXBuilder) sich ueber ein XML-Tag beschwert, das er fuer ungueltig erklaert. Wenn ich das Tag entferne, dann validiert er jedoch einwandfrei. Hier mein XML, was NICHT geht:
<?xml version="1.0"?>
<?xml:stylesheet href="file.xsl" type="text/xsl"?>
<myTag>bla bla</myTag>
Und hier mein XML, was FUNKTIONIERT:
<?xml version="1.0"?>
<myTag>bla bla</myTag>
Dummerweise kann ich die Zeile nicht einfach rausschneiden, weil ich auf die Erstellung des XML keinen Einfluss habe. Beim Validieren (oder schon beim Einlesen) wirft der JDom Parser eine org.jdom.IllegalTargetException und meldet, dass "xml:stylesheet" fuer ihn nicht erlaubt sei.
Ist doch komisch, oder? Es handelt sich doch um eine ganz normale prozessinginstruction mit einem namespace, oder!? Wieso beschwert sich der Parser darueber? Oder kann/muss ich in meinem XSD irgendwas hinzufuegen, damit mein Parser das validiert?
Laut java doc heisst es unter IllegalTargetException: IllegalTargetException is thrown when a target is supplied in construction, etc., of a JDOM ProcessingInstruction, and that name breaks XML naming conventions.
Was ist da los?
vielen dank.
Artikelbaum anzeigen
Die Lösung
(Autor: F а b і а n, Antwort nach 3 Tagen, 3 h, 14 Min)
Hallo.
Die Lösung ist wie folgt:
Es heisst nicht:
<?xml:stylesheet href="file.xsl" type="text/xsl"?>
sondern:
<?xml-stylesheet href="file.xsl" type="text/xsl"?>
Und daher ist es klar ein Synatxproblem.
Danke!
Die Lösung ist wie folgt:
Es heisst nicht:
<?xml:stylesheet href="file.xsl" type="text/xsl"?>
sondern:
<?xml-stylesheet href="file.xsl" type="text/xsl"?>
Und daher ist es klar ein Synatxproblem.
Danke!
Du kannst auf diesen Artikel nicht antworten.
Dieser Artikelbaum ist im Archiv des Experten-Forums von wer-weiss-was zum Thema "Java" archiviert. Es handelt sich um keine aktuelle Diskussion, daher kann auf die Artikel nicht mehr geantwortet werden.
Folgende Artikel könnten Dich auch interessieren:
Attibute in Abhängigkeit von anderen validieren?Validation im RAM
XML, XMI und MOF
Xerces, bzw javax.xml.* ...
validating DTD-Parser
XML-Editor gesucht
XML mit Umlauten korrekt einlesen?
Fehler bei Öffnen von XML
XML java Parser
Daten Filtern mit JDOM
Wie komme ich an dieses Unterlement (wsdl-Datei)?
XML-Template über HTML-Formular mit Daten füllen
vorheriger Artikelbaum
(Frage: Wie Daten aus Datenbank lesen???)
(Guter Editor für JSP gesucht)
nächster Artikelbaum















