Implementieren eines Xml-Schemas


In diesem Artikel werden wir untersuchen, wie man ein XML-Schema erstellen kann. Um zu verstehen, XML (extensible Markup Language)-Schemas überprüfen wir die Grundlagen von XML in dieser Einführung. Sie dürften ein grundlegendes Verständnis von XML für dieses How-to haben.

XML - die extensible Markup Language ist eine textbasierte, plattformübergreifende Sprache, die ist Sie zum Speichern von Daten (z.B. Adressen in einem Adressbuch) in strukturierter Form ermöglicht. Das XML-Dokument wird voraussichtlich korrekte Syntax haben. Daher Wenn Sie XML-Dokumente sollten sie sein wohlgeformt. Ein wohlgeformtes Dokument verfügt über Folgendes:

  • Geschlossen Tags (< Hallo >< / Hallo > oder < Hallo / >)
  • Attribut eines Elements muss in Anführungszeichen eingeschlossen werden (< Süßigkeiten Preis = '0.50' >)
  • XML ist Groß-/Kleinschreibung beachtet. Mit anderen Worten sollte die Anfangs- und Endzeit Tag den gleichen Fall verwenden
Ein sehr einfaches Beispiel für ein XML-Dokument ist für ein Süßigkeiten-Shop-Menü unten angegeben.

<? Xml Version = '1,0' encoding = 'Utf-8'? >
< Candystore >
< Süßigkeiten >
< ProductName-Firma 'XYZ' = > Lollipops < / name >
< Id > 634847 </ID >
< Preis > 0,50 < / Preis >
< / Süßigkeiten >
< Süßigkeiten >
< ProductName Firma = 'ABC' > Mints < / name >
< Id > 634812 </ID >
< Preis > 0,75 < / Preis >
< / Süßigkeiten >
< / Candystore >

Die erste Anweisung ist die Verarbeitungsanweisung. Es teilt dem Parser, dass wir arbeiten mit einer bestimmten Version von XML. Der Rest des Dokuments besteht aus unsere Schilder und Elemente. Im Beispiel oben das Element hat 'Name' ein Attribut 'Company'. Eine gute Möglichkeit, ein Attribut zu erinnern soll es als eine Eigenschaft vorstellen, die etwas haben. Ein Bonbon hat einen Namen. Der Name ist verbunden mit einer bestimmten Firma.

In unseren Anleitungen werden wir das obige Beispiel zu nehmen und erstellen ein XML-Schema für die Regeln darüber, wie definieren wird müssen des Elements Inhalte oder Daten mit anderen Worten, angegeben werden. (Z. B. welches Format für unsere Id erwartet? Kann es alphabetische Zeichen haben?)

XML-Schema - ein XML-Schema deklariert Metadaten, die einen bestimmten Typ weist, ob es einfach oder komplex, um die Elemente und deren Attribute in einem XML‑Dokument sein.

Schritt 1

Werfen wir einen Blick auf unser Beispiel für den Süßigkeiten-Store wieder.

<? Xml Version = '1,0' encoding = 'Utf-8'? >
< Candystore >
< Süßigkeiten >
< ProductName-Firma 'XYZ' = > Lollipops < / name >
< Id > 634847 </ID >
< Preis > 0,50 < / Preis >
< / Süßigkeiten >
< Süßigkeiten >
< ProductName Firma = 'ABC' > Mints < / ProductName >
< Id > 634812 </ID >
< Preis > 0,75 < / Preis >
< / Süßigkeiten >
< / Candystore >

Unsere Candystore -Element verfügt über zwei Bonbons Teilelemente. Jedes Bonbon -Element verfügt über Unterelemente von Name, Idund Preis. Es hat auch ein Attribut namens Unternehmen. Beim Erstellen von Regeln der Syntax müssen wir Einschränkungen für das Format der Daten definieren. Diese Einschränkungen können auf der Grundlage von wie die Daten verwendet werden. Wenn beispielsweise unsere Bonbon-ID auf eine Rechnung innerhalb von 6 Zeichen passen muss, dann, das hilft unsere Einschränkungen bestimmen. Fragen Sie selbst ein paar über Ihre Daten:

1. muss die Daten nur Ziffern oder alphanumerischen Zeichen sein?
2. muss die Daten eine bestimmte Länge zu sein? Oder eine minimale oder maximale Länge genauer gesagt?
3. muss die Daten ein bestimmtes Attribut oder Teilelement angegeben haben? Oder sind sie optional?

Nun, wir einige Ideen haben, was wir uns Fragen stellen, können wir Fortschritte machen. Wir bauen uns eine Reihe von Regeln bevor wir beginnen, unsere XML-Schema-Code zu erstellen.

1. der Name Süßigkeiten ist erforderlich.
2. der Firmennamen kann nicht mehr als 30 Zeichen lang sein. Es ist optional.
3. die Id muss alle Ziffern und muss genau 6 Ziffern lang sein. Es ist erforderlich.
4. der Preis ist erforderlich.

Schritt 2

Mit unserer Liste der Regeln, dass wir jetzt unser Schema erstellen können. Zunächst einmal müssen wir eine Erklärung unserer Namespace Xsdaufgerufen. Wir können einen beliebigen Namen wollen wir wie Candyxsd, aber Xsd ist kurz und leicht verständlich. Die Begriff Xsd wird als Präfix in unser Schema verwendet werden, unseren Namespace angeben.

<? Xml Version = '1,0' encoding = 'UTF-8'? >
< xsd: Schema xmlns = 'als https://www.w3.org/2001/XMLSchema' >

In Ihrem Schema müssen Sie jedes Element als ein bestimmter Typ zu definieren. Es gibt 2 Typen, die Sie verwenden können:

Einfach:
< xsd: Element Name = 'Nameofelement' Typ = 'Nameofbuilt Insimpletype' >

oder

< Xsd:simpleType Name = 'NameofSimpleType' >
Einschränkungen des abgeleiteten Typs...
< / Xsd:simpleType >

Komplex:
< Xsd:complexType Name = 'NameofComplexType' >
< Xsd:sequence >
Elemente...
< / Xsd:sequence >
< / Xsd:complexType >

Der Unterschied zwischen den 2 ist ganz einfach. Ein einfacher Typ nicht Attribute oder Elementinhalt.

In Schritt 3 gehen wir über den eingebauten einfachen Typen.

Schritt 3

Nun, da Sie vertraut mit den Elementtypen sind schauen wir ein paar der integrierten Typen.

  • Datum
  • Zeichenfolge
  • Dezimalzahlen
  • Zeit
  • Ganzzahl, lang, Int, double, PositiveInteger,-float

Sie können die vollständige Liste der integrierten einfachen Typen sehen.

Mit einem integrierten Typ schaffen wir einen einfachen Typ wie Preis oder Id, die ein Attribut oder ein Unterelement nicht hat.

< xsd: Element Name = 'Preis' Type = 'entspricht' / >
< xsd: Element Name = 'Id' Type = 'PositiveInteger' / >

Schritt 4

Das Bild gegeben wird die Struktur des XML-Schemas. Wir müssen Ihre komplexen Typen zu bauen und in Einschränkungen für Größe für unseren Preis und Id hinzufügen. Um sicherzustellen, dass unsere Id und das Unternehmensattribut ein bestimmtes Format haben wollen wir 2 einfache Typen erstellen. Wir werden in den Typ des ID-TypId zuweisen. Das Attribut-Unternehmen wird die Art der CompanyTypezugewiesen.

< Xsd:simpleType Name = 'ID-Typ' >
< Xsd:restriction base = 'Xsd:positiveInteger' >
< Xsd:totalDigits Wert = '6' / >
< / Xsd:restriction >
< / Xsd:simpleType >

< Xsd:simpleType Name = 'CompanyType' >
< Xsd:restriction base = 'xsd: String' >
< Xsd:maxLength Wert = '30' / >
< / Xsd:restriction >
< / Xsd:simpleType >

Das Einschränkung-Tag innerhalb des simpleType-Elements ermöglicht es uns, Informationen über unsere einfachen Typ Facette zu deklarieren. Ein Facet schränkt einen einfachen Typ. Wir können feststellen, dass Dinge wie, wie die gesamten Ziffern für ein Zahlenwert die Mindestlänge für unsere String-Wert. Achten Sie darauf, um den integrierten einfachen Typen Aspekten für die Liste zu verweisen. Base-Attributs gibt an, welche Art Einschränkungen angewendet werden können. Mit anderen Worten wäre es nicht MaxLength mit alle Zahlenwerte wie Dezimal verwendet oder Doppelzimmer. Das TotalDigits-Facet ist dafür.

Schritt 5

Jetzt müssen Sie Ihre komplexen Typen zu erstellen, die alle anderen enthalten wird. Wenn Sie sich von früher erinnern, können Ihre komplexen Typen Subelemente und Attribute verfügen. Unser Candystore -Element hat die Süßigkeiten Unterelement. Das Bonbon -Element verfügt über drei untergeordnete Elemente ('ProductName', 'Preis' und 'Id'). Das ProductName -Element verfügt über ein Attribut, daher muss es gebaut werden, um Platz für sie und ihren Wert.

Unsere Süßigkeiten-Shop-Element enthält alles:

< xsd: Element Name = 'Candystore' Type = 'CandystoreType' / >
< Xsd:complexType Name = 'CandystoreType' >
< Xsd:sequence >
< xsd: Element Name = 'Süßigkeiten' Type = 'CandyType' MinOccurs = '0' MaxOccurs = 'unbounded' / >
< / Xsd:sequence >
< / Xsd:complexType >

Zunächst deklarieren wir ein Candystore-Element, das einen ComplexType ist. Wenn Sie sich erinnern, dass unser Bonbon-Element so oft wiederholt werden kann gewünscht wird. Das ist, wo unsere Attribute MinOccurs und MaxOccurs hereinkommen. Sie geben die maximalen und minimalen vorkommen. Nehmen wir zum Beispiel, dass Sie nur einmal oder überhaupt nicht wollte. MinOccurs könnte dann noch 0 und MaxOccurs wäre 1., die unsere Süßigkeiten Unterelement, als ein Typ namens CandyType deklariert wird. Dieses ist recht groß.

< Xsd:complexType Name = 'CandyType' >
< Xsd:sequence >
ProductName-Element einfügen hier... Unten erklärt...
< xsd: Element Name = 'Id' Type = 'ID-Typ' MinOccurs = '1' MaxOccurs = '1' / >
< xsd: Element Name = 'Preis' Type = 'entspricht' MinOccurs = '1' MaxOccurs = '1' / >
< / Xsd:sequence >
< / Xsd:complexType >

Erinnern Sie die SimpleType-Informationen für unsere Id? Hier verweist er auf seine Art das ID-Typ genannt wurde.

Hier ist das ProductName-Element, das von oben ausgeschnitten war, so dass es erklärt werden könnte.

< xsd: Element Name = 'ProductName' MinOccurs = '1' MaxOccurs = '1' >
< Xsd:complexType >
< Xsd:simpleContent >
< Xsd:extension base = 'xsd: String' >
< Xsd:attribute Name = 'Firma' Type = 'CompanyType' / >
< / Xsd:extension >
< / Xsd:simpleContent >
< / Xsd:complexType >
< / xsd: Element >

Innerhalb der Elementtags von ProductName erklären wir einen ComplexType. Wir müssen in der Lage, in einen String-Wert für die ProductName-Element zu setzen, so wir einen SimpleContent-Typ deklarieren müssen. Dies erlaubt uns, Beschränkungen oder Erweiterungen auf unseren textbasierten ComplexType zu haben. Wenn wir nicht diese Schritte wäre wir nicht in der Lage, den Text für den Namen der die Süßigkeiten zwischen den ProductName-Tags zu setzen. In unserem Fall wollen wir in der Lage sein, sich in einen String-Wert zu setzen. Außerdem haben wir eine Erweiterung für unsere Attribut namens Unternehmen, das muss deklariert werden. Das base-Attribut für das Extension-Element oben gibt unsere integrierten Datentyp (d.h. Zeichenfolge, lang, etc.), ein SimpleType oder ComplexType. Einmal haben wir es alle zusammen wir fertig sind!

Vergewissern Sie sich die XSD-Datei hat dies an der Spitze:

<? Xml Version = '1,0' encoding = 'UTF-8'? >
< xsd: Schema xmlns = 'als https://www.w3.org/2001/XMLSchema' >

Und die XSD: Schema-Tage geschlossen werden sollte, mit < / xsd: Schema > am Ende nach all dem.

Nehmen Sie Ihre fertige XSD-Datei, und nennen Sie es candystore.xsd. Es ist gültig und wohlgeformt.

Schritt 6

Unsere letzte Schritt besteht darin, unsere XML-Schema in unserer ursprünglichen XML-Datei anwenden.

candystore.XML

<? Xml Version = '1,0' encoding = 'UTF-8'? >
< Candystore Attribut = 'als https://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='candystore.xsd' >
< Süßigkeiten >
< ProductName-Firma 'XYZ' = > Lollipops < / ProductName >
< Id > 634847 </ID >
< Preis > 0,50 < / Preis >
< / Süßigkeiten >
< Süßigkeiten >
< ProductName Firma = 'ABC' > Mints < / ProductName >
< Id > 634812 </ID >
< Preis > 0,75 < / Preis >
< / Süßigkeiten >
< / Candystore >

candystore.xsd

<? Xml Version = '1,0' encoding = 'UTF-8'? >
< xsd: Schema xmlns = 'als https://www.w3.org/2001/XMLSchema' >
< xsd: Element Name = 'Candystore' Type = 'CandystoreType' / >
< Xsd:complexType Name = 'CandystoreType' >
< Xsd:sequence >
< xsd: Element Name = 'Süßigkeiten' Type = 'CandyType' MinOccurs = '0' MaxOccurs = 'unbounded' / >
< / Xsd:sequence >
< / Xsd:complexType >

< Xsd:complexType Name = 'CandyType' >
< Xsd:sequence >
< xsd: Element Name = 'ProductName' MinOccurs = '1' MaxOccurs = '1' >
< Xsd:complexType >
< Xsd:simpleContent >
< Xsd:extension base = 'xsd: String' >
< Xsd:attribute Name = 'Firma' Type = 'CompanyType' / >
< / Xsd:extension >
< / Xsd:simpleContent >
< / Xsd:complexType >
< / xsd: Element >
< xsd: Element Name = 'Id' Type = 'ID-Typ' MinOccurs = '1' MaxOccurs = '1' / >
< xsd: Element Name = 'Preis' Type = 'entspricht' MinOccurs = '1' MaxOccurs = '1' / >
< / Xsd:sequence >
< / Xsd:complexType >

< Xsd:simpleType Name = 'ID-Typ' >
< Xsd:restriction base = 'Xsd:positiveInteger' >
< Xsd:totalDigits Wert = '6' / >
< / Xsd:restriction >
< / Xsd:simpleType >
< Xsd:simpleType Name = 'CompanyType' >
< Xsd:restriction base = 'xsd: String' >
< Xsd:maxLength Wert = '30' / >
< / Xsd:restriction >
< / Xsd:simpleType >
< / xsd: Schema >

Hinweis: Vergewissern Sie sich, Ihre gesamte XML-Schema ist innerhalb der < xsd: Schema >< / xsd: Schema > Markierungen.









Implementieren eines Xml-Schemas


Implementieren eines Xml-Schemas : Mehreren tausend Tipps, um Ihr Leben einfacher machen.


In diesem Artikel werden wir untersuchen, wie man ein XML-Schema erstellen kann. Um zu verstehen, XML (extensible Markup Language)-Schemas überprüfen wir die Grundlagen von XML in dieser Einführung. Sie dürften ein grundlegendes Verständnis von XML für dieses How-to haben.

XML - die extensible Markup Language ist eine textbasierte, plattformübergreifende Sprache, die ist Sie zum Speichern von Daten (z.B. Adressen in einem Adressbuch) in strukturierter Form ermöglicht. Das XML-Dokument wird voraussichtlich korrekte Syntax haben. Daher Wenn Sie XML-Dokumente sollten sie sein wohlgeformt. Ein wohlgeformtes Dokument verfügt über Folgendes:

  • Geschlossen Tags (< Hallo >< / Hallo > oder < Hallo / >)
  • Attribut eines Elements muss in Anführungszeichen eingeschlossen werden (< Süßigkeiten Preis = '0.50' >)
  • XML ist Groß-/Kleinschreibung beachtet. Mit anderen Worten sollte die Anfangs- und Endzeit Tag den gleichen Fall verwenden
Ein sehr einfaches Beispiel für ein XML-Dokument ist für ein Süßigkeiten-Shop-Menü unten angegeben.

<? Xml Version = '1,0' encoding = 'Utf-8'? >
< Candystore >
< Süßigkeiten >
< ProductName-Firma 'XYZ' = > Lollipops < / name >
< Id > 634847 </ID >
< Preis > 0,50 < / Preis >
< / Süßigkeiten >
< Süßigkeiten >
< ProductName Firma = 'ABC' > Mints < / name >
< Id > 634812 </ID >
< Preis > 0,75 < / Preis >
< / Süßigkeiten >
< / Candystore >

Die erste Anweisung ist die Verarbeitungsanweisung. Es teilt dem Parser, dass wir arbeiten mit einer bestimmten Version von XML. Der Rest des Dokuments besteht aus unsere Schilder und Elemente. Im Beispiel oben das Element hat 'Name' ein Attribut 'Company'. Eine gute Möglichkeit, ein Attribut zu erinnern soll es als eine Eigenschaft vorstellen, die etwas haben. Ein Bonbon hat einen Namen. Der Name ist verbunden mit einer bestimmten Firma.

In unseren Anleitungen werden wir das obige Beispiel zu nehmen und erstellen ein XML-Schema für die Regeln darüber, wie definieren wird müssen des Elements Inhalte oder Daten mit anderen Worten, angegeben werden. (Z. B. welches Format für unsere Id erwartet? Kann es alphabetische Zeichen haben?)

XML-Schema - ein XML-Schema deklariert Metadaten, die einen bestimmten Typ weist, ob es einfach oder komplex, um die Elemente und deren Attribute in einem XML‑Dokument sein.

Schritt 1

Werfen wir einen Blick auf unser Beispiel für den Süßigkeiten-Store wieder.

<? Xml Version = '1,0' encoding = 'Utf-8'? >
< Candystore >
< Süßigkeiten >
< ProductName-Firma 'XYZ' = > Lollipops < / name >
< Id > 634847 </ID >
< Preis > 0,50 < / Preis >
< / Süßigkeiten >
< Süßigkeiten >
< ProductName Firma = 'ABC' > Mints < / ProductName >
< Id > 634812 </ID >
< Preis > 0,75 < / Preis >
< / Süßigkeiten >
< / Candystore >

Unsere Candystore -Element verfügt über zwei Bonbons Teilelemente. Jedes Bonbon -Element verfügt über Unterelemente von Name, Idund Preis. Es hat auch ein Attribut namens Unternehmen. Beim Erstellen von Regeln der Syntax müssen wir Einschränkungen für das Format der Daten definieren. Diese Einschränkungen können auf der Grundlage von wie die Daten verwendet werden. Wenn beispielsweise unsere Bonbon-ID auf eine Rechnung innerhalb von 6 Zeichen passen muss, dann, das hilft unsere Einschränkungen bestimmen. Fragen Sie selbst ein paar über Ihre Daten:

1. muss die Daten nur Ziffern oder alphanumerischen Zeichen sein?
2. muss die Daten eine bestimmte Länge zu sein? Oder eine minimale oder maximale Länge genauer gesagt?
3. muss die Daten ein bestimmtes Attribut oder Teilelement angegeben haben? Oder sind sie optional?

Nun, wir einige Ideen haben, was wir uns Fragen stellen, können wir Fortschritte machen. Wir bauen uns eine Reihe von Regeln bevor wir beginnen, unsere XML-Schema-Code zu erstellen.

1. der Name Süßigkeiten ist erforderlich.
2. der Firmennamen kann nicht mehr als 30 Zeichen lang sein. Es ist optional.
3. die Id muss alle Ziffern und muss genau 6 Ziffern lang sein. Es ist erforderlich.
4. der Preis ist erforderlich.

Schritt 2

Mit unserer Liste der Regeln, dass wir jetzt unser Schema erstellen können. Zunächst einmal müssen wir eine Erklärung unserer Namespace Xsdaufgerufen. Wir können einen beliebigen Namen wollen wir wie Candyxsd, aber Xsd ist kurz und leicht verständlich. Die Begriff Xsd wird als Präfix in unser Schema verwendet werden, unseren Namespace angeben.

<? Xml Version = '1,0' encoding = 'UTF-8'? >
< xsd: Schema xmlns = 'als https://www.w3.org/2001/XMLSchema' >

In Ihrem Schema müssen Sie jedes Element als ein bestimmter Typ zu definieren. Es gibt 2 Typen, die Sie verwenden können:

Einfach:
< xsd: Element Name = 'Nameofelement' Typ = 'Nameofbuilt Insimpletype' >

oder

< Xsd:simpleType Name = 'NameofSimpleType' >
Einschränkungen des abgeleiteten Typs...
< / Xsd:simpleType >

Komplex:
< Xsd:complexType Name = 'NameofComplexType' >
< Xsd:sequence >
Elemente...
< / Xsd:sequence >
< / Xsd:complexType >

Der Unterschied zwischen den 2 ist ganz einfach. Ein einfacher Typ nicht Attribute oder Elementinhalt.

In Schritt 3 gehen wir über den eingebauten einfachen Typen.

Schritt 3

Nun, da Sie vertraut mit den Elementtypen sind schauen wir ein paar der integrierten Typen.

  • Datum
  • Zeichenfolge
  • Dezimalzahlen
  • Zeit
  • Ganzzahl, lang, Int, double, PositiveInteger,-float

Sie können die vollständige Liste der integrierten einfachen Typen sehen.

Mit einem integrierten Typ schaffen wir einen einfachen Typ wie Preis oder Id, die ein Attribut oder ein Unterelement nicht hat.

< xsd: Element Name = 'Preis' Type = 'entspricht' / >
< xsd: Element Name = 'Id' Type = 'PositiveInteger' / >

Schritt 4

Das Bild gegeben wird die Struktur des XML-Schemas. Wir müssen Ihre komplexen Typen zu bauen und in Einschränkungen für Größe für unseren Preis und Id hinzufügen. Um sicherzustellen, dass unsere Id und das Unternehmensattribut ein bestimmtes Format haben wollen wir 2 einfache Typen erstellen. Wir werden in den Typ des ID-TypId zuweisen. Das Attribut-Unternehmen wird die Art der CompanyTypezugewiesen.

< Xsd:simpleType Name = 'ID-Typ' >
< Xsd:restriction base = 'Xsd:positiveInteger' >
< Xsd:totalDigits Wert = '6' / >
< / Xsd:restriction >
< / Xsd:simpleType >

< Xsd:simpleType Name = 'CompanyType' >
< Xsd:restriction base = 'xsd: String' >
< Xsd:maxLength Wert = '30' / >
< / Xsd:restriction >
< / Xsd:simpleType >

Das Einschränkung-Tag innerhalb des simpleType-Elements ermöglicht es uns, Informationen über unsere einfachen Typ Facette zu deklarieren. Ein Facet schränkt einen einfachen Typ. Wir können feststellen, dass Dinge wie, wie die gesamten Ziffern für ein Zahlenwert die Mindestlänge für unsere String-Wert. Achten Sie darauf, um den integrierten einfachen Typen Aspekten für die Liste zu verweisen. Base-Attributs gibt an, welche Art Einschränkungen angewendet werden können. Mit anderen Worten wäre es nicht MaxLength mit alle Zahlenwerte wie Dezimal verwendet oder Doppelzimmer. Das TotalDigits-Facet ist dafür.

Schritt 5

Jetzt müssen Sie Ihre komplexen Typen zu erstellen, die alle anderen enthalten wird. Wenn Sie sich von früher erinnern, können Ihre komplexen Typen Subelemente und Attribute verfügen. Unser Candystore -Element hat die Süßigkeiten Unterelement. Das Bonbon -Element verfügt über drei untergeordnete Elemente ('ProductName', 'Preis' und 'Id'). Das ProductName -Element verfügt über ein Attribut, daher muss es gebaut werden, um Platz für sie und ihren Wert.

Unsere Süßigkeiten-Shop-Element enthält alles:

< xsd: Element Name = 'Candystore' Type = 'CandystoreType' / >
< Xsd:complexType Name = 'CandystoreType' >
< Xsd:sequence >
< xsd: Element Name = 'Süßigkeiten' Type = 'CandyType' MinOccurs = '0' MaxOccurs = 'unbounded' / >
< / Xsd:sequence >
< / Xsd:complexType >

Zunächst deklarieren wir ein Candystore-Element, das einen ComplexType ist. Wenn Sie sich erinnern, dass unser Bonbon-Element so oft wiederholt werden kann gewünscht wird. Das ist, wo unsere Attribute MinOccurs und MaxOccurs hereinkommen. Sie geben die maximalen und minimalen vorkommen. Nehmen wir zum Beispiel, dass Sie nur einmal oder überhaupt nicht wollte. MinOccurs könnte dann noch 0 und MaxOccurs wäre 1., die unsere Süßigkeiten Unterelement, als ein Typ namens CandyType deklariert wird. Dieses ist recht groß.

< Xsd:complexType Name = 'CandyType' >
< Xsd:sequence >
ProductName-Element einfügen hier... Unten erklärt...
< xsd: Element Name = 'Id' Type = 'ID-Typ' MinOccurs = '1' MaxOccurs = '1' / >
< xsd: Element Name = 'Preis' Type = 'entspricht' MinOccurs = '1' MaxOccurs = '1' / >
< / Xsd:sequence >
< / Xsd:complexType >

Erinnern Sie die SimpleType-Informationen für unsere Id? Hier verweist er auf seine Art das ID-Typ genannt wurde.

Hier ist das ProductName-Element, das von oben ausgeschnitten war, so dass es erklärt werden könnte.

< xsd: Element Name = 'ProductName' MinOccurs = '1' MaxOccurs = '1' >
< Xsd:complexType >
< Xsd:simpleContent >
< Xsd:extension base = 'xsd: String' >
< Xsd:attribute Name = 'Firma' Type = 'CompanyType' / >
< / Xsd:extension >
< / Xsd:simpleContent >
< / Xsd:complexType >
< / xsd: Element >

Innerhalb der Elementtags von ProductName erklären wir einen ComplexType. Wir müssen in der Lage, in einen String-Wert für die ProductName-Element zu setzen, so wir einen SimpleContent-Typ deklarieren müssen. Dies erlaubt uns, Beschränkungen oder Erweiterungen auf unseren textbasierten ComplexType zu haben. Wenn wir nicht diese Schritte wäre wir nicht in der Lage, den Text für den Namen der die Süßigkeiten zwischen den ProductName-Tags zu setzen. In unserem Fall wollen wir in der Lage sein, sich in einen String-Wert zu setzen. Außerdem haben wir eine Erweiterung für unsere Attribut namens Unternehmen, das muss deklariert werden. Das base-Attribut für das Extension-Element oben gibt unsere integrierten Datentyp (d.h. Zeichenfolge, lang, etc.), ein SimpleType oder ComplexType. Einmal haben wir es alle zusammen wir fertig sind!

Vergewissern Sie sich die XSD-Datei hat dies an der Spitze:

<? Xml Version = '1,0' encoding = 'UTF-8'? >
< xsd: Schema xmlns = 'als https://www.w3.org/2001/XMLSchema' >

Und die XSD: Schema-Tage geschlossen werden sollte, mit < / xsd: Schema > am Ende nach all dem.

Nehmen Sie Ihre fertige XSD-Datei, und nennen Sie es candystore.xsd. Es ist gültig und wohlgeformt.

Schritt 6

Unsere letzte Schritt besteht darin, unsere XML-Schema in unserer ursprünglichen XML-Datei anwenden.

candystore.XML

<? Xml Version = '1,0' encoding = 'UTF-8'? >
< Candystore Attribut = 'als https://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='candystore.xsd' >
< Süßigkeiten >
< ProductName-Firma 'XYZ' = > Lollipops < / ProductName >
< Id > 634847 </ID >
< Preis > 0,50 < / Preis >
< / Süßigkeiten >
< Süßigkeiten >
< ProductName Firma = 'ABC' > Mints < / ProductName >
< Id > 634812 </ID >
< Preis > 0,75 < / Preis >
< / Süßigkeiten >
< / Candystore >

candystore.xsd

<? Xml Version = '1,0' encoding = 'UTF-8'? >
< xsd: Schema xmlns = 'als https://www.w3.org/2001/XMLSchema' >
< xsd: Element Name = 'Candystore' Type = 'CandystoreType' / >
< Xsd:complexType Name = 'CandystoreType' >
< Xsd:sequence >
< xsd: Element Name = 'Süßigkeiten' Type = 'CandyType' MinOccurs = '0' MaxOccurs = 'unbounded' / >
< / Xsd:sequence >
< / Xsd:complexType >

< Xsd:complexType Name = 'CandyType' >
< Xsd:sequence >
< xsd: Element Name = 'ProductName' MinOccurs = '1' MaxOccurs = '1' >
< Xsd:complexType >
< Xsd:simpleContent >
< Xsd:extension base = 'xsd: String' >
< Xsd:attribute Name = 'Firma' Type = 'CompanyType' / >
< / Xsd:extension >
< / Xsd:simpleContent >
< / Xsd:complexType >
< / xsd: Element >
< xsd: Element Name = 'Id' Type = 'ID-Typ' MinOccurs = '1' MaxOccurs = '1' / >
< xsd: Element Name = 'Preis' Type = 'entspricht' MinOccurs = '1' MaxOccurs = '1' / >
< / Xsd:sequence >
< / Xsd:complexType >

< Xsd:simpleType Name = 'ID-Typ' >
< Xsd:restriction base = 'Xsd:positiveInteger' >
< Xsd:totalDigits Wert = '6' / >
< / Xsd:restriction >
< / Xsd:simpleType >
< Xsd:simpleType Name = 'CompanyType' >
< Xsd:restriction base = 'xsd: String' >
< Xsd:maxLength Wert = '30' / >
< / Xsd:restriction >
< / Xsd:simpleType >
< / xsd: Schema >

Hinweis: Vergewissern Sie sich, Ihre gesamte XML-Schema ist innerhalb der < xsd: Schema >< / xsd: Schema > Markierungen.


Implementieren eines Xml-Schemas

Implementieren eines Xml-Schemas : Mehreren tausend Tipps, um Ihr Leben einfacher machen.
Implementieren eines Xml-Schemas
Wiezutun
Freunden empfehlen
  • gplus
  • pinterest

Kommentar

Einen Kommentar hinterlassen

Wertung