Articles

příklad XSD

Tato kapitola ukáže, jak napsat schéma XML. Dozvíte se také, že schéma lze psát různými způsoby.

XML dokument

pojďme se podívat na tento XML dokument s názvem “ shiporder.xml“:

Vytvořit XML Schema

Nyní chceme vytvořit schéma pro XML dokument výše.

začneme otevřením nového souboru, který budeme nazývat “ shiporder.xsd“. Chcete-li vytvořit schéma, mohli bychom jednoduše sledovat strukturu v dokumentu XML a definovat každý prvek tak, jak ho najdeme. Začneme standardní deklarací XML následovanou prvkem XS: schema, který definuje schéma:

<?xml version= “ 1.0 „encoding=“ UTF-8″?>
<xs:schema xmlns:xs=“http://www.w3.org/2001/XMLSchema“&gt,

< / xs:schéma>

Ve schématu výše jsme použít standardní obor názvů (xs), a URI tento obor názvů Schématu jazyka definici, která má standardní hodnota http://www.w3.org/2001/XMLSchema.

dále musíme definovat prvek“ shiporder“. Tento prvek má atribut a obsahuje další prvky, proto jej považujeme za komplexní typ. Dítě prvků „shiporder“ prvek je obklopen xs:sequence element, který definuje uspořádanou posloupnost dílčích prvků:

<xs:element name=“shiporder“>
<xs:complexType>
<xs:sequence>

</xs:sequence>
</xs:complexType>
</xs:element>

Then we have to define the „orderperson“ element as a simple type (because it does not contain any attributes or other elements). The type (xs:string) je označena předponou se předpona oboru názvů je jim přiřazen program XML Schématu, které naznačuje, předem definovaného schématu datového typu:

<xs:element name=“orderperson“ type=“xs:string“/>

Next, musíme definovat dva prvky, které jsou pro komplexní typ: „shipto“ a „položky“. Začneme definováním „shipto“ element:

schémata můžeme definovat počet možných výskytů pro prvek s maxOccurs a minOccurs atributy. maxOccurs určuje maximální počet výskytů pro prvek a minOccurs určuje minimální počet výskytů pro prvek. Výchozí hodnota pro maxOccurs i minOccurs je 1!

Nyní můžeme definovat prvek“ položka“. Tento prvek se může objevit vícekrát uvnitř prvku“ shiporder“. To je určeno nastavením atributu maxOccurs prvku“ item “ na „unbounded“, což znamená, že elementu „item“ může být tolik výskytů, kolik si autor přeje. Všimněte si, že prvek „poznámka“ je volitelný. Zadali jsme to nastavením atributu minOccurs na nulu:

Nyní můžeme deklarovat atribut prvku „shiporder“. Protože se jedná o požadovaný atribut, určíme use= „required“.

Poznámka: atribut prohlášení musí být vždy poslední:

<xs:attribute name=“orderid“ type=“xs:string“ use=“required“/>

Zde je kompletní výpis schématu souboru s názvem „shiporder.xsd“:

rozdělte schéma

předchozí metoda návrhu je velmi jednoduchá, ale může být obtížné číst a udržovat, když jsou dokumenty složité.

další metoda návrhu je založena na definování všech prvků a atributů nejprve a poté na ně odkazuje pomocí atributu ref.

zde je nový návrh souboru schématu („shiporder.xsd“):

pomocí pojmenovaných typů

třetí metoda návrhu definuje třídy nebo typy, což nám umožňuje znovu použít definice prvků. To se provádí pojmenováním prvků simpleTypes a complexTypes a poté na ně přejděte pomocí atributu type prvku.

zde je třetí návrh souboru schématu („shiporder.xsd“):

prvek omezení označuje, že datový typ je odvozen z datového typu jmenného prostoru W3C XML Schema. Takže, následující fragment znamená, že hodnota elementu nebo atributu musí být hodnota řetězce:

<xs:restriction base=“xs:string“>

The restriction element is more often used to apply restrictions to elements. Look at the following lines from the schema above:

<xs:simpleType name=“orderidtype“>
<xs:restriction base=“xs:string“>
<xs:pattern value=“{6}“/>
</xs:restriction>
</xs:simpleType>

To znamená, že hodnotu prvek nebo atribut musí být řetězec, musí být přesně šest znaků v řadě, a tyto znaky musí být číslo od 0 do 9.