Podczas używania do walidacji dokumentów DTD można szybko zauważyć jego ograniczenia. Kiedy pojawiaj? się
bardziej skomplikowane zależno?ci pomiędzy elementami w dokumencie okazuje się, że standard DTD nie wystarcza.
Do tego celu służy wła?nie standard XML Schema. Rozwija on możliwo?ci DTD i w zasadzie wypiera go z użycia
pozwalaj?c na dziedziczenie ograniczeń i zastosowanie skomplikowanych reguł weryfikacji dokumentu. Bardzo
precyzyjnie można w nim okre?li ograniczenia zarówno dla typów prostych, jak i złożonych.<br><br>
Standardowo XML Schema ma w sobie wbudowane podstawowe typy danych jakie mog? pojawić się w dokumencie, takie
jak xsd:decimal, xsd:string, itp. oraz pozwala na tworzenie rozbudowanych typów danych, w skład których wchodz?
typy proste. Przykładowy plik XSD dla dokumentu product-catalog może mieć postać:<br><br>
<font class=code>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"><br>
<xsd:element type="product-catalog"/><br>
<xsd:complexType name="productCatalog"><br>
<xsd:element type="productType" minOccurs="1"/><br>
</xsd:complexType><br>
<xsd:complexType name="productType"><br>
<xsd:element name="description" type="xsd:string" minOccurs="1"><br>
<xsd:attribute name="locale" type="xsd:string"/><br>
</xsd:element><br>
<xsd:element name="price" type="xsd:decimal" minOccurs="1"><br>
<xsd:attribute name="locale" type="xsd:string"/><br>
<xsd:attribute name="unit" type="xsd:string"/><br>
</xsd:element><br>
<xsd:attribute name="sku" type="xsd:decimal"/><br>
<xsd:attribute name="name" type="xsd:string"/><br>
</xsd:complexType><br>
</xsd:schema><br>
</font><br>
Poza standardowymi możliwo?ciami walidacji akie posiada DTD XML Schema poszerza je o ograniczenia co do
kolejno?ci występowania elementów w dokumencie, limitów na minimalna i maksymalna ilo?ć wyst?pień, warto?ci
domy?lnych itp.<br><br>
Powrót
|