File: complex-extensions.xsd

package info (click to toggle)
python-xmlschema 4.1.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 5,208 kB
  • sloc: python: 39,174; xml: 1,282; makefile: 36
file content (64 lines) | stat: -rw-r--r-- 1,956 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="ns" targetNamespace="ns">

	<!-- Case 1: Legal complexContent extension (base complex content type is empty) -->
	<xs:complexType name="word">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="language" type="xs:string"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<xs:complexType name="external-word">
		<xs:complexContent>
			<xs:extension base="word">
				<xs:attribute name="other-language" default="italian"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>

	<!-- Case 2: Illegal complexContent extension with different content type -->
	<xs:complexType name="personType" mixed="true">
		<xs:sequence>
			<xs:element name="firstName" type="xs:string"/>
			<xs:element name="lastName" type="xs:string"/>
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="extPersonType">
		<xs:complexContent>
			<xs:extension base="personType">
				<xs:sequence>
					<xs:element name="birthDate" type="xs:date"/>
					<xs:element name="age" type="xs:short"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>

	<!-- Case 3: admitted complexContent extension from a simpleContent base -->
	<xs:complexType name="derivedComplexContentType">
		<xs:complexContent>
			<xs:extension base="complexBaseExpression">
				<xs:attribute name="resetTypeRef" type="xs:Name"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>

	<xs:complexType name="unsignedBitExpression">
        <xs:simpleContent>
          <xs:extension base="complexBaseExpression"/>
        </xs:simpleContent>
    </xs:complexType>

	<xs:complexType name="complexBaseExpression">
        <xs:simpleContent>
			<xs:extension base="xs:string">
            	<xs:attribute name="dummy" type="xs:string"/>
          	</xs:extension>
        </xs:simpleContent>
    </xs:complexType>

</xs:schema>