source: branches/dev/html/test/adachi/LLReader/Lib/XML/Feed/schemas/rss11.rnc @ 14612

Revision 14612, 5.0 KB checked in by adati, 17 years ago (diff)
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!--
3  RELAX NG Compact Schema for RSS 1.1
4  Sean B. Palmer, inamidst.com
5  Christopher Schmidt, crschmidt.net
6  License: This schema is in the public domain
7-->
8<grammar xmlns:rss="http://purl.org/net/rss1.1#" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" ns="http://purl.org/net/rss1.1#" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
9  <start>
10    <ref name="Channel"/>
11  </start>
12  <define name="Channel">
13    <a:documentation>http://purl.org/net/rss1.1#Channel</a:documentation>
14    <element name="Channel">
15      <ref name="Channel.content"/>
16
17    </element>
18  </define>
19  <define name="Channel.content">
20    <optional>
21      <ref name="AttrXMLLang"/>
22    </optional>
23    <optional>
24      <ref name="AttrXMLBase"/>
25    </optional>
26
27    <ref name="AttrRDFAbout"/>
28    <interleave>
29      <ref name="title"/>
30      <ref name="link"/>
31      <ref name="description"/>
32      <optional>
33        <ref name="image"/>
34      </optional>
35      <zeroOrMore>
36
37        <ref name="Any"/>
38      </zeroOrMore>
39      <ref name="items"/>
40    </interleave>
41  </define>
42  <define name="title">
43    <a:documentation>http://purl.org/net/rss1.1#title</a:documentation>
44    <element name="title">
45
46      <ref name="title.content"/>
47    </element>
48  </define>
49  <define name="title.content">
50    <optional>
51      <ref name="AttrXMLLang"/>
52    </optional>
53    <text/>
54  </define>
55
56  <define name="link">
57    <a:documentation>http://purl.org/net/rss1.1#link</a:documentation>
58    <element name="link">
59      <ref name="link.content"/>
60    </element>
61  </define>
62  <define name="link.content">
63    <data type="anyURI"/>
64
65  </define>
66  <define name="description">
67    <a:documentation>http://purl.org/net/rss1.1#description</a:documentation>
68    <element name="description">
69      <ref name="description.content"/>
70    </element>
71  </define>
72  <define name="description.content">
73
74    <optional>
75      <ref name="AttrXMLLang"/>
76    </optional>
77    <text/>
78  </define>
79  <define name="image">
80    <a:documentation>http://purl.org/net/rss1.1#image</a:documentation>
81    <element name="image">
82
83      <ref name="image.content"/>
84    </element>
85  </define>
86  <define name="image.content">
87    <optional>
88      <ref name="AttrXMLLang"/>
89    </optional>
90    <ref name="AttrRDFResource"/>
91    <interleave>
92
93      <ref name="title"/>
94      <optional>
95        <ref name="link"/>
96      </optional>
97      <ref name="url"/>
98      <zeroOrMore>
99        <ref name="Any"/>
100      </zeroOrMore>
101    </interleave>
102
103  </define>
104  <define name="url">
105    <a:documentation>http://purl.org/net/rss1.1#url</a:documentation>
106    <element name="url">
107      <ref name="url.content"/>
108    </element>
109  </define>
110  <define name="url.content">
111
112    <data type="anyURI"/>
113  </define>
114  <define name="items">
115    <a:documentation>http://purl.org/net/rss1.1#items</a:documentation>
116    <element name="items">
117      <ref name="items.content"/>
118    </element>
119  </define>
120
121  <define name="items.content">
122    <optional>
123      <ref name="AttrXMLLang"/>
124    </optional>
125    <ref name="AttrRDFCollection"/>
126    <zeroOrMore>
127      <ref name="item"/>
128    </zeroOrMore>
129  </define>
130
131  <define name="item">
132    <a:documentation>http://purl.org/net/rss1.1#item</a:documentation>
133    <element name="item">
134      <ref name="item.content"/>
135    </element>
136  </define>
137  <define name="item.content">
138    <optional>
139
140      <ref name="AttrXMLLang"/>
141    </optional>
142    <ref name="AttrRDFAbout"/>
143    <interleave>
144      <ref name="title"/>
145      <ref name="link"/>
146      <optional>
147        <ref name="description"/>
148      </optional>
149
150      <optional>
151        <ref name="image"/>
152      </optional>
153      <zeroOrMore>
154        <ref name="Any"/>
155      </zeroOrMore>
156    </interleave>
157  </define>
158  <define name="Any">
159
160    <a:documentation>http://purl.org/net/rss1.1#Any</a:documentation>
161    <element>
162      <anyName>
163        <except>
164          <nsName/>
165        </except>
166      </anyName>
167      <ref name="Any.content"/>
168
169    </element>
170  </define>
171  <define name="Any.content">
172    <zeroOrMore>
173      <attribute>
174        <anyName>
175          <except>
176            <nsName/>
177            <nsName ns=""/>
178
179          </except>
180        </anyName>
181      </attribute>
182    </zeroOrMore>
183    <mixed>
184      <zeroOrMore>
185        <ref name="Any"/>
186      </zeroOrMore>
187    </mixed>
188
189  </define>
190  <define name="AttrXMLLang">
191    <attribute name="xml:lang">
192      <data type="language"/>
193    </attribute>
194  </define>
195  <define name="AttrXMLBase">
196    <attribute name="xml:base">
197      <data type="anyURI"/>
198
199    </attribute>
200  </define>
201  <define name="AttrRDFAbout">
202    <attribute name="rdf:about">
203      <data type="anyURI"/>
204    </attribute>
205  </define>
206  <define name="AttrRDFResource">
207    <attribute name="rdf:parseType">
208
209      <value>Resource</value>
210    </attribute>
211  </define>
212  <define name="AttrRDFCollection">
213    <attribute name="rdf:parseType">
214      <value>Collection</value>
215    </attribute>
216  </define>
217
218</grammar>
Note: See TracBrowser for help on using the repository browser.