test.xsd revision 779:2b61bfcaa586
1<?xml version="1.0" encoding="utf-8"?>
2<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
3           xmlns:tn="foo"
4           targetNamespace="foo" elementFormDefault="qualified">
5    <xs:element name="root">
6        <xs:complexType>
7            <xs:sequence>
8                <xs:element name="a">
9                    <xs:complexType>
10                        <xs:sequence>
11                            <xs:element ref="tn:b"/>
12                        </xs:sequence>
13                    </xs:complexType>
14                </xs:element>
15                <xs:element name="ref" maxOccurs="unbounded" minOccurs="0" type="xs:string" />
16            </xs:sequence>
17        </xs:complexType>
18                                        
19        <!-- identity constraint -->
20        <xs:key name="key">
21            <xs:selector xpath=".//tn:a/tn:b|.//tn:a/tn:b/tn:c"/>
22            <xs:field xpath="@id"/>
23        </xs:key>
24        <xs:keyref name="keyref" refer="tn:key">
25            <xs:selector xpath=".//tn:ref"/>
26            <xs:field xpath="."/>
27        </xs:keyref>
28    </xs:element>
29    
30    <xs:element name="c">
31        <xs:complexType>
32            <xs:attribute name="id" type="xs:string"/>
33        </xs:complexType>
34    </xs:element>
35                
36    <xs:element name="b">
37        <xs:complexType>
38            <xs:sequence>
39                <xs:element ref="tn:c" minOccurs="0" />
40            </xs:sequence>
41            <xs:attribute name="id" type="xs:string"/>
42        </xs:complexType>
43    </xs:element>
44</xs:schema>
45