Wertvorgaben, in XML Schema auch als Facetten bezeichnet, grenzen einen einfachen Typ ein, indem Sie die Werte einschränken, die er darstellen kann.
Oft ist es nützlich, Vorgaben für Werte, die ein Element oder Attribut annehmen kann, festzulegen, um beispielsweise sicherzustellen, dass Nachrichten bestimmten Geschäftsregeln entsprechen. In diesem Abschnitt wird beschrieben, wie Wertvorgaben zu einem einfachen Typ hinzugefügt werden, um die Werte aller auf dem einfachen Typ basierenden Elemente oder Attribute zu begrenzen.
Wird das Modell in WebSphere Message Broker implementiert, können Elemente und Attribute anhand von Wertvorgaben überprüft und Verstöße als Fehler oder Warnungen gemeldet werden. Die SOAP-, XMLNSC-, DFDL- und MRM-Domänen unterstützen alle die Überprüfung.
Längenvorgaben können auf einfache Typen angewendet werden, die vom Schematyp xsd:hexBinary, xsd:base64Binary oder xsd:string (einschließlich integrierter Schematypen wie xsd:normalisedString) abgeleitet sind.
Längenvorgaben werden von übergeordneten Typen übernommen, wobei Längenvorgaben, die für einen einfachen Typ definiert werden, nicht von den Vorgaben, die von einem der übergeordneten Typen vorgegeben werden, abweichen dürfen. Beispielsweise kann der Typ 'langeZeichenfolge' (maxLength=100) nicht vom Typ 'kurzeZeichenfolge' maxLength=10) abgeleitet werden.
Bereichsvorgaben werden von übergeordneten Typen übernommen, wobei Bereichsvorgaben, die für einen einfachen Typ definiert werden, nicht von den Vorgaben, die von einem der übergeordneten Typen vorgegeben werden, abweichen dürfen. Beispielsweise kann der Typ 'großeZahl' (maxInclusive=100) nicht von einem Typ 'kleineZahl' (maxInclusive=10) abgeleitet werden.
Aufzählungsvorgaben werden von übergeordneten Typen übernommen, wobei der Bereich der zulässigen Werte durch keine der Gruppen von Aufzählungsvorgaben, die für einen einfachen Typ definiert werden, erweitert werden darf. Beispielsweise kann der Typ 'AlleFarben' (mit Aufzählungen für alle Farben des Regenbogens) nicht aus einem Typ 'MonoFarben' (mit Aufzählungen nur für 'schwarz' und 'weiß') abgeleitet werden.
Genauigkeitsvorgaben werden von übergeordneten Typen übernommen, wobei Genauigkeitsvorgaben, die für einen einfachen Typ definiert werden, nicht von den Vorgaben, die von einem der übergeordneten Typen vorgegeben werden, abweichen dürfen. Beispielsweise kann der Typ 'sehrGenau' (fractionDigits=10) nicht vom Typ 'nichtSehrGenau' (fractionDigits=1) abgeleitet werden.
Wie bei allen Wertvorgaben gilt auch hier, dass ein einfacher Typ Mustervorgaben von dem einfachen Typ, auf dem er basiert, übernehmen kann. In diesem Fall muss zusätzlich zu der Gruppe, die von dem einfachen Typ selbst beigetragen wird, auch die Gruppe von Mustervorgaben, die von jedem übergeordneten Typ beigetragen wird, den Anforderungen entsprechen, d. h., die Gruppen von Mustervorgaben aus den einzelnen Ebenen der Typhierarchie werden durch den booleschen Wert UND miteinander kombiniert.