- XML Schema
-
XML Schema, abgekürzt XSD, ist eine Empfehlung des W3C zum Definieren von Strukturen für XML-Dokumente. Anders als bei den klassischen XML-DTDs wird die Struktur in Form eines XML-Dokuments beschrieben. Darüber hinaus wird eine große Anzahl von Datentypen unterstützt.
Inhaltsverzeichnis
Einleitung
XML Schema beschreibt in einer komplexen Schemasprache Datentypen, einzelne XML-Schema-Instanzen (Dokumente) und Gruppen solcher Instanzen. Ein konkretes XML Schema wird auch als eine XSD (XML Schema Definition) bezeichnet und hat als Datei üblicherweise die Endung „.xsd“. Im Gegensatz zu DTDs kann bei Verwendung von XML Schemata zwischen dem Namen des XML-Typs und dem in der Instanz verwendeten Namen des XML-Tags unterschieden werden.
Außer den XML Schemata sind weitere Konzepte zur Definition von XML-Strukturen mit verschiedenen Intentionen bekannt, wie DTD, RELAX NG oder Schematron.
Datentypen
XML Schema unterscheidet zwischen einfachen (atomaren) Datentypen und komplexen Datentypen. Der Begriff Typ bezeichnet im nachfolgenden Text jeweils die abstrakte Spezifikation der Struktur eines Abschnitts innerhalb eines XML-Dokumentes. Datentypen in XML Schema werden klassifiziert in eingebaute bzw. vordefinierte (built-in) und benutzerdefinierte (user defined) Datentypen.
In der Spezifikation des W3C für XML Schema sind 19 voreingestellte primitive Datentypen (z. B. boolean, string, float, date und NOTATION) und weitere 25 davon abgeleitete primitive Datentypen (wie ID und integer) definiert.
Einfache Typen
XML Schema stellt einige grundlegende atomare Datentypen bereit. Die atomaren Datentypen enthalten die „klassischen“ Typen, wie sie zum Teil auch in anderen Typsystemen (z. B. C, Java oder SQL) spezifiziert sind:
xs:string
xs:decimal
xs:integer
xs:float
xs:boolean
xs:date
xs:time
Hinzu kommen weitere XML-spezifische atomare Typen, unter anderem:
QName
: Qualified Name, global eindeutiger Bezeichner. Aufgebaut aus sog. NCNames (Non-Colonized Names), wobei jeder NCName bis auf den letzten einen Namensraum (Namespace) bezeichnet. Der letzte NCName entspricht dem lokalen Namen innerhalb des Namensraumes. Die einzelnen NCNames werden mittels Punkt (.) zu einem QName zusammengesetzt.anyURI
: Uniform Resource Identifier (URI)language
: Sprachbezeichnung, z. B. de-DE, en-US, frID
: Identifikationsattribut innerhalb von XML-ElementenIDREF
: Referenz auf einen ID-Wert
Einfache XML-Datentypen dürfen weder XML-Kindelemente enthalten noch XML-Attribute besitzen.
Außer den atomaren Datentypen gehören Listen und Unions (bestehend aus atomaren Elementen) zu den einfachen Typen:
- Das folgende Beispiel definiert einen neuen XML-Datentyp mit dem Namen
monatInt
sowie eine Liste dieses neuen Typs:
<xs:simpleType name="monatInt"> <xs:restriction base="xs:integer"> <xs:minInclusive value="1"/> <xs:maxInclusive value="12"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="monate"> <xs:list itemType="monatInt"/> </xs:simpleType>
Eine Instanz des neuen Typs könnte wie folgt aussehen:
<monate> 1 2 3 4 5 6 7 8 9 10 11 12 </monate>
Die einzelnen Elemente einer Liste werden durch Whitespaces (hier Leerzeichen) getrennt.
- Zu den einfachen Typen gehören zusätzlich noch sogenannte Vereinigungen (engl. unions).
Ein neuer Typ wird als Vereinigung bereits bestehender Typen definiert. Das nachfolgende Beispiel definiert einen weiteren Typ
monatsname
sowie einen Union Typmonat
:<xs:simpleType name="monatsname"> <xs:restriction base="xs:string"> <xs:enumeration value="Jan"/> <xs:enumeration value="Feb"/> <xs:enumeration value="Mär"/> <!-- und so weiter … --> </xs:restriction> </xs:simpleType> <xs:simpleType name="monat"> <xs:union memberTypes="monatsname monatInt"/> </xs:simpleType>
XML-Elemente vom Typ
monat
dürfen sowohl Integer Werte im Bereich 1–12 enthalten als auch eine der entsprechenden Monatsbezeichnungen als Zeichenkette.Komplexe Typen
In Ergänzung zu den einfachen Typen bieten komplexe XML-Datentypdefinitionen die Möglichkeit, Elementenstrukturen zusammenhängend zu definieren. Solche Strukturen können weitere Elemente und Attribute beinhalten.
Das folgende Beispiel definiert einen neuen Typ
pc-Typ
mit entsprechenden Kindelementenname
,hersteller
etc., sowie einem Attributid
:<xs:complexType name="pc-Typ"> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="hersteller" type="xs:string"/> <xs:element name="prozessor" type="xs:string"/> <xs:element name="mhz" type="xs:integer" minOccurs="0"/> <xs:element name="kommentar" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="id" type="xs:integer"/> </xs:complexType>
Die Möglichkeiten zur Definition komplexer Typen sollen hier nur exemplarisch erläutert werden. Der interessierte Leser sei auf die unten angegebenen Links zu den Seiten des W3C verwiesen.
Die Kindelemente eines komplexen Typs können auf drei unterschiedliche Arten kombiniert werden:
xs:sequence
: Eine Liste von Kindelementen wird spezifiziert. Jedes dieser Elemente kann keinmal, einmal oder mehrfach auftreten (AttributeminOccurs
undmaxOccurs
). Falls keinoccurs
-Attribut vorhanden ist, wird in beiden Fällen der Default-Wert 1 verwendet. Die Elemente innerhalb einersequence
müssen in der angegebenen Reihenfolge auftreten. In dem oben gezeigten Beispiel müssen die Elementename
,hersteller
undprozessor
genau einmal auftreten, dasmhz
-Element kann null- oder einmal auftreten,kommentar
-Elemente können beliebig oft oder auch gar nicht auftreten.xs:choice
: Aus einer Liste von Alternativen kann ein Element ausgewählt werden. Das nachfolgende Beispiel definiert einen neuen Typcomputer
, der als Kindelement entweder eindesktop
-Element besitzt (vom Typpc-Type
) oder einlaptop
-Element:
<xs:complexType name="computer"> <xs:choice> <xs:element name="desktop" type="pc-Typ"/> <xs:element name="laptop" type="laptop-Typ"/> </xs:choice> </xs:complexType>
xs:all
: Mittels desxs:all
-Tags lässt sich eine Gruppe von Kindelementen definieren, von denen jedes maximal einmal auftreten darf (min
- undmaxOccurs
der Kindelemente dürfen nur die Werte 0 oder 1 annehmen). Die Reihenfolge der Elemente ist beliebig.
Beliebiger Inhalt
XML-Elemente mit beliebigem Inhalt lassen sich mittels des Basistyps
anyType
definieren. Der nachfolgende Code spezifiziert einkommentar
-Element beliebigen Inhalts, d. h. sowohl komplexe XML-Elemente als auch Text können vorkommen.<xs:element name="kommentar" type="xs:anyType"/>
Sollen in dem Inhalt Text und Tags in beliebiger Reihenfolge vorkommen können, muss der Wert für das Attribut "mixed" auf "true" gesetzt werden:
<xs:element name="tagname"> <xs:complexType mixed="true"> <xs:sequence> <xs:element minOccurs="0" maxOccurs="unbounded" name="child" type="xs:integer"/> <!-- Weitere Elemente … --> </xs:sequence> </xs:complexType> </xs:element>
Listen
Ein Element kann eine „Liste“ von einfachen Daten enthalten:
<xs:element name="intvalues" type="intlist"/> <xs:simpleType name="intlist"> <xs:list itemType="xs:integer"/> </xs:simpleType>
Das Trennzeichen (das Zeichen, das die Einträge der Liste trennt) ist das Leerzeichen:
<intvalues>1 2 3</intvalues>
Leere Elemente
Von leeren XML-Elementen spricht man, wenn das jeweilige Element aus nur einem einzelnen XML-Tag besteht und keine weiteren XML-Elemente oder Text umschließt (z. B. der XHTML-Zeilenumbruch:
<br />
). XML Schema bedient sich an dieser Stelle eines kleinen Tricks: Es wird mittelsxs:complexType
ein neuer Typ definiert, ohne ein Kindelement anzugeben. Daxs:complexType
nach Vorgabe nur komplexe XML-Kindelemente als Inhalt zulässt, bleibt das jeweilige Element in diesem Fall leer.Ableitung neuer Typen
Neue Datentypen lassen sich zum einen durch die Definition eines neuen Typs erstellen (siehe vorheriger Abschnitt) oder durch die Ableitung eines neuen Typs aus bereits bestehenden.
Bei der Ableitung eines neuen Typs handelt es sich nicht um eine Vererbung im Sinne der Objektorientierung, da keine Eigenschaften vergleichbar den Methoden oder Attribute objektorientierter Klassen vererbt werden. Vielmehr handelt es sich hier um die Wiederverwendung einer bestehender Typdefinitionen. Dementsprechend ist bei der Ableitung neuer Typen auch keine implizite Substituierbarkeit gegeben, wie sie in anderen Typsystemen üblich ist (explizite Typumwandlungen sind jedoch möglich).
Die Ableitung eines neuen Typs kann auf zweierlei Arten erfolgen: Erweiterung oder Einschränkung.
Erweiterung eines Typs
Die Erweiterung eines bisherigen Typs (engl. extension) um weitere Eigenschaften, d. h. neue Elemente oder Attribute werden hinzugefügt. Im folgenden Beispiel wird der oben definierte Typ
pc-Typ
um ein Elementram
erweitert:<xs:complexType name="myPC-Typ"> <xs:complexContent> <xs:extension base="pc-Typ"> <xs:sequence> <xs:element name="ram" type="xs:integer"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>
Der neu definierte XML-Typ
myPC-Typ
besteht aus allen Kindelementen des Typspc-Typ
sowie dem Elementram
. Letzteres wird, wie in einerxs:sequence
-Definition, an die bisherigen Kindelemente angehängt.
Da keine Substituierbarkeit gegeben ist, darf an einer Stelle an der ein Element vom Typpc-Typ
erwartet wird nicht ohne weiteres ein Element vom TypmyPC-Typ
verwendet werden.Einschränkung eines Typs
Durch Einschränkung bereits bestehender Typen (engl. restriction) lassen sich ebenfalls neue Definitionen ableiten. Zu diesem Zweck müssen alle Elementdefinitionen des Basistyps wiederholt werden, verändert um die jeweiligen restriktiveren Einschränkungen. Im folgenden Beispiel wird ein neuer Typ
myPC2-Typ
vonpc-Typ
abgeleitet. In diesem Fall darf maximal einkommentar
-Element auftreten (im Gegensatz zu einer beliebigen Anzahl beim Typpc-Typ
)<xs:complexType name="myPC2-Typ"> <xs:complexContent> <xs:restriction base="pc-Typ"> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="hersteller" type="xs:string"/> <xs:element name="prozessor" type="xs:string"/> <xs:element name="mhz" type="xs:integer" minOccurs="0"/> <xs:element name="kommentar" type="xs:string" minOccurs="0" maxOccurs="1"/> </xs:sequence> </xs:restriction> </xs:complexContent> </xs:complexType>
Zusätzlich zu der Einschränkung komplexer Typen ist es auch möglich, neue Typen als Einschränkung einfacher Typen zu definieren. Ein Beispiel für eine solche Definition befindet sich bereits im Abschnitt zu den einfachen Typen. Ein neuer Typ
monatInt
wird als Einschränkung des Typs Integer auf den Wertebereich 1–12 definiert. Grundsätzlich stehen die folgenden Primitive zur Verfügung, um Einschränkungen auf einfachen Typen zu beschreiben:length
,maxLength
,minLength
– Beschränkt die Länge eines Strings oder einer Liste.enumeration
– Beschränkung durch Angabe alternativer Wertepattern
– Beschränkung durch Angabe eines regulären AusdrucksminExclusive
,minInclusive
,maxExclusive
,maxInclusive
– Einschränkung des Wertebereichs.totalDigits
,fractionDigits
– Einschränkung der Dezimalstellen (Gesamtzahl und Nachkommastellen)whiteSpace
– Behandlung von Leerzeichen und Tabs
Die folgenden Beispiele veranschaulichen die Verwendung dieser Komponenten:
- Körpertemperatur, 3 Dezimalstellen, 1 Nachkommastelle, Minimal- und Maximalwert
<xs:simpleType name="celsiusKörperTemp"> <xs:restriction base="xs:decimal"> <xs:totalDigits value="3"/> <xs:fractionDigits value="1"/> <xs:minInclusive value="35.0"/> <xs:maxInclusive value="42.5"/> </xs:restriction> </xs:simpleType>
- Deutsche Postleitzahlen, optionales „D “ gefolgt von fünf Ziffern
<xs:simpleType name="plz"> <xs:restriction base="xs:string"> <xs:pattern value="(D )?[0-9]{5}"/> </xs:restriction> </xs:simpleType>
- Größenangabe
<xs:simpleType name="size"> <xs:restriction base="xs:string"> <xs:enumeration value="XS"/> <xs:enumeration value="S"/> <xs:enumeration value="M"/> <xs:enumeration value="L"/> <xs:enumeration value="XL"/> </xs:restriction> </xs:simpleType>
Bei der Definition eines Typs ist es möglich festzulegen, ob und auf welche Art von diesem Typ weitere XML-Elementtypen abgeleitet werden dürfen. So kann man zum Beispiel festlegen, dass von einem Typ
pc-Typ
weitere Typen nur durch das Setzen weiterer Einschränkungen abgeleitet werden dürfen – und nicht durch das Hinzufügen neuer Kindelemente.Elementdefinition
Wie im vorangegangenen Abschnitt erläutert erlaubt es XML Schema, neue XML-Datentypen zu definieren und diese bei der Definition eigener XML-Elemente zu verwenden. Das folgende Beispiel veranschaulicht die Verwendung des bereits definierten Typs
pc-Typ
innerhalb einer Liste von pc-Elementen:<xs:element name="pc-liste"> <xs:complexType> <xs:sequence> <xs:element name="pc" type="pc-Typ" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element>
Ein entsprechendes XML-Element könnte wie folgt aussehen:
<pc-liste> <pc> <name>Dimension 3100 </name> <hersteller>Dell</hersteller> <prozessor>AMD</prozessor> <mhz>3060</mhz> <kommentar>Arbeitsplatzrechner</kommentar> </pc> <pc> <name>T 42</name> <hersteller>IBM</hersteller> <prozessor>Intel</prozessor> <mhz>1600</mhz> <kommentar>Laptop</kommentar> </pc> </pc-liste>
In diesem Beispiel erfolgt die Spezifikation des anonymen Listentyps direkt innerhalb der Elementdefinition, während die Spezifikation des pc-Typs extern erfolgt.
Bei dem Entwurf eines komplexen XML Schemas sollte sowohl die Wiederverwendbarkeit und Erweiterbarkeit der einzelnen XML-Elementtypen als auch die Lesbarkeit des Schemas selbst berücksichtigt werden. Die Verwendung anonymer XML-Elementtypen als Teil größerer Elemente gewährleistet im Allgemeinen eine bessere Lesbarkeit kleinerer XML Schemata. Die Definition und Benennung einzelner, kleinerer und wiederverwendbarer XML-Elementtypen hingegen ermöglicht eine stärkere Modularisierung der XML-Schema-Struktur. Aufgrund der Vielzahl möglicher Anwendungsszenarien haben sich bisher noch keine allgemeingültigen Entwurfsprinzipien für XML Schemata herausgebildet (vergleichbar den Normalformen für relationale Datenbanken).
Weiterführende Konzepte und Eigenschaften
Eindeutige Schlüssel
Vergleichbar den Primärschlüsseln in relationalen Datenbanken lassen sich mittels XML Schema eindeutige Schlüssel definieren. XML Schema unterscheidet zwischen der Eindeutigkeit (engl. unique) und der Schlüsseleigenschaft.
Das nachfolgende Beispiel definiert ein neues Element pc-list mit einer Liste von
pc
-Kindelementen:<xs:element name="pc-list"> <xs:complexType> <xs:sequence> <xs:element name="pc" type="pc-Typ" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:unique name="her-name"> <xs:selector xpath="pc"/> <xs:field xpath="name"/> <xs:field xpath="hersteller"/> </xs:unique> <xs:key name="idKey"> <xs:selector xpath="pc"/> <xs:field xpath="@id"/> </xs:key> </xs:element>
Die beiden Elemente
unique
undkey
selektieren mit einem XPath Pfadausdruck (im Beispiel:pc
) eine Menge vonpc
-Elementen. Für diese Menge muss die jeweilige Eindeutigkeits- bzw. Schlüsselbedingung erfüllt werden. Im obigen Beispiel wird festgelegt, dass die Kombination der Elementename
undhersteller
für jedespc
-Element innerhalb dieser Liste eindeutig sein muss.
Durch daskey
-Element wird festgelegt, dass das Attributid
innerhalb dieser Liste eindeutig sein muss und von außerhalb referenziert werden kann.Das folgende Beispiel zeigt die Referenzierung dieses Schlüssels mit dem Attribut
refer
und dem Schlüsselwort@references
.<xs:keyref name="idFremdKey" refer="idKey"> <!-- idKey von obigem Beispiel --> <xs:selector xpath="computerFremd"/> <xs:field xpath="@references"/> </xs:keyref>
- Beachte
Mit
refer
bezieht man sich auf dasname
-Attribut einer Schlüsselbedingung, nicht auf das Schlüsselfeld. Die Werte inreferences
müssen also immer unter den Schlüsseln zu dencomputern
zu finden sein. (Hintergrund dieses Konstrukts ist die Sicherstellung der referentiellen Integrität, wie man sie von relationalen Datenbanksystemen her kennt.)Import, Include und Redefine
XML Schema erlaubt es, fremde Schemata wiederzuverwenden.
Hierzu stehen sowohl derinclude
- als auch derimport
-Tag zur Verfügung sowie die Möglichkeit einer neuen Definition bzw. Anpassung fremder Schemata beim Einbinden.include
Typdefinitionen innerhalb eines Namensraumes, die auf mehrere Dateien verteilt sind, lassen sich mittels
include
zusammenfügen.<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:pcTeile="http://www.example.com/pcTeile" targetNamespace="http://www.example.com/pcTeile"> … <include schemaLocation="http://www.example.com/schemata/harddisk.xsd"/> <include schemaLocation="http://www.example.com/schemata/ram.xsd"/> … </schema>
- mehrere Schemata können inkludiert werden.
targetNamespace
desharddisk.xsd
muss mit dem des inkludierenden Schemas übereinstimmen.
redefine
Gleiches Beispiel wie gerade. Annahme es gäbe einen
complexType
Hersteller
im Schemaharddisk.xsd
.<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:pcTeile="http://www.example.com/pcTeile" targetNamespace="http://www.example.com/pcTeile"> … <redefine schemaLocation="http://www.example.com/schemata/harddisk.xsd"> <!-- redefinition of Hersteller --> <complexType name="Hersteller"> <complexContent> <!-- redefinition of Hersteller mit ''restriction'' oder auch ''extension'' etc. --> <restriction base="pcTeile:Hersteller"> <sequence> <element name="hersteller" type="string" minOccurs="10" maxOccurs="10"/> </sequence> </restriction> </complexContent> </complexType> </redefine> … <include schemaLocation="http://www.example.com/schemata/ram.xsd"/> … </schema>
redefine
kann an Stelle voninclude
verwendet werden.- Der Name des Typs ändert sich dabei nicht.
import
Der
import
-Tag erlaubt es, Elemente aus anderen Namensräumen zu importieren, mit einem Präfix zu versehen und damit Schema-Bestandteile aus unterschiedlichen Namensräumen wiederzuverwenden.
Annahme ist, dass es einen definierten TypsuperTyp
inpcTeile
gibt.<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:pcTeile="http://www.example.com/pcTeile" targetNamespace="http://www.example.com/firma"> … <import namespace="http://www.example.com/pcTeile"/> … <… <xs:attribute name="xyz" type="pcTeile:superTyp"/> …/> … </schema>
Verwendung von XML Schemata
Zur Verwendung eines XML Schemas in einer XML-Datei muss das Attribut
schemaLocation
des Schema-Instance-Namensraums verwendet werden, um ein gewünschtes Schema einem Namensraum zuzuweisen. In folgendem Beispiel wird ausgedrückt, dass der Standard-Namensraum http://www.w3.org/1999/xhtml ist und dann angegeben, dass das XML Schema für diesen Namensraum unter http://www.w3.org/1999/xhtml.xsd aufzufinden ist.<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/1999/xhtml http://www.w3.org/1999/xhtml.xsd">
Die Definition gilt für das XML-Element, bei dem die Attribute angegeben sind, und alle Kinderelemente.
Ist im XML-Dokument kein Namensraum definiert, muss das Attribut
noNamespaceSchemaLocation
verwendet werden:<html xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.w3.org/1999/xhtml.xsd">
Beispiel
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="html"> <xs:complexType> <xs:sequence> <xs:element ref="head"/> <xs:element name="body" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="head"> <xs:complexType> <xs:sequence> <xs:element name="title" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
Dies entspricht, abgesehen vom Namensraum, folgender DTD
<!ELEMENT html (head, body)> <!ELEMENT head (title)> <!ELEMENT title (#PCDATA)> <!ELEMENT body (#PCDATA)>
Eine XML-Struktur, die dem Schema entspricht ist diese:
<?xml version="1.0" encoding="UTF-8"?> <!-- Öffnendes Wurzelelement mit URL des verwendeten Schemas. Die URL ist symbolisch zu verstehen, sie soll auf o.g. Schema verweisen. Sie würde so nicht funktionieren, da unter der URL eine XSD-Datei erwartet wird. --> <ex:html xmlns:ex="http://de.wikipedia.org/wiki/XML_Schema#Beispiel"> <ex:head> <ex:title> Dies ist der Titel </ex:title> </ex:head> <ex:body> Dies ist der Text. </ex:body> </ex:html>
Siehe auch
Literatur
- Alfons Kemper, André Eickler: Datenbank Systeme – Eine Einführung. Oldenbourg Wissenschaftsverlag, München 2004, ISBN 3-486-27392-2.
- Helmut Vonhoegen: Einstieg in XML. Aktuelle Standards: XML Schema, XSL, XLink. 5. Auflage. Galileo Press, 2009, ISBN 978-3-8362-1367-7.
- Margit Becher: XML – DTD, XML-Schema, XPath, XQuery, XSLT, XSL-FO, SAX, DOM. W3L Verlag, Witten 2009, ISBN 978-3-937137-69-8.
- Marco Skulschus, Marcus Wiederstein: XML Schema. Comelio Medien, Berlin 2009, ISBN 978-3-939701-22-4.
Weblinks
- W3C XML Schema Specification: Primer, Structures, Datatypes und Miscellaneous; deutsche Übersetzungen: Einführung, Strukturen, Datentypen
- W3C Validator for XML Schema online
Standards des World Wide Web ConsortiumsEmpfehlungen (Recommendations): ATAG | Canonical XML | CSS | CharMod | CC/PP | DDR Simple API | DOM | EXI | Element Traversal | EMMA | GRDDL | HTML | ITS | MathML | OWL | P3P | PICS | PLS | PNG | POWDER | RDF | RDF-Schema | Ruby | SISR | SKOS | SML | SMIL | SOAP | SOAP MTOM | SPARQL | SRGS | SSML | SVG | SSML | UAAG | VoiceXML | WCAG | Webarch | WebCGM | WSDL | WS-Adressing | WS-Policy | XHTML | XML | XInclude | XKMS | XLink | XML Base | XMLEnc-Decrypt | XML Events | XML Information Set | XML Namespace | XML Schema | XML Signature | XOP | XForms | XPath | XPointer | XProc | XQuery | XSL | XSLT
Arbeitsentwürfe (Working Drafts) und Kandidaten (Candidate Recommendations): Capture API | CCXML | CDF | Clipboard API | Contacts API | Cross-Origin Resource Sharing | CURIE | EARL | File API | HTML5 | HTML Canvas | HTML Microdata | Indexed Database API | InkML | LTLI | RIF | Selectors API | System Information API | WAI-ARIA | Web IDL | Web Sockets API | Web SQL Database | WICD | Widgets | XFrames | XBL
Wikimedia Foundation.
Schlagen Sie auch in anderen Wörterbüchern nach:
XML-Schema — ist eine Empfehlung des W3C zum Definieren von Strukturen für XML Dokumente. Anders als bei den klassischen XML DTDs wird die Struktur in Form eines XML Dokuments beschrieben. Darüber hinaus wird eine große Anzahl von Datentypen unterstützt.… … Deutsch Wikipedia
XML Schema — es un lenguaje de esquema utilizado para describir la estructura y las restricciones de los contenidos de los documentos XML de una forma muy precisa, más allá de las normas sintácticas impuestas por el propio lenguaje XML. Se consigue así una… … Wikipedia Español
XML Schema — publié comme recommandation par le W3C en mai 2001 est un langage de description de format de document XML permettant de définir la structure et le type de contenu d un document XML. Cette définition permet notamment de vérifier la validité de ce … Wikipédia en Français
XML Schéma — XML Schema XML Schema publié comme recommandation par le W3C en mai 2001 est un langage de description de format de document XML permettant de définir la structure d un document XML. La connaissance de la structure d un document XML permet… … Wikipédia en Français
XML Schema — XML Schema язык описания структуры XML документа. Спецификация XML Schema является рекомендацией W3C. Как большинство языков описания XML, XML Schema была задумана для определения правил, которым должен подчиняться документ. Но, в отличие… … Википедия
XML schema — An XML schema is a description of a type of XML document, typically expressed in terms of constraints on the structure and content of documents of that type, above and beyond the basic syntactical constraints imposed by XML itself. An XML schema… … Wikipedia
XML Schema Definition — XML Schema ist eine Empfehlung des W3C zum Definieren von Strukturen für XML Dokumente. Anders als bei den klassischen XML DTDs wird die Struktur in Form eines XML Dokuments beschrieben. Darüber hinaus wird eine große Anzahl von Datentypen… … Deutsch Wikipedia
XML Schema (W3C) — XML Schema один из языков описания структуры XML Schema получила статус рекомендации Консорциума W3C 2 мая 2001 года, став первым стандартом описания XML, получившим статус рекомендации. Как большинство языков описания XML, XML Schema была… … Википедия
XML Schema (W3C) — dablink|This article is about the W3C s XML Schema language. For information about XML schema languages in general, see XML schemainfobox file format name = XML Schema (W3C) extension = .xsd mime = application/xml, text/xml owner = [http://www.w3 … Wikipedia
XML Schema Language Comparison — An XML schema is a description of a type of XML document, typically expressed in terms of constraints on the structure and content of documents of that type, above and beyond the basic syntax constraints imposed by XML itself. There are several… … Wikipedia