XML Schema

Definition

Akronym: XMLS

  • Erweiterung des DTD-Konzepts
  • Dateityp: *.xsd
  • Jedes XML-Schema ist selbst ein XML – Dokument

Vorteile gegenüber DTD

  • unterstützt mehr Datentypen (derzeit 44), eigene Datentypen sind möglich
  • genaue Festlegung wie oft ein Wert vorkommen darf (vgl. Quantifizierer)
  • keine eigene Syntax
  • nutzt Ansätze der Objektorientierung

Nachteile gegenüber DTD

  • schwerer Überschaubar
  • Probleme mit SAX – Parsern
  • ungeeignet für embedded Software

Aufbau/Syntax

  • jedes Element aus Namespace xs: bzw. xsd:
  • insgesamt 13 Komponenten, davon 4 Hauptkomponenten
    • einfache Typdefinitionen
      • für Elemente die nur Text enthalten
      • <xsd:element name=„abc“ type=„xsd:string“/>
    • komplexe Typdefinitionen – enthalten weitere Elemente oder Attribute
    • Attribut- , Elementdeklaration

Attribute

  • Soll ein Element ein Attribut erhalten, so muss es ein komplexes Element sein. Das Attribut selbst wird innerhalb des komplexen Elements als einfaches Element deklarieren
  • Die Definition von Attributen darf in Schema-Dateien nur am Ende eines komplexen Elements, also direkt vor dem schließenden Tag, angegeben werden
  • mögliche Typen: type = (string | decimal | boolean | date | time | uriReference | eigener) – eigener Typ: siehe Folie Übung 4 / F11 FIXME

Restrictions (Einschränkungen)

  • werden genutzt um Elementen und Attributen spezielle Werte vorzuschreiben, bzw. die Auswahl einzugrenzen.
    <xsd:restriction Attribut=“Wert“>
  • Wertebereich kann mit minInclusive und maxInclusive (bzw. minExclusive / maxExclusive) beschränkt werden
  • xsd:pattern – erlaubt Muster für zulässige Werte anzulegen

Komplexe Elemente

  • reine Elemente – enthalten Elemente oder Attribute, aber keinen Text
  • leere Elemente – enthalten Attribute, aber niemals Elemente oder Text
  • Kombinationselemente – können Elemente, Attribute und/oder Text enthalten
  • reine Textelemente – enthalten nur Text
  • Indikatoren
    • Reihenfolge-Indikatoren
      • sequence – Reihenfolge der Unterelemente ist einzuhalten
      • all – Jedes Unterelement muss genau 1-mal auftreten, in beliebiger Reihenfolge
      • choise – Auswahl, nur eines der Elemente
    • Vorkommens-Indikatoren
      • werden direkt im Element angegeben
      • minOccurs – Mindesthäufigkeit
      • maxOccurs – Maximalhäufigkeit
      • Angabe von unbounded wenn keine Obergrenze gewünscht wird
      • Standardwert = 1
  • Gruppen-Indikatoren
    • group - Zusammenfassen von Elementen und Attributen zu Gruppen, die dann später über eine Referenz angesprochen werden können
    • Innerhalb muss ein Reihenfolge-Indikator angegeben werden
    • können nicht aus komplexen Typen bestehen
    • attributeGroup – Gruppierung von Attributen

Kontext

Weiterführende Beiträge


Navigation

Alphabetischer Index
Akronyme