Nachrichtenmodellobjekte: Wertvorgaben für einfachen Typ

Wertvorgaben grenzen einen einfachen Typ ein, indem Grenzwerte für die Werte, die der Typ annehmen kann, definiert werden.

Oft ist es nützlich, Vorgaben für Werte, die ein Element annehmen kann, festzulegen, um beispielsweise sicherzustellen, dass Nachrichten bestimmten Geschäftsregeln entsprechen. Dieser Abschnitt beschreibt, wie Wertvorgaben zu einem einfachen Typ hinzugefügt werden, um die Werte aller auf dem einfachen Typ basierenden Elemente zu begrenzen.

Die hier beschriebenen Wertvorgaben werden durch XML-Schema-Facetten modelliert und einem einfachen Typ zugeordnet.

Tipp: Wenn die Nachrichtengruppe in WebSphere Message Broker eingesetzt wird, können alle Wertvorgaben überprüft werden, so dass Verstöße gegen die Vorgaben als Fehler oder Warnungen gemeldet werden.

Wertvorgabetypen

Längenvorgaben: length (Länge), minLength (Mindestlänge), maxLength (Maximale Länge)
Mit Hilfe von Längenvorgaben kann die Länge aller Elemente, die auf dem einfachen Typ basieren, begrenzt oder sogar auf einen einzelnen Wert festgelegt werden.

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.

Anmerkung: In MRM-Domänen werden Wertvorgaben für length standardmäßig in Vorgaben für maxLength konvertiert, wenn eine Nachrichtengruppe zu einer BAR-Datei hinzugefügt wird. Dadurch wird verhindert, dass WebSphere Message Broker Pseudo-Gültigkeitsfehler für Datenstrukturen mit fester Länge verursacht, bei denen Zeichenfolgen häufig aufgefüllt werden, damit sie in ein Feld mit feststehender Breite passen. Wenn eine strikte Längenvalidierung erforderlich ist, kann dieser Standardwert in den Nachrichtengruppeneigenschaften durch Ändern der Option Broker behandelt Längenfacette als maximale Länge geändert werden.
Bereichsvorgaben: minInclusive (Eingeschlossener Mindestwert), maxInclusive (Eingeschlossener Maximalwert), minExclusive (Ausgeschlossener Mindestwert), maxExclusive (Ausgeschlossener Maximalwert)
Bereichsvorgaben geben den zulässigen Wertbereich für alle Elemente an, die auf dem einfachen Typ basieren. Bei inklusiven Vorgaben ist der angegebene Endpunkt in den zulässigen Bereich eingeschlossen, bei exklusiven Vorgaben ist er es nicht. Bereichsvorgaben können auf einfache Typen angewendet werden, die numerisch sind oder sich auf Kalender- und Zeitwerte beziehen. Sie können nicht auf Zeichenfolgen angewendet werden, weil die Aufeinanderfolge von Zeichenfolgewerten vom verwendeten Zeichensatz abhängig ist.

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.

Das Nachrichtenmodell lässt nicht zu, dass exklusive Vorgaben auf Typen angewendet werden, bei denen es sich nicht um Integraltypen (Gleitkomma, Dezimalzahl, Doppelzeichen, Datum/Zeit usw.) handelt.

Aufzählungsvorgaben (enumeration)
Eine Aufzählungsvorgabe gibt einen einzelnen zulässigen Wert für alle Elemente an, die auf dem einfachen Typ basieren. Eine Liste von zulässigen Werten kann angegeben werden, indem mehrere Aufzählungsvorgaben für denselben einfachen Typ festgelegt werden. Aufzählungsvorgaben können auf alle einfachen Typen angewendet 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: Gesamtstellen (totalDigits) und Nachkommastellen (fractionDigits)
Genauigkeitsvorgaben beziehen sich nur auf Dezimalwerte. Sie begrenzen die Anzahl der signifikanten Stellen (Gesamtstellen) und die Anzahl der Dezimalstellen (Nachkommastellen) für alle Elemente, die auf dem einfachen Typ basieren. Genauigkeitsvorgaben können auf einfache Typen angewendet werden, die von xsd:decimal abgeleitet sind. Beachten Sie jedoch, dass der Broker diese Vorgaben zur Laufzeit nur auf xsd:decimal und davon abgeleitete Benutzertypen anwendet; alle Genauigkeitsvorgaben, die auf einen einfachen Ganzzahltyp angewendet werden, werden ignoriert.

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.

Mustervorgaben (pattern)
Eine Mustervorgabe ist ein regulärer Ausdruck, der eine Gruppe zulässiger Werte für alle Elemente angibt, die auf dem einfachen Typ basieren. Für denselben einfachen Typ können mehrere Muster definiert werden. Dadurch ist es möglich, komplexe Prüfregeln in Form von logisch getrennten Abschnitten auszudrücken. Jede Mustervorgabe für einen einfachen Typ leistet einen Beitrag zu der Gruppe zulässiger Werte für Elemente, die auf dem einfachen Typ basieren. Mit anderen Worten: Alle Muster werden durch den Booleschen Wert ODER miteinander kombiniert.

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 sowohl die Gruppe von Mustervorgaben, die von jedem übergeordneten Typ beigetragen wird, als auch die Gruppe, die von dem einfachen Typ selbst beigetragen wird, den Anforderungen entsprechen. Mit anderen Worten: Die Gruppen von Mustervorgaben aus den einzelnen Ebenen der Typhierarchie werden durch den Booleschen Wert UND miteinander kombiniert.

Mustervorgaben können nur auf einfache Typen angewendet werden, die vom Datentyp xsd:string abgeleitet sind.

Leerzeichenvorgaben (whiteSpace)
Eine Leerzeichenvorgabe gibt an, wie ein Parser Leerzeichen für alle Elemente, die auf dem einfachen Typ basieren, behandeln soll.
Anmerkung: Bei der MRM-Domäne ist es so, dass physische MRM-Formate zulassen, dass Leerzeichen für jedes für die Nachricht definierte physische Format sehr genau kontrolliert werden. Diese physischen Eigenschaften sind jedoch von den Leerzeichenvorgaben im logischen Modell getrennt.
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Letzte Aktualisierung : 2009-02-17 15:28:43

ad10470_