Kasimier T. Buchcik | 77e7682 | 2005-11-11 12:52:32 +0000 | [diff] [blame] | 1 | <?xml version="1.0"?> |
| 2 | <xs:schema |
| 3 | targetNamespace="urn:test:foo" |
| 4 | xmlns:xs="http://www.w3.org/2001/XMLSchema" |
| 5 | xmlns:foo="urn:test:foo" |
| 6 | elementFormDefault="qualified" |
| 7 | attributeFormDefault="qualified"> |
| 8 | |
| 9 | <xs:element name="Link"> |
| 10 | <xs:complexType> |
| 11 | <xs:simpleContent> |
| 12 | <xs:extension base="xs:string"> |
| 13 | <xs:attribute name="linkKey" type="xs:string" use="required"/> |
| 14 | </xs:extension> |
| 15 | </xs:simpleContent> |
| 16 | </xs:complexType> |
| 17 | </xs:element> |
| 18 | |
| 19 | |
| 20 | <!-- --> |
| 21 | <xs:element name="Foo"> |
| 22 | <xs:complexType> |
| 23 | <xs:sequence> |
| 24 | |
| 25 | <xs:element name="Def"> |
| 26 | <xs:complexType> |
| 27 | <xs:sequence> |
| 28 | <xs:element ref="foo:Link"/> |
| 29 | </xs:sequence> |
| 30 | </xs:complexType> |
| 31 | </xs:element> |
| 32 | |
| 33 | <xs:element name="Ref"> |
| 34 | <xs:complexType> |
| 35 | <xs:attribute name="linkRef" use="required"/> |
| 36 | </xs:complexType> |
| 37 | </xs:element> |
| 38 | |
| 39 | </xs:sequence> |
| 40 | </xs:complexType> |
| 41 | |
| 42 | <xs:key name="LinkKey"> |
| 43 | <xs:selector xpath=".//foo:Link | .//foo:Link"/> |
| 44 | <xs:field xpath="@foo:linkKey"/> |
| 45 | </xs:key> |
| 46 | |
| 47 | <xs:keyref name="LinkKeyRef" refer="foo:LinkKey"> |
| 48 | <xs:selector xpath=".//foo:Ref"/> |
| 49 | <xs:field xpath="@foo:linkRef"/> |
| 50 | </xs:keyref> |
| 51 | </xs:element> |
| 52 | |
| 53 | </xs:schema> |