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">
6 <define name="registryMeta">
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>
26 <element name="range">
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>
37 <define name="people">
38 <element name="people">
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>
54 <attribute name="lastupdated"><ref name="genericDate"/></attribute>
58 <attribute name="type"><value>uri</value></attribute>
59 <attribute name="data"><data type="anyURI"/></attribute>
62 <attribute name="type"><value>rfc</value></attribute>
63 <attribute name="data">
65 <param name="pattern">(rfc|bcp|std)\d+</param>
70 <attribute name="type"><value>rfc-errata</value></attribute>
71 <attribute name="data"><data type="positiveInteger"/></attribute>
74 <attribute name="type"><value>draft</value></attribute>
75 <attribute name="data">
77 <param name="pattern">(draft|RFC)(-[a-zA-Z0-9]+)+</param>
82 <attribute name="type"><value>registry</value></attribute>
83 <attribute name="data"><data type="NCName"/></attribute>
86 <attribute name="type"><value>person</value></attribute>
87 <attribute name="data"><data type="NCName"/></attribute>
90 <attribute name="type"><value>text</value></attribute>
93 <attribute name="type"><value>note</value></attribute>
94 <attribute name="data"><data type="positiveInteger"/></attribute>
97 <attribute name="type"><value>unicode</value></attribute>
98 <attribute name="data">
100 <param name="pattern">ucd\d+\.\d+\.\d+</param>
109 <define name="references">
115 <define name="text_with_references">
119 <optional><ref name="xref"/></optional>
124 <define name="richText">
128 <ref name="text_with_references"/>
129 <optional><element name="br"><empty/></element></optional>
131 <element name="paragraph">
133 <ref name="text_with_references"/>
134 <optional><element name="br"><empty/></element></optional>
137 <element name="artwork"><text/></element>
142 <define name="genericRange">
144 <param name="pattern">(\d+|0x[\da-fA-F]+)(\s*-\s*(\d+|0x[\da-fA-F]+))?</param>
148 <define name="genericDate">
151 <data type="gYearMonth"/>
155 <define name="hex32">
157 <param name="pattern">0x[0-9]{8}</param>
161 <define name="binary">
163 <param name="pattern">[0-1]+</param>
167 <define name="footnotes">
169 <element name="footnote">
170 <attribute name="anchor"><data type="positiveInteger"/></attribute>
174 <optional><ref name="xref"/></optional>
182 <element name="file">
183 <attribute name="type">
185 <value>legacy</value>
187 <value>template</value>
192 <attribute name="name"/>
194 <data type="anyURI"/>