Hallo,
Hallo Leute, hatte vor ein paar Tagen schonmal gepostet aber irgendwie ist mein Beitrag weg?!?
Dann hat wohl niemand darauf geantwortet.
Also nun nochmal:
Wo ist eigentlich der Sinn von "restriction" in xsd-Dateien? Da ich doch den Basistypen bzw. sämtliche Elemente, Attribute (eingeschränkt) wieder angeben muss? Dann kann ich doch auch gleich einen neuen Typ definieren??
Dann definiere doch einen neuen Typ. Wenn dir das lieber ist (oft lohnt sich das sogar, wenn man weiß, dass man einen bestimmten Typ immer wieder brauchen wird).
"Restriction" ist - wie der Name sagt - Einschränkung und durch sie kann man neue einfache Typen durch Ableitung von bestehenden einfachen Typen definieren.
Hier mal das Bsp. aus der Schema-spez. genommen:
<xsd:simpleType name="ISBNTyp">
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{9}[0-9X]"/>
</xsd:restriction>
</xsd:simpleType>
Normalerweise kannst du im String eben Strings stehen haben. Im Bsp. wird das eingeschränkt und dadurch der neue einfacher Typ "ISBNTyp" definiert. Den kann man dann an der gewünschten Stelle z.B. als
<xsd:attribute name="ISBN" type="ISBNTyp" use="required"/> verwenden.
Wenn du aber ein Schema hast wo jedes mal statt »type="ISBNTyp"« die Ableitung komplett ausgeführt wird, hast du es einfach mit einem schlecht designten Schema zu tun.
Grüße
Thomas