File: issue_245.xsd

package info (click to toggle)
python-xmlschema 4.1.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 5,208 kB
  • sloc: python: 39,174; xml: 1,282; makefile: 36
file content (94 lines) | stat: -rw-r--r-- 4,894 bytes parent folder | download | duplicates (3)
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning" elementFormDefault="qualified"
    attributeFormDefault="unqualified" vc:minVersion="1.1"
    targetNamespace="http://www.test.com/XMLSchema/data/2021"
    xmlns="http://www.test.com/XMLSchema/data/2021"
    xmlns:ad="http://www.test.com/XMLSchema/data/2021">
    <xs:element name="assessment">
        <xs:annotation>
            <xs:documentation>Data about the performed tests.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element maxOccurs="unbounded" minOccurs="0" name="part" type="AssessmentPart">
                    <xs:key name="circle_id_key">
                        <xs:annotation>
                            <xs:documentation>For ContrastVisionTest. 

Since all parts are types we can not add keys and keyrefs to them. As such, we add the constraints here.</xs:documentation>
                        </xs:annotation>
                        <xs:selector xpath="ad:screen_elements/ad:contrast_circles/ad:circle"/>
                        <xs:field xpath="@circle_id"/>
                    </xs:key>
                    <xs:keyref name="circle_id_keyref" refer="circle_id_key">
                        <xs:selector xpath="ad:events/ad:circle_pressed"/>
                        <xs:field xpath="@circle_id"/>
                    </xs:keyref>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:complexType abstract="true" name="AssessmentPart">
        <xs:annotation>
            <xs:documentation>Base type for the assessment element.</xs:documentation>
        </xs:annotation>
    </xs:complexType>
    <xs:complexType abstract="true" name="AssessmentTest">
        <xs:annotation>
            <xs:documentation>Base type for a test.</xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="AssessmentPart"/>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ContrastVisionTest">
        <xs:complexContent>
            <xs:extension base="AssessmentTest">
                <xs:sequence>
                    <xs:element name="screen_elements">
                        <xs:complexType>
                            <xs:sequence>
                                <xs:element name="contrast_circles">
                                    <xs:complexType>
                                        <xs:sequence>
                                            <xs:element maxOccurs="3" name="circle" minOccurs="3">
                                                <xs:complexType>
                                                  <xs:attribute name="circle_id" use="required">
                                                  <xs:annotation>
                                                  <xs:documentation>The id of this circle, used to reference the circle presses.</xs:documentation>
                                                  </xs:annotation>
                                                  <xs:simpleType>
                                                  <xs:restriction base="xs:integer">
                                                  <xs:minInclusive value="0"/>
                                                  <xs:maxInclusive value="9"/>
                                                  </xs:restriction>
                                                  </xs:simpleType>
                                                  </xs:attribute>
                                                </xs:complexType>
                                            </xs:element>
                                        </xs:sequence>
                                    </xs:complexType>
                                </xs:element>
                            </xs:sequence>
                        </xs:complexType>
                    </xs:element>
                    <xs:element name="events">
                        <xs:complexType>
                            <xs:sequence>
                                <xs:element maxOccurs="unbounded" minOccurs="0"
                                    name="circle_pressed">
                                    <xs:complexType>
                                        <xs:attribute name="circle_id" type="xs:integer"
                                            use="required"/>
                                    </xs:complexType>
                                </xs:element>
                            </xs:sequence>
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
</xs:schema>