XML-schema-Gültigkeit: cvc-complex-type.2.4.ein
Ich versuche zur Validierung meines XML-Dokuments gegen meine XML-schema.
Dies ist mein schema:
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://cars.example.org/">
<element name="cars">
<complexType>
<sequence minOccurs="0" maxOccurs="unbounded">
<element name="brand" type="string"/>
</sequence>
</complexType>
</element>
</schema>
und das ist mein XML-Dokument:
<?xml version="1.0" encoding="UTF-8"?>
<cars xmlns="http://cars.example.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://cars.example.org/cars.xsd">
<brand>x</brand>
</cars>
Wenn ich jetzt das Dokument überprüft (über Eclipse) bekomme ich folgende Meldung auf Zeile 4:
cvc-complex-type.2.4.a: Invalid content was found starting with element 'brand'. One of '{"":brand}' is expected.
Diese Meldung macht keinen Sinn :(. Und es ist sehr schwer (unmöglich?) google-Lösung.
Danke für Eure Hilfe.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihrem schema ist die Definition von "Marke" als in keinem namespace. Das ist es, was
'{"":brand}'
bedeutet. Aber in Ihr XML-Dokument die "Marke" element ist in derhttp://cars.example.org/
namespace. Damit Sie nicht übereinstimmen, und Sie bekommen Ihre Fehler bei der überprüfung.Zu erklären, dass die "Marke" element im schema als in der
http://cars.example.org/
namespace, fügen Sie das AttributelementFormDefault="qualified"
um das schema-element handelt.Schlage ich vor, dass der Vollständigkeit halber auch hinzufügen
attributeFormDefault="unqualified"
um das schema-element handelt, obwohl das nicht Ihr problem in diesem Fall.Haben Sie nicht, überprüft das Attribut in Autos, die url des namespace, dieser sollte funktionieren: