Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung des XML-Schema-Full-Touch-Grafik- und Textcodes

Detaillierte Erläuterung des XML-Schema-Full-Touch-Grafik- und Textcodes

黄舟
黄舟Original
2017-03-28 16:55:332303Durchsuche

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 der

Einschrä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-Schemadokument

Ein 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. Detaillierte Erläuterung des XML-Schema-Full-Touch-Grafik- und Textcodes

Das folgende XML-Fragment ist legal:

Das folgende XML-Fragment ist illegal:

<quantity>5</quantity>

Typen im Schema

<quantity>-4</quantiy>
Schema enthält hauptsächlich drei Komponenten: Element, Attribut und Notation.

Diese drei Grundkomponenten können auch zu den folgenden Komponenten kombiniert werden:

a) Typdefinitionskomponenten: einfache Typen und zusammengesetzte Typen

b) Baugruppenkomponenten

c) Attributkomponente

Einfacher Typ

XML Schema definiert einige integrierte Datentypen, die zum Beschreiben von Elementinhalten und Attributwerten verwendet werden können. Detaillierte Erläuterung des XML-Schema-Full-Touch-Grafik- und Textcodes

Wenn ein Element nur Zahlen,

Strings

oder andere Daten, aber keine Unterelemente enthält, spricht man von einem einfachen Typ.

Wie in der Abbildung gezeigt, handelt es sich bei der Elementmenge um einen einfachen Typ. Der Inhalt seines Elements muss eine nicht negative Ganzzahl sein, wobei alle Attribute und Unterelemente ausgeschlossen sind.

Alle integrierten einfachen Typen

<quantity>some</quantity>
Primitive Typen

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 erbtDetaillierte Erläuterung des XML-Schema-Full-Touch-Grafik- und Textcodes

, 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. Detaillierte Erläuterung des XML-Schema-Full-Touch-Grafik- und Textcodes

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. Detaillierte Erläuterung des XML-Schema-Full-Touch-Grafik- und Textcodes

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des XML-Schema-Full-Touch-Grafik- und Textcodes. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn