Mit einem Attribut und einer Einschränkung für ein Element im XML-Schema
Ich versuche zu schreiben, ein xml-schema validieren wird dieses Stück xml:
<date isodate="2007-03-14">14 march 2007</date>
Dem Attribut isodatum sollte es Typ xs:date und der Inhalt sollte max 50 Zeichen lang sein.
Frage ich mich, ob es möglich ist, zu schreiben, die xml-schema-definition in einem block, so etwas vielleicht:
<xs:element name="date" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="xs:string">
<xs:minLength value="0"/>
<xs:maxLength value="50"/>
</xs:restriction>
<xs:attribute name="isodate" type="xs:date" use="required"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
Den code oben nicht funktioniert, und ich kann nicht wirklich herausfinden, warum. Einzige Lösung die ich gefunden habe, ist die Pause, die für die Einschränkung Teil in einen separaten Typ, und link, wie diese:
<xs:simpleType name="reviewDate">
<xs:restriction base="xs:string">
<xs:minLength value="0"/>
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="date" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="reviewDate">
<xs:attribute name="isodate" type="xs:date" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
Die Frage, die ich habe, ist, wie Sie schreiben, die definition in einem block, so dass das schema ist ein wenig besser lesbar, und nicht auf Typen, die in anderen teilen des Schemas.
InformationsquelleAutor der Frage Alexander Kjäll | 2009-08-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nicht verschmelzen beide eine Einschränkung und eine Erweiterung in einem block von XSD. Die Lösung, die Sie mit der "ReviewDate" einfache Art ist die beste Lösung, die ich kenne.
Marc
InformationsquelleAutor der Antwort marc_s
Können Sie ein element mit Einschränkung und Attribut(-s).
Der Schlüssel ist, zu definieren benutzerdefinierter Typ mit seinen Einschränkungen, und dann verwenden Sie Attribute hinzufügen, um es.
Siehe hier: Inhalt der Beschränkung und der Attribut-Validierung auf das gleiche element in XSD
InformationsquelleAutor der Antwort Ignas