Validierung nur beim einlesen oder auch beim schreiben?

BlubBlub

Bekanntes Mitglied
Hi ich habe eine externe DTD erstellt.
Nun lese ich eine XML file ein die auf diese DTD verweist.
Mit dem folgenden Code kann ich beim Einlesen überprüfen, ob das XML File
valide ist.

Java:
   		DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
		builderFactory.setValidating(true);
                DocumentBuilder builder = builderFactory.newDocumentBuilder();
		Document doc = builder.parse(new FileInputStream(filename));

Nun kann ich mit meinem Programm auch Dateien in XML Form abspeichern.
Beim Abspeichern gebe ich folgendes vor:

Java:
....
....
 document.createElement("position"); //Erzeugung eines XML documents
...
...

TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
transformer.setOutputProperty(OutputKeys.ENCODING,"ISO-8859-1");
transformer.setOutputProperty(OutputKeys.STANDALONE, "no");
transformer.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM,"C:/Users/.../graphicAnimator.dtd");
transformer.setOutputProperty(OutputKeys.INDENT, "yes"); 
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");

Jetzt frage ich mich grad ob bei der programmatischen Erzeugung hierbei gegen die DTD geprüft wird. Wird damit sichergestellt, dass das programmatisch erzeugte XML Dokument den Regeln der vorgegeben DTD folgt?

Und wenn nicht wie kann ich sicherstellen, dass eine von mir erzeugte XML Datei einer von mir wie oben vorgegeben DTD folgen soll. Falls die erzeugte XML Datei nicht den Regeln der DTD folgt möchte in irgendeiner Form darüber informiert werden.
 

Wildcard

Top Contributor
Ich lasse mich gerne korrigieren, aber ich glaube es gibt keine Ausgangsseitige Validierung und du musst das Dokument erst wieder parsen.
Alternativ kann ich dir EMF empfehlen, dazu müsstest du aber die DTD in ein Schema umwandeln (wer verwendet denn noch DTDs? :)). Mit EMF kannst du dir aus dem Schema Java Klassen generieren und dann automatisch XML Instanzen in einen Objektgraph überführen. Die Constraints des Schemas werden dann soweit wie Möglich im generierten Java Code umgesetzt und die Objekte können dann automatisch validiert werden bevor du wieder als XML abspeicherst.
 

BlubBlub

Bekanntes Mitglied
Hmm das klingt ja recht interessant.

Ich weiß nicht ob ich dich grad richtig verstehe. Ist es also möglich Objekte automatisch in XML Code generieren zu lassen und aus XML Code auch wieder Objekte generieren zu lassen?
Zudem wie zuverlässig ist diese Objekterzeugung?

Zu der Frage: Wer verwendet schon DTDs? Ich würde mal sagen Anfänger, die bisher irgendwie versuchen in das XML zeugs einzusteigen ^^. Gibt ja irgendwie tausend Mögichkeiten wie man etwas abspeichern und einlesen kann, für irgendwas muss man sich da ja entscheiden^^. Und da dachte ich zu Anfang wäre es am besten sich mit den Basics auseinadnerzusetzen ;)
 
M

Marcinek

Gast
Ja man kann Objekte zu XML serialisieren. Dafür gibt es unzählige Frameworks.

XStream benutze ich und finde es klasse ;D

Gruß,

Martin
 

Wildcard

Top Contributor
Zudem wie zuverlässig ist diese Objekterzeugung?
Wenn das kein zuverlässiger und deterministischer Prozess wäre, würde es niemand benutzen, oder? ;)


Zu der Frage: Wer verwendet schon DTDs? Ich würde mal sagen Anfänger, die bisher irgendwie versuchen in das XML zeugs einzusteigen
DTDs sind veraltet. XML wird üblicherweise mit XML Schema Definition (XSD) beschrieben.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Validierung einer XML-Datei - Führende Leerzeichen und Tabs XML & JSON 10
B XML Schema Validierung des Zahlenbereichs XML & JSON 3
C xml validierung gegen xsd mit jdom: Fehlermeldung Cannot find the declaration of element ... XML & JSON 8
J JSon <-> XML zwecks Validierung XML & JSON 4
S Validierung mit JAXB2 ohne root-element XML & JSON 10
H XML via XSD Validierung nicht möglich? XML & JSON 2
R XML-Validierung mittels XSD unter Eclipse XML & JSON 2
D jaxb validierung/verification vor marshalling XML & JSON 3
H Schema-Validierung mit JDOM XML & JSON 2
C Validierung klappt nicht mit Schema XML & JSON 2
S XML Validierung mit XSD über DOM - Cannot find. XML & JSON 4
G Validierung von XML-Dokumenten XML & JSON 7
G Problem mit XML-Schema Validierung mit Java XML & JSON 12
R Parsen einer XML ohne Validierung XML & JSON 2
leifg XSD Validierung mit JDK 1.3 XML & JSON 3
Zed XML dom4j xsd- Eigenschaften/Validierung XML & JSON 3
N XML Datei auslesen / Validierung XML & JSON 4
J schema-Validierung mit xerces und jdom: bug in java 1.4? XML & JSON 9
W Ungleiches Escaping beim Marshalling XML & JSON 8
S Hilfe beim RDF-Graphen XML & JSON 0
R Beim Serialisieren fehlt die letzte Zeile XML & JSON 5
N Probleme bei der Formatierung beim Einfügen und löschen über DOM XML & JSON 7
A Leeres Array beim Auslesen von XML-Datei XML & JSON 4
L Jackson JSON: Probleme beim einlesen XML & JSON 1
A XML-Fehler beim Prefix von xmlns XML & JSON 2
K Beim Parsen einer XML-Datei Connection timed out XML & JSON 4
G Langsam beim SAX-Parsen - woran liegts? XML & JSON 2
A Fehler beim Erzeugen eines XML-Schema XML & JSON 4
D JAXBException beim Marshaller XML & JSON 4
M Read / write Problem beim ByteStrom XML & JSON 2
whitenexx Problem beim parsen von Facebook XML XML & JSON 3
J Dateinamen beim Start auslesen XML & JSON 8
F Hilfe beim bearbeiten von XML elemente XML & JSON 3
N XStream ConversionException beim Deserialisieren in (Hibernate)Objekt XML & JSON 6
hdi Probleme beim Erstellen einer XML XML & JSON 7
F Probleme beim html parsen mit tagsoup XML & JSON 4
M Probleme beim Parsen eines gefilterten XML-Dokuments XML & JSON 6
G Problem beim schreiben von XML in eine File XML & JSON 2
L Reihenfolge beim xml Datei parsen einhalten? XML & JSON 8
H JAXB Probleme beim Unmarshalling XML & JSON 3
sylo Beim Erzeugen einer XML Datei auch die XML Struktur erzeugen? XML & JSON 11
B Problem beim löschen von ChildNodes aus einem XML-DOM XML & JSON 3
E JDOM - Problem beim Zusammenfügen zweier Dateien XML & JSON 2
N Hilfe beim Einstieg in EMF XML & JSON 6
D Das Programm hängt etwa 5 Sekunden beim Aufruf der parse-Methode XML & JSON 6
D Tabs/Einrückungen der XML-Elemente gehen beim Schreiben verloren XML & JSON 5
T Problem beim Parsen von Attribut xmlns="urn:com:test&qu XML & JSON 6
G XML Tag beim Einlesen manipulieren XML & JSON 2
J Problem beim XML-Lesen XML & JSON 2
S Probleme beim erstellen einer Jar XML & JSON 12
N jdom problem beim lesen von child elementen XML & JSON 5
P NullPointerException beim Auslesen XML & JSON 8
M Performance beim Binding XML & JSON 2
C SAX Probleme beim lesen XML & JSON 4
D Probleme beim SAX parsing XML & JSON 4
E XOM setzen von XML-Schema declaration beim erzeugen XML-File XML & JSON 2
byte Probleme beim Parsen von XHTML-Datei XML & JSON 4
J Fehler beim laden einer .xml XML & JSON 3
G DOCTYPE Problem beim Transformer/TransformerFactory etc. XML & JSON 13
P OutOfMemoryError beim Einlesen einer XML-Datei XML & JSON 7
P Problem beim erstellen eines neuen Elements (JDOM) XML & JSON 5
S JDOM-Kein indent beim XMLOutputter XML & JSON 4
C Zeile herausfinden in der ein Fehler beim Einlesen entsteht XML & JSON 3
V Datenverlust nach sortieren (nur beim serialisieren) XML & JSON 4
S Problem beim Erstellen eines pdfs XML & JSON 3
R Problem beim Auslesen von Attributen XML & JSON 4
R JAVA und DOM, probleme beim einfügen von elementen ?????? XML & JSON 6
iman XML Attribute mit JAVA einlesen mit Spring Batch XML & JSON 0
J Object in JSON Datei einlesen und als neues Object erzeugen (in ein Object Array) XML & JSON 29
I Mit Hibernate eine XML-Datei in eine Tabellenspalte einlesen. XML & JSON 1
L XML einlesen gleichnamige Elemente XML & JSON 5
T HTML mit Hilfe Jsoup einlesen XML & JSON 11
R xlsx-Datei mit Apache POI einlesen XML & JSON 18
S CSV Datei einlesen und XML Ausgeben XML & JSON 2
W XML einlesen und Attribute auslesen XML & JSON 1
M XML Werte einlesen aber wie am besten weiterverarbeiten? XML & JSON 13
L XML nur ein Element einlesen XML & JSON 2
S XML in JTable Einlesen XML & JSON 3
B XML analysieren und einlesen XML & JSON 26
Z XML Datei mit JDOM einlesen und verarbeiten XML & JSON 6
Ollek XML Einlesen - Welche API ist die richtige? XML & JSON 14
X XML einlesen XML & JSON 6
C JAXB: XML-Elemente einlesen und als XML-Attribute ausgeben XML & JSON 7
jstei001 .xsd File wärend der Laufzeit einlesen und XMl rausschreiben XML & JSON 5
J XML mit russischem Inhalt einlesen XML & JSON 4
D XML Einlesen mit JaxB XML & JSON 4
K Einlesen eines Parameters aus HTML-Datei XML & JSON 4
D Wie XML Datei einlesen und HTML entities übernehmen? XML & JSON 3
B SAX-Parser - Dokumente einlesen und in einer Map ablegen XML & JSON 2
N xsd pattern in java einlesen XML & JSON 6
F Einlesen von JDBC connection in Java von XML XML & JSON 4
J wert IN einem tag einlesen/schreiben XML & JSON 4
F XML erzeugen aus JTree und wieder einlesen... XML & JSON 6
N JDOM: XML einlesen XML & JSON 4
F XML mit DOM einlesen- Teile in Arraylist speichern XML & JSON 4
S XML einlesen XML & JSON 18
F XML Datei in Java einlesen XML & JSON 4
H XMI über EMF / UML2 einlesen XML & JSON 7
S XML einlesen, analysieren, bearbeiten & als Textdatei ausgeben XML & JSON 1
E XML Datei einlesen und Elemente in der Console ausgeben XML & JSON 6

Ähnliche Java Themen

Neue Themen


Oben