Einzelnen Beitrag anzeigen

MathiasSimmack
(Gast)

n/a Beiträge
 
#13

Re: XML-Datei mit dtd Datei darstellen

  Alt 20. Apr 2004, 14:51
@Luckie: Es gibt noch eine Möglichkeit der Validierung mit einem XSD-Schema. Das ist auch eine XML-Datei, die die gleiche Aufgabe wie die DTD hat, aber wohl (laut PSDK und W3C) flexibler sein soll.


Der Vorteil: Die Datei muss nicht in der XML-Adressdatenbank angegeben werden, sondern das Programm könnte die Validierung mit dem so genannten "schema cache" durchführen. Das heißt, die XSD-Datei wird wie eine XML-Datei geladen und dann an das XML-Objekt der Adressendatei übergeben. Wenn du die dann lädtst, findet der Parser ebenfalls Fehler. Ganz so wie bei der DTD. Man könnte also das XSD-Schema mit dem Programm ausliefern, oder meinetwegen auch auf dem Server ablegen.

Und du kannst sogar die Typen angeben, bspw.:
Code:
<xsd:element name="HighestID" type="xsd:decimal"/>
Würde in der XML-Datei jetzt stehen:
Code:
<HighestID>abc</HighestID>
dann schimpft der Parser:
Zitat:
Fehler beim Analysieren von 'abc' als decimal-Datentyp.
Das Element 'HighestID' hat gemäß seinem Datentyp einen ungültigen Wert.
Der Nachteil: Es läuft auf Namespaces hinaus. Zumindest ist das mein momentaner Eindruck als totaler XSD-Laie. Damit das Schema auch Fehler findet, muss die XML-Datei ein bisschen erweitert werden, bspw.
Code:
<[b]x[/b]:adressdb xmlns:[b]x[/b]="urn:adressdb">
 
</[b]x[/b]:adressdb>
(Die Angaben kann man IMHO frei wählen, aber dennoch: ) Mal gucken ob´s nicht noch einfacher geht. Vielleicht ist ja auch wer hier, der sich mit XSD auskennt?


Edit: Ich glaube ich hab´s (s. Anhang).
Angehängte Dateien
Dateityp: zip xsd-validierung.zip (2,3 KB, 10x aufgerufen)
  Mit Zitat antworten Zitat