Substitutionsgruppen im Nachrichtenmodell

Ersetzungsgruppen sind ein Merkmal des XML-Schemas, das es ermöglicht, ein Element in einer XML-Nachricht durch ein anderes zu ersetzen. Eine Ersetzungsgruppe besteht aus einer Liste globaler Elemente, die an die Stelle eines anderen globalen Elements, das so genannte Hauptelement treten können.

Eine Ersetzungsgruppe wird definiert, indem die Eigenschaft substitutionGroup (Ersetzungsgruppe) für ein einzelnes globales Element (das Mitgliedselement) festgelegt wird, so dass es auf ein anderes globales Element (das Hauptelement) zeigt. Dadurch wird das Mitgliedselement zur Ersetzungsgruppe des Hauptelements hinzugefügt.

Anmerkung: Wenn Sie Wörterbücher aus einer Nachrichtengruppe generieren und sie in WebSphere Message Broker implementieren, lesen Sie den Abschnitt Schemaeinschränkungen im Nachrichtenmodell und dort vor allem den Text über Ersetzungsgruppen.
Tipp: Wenn Ihre Nachrichten nie als XML wiedergegeben werden oder Sie ein einfaches Nachrichtenmodell einsetzen, wird empfohlen, statt Ersetzungsgruppen besser einen komplexen Typ oder eine Gruppe, für die Zusammensetzung auf Auswahl gesetzt ist, zu verwenden.

Elemente

Hauptelemente
Ein Hauptelement ist ein Element, das ersetzt werden kann. Beim Analysieren einer Nachricht kann eines seiner Mitgliedselemente an die Stelle des Hauptelements treten, ohne dass ein Gültigkeitsfehler verursacht wird.
Abstrakte Elemente
Ein abstraktes Element ist ein Hauptelement, das ersetzt werden muss. Dies wird durch das Attribut 'abstract' des Elements angezeigt. In der Regel enthält die Ersetzungsgruppe von abstrakten Elementen andere Elemente - ansonsten sind sie von geringem Nutzen. Wo immer ein abstraktes Element in einer Nachrichtendefinition erscheint, muss an seine Stelle ein Mitglied der zugehörigen Ersetzungsgruppe eingesetzt werden.

Attribute

Attribut block für Elemente
Das Attribut block für ein Element begrenzt die Gruppe der globalen Elemente, durch die das Element ersetzt werden kann. Das Attribut block kann eine beliebige Untermenge der Werte restriction (Einschränkung), extension (Erweiterung), substitution (Ersetzung) oder all (alle) annehmen.
  • Wenn das Attribut block den Wert restriction enthält, kann das Element nicht durch ein Element, das auf einer Einschränkung des Typs des Elements basiert, ersetzt werden.
  • Wenn das Attribut block den Wert extension enthält, kann das Element nicht durch ein Element, das auf einer Erweiterung des Typs des Elements basiert, ersetzt werden.
  • Wenn das Attribut block den Wert substitution enthält, kann das Element nicht durch ein Element, das ein Mitglied der Ersetzungsgruppe des Elements ist, ersetzt werden.
  • Wenn das Attribut block den Wert all enthält, gelten alle oben genannten Begrenzungen.
Attribut final für Elemente
Das Attribut final für ein Element begrenzt die Gruppe der globalen Elemente, die ein Mitglied der Ersetzungsgruppe des Elements sein können. Das Attribut final kann einer beliebigen Untermenge der Werte restriction (Einschränkung), extension (Erweiterung) oder all (Alle) entsprechen.
  • Wenn das Attribut final den Wert restriction enthält, kann ein Element, das auf einer Einschränkung des Typs des Elements basiert, nicht in der Ersetzungsgruppe des Elements enthalten sein.
  • Wenn das Attribut final den Wert extension enthält, kann ein Element, das auf einer Erweiterung des Typs des Elements basiert, nicht in der Ersetzungsgruppe des Elements enthalten sein.
  • Wenn das Attribut final den Wert all enthält, gelten beide oben genannten Begrenzungen.
Attribut block für komplexe Typen
Das Attribut block für einen komplexen Typ begrenzt die Gruppe der anderen Typen, durch die der komplexe Typ ersetzt werden kann. Das Attribut block kann den Wert restriction (Einschränkung), extension (Erweiterung) oder all (alle) annehmen. Die Werte haben dieselbe Bedeutung wie für das Blockattribut eines Elements (siehe oben). Ein Element, das Mitglied einer Ersetzungsgruppe ist, kann das Hauptelement nur dann ersetzen, wenn sein Typ mit dem Blockattribut für den Typ des Hauptelements kompatibel ist.
Standardwerte für Attribute block und final
Für die Attribute block und final können auf der Ebene der Nachrichtendefinitionsdatei Standardwerte festgelegt werden. Wenn für eines oder beide dieser Attribute ein Standardwert festgelegt wurde und das relevante block- oder final-Attribut nicht auf Objektebene festgelegt wurde, wird für das betreffende Objekt die Standardeinstellung verwendet. Sie können die Standardeinstellung auf Objektebene überschreiben.
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
ad10440_