Meine Lösung lautet wie folgt, aber sie ist vermutlich nicht
korrekt,
da ich eine xml-Instanz gegen dieses Schema nicht validiert
bekomme.
<?xml version="1.0" ?>
Der bk Prefix gehört zum Namespace http://www.books.org, die element Tags und XSD Typen gehören jedoch zum Schema Namespace. Bei diesem kann man den Prefix weglassen, da er als xmlns (ohne Prefix definiert wurde).
Hier wird auf ein Book Element aus dem http://www.book.org Namespace referenziert.
Hier wird auf ein Element aus dem Schema Namespace referenziert, das funktioniert nicht. Wenn man mit Java versucht ein XML dagegen zu validieren erscheint die folgende Fehlermeldung:
src-resolve.4.2: Error resolving component ‚Title‘. It was detected that ‚Title‘ is in namespace ‚http://www.w3.org/2001/XMLSchema‘, but components from this namespace are not referenceable …
Diese (und weitere) Referenz muss also um den korrekten Namespace-Prefix ergänzt werden
ok, danke für die Hilfe. Aber so ganz klar ist es immer noch nicht.
Also müßte eine korrekte Lösung so aussehen?
<?xml version="1.0" ?>
Problem ist ja, dass für die Elemente für book (also Title, Author, etc.) ein anderer Namespace erforderlich ist. Ich habe den Namespace „xs“ gewählt, um dann auch auf die Datentypen (xs:string) Zugriff zu haben. Aber der Namespace „xs“ wird nirgends referenziert und kann somit auch nicht gefunden werden…