]> git.mxchange.org Git - quix0rs-gnu-social.git/blob - plugins/FeedSub/extlib/XML/Feed/schemas/rss11.rnc
Initial functional version of feed subscription plugin, currently supporting only...
[quix0rs-gnu-social.git] / plugins / FeedSub / extlib / XML / Feed / schemas / rss11.rnc
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>