| <?xml version="1.0"?> |
| <xs:schema |
| targetNamespace="urn:test:foo" |
| xmlns:xs="http://www.w3.org/2001/XMLSchema" |
| xmlns:foo="urn:test:foo" |
| elementFormDefault="qualified" |
| attributeFormDefault="qualified"> |
| |
| <xs:element name="Link"> |
| <xs:complexType> |
| <xs:simpleContent> |
| <xs:extension base="xs:string"> |
| <xs:attribute name="linkKey" type="xs:string" use="required"/> |
| </xs:extension> |
| </xs:simpleContent> |
| </xs:complexType> |
| </xs:element> |
| |
| |
| <!-- --> |
| <xs:element name="Foo"> |
| <xs:complexType> |
| <xs:sequence> |
| |
| <xs:element name="Def"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="foo:Link"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="Ref"> |
| <xs:complexType> |
| <xs:attribute name="linkRef" use="required"/> |
| </xs:complexType> |
| </xs:element> |
| |
| </xs:sequence> |
| </xs:complexType> |
| |
| <xs:key name="LinkKey"> |
| <xs:selector xpath=".//foo:Link | .//foo:Link"/> |
| <xs:field xpath="@foo:linkKey"/> |
| </xs:key> |
| |
| <xs:keyref name="LinkKeyRef" refer="foo:LinkKey"> |
| <xs:selector xpath=".//foo:Ref"/> |
| <xs:field xpath="@foo:linkRef"/> |
| </xs:keyref> |
| </xs:element> |
| |
| </xs:schema> |