xommelier 0.1.21 → 0.1.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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>