XML-Schema Verwendung von Wildcards
Thomas
- xml
Ich versuche, innerhalb einer choice-Elements Elemente aus dem aktuellen Dokument zuzulassen, oder aber eine Erweiterung mit neuen Tags.
Mein erster Versuch war folgender:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="AUTHOR" type="xs:string" />
<xs:element name="COMMENT" type="xs:string" />
<xs:element name="Startelem">
xs:complexType
xs:choice
<xs:element ref="AUTHOR" />
<xs:element ref="COMMENT" />
<xs:any namespace="##local"/>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
Problem: auch AUTHOR und COMMENT sind scheinbar für <xs:any namespace="##local"/> zugelassen, die choice ist somit nicht mehr eindeutig und das Schema ist nicht wohlgeformt.
Der zweite Versuch:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="AUTHOR" type="xs:string" />
<xs:element name="COMMENT" type="xs:string" />
<xs:element name="Startelem">
xs:complexType
xs:choice
<xs:element ref="AUTHOR" />
<xs:element ref="COMMENT" />
<xs:any namespace="##other"/>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
jetzt ist das Schema wohlgeformt, aber die Datei wird nicht mehr als gültig erkannt:
Diese Datei ist nicht gültig: Unerwartetes Element 'TITEL' in 'Startelem'. Erwartet wird AUTHOR, COMMENT, {jedes außer aus Namespace ''}
Gibt es eine Lösung, das einfach zu Beschreiben?
danke,
Thomas