xommelier 0.1.21 → 0.1.22

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ ZjU0ZDkwNDcyZGMxZWM0Y2VjOGJmYTM2MGMwYzZlMTkxOTQzOGI5Ng==
5
+ data.tar.gz: !binary |-
6
+ MTE0YmQ4NTBlNzllYzA3M2ZjYTJkZGFkMGE2MTAyMjE5NWJjMGY2MQ==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ ZmI2MzE1ZmI0NGNhZjkwMTNhYzAyZmY4ZTM2NTk4ODVhNzRjM2VjNDJiMWRl
10
+ NjhmY2YyMzczMWMwMjlkNzMxMDdhZDQxZWI1NDAxYjM0MWQ5Zjg2MmY1OWEy
11
+ ZTZjMDNhMzRhYjA1YWU2Njg0NWViOWI4YzFkODkyMjlmNTM3YWU=
12
+ data.tar.gz: !binary |-
13
+ Njc2MmI1OWM1NzQ1OWEwY2E4YTc2MmJhMjI3ZjFlMWVjZTk1ZWE5YzY1M2Ey
14
+ YTVmNzlhMGRmMDNjMzg4ZmRlOGE0MmIwYTZhM2NiYzkyNWRiMjc0ODdiZjRh
15
+ YzFjODcxMzU5NzBhMTFmZmE2NTA3N2Q3NzRhOGNhM2ViMzU0MDE=
data/lib/xommelier/rss.rb CHANGED
@@ -57,12 +57,12 @@ module Xommelier
57
57
 
58
58
  class Element < Xml::Element
59
59
  def self.element(name, options = {})
60
- options[:as] ||= name.to_s.camelcase(:lower)
60
+ options[:as] ||= name.to_s.camelize(:lower)
61
61
  super
62
62
  end
63
63
 
64
64
  def self.attribute(name, options = {})
65
- options[:as] ||= name.to_s.camelcase(:lower)
65
+ options[:as] ||= name.to_s.camelize(:lower)
66
66
  super
67
67
  end
68
68
  end
@@ -1,240 +1,241 @@
1
- <?xml version="1.0" encoding="utf-8" ?>
2
- <xs:schema targetNamespace="http://www.w3.org/2005/Atom" elementFormDefault="qualified"
3
- attributeFormDefault="unqualified"
4
- xmlns:atom="http://www.w3.org/2005/Atom"
5
- xmlns:xs="http://www.w3.org/2001/XMLSchema"
6
- xmlns:xml="http://www.w3.org/XML/1998/namespace">
7
- <xs:annotation>
8
- <xs:documentation>
9
- This version of the Atom schema is based on version 1.0 of the format specifications,
10
- found here http://www.atomenabled.org/developers/syndication/atom-format-spec.php.
11
- </xs:documentation>
12
- </xs:annotation>
13
- <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/03/xml.xsd" />
14
- <xs:annotation>
15
- <xs:documentation>
16
- An Atom document may have two root elements, feed and entry, as defined in section 2.
17
- </xs:documentation>
18
- </xs:annotation>
19
- <xs:element name="feed" type="atom:feedType"/>
20
- <xs:element name="entry" type="atom:entryType"/>
21
- <xs:complexType name="textType" mixed="true">
22
- <xs:annotation>
23
- <xs:documentation>
24
- The Atom text construct is defined in section 3.1 of the format spec.
25
- </xs:documentation>
26
- </xs:annotation>
27
- <xs:sequence>
28
- <xs:any namespace="http://www.w3.org/1999/xhtml" minOccurs="0"/>
29
- </xs:sequence>
30
- <xs:attribute name="type" >
31
- <xs:simpleType>
32
- <xs:restriction base="xs:token">
33
- <xs:enumeration value="text"/>
34
- <xs:enumeration value="html"/>
35
- <xs:enumeration value="xhtml"/>
36
- </xs:restriction>
37
- </xs:simpleType>
38
- </xs:attribute>
39
- <xs:attributeGroup ref="atom:commonAttributes"/>
40
- </xs:complexType>
41
- <xs:complexType name="personType">
42
- <xs:annotation>
43
- <xs:documentation>
44
- The Atom person construct is defined in section 3.2 of the format spec.
45
- </xs:documentation>
46
- </xs:annotation>
47
- <xs:choice minOccurs="1" maxOccurs="unbounded">
48
- <xs:element name="name" type="xs:string" minOccurs="1" maxOccurs="1" />
49
- <xs:element name="uri" type="atom:uriType" minOccurs="0" maxOccurs="1" />
50
- <xs:element name="email" type="atom:emailType" minOccurs="0" maxOccurs="1" />
51
- <xs:any namespace="##other"/>
52
- </xs:choice>
53
- <xs:attributeGroup ref="atom:commonAttributes"/>
54
- </xs:complexType>
55
- <xs:simpleType name="emailType">
56
- <xs:annotation>
57
- <xs:documentation>
58
- Schema definition for an email address.
59
- </xs:documentation>
60
- </xs:annotation>
61
- <xs:restriction base="xs:normalizedString">
62
- <xs:pattern value="\w+@(\w+\.)+\w+" />
63
- </xs:restriction>
64
- </xs:simpleType>
65
- <xs:complexType name="feedType">
66
- <xs:annotation>
67
- <xs:documentation>
68
- The Atom feed construct is defined in section 4.1.1 of the format spec.
69
- </xs:documentation>
70
- </xs:annotation>
71
- <xs:choice minOccurs="3" maxOccurs="unbounded">
72
- <xs:element name="author" type="atom:personType" minOccurs="0" maxOccurs="unbounded" />
73
- <xs:element name="category" type="atom:categoryType" minOccurs="0" maxOccurs="unbounded" />
74
- <xs:element name="contributor" type="atom:personType" minOccurs="0" maxOccurs="unbounded" />
75
- <xs:element name="generator" type="atom:generatorType" minOccurs="0" maxOccurs="1" />
76
- <xs:element name="icon" type="atom:iconType" minOccurs="0" maxOccurs="1" />
77
- <xs:element name="id" type="atom:idType" minOccurs="1" maxOccurs="1" />
78
- <xs:element name="link" type="atom:linkType" minOccurs="0" maxOccurs="unbounded" />
79
- <xs:element name="logo" type="atom:logoType" minOccurs="0" maxOccurs="1" />
80
- <xs:element name="rights" type="atom:textType" minOccurs="0" maxOccurs="1" />
81
- <xs:element name="subtitle" type="atom:textType" minOccurs="0" maxOccurs="1" />
82
- <xs:element name="title" type="atom:textType" minOccurs="1" maxOccurs="1" />
83
- <xs:element name="updated" type="atom:dateTimeType" minOccurs="1" maxOccurs="1" />
84
- <xs:element name="entry" type="atom:entryType" minOccurs="0" maxOccurs="unbounded" />
85
- <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
86
- </xs:choice>
87
- <xs:attributeGroup ref="atom:commonAttributes"/>
88
- </xs:complexType>
89
- <xs:complexType name="entryType">
90
- <xs:annotation>
91
- <xs:documentation>
92
- The Atom entry construct is defined in section 4.1.2 of the format spec.
93
- </xs:documentation>
94
- </xs:annotation>
95
- <xs:choice maxOccurs="unbounded">
96
- <xs:element name="author" type="atom:personType" minOccurs="0" maxOccurs="unbounded" />
97
- <xs:element name="category" type="atom:categoryType" minOccurs="0" maxOccurs="unbounded" />
98
- <xs:element name="content" type="atom:contentType" minOccurs="0" maxOccurs="1" />
99
- <xs:element name="contributor" type="atom:personType" minOccurs="0" maxOccurs="unbounded" />
100
- <xs:element name="id" type="atom:idType" minOccurs="1" maxOccurs="1" />
101
- <xs:element name="link" type="atom:linkType" minOccurs="0" maxOccurs="unbounded" />
102
- <xs:element name="published" type="atom:dateTimeType" minOccurs="0" maxOccurs="1" />
103
- <xs:element name="rights" type="atom:textType" minOccurs="0" maxOccurs="1" />
104
- <xs:element name="source" type="atom:textType" minOccurs="0" maxOccurs="1" />
105
- <xs:element name="summary" type="atom:textType" minOccurs="0" maxOccurs="1" />
106
- <xs:element name="title" type="atom:textType" minOccurs="1" maxOccurs="1" />
107
- <xs:element name="updated" type="atom:dateTimeType" minOccurs="1" maxOccurs="1" />
108
- <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
109
- </xs:choice>
110
- <xs:attributeGroup ref="atom:commonAttributes"/>
111
- </xs:complexType>
112
- <xs:complexType name="contentType" mixed="true">
113
- <xs:annotation>
114
- <xs:documentation>
115
- The Atom content construct is defined in section 4.1.3 of the format spec.
116
- </xs:documentation>
117
- </xs:annotation>
118
- <xs:sequence>
119
- <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded" />
120
- </xs:sequence>
121
- <xs:attribute name="type" type="xs:string"/>
122
- <xs:attribute name="src" type="xs:anyURI"/>
123
- <xs:attributeGroup ref="atom:commonAttributes"/>
124
- </xs:complexType>
125
- <xs:complexType name="categoryType">
126
- <xs:annotation>
127
- <xs:documentation>
128
- The Atom cagegory construct is defined in section 4.2.2 of the format spec.
129
- </xs:documentation>
130
- </xs:annotation>
131
- <xs:attribute name="term" type="xs:string" use="required"/>
132
- <xs:attribute name="scheme" type="xs:anyURI" use="optional"/>
133
- <xs:attribute name="label" type="xs:string" use="optional"/>
134
- <xs:attributeGroup ref="atom:commonAttributes" />
135
- </xs:complexType>
136
- <xs:complexType name="generatorType">
137
- <xs:annotation>
138
- <xs:documentation>
139
- The Atom generator element is defined in section 4.2.4 of the format spec.
140
- </xs:documentation>
141
- </xs:annotation>
142
- <xs:simpleContent>
143
- <xs:extension base="xs:string">
144
- <xs:attribute name="uri" use="optional" type="xs:anyURI" />
145
- <xs:attribute name="version" use="optional" type="xs:string" />
146
- <xs:attributeGroup ref="atom:commonAttributes"/>
147
- </xs:extension>
148
- </xs:simpleContent>
149
- </xs:complexType>
150
- <xs:complexType name="iconType">
151
- <xs:annotation>
152
- <xs:documentation>
153
- The Atom icon construct is defined in section 4.2.5 of the format spec.
154
- </xs:documentation>
155
- </xs:annotation>
156
- <xs:simpleContent>
157
- <xs:extension base="xs:anyURI">
158
- <xs:attributeGroup ref="atom:commonAttributes"/>
159
- </xs:extension>
160
- </xs:simpleContent>
161
- </xs:complexType>
162
- <xs:complexType name="idType">
163
- <xs:annotation>
164
- <xs:documentation>
165
- The Atom id construct is defined in section 4.2.6 of the format spec.
166
- </xs:documentation>
167
- </xs:annotation>
168
- <xs:simpleContent>
169
- <xs:extension base="xs:anyURI">
170
- <xs:attributeGroup ref="atom:commonAttributes"/>
171
- </xs:extension>
172
- </xs:simpleContent>
173
- </xs:complexType>
174
- <xs:complexType name="linkType" mixed="true">
175
- <xs:annotation>
176
- <xs:documentation>
177
- The Atom link construct is defined in section 3.4 of the format spec.
178
- </xs:documentation>
179
- </xs:annotation>
180
- <xs:attribute name="href" use="required" type="xs:anyURI" />
181
- <xs:attribute name="rel" type="xs:string" use="optional"/>
182
- <xs:attribute name="type" use="optional" type="xs:string" />
183
- <xs:attribute name="hreflang" use="optional" type="xs:NMTOKEN" />
184
- <xs:attribute name="title" use="optional" type="xs:string" />
185
- <xs:attribute name="length" use="optional" type="xs:positiveInteger" />
186
- <xs:attributeGroup ref="atom:commonAttributes"/>
187
- </xs:complexType>
188
- <xs:complexType name="logoType">
189
- <xs:annotation>
190
- <xs:documentation>
191
- The Atom logo construct is defined in section 4.2.8 of the format spec.
192
- </xs:documentation>
193
- </xs:annotation>
194
- <xs:simpleContent>
195
- <xs:extension base="xs:anyURI">
196
- <xs:attributeGroup ref="atom:commonAttributes"/>
197
- </xs:extension>
198
- </xs:simpleContent>
199
- </xs:complexType>
200
- <xs:complexType name="sourceType">
201
- <xs:annotation>
202
- <xs:documentation>
203
- The Atom source construct is defined in section 4.2.11 of the format spec.
204
- </xs:documentation>
205
- </xs:annotation>
206
- <xs:choice maxOccurs="unbounded">
207
- <xs:element name="author" type="atom:personType" minOccurs="0" maxOccurs="unbounded"/>
208
- <xs:element name="category" type="atom:categoryType" minOccurs="0" maxOccurs="unbounded"/>
209
- <xs:element name="contributor" type="atom:personType" minOccurs="0" maxOccurs="unbounded"/>
210
- <xs:element name="generator" type="atom:generatorType" minOccurs="0" maxOccurs="1"/>
211
- <xs:element name="icon" type="atom:iconType" minOccurs="0" maxOccurs="1"/>
212
- <xs:element name="id" type="atom:idType" minOccurs="0" maxOccurs="1"/>
213
- <xs:element name="link" type="atom:linkType" minOccurs="0" maxOccurs="unbounded"/>
214
- <xs:element name="logo" type="atom:logoType" minOccurs="0" maxOccurs="1"/>
215
- <xs:element name="rights" type="atom:textType" minOccurs="0" maxOccurs="1"/>
216
- <xs:element name="subtitle" type="atom:textType" minOccurs="0" maxOccurs="1"/>
217
- <xs:element name="title" type="atom:textType" minOccurs="0" maxOccurs="1"/>
218
- <xs:element name="updated" type="atom:dateTimeType" minOccurs="0" maxOccurs="1"/>
219
- <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
220
- </xs:choice>
221
- <xs:attributeGroup ref="atom:commonAttributes"/>
222
- </xs:complexType>
223
- <xs:complexType name="uriType">
224
- <xs:simpleContent>
225
- <xs:extension base="xs:anyURI">
226
- <xs:attributeGroup ref="atom:commonAttributes"/>
227
- </xs:extension>
228
- </xs:simpleContent>
229
- </xs:complexType>
230
- <xs:complexType name="dateTimeType">
231
- <xs:simpleContent>
232
- <xs:extension base="xs:dateTime">
233
- <xs:attributeGroup ref="atom:commonAttributes"/>
234
- </xs:extension>
235
- </xs:simpleContent>
236
- </xs:complexType>
237
- <xs:attributeGroup name="commonAttributes">
238
- <xs:anyAttribute namespace="##other"/>
239
- </xs:attributeGroup>
240
- </xs:schema>
1
+ <?xml version="1.0" encoding="utf-8" ?>
2
+ <?xml-stylesheet href="xsd.xsl" type="text/xsl"?>
3
+ <xs:schema targetNamespace="http://www.w3.org/2005/Atom" elementFormDefault="qualified"
4
+ attributeFormDefault="unqualified"
5
+ xmlns:atom="http://www.w3.org/2005/Atom"
6
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
7
+ xmlns:xml="http://www.w3.org/XML/1998/namespace">
8
+ <xs:annotation>
9
+ <xs:documentation>
10
+ This version of the Atom schema is based on version 1.0 of the format specifications,
11
+ found here http://www.atomenabled.org/developers/syndication/atom-format-spec.php.
12
+ </xs:documentation>
13
+ </xs:annotation>
14
+ <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/03/xml.xsd" />
15
+ <xs:annotation>
16
+ <xs:documentation>
17
+ An Atom document may have two root elements, feed and entry, as defined in section 2.
18
+ </xs:documentation>
19
+ </xs:annotation>
20
+ <xs:element name="feed" type="atom:feedType"/>
21
+ <xs:element name="entry" type="atom:entryType"/>
22
+ <xs:complexType name="textType" mixed="true">
23
+ <xs:annotation>
24
+ <xs:documentation>
25
+ The Atom text construct is defined in section 3.1 of the format spec.
26
+ </xs:documentation>
27
+ </xs:annotation>
28
+ <xs:sequence>
29
+ <xs:any namespace="http://www.w3.org/1999/xhtml" minOccurs="0"/>
30
+ </xs:sequence>
31
+ <xs:attribute name="type" >
32
+ <xs:simpleType>
33
+ <xs:restriction base="xs:token">
34
+ <xs:enumeration value="text"/>
35
+ <xs:enumeration value="html"/>
36
+ <xs:enumeration value="xhtml"/>
37
+ </xs:restriction>
38
+ </xs:simpleType>
39
+ </xs:attribute>
40
+ <xs:attributeGroup ref="atom:commonAttributes"/>
41
+ </xs:complexType>
42
+ <xs:complexType name="personType">
43
+ <xs:annotation>
44
+ <xs:documentation>
45
+ The Atom person construct is defined in section 3.2 of the format spec.
46
+ </xs:documentation>
47
+ </xs:annotation>
48
+ <xs:choice minOccurs="1" maxOccurs="unbounded">
49
+ <xs:element name="name" type="xs:string" minOccurs="1" maxOccurs="1" />
50
+ <xs:element name="uri" type="atom:uriType" minOccurs="0" maxOccurs="1" />
51
+ <xs:element name="email" type="atom:emailType" minOccurs="0" maxOccurs="1" />
52
+ <xs:any namespace="##other"/>
53
+ </xs:choice>
54
+ <xs:attributeGroup ref="atom:commonAttributes"/>
55
+ </xs:complexType>
56
+ <xs:simpleType name="emailType">
57
+ <xs:annotation>
58
+ <xs:documentation>
59
+ Schema definition for an email address.
60
+ </xs:documentation>
61
+ </xs:annotation>
62
+ <xs:restriction base="xs:normalizedString">
63
+ <xs:pattern value="\w+@(\w+\.)+\w+" />
64
+ </xs:restriction>
65
+ </xs:simpleType>
66
+ <xs:complexType name="feedType">
67
+ <xs:annotation>
68
+ <xs:documentation>
69
+ The Atom feed construct is defined in section 4.1.1 of the format spec.
70
+ </xs:documentation>
71
+ </xs:annotation>
72
+ <xs:choice minOccurs="3" maxOccurs="unbounded">
73
+ <xs:element name="author" type="atom:personType" minOccurs="0" maxOccurs="unbounded" />
74
+ <xs:element name="category" type="atom:categoryType" minOccurs="0" maxOccurs="unbounded" />
75
+ <xs:element name="contributor" type="atom:personType" minOccurs="0" maxOccurs="unbounded" />
76
+ <xs:element name="generator" type="atom:generatorType" minOccurs="0" maxOccurs="1" />
77
+ <xs:element name="icon" type="atom:iconType" minOccurs="0" maxOccurs="1" />
78
+ <xs:element name="id" type="atom:idType" minOccurs="1" maxOccurs="1" />
79
+ <xs:element name="link" type="atom:linkType" minOccurs="0" maxOccurs="unbounded" />
80
+ <xs:element name="logo" type="atom:logoType" minOccurs="0" maxOccurs="1" />
81
+ <xs:element name="rights" type="atom:textType" minOccurs="0" maxOccurs="1" />
82
+ <xs:element name="subtitle" type="atom:textType" minOccurs="0" maxOccurs="1" />
83
+ <xs:element name="title" type="atom:textType" minOccurs="1" maxOccurs="1" />
84
+ <xs:element name="updated" type="atom:dateTimeType" minOccurs="1" maxOccurs="1" />
85
+ <xs:element name="entry" type="atom:entryType" minOccurs="0" maxOccurs="unbounded" />
86
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
87
+ </xs:choice>
88
+ <xs:attributeGroup ref="atom:commonAttributes"/>
89
+ </xs:complexType>
90
+ <xs:complexType name="entryType">
91
+ <xs:annotation>
92
+ <xs:documentation>
93
+ The Atom entry construct is defined in section 4.1.2 of the format spec.
94
+ </xs:documentation>
95
+ </xs:annotation>
96
+ <xs:choice maxOccurs="unbounded">
97
+ <xs:element name="author" type="atom:personType" minOccurs="0" maxOccurs="unbounded" />
98
+ <xs:element name="category" type="atom:categoryType" minOccurs="0" maxOccurs="unbounded" />
99
+ <xs:element name="content" type="atom:contentType" minOccurs="0" maxOccurs="1" />
100
+ <xs:element name="contributor" type="atom:personType" minOccurs="0" maxOccurs="unbounded" />
101
+ <xs:element name="id" type="atom:idType" minOccurs="1" maxOccurs="1" />
102
+ <xs:element name="link" type="atom:linkType" minOccurs="0" maxOccurs="unbounded" />
103
+ <xs:element name="published" type="atom:dateTimeType" minOccurs="0" maxOccurs="1" />
104
+ <xs:element name="rights" type="atom:textType" minOccurs="0" maxOccurs="1" />
105
+ <xs:element name="source" type="atom:textType" minOccurs="0" maxOccurs="1" />
106
+ <xs:element name="summary" type="atom:textType" minOccurs="0" maxOccurs="1" />
107
+ <xs:element name="title" type="atom:textType" minOccurs="1" maxOccurs="1" />
108
+ <xs:element name="updated" type="atom:dateTimeType" minOccurs="1" maxOccurs="1" />
109
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
110
+ </xs:choice>
111
+ <xs:attributeGroup ref="atom:commonAttributes"/>
112
+ </xs:complexType>
113
+ <xs:complexType name="contentType" mixed="true">
114
+ <xs:annotation>
115
+ <xs:documentation>
116
+ The Atom content construct is defined in section 4.1.3 of the format spec.
117
+ </xs:documentation>
118
+ </xs:annotation>
119
+ <xs:sequence>
120
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded" />
121
+ </xs:sequence>
122
+ <xs:attribute name="type" type="xs:string"/>
123
+ <xs:attribute name="src" type="xs:anyURI"/>
124
+ <xs:attributeGroup ref="atom:commonAttributes"/>
125
+ </xs:complexType>
126
+ <xs:complexType name="categoryType">
127
+ <xs:annotation>
128
+ <xs:documentation>
129
+ The Atom cagegory construct is defined in section 4.2.2 of the format spec.
130
+ </xs:documentation>
131
+ </xs:annotation>
132
+ <xs:attribute name="term" type="xs:string" use="required"/>
133
+ <xs:attribute name="scheme" type="xs:anyURI" use="optional"/>
134
+ <xs:attribute name="label" type="xs:string" use="optional"/>
135
+ <xs:attributeGroup ref="atom:commonAttributes" />
136
+ </xs:complexType>
137
+ <xs:complexType name="generatorType">
138
+ <xs:annotation>
139
+ <xs:documentation>
140
+ The Atom generator element is defined in section 4.2.4 of the format spec.
141
+ </xs:documentation>
142
+ </xs:annotation>
143
+ <xs:simpleContent>
144
+ <xs:extension base="xs:string">
145
+ <xs:attribute name="uri" use="optional" type="xs:anyURI" />
146
+ <xs:attribute name="version" use="optional" type="xs:string" />
147
+ <xs:attributeGroup ref="atom:commonAttributes"/>
148
+ </xs:extension>
149
+ </xs:simpleContent>
150
+ </xs:complexType>
151
+ <xs:complexType name="iconType">
152
+ <xs:annotation>
153
+ <xs:documentation>
154
+ The Atom icon construct is defined in section 4.2.5 of the format spec.
155
+ </xs:documentation>
156
+ </xs:annotation>
157
+ <xs:simpleContent>
158
+ <xs:extension base="xs:anyURI">
159
+ <xs:attributeGroup ref="atom:commonAttributes"/>
160
+ </xs:extension>
161
+ </xs:simpleContent>
162
+ </xs:complexType>
163
+ <xs:complexType name="idType">
164
+ <xs:annotation>
165
+ <xs:documentation>
166
+ The Atom id construct is defined in section 4.2.6 of the format spec.
167
+ </xs:documentation>
168
+ </xs:annotation>
169
+ <xs:simpleContent>
170
+ <xs:extension base="xs:anyURI">
171
+ <xs:attributeGroup ref="atom:commonAttributes"/>
172
+ </xs:extension>
173
+ </xs:simpleContent>
174
+ </xs:complexType>
175
+ <xs:complexType name="linkType" mixed="true">
176
+ <xs:annotation>
177
+ <xs:documentation>
178
+ The Atom link construct is defined in section 3.4 of the format spec.
179
+ </xs:documentation>
180
+ </xs:annotation>
181
+ <xs:attribute name="href" use="required" type="xs:anyURI" />
182
+ <xs:attribute name="rel" type="xs:string" use="optional"/>
183
+ <xs:attribute name="type" use="optional" type="xs:string" />
184
+ <xs:attribute name="hreflang" use="optional" type="xs:NMTOKEN" />
185
+ <xs:attribute name="title" use="optional" type="xs:string" />
186
+ <xs:attribute name="length" use="optional" type="xs:positiveInteger" />
187
+ <xs:attributeGroup ref="atom:commonAttributes"/>
188
+ </xs:complexType>
189
+ <xs:complexType name="logoType">
190
+ <xs:annotation>
191
+ <xs:documentation>
192
+ The Atom logo construct is defined in section 4.2.8 of the format spec.
193
+ </xs:documentation>
194
+ </xs:annotation>
195
+ <xs:simpleContent>
196
+ <xs:extension base="xs:anyURI">
197
+ <xs:attributeGroup ref="atom:commonAttributes"/>
198
+ </xs:extension>
199
+ </xs:simpleContent>
200
+ </xs:complexType>
201
+ <xs:complexType name="sourceType">
202
+ <xs:annotation>
203
+ <xs:documentation>
204
+ The Atom source construct is defined in section 4.2.11 of the format spec.
205
+ </xs:documentation>
206
+ </xs:annotation>
207
+ <xs:choice maxOccurs="unbounded">
208
+ <xs:element name="author" type="atom:personType" minOccurs="0" maxOccurs="unbounded"/>
209
+ <xs:element name="category" type="atom:categoryType" minOccurs="0" maxOccurs="unbounded"/>
210
+ <xs:element name="contributor" type="atom:personType" minOccurs="0" maxOccurs="unbounded"/>
211
+ <xs:element name="generator" type="atom:generatorType" minOccurs="0" maxOccurs="1"/>
212
+ <xs:element name="icon" type="atom:iconType" minOccurs="0" maxOccurs="1"/>
213
+ <xs:element name="id" type="atom:idType" minOccurs="0" maxOccurs="1"/>
214
+ <xs:element name="link" type="atom:linkType" minOccurs="0" maxOccurs="unbounded"/>
215
+ <xs:element name="logo" type="atom:logoType" minOccurs="0" maxOccurs="1"/>
216
+ <xs:element name="rights" type="atom:textType" minOccurs="0" maxOccurs="1"/>
217
+ <xs:element name="subtitle" type="atom:textType" minOccurs="0" maxOccurs="1"/>
218
+ <xs:element name="title" type="atom:textType" minOccurs="0" maxOccurs="1"/>
219
+ <xs:element name="updated" type="atom:dateTimeType" minOccurs="0" maxOccurs="1"/>
220
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
221
+ </xs:choice>
222
+ <xs:attributeGroup ref="atom:commonAttributes"/>
223
+ </xs:complexType>
224
+ <xs:complexType name="uriType">
225
+ <xs:simpleContent>
226
+ <xs:extension base="xs:anyURI">
227
+ <xs:attributeGroup ref="atom:commonAttributes"/>
228
+ </xs:extension>
229
+ </xs:simpleContent>
230
+ </xs:complexType>
231
+ <xs:complexType name="dateTimeType">
232
+ <xs:simpleContent>
233
+ <xs:extension base="xs:dateTime">
234
+ <xs:attributeGroup ref="atom:commonAttributes"/>
235
+ </xs:extension>
236
+ </xs:simpleContent>
237
+ </xs:complexType>
238
+ <xs:attributeGroup name="commonAttributes">
239
+ <xs:anyAttribute namespace="##other"/>
240
+ </xs:attributeGroup>
241
+ </xs:schema>