ZVON > Tutorials > XML Schema and Relax NG Tutorial |
Intro / Search / ZVON |
Index | >> Example 6 / 8 << | Prev | Next | |
Please, send all comments, bug-reports, and contributions to Jiri.Jirat@systinet.com. Thank you very much.
XML Schema keys: block, blockDefaultThe values of block and blockDefault attributes were combined and thus we can use the elements "C" or "E" only. (The type of "D" is derived by an extension from the type "AAA" and the type of "F" is derived by a restriction from the type "AAA" - both cases are in conflict with the "block" or "blockDefault" attributes).
Valid document <root xsi:noNamespaceSchemaLocation="correct_0.xsd" xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > <C>5</C> </root> Invalid document <root xsi:noNamespaceSchemaLocation="correct_0.xsd" xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > <D>7</D> </root> Valid document <root xsi:noNamespaceSchemaLocation="correct_0.xsd" xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > <E>7</E> </root> Invalid document <root xsi:noNamespaceSchemaLocation="correct_0.xsd" xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > <F>7</F> </root> |
Correct XML Schema (correct_0.xsd) <xsd:schema blockDefault="restriction" xmlns:xsd="http://www.w3.org/2001/XMLSchema" > <xsd:element name="root"> <xsd:complexType> <xsd:sequence minOccurs="1"> <xsd:element ref="C"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:complexType name="AAA"> <xsd:simpleContent> <xsd:extension base="xsd:integer"/> </xsd:simpleContent> </xsd:complexType> <xsd:element name="C" type="AAA" block="extension"/> <xsd:element name="D" substitutionGroup="C"> <xsd:complexType> <xsd:simpleContent> <xsd:extension base="AAA"> <xsd:attribute name="bbb" type="xsd:string"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> <xsd:element name="E" type="AAA" substitutionGroup="C"/> <xsd:element name="F" substitutionGroup="C"> <xsd:complexType> <xsd:simpleContent> <xsd:restriction base="AAA"> <xsd:minInclusive value="0"/> </xsd:restriction> </xsd:simpleContent> </xsd:complexType> </xsd:element> </xsd:schema> |