Jetzt registrieren!
Passwort vergessen?



 
 
 
--------------- --------------- ---------------


XML-Validierung mit JDOM



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.
> Artikelbaum anzeigen

Die Lösung


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!

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.

Seite bei ... merken:
del.icio.us digg it facebook tausendreporter yigg it twitter alltagz google Mister Wong oneview Webnews yahoo linkarena coComment Lieblnk als Bookmark einfügen
Stelle deine Frage: