Der Umgang mit Default- und Fixed-Werten in XML Schema-Defintionen führte in verschiedenen Kontexten zu Fragen und Unklarheiten, die mit den folgenden Übersichten und Beispielen beseitigt werden sollen. Die folgenden Aussagen basieren auf den entsprechenden W3C-Regeln.
Multiplizität | fixed-Wert | default-Wert | Auswirkung |
---|---|---|---|
1..1 | - | - | Das Element muss einmal auftreten. Es darf ein beliebiger Wert angegeben sein. |
1..1 | 37 | - | Das Element muss einmal auftreten. Es muss der Wert 37 angegeben sein. |
2..n | 37 | - | Das Element muss mindestens zweimal auftreten. Es muss in jedem Fall der Wert 37 angegeben sein. |
0..1 | - | - | Das Element muss einmal oder keinmal auftreten. Es darf ein beliebiger Wert angegeben sein. |
0..1 | 37 | - | Das Element muss einmal oder keinmal auftreten. Wenn es nicht auftritt, ist kein Wert für das Element gegeben. Wenn es ohne Angabe eines Wertes auftritt, hat es den Wert 37. Wenn ein Wert angegeben ist muss es der Wert 37 sein. Siehe hierzu Beispiel A. |
0..1 | - | 37 | Das Element muss einmal oder keinmal auftreten. Wenn es nicht auftritt, ist kein Wert für das Element gegeben. Wenn es ohne Angabe eines Wertes auftritt, hat es den Wert 37. Wenn ein Wert angegeben ist hat es eben diesen Wert. Siehe hierzu Beispiel B. |
0..2 | - | 37 | Das Element muss zweimal, einmal oder keinmal auftreten. Wenn es nicht auftritt, ist kein Wert für das Element gegeben. Wenn es ohne Angabe eines Wertes auftritt, hat es den Wert 37. Wenn ein Wert angegeben ist hat es eben diesen Wert. Siehe hierzu Beispiel C. |
0..0 | - | - | Das Element darf nicht auftreten. |
Multiplizität | fixed-Wert | default-Wert | Auswirkung |
---|---|---|---|
required | - | - | Das Attribut muss einmal auftreten. Es darf ein beliebiger Wert angegeben sein. |
required | 37 | - | Das Attribut muss einmal auftreten. Es muss der Wert 37 angegeben sein. |
optional | - | - | Das Attribut muss einmal oder keinmal auftreten. Es darf ein beliebiger Wert angegeben sein. |
optional | 37 | - | Das Attribut muss einmal oder keinmal auftreten. Wenn es nicht auftritt, hat es den Wert 37. (Achtung: Unterschied zu einem Element!) Es darf nicht ohne Angabe eines Wertes auftreten. (Achtung: Unterschied zu einem Element!) Wenn ein Wert angegeben ist muss es der Wert 37 sein. Siehe hierzu Beispiel D. |
optional | - | 37 | Das Element muss einmal oder keinmal auftreten. Wenn es nicht auftritt, hat es den Wert 37. (Achtung: Unterschied zu einem Element!) Wenn ein Wert angegeben ist hat es eben diesen Wert. |
Element x hat die Multiplizität 0..1 und den fixed-Wert 37:
Bedeutung: Bei der Auswertung der Instanz wird festgestellt, dass für Element x kein Wert vorliegt.
Bedeutung: Bei der Auswertung der Instanz wird festgestellt, dass für Element x der Wert 37 vorliegt.
Bedeutung: Bei der Auswertung der Instanz wird festgestellt, dass für Element x der Wert 37 vorliegt.
Bedeutung: Bei der Auswertung der Instanz wird festgestellt, dass diese nicht valide ist.
Element x hat die Multiplizität 0..1 und den default-Wert 37:
Bedeutung: Bei der Auswertung der Instanz wird festgestellt, dass für Element x kein Wert vorliegt.
Bedeutung: Bei der Auswertung der Instanz wird festgestellt, dass für Element x der Wert 37 vorliegt.
Bedeutung: Bei der Auswertung der Instanz wird festgestellt, dass für Element x der Wert 37 vorliegt.
Bedeutung: Bei der Auswertung der Instanz wird festgestellt, dass der Wert 10 vorliegt.
Element x hat die Multiplizität 0..2 und den default-Wert 37:
Bedeutung: Bei der Auswertung der Instanz wird festgestellt, dass für Element x die Werte 37 und 10 vorliegen.
Attribut x ist optional und hat den fixed-Wert 37:
Bedeutung: Bei der Auswertung der Instanz wird festgestellt, dass für Attribut x kein Wert vorliegt.
Bedeutung: Bei der Auswertung der Instanz wird festgestellt, dass sie nicht valide ist.
Bedeutung: Bei der Auswertung der Instanz wird festgestellt, dass für Element x der Wert 37 vorliegt.
Bedeutung: Bei der Auswertung der Instanz wird festgestellt, dass diese nicht valide ist.
Die seitens des W3C veröffentlichte deutsche Übersetzung der Regeln zu Default- und Fixed-Werten war - zumindest in früheren Fassungen - fehlerbehaftet.
Bei der Nutzung von XML-Parsern ist darauf zu achten, dass Default-Werte nur unter bestimmten Bedingungen instanziiert werden und damit zur weiteren Verwendung zur Verfügung s