@Luckie: Die DTD müsste in deiner Datei so aussehen:
Code:
<!ELEMENT adressdb (XMLFile, Kontakt+)>
<!ELEMENT XMLFile (MajorVersion, MinorVersion, Computer, User, ...)>
<!ELEMENT MajorVersion (#PCDATA)>
...
<!ELEMENT Kontakt (ID, Name, Vorname, ...)>
<!ELEMENT ID (#PCDATA)>
...
Du gibts einfach nur die Elemente an, die du benutzt hast, in der Reihenfolge, in der du sie benutzt hast. Damit zwingst du den Parser, eine
XML-Datei nur zu akzeptieren, wenn die Knoten vorhanden sind und der Reihenfolge entsprechen.
Die Knoten, die ihrerseits nur Text enthalten, kriegen die Angabe (#PCDATA) in Klammern. Ganz oben siehst du "Knoten+", d.h. es muss min. 1 Knoten namens <Kontakt> vorhanden sein, durch das Plus sind aber durchaus mehrere erlaubt.
Edit: Und
Zitat:
Code:
<!DOCTYPE Kontakte SYSTEM "Kontakte.dtd">
wäre falsch, weil dein root-Knoten <adressdb> heißt und nicht <Kontakte>.
Edit 2: Und zum Darstellen würde ich ein XSL-Stylesheet/Transform benutzen. In dem kannst du mit herkömmlichen
HTML-Code arbeiten und Tabellen erzeugen, usw.