# XML auf Basis einer DTD erstellen



## berlichingen (14. Okt 2010)

Hallo
Ich habe mal eine Grundsätzliche Frage, Wenn ich ein DTD File habe und auf deren Basis ein XML File mit Java erstellen will, Gibt es da eine Möglichkeit das immer gegen geprüft wird welche Elemente/Attribute Eingefügt werden dürfen. 
ZB:
Das Root Element ist vorgegeben. Wenn ich nun in meinem Programm auf „Element Zufügen“ gehe, sollen nur die Elemente angezeigt werden die auch DTD konform sind. Das gleiche auch bei den Attributen, wenn man ein Element auswählt soll angezeigt werden was für Attribute man Setzen kann. 

Der Hintergrund dazu ist, das die DTD Datei nicht von mir erstellt wird und sie wahrscheinlich in den nächsten Jahren um Elemente/Attribute erweitert wird. So wie ich das bis jetzt verstanden habe, müsste ich eigentlich die Struktur im Java Programm abbilden, also muss bei jeder Erweiterung der DTD Datei auch der Java Code angepasst werden. 

Ich suche hier nicht nach einem fertigen Programmcode. Nur um den Weg wie man das Ziel erreichen kann, wenn überhaupt. 

Vielen Dank für eure Hilfe


----------



## MQue (22. Okt 2010)

Naja, du erzeugst in Eclipse ein Projekt, fügst dann zu diesem Projekt deine DTD hinzu, erzeugst dann ein XML- File im selben Projekt, gibst dann in der XML- Datei eine URL zur DTD an und klickst dann auf die XML- Datei und im Kontext- Menü der Rechten MT findest du dann "Validieren"
Damit kannst du die XML- Datie gegen die DTD validieren.


----------



## Tomate_Salat (22. Okt 2010)

wenn du dir java-klassen generieren lassen willst, kannst du das mit xjc machen:
[c]xjc -dtd DEINE-DTD.dtd[/c]
ich habe meistens eine cmd-Datei in meinem Projekt-ordner, über die ich die java-klassen erstellen lasse. Da hänge ich dann noch soetwas hintendran: [c]-d src -p xml.dtd[/c] (=> Die generierten dateien werden im src-Ordner im Paket xml.dtd abgelegt)
komplettes Bsp:
[c]xjc -dtd eineDTD.dtd -d src -p xml.dtd[/c]

MFG
Tomate_Salat


----------

