Yaffs site version 1.1
[yaffs-website] / vendor / symfony / http-foundation / Tests / schema / iana-registry.rng
1 <?xml version='1.0'?>
2 <grammar xmlns="http://relaxng.org/ns/structure/1.0"
3   datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
4   ns="http://www.iana.org/assignments">
5
6   <define name="registryMeta">
7     <interleave>
8       <attribute name="id"><data type="ID"/></attribute>
9       <optional><element name="title"><ref name="text_with_references"/></element></optional>
10       <optional><element name="created"><ref name="genericDate"/></element></optional>
11       <optional><element name="updated"><data type="date"/></element></optional>
12       <optional><element name="registration_rule"><ref
13             name="text_with_references"/></element></optional>
14       <optional><element name="expert"><text/></element></optional>
15       <optional><element name="description"><ref name="text_with_references"/></element></optional>
16       <zeroOrMore><element name="note"><ref name="text_with_references"/></element></zeroOrMore>
17       <ref name="references"/>
18       <optional><element name="hide"><empty/></element></optional>
19       <zeroOrMore><element name="category"><text/></element></zeroOrMore>
20       <zeroOrMore><ref name="range"/></zeroOrMore>
21       <optional><ref name="file"/></optional>
22     </interleave>
23   </define>
24
25   <define name="range">
26     <element name="range">
27        <interleave>
28           <element name="value"><text/></element>
29           <optional><element name="hex"><text/></element></optional>
30           <element name="registration_rule"><ref name="text_with_references"/></element>
31           <optional><element name="note"><ref name="text_with_references"/></element></optional>
32           <optional><ref name="xref"/></optional>
33        </interleave>
34     </element>
35   </define>
36
37   <define name="people">
38     <element name="people">
39       <zeroOrMore>
40         <element name="person">
41           <attribute name="id"><data type="ID"/></attribute>
42           <optional><element name="name"><text/></element></optional>
43           <optional><element name="org"><text/></element></optional>
44           <zeroOrMore><element name="uri"><data type="anyURI"/></element></zeroOrMore>
45           <optional><element name="updated"><ref name="genericDate"/></element></optional>
46         </element>
47       </zeroOrMore>
48     </element>
49   </define>
50
51   <define name="xref">
52     <element name="xref">
53       <optional>
54         <attribute name="lastupdated"><ref name="genericDate"/></attribute>
55       </optional>
56       <choice>
57         <group>
58           <attribute name="type"><value>uri</value></attribute>
59           <attribute name="data"><data type="anyURI"/></attribute>
60         </group>
61         <group>
62           <attribute name="type"><value>rfc</value></attribute>
63           <attribute name="data">
64             <data type="string">
65               <param name="pattern">(rfc|bcp|std)\d+</param>
66             </data>
67           </attribute>
68         </group>
69         <group>
70           <attribute name="type"><value>rfc-errata</value></attribute>
71           <attribute name="data"><data type="positiveInteger"/></attribute>
72         </group>
73         <group>
74           <attribute name="type"><value>draft</value></attribute>
75           <attribute name="data">
76             <data type="string">
77               <param name="pattern">(draft|RFC)(-[a-zA-Z0-9]+)+</param>
78             </data>
79           </attribute>
80         </group>
81         <group>
82           <attribute name="type"><value>registry</value></attribute>
83           <attribute name="data"><data type="NCName"/></attribute>
84         </group>
85         <group>
86           <attribute name="type"><value>person</value></attribute>
87           <attribute name="data"><data type="NCName"/></attribute>
88         </group>
89         <group>
90           <attribute name="type"><value>text</value></attribute>
91         </group>
92         <group>
93           <attribute name="type"><value>note</value></attribute>
94           <attribute name="data"><data type="positiveInteger"/></attribute>
95         </group>
96         <group>
97           <attribute name="type"><value>unicode</value></attribute>
98           <attribute name="data">
99             <data type="string">
100               <param name="pattern">ucd\d+\.\d+\.\d+</param>
101             </data>
102           </attribute>
103         </group>
104       </choice>
105       <text/>
106     </element>
107   </define>
108
109   <define name="references">
110     <zeroOrMore>
111       <ref name="xref"/>
112     </zeroOrMore>
113   </define>
114
115   <define name="text_with_references">
116     <interleave>
117       <zeroOrMore>
118         <text/>
119         <optional><ref name="xref"/></optional>
120       </zeroOrMore>
121     </interleave>
122   </define>
123
124   <define name="richText">
125     <zeroOrMore>
126       <choice>
127         <interleave>
128           <ref name="text_with_references"/>
129           <optional><element name="br"><empty/></element></optional>
130         </interleave>
131         <element name="paragraph">
132           <interleave>
133             <ref name="text_with_references"/>
134             <optional><element name="br"><empty/></element></optional>
135           </interleave>
136         </element>
137         <element name="artwork"><text/></element>
138       </choice>
139     </zeroOrMore>
140   </define>
141
142   <define name="genericRange">
143     <data type="string">
144       <param name="pattern">(\d+|0x[\da-fA-F]+)(\s*-\s*(\d+|0x[\da-fA-F]+))?</param>
145     </data>
146   </define>
147
148   <define name="genericDate">
149     <choice>
150       <data type="date"/>
151       <data type="gYearMonth"/>
152     </choice>
153   </define>
154
155   <define name="hex32">
156     <data type="string">
157       <param name="pattern">0x[0-9]{8}</param>
158     </data>
159   </define>
160
161   <define name="binary">
162     <data type="string">
163       <param name="pattern">[0-1]+</param>
164     </data>
165   </define>
166
167   <define name="footnotes">
168     <zeroOrMore>
169       <element name="footnote">
170         <attribute name="anchor"><data type="positiveInteger"/></attribute>
171         <interleave>
172           <zeroOrMore>
173             <text/>
174             <optional><ref name="xref"/></optional>
175           </zeroOrMore>
176         </interleave>
177       </element>
178     </zeroOrMore>
179   </define>
180
181   <define name="file">
182     <element name="file">
183       <attribute name="type">
184         <choice>
185           <value>legacy</value>
186           <value>mib</value>
187           <value>template</value>
188           <value>json</value>
189         </choice>
190       </attribute>
191       <optional>
192         <attribute name="name"/>
193       </optional>
194       <data type="anyURI"/>
195     </element>
196   </define>
197
198 </grammar>