rfeedparser 0.9.940 → 0.9.950

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1468) hide show
  1. data/LICENSE +0 -0
  2. data/README +50 -27
  3. data/RUBY-TESTING +6 -3
  4. data/lib/rfeedparser.rb +93 -92
  5. data/lib/rfeedparser/better_sgmlparser.rb +1 -1
  6. data/lib/rfeedparser/encoding_helpers.rb +15 -9
  7. data/lib/rfeedparser/expat_parser.rb +159 -0
  8. data/lib/rfeedparser/libxml_parser.rb +76 -0
  9. data/lib/rfeedparser/loose_feed_parser.rb +75 -0
  10. data/lib/rfeedparser/markup_helpers.rb +1 -1
  11. data/lib/rfeedparser/monkey_patches.rb +10 -0
  12. data/lib/rfeedparser/parser_mixin.rb +41 -10
  13. data/lib/rfeedparser/time_helpers.rb +3 -3
  14. data/lib/rfeedparser/utilities.rb +1 -1
  15. data/tests/illformed/atom10/atom10_namespace.xml +0 -0
  16. data/tests/illformed/atom10/atom10_version.xml +0 -0
  17. data/tests/illformed/atom10/entry_author_email.xml +0 -0
  18. data/tests/illformed/atom10/entry_author_map_author.xml +0 -0
  19. data/tests/illformed/atom10/entry_author_map_author_2.xml +0 -0
  20. data/tests/illformed/atom10/entry_author_name.xml +0 -0
  21. data/tests/illformed/atom10/entry_author_uri.xml +0 -0
  22. data/tests/illformed/atom10/entry_author_url.xml +0 -0
  23. data/tests/illformed/atom10/entry_category_label.xml +0 -0
  24. data/tests/illformed/atom10/entry_category_scheme.xml +0 -0
  25. data/tests/illformed/atom10/entry_category_term.xml +0 -0
  26. data/tests/illformed/atom10/entry_content_application_xml.xml +0 -0
  27. data/tests/illformed/atom10/entry_content_base64.xml +0 -0
  28. data/tests/illformed/atom10/entry_content_base64_2.xml +0 -0
  29. data/tests/illformed/atom10/entry_content_escaped_markup.xml +0 -0
  30. data/tests/illformed/atom10/entry_content_inline_markup.xml +0 -0
  31. data/tests/illformed/atom10/entry_content_inline_markup_2.xml +0 -0
  32. data/tests/illformed/atom10/entry_content_src.xml +0 -0
  33. data/tests/illformed/atom10/entry_content_text_plain.xml +0 -0
  34. data/tests/illformed/atom10/entry_content_text_plain_brackets.xml +0 -0
  35. data/tests/illformed/atom10/entry_content_type.xml +0 -0
  36. data/tests/illformed/atom10/entry_content_type_text.xml +0 -0
  37. data/tests/illformed/atom10/entry_content_value.xml +0 -0
  38. data/tests/illformed/atom10/entry_contributor_email.xml +0 -0
  39. data/tests/illformed/atom10/entry_contributor_multiple.xml +0 -0
  40. data/tests/illformed/atom10/entry_contributor_name.xml +0 -0
  41. data/tests/illformed/atom10/entry_contributor_uri.xml +0 -0
  42. data/tests/illformed/atom10/entry_contributor_url.xml +0 -0
  43. data/tests/illformed/atom10/entry_id.xml +0 -0
  44. data/tests/illformed/atom10/entry_id_map_guid.xml +0 -0
  45. data/tests/illformed/atom10/entry_id_no_normalization_1.xml +0 -0
  46. data/tests/illformed/atom10/entry_id_no_normalization_2.xml +0 -0
  47. data/tests/illformed/atom10/entry_id_no_normalization_3.xml +0 -0
  48. data/tests/illformed/atom10/entry_id_no_normalization_4.xml +0 -0
  49. data/tests/illformed/atom10/entry_id_no_normalization_5.xml +0 -0
  50. data/tests/illformed/atom10/entry_id_no_normalization_6.xml +0 -0
  51. data/tests/illformed/atom10/entry_id_no_normalization_7.xml +0 -0
  52. data/tests/illformed/atom10/entry_link_alternate_map_link.xml +0 -0
  53. data/tests/illformed/atom10/entry_link_alternate_map_link_2.xml +0 -0
  54. data/tests/illformed/atom10/entry_link_alternate_map_link_3.xml +0 -0
  55. data/tests/illformed/atom10/entry_link_href.xml +0 -0
  56. data/tests/illformed/atom10/entry_link_hreflang.xml +0 -0
  57. data/tests/illformed/atom10/entry_link_length.xml +0 -0
  58. data/tests/illformed/atom10/entry_link_multiple.xml +0 -0
  59. data/tests/illformed/atom10/entry_link_no_rel.xml +0 -0
  60. data/tests/illformed/atom10/entry_link_rel.xml +0 -0
  61. data/tests/illformed/atom10/entry_link_rel_enclosure.xml +0 -0
  62. data/tests/illformed/atom10/entry_link_rel_enclosure_map_enclosure_length.xml +0 -0
  63. data/tests/illformed/atom10/entry_link_rel_enclosure_map_enclosure_type.xml +0 -0
  64. data/tests/illformed/atom10/entry_link_rel_enclosure_map_enclosure_url.xml +0 -0
  65. data/tests/illformed/atom10/entry_link_rel_other.xml +0 -0
  66. data/tests/illformed/atom10/entry_link_rel_related.xml +0 -0
  67. data/tests/illformed/atom10/entry_link_rel_self.xml +0 -0
  68. data/tests/illformed/atom10/entry_link_rel_via.xml +0 -0
  69. data/tests/illformed/atom10/entry_link_title.xml +0 -0
  70. data/tests/illformed/atom10/entry_link_type.xml +0 -0
  71. data/tests/illformed/atom10/entry_rights.xml +0 -0
  72. data/tests/illformed/atom10/entry_rights_content_value.xml +0 -0
  73. data/tests/illformed/atom10/entry_rights_escaped_markup.xml +0 -0
  74. data/tests/illformed/atom10/entry_rights_inline_markup.xml +0 -0
  75. data/tests/illformed/atom10/entry_rights_inline_markup_2.xml +0 -0
  76. data/tests/illformed/atom10/entry_rights_text_plain.xml +0 -0
  77. data/tests/illformed/atom10/entry_rights_text_plain_brackets.xml +0 -0
  78. data/tests/illformed/atom10/entry_rights_type_default.xml +0 -0
  79. data/tests/illformed/atom10/entry_rights_type_text.xml +0 -0
  80. data/tests/illformed/atom10/entry_source_author_email.xml +0 -0
  81. data/tests/illformed/atom10/entry_source_author_map_author.xml +0 -0
  82. data/tests/illformed/atom10/entry_source_author_map_author_2.xml +0 -0
  83. data/tests/illformed/atom10/entry_source_author_name.xml +0 -0
  84. data/tests/illformed/atom10/entry_source_author_uri.xml +0 -0
  85. data/tests/illformed/atom10/entry_source_category_label.xml +0 -0
  86. data/tests/illformed/atom10/entry_source_category_scheme.xml +0 -0
  87. data/tests/illformed/atom10/entry_source_category_term.xml +0 -0
  88. data/tests/illformed/atom10/entry_source_contributor_email.xml +0 -0
  89. data/tests/illformed/atom10/entry_source_contributor_multiple.xml +0 -0
  90. data/tests/illformed/atom10/entry_source_contributor_name.xml +0 -0
  91. data/tests/illformed/atom10/entry_source_contributor_uri.xml +0 -0
  92. data/tests/illformed/atom10/entry_source_generator.xml +0 -0
  93. data/tests/illformed/atom10/entry_source_generator_name.xml +0 -0
  94. data/tests/illformed/atom10/entry_source_generator_uri.xml +0 -0
  95. data/tests/illformed/atom10/entry_source_generator_version.xml +0 -0
  96. data/tests/illformed/atom10/entry_source_icon.xml +0 -0
  97. data/tests/illformed/atom10/entry_source_id.xml +0 -0
  98. data/tests/illformed/atom10/entry_source_link_alternate_map_link.xml +0 -0
  99. data/tests/illformed/atom10/entry_source_link_alternate_map_link_2.xml +0 -0
  100. data/tests/illformed/atom10/entry_source_link_href.xml +0 -0
  101. data/tests/illformed/atom10/entry_source_link_hreflang.xml +0 -0
  102. data/tests/illformed/atom10/entry_source_link_length.xml +0 -0
  103. data/tests/illformed/atom10/entry_source_link_multiple.xml +0 -0
  104. data/tests/illformed/atom10/entry_source_link_no_rel.xml +0 -0
  105. data/tests/illformed/atom10/entry_source_link_rel.xml +0 -0
  106. data/tests/illformed/atom10/entry_source_link_rel_other.xml +0 -0
  107. data/tests/illformed/atom10/entry_source_link_rel_related.xml +0 -0
  108. data/tests/illformed/atom10/entry_source_link_rel_self.xml +0 -0
  109. data/tests/illformed/atom10/entry_source_link_rel_via.xml +0 -0
  110. data/tests/illformed/atom10/entry_source_link_title.xml +0 -0
  111. data/tests/illformed/atom10/entry_source_link_type.xml +0 -0
  112. data/tests/illformed/atom10/entry_source_logo.xml +0 -0
  113. data/tests/illformed/atom10/entry_source_rights.xml +0 -0
  114. data/tests/illformed/atom10/entry_source_rights_base64.xml +0 -0
  115. data/tests/illformed/atom10/entry_source_rights_base64_2.xml +0 -0
  116. data/tests/illformed/atom10/entry_source_rights_content_type.xml +0 -0
  117. data/tests/illformed/atom10/entry_source_rights_content_type_text.xml +0 -0
  118. data/tests/illformed/atom10/entry_source_rights_content_value.xml +0 -0
  119. data/tests/illformed/atom10/entry_source_rights_escaped_markup.xml +0 -0
  120. data/tests/illformed/atom10/entry_source_rights_inline_markup.xml +0 -0
  121. data/tests/illformed/atom10/entry_source_rights_inline_markup_2.xml +0 -0
  122. data/tests/illformed/atom10/entry_source_rights_text_plain.xml +0 -0
  123. data/tests/illformed/atom10/entry_source_subittle_content_type_text.xml +0 -0
  124. data/tests/illformed/atom10/entry_source_subtitle.xml +0 -0
  125. data/tests/illformed/atom10/entry_source_subtitle_base64.xml +0 -0
  126. data/tests/illformed/atom10/entry_source_subtitle_base64_2.xml +0 -0
  127. data/tests/illformed/atom10/entry_source_subtitle_content_type.xml +0 -0
  128. data/tests/illformed/atom10/entry_source_subtitle_content_value.xml +0 -0
  129. data/tests/illformed/atom10/entry_source_subtitle_escaped_markup.xml +0 -0
  130. data/tests/illformed/atom10/entry_source_subtitle_inline_markup.xml +0 -0
  131. data/tests/illformed/atom10/entry_source_subtitle_inline_markup_2.xml +0 -0
  132. data/tests/illformed/atom10/entry_source_subtitle_text_plain.xml +0 -0
  133. data/tests/illformed/atom10/entry_source_title.xml +0 -0
  134. data/tests/illformed/atom10/entry_source_title_base64.xml +0 -0
  135. data/tests/illformed/atom10/entry_source_title_base64_2.xml +0 -0
  136. data/tests/illformed/atom10/entry_source_title_content_type.xml +0 -0
  137. data/tests/illformed/atom10/entry_source_title_content_type_text.xml +0 -0
  138. data/tests/illformed/atom10/entry_source_title_content_value.xml +0 -0
  139. data/tests/illformed/atom10/entry_source_title_escaped_markup.xml +0 -0
  140. data/tests/illformed/atom10/entry_source_title_inline_markup.xml +0 -0
  141. data/tests/illformed/atom10/entry_source_title_inline_markup_2.xml +0 -0
  142. data/tests/illformed/atom10/entry_source_title_text_plain.xml +0 -0
  143. data/tests/illformed/atom10/entry_summary.xml +0 -0
  144. data/tests/illformed/atom10/entry_summary_base64.xml +0 -0
  145. data/tests/illformed/atom10/entry_summary_base64_2.xml +0 -0
  146. data/tests/illformed/atom10/entry_summary_content_value.xml +0 -0
  147. data/tests/illformed/atom10/entry_summary_escaped_markup.xml +0 -0
  148. data/tests/illformed/atom10/entry_summary_inline_markup.xml +0 -0
  149. data/tests/illformed/atom10/entry_summary_inline_markup_2.xml +0 -0
  150. data/tests/illformed/atom10/entry_summary_text_plain.xml +0 -0
  151. data/tests/illformed/atom10/entry_summary_type_default.xml +0 -0
  152. data/tests/illformed/atom10/entry_summary_type_text.xml +0 -0
  153. data/tests/illformed/atom10/entry_title.xml +0 -0
  154. data/tests/illformed/atom10/entry_title_base64.xml +0 -0
  155. data/tests/illformed/atom10/entry_title_base64_2.xml +0 -0
  156. data/tests/illformed/atom10/entry_title_content_value.xml +0 -0
  157. data/tests/illformed/atom10/entry_title_escaped_markup.xml +0 -0
  158. data/tests/illformed/atom10/entry_title_inline_markup.xml +0 -0
  159. data/tests/illformed/atom10/entry_title_inline_markup_2.xml +0 -0
  160. data/tests/illformed/atom10/entry_title_text_plain.xml +0 -0
  161. data/tests/illformed/atom10/entry_title_text_plain_brackets.xml +0 -0
  162. data/tests/illformed/atom10/entry_title_type_default.xml +0 -0
  163. data/tests/illformed/atom10/entry_title_type_text.xml +0 -0
  164. data/tests/illformed/atom10/feed_author_email.xml +0 -0
  165. data/tests/illformed/atom10/feed_author_map_author.xml +0 -0
  166. data/tests/illformed/atom10/feed_author_map_author_2.xml +0 -0
  167. data/tests/illformed/atom10/feed_author_name.xml +0 -0
  168. data/tests/illformed/atom10/feed_author_uri.xml +0 -0
  169. data/tests/illformed/atom10/feed_author_url.xml +0 -0
  170. data/tests/illformed/atom10/feed_contributor_email.xml +0 -0
  171. data/tests/illformed/atom10/feed_contributor_multiple.xml +0 -0
  172. data/tests/illformed/atom10/feed_contributor_name.xml +0 -0
  173. data/tests/illformed/atom10/feed_contributor_uri.xml +0 -0
  174. data/tests/illformed/atom10/feed_contributor_url.xml +0 -0
  175. data/tests/illformed/atom10/feed_generator.xml +0 -0
  176. data/tests/illformed/atom10/feed_generator_name.xml +0 -0
  177. data/tests/illformed/atom10/feed_generator_url.xml +0 -0
  178. data/tests/illformed/atom10/feed_generator_version.xml +0 -0
  179. data/tests/illformed/atom10/feed_icon.xml +0 -0
  180. data/tests/illformed/atom10/feed_id.xml +0 -0
  181. data/tests/illformed/atom10/feed_id_map_guid.xml +0 -0
  182. data/tests/illformed/atom10/feed_link_alternate_map_link.xml +0 -0
  183. data/tests/illformed/atom10/feed_link_alternate_map_link_2.xml +0 -0
  184. data/tests/illformed/atom10/feed_link_href.xml +0 -0
  185. data/tests/illformed/atom10/feed_link_hreflang.xml +0 -0
  186. data/tests/illformed/atom10/feed_link_length.xml +0 -0
  187. data/tests/illformed/atom10/feed_link_multiple.xml +0 -0
  188. data/tests/illformed/atom10/feed_link_no_rel.xml +0 -0
  189. data/tests/illformed/atom10/feed_link_rel.xml +0 -0
  190. data/tests/illformed/atom10/feed_link_rel_other.xml +0 -0
  191. data/tests/illformed/atom10/feed_link_rel_related.xml +0 -0
  192. data/tests/illformed/atom10/feed_link_rel_self.xml +0 -0
  193. data/tests/illformed/atom10/feed_link_rel_via.xml +0 -0
  194. data/tests/illformed/atom10/feed_link_title.xml +0 -0
  195. data/tests/illformed/atom10/feed_link_type.xml +0 -0
  196. data/tests/illformed/atom10/feed_logo.xml +0 -0
  197. data/tests/illformed/atom10/feed_rights.xml +0 -0
  198. data/tests/illformed/atom10/feed_rights_base64.xml +0 -0
  199. data/tests/illformed/atom10/feed_rights_base64_2.xml +0 -0
  200. data/tests/illformed/atom10/feed_rights_content_type.xml +0 -0
  201. data/tests/illformed/atom10/feed_rights_content_type_text.xml +0 -0
  202. data/tests/illformed/atom10/feed_rights_content_value.xml +0 -0
  203. data/tests/illformed/atom10/feed_rights_escaped_markup.xml +0 -0
  204. data/tests/illformed/atom10/feed_rights_inline_markup.xml +0 -0
  205. data/tests/illformed/atom10/feed_rights_inline_markup_2.xml +0 -0
  206. data/tests/illformed/atom10/feed_rights_text_plain.xml +0 -0
  207. data/tests/illformed/atom10/feed_subtitle.xml +0 -0
  208. data/tests/illformed/atom10/feed_subtitle_base64.xml +0 -0
  209. data/tests/illformed/atom10/feed_subtitle_base64_2.xml +0 -0
  210. data/tests/illformed/atom10/feed_subtitle_content_type.xml +0 -0
  211. data/tests/illformed/atom10/feed_subtitle_content_type_text.xml +0 -0
  212. data/tests/illformed/atom10/feed_subtitle_content_value.xml +0 -0
  213. data/tests/illformed/atom10/feed_subtitle_escaped_markup.xml +0 -0
  214. data/tests/illformed/atom10/feed_subtitle_inline_markup.xml +0 -0
  215. data/tests/illformed/atom10/feed_subtitle_inline_markup_2.xml +0 -0
  216. data/tests/illformed/atom10/feed_subtitle_text_plain.xml +0 -0
  217. data/tests/illformed/atom10/feed_title.xml +0 -0
  218. data/tests/illformed/atom10/feed_title_base64.xml +0 -0
  219. data/tests/illformed/atom10/feed_title_base64_2.xml +0 -0
  220. data/tests/illformed/atom10/feed_title_content_type.xml +0 -0
  221. data/tests/illformed/atom10/feed_title_content_type_text.xml +0 -0
  222. data/tests/illformed/atom10/feed_title_content_value.xml +0 -0
  223. data/tests/illformed/atom10/feed_title_escaped_markup.xml +0 -0
  224. data/tests/illformed/atom10/feed_title_inline_markup.xml +0 -0
  225. data/tests/illformed/atom10/feed_title_inline_markup_2.xml +0 -0
  226. data/tests/illformed/atom10/feed_title_text_plain.xml +0 -0
  227. data/tests/illformed/atom10/relative_uri.xml +0 -0
  228. data/tests/illformed/atom10/relative_uri_inherit.xml +0 -0
  229. data/tests/illformed/atom10/relative_uri_inherit_2.xml +0 -0
  230. data/tests/illformed/base/entry_summary_xml_base.xml +0 -0
  231. data/tests/illformed/base/entry_summary_xml_base_inherit.xml +0 -0
  232. data/tests/illformed/base/entry_summary_xml_base_inherit_2.xml +0 -0
  233. data/tests/illformed/base/entry_summary_xml_base_inherit_3.xml +0 -0
  234. data/tests/illformed/base/entry_summary_xml_base_inherit_4.xml +0 -0
  235. data/tests/illformed/base/entry_title_xml_base.xml +0 -0
  236. data/tests/illformed/base/entry_title_xml_base_inherit.xml +0 -0
  237. data/tests/illformed/base/entry_title_xml_base_inherit_2.xml +0 -0
  238. data/tests/illformed/base/entry_title_xml_base_inherit_3.xml +0 -0
  239. data/tests/illformed/base/entry_title_xml_base_inherit_4.xml +0 -0
  240. data/tests/illformed/base/feed_copyright_xml_base.xml +0 -0
  241. data/tests/illformed/base/feed_copyright_xml_base_inherit.xml +0 -0
  242. data/tests/illformed/base/feed_copyright_xml_base_inherit_2.xml +0 -0
  243. data/tests/illformed/base/feed_copyright_xml_base_inherit_3.xml +0 -0
  244. data/tests/illformed/base/feed_copyright_xml_base_inherit_4.xml +0 -0
  245. data/tests/illformed/base/feed_info_xml_base.xml +0 -0
  246. data/tests/illformed/base/feed_info_xml_base_inherit.xml +0 -0
  247. data/tests/illformed/base/feed_info_xml_base_inherit_2.xml +0 -0
  248. data/tests/illformed/base/feed_info_xml_base_inherit_3.xml +0 -0
  249. data/tests/illformed/base/feed_info_xml_base_inherit_4.xml +0 -0
  250. data/tests/illformed/base/feed_tagline_xml_base.xml +0 -0
  251. data/tests/illformed/base/feed_tagline_xml_base_inherit.xml +0 -0
  252. data/tests/illformed/base/feed_tagline_xml_base_inherit_2.xml +0 -0
  253. data/tests/illformed/base/feed_tagline_xml_base_inherit_3.xml +0 -0
  254. data/tests/illformed/base/feed_tagline_xml_base_inherit_4.xml +0 -0
  255. data/tests/illformed/base/feed_title_xml_base.xml +0 -0
  256. data/tests/illformed/base/feed_title_xml_base_inherit.xml +0 -0
  257. data/tests/illformed/base/feed_title_xml_base_inherit_2.xml +0 -0
  258. data/tests/illformed/base/feed_title_xml_base_inherit_3.xml +0 -0
  259. data/tests/illformed/base/feed_title_xml_base_inherit_4.xml +0 -0
  260. data/tests/illformed/base/http_relative_xml_base.xml +0 -0
  261. data/tests/illformed/base/malformed_base.xml +0 -0
  262. data/tests/illformed/base/relative_xml_base.xml +0 -0
  263. data/tests/illformed/base/relative_xml_base_2.xml +0 -0
  264. data/tests/illformed/chardet/big5.xml +0 -0
  265. data/tests/illformed/chardet/eucjp.xml +0 -0
  266. data/tests/illformed/chardet/euckr.xml +0 -0
  267. data/tests/illformed/chardet/gb2312.xml +0 -0
  268. data/tests/illformed/chardet/koi8r.xml +0 -0
  269. data/tests/illformed/chardet/shiftjis.xml +0 -0
  270. data/tests/illformed/chardet/tis620.xml +0 -0
  271. data/tests/illformed/chardet/windows1255.xml +0 -0
  272. data/tests/illformed/date/channel_pubDate_greek_1.xml +0 -0
  273. data/tests/illformed/date/channel_pubDate_hungarian_1.xml +0 -0
  274. data/tests/illformed/date/channel_pubDate_korean_nate.xml +0 -0
  275. data/tests/illformed/date/channel_pubDate_mssql.xml +0 -0
  276. data/tests/illformed/date/channel_pubDate_mssql_nofraction.xml +0 -0
  277. data/tests/illformed/date/channel_pubDate_nosecond.xml +0 -0
  278. data/tests/illformed/date/channel_pubDate_notime.xml +0 -0
  279. data/tests/illformed/date/entry_created.xml +0 -0
  280. data/tests/illformed/date/entry_created_w3dtf_utc.xml +0 -0
  281. data/tests/illformed/date/entry_issued.xml +0 -0
  282. data/tests/illformed/date/entry_issued_w3dtf_utc.xml +0 -0
  283. data/tests/illformed/date/entry_modified.xml +0 -0
  284. data/tests/illformed/date/entry_modified_map_date.xml +0 -0
  285. data/tests/illformed/date/entry_modified_w3dtf_utc.xml +0 -0
  286. data/tests/illformed/date/entry_published_w3dtf_utc.xml +0 -0
  287. data/tests/illformed/date/entry_source_updated_w3dtf_utc.xml +0 -0
  288. data/tests/illformed/date/entry_updated_w3dtf_utc.xml +0 -0
  289. data/tests/illformed/date/feed_modified.xml +0 -0
  290. data/tests/illformed/date/feed_modified_asctime.xml +0 -0
  291. data/tests/illformed/date/feed_modified_disney.xml +0 -0
  292. data/tests/illformed/date/feed_modified_disney_at.xml +0 -0
  293. data/tests/illformed/date/feed_modified_disney_ct.xml +0 -0
  294. data/tests/illformed/date/feed_modified_disney_mt.xml +0 -0
  295. data/tests/illformed/date/feed_modified_disney_pt.xml +0 -0
  296. data/tests/illformed/date/feed_modified_iso8601_ym.xml +0 -0
  297. data/tests/illformed/date/feed_modified_iso8601_ym_2.xml +0 -0
  298. data/tests/illformed/date/feed_modified_iso8601_ymd.xml +0 -0
  299. data/tests/illformed/date/feed_modified_iso8601_ymd_2.xml +0 -0
  300. data/tests/illformed/date/feed_modified_iso8601_yo_2.xml +0 -0
  301. data/tests/illformed/date/feed_modified_map_date.xml +0 -0
  302. data/tests/illformed/date/feed_modified_rfc2822.xml +0 -0
  303. data/tests/illformed/date/feed_modified_rfc2822_rollover_june_31.xml +0 -0
  304. data/tests/illformed/date/feed_modified_rfc822.xml +0 -0
  305. data/tests/illformed/date/feed_modified_w3dtf_rollover_leapyear.xml +0 -0
  306. data/tests/illformed/date/feed_modified_w3dtf_rollover_leapyear400.xml +0 -0
  307. data/tests/illformed/date/feed_modified_w3dtf_rollover_nonleapyear.xml +0 -0
  308. data/tests/illformed/date/feed_modified_w3dtf_sf.xml +0 -0
  309. data/tests/illformed/date/feed_modified_w3dtf_tokyo.xml +0 -0
  310. data/tests/illformed/date/feed_modified_w3dtf_utc.xml +0 -0
  311. data/tests/illformed/date/feed_modified_w3dtf_y.xml +0 -0
  312. data/tests/illformed/date/feed_modified_w3dtf_ym.xml +0 -0
  313. data/tests/illformed/date/feed_modified_w3dtf_ymd.xml +0 -0
  314. data/tests/illformed/date/feed_modified_w3dtf_ymd_2.xml +0 -0
  315. data/tests/illformed/date/feed_updated_w3dtf_utc.xml +0 -0
  316. data/tests/illformed/date/item_pubDate_euc-kr.xml +0 -0
  317. data/tests/illformed/encoding/bogus_encoding.xml +0 -0
  318. data/tests/illformed/encoding/encoding_mismatch_crash.xml +0 -0
  319. data/tests/illformed/encoding/http_text_plain.xml +0 -0
  320. data/tests/illformed/encoding/http_text_plain_charset.xml +0 -0
  321. data/tests/illformed/encoding/utf-16be-autodetect.xml +0 -0
  322. data/tests/illformed/encoding/utf-16be-bom.xml +0 -0
  323. data/tests/illformed/encoding/utf-16be.xml +0 -0
  324. data/tests/illformed/encoding/utf-16le-autodetect.xml +0 -0
  325. data/tests/illformed/encoding/utf-16le-bom.xml +0 -0
  326. data/tests/illformed/encoding/utf-16le.xml +0 -0
  327. data/tests/illformed/encoding/utf-8-bom.xml +0 -0
  328. data/tests/illformed/encoding/x80_437.xml +0 -0
  329. data/tests/illformed/encoding/x80_850.xml +0 -0
  330. data/tests/illformed/encoding/x80_852.xml +0 -0
  331. data/tests/illformed/encoding/x80_855.xml +0 -0
  332. data/tests/illformed/encoding/x80_857.xml +0 -0
  333. data/tests/illformed/encoding/x80_860.xml +0 -0
  334. data/tests/illformed/encoding/x80_861.xml +0 -0
  335. data/tests/illformed/encoding/x80_862.xml +0 -0
  336. data/tests/illformed/encoding/x80_863.xml +0 -0
  337. data/tests/illformed/encoding/x80_865.xml +0 -0
  338. data/tests/illformed/encoding/x80_866.xml +0 -0
  339. data/tests/illformed/encoding/x80_cp037.xml +0 -0
  340. data/tests/illformed/encoding/x80_cp1125.xml +0 -0
  341. data/tests/illformed/encoding/x80_cp1250.xml +0 -0
  342. data/tests/illformed/encoding/x80_cp1251.xml +0 -0
  343. data/tests/illformed/encoding/x80_cp1252.xml +0 -0
  344. data/tests/illformed/encoding/x80_cp1253.xml +0 -0
  345. data/tests/illformed/encoding/x80_cp1254.xml +0 -0
  346. data/tests/illformed/encoding/x80_cp1255.xml +0 -0
  347. data/tests/illformed/encoding/x80_cp1256.xml +0 -0
  348. data/tests/illformed/encoding/x80_cp1257.xml +0 -0
  349. data/tests/illformed/encoding/x80_cp1258.xml +0 -0
  350. data/tests/illformed/encoding/x80_cp437.xml +0 -0
  351. data/tests/illformed/encoding/x80_cp500.xml +0 -0
  352. data/tests/illformed/encoding/x80_cp737.xml +0 -0
  353. data/tests/illformed/encoding/x80_cp775.xml +0 -0
  354. data/tests/illformed/encoding/x80_cp850.xml +0 -0
  355. data/tests/illformed/encoding/x80_cp852.xml +0 -0
  356. data/tests/illformed/encoding/x80_cp855.xml +0 -0
  357. data/tests/illformed/encoding/x80_cp856.xml +0 -0
  358. data/tests/illformed/encoding/x80_cp857.xml +0 -0
  359. data/tests/illformed/encoding/x80_cp860.xml +0 -0
  360. data/tests/illformed/encoding/x80_cp861.xml +0 -0
  361. data/tests/illformed/encoding/x80_cp862.xml +0 -0
  362. data/tests/illformed/encoding/x80_cp863.xml +0 -0
  363. data/tests/illformed/encoding/x80_cp864.xml +0 -0
  364. data/tests/illformed/encoding/x80_cp865.xml +0 -0
  365. data/tests/illformed/encoding/x80_cp866.xml +0 -0
  366. data/tests/illformed/encoding/x80_cp874.xml +0 -0
  367. data/tests/illformed/encoding/x80_cp875.xml +0 -0
  368. data/tests/illformed/encoding/x80_cp_is.xml +0 -0
  369. data/tests/illformed/encoding/x80_csibm037.xml +0 -0
  370. data/tests/illformed/encoding/x80_csibm500.xml +0 -0
  371. data/tests/illformed/encoding/x80_csibm855.xml +0 -0
  372. data/tests/illformed/encoding/x80_csibm857.xml +0 -0
  373. data/tests/illformed/encoding/x80_csibm860.xml +0 -0
  374. data/tests/illformed/encoding/x80_csibm861.xml +0 -0
  375. data/tests/illformed/encoding/x80_csibm863.xml +0 -0
  376. data/tests/illformed/encoding/x80_csibm864.xml +0 -0
  377. data/tests/illformed/encoding/x80_csibm865.xml +0 -0
  378. data/tests/illformed/encoding/x80_csibm866.xml +0 -0
  379. data/tests/illformed/encoding/x80_cskoi8r.xml +0 -0
  380. data/tests/illformed/encoding/x80_csmacintosh.xml +0 -0
  381. data/tests/illformed/encoding/x80_cspc775baltic.xml +0 -0
  382. data/tests/illformed/encoding/x80_cspc850multilingual.xml +0 -0
  383. data/tests/illformed/encoding/x80_cspc862latinhebrew.xml +0 -0
  384. data/tests/illformed/encoding/x80_cspc8codepage437.xml +0 -0
  385. data/tests/illformed/encoding/x80_cspcp852.xml +0 -0
  386. data/tests/illformed/encoding/x80_dbcs.xml +0 -0
  387. data/tests/illformed/encoding/x80_ebcdic-cp-be.xml +0 -0
  388. data/tests/illformed/encoding/x80_ebcdic-cp-ca.xml +0 -0
  389. data/tests/illformed/encoding/x80_ebcdic-cp-ch.xml +0 -0
  390. data/tests/illformed/encoding/x80_ebcdic-cp-nl.xml +0 -0
  391. data/tests/illformed/encoding/x80_ebcdic-cp-us.xml +0 -0
  392. data/tests/illformed/encoding/x80_ebcdic-cp-wt.xml +0 -0
  393. data/tests/illformed/encoding/x80_ebcdic_cp_be.xml +0 -0
  394. data/tests/illformed/encoding/x80_ebcdic_cp_ca.xml +0 -0
  395. data/tests/illformed/encoding/x80_ebcdic_cp_ch.xml +0 -0
  396. data/tests/illformed/encoding/x80_ebcdic_cp_nl.xml +0 -0
  397. data/tests/illformed/encoding/x80_ebcdic_cp_us.xml +0 -0
  398. data/tests/illformed/encoding/x80_ebcdic_cp_wt.xml +0 -0
  399. data/tests/illformed/encoding/x80_ibm037.xml +0 -0
  400. data/tests/illformed/encoding/x80_ibm039.xml +0 -0
  401. data/tests/illformed/encoding/x80_ibm1140.xml +0 -0
  402. data/tests/illformed/encoding/x80_ibm437.xml +0 -0
  403. data/tests/illformed/encoding/x80_ibm500.xml +0 -0
  404. data/tests/illformed/encoding/x80_ibm775.xml +0 -0
  405. data/tests/illformed/encoding/x80_ibm850.xml +0 -0
  406. data/tests/illformed/encoding/x80_ibm852.xml +0 -0
  407. data/tests/illformed/encoding/x80_ibm855.xml +0 -0
  408. data/tests/illformed/encoding/x80_ibm857.xml +0 -0
  409. data/tests/illformed/encoding/x80_ibm860.xml +0 -0
  410. data/tests/illformed/encoding/x80_ibm861.xml +0 -0
  411. data/tests/illformed/encoding/x80_ibm862.xml +0 -0
  412. data/tests/illformed/encoding/x80_ibm863.xml +0 -0
  413. data/tests/illformed/encoding/x80_ibm864.xml +0 -0
  414. data/tests/illformed/encoding/x80_ibm865.xml +0 -0
  415. data/tests/illformed/encoding/x80_ibm866.xml +0 -0
  416. data/tests/illformed/encoding/x80_koi8-r.xml +0 -0
  417. data/tests/illformed/encoding/x80_koi8-t.xml +0 -0
  418. data/tests/illformed/encoding/x80_koi8-u.xml +0 -0
  419. data/tests/illformed/encoding/x80_mac-cyrillic.xml +0 -0
  420. data/tests/illformed/encoding/x80_mac.xml +0 -0
  421. data/tests/illformed/encoding/x80_maccentraleurope.xml +0 -0
  422. data/tests/illformed/encoding/x80_maccyrillic.xml +0 -0
  423. data/tests/illformed/encoding/x80_macgreek.xml +0 -0
  424. data/tests/illformed/encoding/x80_maciceland.xml +0 -0
  425. data/tests/illformed/encoding/x80_macintosh.xml +0 -0
  426. data/tests/illformed/encoding/x80_maclatin2.xml +0 -0
  427. data/tests/illformed/encoding/x80_macroman.xml +0 -0
  428. data/tests/illformed/encoding/x80_macturkish.xml +0 -0
  429. data/tests/illformed/encoding/x80_ms-ansi.xml +0 -0
  430. data/tests/illformed/encoding/x80_ms-arab.xml +0 -0
  431. data/tests/illformed/encoding/x80_ms-cyrl.xml +0 -0
  432. data/tests/illformed/encoding/x80_ms-ee.xml +0 -0
  433. data/tests/illformed/encoding/x80_ms-greek.xml +0 -0
  434. data/tests/illformed/encoding/x80_ms-hebr.xml +0 -0
  435. data/tests/illformed/encoding/x80_ms-turk.xml +0 -0
  436. data/tests/illformed/encoding/x80_tcvn-5712.xml +0 -0
  437. data/tests/illformed/encoding/x80_tcvn.xml +0 -0
  438. data/tests/illformed/encoding/x80_tcvn5712-1.xml +0 -0
  439. data/tests/illformed/encoding/x80_viscii.xml +0 -0
  440. data/tests/illformed/encoding/x80_winbaltrim.xml +0 -0
  441. data/tests/illformed/encoding/x80_windows-1250.xml +0 -0
  442. data/tests/illformed/encoding/x80_windows-1251.xml +0 -0
  443. data/tests/illformed/encoding/x80_windows-1252.xml +0 -0
  444. data/tests/illformed/encoding/x80_windows-1253.xml +0 -0
  445. data/tests/illformed/encoding/x80_windows-1254.xml +0 -0
  446. data/tests/illformed/encoding/x80_windows-1255.xml +0 -0
  447. data/tests/illformed/encoding/x80_windows-1256.xml +0 -0
  448. data/tests/illformed/encoding/x80_windows-1257.xml +0 -0
  449. data/tests/illformed/encoding/x80_windows-1258.xml +0 -0
  450. data/tests/illformed/encoding/x80_windows_1250.xml +0 -0
  451. data/tests/illformed/encoding/x80_windows_1251.xml +0 -0
  452. data/tests/illformed/encoding/x80_windows_1252.xml +0 -0
  453. data/tests/illformed/encoding/x80_windows_1253.xml +0 -0
  454. data/tests/illformed/encoding/x80_windows_1254.xml +0 -0
  455. data/tests/illformed/encoding/x80_windows_1255.xml +0 -0
  456. data/tests/illformed/encoding/x80_windows_1256.xml +0 -0
  457. data/tests/illformed/encoding/x80_windows_1257.xml +0 -0
  458. data/tests/illformed/encoding/x80_windows_1258.xml +0 -0
  459. data/tests/illformed/entities/160.xml +0 -0
  460. data/tests/illformed/entities/732.xml +0 -0
  461. data/tests/illformed/entities/8216.xml +0 -0
  462. data/tests/illformed/entities/8217.xml +0 -0
  463. data/tests/illformed/entities/8220.xml +0 -0
  464. data/tests/illformed/entities/8221.xml +0 -0
  465. data/tests/illformed/entities/9830.xml +0 -0
  466. data/tests/illformed/entities/aacute.xml +0 -0
  467. data/tests/illformed/entities/acirc.xml +0 -0
  468. data/tests/illformed/entities/acute.xml +0 -0
  469. data/tests/illformed/entities/aelig.xml +0 -0
  470. data/tests/illformed/entities/agrave.xml +0 -0
  471. data/tests/illformed/entities/alefsym.xml +0 -0
  472. data/tests/illformed/entities/alpha.xml +0 -0
  473. data/tests/illformed/entities/and.xml +0 -0
  474. data/tests/illformed/entities/ang.xml +0 -0
  475. data/tests/illformed/entities/aring.xml +0 -0
  476. data/tests/illformed/entities/asymp.xml +0 -0
  477. data/tests/illformed/entities/atilde.xml +0 -0
  478. data/tests/illformed/entities/auml.xml +0 -0
  479. data/tests/illformed/entities/bdquo.xml +0 -0
  480. data/tests/illformed/entities/beta.xml +0 -0
  481. data/tests/illformed/entities/brvbar.xml +0 -0
  482. data/tests/illformed/entities/bull.xml +0 -0
  483. data/tests/illformed/entities/cap.xml +0 -0
  484. data/tests/illformed/entities/ccedil.xml +0 -0
  485. data/tests/illformed/entities/cedil.xml +0 -0
  486. data/tests/illformed/entities/cent.xml +0 -0
  487. data/tests/illformed/entities/chi.xml +0 -0
  488. data/tests/illformed/entities/circ.xml +0 -0
  489. data/tests/illformed/entities/clubs.xml +0 -0
  490. data/tests/illformed/entities/cong.xml +0 -0
  491. data/tests/illformed/entities/copy.xml +0 -0
  492. data/tests/illformed/entities/crarr.xml +0 -0
  493. data/tests/illformed/entities/cup.xml +0 -0
  494. data/tests/illformed/entities/curren.xml +0 -0
  495. data/tests/illformed/entities/dagger.xml +0 -0
  496. data/tests/illformed/entities/darr.xml +0 -0
  497. data/tests/illformed/entities/deg.xml +0 -0
  498. data/tests/illformed/entities/delta.xml +0 -0
  499. data/tests/illformed/entities/diams.xml +0 -0
  500. data/tests/illformed/entities/divide.xml +0 -0
  501. data/tests/illformed/entities/doesnotexist.xml +0 -0
  502. data/tests/illformed/entities/eacute.xml +0 -0
  503. data/tests/illformed/entities/ecirc.xml +0 -0
  504. data/tests/illformed/entities/egrave.xml +0 -0
  505. data/tests/illformed/entities/empty.xml +0 -0
  506. data/tests/illformed/entities/emsp.xml +0 -0
  507. data/tests/illformed/entities/ensp.xml +0 -0
  508. data/tests/illformed/entities/epsilon.xml +0 -0
  509. data/tests/illformed/entities/equiv.xml +0 -0
  510. data/tests/illformed/entities/eta.xml +0 -0
  511. data/tests/illformed/entities/eth.xml +0 -0
  512. data/tests/illformed/entities/euml.xml +0 -0
  513. data/tests/illformed/entities/euro.xml +0 -0
  514. data/tests/illformed/entities/exist.xml +0 -0
  515. data/tests/illformed/entities/fnof.xml +0 -0
  516. data/tests/illformed/entities/forall.xml +0 -0
  517. data/tests/illformed/entities/frac12.xml +0 -0
  518. data/tests/illformed/entities/frac14.xml +0 -0
  519. data/tests/illformed/entities/frac34.xml +0 -0
  520. data/tests/illformed/entities/frasl.xml +0 -0
  521. data/tests/illformed/entities/gamma.xml +0 -0
  522. data/tests/illformed/entities/ge.xml +0 -0
  523. data/tests/illformed/entities/hArr.xml +0 -0
  524. data/tests/illformed/entities/hearts.xml +0 -0
  525. data/tests/illformed/entities/hellip.xml +0 -0
  526. data/tests/illformed/entities/iacute.xml +0 -0
  527. data/tests/illformed/entities/icirc.xml +0 -0
  528. data/tests/illformed/entities/iexcl.xml +0 -0
  529. data/tests/illformed/entities/igrave.xml +0 -0
  530. data/tests/illformed/entities/image.xml +0 -0
  531. data/tests/illformed/entities/infin.xml +0 -0
  532. data/tests/illformed/entities/int.xml +0 -0
  533. data/tests/illformed/entities/iota.xml +0 -0
  534. data/tests/illformed/entities/iquest.xml +0 -0
  535. data/tests/illformed/entities/isin.xml +0 -0
  536. data/tests/illformed/entities/iuml.xml +0 -0
  537. data/tests/illformed/entities/kappa.xml +0 -0
  538. data/tests/illformed/entities/lArr.xml +0 -0
  539. data/tests/illformed/entities/lambda.xml +0 -0
  540. data/tests/illformed/entities/lang.xml +0 -0
  541. data/tests/illformed/entities/laquo.xml +0 -0
  542. data/tests/illformed/entities/lceil.xml +0 -0
  543. data/tests/illformed/entities/ldquo.xml +0 -0
  544. data/tests/illformed/entities/le.xml +0 -0
  545. data/tests/illformed/entities/lfloor.xml +0 -0
  546. data/tests/illformed/entities/lowast.xml +0 -0
  547. data/tests/illformed/entities/loz.xml +0 -0
  548. data/tests/illformed/entities/lrm.xml +0 -0
  549. data/tests/illformed/entities/lsaquo.xml +0 -0
  550. data/tests/illformed/entities/lsquo.xml +0 -0
  551. data/tests/illformed/entities/macr.xml +0 -0
  552. data/tests/illformed/entities/mdash.xml +0 -0
  553. data/tests/illformed/entities/micro.xml +0 -0
  554. data/tests/illformed/entities/middot.xml +0 -0
  555. data/tests/illformed/entities/minus.xml +0 -0
  556. data/tests/illformed/entities/mu.xml +0 -0
  557. data/tests/illformed/entities/nabla.xml +0 -0
  558. data/tests/illformed/entities/nbsp.xml +0 -0
  559. data/tests/illformed/entities/ndash.xml +0 -0
  560. data/tests/illformed/entities/ne.xml +0 -0
  561. data/tests/illformed/entities/ni.xml +0 -0
  562. data/tests/illformed/entities/not.xml +0 -0
  563. data/tests/illformed/entities/notin.xml +0 -0
  564. data/tests/illformed/entities/nsub.xml +0 -0
  565. data/tests/illformed/entities/ntilde.xml +0 -0
  566. data/tests/illformed/entities/nu.xml +0 -0
  567. data/tests/illformed/entities/oacute.xml +0 -0
  568. data/tests/illformed/entities/ocirc.xml +0 -0
  569. data/tests/illformed/entities/oelig.xml +0 -0
  570. data/tests/illformed/entities/ograve.xml +0 -0
  571. data/tests/illformed/entities/oline.xml +0 -0
  572. data/tests/illformed/entities/omega.xml +0 -0
  573. data/tests/illformed/entities/omicron.xml +0 -0
  574. data/tests/illformed/entities/oplus.xml +0 -0
  575. data/tests/illformed/entities/or.xml +0 -0
  576. data/tests/illformed/entities/ordf.xml +0 -0
  577. data/tests/illformed/entities/ordm.xml +0 -0
  578. data/tests/illformed/entities/oslash.xml +0 -0
  579. data/tests/illformed/entities/otilde.xml +0 -0
  580. data/tests/illformed/entities/otimes.xml +0 -0
  581. data/tests/illformed/entities/ouml.xml +0 -0
  582. data/tests/illformed/entities/para.xml +0 -0
  583. data/tests/illformed/entities/part.xml +0 -0
  584. data/tests/illformed/entities/permil.xml +0 -0
  585. data/tests/illformed/entities/perp.xml +0 -0
  586. data/tests/illformed/entities/phi.xml +0 -0
  587. data/tests/illformed/entities/pi.xml +0 -0
  588. data/tests/illformed/entities/piv.xml +0 -0
  589. data/tests/illformed/entities/plusmn.xml +0 -0
  590. data/tests/illformed/entities/pound.xml +0 -0
  591. data/tests/illformed/entities/prime.xml +0 -0
  592. data/tests/illformed/entities/prod.xml +0 -0
  593. data/tests/illformed/entities/prop.xml +0 -0
  594. data/tests/illformed/entities/psi.xml +0 -0
  595. data/tests/illformed/entities/radic.xml +0 -0
  596. data/tests/illformed/entities/rang.xml +0 -0
  597. data/tests/illformed/entities/raquo.xml +0 -0
  598. data/tests/illformed/entities/rarr.xml +0 -0
  599. data/tests/illformed/entities/rceil.xml +0 -0
  600. data/tests/illformed/entities/rdquo.xml +0 -0
  601. data/tests/illformed/entities/real.xml +0 -0
  602. data/tests/illformed/entities/reg.xml +0 -0
  603. data/tests/illformed/entities/rfloor.xml +0 -0
  604. data/tests/illformed/entities/rho.xml +0 -0
  605. data/tests/illformed/entities/rlm.xml +0 -0
  606. data/tests/illformed/entities/rsaquo.xml +0 -0
  607. data/tests/illformed/entities/rsquo.xml +0 -0
  608. data/tests/illformed/entities/sbquo.xml +0 -0
  609. data/tests/illformed/entities/scaron.xml +0 -0
  610. data/tests/illformed/entities/sdot.xml +0 -0
  611. data/tests/illformed/entities/sect.xml +0 -0
  612. data/tests/illformed/entities/shy.xml +0 -0
  613. data/tests/illformed/entities/sigma.xml +0 -0
  614. data/tests/illformed/entities/sigmaf.xml +0 -0
  615. data/tests/illformed/entities/sim.xml +0 -0
  616. data/tests/illformed/entities/spades.xml +0 -0
  617. data/tests/illformed/entities/sub.xml +0 -0
  618. data/tests/illformed/entities/sube.xml +0 -0
  619. data/tests/illformed/entities/sum.xml +0 -0
  620. data/tests/illformed/entities/sup.xml +0 -0
  621. data/tests/illformed/entities/sup1.xml +0 -0
  622. data/tests/illformed/entities/sup2.xml +0 -0
  623. data/tests/illformed/entities/sup3.xml +0 -0
  624. data/tests/illformed/entities/supe.xml +0 -0
  625. data/tests/illformed/entities/szlig.xml +0 -0
  626. data/tests/illformed/entities/tau.xml +0 -0
  627. data/tests/illformed/entities/there4.xml +0 -0
  628. data/tests/illformed/entities/theta.xml +0 -0
  629. data/tests/illformed/entities/thetasym.xml +0 -0
  630. data/tests/illformed/entities/thinsp.xml +0 -0
  631. data/tests/illformed/entities/thorn.xml +0 -0
  632. data/tests/illformed/entities/tilde.xml +0 -0
  633. data/tests/illformed/entities/times.xml +0 -0
  634. data/tests/illformed/entities/trade.xml +0 -0
  635. data/tests/illformed/entities/uacute.xml +0 -0
  636. data/tests/illformed/entities/uarr.xml +0 -0
  637. data/tests/illformed/entities/ucirc.xml +0 -0
  638. data/tests/illformed/entities/ugrave.xml +0 -0
  639. data/tests/illformed/entities/uml.xml +0 -0
  640. data/tests/illformed/entities/upper_AElig.xml +0 -0
  641. data/tests/illformed/entities/upper_Aacute.xml +0 -0
  642. data/tests/illformed/entities/upper_Acirc.xml +0 -0
  643. data/tests/illformed/entities/upper_Agrave.xml +0 -0
  644. data/tests/illformed/entities/upper_Alpha.xml +0 -0
  645. data/tests/illformed/entities/upper_Aring.xml +0 -0
  646. data/tests/illformed/entities/upper_Atilde.xml +0 -0
  647. data/tests/illformed/entities/upper_Auml.xml +0 -0
  648. data/tests/illformed/entities/upper_Beta.xml +0 -0
  649. data/tests/illformed/entities/upper_Ccedil.xml +0 -0
  650. data/tests/illformed/entities/upper_Chi.xml +0 -0
  651. data/tests/illformed/entities/upper_Dagger.xml +0 -0
  652. data/tests/illformed/entities/upper_Delta.xml +0 -0
  653. data/tests/illformed/entities/upper_ETH.xml +0 -0
  654. data/tests/illformed/entities/upper_Eacute.xml +0 -0
  655. data/tests/illformed/entities/upper_Ecirc.xml +0 -0
  656. data/tests/illformed/entities/upper_Egrave.xml +0 -0
  657. data/tests/illformed/entities/upper_Epsilon.xml +0 -0
  658. data/tests/illformed/entities/upper_Eta.xml +0 -0
  659. data/tests/illformed/entities/upper_Euml.xml +0 -0
  660. data/tests/illformed/entities/upper_Gamma.xml +0 -0
  661. data/tests/illformed/entities/upper_Iacute.xml +0 -0
  662. data/tests/illformed/entities/upper_Icirc.xml +0 -0
  663. data/tests/illformed/entities/upper_Igrave.xml +0 -0
  664. data/tests/illformed/entities/upper_Iota.xml +0 -0
  665. data/tests/illformed/entities/upper_Iuml.xml +0 -0
  666. data/tests/illformed/entities/upper_Kappa.xml +0 -0
  667. data/tests/illformed/entities/upper_Lambda.xml +0 -0
  668. data/tests/illformed/entities/upper_Mu.xml +0 -0
  669. data/tests/illformed/entities/upper_Ntilde.xml +0 -0
  670. data/tests/illformed/entities/upper_Nu.xml +0 -0
  671. data/tests/illformed/entities/upper_OElig.xml +0 -0
  672. data/tests/illformed/entities/upper_Oacute.xml +0 -0
  673. data/tests/illformed/entities/upper_Ocirc.xml +0 -0
  674. data/tests/illformed/entities/upper_Ograve.xml +0 -0
  675. data/tests/illformed/entities/upper_Omega.xml +0 -0
  676. data/tests/illformed/entities/upper_Omicron.xml +0 -0
  677. data/tests/illformed/entities/upper_Oslash.xml +0 -0
  678. data/tests/illformed/entities/upper_Otilde.xml +0 -0
  679. data/tests/illformed/entities/upper_Ouml.xml +0 -0
  680. data/tests/illformed/entities/upper_Phi.xml +0 -0
  681. data/tests/illformed/entities/upper_Pi.xml +0 -0
  682. data/tests/illformed/entities/upper_Prime.xml +0 -0
  683. data/tests/illformed/entities/upper_Psi.xml +0 -0
  684. data/tests/illformed/entities/upper_Rho.xml +0 -0
  685. data/tests/illformed/entities/upper_Scaron.xml +0 -0
  686. data/tests/illformed/entities/upper_Sigma.xml +0 -0
  687. data/tests/illformed/entities/upper_THORN.xml +0 -0
  688. data/tests/illformed/entities/upper_Tau.xml +0 -0
  689. data/tests/illformed/entities/upper_Theta.xml +0 -0
  690. data/tests/illformed/entities/upper_Uacute.xml +0 -0
  691. data/tests/illformed/entities/upper_Ucirc.xml +0 -0
  692. data/tests/illformed/entities/upper_Ugrave.xml +0 -0
  693. data/tests/illformed/entities/upper_Upsilon.xml +0 -0
  694. data/tests/illformed/entities/upper_Uuml.xml +0 -0
  695. data/tests/illformed/entities/upper_Xi.xml +0 -0
  696. data/tests/illformed/entities/upper_Yacute.xml +0 -0
  697. data/tests/illformed/entities/upper_Yuml.xml +0 -0
  698. data/tests/illformed/entities/upper_Zeta.xml +0 -0
  699. data/tests/illformed/entities/upsih.xml +0 -0
  700. data/tests/illformed/entities/upsilon.xml +0 -0
  701. data/tests/illformed/entities/uuml.xml +0 -0
  702. data/tests/illformed/entities/weierp.xml +0 -0
  703. data/tests/illformed/entities/xi.xml +0 -0
  704. data/tests/illformed/entities/yacute.xml +0 -0
  705. data/tests/illformed/entities/yen.xml +0 -0
  706. data/tests/illformed/entities/yuml.xml +0 -0
  707. data/tests/illformed/entities/zeta.xml +0 -0
  708. data/tests/illformed/entities/zwj.xml +0 -0
  709. data/tests/illformed/entities/zwnj.xml +0 -0
  710. data/tests/illformed/itunes/itunes_channel_block.xml +0 -0
  711. data/tests/illformed/itunes/itunes_channel_block_false.xml +0 -0
  712. data/tests/illformed/itunes/itunes_channel_block_no.xml +0 -0
  713. data/tests/illformed/itunes/itunes_channel_block_true.xml +0 -0
  714. data/tests/illformed/itunes/itunes_channel_block_uppercase.xml +0 -0
  715. data/tests/illformed/itunes/itunes_channel_block_whitespace.xml +0 -0
  716. data/tests/illformed/itunes/itunes_channel_category.xml +0 -0
  717. data/tests/illformed/itunes/itunes_channel_category_nested.xml +0 -0
  718. data/tests/illformed/itunes/itunes_channel_category_scheme.xml +0 -0
  719. data/tests/illformed/itunes/itunes_channel_explicit.xml +0 -0
  720. data/tests/illformed/itunes/itunes_channel_explicit_false.xml +0 -0
  721. data/tests/illformed/itunes/itunes_channel_explicit_no.xml +0 -0
  722. data/tests/illformed/itunes/itunes_channel_explicit_true.xml +0 -0
  723. data/tests/illformed/itunes/itunes_channel_explicit_uppercase.xml +0 -0
  724. data/tests/illformed/itunes/itunes_channel_explicit_whitespace.xml +0 -0
  725. data/tests/illformed/itunes/itunes_channel_image.xml +0 -0
  726. data/tests/illformed/itunes/itunes_channel_keywords.xml +0 -0
  727. data/tests/illformed/itunes/itunes_channel_keywords_duplicate.xml +0 -0
  728. data/tests/illformed/itunes/itunes_channel_keywords_duplicate_2.xml +0 -0
  729. data/tests/illformed/itunes/itunes_channel_keywords_multiple.xml +0 -0
  730. data/tests/illformed/itunes/itunes_channel_link_image.xml +0 -0
  731. data/tests/illformed/itunes/itunes_channel_owner_email.xml +0 -0
  732. data/tests/illformed/itunes/itunes_channel_owner_name.xml +0 -0
  733. data/tests/illformed/itunes/itunes_channel_subtitle.xml +0 -0
  734. data/tests/illformed/itunes/itunes_channel_summary.xml +0 -0
  735. data/tests/illformed/itunes/itunes_core_element_uppercase.xml +0 -0
  736. data/tests/illformed/itunes/itunes_enclosure_url_maps_id.xml +0 -0
  737. data/tests/illformed/itunes/itunes_enclosure_url_maps_id_2.xml +0 -0
  738. data/tests/illformed/itunes/itunes_item_author_map_author.xml +0 -0
  739. data/tests/illformed/itunes/itunes_item_block.xml +0 -0
  740. data/tests/illformed/itunes/itunes_item_block_false.xml +0 -0
  741. data/tests/illformed/itunes/itunes_item_block_no.xml +0 -0
  742. data/tests/illformed/itunes/itunes_item_block_true.xml +0 -0
  743. data/tests/illformed/itunes/itunes_item_block_uppercase.xml +0 -0
  744. data/tests/illformed/itunes/itunes_item_block_whitespace.xml +0 -0
  745. data/tests/illformed/itunes/itunes_item_category.xml +0 -0
  746. data/tests/illformed/itunes/itunes_item_category_nested.xml +0 -0
  747. data/tests/illformed/itunes/itunes_item_category_scheme.xml +0 -0
  748. data/tests/illformed/itunes/itunes_item_duration.xml +0 -0
  749. data/tests/illformed/itunes/itunes_item_explicit.xml +0 -0
  750. data/tests/illformed/itunes/itunes_item_explicit_false.xml +0 -0
  751. data/tests/illformed/itunes/itunes_item_explicit_no.xml +0 -0
  752. data/tests/illformed/itunes/itunes_item_explicit_true.xml +0 -0
  753. data/tests/illformed/itunes/itunes_item_explicit_uppercase.xml +0 -0
  754. data/tests/illformed/itunes/itunes_item_explicit_whitespace.xml +0 -0
  755. data/tests/illformed/itunes/itunes_item_image.xml +0 -0
  756. data/tests/illformed/itunes/itunes_item_link_image.xml +0 -0
  757. data/tests/illformed/itunes/itunes_item_subtitle.xml +0 -0
  758. data/tests/illformed/itunes/itunes_item_summary.xml +0 -0
  759. data/tests/illformed/itunes/itunes_namespace.xml +0 -0
  760. data/tests/illformed/itunes/itunes_namespace_example.xml +0 -0
  761. data/tests/illformed/itunes/itunes_namespace_lowercase.xml +0 -0
  762. data/tests/illformed/itunes/itunes_namespace_uppercase.xml +0 -0
  763. data/tests/illformed/lang/channel_dc_language.xml +0 -0
  764. data/tests/illformed/lang/channel_language.xml +0 -0
  765. data/tests/illformed/lang/entry_content_xml_lang.xml +0 -0
  766. data/tests/illformed/lang/entry_content_xml_lang_inherit.xml +0 -0
  767. data/tests/illformed/lang/entry_content_xml_lang_inherit_2.xml +0 -0
  768. data/tests/illformed/lang/entry_content_xml_lang_inherit_3.xml +0 -0
  769. data/tests/illformed/lang/entry_content_xml_lang_inherit_4.xml +0 -0
  770. data/tests/illformed/lang/entry_summary_xml_lang.xml +0 -0
  771. data/tests/illformed/lang/entry_summary_xml_lang_inherit.xml +0 -0
  772. data/tests/illformed/lang/entry_summary_xml_lang_inherit_2.xml +0 -0
  773. data/tests/illformed/lang/entry_summary_xml_lang_inherit_3.xml +0 -0
  774. data/tests/illformed/lang/entry_summary_xml_lang_inherit_4.xml +0 -0
  775. data/tests/illformed/lang/entry_title_xml_lang.xml +0 -0
  776. data/tests/illformed/lang/entry_title_xml_lang_inherit.xml +0 -0
  777. data/tests/illformed/lang/entry_title_xml_lang_inherit_2.xml +0 -0
  778. data/tests/illformed/lang/entry_title_xml_lang_inherit_3.xml +0 -0
  779. data/tests/illformed/lang/entry_title_xml_lang_inherit_4.xml +0 -0
  780. data/tests/illformed/lang/feed_copyright_xml_lang.xml +0 -0
  781. data/tests/illformed/lang/feed_copyright_xml_lang_inherit.xml +0 -0
  782. data/tests/illformed/lang/feed_copyright_xml_lang_inherit_2.xml +0 -0
  783. data/tests/illformed/lang/feed_copyright_xml_lang_inherit_3.xml +0 -0
  784. data/tests/illformed/lang/feed_copyright_xml_lang_inherit_4.xml +0 -0
  785. data/tests/illformed/lang/feed_info_xml_lang.xml +0 -0
  786. data/tests/illformed/lang/feed_info_xml_lang_inherit.xml +0 -0
  787. data/tests/illformed/lang/feed_info_xml_lang_inherit_2.xml +0 -0
  788. data/tests/illformed/lang/feed_info_xml_lang_inherit_3.xml +0 -0
  789. data/tests/illformed/lang/feed_info_xml_lang_inherit_4.xml +0 -0
  790. data/tests/illformed/lang/feed_language.xml +0 -0
  791. data/tests/illformed/lang/feed_language_override.xml +0 -0
  792. data/tests/illformed/lang/feed_not_xml_lang.xml +0 -0
  793. data/tests/illformed/lang/feed_not_xml_lang_2.xml +0 -0
  794. data/tests/illformed/lang/feed_tagline_xml_lang.xml +0 -0
  795. data/tests/illformed/lang/feed_tagline_xml_lang_inherit.xml +0 -0
  796. data/tests/illformed/lang/feed_tagline_xml_lang_inherit_2.xml +0 -0
  797. data/tests/illformed/lang/feed_tagline_xml_lang_inherit_3.xml +0 -0
  798. data/tests/illformed/lang/feed_tagline_xml_lang_inherit_4.xml +0 -0
  799. data/tests/illformed/lang/feed_title_xml_lang.xml +0 -0
  800. data/tests/illformed/lang/feed_title_xml_lang_inherit.xml +0 -0
  801. data/tests/illformed/lang/feed_title_xml_lang_inherit_2.xml +0 -0
  802. data/tests/illformed/lang/feed_title_xml_lang_inherit_3.xml +0 -0
  803. data/tests/illformed/lang/feed_title_xml_lang_inherit_4.xml +0 -0
  804. data/tests/illformed/lang/feed_xml_lang.xml +0 -0
  805. data/tests/illformed/lang/http_content_language.xml +0 -0
  806. data/tests/illformed/lang/http_content_language_entry_title_inherit.xml +0 -0
  807. data/tests/illformed/lang/http_content_language_entry_title_inherit_2.xml +0 -0
  808. data/tests/illformed/lang/http_content_language_feed_language.xml +0 -0
  809. data/tests/illformed/lang/http_content_language_feed_xml_lang.xml +0 -0
  810. data/tests/illformed/lang/item_content_encoded_xml_lang.xml +0 -0
  811. data/tests/illformed/lang/item_content_encoded_xml_lang_inherit.xml +0 -0
  812. data/tests/illformed/lang/item_dc_language.xml +0 -0
  813. data/tests/illformed/lang/item_fullitem_xml_lang.xml +0 -0
  814. data/tests/illformed/lang/item_fullitem_xml_lang_inherit.xml +0 -0
  815. data/tests/illformed/lang/item_xhtml_body_xml_lang.xml +0 -0
  816. data/tests/illformed/lang/item_xhtml_body_xml_lang_inherit.xml +0 -0
  817. data/tests/illformed/namespace/undeclared_namespace.xml +0 -0
  818. data/tests/illformed/rdf/rdf_channel_empty_textinput.xml +0 -0
  819. data/tests/illformed/rdf/rdf_item_rdf_about.xml +0 -0
  820. data/tests/illformed/rdf/rss_version_10_not_default_ns.xml +0 -0
  821. data/tests/illformed/rss/channel_category.xml +0 -0
  822. data/tests/illformed/rss/channel_category_domain.xml +0 -0
  823. data/tests/illformed/rss/channel_category_multiple.xml +0 -0
  824. data/tests/illformed/rss/channel_category_multiple_2.xml +0 -0
  825. data/tests/illformed/rss/channel_dc_contributor.xml +0 -0
  826. data/tests/illformed/rss/channel_dc_publisher_email.xml +0 -0
  827. data/tests/illformed/rss/channel_dc_publisher_name.xml +0 -0
  828. data/tests/illformed/rss/channel_dc_subject.xml +0 -0
  829. data/tests/illformed/rss/channel_dc_subject_2.xml +0 -0
  830. data/tests/illformed/rss/channel_dc_subject_multiple.xml +0 -0
  831. data/tests/illformed/rss/channel_webMaster_email.xml +0 -0
  832. data/tests/illformed/rss/channel_webMaster_name.xml +0 -0
  833. data/tests/illformed/rss/item_category.xml +0 -0
  834. data/tests/illformed/rss/item_category_domain.xml +0 -0
  835. data/tests/illformed/rss/item_category_multiple.xml +0 -0
  836. data/tests/illformed/rss/item_category_multiple_2.xml +0 -0
  837. data/tests/illformed/rss/item_dc_contributor.xml +0 -0
  838. data/tests/illformed/rss/item_dc_publisher_email.xml +0 -0
  839. data/tests/illformed/rss/item_dc_publisher_name.xml +0 -0
  840. data/tests/illformed/rss/item_dc_subject.xml +0 -0
  841. data/tests/illformed/rss/item_dc_subject_2.xml +0 -0
  842. data/tests/illformed/rss/item_dc_subject_multiple.xml +0 -0
  843. data/tests/illformed/rss/item_description_and_summary.xml +0 -0
  844. data/tests/illformed/rss/item_description_br.xml +0 -0
  845. data/tests/illformed/rss/item_description_br_shorttag.xml +0 -0
  846. data/tests/illformed/rss/item_description_not_a_doctype.xml +0 -0
  847. data/tests/illformed/rss/item_guid_guidislink.xml +0 -0
  848. data/tests/illformed/rss/item_guid_isPermaLink_conflict_link_not_guidislink.xml +0 -0
  849. data/tests/illformed/rss/item_guid_isPermaLink_guidislink.xml +0 -0
  850. data/tests/illformed/rss/item_guid_not_permalink_not_guidislink.xml +0 -0
  851. data/tests/illformed/rss/item_guid_not_permalink_not_guidislink_2.xml +0 -0
  852. data/tests/illformed/rss/item_summary_and_description.xml +0 -0
  853. data/tests/rfeedparser_test_helper.rb +5 -11
  854. data/tests/rfeedparserserver.rb +0 -0
  855. data/tests/rfeedparsertest.rb +33 -19
  856. data/tests/rfponly/wellformed/date/feed_modified_with_negative_numeric_timezone.xml +0 -0
  857. data/tests/rfponly/wellformed/date/feed_modified_with_positive_numeric_timezone.xml +0 -0
  858. data/tests/rfponly/wellformed/date/w3dtf_second_fractions.xml +8 -0
  859. data/tests/to_skip.yml +25 -0
  860. data/tests/wellformed/atom10/atom10_namespace.xml +0 -0
  861. data/tests/wellformed/atom10/atom10_version.xml +0 -0
  862. data/tests/wellformed/atom10/entry_author_email.xml +0 -0
  863. data/tests/wellformed/atom10/entry_author_map_author.xml +0 -0
  864. data/tests/wellformed/atom10/entry_author_map_author_2.xml +0 -0
  865. data/tests/wellformed/atom10/entry_author_name.xml +0 -0
  866. data/tests/wellformed/atom10/entry_author_uri.xml +0 -0
  867. data/tests/wellformed/atom10/entry_author_url.xml +0 -0
  868. data/tests/wellformed/atom10/entry_category_label.xml +0 -0
  869. data/tests/wellformed/atom10/entry_category_scheme.xml +0 -0
  870. data/tests/wellformed/atom10/entry_category_term.xml +0 -0
  871. data/tests/wellformed/atom10/entry_content_application_xml.xml +0 -0
  872. data/tests/wellformed/atom10/entry_content_base64.xml +0 -0
  873. data/tests/wellformed/atom10/entry_content_base64_2.xml +0 -0
  874. data/tests/wellformed/atom10/entry_content_escaped_markup.xml +0 -0
  875. data/tests/wellformed/atom10/entry_content_inline_markup.xml +0 -0
  876. data/tests/wellformed/atom10/entry_content_inline_markup_2.xml +0 -0
  877. data/tests/wellformed/atom10/entry_content_src.xml +0 -0
  878. data/tests/wellformed/atom10/entry_content_text_plain.xml +0 -0
  879. data/tests/wellformed/atom10/entry_content_text_plain_brackets.xml +0 -0
  880. data/tests/wellformed/atom10/entry_content_type.xml +0 -0
  881. data/tests/wellformed/atom10/entry_content_type_text.xml +0 -0
  882. data/tests/wellformed/atom10/entry_content_value.xml +0 -0
  883. data/tests/wellformed/atom10/entry_contributor_email.xml +0 -0
  884. data/tests/wellformed/atom10/entry_contributor_multiple.xml +0 -0
  885. data/tests/wellformed/atom10/entry_contributor_name.xml +0 -0
  886. data/tests/wellformed/atom10/entry_contributor_uri.xml +0 -0
  887. data/tests/wellformed/atom10/entry_contributor_url.xml +0 -0
  888. data/tests/wellformed/atom10/entry_id.xml +0 -0
  889. data/tests/wellformed/atom10/entry_id_map_guid.xml +0 -0
  890. data/tests/wellformed/atom10/entry_id_no_normalization_1.xml +0 -0
  891. data/tests/wellformed/atom10/entry_id_no_normalization_2.xml +0 -0
  892. data/tests/wellformed/atom10/entry_id_no_normalization_3.xml +0 -0
  893. data/tests/wellformed/atom10/entry_id_no_normalization_4.xml +0 -0
  894. data/tests/wellformed/atom10/entry_id_no_normalization_5.xml +0 -0
  895. data/tests/wellformed/atom10/entry_id_no_normalization_6.xml +0 -0
  896. data/tests/wellformed/atom10/entry_id_no_normalization_7.xml +0 -0
  897. data/tests/wellformed/atom10/entry_link_alternate_map_link.xml +0 -0
  898. data/tests/wellformed/atom10/entry_link_alternate_map_link_2.xml +0 -0
  899. data/tests/wellformed/atom10/entry_link_alternate_map_link_3.xml +0 -0
  900. data/tests/wellformed/atom10/entry_link_href.xml +0 -0
  901. data/tests/wellformed/atom10/entry_link_hreflang.xml +0 -0
  902. data/tests/wellformed/atom10/entry_link_length.xml +0 -0
  903. data/tests/wellformed/atom10/entry_link_multiple.xml +0 -0
  904. data/tests/wellformed/atom10/entry_link_no_rel.xml +0 -0
  905. data/tests/wellformed/atom10/entry_link_rel.xml +0 -0
  906. data/tests/wellformed/atom10/entry_link_rel_enclosure.xml +0 -0
  907. data/tests/wellformed/atom10/entry_link_rel_enclosure_map_enclosure_length.xml +0 -0
  908. data/tests/wellformed/atom10/entry_link_rel_enclosure_map_enclosure_type.xml +0 -0
  909. data/tests/wellformed/atom10/entry_link_rel_enclosure_map_enclosure_url.xml +0 -0
  910. data/tests/wellformed/atom10/entry_link_rel_other.xml +0 -0
  911. data/tests/wellformed/atom10/entry_link_rel_related.xml +0 -0
  912. data/tests/wellformed/atom10/entry_link_rel_self.xml +0 -0
  913. data/tests/wellformed/atom10/entry_link_rel_via.xml +0 -0
  914. data/tests/wellformed/atom10/entry_link_title.xml +0 -0
  915. data/tests/wellformed/atom10/entry_link_type.xml +0 -0
  916. data/tests/wellformed/atom10/entry_rights.xml +0 -0
  917. data/tests/wellformed/atom10/entry_rights_content_value.xml +0 -0
  918. data/tests/wellformed/atom10/entry_rights_escaped_markup.xml +0 -0
  919. data/tests/wellformed/atom10/entry_rights_inline_markup.xml +0 -0
  920. data/tests/wellformed/atom10/entry_rights_inline_markup_2.xml +0 -0
  921. data/tests/wellformed/atom10/entry_rights_text_plain.xml +0 -0
  922. data/tests/wellformed/atom10/entry_rights_text_plain_brackets.xml +0 -0
  923. data/tests/wellformed/atom10/entry_rights_type_default.xml +0 -0
  924. data/tests/wellformed/atom10/entry_rights_type_text.xml +0 -0
  925. data/tests/wellformed/atom10/entry_source_author_email.xml +0 -0
  926. data/tests/wellformed/atom10/entry_source_author_map_author.xml +0 -0
  927. data/tests/wellformed/atom10/entry_source_author_map_author_2.xml +0 -0
  928. data/tests/wellformed/atom10/entry_source_author_name.xml +0 -0
  929. data/tests/wellformed/atom10/entry_source_author_uri.xml +0 -0
  930. data/tests/wellformed/atom10/entry_source_category_label.xml +0 -0
  931. data/tests/wellformed/atom10/entry_source_category_scheme.xml +0 -0
  932. data/tests/wellformed/atom10/entry_source_category_term.xml +0 -0
  933. data/tests/wellformed/atom10/entry_source_contributor_email.xml +0 -0
  934. data/tests/wellformed/atom10/entry_source_contributor_multiple.xml +0 -0
  935. data/tests/wellformed/atom10/entry_source_contributor_name.xml +0 -0
  936. data/tests/wellformed/atom10/entry_source_contributor_uri.xml +0 -0
  937. data/tests/wellformed/atom10/entry_source_generator.xml +0 -0
  938. data/tests/wellformed/atom10/entry_source_generator_name.xml +0 -0
  939. data/tests/wellformed/atom10/entry_source_generator_uri.xml +0 -0
  940. data/tests/wellformed/atom10/entry_source_generator_version.xml +0 -0
  941. data/tests/wellformed/atom10/entry_source_icon.xml +0 -0
  942. data/tests/wellformed/atom10/entry_source_id.xml +0 -0
  943. data/tests/wellformed/atom10/entry_source_link_alternate_map_link.xml +0 -0
  944. data/tests/wellformed/atom10/entry_source_link_alternate_map_link_2.xml +0 -0
  945. data/tests/wellformed/atom10/entry_source_link_href.xml +0 -0
  946. data/tests/wellformed/atom10/entry_source_link_hreflang.xml +0 -0
  947. data/tests/wellformed/atom10/entry_source_link_length.xml +0 -0
  948. data/tests/wellformed/atom10/entry_source_link_multiple.xml +0 -0
  949. data/tests/wellformed/atom10/entry_source_link_no_rel.xml +0 -0
  950. data/tests/wellformed/atom10/entry_source_link_rel.xml +0 -0
  951. data/tests/wellformed/atom10/entry_source_link_rel_other.xml +0 -0
  952. data/tests/wellformed/atom10/entry_source_link_rel_related.xml +0 -0
  953. data/tests/wellformed/atom10/entry_source_link_rel_self.xml +0 -0
  954. data/tests/wellformed/atom10/entry_source_link_rel_via.xml +0 -0
  955. data/tests/wellformed/atom10/entry_source_link_title.xml +0 -0
  956. data/tests/wellformed/atom10/entry_source_link_type.xml +0 -0
  957. data/tests/wellformed/atom10/entry_source_logo.xml +0 -0
  958. data/tests/wellformed/atom10/entry_source_rights.xml +0 -0
  959. data/tests/wellformed/atom10/entry_source_rights_base64.xml +0 -0
  960. data/tests/wellformed/atom10/entry_source_rights_base64_2.xml +0 -0
  961. data/tests/wellformed/atom10/entry_source_rights_content_type.xml +0 -0
  962. data/tests/wellformed/atom10/entry_source_rights_content_type_text.xml +0 -0
  963. data/tests/wellformed/atom10/entry_source_rights_content_value.xml +0 -0
  964. data/tests/wellformed/atom10/entry_source_rights_escaped_markup.xml +0 -0
  965. data/tests/wellformed/atom10/entry_source_rights_inline_markup.xml +0 -0
  966. data/tests/wellformed/atom10/entry_source_rights_inline_markup_2.xml +0 -0
  967. data/tests/wellformed/atom10/entry_source_rights_text_plain.xml +0 -0
  968. data/tests/wellformed/atom10/entry_source_subittle_content_type_text.xml +0 -0
  969. data/tests/wellformed/atom10/entry_source_subtitle.xml +0 -0
  970. data/tests/wellformed/atom10/entry_source_subtitle_base64.xml +0 -0
  971. data/tests/wellformed/atom10/entry_source_subtitle_base64_2.xml +0 -0
  972. data/tests/wellformed/atom10/entry_source_subtitle_content_type.xml +0 -0
  973. data/tests/wellformed/atom10/entry_source_subtitle_content_value.xml +0 -0
  974. data/tests/wellformed/atom10/entry_source_subtitle_escaped_markup.xml +0 -0
  975. data/tests/wellformed/atom10/entry_source_subtitle_inline_markup.xml +0 -0
  976. data/tests/wellformed/atom10/entry_source_subtitle_inline_markup_2.xml +0 -0
  977. data/tests/wellformed/atom10/entry_source_subtitle_text_plain.xml +0 -0
  978. data/tests/wellformed/atom10/entry_source_title.xml +0 -0
  979. data/tests/wellformed/atom10/entry_source_title_base64.xml +0 -0
  980. data/tests/wellformed/atom10/entry_source_title_base64_2.xml +0 -0
  981. data/tests/wellformed/atom10/entry_source_title_content_type.xml +0 -0
  982. data/tests/wellformed/atom10/entry_source_title_content_type_text.xml +0 -0
  983. data/tests/wellformed/atom10/entry_source_title_content_value.xml +0 -0
  984. data/tests/wellformed/atom10/entry_source_title_escaped_markup.xml +0 -0
  985. data/tests/wellformed/atom10/entry_source_title_inline_markup.xml +0 -0
  986. data/tests/wellformed/atom10/entry_source_title_inline_markup_2.xml +0 -0
  987. data/tests/wellformed/atom10/entry_source_title_text_plain.xml +0 -0
  988. data/tests/wellformed/atom10/entry_summary.xml +0 -0
  989. data/tests/wellformed/atom10/entry_summary_base64.xml +0 -0
  990. data/tests/wellformed/atom10/entry_summary_base64_2.xml +0 -0
  991. data/tests/wellformed/atom10/entry_summary_content_value.xml +0 -0
  992. data/tests/wellformed/atom10/entry_summary_escaped_markup.xml +0 -0
  993. data/tests/wellformed/atom10/entry_summary_inline_markup.xml +0 -0
  994. data/tests/wellformed/atom10/entry_summary_inline_markup_2.xml +0 -0
  995. data/tests/wellformed/atom10/entry_summary_text_plain.xml +0 -0
  996. data/tests/wellformed/atom10/entry_summary_type_default.xml +0 -0
  997. data/tests/wellformed/atom10/entry_summary_type_text.xml +0 -0
  998. data/tests/wellformed/atom10/entry_title.xml +0 -0
  999. data/tests/wellformed/atom10/entry_title_base64.xml +0 -0
  1000. data/tests/wellformed/atom10/entry_title_base64_2.xml +0 -0
  1001. data/tests/wellformed/atom10/entry_title_content_value.xml +0 -0
  1002. data/tests/wellformed/atom10/entry_title_escaped_markup.xml +0 -0
  1003. data/tests/wellformed/atom10/entry_title_inline_markup.xml +0 -0
  1004. data/tests/wellformed/atom10/entry_title_inline_markup_2.xml +0 -0
  1005. data/tests/wellformed/atom10/entry_title_text_plain.xml +0 -0
  1006. data/tests/wellformed/atom10/entry_title_text_plain_brackets.xml +0 -0
  1007. data/tests/wellformed/atom10/entry_title_type_default.xml +0 -0
  1008. data/tests/wellformed/atom10/entry_title_type_text.xml +0 -0
  1009. data/tests/wellformed/atom10/feed_author_email.xml +0 -0
  1010. data/tests/wellformed/atom10/feed_author_map_author.xml +0 -0
  1011. data/tests/wellformed/atom10/feed_author_map_author_2.xml +0 -0
  1012. data/tests/wellformed/atom10/feed_author_name.xml +0 -0
  1013. data/tests/wellformed/atom10/feed_author_uri.xml +0 -0
  1014. data/tests/wellformed/atom10/feed_author_url.xml +0 -0
  1015. data/tests/wellformed/atom10/feed_contributor_email.xml +0 -0
  1016. data/tests/wellformed/atom10/feed_contributor_multiple.xml +0 -0
  1017. data/tests/wellformed/atom10/feed_contributor_name.xml +0 -0
  1018. data/tests/wellformed/atom10/feed_contributor_uri.xml +0 -0
  1019. data/tests/wellformed/atom10/feed_contributor_url.xml +0 -0
  1020. data/tests/wellformed/atom10/feed_generator.xml +0 -0
  1021. data/tests/wellformed/atom10/feed_generator_name.xml +0 -0
  1022. data/tests/wellformed/atom10/feed_generator_url.xml +0 -0
  1023. data/tests/wellformed/atom10/feed_generator_version.xml +0 -0
  1024. data/tests/wellformed/atom10/feed_icon.xml +0 -0
  1025. data/tests/wellformed/atom10/feed_id.xml +0 -0
  1026. data/tests/wellformed/atom10/feed_id_map_guid.xml +0 -0
  1027. data/tests/wellformed/atom10/feed_link_alternate_map_link.xml +0 -0
  1028. data/tests/wellformed/atom10/feed_link_alternate_map_link_2.xml +0 -0
  1029. data/tests/wellformed/atom10/feed_link_href.xml +0 -0
  1030. data/tests/wellformed/atom10/feed_link_hreflang.xml +0 -0
  1031. data/tests/wellformed/atom10/feed_link_length.xml +0 -0
  1032. data/tests/wellformed/atom10/feed_link_multiple.xml +0 -0
  1033. data/tests/wellformed/atom10/feed_link_no_rel.xml +0 -0
  1034. data/tests/wellformed/atom10/feed_link_rel.xml +0 -0
  1035. data/tests/wellformed/atom10/feed_link_rel_other.xml +0 -0
  1036. data/tests/wellformed/atom10/feed_link_rel_related.xml +0 -0
  1037. data/tests/wellformed/atom10/feed_link_rel_self.xml +0 -0
  1038. data/tests/wellformed/atom10/feed_link_rel_via.xml +0 -0
  1039. data/tests/wellformed/atom10/feed_link_title.xml +0 -0
  1040. data/tests/wellformed/atom10/feed_link_type.xml +0 -0
  1041. data/tests/wellformed/atom10/feed_logo.xml +0 -0
  1042. data/tests/wellformed/atom10/feed_rights.xml +0 -0
  1043. data/tests/wellformed/atom10/feed_rights_base64.xml +0 -0
  1044. data/tests/wellformed/atom10/feed_rights_base64_2.xml +0 -0
  1045. data/tests/wellformed/atom10/feed_rights_content_type.xml +0 -0
  1046. data/tests/wellformed/atom10/feed_rights_content_type_text.xml +0 -0
  1047. data/tests/wellformed/atom10/feed_rights_content_value.xml +0 -0
  1048. data/tests/wellformed/atom10/feed_rights_escaped_markup.xml +0 -0
  1049. data/tests/wellformed/atom10/feed_rights_inline_markup.xml +0 -0
  1050. data/tests/wellformed/atom10/feed_rights_inline_markup_2.xml +0 -0
  1051. data/tests/wellformed/atom10/feed_rights_text_plain.xml +0 -0
  1052. data/tests/wellformed/atom10/feed_subtitle.xml +0 -0
  1053. data/tests/wellformed/atom10/feed_subtitle_base64.xml +0 -0
  1054. data/tests/wellformed/atom10/feed_subtitle_base64_2.xml +0 -0
  1055. data/tests/wellformed/atom10/feed_subtitle_content_type.xml +0 -0
  1056. data/tests/wellformed/atom10/feed_subtitle_content_type_text.xml +0 -0
  1057. data/tests/wellformed/atom10/feed_subtitle_content_value.xml +0 -0
  1058. data/tests/wellformed/atom10/feed_subtitle_escaped_markup.xml +0 -0
  1059. data/tests/wellformed/atom10/feed_subtitle_inline_markup.xml +0 -0
  1060. data/tests/wellformed/atom10/feed_subtitle_inline_markup_2.xml +0 -0
  1061. data/tests/wellformed/atom10/feed_subtitle_text_plain.xml +0 -0
  1062. data/tests/wellformed/atom10/feed_title.xml +0 -0
  1063. data/tests/wellformed/atom10/feed_title_base64.xml +0 -0
  1064. data/tests/wellformed/atom10/feed_title_base64_2.xml +0 -0
  1065. data/tests/wellformed/atom10/feed_title_content_type.xml +0 -0
  1066. data/tests/wellformed/atom10/feed_title_content_type_text.xml +0 -0
  1067. data/tests/wellformed/atom10/feed_title_content_value.xml +0 -0
  1068. data/tests/wellformed/atom10/feed_title_escaped_markup.xml +0 -0
  1069. data/tests/wellformed/atom10/feed_title_inline_markup.xml +0 -0
  1070. data/tests/wellformed/atom10/feed_title_inline_markup_2.xml +0 -0
  1071. data/tests/wellformed/atom10/feed_title_text_plain.xml +0 -0
  1072. data/tests/wellformed/atom10/relative_uri.xml +0 -0
  1073. data/tests/wellformed/atom10/relative_uri_inherit.xml +0 -0
  1074. data/tests/wellformed/atom10/relative_uri_inherit_2.xml +0 -0
  1075. data/tests/wellformed/base/entry_summary_xml_base.xml +0 -0
  1076. data/tests/wellformed/base/entry_summary_xml_base_inherit.xml +0 -0
  1077. data/tests/wellformed/base/entry_summary_xml_base_inherit_2.xml +0 -0
  1078. data/tests/wellformed/base/entry_summary_xml_base_inherit_3.xml +0 -0
  1079. data/tests/wellformed/base/entry_summary_xml_base_inherit_4.xml +0 -0
  1080. data/tests/wellformed/base/entry_title_xml_base.xml +0 -0
  1081. data/tests/wellformed/base/entry_title_xml_base_inherit.xml +0 -0
  1082. data/tests/wellformed/base/entry_title_xml_base_inherit_2.xml +0 -0
  1083. data/tests/wellformed/base/entry_title_xml_base_inherit_3.xml +0 -0
  1084. data/tests/wellformed/base/entry_title_xml_base_inherit_4.xml +0 -0
  1085. data/tests/wellformed/base/feed_copyright_xml_base.xml +0 -0
  1086. data/tests/wellformed/base/feed_copyright_xml_base_inherit.xml +0 -0
  1087. data/tests/wellformed/base/feed_copyright_xml_base_inherit_2.xml +0 -0
  1088. data/tests/wellformed/base/feed_copyright_xml_base_inherit_3.xml +0 -0
  1089. data/tests/wellformed/base/feed_copyright_xml_base_inherit_4.xml +0 -0
  1090. data/tests/wellformed/base/feed_info_xml_base.xml +0 -0
  1091. data/tests/wellformed/base/feed_info_xml_base_inherit.xml +0 -0
  1092. data/tests/wellformed/base/feed_info_xml_base_inherit_2.xml +0 -0
  1093. data/tests/wellformed/base/feed_info_xml_base_inherit_3.xml +0 -0
  1094. data/tests/wellformed/base/feed_info_xml_base_inherit_4.xml +0 -0
  1095. data/tests/wellformed/base/feed_tagline_xml_base.xml +0 -0
  1096. data/tests/wellformed/base/feed_tagline_xml_base_inherit.xml +0 -0
  1097. data/tests/wellformed/base/feed_tagline_xml_base_inherit_2.xml +0 -0
  1098. data/tests/wellformed/base/feed_tagline_xml_base_inherit_3.xml +0 -0
  1099. data/tests/wellformed/base/feed_tagline_xml_base_inherit_4.xml +0 -0
  1100. data/tests/wellformed/base/feed_title_xml_base.xml +0 -0
  1101. data/tests/wellformed/base/feed_title_xml_base_inherit.xml +0 -0
  1102. data/tests/wellformed/base/feed_title_xml_base_inherit_2.xml +0 -0
  1103. data/tests/wellformed/base/feed_title_xml_base_inherit_3.xml +0 -0
  1104. data/tests/wellformed/base/feed_title_xml_base_inherit_4.xml +0 -0
  1105. data/tests/wellformed/base/http_relative_xml_base.xml +0 -0
  1106. data/tests/wellformed/base/http_relative_xml_base_2.xml +0 -0
  1107. data/tests/wellformed/base/malformed_base.xml +0 -0
  1108. data/tests/wellformed/base/relative_xml_base.xml +0 -0
  1109. data/tests/wellformed/base/relative_xml_base_2.xml +0 -0
  1110. data/tests/wellformed/date/channel_pubDate_greek_1.xml +0 -0
  1111. data/tests/wellformed/date/channel_pubDate_hungarian_1.xml +0 -0
  1112. data/tests/wellformed/date/channel_pubDate_korean_nate.xml +0 -0
  1113. data/tests/wellformed/date/channel_pubDate_mssql.xml +0 -0
  1114. data/tests/wellformed/date/channel_pubDate_mssql_nofraction.xml +0 -0
  1115. data/tests/wellformed/date/channel_pubDate_nosecond.xml +0 -0
  1116. data/tests/wellformed/date/channel_pubDate_notime.xml +0 -0
  1117. data/tests/wellformed/date/entry_created.xml +0 -0
  1118. data/tests/wellformed/date/entry_created_w3dtf_utc.xml +0 -0
  1119. data/tests/wellformed/date/entry_issued.xml +0 -0
  1120. data/tests/wellformed/date/entry_issued_w3dtf_utc.xml +0 -0
  1121. data/tests/wellformed/date/entry_modified.xml +0 -0
  1122. data/tests/wellformed/date/entry_modified_map_date.xml +0 -0
  1123. data/tests/wellformed/date/entry_modified_w3dtf_utc.xml +0 -0
  1124. data/tests/wellformed/date/entry_published_w3dtf_utc.xml +0 -0
  1125. data/tests/wellformed/date/entry_source_updated_w3dtf_utc.xml +0 -0
  1126. data/tests/wellformed/date/entry_updated_w3dtf_utc.xml +0 -0
  1127. data/tests/wellformed/date/feed_modified.xml +0 -0
  1128. data/tests/wellformed/date/feed_modified_asctime.xml +0 -0
  1129. data/tests/wellformed/date/feed_modified_disney.xml +0 -0
  1130. data/tests/wellformed/date/feed_modified_disney_at.xml +0 -0
  1131. data/tests/wellformed/date/feed_modified_disney_ct.xml +0 -0
  1132. data/tests/wellformed/date/feed_modified_disney_mt.xml +0 -0
  1133. data/tests/wellformed/date/feed_modified_disney_pt.xml +0 -0
  1134. data/tests/wellformed/date/feed_modified_iso8601_ym.xml +0 -0
  1135. data/tests/wellformed/date/feed_modified_iso8601_ym_2.xml +0 -0
  1136. data/tests/wellformed/date/feed_modified_iso8601_ymd.xml +0 -0
  1137. data/tests/wellformed/date/feed_modified_iso8601_ymd_2.xml +0 -0
  1138. data/tests/wellformed/date/feed_modified_iso8601_yo_2.xml +0 -0
  1139. data/tests/wellformed/date/feed_modified_map_date.xml +0 -0
  1140. data/tests/wellformed/date/feed_modified_rfc2822.xml +0 -0
  1141. data/tests/wellformed/date/feed_modified_rfc2822_rollover_june_31.xml +0 -0
  1142. data/tests/wellformed/date/feed_modified_rfc822.xml +0 -0
  1143. data/tests/wellformed/date/feed_modified_w3dtf_rollover_leapyear.xml +0 -0
  1144. data/tests/wellformed/date/feed_modified_w3dtf_rollover_leapyear400.xml +0 -0
  1145. data/tests/wellformed/date/feed_modified_w3dtf_rollover_nonleapyear.xml +0 -0
  1146. data/tests/wellformed/date/feed_modified_w3dtf_sf.xml +0 -0
  1147. data/tests/wellformed/date/feed_modified_w3dtf_tokyo.xml +0 -0
  1148. data/tests/wellformed/date/feed_modified_w3dtf_utc.xml +0 -0
  1149. data/tests/wellformed/date/feed_modified_w3dtf_y.xml +0 -0
  1150. data/tests/wellformed/date/feed_modified_w3dtf_ym.xml +0 -0
  1151. data/tests/wellformed/date/feed_modified_w3dtf_ymd.xml +0 -0
  1152. data/tests/wellformed/date/feed_modified_w3dtf_ymd_2.xml +0 -0
  1153. data/tests/wellformed/date/feed_updated_w3dtf_utc.xml +0 -0
  1154. data/tests/wellformed/date/item_pubDate_euc-kr.xml +0 -0
  1155. data/tests/wellformed/encoding/encoding_attribute_crash.xml +0 -0
  1156. data/tests/wellformed/encoding/encoding_attribute_crash_2.xml +0 -0
  1157. data/tests/wellformed/encoding/euc-kr-attribute.xml +0 -0
  1158. data/tests/wellformed/encoding/euc-kr-item.xml +0 -0
  1159. data/tests/wellformed/encoding/euc-kr.xml +0 -0
  1160. data/tests/wellformed/encoding/http_encoding_attribute_crash.xml +0 -0
  1161. data/tests/wellformed/encoding/http_text_xml_bogus_charset.xml +0 -0
  1162. data/tests/wellformed/encoding/http_text_xml_bogus_param.xml +0 -0
  1163. data/tests/wellformed/encoding/http_text_xml_qs.xml +0 -0
  1164. data/tests/wellformed/encoding/utf-16be-autodetect.xml +0 -0
  1165. data/tests/wellformed/encoding/utf-16be-bom.xml +0 -0
  1166. data/tests/wellformed/encoding/utf-16be.xml +0 -0
  1167. data/tests/wellformed/encoding/utf-16le-autodetect.xml +0 -0
  1168. data/tests/wellformed/encoding/utf-16le-bom.xml +0 -0
  1169. data/tests/wellformed/encoding/utf-16le.xml +0 -0
  1170. data/tests/wellformed/encoding/utf-8-bom.xml +0 -0
  1171. data/tests/wellformed/encoding/x80_437.xml +0 -0
  1172. data/tests/wellformed/encoding/x80_850.xml +0 -0
  1173. data/tests/wellformed/encoding/x80_852.xml +0 -0
  1174. data/tests/wellformed/encoding/x80_855.xml +0 -0
  1175. data/tests/wellformed/encoding/x80_857.xml +0 -0
  1176. data/tests/wellformed/encoding/x80_860.xml +0 -0
  1177. data/tests/wellformed/encoding/x80_861.xml +0 -0
  1178. data/tests/wellformed/encoding/x80_862.xml +0 -0
  1179. data/tests/wellformed/encoding/x80_863.xml +0 -0
  1180. data/tests/wellformed/encoding/x80_865.xml +0 -0
  1181. data/tests/wellformed/encoding/x80_866.xml +0 -0
  1182. data/tests/wellformed/encoding/x80_cp037.xml +0 -0
  1183. data/tests/wellformed/encoding/x80_cp1125.xml +0 -0
  1184. data/tests/wellformed/encoding/x80_cp1250.xml +0 -0
  1185. data/tests/wellformed/encoding/x80_cp1251.xml +0 -0
  1186. data/tests/wellformed/encoding/x80_cp1252.xml +0 -0
  1187. data/tests/wellformed/encoding/x80_cp1253.xml +0 -0
  1188. data/tests/wellformed/encoding/x80_cp1254.xml +0 -0
  1189. data/tests/wellformed/encoding/x80_cp1255.xml +0 -0
  1190. data/tests/wellformed/encoding/x80_cp1256.xml +0 -0
  1191. data/tests/wellformed/encoding/x80_cp1257.xml +0 -0
  1192. data/tests/wellformed/encoding/x80_cp1258.xml +0 -0
  1193. data/tests/wellformed/encoding/x80_cp437.xml +0 -0
  1194. data/tests/wellformed/encoding/x80_cp500.xml +0 -0
  1195. data/tests/wellformed/encoding/x80_cp737.xml +0 -0
  1196. data/tests/wellformed/encoding/x80_cp775.xml +0 -0
  1197. data/tests/wellformed/encoding/x80_cp850.xml +0 -0
  1198. data/tests/wellformed/encoding/x80_cp852.xml +0 -0
  1199. data/tests/wellformed/encoding/x80_cp855.xml +0 -0
  1200. data/tests/wellformed/encoding/x80_cp856.xml +0 -0
  1201. data/tests/wellformed/encoding/x80_cp857.xml +0 -0
  1202. data/tests/wellformed/encoding/x80_cp860.xml +0 -0
  1203. data/tests/wellformed/encoding/x80_cp861.xml +0 -0
  1204. data/tests/wellformed/encoding/x80_cp862.xml +0 -0
  1205. data/tests/wellformed/encoding/x80_cp863.xml +0 -0
  1206. data/tests/wellformed/encoding/x80_cp864.xml +0 -0
  1207. data/tests/wellformed/encoding/x80_cp865.xml +0 -0
  1208. data/tests/wellformed/encoding/x80_cp866.xml +0 -0
  1209. data/tests/wellformed/encoding/x80_cp874.xml +0 -0
  1210. data/tests/wellformed/encoding/x80_cp875.xml +0 -0
  1211. data/tests/wellformed/encoding/x80_cp_is.xml +0 -0
  1212. data/tests/wellformed/encoding/x80_csibm037.xml +0 -0
  1213. data/tests/wellformed/encoding/x80_csibm500.xml +0 -0
  1214. data/tests/wellformed/encoding/x80_csibm855.xml +0 -0
  1215. data/tests/wellformed/encoding/x80_csibm857.xml +0 -0
  1216. data/tests/wellformed/encoding/x80_csibm860.xml +0 -0
  1217. data/tests/wellformed/encoding/x80_csibm861.xml +0 -0
  1218. data/tests/wellformed/encoding/x80_csibm863.xml +0 -0
  1219. data/tests/wellformed/encoding/x80_csibm864.xml +0 -0
  1220. data/tests/wellformed/encoding/x80_csibm865.xml +0 -0
  1221. data/tests/wellformed/encoding/x80_csibm866.xml +0 -0
  1222. data/tests/wellformed/encoding/x80_cskoi8r.xml +0 -0
  1223. data/tests/wellformed/encoding/x80_csmacintosh.xml +0 -0
  1224. data/tests/wellformed/encoding/x80_cspc775baltic.xml +0 -0
  1225. data/tests/wellformed/encoding/x80_cspc850multilingual.xml +0 -0
  1226. data/tests/wellformed/encoding/x80_cspc862latinhebrew.xml +0 -0
  1227. data/tests/wellformed/encoding/x80_cspc8codepage437.xml +0 -0
  1228. data/tests/wellformed/encoding/x80_cspcp852.xml +0 -0
  1229. data/tests/wellformed/encoding/x80_dbcs.xml +0 -0
  1230. data/tests/wellformed/encoding/x80_ebcdic-cp-be.xml +0 -0
  1231. data/tests/wellformed/encoding/x80_ebcdic-cp-ca.xml +0 -0
  1232. data/tests/wellformed/encoding/x80_ebcdic-cp-ch.xml +0 -0
  1233. data/tests/wellformed/encoding/x80_ebcdic-cp-nl.xml +0 -0
  1234. data/tests/wellformed/encoding/x80_ebcdic-cp-us.xml +0 -0
  1235. data/tests/wellformed/encoding/x80_ebcdic-cp-wt.xml +0 -0
  1236. data/tests/wellformed/encoding/x80_ebcdic_cp_be.xml +0 -0
  1237. data/tests/wellformed/encoding/x80_ebcdic_cp_ca.xml +0 -0
  1238. data/tests/wellformed/encoding/x80_ebcdic_cp_ch.xml +0 -0
  1239. data/tests/wellformed/encoding/x80_ebcdic_cp_nl.xml +0 -0
  1240. data/tests/wellformed/encoding/x80_ebcdic_cp_us.xml +0 -0
  1241. data/tests/wellformed/encoding/x80_ebcdic_cp_wt.xml +0 -0
  1242. data/tests/wellformed/encoding/x80_ibm037.xml +0 -0
  1243. data/tests/wellformed/encoding/x80_ibm039.xml +0 -0
  1244. data/tests/wellformed/encoding/x80_ibm1140.xml +0 -0
  1245. data/tests/wellformed/encoding/x80_ibm437.xml +0 -0
  1246. data/tests/wellformed/encoding/x80_ibm500.xml +0 -0
  1247. data/tests/wellformed/encoding/x80_ibm775.xml +0 -0
  1248. data/tests/wellformed/encoding/x80_ibm850.xml +0 -0
  1249. data/tests/wellformed/encoding/x80_ibm852.xml +0 -0
  1250. data/tests/wellformed/encoding/x80_ibm855.xml +0 -0
  1251. data/tests/wellformed/encoding/x80_ibm857.xml +0 -0
  1252. data/tests/wellformed/encoding/x80_ibm860.xml +0 -0
  1253. data/tests/wellformed/encoding/x80_ibm861.xml +0 -0
  1254. data/tests/wellformed/encoding/x80_ibm862.xml +0 -0
  1255. data/tests/wellformed/encoding/x80_ibm863.xml +0 -0
  1256. data/tests/wellformed/encoding/x80_ibm864.xml +0 -0
  1257. data/tests/wellformed/encoding/x80_ibm865.xml +0 -0
  1258. data/tests/wellformed/encoding/x80_ibm866.xml +0 -0
  1259. data/tests/wellformed/encoding/x80_koi8-r.xml +0 -0
  1260. data/tests/wellformed/encoding/x80_koi8-t.xml +0 -0
  1261. data/tests/wellformed/encoding/x80_koi8-u.xml +0 -0
  1262. data/tests/wellformed/encoding/x80_mac-cyrillic.xml +0 -0
  1263. data/tests/wellformed/encoding/x80_mac.xml +0 -0
  1264. data/tests/wellformed/encoding/x80_maccentraleurope.xml +0 -0
  1265. data/tests/wellformed/encoding/x80_maccyrillic.xml +0 -0
  1266. data/tests/wellformed/encoding/x80_macgreek.xml +0 -0
  1267. data/tests/wellformed/encoding/x80_maciceland.xml +0 -0
  1268. data/tests/wellformed/encoding/x80_macintosh.xml +0 -0
  1269. data/tests/wellformed/encoding/x80_maclatin2.xml +0 -0
  1270. data/tests/wellformed/encoding/x80_macroman.xml +0 -0
  1271. data/tests/wellformed/encoding/x80_macturkish.xml +0 -0
  1272. data/tests/wellformed/encoding/x80_ms-ansi.xml +0 -0
  1273. data/tests/wellformed/encoding/x80_ms-arab.xml +0 -0
  1274. data/tests/wellformed/encoding/x80_ms-cyrl.xml +0 -0
  1275. data/tests/wellformed/encoding/x80_ms-ee.xml +0 -0
  1276. data/tests/wellformed/encoding/x80_ms-greek.xml +0 -0
  1277. data/tests/wellformed/encoding/x80_ms-hebr.xml +0 -0
  1278. data/tests/wellformed/encoding/x80_ms-turk.xml +0 -0
  1279. data/tests/wellformed/encoding/x80_tcvn-5712.xml +0 -0
  1280. data/tests/wellformed/encoding/x80_tcvn.xml +0 -0
  1281. data/tests/wellformed/encoding/x80_tcvn5712-1.xml +0 -0
  1282. data/tests/wellformed/encoding/x80_viscii.xml +0 -0
  1283. data/tests/wellformed/encoding/x80_winbaltrim.xml +0 -0
  1284. data/tests/wellformed/encoding/x80_windows-1250.xml +0 -0
  1285. data/tests/wellformed/encoding/x80_windows-1251.xml +0 -0
  1286. data/tests/wellformed/encoding/x80_windows-1252.xml +0 -0
  1287. data/tests/wellformed/encoding/x80_windows-1253.xml +0 -0
  1288. data/tests/wellformed/encoding/x80_windows-1254.xml +0 -0
  1289. data/tests/wellformed/encoding/x80_windows-1255.xml +0 -0
  1290. data/tests/wellformed/encoding/x80_windows-1256.xml +0 -0
  1291. data/tests/wellformed/encoding/x80_windows-1257.xml +0 -0
  1292. data/tests/wellformed/encoding/x80_windows-1258.xml +0 -0
  1293. data/tests/wellformed/encoding/x80_windows_1250.xml +0 -0
  1294. data/tests/wellformed/encoding/x80_windows_1251.xml +0 -0
  1295. data/tests/wellformed/encoding/x80_windows_1252.xml +0 -0
  1296. data/tests/wellformed/encoding/x80_windows_1253.xml +0 -0
  1297. data/tests/wellformed/encoding/x80_windows_1254.xml +0 -0
  1298. data/tests/wellformed/encoding/x80_windows_1255.xml +0 -0
  1299. data/tests/wellformed/encoding/x80_windows_1256.xml +0 -0
  1300. data/tests/wellformed/encoding/x80_windows_1257.xml +0 -0
  1301. data/tests/wellformed/encoding/x80_windows_1258.xml +0 -0
  1302. data/tests/wellformed/feedburner/feedburner_browserfriendly.xml +0 -0
  1303. data/tests/wellformed/itunes/itunes_channel_block.xml +0 -0
  1304. data/tests/wellformed/itunes/itunes_channel_block_false.xml +0 -0
  1305. data/tests/wellformed/itunes/itunes_channel_block_no.xml +0 -0
  1306. data/tests/wellformed/itunes/itunes_channel_block_true.xml +0 -0
  1307. data/tests/wellformed/itunes/itunes_channel_block_uppercase.xml +0 -0
  1308. data/tests/wellformed/itunes/itunes_channel_block_whitespace.xml +0 -0
  1309. data/tests/wellformed/itunes/itunes_channel_category.xml +0 -0
  1310. data/tests/wellformed/itunes/itunes_channel_category_nested.xml +0 -0
  1311. data/tests/wellformed/itunes/itunes_channel_category_scheme.xml +0 -0
  1312. data/tests/wellformed/itunes/itunes_channel_explicit.xml +0 -0
  1313. data/tests/wellformed/itunes/itunes_channel_explicit_false.xml +0 -0
  1314. data/tests/wellformed/itunes/itunes_channel_explicit_no.xml +0 -0
  1315. data/tests/wellformed/itunes/itunes_channel_explicit_true.xml +0 -0
  1316. data/tests/wellformed/itunes/itunes_channel_explicit_uppercase.xml +0 -0
  1317. data/tests/wellformed/itunes/itunes_channel_explicit_whitespace.xml +0 -0
  1318. data/tests/wellformed/itunes/itunes_channel_image.xml +0 -0
  1319. data/tests/wellformed/itunes/itunes_channel_keywords.xml +0 -0
  1320. data/tests/wellformed/itunes/itunes_channel_keywords_duplicate.xml +0 -0
  1321. data/tests/wellformed/itunes/itunes_channel_keywords_duplicate_2.xml +0 -0
  1322. data/tests/wellformed/itunes/itunes_channel_keywords_multiple.xml +0 -0
  1323. data/tests/wellformed/itunes/itunes_channel_link_image.xml +0 -0
  1324. data/tests/wellformed/itunes/itunes_channel_owner_email.xml +0 -0
  1325. data/tests/wellformed/itunes/itunes_channel_owner_name.xml +0 -0
  1326. data/tests/wellformed/itunes/itunes_channel_subtitle.xml +0 -0
  1327. data/tests/wellformed/itunes/itunes_channel_summary.xml +0 -0
  1328. data/tests/wellformed/itunes/itunes_core_element_uppercase.xml +0 -0
  1329. data/tests/wellformed/itunes/itunes_enclosure_url_maps_id.xml +0 -0
  1330. data/tests/wellformed/itunes/itunes_enclosure_url_maps_id_2.xml +0 -0
  1331. data/tests/wellformed/itunes/itunes_item_author_map_author.xml +0 -0
  1332. data/tests/wellformed/itunes/itunes_item_block.xml +0 -0
  1333. data/tests/wellformed/itunes/itunes_item_block_false.xml +0 -0
  1334. data/tests/wellformed/itunes/itunes_item_block_no.xml +0 -0
  1335. data/tests/wellformed/itunes/itunes_item_block_true.xml +0 -0
  1336. data/tests/wellformed/itunes/itunes_item_block_uppercase.xml +0 -0
  1337. data/tests/wellformed/itunes/itunes_item_block_whitespace.xml +0 -0
  1338. data/tests/wellformed/itunes/itunes_item_category.xml +0 -0
  1339. data/tests/wellformed/itunes/itunes_item_category_nested.xml +0 -0
  1340. data/tests/wellformed/itunes/itunes_item_category_scheme.xml +0 -0
  1341. data/tests/wellformed/itunes/itunes_item_duration.xml +0 -0
  1342. data/tests/wellformed/itunes/itunes_item_explicit.xml +0 -0
  1343. data/tests/wellformed/itunes/itunes_item_explicit_false.xml +0 -0
  1344. data/tests/wellformed/itunes/itunes_item_explicit_no.xml +0 -0
  1345. data/tests/wellformed/itunes/itunes_item_explicit_true.xml +0 -0
  1346. data/tests/wellformed/itunes/itunes_item_explicit_uppercase.xml +0 -0
  1347. data/tests/wellformed/itunes/itunes_item_explicit_whitespace.xml +0 -0
  1348. data/tests/wellformed/itunes/itunes_item_image.xml +0 -0
  1349. data/tests/wellformed/itunes/itunes_item_link_image.xml +0 -0
  1350. data/tests/wellformed/itunes/itunes_item_subtitle.xml +0 -0
  1351. data/tests/wellformed/itunes/itunes_item_summary.xml +0 -0
  1352. data/tests/wellformed/itunes/itunes_link_enclosure_maps_id.xml +0 -0
  1353. data/tests/wellformed/itunes/itunes_link_enclosure_maps_id_2.xml +0 -0
  1354. data/tests/wellformed/itunes/itunes_namespace.xml +0 -0
  1355. data/tests/wellformed/itunes/itunes_namespace_example.xml +0 -0
  1356. data/tests/wellformed/itunes/itunes_namespace_lowercase.xml +0 -0
  1357. data/tests/wellformed/itunes/itunes_namespace_uppercase.xml +0 -0
  1358. data/tests/wellformed/lang/entry_content_xml_lang_inherit.xml +0 -0
  1359. data/tests/wellformed/lang/entry_content_xml_lang_inherit_2.xml +0 -0
  1360. data/tests/wellformed/lang/entry_content_xml_lang_inherit_3.xml +0 -0
  1361. data/tests/wellformed/lang/entry_content_xml_lang_inherit_4.xml +0 -0
  1362. data/tests/wellformed/lang/entry_summary_xml_lang.xml +0 -0
  1363. data/tests/wellformed/lang/entry_summary_xml_lang_inherit.xml +0 -0
  1364. data/tests/wellformed/lang/entry_summary_xml_lang_inherit_2.xml +0 -0
  1365. data/tests/wellformed/lang/entry_summary_xml_lang_inherit_3.xml +0 -0
  1366. data/tests/wellformed/lang/entry_summary_xml_lang_inherit_4.xml +0 -0
  1367. data/tests/wellformed/lang/entry_title_xml_lang.xml +0 -0
  1368. data/tests/wellformed/lang/entry_title_xml_lang_inherit.xml +0 -0
  1369. data/tests/wellformed/lang/entry_title_xml_lang_inherit_2.xml +0 -0
  1370. data/tests/wellformed/lang/entry_title_xml_lang_inherit_3.xml +0 -0
  1371. data/tests/wellformed/lang/entry_title_xml_lang_inherit_4.xml +0 -0
  1372. data/tests/wellformed/lang/feed_copyright_xml_lang.xml +0 -0
  1373. data/tests/wellformed/lang/feed_copyright_xml_lang_inherit.xml +0 -0
  1374. data/tests/wellformed/lang/feed_copyright_xml_lang_inherit_2.xml +0 -0
  1375. data/tests/wellformed/lang/feed_copyright_xml_lang_inherit_3.xml +0 -0
  1376. data/tests/wellformed/lang/feed_copyright_xml_lang_inherit_4.xml +0 -0
  1377. data/tests/wellformed/lang/feed_info_xml_lang.xml +0 -0
  1378. data/tests/wellformed/lang/feed_info_xml_lang_inherit.xml +0 -0
  1379. data/tests/wellformed/lang/feed_info_xml_lang_inherit_2.xml +0 -0
  1380. data/tests/wellformed/lang/feed_info_xml_lang_inherit_3.xml +0 -0
  1381. data/tests/wellformed/lang/feed_info_xml_lang_inherit_4.xml +0 -0
  1382. data/tests/wellformed/lang/feed_language.xml +0 -0
  1383. data/tests/wellformed/lang/feed_language_override.xml +0 -0
  1384. data/tests/wellformed/lang/feed_not_xml_lang.xml +0 -0
  1385. data/tests/wellformed/lang/feed_not_xml_lang_2.xml +0 -0
  1386. data/tests/wellformed/lang/feed_tagline_xml_lang.xml +0 -0
  1387. data/tests/wellformed/lang/feed_tagline_xml_lang_inherit.xml +0 -0
  1388. data/tests/wellformed/lang/feed_tagline_xml_lang_inherit_2.xml +0 -0
  1389. data/tests/wellformed/lang/feed_tagline_xml_lang_inherit_3.xml +0 -0
  1390. data/tests/wellformed/lang/feed_tagline_xml_lang_inherit_4.xml +0 -0
  1391. data/tests/wellformed/lang/feed_title_xml_lang.xml +0 -0
  1392. data/tests/wellformed/lang/feed_title_xml_lang_inherit.xml +0 -0
  1393. data/tests/wellformed/lang/feed_title_xml_lang_inherit_2.xml +0 -0
  1394. data/tests/wellformed/lang/feed_title_xml_lang_inherit_3.xml +0 -0
  1395. data/tests/wellformed/lang/feed_title_xml_lang_inherit_4.xml +0 -0
  1396. data/tests/wellformed/lang/feed_xml_lang.xml +0 -0
  1397. data/tests/wellformed/lang/http_content_language.xml +0 -0
  1398. data/tests/wellformed/lang/http_content_language_entry_title_inherit.xml +0 -0
  1399. data/tests/wellformed/lang/http_content_language_entry_title_inherit_2.xml +0 -0
  1400. data/tests/wellformed/lang/http_content_language_feed_language.xml +0 -0
  1401. data/tests/wellformed/lang/http_content_language_feed_xml_lang.xml +0 -0
  1402. data/tests/wellformed/rdf/doctype_contains_entity_decl.xml +0 -0
  1403. data/tests/wellformed/rdf/rdf_item_rdf_about.xml +0 -0
  1404. data/tests/wellformed/rdf/rss_version_10_not_default_ns.xml +0 -0
  1405. data/tests/wellformed/rss/channel_dc_contributor.xml +0 -0
  1406. data/tests/wellformed/rss/channel_dc_publisher_email.xml +0 -0
  1407. data/tests/wellformed/rss/channel_dc_publisher_name.xml +0 -0
  1408. data/tests/wellformed/rss/channel_webMaster_email.xml +0 -0
  1409. data/tests/wellformed/rss/channel_webMaster_name.xml +0 -0
  1410. data/tests/wellformed/rss/item_dc_contributor.xml +0 -0
  1411. data/tests/wellformed/rss/item_dc_publisher_email.xml +0 -0
  1412. data/tests/wellformed/rss/item_dc_publisher_name.xml +0 -0
  1413. data/tests/wellformed/rss/item_description_and_summary.xml +0 -0
  1414. data/tests/wellformed/rss/item_description_br.xml +0 -0
  1415. data/tests/wellformed/rss/item_description_br_shorttag.xml +0 -0
  1416. data/tests/wellformed/rss/item_description_not_a_doctype.xml +0 -0
  1417. data/tests/wellformed/rss/item_guid_guidislink.xml +0 -0
  1418. data/tests/wellformed/rss/item_guid_isPermaLink_conflict_link_not_guidislink.xml +0 -0
  1419. data/tests/wellformed/rss/item_guid_isPermaLink_guidislink.xml +0 -0
  1420. data/tests/wellformed/rss/item_guid_not_permalink_not_guidislink.xml +0 -0
  1421. data/tests/wellformed/rss/item_guid_not_permalink_not_guidislink_2.xml +0 -0
  1422. data/tests/wellformed/rss/item_summary_and_description.xml +0 -0
  1423. data/tests/wellformed/rss/item_title_not_media.xml +15 -0
  1424. data/tests/wellformed/sanitize/entry_content_onload.xml +0 -0
  1425. data/tests/wellformed/sanitize/entry_content_style.xml +0 -0
  1426. data/tests/wellformed/sanitize/entry_summary_blink.xml +0 -0
  1427. data/tests/wellformed/sanitize/entry_summary_onload.xml +0 -0
  1428. data/tests/wellformed/sanitize/entry_summary_style.xml +0 -0
  1429. data/tests/wellformed/sanitize/entry_title_blink.xml +0 -0
  1430. data/tests/wellformed/sanitize/entry_title_onload.xml +0 -0
  1431. data/tests/wellformed/sanitize/entry_title_style.xml +0 -0
  1432. data/tests/wellformed/sanitize/feed_copyright_blink.xml +0 -0
  1433. data/tests/wellformed/sanitize/feed_copyright_onload.xml +0 -0
  1434. data/tests/wellformed/sanitize/feed_copyright_style.xml +0 -0
  1435. data/tests/wellformed/sanitize/feed_info_blink.xml +0 -0
  1436. data/tests/wellformed/sanitize/feed_info_onload.xml +0 -0
  1437. data/tests/wellformed/sanitize/feed_info_style.xml +0 -0
  1438. data/tests/wellformed/sanitize/feed_subtitle_blink.xml +0 -0
  1439. data/tests/wellformed/sanitize/feed_subtitle_onload.xml +0 -0
  1440. data/tests/wellformed/sanitize/feed_subtitle_style.xml +0 -0
  1441. data/tests/wellformed/sanitize/feed_tagline_blink.xml +0 -0
  1442. data/tests/wellformed/sanitize/feed_tagline_onload.xml +0 -0
  1443. data/tests/wellformed/sanitize/feed_tagline_style.xml +0 -0
  1444. data/tests/wellformed/sanitize/feed_title_blink.xml +0 -0
  1445. data/tests/wellformed/sanitize/feed_title_onload.xml +0 -0
  1446. data/tests/wellformed/sanitize/feed_title_style.xml +0 -0
  1447. data/tests/wellformed/sanitize/item_body_blink.xml +0 -0
  1448. data/tests/wellformed/sanitize/item_body_onload.xml +0 -0
  1449. data/tests/wellformed/sanitize/item_body_style.xml +0 -0
  1450. data/tests/wellformed/sanitize/item_content_encoded_blink.xml +0 -0
  1451. data/tests/wellformed/sanitize/item_content_encoded_map_content.xml +0 -0
  1452. data/tests/wellformed/sanitize/item_content_encoded_onload.xml +0 -0
  1453. data/tests/wellformed/sanitize/item_content_encoded_script.xml +0 -0
  1454. data/tests/wellformed/sanitize/item_content_encoded_style.xml +0 -0
  1455. data/tests/wellformed/sanitize/item_description_blink.xml +0 -0
  1456. data/tests/wellformed/sanitize/item_description_onload.xml +0 -0
  1457. data/tests/wellformed/sanitize/item_description_script.xml +0 -0
  1458. data/tests/wellformed/sanitize/item_description_script_map_summary.xml +0 -0
  1459. data/tests/wellformed/sanitize/item_description_style.xml +0 -0
  1460. data/tests/wellformed/sanitize/item_fullitem_blink.xml +0 -0
  1461. data/tests/wellformed/sanitize/item_fullitem_onload.xml +0 -0
  1462. data/tests/wellformed/sanitize/item_fullitem_style.xml +0 -0
  1463. data/tests/wellformed/sanitize/item_xhtml_body_blink.xml +0 -0
  1464. data/tests/wellformed/sanitize/item_xhtml_body_onload.xml +0 -0
  1465. data/tests/wellformed/sanitize/item_xhtml_body_style.xml +0 -0
  1466. metadata +120 -101
  1467. data/lib/rfeedparser/forgiving_uri.rb +0 -953
  1468. data/lib/rfeedparser/parsers.rb +0 -177
data/LICENSE CHANGED
File without changes
data/README CHANGED
@@ -1,27 +1,50 @@
1
- Universal Feed Parser
2
- Parse RSS and Atom feeds in Python. 3000 unit tests. Open source.
3
-
4
- Copyright (c) 2002-5 by Mark Pilgrim
5
- open source, see LICENSE file for details
6
-
7
- -----
8
-
9
- To use:
10
- If installed as a gem
11
- require 'rubygems'
12
- require 'rfeedparser'
13
-
14
- fp = FeedParser.parse("some-feed-filepath-or-url")
15
-
16
- If not installed as a gem, copy the contents of lib into the ruby path and just use
17
- require 'rfeedparser'
18
-
19
- fp = FeedParser.parse("some-feed-filepath-or-url")
20
-
21
- ----
22
-
23
- For developers:
24
- I currently have the "rough" code in a bzr branch over at
25
- <http://somethingsimilar.com/code/bzr/rfeedparser/>. You'll want
26
- to check out the rfeedparser-main branch for the current code, or
27
- rfeedparser-release for the code in the latest release.
1
+ = Universal Feed Parser
2
+ http://rfeedparser.rubyforge.org
3
+ Original Python code Copyright (c) 2002-5 by Mark Pilgrim
4
+ Ruby port by Jeff Hodges.
5
+
6
+ == Description
7
+
8
+ Parse nearly any RSS and Atom feeds in Ruby. 3000 unit tests. Open source.
9
+
10
+ == Installation
11
+
12
+ For Debian-based systems:
13
+
14
+ $ sudo apt-get install libxml-ruby1.8 # or libxml-parser-ruby1.8
15
+
16
+ TODO: dependency installation instructions for other platforms.
17
+
18
+ And then:
19
+
20
+ $ sudo gem install rfeedparser
21
+
22
+ Or for the latest development version:
23
+
24
+ $ git clone git://github.com/technomancy/rfeedparser.git
25
+
26
+ Dependencies on other gems are handled by rubygems, but rfeedparser
27
+ also relies on having bindings to a native XML parsing library. The
28
+ recommended choice is libxml, which is installable with the
29
+ libxml-ruby1.8 package in Debian-based systems. But it can also fall
30
+ back to expat (the libxml-parser-ruby1.8 Debian package) if libxml is
31
+ not installed.
32
+
33
+ == Usage
34
+
35
+ require 'rubygems' # may omit if installed manually
36
+ require 'rfeedparser'
37
+
38
+ feed = FeedParser.parse("some-feed-stream-filepath-or-url")
39
+
40
+ feed.entries.each do |e|
41
+ puts e.title
42
+ puts e.content
43
+ puts e.published
44
+ puts '----'
45
+ end
46
+
47
+ == Contributing
48
+
49
+ Clone the git repository at git://github.com/jmhodges/rfeedparser.git and
50
+ which has a webpage at http://github.com/jmhodges/rfeedparser/tree/master.
@@ -1,15 +1,18 @@
1
1
  === Testing rFeedParser ===
2
- Simply run `ruby tests/rfeedparsertest.rb` to run all of the FeedParser tests.
2
+ Simply run rake to run all of the FeedParser tests.
3
+
3
4
  Optionally, you can start up rfeedparserserver.rb and, in another shell, run rfeedparser.rb
4
5
  against "http://localhost:8097/tests/path/to/testcase.xml" if you want
5
6
  to try a test individually. You can, of course, run rfeedparser.rb with
6
7
  the file path to the testcase, but there may be HTTP headers required for
7
8
  a successful run that can only be given by running rfeedparser against
8
9
  the HTTP server path. I'll probably merge feedparserserver.rb into
9
- rfeedparsertest.rb soon.
10
+ rfeedparsertest.rb soon. Note that there are many test failures that occur
11
+ solely because of problems with a platforms iconv installation. Inconsistency
12
+ in iconv is the leading cause of errors in rfp's test cases.
10
13
 
11
14
  === Last Count 20070321 ===
12
- By my last count, rfeedparsertest.rb says that there are 45 assertions
15
+ By my last count, rfeedparsertest.rb says that there are 45 assertions
13
16
  that fail, and 4 that error out. I've included here a few tests that
14
17
  "Failed, Sort Of". By that I mean, the behaviors the tests are meant to
15
18
  check are correct, but the test fails because of some other superficial
@@ -1,103 +1,107 @@
1
1
  #!/usr/bin/env ruby
2
- """Universal feed parser in Ruby
2
+ # Universal feed parser in Ruby
3
+ #
4
+ # Handles RSS 0.9x, RSS 1.0, RSS 2.0, CDF, Atom 0.3, and Atom 1.0 feeds
5
+ #
6
+ # Visit http://feedparser.org/ for the latest version in Python
7
+ # Visit http://feedparser.org/docs/ for the latest documentation
8
+ # Email Jeff Hodges at jeff@somethingsimilar.com with questions
9
+ #
10
+ # Required: Ruby 1.8
3
11
 
4
- Handles RSS 0.9x, RSS 1.0, RSS 2.0, CDF, Atom 0.3, and Atom 1.0 feeds
5
-
6
- Visit http://feedparser.org/ for the latest version in Python
7
- Visit http://feedparser.org/docs/ for the latest documentation
8
- Email Jeff Hodges at jeff@obquo.com for questions
9
-
10
- Required: Ruby 1.8
11
- """
12
12
  $KCODE = 'UTF8'
13
13
  require 'stringio'
14
14
  require 'uri'
15
+ require 'open-uri'
15
16
  require 'cgi' # escaping html
16
17
  require 'time'
17
18
  require 'pp'
18
- require 'rubygems'
19
19
  require 'base64'
20
20
  require 'iconv'
21
+ require 'zlib'
22
+
23
+ require 'rubygems'
21
24
 
25
+
26
+ # If available, Nikolai's UTF-8 library will ease use of utf-8 documents.
27
+ # See http://git.bitwi.se/ruby-character-encodings.git/.
28
+ begin
29
+ gem 'character-encodings', ">=0.2.0"
30
+ require 'encoding/character/utf-8'
31
+ rescue LoadError
32
+ end
33
+
34
+ # TODO: require these in the files that need them, not in the toplevel
22
35
  gem 'hpricot', "=0.6"
23
36
  require 'hpricot'
24
- gem 'character-encodings', ">=0.2.0"
37
+
25
38
  gem 'htmltools', ">=1.10"
39
+ require 'html/sgml-parser'
40
+
26
41
  gem 'htmlentities', ">=4.0.0"
27
- gem 'activesupport', ">=1.4.1"
28
- gem 'rchardet', ">=1.0"
42
+ require 'htmlentities'
29
43
 
30
- require 'xml/saxdriver' # calling expat through the xmlparser gem
44
+ gem 'addressable', ">= 1.0.4"
45
+ require 'addressable/uri'
31
46
 
47
+ gem 'rchardet', ">=1.0"
32
48
  require 'rchardet'
33
49
  $chardet = true
34
50
 
35
- require 'encoding/character/utf-8'
36
- require 'html/sgml-parser'
37
- require 'htmlentities'
38
- require 'active_support'
39
- require 'open-uri'
40
- include OpenURI
41
-
42
51
  $debug = false
43
52
  $compatible = true
44
53
 
45
- $LOAD_PATH << File.expand_path(File.dirname(__FILE__))
54
+ $LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__))
46
55
  require 'rfeedparser/utilities'
47
- require 'rfeedparser/forgiving_uri'
48
56
  require 'rfeedparser/better_sgmlparser'
49
57
  require 'rfeedparser/better_attributelist'
50
58
  require 'rfeedparser/feedparserdict'
51
59
  require 'rfeedparser/parser_mixin'
52
- require 'rfeedparser/parsers'
53
60
 
61
+ require 'rfeedparser/loose_feed_parser'
54
62
 
63
+ begin
64
+ require 'rfeedparser/expat_parser'
65
+ StrictFeedParser = FeedParser::Expat::StrictFeedParser
66
+
67
+ rescue LoadError, NameError
68
+ STDERR.puts "Could not load expat; trying libxml."
69
+
70
+ begin
71
+ require 'rfeedparser/libxml_parser'
72
+ StrictFeedParser = FeedParser::LibXML::StrictFeedParser
55
73
 
74
+ rescue LoadError, NameError
75
+ StrictFeedParser = nil
76
+ STDERR.puts "Could not load libxml either; will use loose parser."
77
+ end
78
+ end
79
+
80
+ require 'rfeedparser/monkey_patches'
56
81
 
57
82
  module FeedParser
58
83
  extend FeedParserUtilities
59
84
 
60
- Version = "0.9.940"
61
-
62
- License = """Copyright (c) 2002-2006, Mark Pilgrim, All rights reserved.
63
-
64
- Redistribution and use in source and binary forms, with or without modification,
65
- are permitted provided that the following conditions are met:
66
-
67
- * Redistributions of source code must retain the above copyright notice,
68
- this list of conditions and the following disclaimer.
69
- * Redistributions in binary form must reproduce the above copyright notice,
70
- this list of conditions and the following disclaimer in the documentation
71
- and/or other materials provided with the distribution.
72
-
73
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
74
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
75
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
76
- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
77
- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
78
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
79
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
80
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
81
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
82
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
83
- POSSIBILITY OF SUCH DAMAGE."""
84
-
85
- Translator_From_Python_To_Ruby = "Jeff Hodges <http://somethingsimilar.com>"
86
- Author = "Mark Pilgrim <http://diveintomark.org/>"
87
- Contributors = [ "Jason Diamond <http://injektilo.org/>",
88
- "John Beimler <http://john.beimler.org/>",
89
- "Fazal Majid <http://www.majid.info/mylos/weblog/>",
90
- "Aaron Swartz <http://aaronsw.com/>",
91
- "Kevin Marks <http://epeus.blogspot.com/>",
92
- "Jesse Newland <http://jnewland.com/>"
93
- ]
85
+ VERSION = "0.9.950"
86
+
87
+ AUTHOR = "Mark Pilgrim <http://diveintomark.org/>"
88
+ PORTER = "Jeff Hodges <http://somethingsimilar.com>"
89
+ CONTRIBUTERS = ["Jason Diamond <http://injektilo.org/>",
90
+ "John Beimler <http://john.beimler.org/>",
91
+ "Fazal Majid <http://www.majid.info/mylos/weblog/>",
92
+ "Aaron Swartz <http://aaronsw.com/>",
93
+ "Kevin Marks <http://epeus.blogspot.com/>",
94
+ "Jesse Newland <http://jnewland.com/>",
95
+ "Charlie Savage <http://cfis.savagexi.com/>",
96
+ "Phil Hagelberg <http://technomancy.us>"]
97
+
94
98
  # HTTP "User-Agent" header to send to servers when downloading feeds.
95
99
  # If you are embedding feedparser in a larger application, you should
96
100
  # change this to your application name and URL.
97
- USER_AGENT = "rFeedParser/#{Version} +http://rfeedparser.rubyforge.org/"
101
+ USER_AGENT = "rFeedParser/#{VERSION} +http://rfeedparser.rubyforge.org/"
98
102
 
99
103
  # HTTP "Accept" header to send to servers when downloading feeds. If you don't
100
- # want to send an Accept header, set this to None.
104
+ # want to send an Accept header, set this to nil.
101
105
  ACCEPT_HEADER = "application/atom+xml,application/rdf+xml,application/rss+xml,application/x-netcdf,application/xml;q=0.9,text/xml;q=0.2,*/*;q=0.1"
102
106
 
103
107
 
@@ -112,7 +116,7 @@ module FeedParser
112
116
 
113
117
 
114
118
  # ---------- don't touch these ----------
115
- class ThingsNobodyCaresAboutButMe < Exception
119
+ class ThingsNobodyCaresAboutButMe < StandardError
116
120
  end
117
121
  class CharacterEncodingOverride < ThingsNobodyCaresAboutButMe
118
122
  end
@@ -120,7 +124,7 @@ module FeedParser
120
124
  end
121
125
  class NonXMLContentType < ThingsNobodyCaresAboutButMe
122
126
  end
123
- class UndeclaredNamespace < Exception
127
+ class UndeclaredNamespace < StandardError
124
128
  end
125
129
 
126
130
 
@@ -158,14 +162,14 @@ module FeedParser
158
162
  url_file_stream_or_string.strip!
159
163
 
160
164
 
161
- furi = ForgivingURI.parse(url_file_stream_or_string)
162
- if furi && ['http','https','ftp'].include?(furi.scheme)
165
+ uri = Addressable::URI.parse(url_file_stream_or_string)
166
+ if uri && ['http','https','ftp'].include?(uri.scheme)
163
167
  auth = nil
164
168
 
165
- if furi.host && furi.password
166
- auth = Base64::encode64("#{furi.user}:#{furi.password}").strip
167
- furi.password = nil
168
- url_file_stream_or_string = furi.to_s
169
+ if uri.host && uri.password
170
+ auth = Base64::encode64("#{uri.user}:#{uri.password}").strip
171
+ uri.password = nil
172
+ url_file_stream_or_string = uri.to_s
169
173
  end
170
174
 
171
175
  req_headers = {}
@@ -212,7 +216,7 @@ module FeedParser
212
216
 
213
217
  # Use the default compatibility if compatible is nil
214
218
  $compatible = options[:compatible].nil? ? $compatible : options[:compatible]
215
-
219
+
216
220
  strictklass = options[:strict] || StrictFeedParser
217
221
  looseklass = options[:loose] || LooseFeedParser
218
222
  options[:handlers] = options[:handlers] || []
@@ -233,7 +237,7 @@ module FeedParser
233
237
  f = nil
234
238
  end
235
239
 
236
- if f and !data.blank? and f.respond_to?(:meta)
240
+ if f and !(data.nil? || data.empty?) and f.respond_to?(:meta)
237
241
  # if feed is gzip-compressed, decompress it
238
242
  if f.meta['content-encoding'] == 'gzip'
239
243
  begin
@@ -285,17 +289,20 @@ module FeedParser
285
289
  # - result['encoding'] is the actual encoding, as per RFC 3023 and a variety of other conflicting specifications
286
290
  http_headers = result['headers'] || {}
287
291
  result['encoding'], http_encoding, xml_encoding, sniffed_xml_encoding, acceptable_content_type =
288
- getCharacterEncoding(http_headers,data)
292
+ getCharacterEncoding(http_headers, data)
293
+
289
294
 
290
- if not http_headers.blank? and not acceptable_content_type
291
- unless http_headers['content-type'].nil?
295
+ if !(http_headers.nil? || http_headers.empty?) && !acceptable_content_type
296
+ if http_headers['content-type']
292
297
  bozo_message = "#{http_headers['content-type']} is not an XML media type"
293
298
  else
294
299
  bozo_message = 'no Content-type specified'
295
300
  end
301
+
296
302
  result['bozo'] = true
297
303
  result['bozo_exception'] = NonXMLContentType.new(bozo_message) # I get to care about this, cuz Mark says I should.
298
304
  end
305
+
299
306
  result['version'], data = stripDoctype(data)
300
307
 
301
308
  baseuri = http_headers['content-location'] || result['href']
@@ -331,6 +338,7 @@ module FeedParser
331
338
  rescue
332
339
  end
333
340
  end
341
+
334
342
  # if no luck and we have auto-detection library, try that
335
343
  if not known_encoding and $chardet
336
344
  begin
@@ -344,8 +352,6 @@ module FeedParser
344
352
  end
345
353
  end
346
354
 
347
-
348
-
349
355
  # if still no luck and we haven't tried utf-8 yet, try that
350
356
  if not known_encoding and not tried_encodings.include?'utf-8'
351
357
  begin
@@ -356,6 +362,7 @@ module FeedParser
356
362
  rescue
357
363
  end
358
364
  end
365
+
359
366
  # if still no luck and we haven't tried windows-1252 yet, try that
360
367
  if not known_encoding and not tried_encodings.include?'windows-1252'
361
368
  begin
@@ -366,7 +373,7 @@ module FeedParser
366
373
  rescue
367
374
  end
368
375
  end
369
-
376
+
370
377
  # NOTE this isn't in FeedParser.py 4.1
371
378
  # if still no luck and we haven't tried iso-8859-2 yet, try that.
372
379
  #if not known_encoding and not tried_encodings.include?'iso-8859-2'
@@ -391,34 +398,28 @@ module FeedParser
391
398
  result['encoding'] = proposed_encoding
392
399
  end
393
400
 
401
+ use_strict_parser = false unless StrictFeedParser
402
+
394
403
  if use_strict_parser
395
- # initialize the SAX parser
396
- saxparser = XML::SAX::Helpers::ParserFactory.makeParser("XML::Parser::SAXDriver")
397
- feedparser = strictklass.new(baseuri, baselang, 'utf-8')
398
- saxparser.setDocumentHandler(feedparser)
399
- saxparser.setDTDHandler(feedparser)
400
- saxparser.setEntityResolver(feedparser)
401
- saxparser.setErrorHandler(feedparser)
402
-
403
- inputdata = XML::SAX::InputSource.new('parsedfeed')
404
- inputdata.setByteStream(StringIO.new(data))
405
404
  begin
406
- saxparser.parse(inputdata)
407
- rescue Exception => parseerr # resparse
408
- if $debug
409
- $stderr << "xml parsing failed\n"
410
- $stderr << parseerr.to_s+"\n" # Hrmph.
411
- end
405
+ parser = StrictFeedParser.new(baseuri, baselang)
406
+ feedparser = parser.handler
407
+ parser.parse(data)
408
+
409
+ rescue => err
410
+ $stderr << "xml parsing failed: #{err.message}\n#{err.backtrace.join("\n")}" if $debug
412
411
  result['bozo'] = true
413
412
  result['bozo_exception'] = feedparser.exc || e
414
413
  use_strict_parser = false
415
414
  end
416
415
  end
416
+
417
417
  if not use_strict_parser
418
418
  $stderr << "Using LooseFeed\n\n" if $debug
419
419
  feedparser = looseklass.new(baseuri, baselang, (known_encoding and 'utf-8' or ''))
420
420
  feedparser.parse(data)
421
421
  end
422
+
422
423
  result['feed'] = feedparser.feeddata
423
424
  result['entries'] = feedparser.entries
424
425
  result['version'] = result['version'] || feedparser.version
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
 
4
- class BetterSGMLParserError < Exception; end;
4
+ class BetterSGMLParserError < StandardError; end;
5
5
  class BetterSGMLParser < HTML::SGMLParser
6
6
  # Replaced Tagfind and Charref Regexps with the ones in feedparser.py
7
7
  # This makes things work.
@@ -35,12 +35,14 @@ module FeedParserUtilities
35
35
  true_encoding = nil
36
36
 
37
37
  http_content_type, charset = http_headers['content-type'].to_s.split(';',2)
38
+
38
39
  encoding_regexp = /\s*charset\s*=\s*(?:"|')?(.*?)(?:"|')?\s*$/
39
40
  http_encoding = charset.to_s.scan(encoding_regexp).flatten[0]
40
- http_encoding = nil if http_encoding.blank?
41
- # FIXME Open-Uri returns iso8859-1 if there is no charset header,
42
- # but that doesn't pass the tests. Open-Uri claims its following
43
- # the right RFC. Are they wrong or do we need to change the tests?
41
+
42
+ http_encoding = nil if http_encoding && http_encoding.empty?
43
+ # FIXME Open-Uri returns iso8859-1 if there is no charset header,
44
+ # but that doesn't pass the tests. Open-Uri claims its following
45
+ # the right RFC. Are they wrong or do we need to change the tests?
44
46
 
45
47
  # Must sniff for non-ASCII-compatible character encodings before
46
48
  # searching for XML declaration. This heuristic is defined in
@@ -224,14 +226,19 @@ unless defined?(Builder::XChar)
224
226
  62 => '&gt;' # right angle bracket
225
227
  }
226
228
  # http://www.w3.org/TR/REC-xml/#charsets
227
- VALID = [[0x9, 0xA, 0xD], (0x20..0xD7FF),
228
- (0xE000..0xFFFD), (0x10000..0x10FFFF)]
229
+ VALID = [
230
+ 0x9, 0xA, 0xD,
231
+ (0x20..0xD7FF),
232
+ (0xE000..0xFFFD),
233
+ (0x10000..0x10FFFF)
234
+ ]
229
235
  end
230
236
 
231
237
  class Fixnum
232
238
  # xml escaped version of chr
233
239
  def xchr
234
240
  n = XChar::CP1252[self] || self
241
+
235
242
  case n when *XChar::VALID
236
243
  XChar::PREDEFINED[n] or (n<128 ? n.chr : "&##{n};")
237
244
  else
@@ -241,11 +248,10 @@ unless defined?(Builder::XChar)
241
248
  end
242
249
 
243
250
  class String
244
- alias :old_index :index
245
- def to_xs
251
+ def to_xs
246
252
  unpack('U*').map {|n| n.xchr}.join # ASCII, UTF-8
247
253
  rescue
248
254
  unpack('C*').map {|n| n.xchr}.join # ISO-8859-1, WIN-1252
249
255
  end
250
256
  end
251
- end
257
+ end