- Standardwert
- Wenn in einer Eingabenachricht ein leeres Element enthalten ist, wird diesem der Standardwert
zugewiesen. Ist ein Element in einer Eingabenachricht gar nicht angegeben, kann auch kein Wert
zugewiesen werden.
Wenn in einer Eingabenachricht ein Attribut fehlt, wird diesem der
Standardwert zugewiesen.
Beachten Sie, dass Standardwertvorgaben dem Element selbst
zugeordnet sind und deshalb nicht übernommen werden können.
Anmerkung: Wenn Sie eine Nachrichtengruppe in
WebSphere Message Broker einsetzen, gilt nicht immer das oben beschriebene
Verhalten. Eine ausführliche Erläuterung der Unterschiede finden Sie im Abschnitt
Relationship to the logical model (Beziehung zum logischen Modell) für das jeweilige
physische Format.
- Fester Wert
- Wenn ein Element in einer Eingabenachricht vorhanden ist, muss sein Wert dem festgelegten
festen Wert entsprechen. Ist in einer Eingabenachricht ein leeres Element enthalten, wird diesem
der feste Wert zugewiesen. Ist ein Element in einer Eingabenachricht gar nicht angegeben, wird ihm
der feste Wert zugewiesen.
Wenn ein Attribut in einer Eingabenachricht enthalten ist, muss es
den festen Wert haben. Ist ein Attribut in einer Eingabenachricht nicht angegeben, wird ihm der
feste Wert zugewiesen.
Feste Werte als Vorgaben sind dem Element selbst zugeordnet und
können deshalb nicht übernommen werden.
Anmerkung: Wenn Sie eine Nachrichtengruppe in
WebSphere Message Broker einsetzen, gilt nicht immer das oben beschriebene
Verhalten. Eine ausführliche Erläuterung der Unterschiede finden Sie im Abschnitt
Relationship to the logical model (Beziehung zum logischen Modell) für das jeweilige
physische Format.
- 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 ist es unzulässig, einen Typ
'langeZeichenfolge'
(maxLength=100)
von einem Typ 'kurzeZeichenfolge'
(maxLength=10)
abzuleiten.
Anmerkung: In WebSphere Message Broker 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 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 Wertebereich 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 ist es unzulässig, einen Typ 'großeZahl'
(maxInclusive=100)
von einem Typ 'kleineZahl'
(maxInclusive=10)
abzuleiten.
Das Nachrichtenmodell lässt nicht zu, dass exklusive Vorgaben auf Typen
angewendet werden, bei denen es sich nicht um Integraltypen (Gleitkomma, Dezimalzahl,
Doppelzeichen, Uhrzeit/Datum 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 ist es
unzulässig, einen Typ 'AlleFarben' (mit Aufzählungen für alle Farben des Regenbogens) aus einem Typ
'MonoFarben' (mit Aufzählungen nur für 'schwarz' und 'weiß') abzuleiten.
- 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 nur auf einfache Typen
angewendet werden, die vom Datentyp xsd:decimal
abgeleitet sind.
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 ist es
unzulässig, einen Typ 'sehrGenau'
(fractionDigits=10)
von einem Typ 'nichtSehrGenau'
(fractionDigits=1)
abzuleiten.
- 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 WebSphere Message Broker 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.