Skip to content

Commit 7890f33

Browse files
committed
minor symfony#22428 [HttpFoundation] Store IANA's RNG files in the repository (dunglas)
This PR was merged into the 2.7 branch. Discussion ---------- [HttpFoundation] Store IANA's RNG files in the repository | Q | A | ------------- | --- | Branch? | 2.7 | Bug fix? | no | New feature? | no <!-- don't forget updating src/**/CHANGELOG.md files --> | BC breaks? | no | Deprecations? | no <!-- don't forget updating UPGRADE-*.md files --> | Tests pass? | yes | Fixed tickets | n/a | License | MIT | Doc PR | n/a Follows symfony#22357. /cc @fcabralpacheco Commits ------- 4d2c454 [HttpFoundation] Store IANA's RNG files in the repository
2 parents 5742958 + 4d2c454 commit 7890f33

File tree

3 files changed

+230
-1
lines changed

3 files changed

+230
-1
lines changed

src/Symfony/Component/HttpFoundation/Tests/ResponseTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -906,7 +906,7 @@ public function ianaCodesReasonPhrasesProvider()
906906
)));
907907

908908
$ianaHttpStatusCodes->load('https://www.iana.org/assignments/http-status-codes/http-status-codes.xml');
909-
if (!$ianaHttpStatusCodes->relaxNGValidate('https://www.iana.org/assignments/http-status-codes/http-status-codes.rng')) {
909+
if (!$ianaHttpStatusCodes->relaxNGValidate(__DIR__.'/schema/http-status-codes.rng')) {
910910
self::fail('Invalid IANA\'s HTTP status code list.');
911911
}
912912

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
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+
<include href="iana-registry.rng"/>
7+
8+
<start>
9+
<element name="registry">
10+
<ref name="registryMeta"/>
11+
<element name="registry">
12+
<ref name="registryMeta"/>
13+
<zeroOrMore>
14+
<element name="record">
15+
<optional>
16+
<attribute name="date"><ref name="genericDate"/></attribute>
17+
</optional>
18+
<optional>
19+
<attribute name="updated"><ref name="genericDate"/></attribute>
20+
</optional>
21+
<element name="value"><ref name="genericRange"/></element>
22+
<element name="description"><text/></element>
23+
<ref name="references"/>
24+
</element>
25+
</zeroOrMore>
26+
</element>
27+
<ref name="people"/>
28+
</element>
29+
</start>
30+
31+
</grammar>
Lines changed: 198 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,198 @@
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>

0 commit comments

Comments
 (0)