WikiDer > XML-Schema
XML-Schema (vollständig: W3C XML-Schemadefinitionssprache (XSD)) ist eine Sprache zur Beschreibung der Struktur von XML-Dokumente, die in Normen festgeschrieben sind[1] des W3C (World Wide Web Konsortium). Bisher wurden zwei Versionen veröffentlicht: 1.0 (ab 2004) und 1.1 (ab 2012). Die Sprache wurde als Nachfolger der DTD.
In XML-Schema kann man beispielsweise für XML-Dokumente Schemata erstellen, mit denen diese Dokumente formal spezifiziert werden und anhand derer sie beispielsweise durch XML-Validatoren validiert werden können. Ein XML-Schema gibt unter anderem an, was die Elemente eines XML-Dokuments sind, wo sie vorkommen, welche Eigenschaften sie erfüllen müssen und so weiter. Ganz vereinfacht ausgedrückt kann ein XML-Schema unter anderem angeben, welche Art von Stichworte kann in einem XML-Dokument erscheinen.
Ein XML-Dokument kann gemäß dem allgemeinen XML-Standard korrekt (wohlgeformt) sein, aber dennoch nicht für ein bestimmtes XML-Schema gültig.
Der Vorteil von XSD gegenüber DTD besteht darin, dass XSD leistungsfähiger und flexibler und weniger kryptisch ist. Außerdem kann eine XSD selbst im Gegensatz zu DTD auch in XML dargestellt werden. Viele Spezifikationen werden jedoch bereits in DTD abgebildet, und da hat XSD gewissermaßen teilweise aufgeholt, auch was die Software angeht, die den Standard unterstützt.
XML-Schemas werden standardmäßig in Dateinamen mit dem Dateierweiterung .xsd.
Terminpläne und Termindokumente
Ein Schema ist im Grunde eine Sammlung von Metadaten bestehend aus einer Sammlung von Schemakomponenten. Dies sind hauptsächlich Element- und Attributdeklarationen sowie komplexe und einfache Typdefinitionen. Diese Komponenten werden normalerweise durch die Verarbeitung einer Sammlung von Schemadokumenten erstellt, in denen die Ausgangssprache dieser Komponenten definiert ist. Normalerweise werden Fahrplandokumente als Fahrpläne bezeichnet.
Schemadokumente sind nach einem Namespace organisiert: Alle benannten Schemakomponenten gehören zu einem Ziel-Namensraum. Dies ist eine Eigenschaft des vollständigen Schemadokuments. Ein Schemadokument kann andere Schemadokumente mit demselben Namensraum enthalten und kann Schemadokumente aus einem anderen Namensraum importieren.
Wird ein XML-Dokument gegen ein Schema validiert (Evaluation), kann das verwendete Schema als Parameter an die Validierungs-Engine übergeben werden oder über zwei spezielle Attribute direkt aus dem jeweiligen XML-Dokument das richtige Schema referenziert werden: xsi:schemaLocation und xsi:noNamespaceSchemaLocationDas letzte Attribut geht davon aus, dass das zu validierende Dokument anhand des richtigen Schemas validiert wird. Da kein Namespace verwendet wird, gibt es keine Garantie."xsi" ist per Konvention das Präfix für einen Namespace. ("https://web.archive.org/web/20081013084129/http://www.w3.org/2001/XMLSchema-Instanz")
XML-Schema-Dokumente haben normalerweise die Erweiterung ".xsd". Ein Unikat Internet-Medientyp (MIME-Typ) steht noch nicht fest. also sollte "application/xml" oder "text/xml" wie in used beschrieben verwendet werden RFC 3023.[2]
Datentypen
Im Gegensatz zu DTDs ermöglicht ein XML-Schema die Validierung des Inhalts eines Elements oder Attributs anhand eines Datentyp. Ein Attribut darf beispielsweise nur ein gültiges Datum oder eine Dezimalzahl enthalten.
XSD ermöglicht die Verwendung von 19 primitiven Datentypen (boolesch, Schnur, Dezimal, doppelt, schweben, anyURI, QName,Notation, hexBinary, base64Binary, Dauer, Datum, Uhrzeit, dateTime, gYear, gYearMonth, gMonth, gMonthDay, gDay; alles in englischer Schreibweise). Unter Verwendung dieser primitiven Datentypen können neue Datentypen auf drei Arten konstruiert werden: Einschränkung (Beschränken der Sammlung zulässiger Werte), Liste (Liste) (Satz von primitiven Werten) und Vereinigung (union) (eine Vereinigung verschiedener primitiver Werte) . Werte). In der Spezifikation sind 25 abgeleitete Datentypen definiert. Andere Typen können von den Benutzern in ihren eigenen Schemata definiert werden. Eine Übersicht der abgeleiteten Datentypen finden Sie hier: http://msdn.microsoft.com/en-us/library/ms256052(v=vs.110).aspx.
Beispiel für ein XML-Schema
<?xml version="1.0" encoding="UTF-8"?>xmlns:xs="http://www.w3.org/2001/XMLSchema">name="Haustier"><xs:complexType><xs:sequence>name="nett"Typ="xs:string"/>name="Name"Typ="xs:string"/>name="Geburtsdatum"Typ="xs:Datum"/></xs:sequence></xs:complexType></xs:element></xs:schema> Beispiel für ein gültiges XML-Dokument zum obigen XML-Schema (pet.xsd):
<?xml version="1.0" encoding="UTF-8"?>xmlns:xsi="http://www.w3.org/2001/XMLSchema-Instanz"xsi:noNamespaceSchemaLocation="pet.xsd"><soort>Kanarienvogel</soort><naam>Gelb</naam><geboortedatum>2000-02-15</geboortedatum></huisdier> Quellen, Anmerkungen und/oder Verweise
|