root/WebContent/WEB-INF/resources/schemas/observer-response.xsd

Revision 1740:c1b45041e2c7, 5.7 KB (checked in by Jean-Guilhem Rouel <jean-gui@…>, 6 months ago)

rename element type to typeid as type was already used

Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<xs:schema
3        xmlns="http://www.w3.org/2009/10/unicorn/observationresponse"
4        xmlns:xs="http://www.w3.org/2001/XMLSchema"
5        targetNamespace="http://www.w3.org/2009/10/unicorn/observationresponse"
6        elementFormDefault="qualified">
7        <xs:import
8                namespace="http://www.w3.org/XML/1998/namespace"
9                schemaLocation="http://www.w3.org/2001/xml.xsd"/>
10       
11        <xs:include schemaLocation="./xhtml/xhtml-basic10-modules-1.xsd"/>
12       
13        <!-- Simple types -->
14        <xs:simpleType name="collapseString.type">
15                <xs:restriction base="xs:string">
16                        <xs:whiteSpace value="collapse"/>
17                </xs:restriction>
18        </xs:simpleType>
19        <xs:simpleType name="range.type">
20                <xs:restriction base="xs:string">
21                        <xs:pattern value="[0-9]+-[0-9]+"/>
22                </xs:restriction>
23        </xs:simpleType>
24        <xs:simpleType name="percent.type">
25                <xs:restriction base="xs:integer">
26                        <xs:minInclusive value="0"/>
27                        <xs:maxInclusive value="100"/>
28                </xs:restriction>
29        </xs:simpleType>
30        <xs:simpleType name="message.level">
31                <xs:restriction base="xs:token">
32                        <xs:pattern value="error|warning|info"/>
33                </xs:restriction>
34        </xs:simpleType>
35
36        <!-- Complex Types -->
37        <xs:complexType name="status.type">
38                <xs:attribute name="value">
39                        <xs:simpleType>
40                                <xs:restriction base="xs:token">
41                                        <xs:pattern value="passed|failed|undef"/>
42                                </xs:restriction>
43                        </xs:simpleType>
44                </xs:attribute>
45                <xs:attribute name="rating" type="percent.type"/>
46        </xs:complexType>
47
48        <xs:complexType mixed="true" name="title.type">
49                <xs:sequence>
50                        <xs:element name="a" type="xhtml.a.type" minOccurs="0" maxOccurs="unbounded"/>
51                </xs:sequence>
52        </xs:complexType>
53
54        <xs:complexType mixed="true" name="description.type">
55                <xs:sequence>
56                        <xs:group ref="description.group" minOccurs="0" maxOccurs="unbounded"/>
57                </xs:sequence>
58        </xs:complexType>
59       
60        <xs:complexType name="context.type" mixed="true">
61                <xs:sequence>
62                        <xs:element name="strong" type="xhtml.strong.type" minOccurs="0" maxOccurs="unbounded"/>
63                </xs:sequence>
64                <xs:attribute name="line" type="xs:nonNegativeInteger"/>
65                <xs:attribute name="column" type="xs:nonNegativeInteger"/>
66                <xs:attribute name="line-range" type="range.type"/>
67                <xs:attribute name="column-range" type="range.type"/>
68                <xs:attribute name="offset" type="xs:nonNegativeInteger"/>
69                <xs:attribute name="position" type="xs:string"/>
70                <xs:attribute name="ref" type="xs:anyURI"/>
71        </xs:complexType>
72
73        <xs:complexType name="message.type">
74                <xs:sequence>
75                        <xs:element name="context" type="context.type" minOccurs="0" maxOccurs="unbounded"/>
76                        <xs:element name="title" type="title.type"/>
77                        <xs:element name="description" type="description.type" minOccurs="0"/>
78      <xs:element name="typeid" type="xs:string" minOccurs="0" />
79                </xs:sequence>
80                <xs:attribute name="id" type="xs:token"/>
81                <xs:attribute name="ref" type="xs:anyURI"/>
82                <xs:attribute name="type" use="required" type="message.level"/>
83                <xs:attribute name="group" type="xs:token"/>
84                <xs:attribute name="level" type="percent.type"/>
85                <xs:attribute ref="xml:lang"/>
86        </xs:complexType>
87
88        <xs:complexType name="list.type">
89                <xs:sequence>
90                        <xs:element name="message" type="message.type" maxOccurs="unbounded"/>
91                </xs:sequence>
92                <xs:attribute name="ref" type="xs:anyURI"/>
93                <xs:attribute name="group" type="xs:token"/>
94        </xs:complexType>
95
96        <xs:complexType name="group.type">
97                <xs:sequence>
98                        <xs:element name="title" type="collapseString.type"/>
99                        <xs:element name="description" type="description.type" minOccurs="0"/>
100                </xs:sequence>
101                <xs:attribute name="name" type="xs:token" use="required"/>
102                <xs:attribute name="parent" type="xs:token"/>
103                <xs:attribute ref="xml:lang"/>
104        </xs:complexType>
105
106        <!-- Root element -->
107        <xs:element name="observationresponse"> 
108                <xs:complexType>
109                        <xs:sequence>
110                                <xs:element name="status" type="status.type" minOccurs="0"/>
111                                <xs:group ref="messages" maxOccurs="unbounded"/>
112                                <xs:element name="status" type="status.type" minOccurs="0"/>
113                        </xs:sequence>
114                        <xs:attribute name="ref" use="required"/>
115                        <xs:attribute name="date" type="xs:dateTime"/>
116                        <xs:attribute ref="xml:lang" use="required"/>
117                </xs:complexType>
118        </xs:element>
119       
120        <!-- Groups -->
121        <xs:group name="messages">
122                <xs:choice>
123                        <xs:element name="list" type="list.type"/>
124                        <xs:element name="message" type="message.type"/>
125                        <xs:element name="group" type="group.type"/>
126                </xs:choice>
127        </xs:group>     
128       
129        <xs:group name="description.group">
130                <xs:choice>
131                        <xs:element name="address" type="xhtml.address.type" />
132                        <xs:element name="blockquote" type="xhtml.blockquote.type" />
133                        <xs:element name="pre" type="xhtml.pre.type" />
134                        <xs:element name="h1" type="xhtml.h1.type" />
135                        <xs:element name="h2" type="xhtml.h2.type" />
136                        <xs:element name="h3" type="xhtml.h3.type" />
137                        <xs:element name="h4" type="xhtml.h4.type" />
138                        <xs:element name="h5" type="xhtml.h5.type" />
139                        <xs:element name="h6" type="xhtml.h6.type" />
140                        <xs:element name="div" type="xhtml.div.type" />
141                        <xs:element name="p" type="xhtml.p.type" />
142                        <xs:element name="abbr" type="xhtml.abbr.type" />
143                        <xs:element name="acronym" type="xhtml.acronym.type" />
144                        <xs:element name="cite" type="xhtml.cite.type" />
145                        <xs:element name="code" type="xhtml.code.type" />
146                        <xs:element name="em" type="xhtml.em.type" />
147                        <xs:element name="br" type="xhtml.br.type" />
148                        <xs:element name="span" type="xhtml.span.type" />
149                        <xs:element name="a" type="xhtml.a.type" />
150                        <xs:element name="dt" type="xhtml.dt.type" />
151                        <xs:element name="dl" type="xhtml.dl.type" />
152                        <xs:element name="dd" type="xhtml.dd.type" />
153                        <xs:element name="ol" type="xhtml.ol.type" />
154                        <xs:element name="ul" type="xhtml.ul.type" />
155                        <xs:element name="li" type="xhtml.li.type" />
156                        <xs:element name="img" type="xhtml.img.type" />
157                        <xs:element name="strong" type="xhtml.strong.type" />
158                </xs:choice>
159        </xs:group>
160       
161</xs:schema>
Note: See TracBrowser for help on using the browser.