Sync with 5.4.1
[deliverable/titan.core.git] / regression_test / XML / XmlWorkflow / xsd / type_substitution_abstract_block.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
3 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
4 xmlns:tys="www.example.org/type/substitution/abstract/block"
5 targetNamespace="www.example.org/type/substitution/abstract/block" blockDefault="extension">
6
7
8 <xsd:element name="head" type="tys:ParentType"/>
9
10 <!-- SUBSTITUTABLE PARENT TYPE -->
11 <!-- type substitutiongroup generated, because has elemet declaration -->
12 <xsd:complexType name="ParentType" abstract="true" block="restriction extension">
13 <xsd:sequence>
14 <xsd:element name="foo" minOccurs="0" maxOccurs="unbounded" type="xsd:string" />
15 <xsd:element name="bar" type="xsd:string"/>
16 </xsd:sequence>
17 </xsd:complexType>
18
19 <xsd:element name="RestrictedTypeElem" type="tys:restrictedType"/>
20 <!-- type substitutiongroup generated, because has elemet declaration -->
21 <xsd:complexType name="restrictedType">
22 <xsd:complexContent>
23 <xsd:restriction base="tys:ParentType">
24 <xsd:sequence>
25 <xsd:element name="foo" minOccurs="1" maxOccurs="unbounded" type="xsd:string"/>
26 <xsd:element name="bar" type="xsd:string"/>
27 </xsd:sequence>
28 </xsd:restriction>
29 </xsd:complexContent>
30 </xsd:complexType>
31
32 <!-- type substitutiongroup generated, because the parent has elemet declaration -->
33 <xsd:complexType name="restrictedType2">
34 <xsd:complexContent>
35 <xsd:restriction base="tys:restrictedType">
36 <xsd:sequence>
37 <xsd:element name="foo" minOccurs="2" maxOccurs="unbounded" type="xsd:string"/>
38 <xsd:element name="bar" type="xsd:string"/>
39 </xsd:sequence>
40 </xsd:restriction>
41 </xsd:complexContent>
42 </xsd:complexType>
43
44 <!-- Added to restrictedtype_derivations -->
45 <xsd:complexType name="restrictedType2.1">
46 <xsd:complexContent>
47 <xsd:restriction base="tys:restrictedType">
48 <xsd:sequence>
49 <xsd:element name="foo" minOccurs="2" maxOccurs="5" type="xsd:string"/>
50 <xsd:element name="bar" type="xsd:string"/>
51 </xsd:sequence>
52 </xsd:restriction>
53 </xsd:complexContent>
54 </xsd:complexType>
55
56 <!-- No type substitutiongroup generated, because the parent lacks elemet declaration -->
57 <xsd:complexType name="restrictedType3">
58 <xsd:complexContent>
59 <xsd:restriction base="tys:restrictedType2">
60 <xsd:sequence>
61 <xsd:element name="foo" minOccurs="3" maxOccurs="unbounded" type="xsd:string"/>
62 <xsd:element name="bar" type="xsd:string"/>
63 </xsd:sequence>
64 </xsd:restriction>
65 </xsd:complexContent>
66 </xsd:complexType>
67
68 <xsd:element name="extendedElement" type="tys:extendedType"/>
69 <xsd:complexType name="extendedType" block="restriction">
70 <xsd:complexContent>
71 <xsd:extension base="tys:ParentType">
72 <xsd:sequence>
73 </xsd:sequence>
74 <xsd:attribute name="attr1" type="string" />
75 </xsd:extension>
76 </xsd:complexContent>
77 </xsd:complexType>
78
79 <xsd:complexType name="restrictedExtendedType">
80 <xsd:complexContent>
81 <xsd:restriction base="tys:extendedType">
82 <xsd:sequence>
83 <xsd:element name="foo" minOccurs="0" maxOccurs="unbounded" type="xsd:string"/>
84 <xsd:element name="bar" type="xsd:string"/>
85 </xsd:sequence>
86 <xsd:attribute name="attr1" type="string" use="prohibited" />
87 </xsd:restriction>
88 </xsd:complexContent>
89 </xsd:complexType>
90
91 </xsd:schema>
This page took 0.033337 seconds and 6 git commands to generate.