ZVON > Tutorials > XML Schema and Relax NG Tutorial |
Intro / Search / ZVON |
Index | >> Example 5 / 6 << | Prev | Next | |
Please, send all comments, bug-reports, and contributions to Jiri.Jirat@systinet.com. Thank you very much.
XML Schema keys: unique, nillableWe will use "unique" element to define, that the elements "a" under "root" element must have unique value of "id" element. "Unique" does not require the value to exist, so the element can be "nil".
Valid document <root xsi:noNamespaceSchemaLocation="correct_0.xsd" xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > <a> <id xsi:nil="true"/> </a> <a> <id>y</id> </a> <a> <id>z</id> </a> </root> |
Correct XML Schema (correct_0.xsd) <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" > <xsd:element name="root" type="myList"> <xsd:unique name="myId"> <xsd:selector xpath="./a"/> <xsd:field xpath="id"/> </xsd:unique> </xsd:element> <xsd:complexType name="myList"> <xsd:sequence minOccurs="1"> <xsd:element name="a" minOccurs="1" maxOccurs="unbounded"> <xsd:complexType> <xsd:sequence minOccurs="1"> <xsd:element name="id" type="xsd:NCName" nillable="true"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:schema> |