Skip to content

Commit 2074f9c

Browse files
authored
Merge pull request #192 from alps-asd/xsd
Define custom types for 'rt' and 'rel' attributes in schema
2 parents 4d12465 + b83f770 commit 2074f9c

File tree

4 files changed

+973
-7
lines changed

4 files changed

+973
-7
lines changed

alps.xsd

Lines changed: 144 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,10 +105,10 @@
105105
<xs:attribute name="ext" type="xs:string"/>
106106
<xs:attribute name="name" type="xs:string"/>
107107
<xs:attribute name="title" type="xs:string"/>
108-
<xs:attribute name="rt" type="xs:string"/>
108+
<xs:attribute name="rt" type="rtType"/>
109109
<xs:attribute name="def" type="xs:anyURI"/>
110110
<xs:attribute name="tag" type="xs:string"/>
111-
<xs:attribute name="rel" type="xs:string"/>
111+
<xs:attribute name="rel" type="relType"/>
112112
<xs:anyAttribute/>
113113
</xs:complexType>
114114
<xs:complexType name="extType">
@@ -149,4 +149,146 @@
149149
</xs:extension>
150150
</xs:simpleContent>
151151
</xs:complexType>
152+
<xs:simpleType name="rtType">
153+
<xs:restriction base="xs:string">
154+
<xs:pattern value=".*#.*"/>
155+
</xs:restriction>
156+
</xs:simpleType>
157+
<xs:simpleType name="relType">
158+
<xs:union memberTypes="predefinedRelType strictUriType"/>
159+
</xs:simpleType>
160+
<xs:simpleType name="predefinedRelType">
161+
<xs:restriction base="xs:string">
162+
<xs:enumeration value="about"/>
163+
<xs:enumeration value="acl"/>
164+
<xs:enumeration value="alternate"/>
165+
<xs:enumeration value="amphtml"/>
166+
<xs:enumeration value="appendix"/>
167+
<xs:enumeration value="apple-touch-icon"/>
168+
<xs:enumeration value="apple-touch-startup-image"/>
169+
<xs:enumeration value="archives"/>
170+
<xs:enumeration value="author"/>
171+
<xs:enumeration value="blocked-by"/>
172+
<xs:enumeration value="bookmark"/>
173+
<xs:enumeration value="c2pa-manifest"/>
174+
<xs:enumeration value="canonical"/>
175+
<xs:enumeration value="chapter"/>
176+
<xs:enumeration value="cite-as"/>
177+
<xs:enumeration value="collection"/>
178+
<xs:enumeration value="compression-dictionary"/>
179+
<xs:enumeration value="contents"/>
180+
<xs:enumeration value="convertedfrom"/>
181+
<xs:enumeration value="copyright"/>
182+
<xs:enumeration value="create-form"/>
183+
<xs:enumeration value="current"/>
184+
<xs:enumeration value="describedby"/>
185+
<xs:enumeration value="describes"/>
186+
<xs:enumeration value="disclosure"/>
187+
<xs:enumeration value="dns-prefetch"/>
188+
<xs:enumeration value="duplicate"/>
189+
<xs:enumeration value="edit"/>
190+
<xs:enumeration value="edit-form"/>
191+
<xs:enumeration value="edit-media"/>
192+
<xs:enumeration value="enclosure"/>
193+
<xs:enumeration value="external"/>
194+
<xs:enumeration value="first"/>
195+
<xs:enumeration value="glossary"/>
196+
<xs:enumeration value="help"/>
197+
<xs:enumeration value="hosts"/>
198+
<xs:enumeration value="hub"/>
199+
<xs:enumeration value="ice-server"/>
200+
<xs:enumeration value="icon"/>
201+
<xs:enumeration value="index"/>
202+
<xs:enumeration value="intervalafter"/>
203+
<xs:enumeration value="intervalbefore"/>
204+
<xs:enumeration value="intervalcontains"/>
205+
<xs:enumeration value="intervaldisjoint"/>
206+
<xs:enumeration value="intervalduring"/>
207+
<xs:enumeration value="intervalequals"/>
208+
<xs:enumeration value="intervalfinishedby"/>
209+
<xs:enumeration value="intervalfinishes"/>
210+
<xs:enumeration value="intervalin"/>
211+
<xs:enumeration value="intervalmeets"/>
212+
<xs:enumeration value="intervalmetby"/>
213+
<xs:enumeration value="intervaloverlappedby"/>
214+
<xs:enumeration value="intervaloverlaps"/>
215+
<xs:enumeration value="intervalstartedby"/>
216+
<xs:enumeration value="intervalstarts"/>
217+
<xs:enumeration value="item"/>
218+
<xs:enumeration value="last"/>
219+
<xs:enumeration value="latest-version"/>
220+
<xs:enumeration value="license"/>
221+
<xs:enumeration value="linkset"/>
222+
<xs:enumeration value="lrdd"/>
223+
<xs:enumeration value="manifest"/>
224+
<xs:enumeration value="mask-icon"/>
225+
<xs:enumeration value="me"/>
226+
<xs:enumeration value="media-feed"/>
227+
<xs:enumeration value="memento"/>
228+
<xs:enumeration value="micropub"/>
229+
<xs:enumeration value="modulepreload"/>
230+
<xs:enumeration value="monitor"/>
231+
<xs:enumeration value="monitor-group"/>
232+
<xs:enumeration value="next"/>
233+
<xs:enumeration value="next-archive"/>
234+
<xs:enumeration value="nofollow"/>
235+
<xs:enumeration value="noopener"/>
236+
<xs:enumeration value="noreferrer"/>
237+
<xs:enumeration value="opener"/>
238+
<xs:enumeration value="openid2.local_id"/>
239+
<xs:enumeration value="openid2.provider"/>
240+
<xs:enumeration value="original"/>
241+
<xs:enumeration value="p3pv1"/>
242+
<xs:enumeration value="payment"/>
243+
<xs:enumeration value="pingback"/>
244+
<xs:enumeration value="preconnect"/>
245+
<xs:enumeration value="predecessor-version"/>
246+
<xs:enumeration value="prefetch"/>
247+
<xs:enumeration value="preload"/>
248+
<xs:enumeration value="prerender"/>
249+
<xs:enumeration value="prev"/>
250+
<xs:enumeration value="prev-archive"/>
251+
<xs:enumeration value="preview"/>
252+
<xs:enumeration value="previous"/>
253+
<xs:enumeration value="privacy-policy"/>
254+
<xs:enumeration value="profile"/>
255+
<xs:enumeration value="publication"/>
256+
<xs:enumeration value="related"/>
257+
<xs:enumeration value="replies"/>
258+
<xs:enumeration value="restconf"/>
259+
<xs:enumeration value="ruleinput"/>
260+
<xs:enumeration value="search"/>
261+
<xs:enumeration value="section"/>
262+
<xs:enumeration value="self"/>
263+
<xs:enumeration value="service"/>
264+
<xs:enumeration value="service-desc"/>
265+
<xs:enumeration value="service-doc"/>
266+
<xs:enumeration value="service-meta"/>
267+
<xs:enumeration value="sip-trunking-capability"/>
268+
<xs:enumeration value="sponsored"/>
269+
<xs:enumeration value="start"/>
270+
<xs:enumeration value="status"/>
271+
<xs:enumeration value="stylesheet"/>
272+
<xs:enumeration value="subsection"/>
273+
<xs:enumeration value="successor-version"/>
274+
<xs:enumeration value="sunset"/>
275+
<xs:enumeration value="tag"/>
276+
<xs:enumeration value="terms-of-service"/>
277+
<xs:enumeration value="timegate"/>
278+
<xs:enumeration value="timemap"/>
279+
<xs:enumeration value="type"/>
280+
<xs:enumeration value="ugc"/>
281+
<xs:enumeration value="up"/>
282+
<xs:enumeration value="version-history"/>
283+
<xs:enumeration value="via"/>
284+
<xs:enumeration value="webmention"/>
285+
<xs:enumeration value="working-copy"/>
286+
<xs:enumeration value="working-copy-of"/>
287+
</xs:restriction>
288+
</xs:simpleType>
289+
<xs:simpleType name="strictUriType">
290+
<xs:restriction base="xs:anyURI">
291+
<xs:pattern value="https?://.*"/>
292+
</xs:restriction>
293+
</xs:simpleType>
152294
</xs:schema>

0 commit comments

Comments
 (0)