Freigeben über


Wiederverwenden und Ableiten von Typen

In der XSD-Sprache (XML-Schemadefinition) stellen komplexe globale Typen einen Mechanismus zum Definieren eines strukturierten Datentyps bereit, der an verschiedenen Positionen innerhalb des Schemas erneut verwendet und möglicherweise neu definiert werden kann. Das klassische Beispiel ist eine Adressenstruktur, die Angaben zu Name, Straße, Ort, Land usw. umfasst. Der Name selbst kann eine Struktur darstellen, die Zeichenfolgen für den Vornamen, den mittleren Namen und den Nachnamen beinhaltet. Wird diese komplexe Struktur global definiert, können Sie sie an mehreren Positionen innerhalb des Schemas verwenden, z. B. sowohl für eine Lieferadresse als auch eine Rechnungsadresse.

XSD stellt außerdem Mechanismen zum Ableiten eines Typs von einem anderen bereit. Dazu gehören einfache ebenso wie komplexe Inhaltstypen. Ein neuer Typ kann beispielsweise von einem einfachen Zeichenfolgentyp (z. B. xs:string) in einer Weise abgeleitet sein, dass der neue Typ nur einige bestimmte Zeichenfolgen als gültige Werte zulässt. Dieser Typ der Ableitung wird in XSD als Ableitung durch Einschränkung bezeichnet, da die vom abgeleiteten Typ zugelassenen Werte restriktiver sind als die Werte, die der Basistyp zulässt.

Ein Beispiel für eine Ableitung, die einen komplexen Typ betrifft, ist der bereits erwähnte Adressentyp. Nehmen wir an, der Adressentyp ermöglicht die Aufnahme von Adressen innerhalb eines bestimmten Landes/einer bestimmten Region, wobei das Land/die Region selbst als Teil der Adresse angenommen wird. Um einen solchen Adressentyp so zu erweitern, dass er internationale Adressen unterstützt, können Sie einen neuen Typ aus dem ursprünglichen Adressentyp ableiten und dann zusätzliche Informationen wie Land/Region in den abgeleiteten Typ aufnehmen. Dieser Typ der Ableitung wird in XSD als Ableitung durch Erweiterung bezeichnet, da der abgeleitete Typ eine Erweiterung des Basistyps darstellt.

In diesem Abschnitt wird die Wiederverwendung von Typen beschrieben. Außerdem wird erläutert, wie Sie mithilfe von Ableitungen Typen bei der Wiederverwendung neu definieren können.

In diesem Abschnitt