XML-Schema validieren, unterschiede bei Editoren
André Laugks
- software
Hallo!
Es ist etwas länger her, dass ich mit XML-Schema gearbeitet habe. Vielleicht ist mir ja etwas entfallen.
Ich verwende <oxygen/> als XML-Editor. Wenn ich in oxygen die XML-Datei validiere, sagt mir oxygen, dass das Dokument valide ist, was meiner Meinung nach aber nicht sein kann.
<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="liste"></xs:element>
</xs:schema>
<?xml version="1.0" encoding="ISO-8859-1"?>
<liste xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="datei.xsd">
<eintrag>
<name anrede="Frau">Rita</name>
</eintrag>
</liste>
Ich nehme mir also xmllint zu Hand. xmllint ist auch der Meinung, dass das Dokument valide ist. Zwei andere XML-Editoren sind auch der Meinung.
Dann habe ich es mit XMLSpy und XRay versucht. Die sagen mir wie erwartet, dass das Dokument nicht valide ist. Ein Online-Service zum validieren war auch der Meinung.
Nun frage ich mich, habe ich in den Dokumenten etwas falsch gemacht, dass einige Editoren es für valide halten dürfen oder arbeiten sie einfach nicht richtig.
Ich bin mir bei oxygen und xmllint ganz sicher, dass sie meckern sollten..., naja bis eben zumindestens.
André Laugks
Hallo,
Nun frage ich mich, habe ich in den Dokumenten etwas falsch gemacht, dass einige Editoren es für valide halten dürfen oder arbeiten sie einfach nicht richtig.
Auch XMLSpy 2005 und XMLStarlet 1.0.1 melden bei mir ein valides Dokument und das ist auch richtig so, denn Deine Deklaration des Elements liste beinhaltet kein type-Attribut. Somit kommt die Voreinstellung type="xs:anyType" zum Tragen. Das Wurzelelement liste kann also beliebigen Inhalt haben.
MfG, Thomas
Hallo!
Auch XMLSpy 2005 [...]
Ich habe XMLSpy 5, also schon etwas betagt.
Somit kommt die Voreinstellung type="xs:anyType" zum Tragen.
Rrrrrhhhhhh, Danke!
André Laugks