test/jaxp/javax/xml/jaxp/unittest/validation/files/JDK8220818b.xsd
changeset 54672 a43d6467317d
equal deleted inserted replaced
54671:41339a468716 54672:a43d6467317d
       
     1 <?xml version="1.0" encoding="UTF-8"?>
       
     2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
       
     3            xmlns:example="http://www.example.org/root"
       
     4            xmlns="http://www.example.org/root"
       
     5            targetNamespace="http://www.example.org/root"
       
     6            elementFormDefault="qualified" attributeFormDefault="unqualified">
       
     7     <xs:element name="Root">
       
     8         <xs:complexType>
       
     9             <xs:choice maxOccurs="unbounded">
       
    10                 <xs:element ref="Object" />
       
    11             </xs:choice>
       
    12         </xs:complexType>
       
    13         <xs:key name="name_key">
       
    14             <xs:selector xpath=".//example:Object" />
       
    15             <xs:field xpath="@name" />
       
    16         </xs:key>
       
    17         <xs:keyref name="Collectiontype_defined" refer="name_key">
       
    18             <xs:selector xpath=".//example:CollectionMember" />
       
    19             <xs:field xpath="@type" />
       
    20         </xs:keyref>
       
    21     </xs:element>
       
    22     <xs:element name="Members">
       
    23         <xs:complexType>
       
    24             <xs:group ref="example:memberTypes" minOccurs="0"
       
    25                       maxOccurs="unbounded" />
       
    26         </xs:complexType>
       
    27     </xs:element>
       
    28     <xs:element name="Object">
       
    29         <xs:complexType>
       
    30             <xs:sequence>
       
    31                 <xs:element ref="Members" minOccurs="0" />
       
    32             </xs:sequence>
       
    33             <xs:attributeGroup ref="example:typedMemberAttributes" />
       
    34             <xs:attributeGroup ref="example:namedMemberAttributes" />
       
    35         </xs:complexType>
       
    36         <xs:unique name="ObjectElementNameUniqueness">
       
    37             <xs:selector xpath="example:Members/*" />
       
    38             <xs:field xpath="@name" />
       
    39         </xs:unique>
       
    40     </xs:element>
       
    41     <xs:element name="Collection">
       
    42         <xs:complexType>
       
    43             <xs:sequence>
       
    44                 <xs:element ref="CollectionMembers" />
       
    45             </xs:sequence>
       
    46             <xs:attributeGroup ref="example:namedMemberAttributes" />
       
    47         </xs:complexType>
       
    48     </xs:element>
       
    49     <xs:element name="CollectionMembers">
       
    50         <xs:complexType>
       
    51             <xs:sequence>
       
    52                 <xs:element ref="CollectionMember" minOccurs="2"
       
    53                             maxOccurs="unbounded" />
       
    54             </xs:sequence>
       
    55         </xs:complexType>
       
    56     </xs:element>
       
    57     <xs:element name="CollectionMember">
       
    58         <xs:complexType>
       
    59             <xs:sequence>
       
    60                 <xs:element ref="Members" minOccurs="0"
       
    61                             maxOccurs="unbounded" />
       
    62             </xs:sequence>
       
    63             <xs:attributeGroup ref="example:typedMemberAttributes" />
       
    64             <xs:attributeGroup ref="example:namedMemberAttributes" />
       
    65         </xs:complexType>
       
    66     </xs:element>
       
    67     <xs:element name="String">
       
    68         <xs:complexType>
       
    69             <xs:attributeGroup ref="example:namedMemberAttributes" />
       
    70         </xs:complexType>
       
    71     </xs:element>
       
    72     <xs:group name="memberTypes">
       
    73         <xs:choice>
       
    74             <xs:element ref="String" />
       
    75             <xs:element ref="Collection" />
       
    76         </xs:choice>
       
    77     </xs:group>
       
    78     <xs:attributeGroup name="namedMemberAttributes">
       
    79         <xs:attribute name="name" type="xs:Name" use="required" />
       
    80     </xs:attributeGroup>
       
    81     <xs:attributeGroup name="typedMemberAttributes">
       
    82         <xs:attribute name="type" type="xs:Name" />
       
    83     </xs:attributeGroup>
       
    84 </xs:schema>