# Validierung von XML-Dokumenten



## Guest (14. Mai 2008)

Hallo,

bin gerade dabei ein Programm zu schreiben das XML-Dateien verarbeitet die von der Struktur her nicht sehr komplex sind aber die Inhalte sind sehr von der richtigen Eingabe und Form abhängig. Die XML-Dateien werden dabei von Hand (bzw. wahrscheinlich über einen XML-Editor) bearbeitet. Die Frage die ich mir nun stelle ist, wie ich die Richtigkeit der Daten am besten validieren kann. Welchen der beiden folgenden Ansätze haltet ihr für besser?

1. XML-Datei über DTD validieren und Inhalte im Programm selber und anschließende Fehlerbehandlung.
2. XML-Datei über ein Schema validieren und Fehler der Validierung im Programm abfangen.


----------



## foobar (14. Mai 2008)

XML-Schema ist wesentlich mächtiger als eine simple DTD. Kommt also drauf an was du machen willst.


----------



## Gelöschtes Mitglied 5909 (14. Mai 2008)

http://www.ibm.com/developerworks/xml/library/x-javaxmlvalidapi.html


----------



## Escorter (14. Mai 2008)

Da du sagst, dass sie nicht so komples sind, rate ich dir zu DTD.

Schau dir das mal an: http://www.galileodesign.de/openboo...14_002.htm#mj5e86857e52ecf5163a5d8f058844db71


----------



## Gast (15. Mai 2008)

Ich kenne mich mit DTD und Schema aus. Die Frage ist halt nur was besser geeignet ist. Ich hab z.B. Werte in der Datei die ein ganz bestimmtes Format haben und mit ner DTD kann ich das nicht prüfen also müsste ich das im Programm behandeln.


----------



## Escorter (15. Mai 2008)

Mit Schema habe ich nicht so viel Erfahung, und weiß nicht ob man das damit machen kann. Wenn es damit geht dann würde ich es damit machen, denn so ersparsst du dir die Prüfung. 

Gruß,
Esco


----------



## javasimon (15. Mai 2008)

also ich empfehle dir die validierung mit einem schema zu machen. die validierung auf eine DTD und den programm code auf zu teilen, macht die ganze sache nur unnötig kompliziert! was für einen grund sollte es geben sowas zu machen, wenn es mit einem schema doch so einfach geht?


----------



## Gast (15. Mai 2008)

Naja ein Grund wäre, dass die XML-Datei vielleicht über SAP gepflegt werden soll. Wenn das der Fall wäre müsste ich eine DTD verwenden  da das Schema von SAP leider nicht unterstützt wird. Die Frage ist also eigentlich:

Ist die Variante mit dem Schema so überlegen, dass der Einsatz von SAP zur Pflege der XML-Datei ausgeschlossen werden sollte oder ist die DTD ok (mit eigener Validierung der Datenformate in Java)?


----------

