Inhaltszusammenfassung: XML Schema ist wie DTD für die Definition und Beschreibung der Struktur und des Inhaltsschemas von XML-Dokumenten verantwortlich. Es kann definieren, welche Elemente und Beziehungen zwischen Elementen im XML-Dokument vorhanden sind, und kann den Datentyp von Elementen und Attributen definieren.
Was ist XML-Schema?
XML-Schema ist wie DTD für die Definition und Beschreibung der Struktur und des Inhaltsschemas von XML-Dokumenten verantwortlich. Es kann definieren, welche Elemente und Beziehungen zwischen Elementen im XML-Dokument vorhanden sind, und kann die Datentypen von Elementen und Attributen definieren.
XML-Schema selbst ist ein XML-Dokument, das der XML-Syntaxstruktur entspricht. Es kann mit einem gängigen XML-Parser analysiert werden.
Warum Schema verwenden
Wir haben DTD bereits verwendet, um eine XML-Struktur und einen Datentyp zu definieren. Warum brauchen wir also Schema?
Weil DTD viele Mängel aufweist:
1) DTD basiert auf regulären Ausdrücken und verfügt über begrenzte Beschreibungsmöglichkeiten
2) DTD bietet keine Datentypunterstützung und ist in den meisten Anwendungsumgebungen unzureichend;
3) Die Definitionsfähigkeit derEinschränkung reicht nicht aus, um detailliertere semantische Einschränkungen für XML-Instanzdokumente vorzunehmen
4) Die Struktur der DTD ist nicht strukturiert genug und kann nicht wiederverwendet werden. Die Kosten ist relativ hoch; 5) DTD verwendet kein XML als Beschreibungsmethode, und es gibt keine Standard-Programmierschnittstelle für die Erstellung und den Zugriff auf DTD, und Standards können nicht verwendet werden. Führen Sie die DTD-Wartung programmgesteuert durch. XML-Schema wurde entwickelt, um die Mängel dieser DTDs zu beheben. Die Vorteile von XML-Schema sind:
1) XML-Schema basiert auf XML und hat keine spezielle Syntax 2) XML kann wie andere XML-Dateien analysiert und verarbeitet werden 3) XML-Schema unterstützt eine Reihe von Datentypen (int, float, Boolean, date usw.) 4) XML-Schema Bietet ein erweiterbares Datenmodell. 5) XML-Schema unterstützt umfassenden Namespace 6) XML-Schema unterstützt Attributgruppen. Ein einfaches XML-SchemadokumentEin Element ist in diesem Schema definiert: Menge, sein Typ ist nonNegativeInteger (nicht negative Ganzzahl), xmlns Es ist der Namensraum von Schema, der oben in Teil 3 beschrieben wurde.
Das folgende XML-Fragment ist legal:Das folgende XML-Fragment ist illegal:
<quantity>5</quantity>
Typen im Schema
<quantity>-4</quantiy>
c) Attributkomponente Einfacher Typ
XML Schema definiert einige integrierte Datentypen, die zum Beschreiben von Elementinhalten und Attributwerten verwendet werden können.
Wenn ein Element nur Zahlen,Strings
oder andere Daten, aber keine Unterelemente enthält, spricht man von einem einfachen Typ.Alle integrierten einfachen Typen
<quantity>some</quantity>
Abgeleitete Typen (Basistypen in Klammern)
string,boolean,decimal,float,double,duration datetime,time,date,gYearMonth,gYear,gMonthDay, dDay,gMonth,hexBinary,base64Binary,any URI,QName NOTATION
Erstellen ein einfacher Typ
normalizedString(string),language(tonken),token(normalizedString) NMTOKEN(token),Name(token),NCName(Name),ID(NCName),IDREF(NCName) IDREFS(list of IDREF),ENTITY(NCName),ENTITIES(list of ENTITY) integer(decimal),nonPositiveInteger(integer), negativeInteger(noPositiveInteger),long(integer),int(long), short(int),byte(short),nonNegativeInteger(integer) unsignedLong(nonNegativeInteger),unsignedInt(unsignedLong), unsignedShort(unsignedInt),unsignedByte(unsignedShort), positiveInteger(nonNegativeInteger)
In der Abbildung erstellen wir zunächst einen einfachen Typ: QuantityType, der von Integer erbt
, und minInclusive und maxInclusive definieren ihn Das Minimum Der Wert ist 2 und der Maximalwert ist 5. Abschließend definieren wir den Typ des Elements „quantity“ als „quantityType“.Mithilfe von Einschränkungen können wir die Akzeptanz bestimmter Werte oder Texte einschränken,
正确: <quantity>3</quantity> 错误: <quantity>10</quantity> <qauntity>aaa</quantity>
Einfaches Typbeispiel 1
基本方面:equal,ordered,bounded,cardinality,numeric 限制方面:length,minLength,maxLength pattern,enumeration whiteSpace maxInclusive,maxExclusive,minInclusive,minExclusive totalDigits,fractionDigits
Der Wert dieses SKU-Typs: 3 Zahlen, gefolgt von einem Bindestrich und dann zwei englischen Großbuchstaben.
Auf das Muster folgt ein regulärer Ausdruck. Informationen zur Syntax regulärer Ausdrücke finden Sie in anderen Büchern.Einfaches Typbeispiel 2
正确: <ourSKU>123-AB</ourSKU> 错误: <ourSKU>abc-AB</ourSKU> <ourSKU>123-ab</ourSKU>
Dies ist ein Typ USState, der zur Beschreibung der Namen von US-Bundesstaaten verwendet wird. , wenn der Wert übernommen wird, können nur die darin aufgeführten Staatsnamen übernommen werden.