1328 |
aurelien |
1 |
<?xml version='1.0' encoding='UTF-8'?>
|
|
|
2 |
<!-- http://www.xml.com/lpt/a/2002/01/23/relaxng.html -->
|
|
|
3 |
<!-- http://www.oasis-open.org/committees/relax-ng/tutorial-20011203.html -->
|
|
|
4 |
<!-- http://www.zvon.org/xxl/XMLSchemaTutorial/Output/ser_wildcards_st8.html -->
|
|
|
5 |
|
|
|
6 |
<grammar xmlns='http://relaxng.org/ns/structure/1.0'
|
|
|
7 |
xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
|
|
|
8 |
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
|
|
|
9 |
ns='http://purl.org/rss/1.0/'
|
|
|
10 |
datatypeLibrary='http://www.w3.org/2001/XMLSchema-datatypes'>
|
|
|
11 |
|
|
|
12 |
<start>
|
|
|
13 |
<element name='RDF' ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
|
|
|
14 |
<ref name='RDFContent'/>
|
|
|
15 |
</element>
|
|
|
16 |
</start>
|
|
|
17 |
|
|
|
18 |
<define name='RDFContent' ns='http://purl.org/rss/1.0/'>
|
|
|
19 |
<interleave>
|
|
|
20 |
<element name='channel'>
|
|
|
21 |
<ref name='channelContent'/>
|
|
|
22 |
</element>
|
|
|
23 |
<optional>
|
|
|
24 |
<element name='image'><ref name='imageContent'/></element>
|
|
|
25 |
</optional>
|
|
|
26 |
<oneOrMore>
|
|
|
27 |
<element name='item'><ref name='itemContent'/></element>
|
|
|
28 |
</oneOrMore>
|
|
|
29 |
</interleave>
|
|
|
30 |
</define>
|
|
|
31 |
|
|
|
32 |
<define name='channelContent' combine="interleave">
|
|
|
33 |
<interleave>
|
|
|
34 |
<element name='title'><data type='string'/></element>
|
|
|
35 |
<element name='link'><data type='anyURI'/></element>
|
|
|
36 |
<element name='description'><data type='string'/></element>
|
|
|
37 |
<element name='image'>
|
|
|
38 |
<attribute name='resource' ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
|
|
|
39 |
<data type='anyURI'/>
|
|
|
40 |
</attribute>
|
|
|
41 |
</element>
|
|
|
42 |
<element name='items'>
|
|
|
43 |
<ref name='itemsContent'/>
|
|
|
44 |
</element>
|
|
|
45 |
<attribute name='about' ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
|
|
|
46 |
<data type='anyURI'/>
|
|
|
47 |
</attribute>
|
|
|
48 |
</interleave>
|
|
|
49 |
</define>
|
|
|
50 |
|
|
|
51 |
<define name="itemsContent">
|
|
|
52 |
<element name="Seq" ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
|
|
|
53 |
<oneOrMore>
|
|
|
54 |
<element name="li" ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
|
|
|
55 |
<choice>
|
|
|
56 |
<attribute name='resource'> <!-- Why doesn't RDF/RSS1.0 ns qualify this attribute? -->
|
|
|
57 |
<data type='anyURI'/>
|
|
|
58 |
</attribute>
|
|
|
59 |
<attribute name='resource' ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
|
|
|
60 |
<data type='anyURI'/>
|
|
|
61 |
</attribute>
|
|
|
62 |
</choice>
|
|
|
63 |
</element>
|
|
|
64 |
</oneOrMore>
|
|
|
65 |
</element>
|
|
|
66 |
</define>
|
|
|
67 |
|
|
|
68 |
<define name='imageContent'>
|
|
|
69 |
<interleave>
|
|
|
70 |
<element name='title'><data type='string'/></element>
|
|
|
71 |
<element name='link'><data type='anyURI'/></element>
|
|
|
72 |
<element name='url'><data type='anyURI'/></element>
|
|
|
73 |
<attribute name='about' ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
|
|
|
74 |
<data type='anyURI'/>
|
|
|
75 |
</attribute>
|
|
|
76 |
</interleave>
|
|
|
77 |
</define>
|
|
|
78 |
|
|
|
79 |
<define name='itemContent'>
|
|
|
80 |
<interleave>
|
|
|
81 |
<element name='title'><data type='string'/></element>
|
|
|
82 |
<element name='link'><data type='anyURI'/></element>
|
|
|
83 |
<optional><element name='description'><data type='string'/></element></optional>
|
|
|
84 |
<ref name="anyThing"/>
|
|
|
85 |
<attribute name='about' ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
|
|
|
86 |
<data type='anyURI'/>
|
|
|
87 |
</attribute>
|
|
|
88 |
</interleave>
|
|
|
89 |
</define>
|
|
|
90 |
|
|
|
91 |
|
|
|
92 |
<define name='anyThing'>
|
|
|
93 |
<zeroOrMore>
|
|
|
94 |
<choice>
|
|
|
95 |
<text/>
|
|
|
96 |
<element>
|
|
|
97 |
<anyName>
|
|
|
98 |
<except>
|
|
|
99 |
<nsName/>
|
|
|
100 |
</except>
|
|
|
101 |
</anyName>
|
|
|
102 |
<ref name='anyThing'/>
|
|
|
103 |
<zeroOrMore>
|
|
|
104 |
<attribute>
|
|
|
105 |
<anyName/>
|
|
|
106 |
</attribute>
|
|
|
107 |
</zeroOrMore>
|
|
|
108 |
</element>
|
|
|
109 |
</choice>
|
|
|
110 |
</zeroOrMore>
|
|
|
111 |
</define>
|
|
|
112 |
|
|
|
113 |
</grammar>
|