rfeedparser 0.9.940 → 0.9.950
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +0 -0
- data/README +50 -27
- data/RUBY-TESTING +6 -3
- data/lib/rfeedparser.rb +93 -92
- data/lib/rfeedparser/better_sgmlparser.rb +1 -1
- data/lib/rfeedparser/encoding_helpers.rb +15 -9
- data/lib/rfeedparser/expat_parser.rb +159 -0
- data/lib/rfeedparser/libxml_parser.rb +76 -0
- data/lib/rfeedparser/loose_feed_parser.rb +75 -0
- data/lib/rfeedparser/markup_helpers.rb +1 -1
- data/lib/rfeedparser/monkey_patches.rb +10 -0
- data/lib/rfeedparser/parser_mixin.rb +41 -10
- data/lib/rfeedparser/time_helpers.rb +3 -3
- data/lib/rfeedparser/utilities.rb +1 -1
- data/tests/illformed/atom10/atom10_namespace.xml +0 -0
- data/tests/illformed/atom10/atom10_version.xml +0 -0
- data/tests/illformed/atom10/entry_author_email.xml +0 -0
- data/tests/illformed/atom10/entry_author_map_author.xml +0 -0
- data/tests/illformed/atom10/entry_author_map_author_2.xml +0 -0
- data/tests/illformed/atom10/entry_author_name.xml +0 -0
- data/tests/illformed/atom10/entry_author_uri.xml +0 -0
- data/tests/illformed/atom10/entry_author_url.xml +0 -0
- data/tests/illformed/atom10/entry_category_label.xml +0 -0
- data/tests/illformed/atom10/entry_category_scheme.xml +0 -0
- data/tests/illformed/atom10/entry_category_term.xml +0 -0
- data/tests/illformed/atom10/entry_content_application_xml.xml +0 -0
- data/tests/illformed/atom10/entry_content_base64.xml +0 -0
- data/tests/illformed/atom10/entry_content_base64_2.xml +0 -0
- data/tests/illformed/atom10/entry_content_escaped_markup.xml +0 -0
- data/tests/illformed/atom10/entry_content_inline_markup.xml +0 -0
- data/tests/illformed/atom10/entry_content_inline_markup_2.xml +0 -0
- data/tests/illformed/atom10/entry_content_src.xml +0 -0
- data/tests/illformed/atom10/entry_content_text_plain.xml +0 -0
- data/tests/illformed/atom10/entry_content_text_plain_brackets.xml +0 -0
- data/tests/illformed/atom10/entry_content_type.xml +0 -0
- data/tests/illformed/atom10/entry_content_type_text.xml +0 -0
- data/tests/illformed/atom10/entry_content_value.xml +0 -0
- data/tests/illformed/atom10/entry_contributor_email.xml +0 -0
- data/tests/illformed/atom10/entry_contributor_multiple.xml +0 -0
- data/tests/illformed/atom10/entry_contributor_name.xml +0 -0
- data/tests/illformed/atom10/entry_contributor_uri.xml +0 -0
- data/tests/illformed/atom10/entry_contributor_url.xml +0 -0
- data/tests/illformed/atom10/entry_id.xml +0 -0
- data/tests/illformed/atom10/entry_id_map_guid.xml +0 -0
- data/tests/illformed/atom10/entry_id_no_normalization_1.xml +0 -0
- data/tests/illformed/atom10/entry_id_no_normalization_2.xml +0 -0
- data/tests/illformed/atom10/entry_id_no_normalization_3.xml +0 -0
- data/tests/illformed/atom10/entry_id_no_normalization_4.xml +0 -0
- data/tests/illformed/atom10/entry_id_no_normalization_5.xml +0 -0
- data/tests/illformed/atom10/entry_id_no_normalization_6.xml +0 -0
- data/tests/illformed/atom10/entry_id_no_normalization_7.xml +0 -0
- data/tests/illformed/atom10/entry_link_alternate_map_link.xml +0 -0
- data/tests/illformed/atom10/entry_link_alternate_map_link_2.xml +0 -0
- data/tests/illformed/atom10/entry_link_alternate_map_link_3.xml +0 -0
- data/tests/illformed/atom10/entry_link_href.xml +0 -0
- data/tests/illformed/atom10/entry_link_hreflang.xml +0 -0
- data/tests/illformed/atom10/entry_link_length.xml +0 -0
- data/tests/illformed/atom10/entry_link_multiple.xml +0 -0
- data/tests/illformed/atom10/entry_link_no_rel.xml +0 -0
- data/tests/illformed/atom10/entry_link_rel.xml +0 -0
- data/tests/illformed/atom10/entry_link_rel_enclosure.xml +0 -0
- data/tests/illformed/atom10/entry_link_rel_enclosure_map_enclosure_length.xml +0 -0
- data/tests/illformed/atom10/entry_link_rel_enclosure_map_enclosure_type.xml +0 -0
- data/tests/illformed/atom10/entry_link_rel_enclosure_map_enclosure_url.xml +0 -0
- data/tests/illformed/atom10/entry_link_rel_other.xml +0 -0
- data/tests/illformed/atom10/entry_link_rel_related.xml +0 -0
- data/tests/illformed/atom10/entry_link_rel_self.xml +0 -0
- data/tests/illformed/atom10/entry_link_rel_via.xml +0 -0
- data/tests/illformed/atom10/entry_link_title.xml +0 -0
- data/tests/illformed/atom10/entry_link_type.xml +0 -0
- data/tests/illformed/atom10/entry_rights.xml +0 -0
- data/tests/illformed/atom10/entry_rights_content_value.xml +0 -0
- data/tests/illformed/atom10/entry_rights_escaped_markup.xml +0 -0
- data/tests/illformed/atom10/entry_rights_inline_markup.xml +0 -0
- data/tests/illformed/atom10/entry_rights_inline_markup_2.xml +0 -0
- data/tests/illformed/atom10/entry_rights_text_plain.xml +0 -0
- data/tests/illformed/atom10/entry_rights_text_plain_brackets.xml +0 -0
- data/tests/illformed/atom10/entry_rights_type_default.xml +0 -0
- data/tests/illformed/atom10/entry_rights_type_text.xml +0 -0
- data/tests/illformed/atom10/entry_source_author_email.xml +0 -0
- data/tests/illformed/atom10/entry_source_author_map_author.xml +0 -0
- data/tests/illformed/atom10/entry_source_author_map_author_2.xml +0 -0
- data/tests/illformed/atom10/entry_source_author_name.xml +0 -0
- data/tests/illformed/atom10/entry_source_author_uri.xml +0 -0
- data/tests/illformed/atom10/entry_source_category_label.xml +0 -0
- data/tests/illformed/atom10/entry_source_category_scheme.xml +0 -0
- data/tests/illformed/atom10/entry_source_category_term.xml +0 -0
- data/tests/illformed/atom10/entry_source_contributor_email.xml +0 -0
- data/tests/illformed/atom10/entry_source_contributor_multiple.xml +0 -0
- data/tests/illformed/atom10/entry_source_contributor_name.xml +0 -0
- data/tests/illformed/atom10/entry_source_contributor_uri.xml +0 -0
- data/tests/illformed/atom10/entry_source_generator.xml +0 -0
- data/tests/illformed/atom10/entry_source_generator_name.xml +0 -0
- data/tests/illformed/atom10/entry_source_generator_uri.xml +0 -0
- data/tests/illformed/atom10/entry_source_generator_version.xml +0 -0
- data/tests/illformed/atom10/entry_source_icon.xml +0 -0
- data/tests/illformed/atom10/entry_source_id.xml +0 -0
- data/tests/illformed/atom10/entry_source_link_alternate_map_link.xml +0 -0
- data/tests/illformed/atom10/entry_source_link_alternate_map_link_2.xml +0 -0
- data/tests/illformed/atom10/entry_source_link_href.xml +0 -0
- data/tests/illformed/atom10/entry_source_link_hreflang.xml +0 -0
- data/tests/illformed/atom10/entry_source_link_length.xml +0 -0
- data/tests/illformed/atom10/entry_source_link_multiple.xml +0 -0
- data/tests/illformed/atom10/entry_source_link_no_rel.xml +0 -0
- data/tests/illformed/atom10/entry_source_link_rel.xml +0 -0
- data/tests/illformed/atom10/entry_source_link_rel_other.xml +0 -0
- data/tests/illformed/atom10/entry_source_link_rel_related.xml +0 -0
- data/tests/illformed/atom10/entry_source_link_rel_self.xml +0 -0
- data/tests/illformed/atom10/entry_source_link_rel_via.xml +0 -0
- data/tests/illformed/atom10/entry_source_link_title.xml +0 -0
- data/tests/illformed/atom10/entry_source_link_type.xml +0 -0
- data/tests/illformed/atom10/entry_source_logo.xml +0 -0
- data/tests/illformed/atom10/entry_source_rights.xml +0 -0
- data/tests/illformed/atom10/entry_source_rights_base64.xml +0 -0
- data/tests/illformed/atom10/entry_source_rights_base64_2.xml +0 -0
- data/tests/illformed/atom10/entry_source_rights_content_type.xml +0 -0
- data/tests/illformed/atom10/entry_source_rights_content_type_text.xml +0 -0
- data/tests/illformed/atom10/entry_source_rights_content_value.xml +0 -0
- data/tests/illformed/atom10/entry_source_rights_escaped_markup.xml +0 -0
- data/tests/illformed/atom10/entry_source_rights_inline_markup.xml +0 -0
- data/tests/illformed/atom10/entry_source_rights_inline_markup_2.xml +0 -0
- data/tests/illformed/atom10/entry_source_rights_text_plain.xml +0 -0
- data/tests/illformed/atom10/entry_source_subittle_content_type_text.xml +0 -0
- data/tests/illformed/atom10/entry_source_subtitle.xml +0 -0
- data/tests/illformed/atom10/entry_source_subtitle_base64.xml +0 -0
- data/tests/illformed/atom10/entry_source_subtitle_base64_2.xml +0 -0
- data/tests/illformed/atom10/entry_source_subtitle_content_type.xml +0 -0
- data/tests/illformed/atom10/entry_source_subtitle_content_value.xml +0 -0
- data/tests/illformed/atom10/entry_source_subtitle_escaped_markup.xml +0 -0
- data/tests/illformed/atom10/entry_source_subtitle_inline_markup.xml +0 -0
- data/tests/illformed/atom10/entry_source_subtitle_inline_markup_2.xml +0 -0
- data/tests/illformed/atom10/entry_source_subtitle_text_plain.xml +0 -0
- data/tests/illformed/atom10/entry_source_title.xml +0 -0
- data/tests/illformed/atom10/entry_source_title_base64.xml +0 -0
- data/tests/illformed/atom10/entry_source_title_base64_2.xml +0 -0
- data/tests/illformed/atom10/entry_source_title_content_type.xml +0 -0
- data/tests/illformed/atom10/entry_source_title_content_type_text.xml +0 -0
- data/tests/illformed/atom10/entry_source_title_content_value.xml +0 -0
- data/tests/illformed/atom10/entry_source_title_escaped_markup.xml +0 -0
- data/tests/illformed/atom10/entry_source_title_inline_markup.xml +0 -0
- data/tests/illformed/atom10/entry_source_title_inline_markup_2.xml +0 -0
- data/tests/illformed/atom10/entry_source_title_text_plain.xml +0 -0
- data/tests/illformed/atom10/entry_summary.xml +0 -0
- data/tests/illformed/atom10/entry_summary_base64.xml +0 -0
- data/tests/illformed/atom10/entry_summary_base64_2.xml +0 -0
- data/tests/illformed/atom10/entry_summary_content_value.xml +0 -0
- data/tests/illformed/atom10/entry_summary_escaped_markup.xml +0 -0
- data/tests/illformed/atom10/entry_summary_inline_markup.xml +0 -0
- data/tests/illformed/atom10/entry_summary_inline_markup_2.xml +0 -0
- data/tests/illformed/atom10/entry_summary_text_plain.xml +0 -0
- data/tests/illformed/atom10/entry_summary_type_default.xml +0 -0
- data/tests/illformed/atom10/entry_summary_type_text.xml +0 -0
- data/tests/illformed/atom10/entry_title.xml +0 -0
- data/tests/illformed/atom10/entry_title_base64.xml +0 -0
- data/tests/illformed/atom10/entry_title_base64_2.xml +0 -0
- data/tests/illformed/atom10/entry_title_content_value.xml +0 -0
- data/tests/illformed/atom10/entry_title_escaped_markup.xml +0 -0
- data/tests/illformed/atom10/entry_title_inline_markup.xml +0 -0
- data/tests/illformed/atom10/entry_title_inline_markup_2.xml +0 -0
- data/tests/illformed/atom10/entry_title_text_plain.xml +0 -0
- data/tests/illformed/atom10/entry_title_text_plain_brackets.xml +0 -0
- data/tests/illformed/atom10/entry_title_type_default.xml +0 -0
- data/tests/illformed/atom10/entry_title_type_text.xml +0 -0
- data/tests/illformed/atom10/feed_author_email.xml +0 -0
- data/tests/illformed/atom10/feed_author_map_author.xml +0 -0
- data/tests/illformed/atom10/feed_author_map_author_2.xml +0 -0
- data/tests/illformed/atom10/feed_author_name.xml +0 -0
- data/tests/illformed/atom10/feed_author_uri.xml +0 -0
- data/tests/illformed/atom10/feed_author_url.xml +0 -0
- data/tests/illformed/atom10/feed_contributor_email.xml +0 -0
- data/tests/illformed/atom10/feed_contributor_multiple.xml +0 -0
- data/tests/illformed/atom10/feed_contributor_name.xml +0 -0
- data/tests/illformed/atom10/feed_contributor_uri.xml +0 -0
- data/tests/illformed/atom10/feed_contributor_url.xml +0 -0
- data/tests/illformed/atom10/feed_generator.xml +0 -0
- data/tests/illformed/atom10/feed_generator_name.xml +0 -0
- data/tests/illformed/atom10/feed_generator_url.xml +0 -0
- data/tests/illformed/atom10/feed_generator_version.xml +0 -0
- data/tests/illformed/atom10/feed_icon.xml +0 -0
- data/tests/illformed/atom10/feed_id.xml +0 -0
- data/tests/illformed/atom10/feed_id_map_guid.xml +0 -0
- data/tests/illformed/atom10/feed_link_alternate_map_link.xml +0 -0
- data/tests/illformed/atom10/feed_link_alternate_map_link_2.xml +0 -0
- data/tests/illformed/atom10/feed_link_href.xml +0 -0
- data/tests/illformed/atom10/feed_link_hreflang.xml +0 -0
- data/tests/illformed/atom10/feed_link_length.xml +0 -0
- data/tests/illformed/atom10/feed_link_multiple.xml +0 -0
- data/tests/illformed/atom10/feed_link_no_rel.xml +0 -0
- data/tests/illformed/atom10/feed_link_rel.xml +0 -0
- data/tests/illformed/atom10/feed_link_rel_other.xml +0 -0
- data/tests/illformed/atom10/feed_link_rel_related.xml +0 -0
- data/tests/illformed/atom10/feed_link_rel_self.xml +0 -0
- data/tests/illformed/atom10/feed_link_rel_via.xml +0 -0
- data/tests/illformed/atom10/feed_link_title.xml +0 -0
- data/tests/illformed/atom10/feed_link_type.xml +0 -0
- data/tests/illformed/atom10/feed_logo.xml +0 -0
- data/tests/illformed/atom10/feed_rights.xml +0 -0
- data/tests/illformed/atom10/feed_rights_base64.xml +0 -0
- data/tests/illformed/atom10/feed_rights_base64_2.xml +0 -0
- data/tests/illformed/atom10/feed_rights_content_type.xml +0 -0
- data/tests/illformed/atom10/feed_rights_content_type_text.xml +0 -0
- data/tests/illformed/atom10/feed_rights_content_value.xml +0 -0
- data/tests/illformed/atom10/feed_rights_escaped_markup.xml +0 -0
- data/tests/illformed/atom10/feed_rights_inline_markup.xml +0 -0
- data/tests/illformed/atom10/feed_rights_inline_markup_2.xml +0 -0
- data/tests/illformed/atom10/feed_rights_text_plain.xml +0 -0
- data/tests/illformed/atom10/feed_subtitle.xml +0 -0
- data/tests/illformed/atom10/feed_subtitle_base64.xml +0 -0
- data/tests/illformed/atom10/feed_subtitle_base64_2.xml +0 -0
- data/tests/illformed/atom10/feed_subtitle_content_type.xml +0 -0
- data/tests/illformed/atom10/feed_subtitle_content_type_text.xml +0 -0
- data/tests/illformed/atom10/feed_subtitle_content_value.xml +0 -0
- data/tests/illformed/atom10/feed_subtitle_escaped_markup.xml +0 -0
- data/tests/illformed/atom10/feed_subtitle_inline_markup.xml +0 -0
- data/tests/illformed/atom10/feed_subtitle_inline_markup_2.xml +0 -0
- data/tests/illformed/atom10/feed_subtitle_text_plain.xml +0 -0
- data/tests/illformed/atom10/feed_title.xml +0 -0
- data/tests/illformed/atom10/feed_title_base64.xml +0 -0
- data/tests/illformed/atom10/feed_title_base64_2.xml +0 -0
- data/tests/illformed/atom10/feed_title_content_type.xml +0 -0
- data/tests/illformed/atom10/feed_title_content_type_text.xml +0 -0
- data/tests/illformed/atom10/feed_title_content_value.xml +0 -0
- data/tests/illformed/atom10/feed_title_escaped_markup.xml +0 -0
- data/tests/illformed/atom10/feed_title_inline_markup.xml +0 -0
- data/tests/illformed/atom10/feed_title_inline_markup_2.xml +0 -0
- data/tests/illformed/atom10/feed_title_text_plain.xml +0 -0
- data/tests/illformed/atom10/relative_uri.xml +0 -0
- data/tests/illformed/atom10/relative_uri_inherit.xml +0 -0
- data/tests/illformed/atom10/relative_uri_inherit_2.xml +0 -0
- data/tests/illformed/base/entry_summary_xml_base.xml +0 -0
- data/tests/illformed/base/entry_summary_xml_base_inherit.xml +0 -0
- data/tests/illformed/base/entry_summary_xml_base_inherit_2.xml +0 -0
- data/tests/illformed/base/entry_summary_xml_base_inherit_3.xml +0 -0
- data/tests/illformed/base/entry_summary_xml_base_inherit_4.xml +0 -0
- data/tests/illformed/base/entry_title_xml_base.xml +0 -0
- data/tests/illformed/base/entry_title_xml_base_inherit.xml +0 -0
- data/tests/illformed/base/entry_title_xml_base_inherit_2.xml +0 -0
- data/tests/illformed/base/entry_title_xml_base_inherit_3.xml +0 -0
- data/tests/illformed/base/entry_title_xml_base_inherit_4.xml +0 -0
- data/tests/illformed/base/feed_copyright_xml_base.xml +0 -0
- data/tests/illformed/base/feed_copyright_xml_base_inherit.xml +0 -0
- data/tests/illformed/base/feed_copyright_xml_base_inherit_2.xml +0 -0
- data/tests/illformed/base/feed_copyright_xml_base_inherit_3.xml +0 -0
- data/tests/illformed/base/feed_copyright_xml_base_inherit_4.xml +0 -0
- data/tests/illformed/base/feed_info_xml_base.xml +0 -0
- data/tests/illformed/base/feed_info_xml_base_inherit.xml +0 -0
- data/tests/illformed/base/feed_info_xml_base_inherit_2.xml +0 -0
- data/tests/illformed/base/feed_info_xml_base_inherit_3.xml +0 -0
- data/tests/illformed/base/feed_info_xml_base_inherit_4.xml +0 -0
- data/tests/illformed/base/feed_tagline_xml_base.xml +0 -0
- data/tests/illformed/base/feed_tagline_xml_base_inherit.xml +0 -0
- data/tests/illformed/base/feed_tagline_xml_base_inherit_2.xml +0 -0
- data/tests/illformed/base/feed_tagline_xml_base_inherit_3.xml +0 -0
- data/tests/illformed/base/feed_tagline_xml_base_inherit_4.xml +0 -0
- data/tests/illformed/base/feed_title_xml_base.xml +0 -0
- data/tests/illformed/base/feed_title_xml_base_inherit.xml +0 -0
- data/tests/illformed/base/feed_title_xml_base_inherit_2.xml +0 -0
- data/tests/illformed/base/feed_title_xml_base_inherit_3.xml +0 -0
- data/tests/illformed/base/feed_title_xml_base_inherit_4.xml +0 -0
- data/tests/illformed/base/http_relative_xml_base.xml +0 -0
- data/tests/illformed/base/malformed_base.xml +0 -0
- data/tests/illformed/base/relative_xml_base.xml +0 -0
- data/tests/illformed/base/relative_xml_base_2.xml +0 -0
- data/tests/illformed/chardet/big5.xml +0 -0
- data/tests/illformed/chardet/eucjp.xml +0 -0
- data/tests/illformed/chardet/euckr.xml +0 -0
- data/tests/illformed/chardet/gb2312.xml +0 -0
- data/tests/illformed/chardet/koi8r.xml +0 -0
- data/tests/illformed/chardet/shiftjis.xml +0 -0
- data/tests/illformed/chardet/tis620.xml +0 -0
- data/tests/illformed/chardet/windows1255.xml +0 -0
- data/tests/illformed/date/channel_pubDate_greek_1.xml +0 -0
- data/tests/illformed/date/channel_pubDate_hungarian_1.xml +0 -0
- data/tests/illformed/date/channel_pubDate_korean_nate.xml +0 -0
- data/tests/illformed/date/channel_pubDate_mssql.xml +0 -0
- data/tests/illformed/date/channel_pubDate_mssql_nofraction.xml +0 -0
- data/tests/illformed/date/channel_pubDate_nosecond.xml +0 -0
- data/tests/illformed/date/channel_pubDate_notime.xml +0 -0
- data/tests/illformed/date/entry_created.xml +0 -0
- data/tests/illformed/date/entry_created_w3dtf_utc.xml +0 -0
- data/tests/illformed/date/entry_issued.xml +0 -0
- data/tests/illformed/date/entry_issued_w3dtf_utc.xml +0 -0
- data/tests/illformed/date/entry_modified.xml +0 -0
- data/tests/illformed/date/entry_modified_map_date.xml +0 -0
- data/tests/illformed/date/entry_modified_w3dtf_utc.xml +0 -0
- data/tests/illformed/date/entry_published_w3dtf_utc.xml +0 -0
- data/tests/illformed/date/entry_source_updated_w3dtf_utc.xml +0 -0
- data/tests/illformed/date/entry_updated_w3dtf_utc.xml +0 -0
- data/tests/illformed/date/feed_modified.xml +0 -0
- data/tests/illformed/date/feed_modified_asctime.xml +0 -0
- data/tests/illformed/date/feed_modified_disney.xml +0 -0
- data/tests/illformed/date/feed_modified_disney_at.xml +0 -0
- data/tests/illformed/date/feed_modified_disney_ct.xml +0 -0
- data/tests/illformed/date/feed_modified_disney_mt.xml +0 -0
- data/tests/illformed/date/feed_modified_disney_pt.xml +0 -0
- data/tests/illformed/date/feed_modified_iso8601_ym.xml +0 -0
- data/tests/illformed/date/feed_modified_iso8601_ym_2.xml +0 -0
- data/tests/illformed/date/feed_modified_iso8601_ymd.xml +0 -0
- data/tests/illformed/date/feed_modified_iso8601_ymd_2.xml +0 -0
- data/tests/illformed/date/feed_modified_iso8601_yo_2.xml +0 -0
- data/tests/illformed/date/feed_modified_map_date.xml +0 -0
- data/tests/illformed/date/feed_modified_rfc2822.xml +0 -0
- data/tests/illformed/date/feed_modified_rfc2822_rollover_june_31.xml +0 -0
- data/tests/illformed/date/feed_modified_rfc822.xml +0 -0
- data/tests/illformed/date/feed_modified_w3dtf_rollover_leapyear.xml +0 -0
- data/tests/illformed/date/feed_modified_w3dtf_rollover_leapyear400.xml +0 -0
- data/tests/illformed/date/feed_modified_w3dtf_rollover_nonleapyear.xml +0 -0
- data/tests/illformed/date/feed_modified_w3dtf_sf.xml +0 -0
- data/tests/illformed/date/feed_modified_w3dtf_tokyo.xml +0 -0
- data/tests/illformed/date/feed_modified_w3dtf_utc.xml +0 -0
- data/tests/illformed/date/feed_modified_w3dtf_y.xml +0 -0
- data/tests/illformed/date/feed_modified_w3dtf_ym.xml +0 -0
- data/tests/illformed/date/feed_modified_w3dtf_ymd.xml +0 -0
- data/tests/illformed/date/feed_modified_w3dtf_ymd_2.xml +0 -0
- data/tests/illformed/date/feed_updated_w3dtf_utc.xml +0 -0
- data/tests/illformed/date/item_pubDate_euc-kr.xml +0 -0
- data/tests/illformed/encoding/bogus_encoding.xml +0 -0
- data/tests/illformed/encoding/encoding_mismatch_crash.xml +0 -0
- data/tests/illformed/encoding/http_text_plain.xml +0 -0
- data/tests/illformed/encoding/http_text_plain_charset.xml +0 -0
- data/tests/illformed/encoding/utf-16be-autodetect.xml +0 -0
- data/tests/illformed/encoding/utf-16be-bom.xml +0 -0
- data/tests/illformed/encoding/utf-16be.xml +0 -0
- data/tests/illformed/encoding/utf-16le-autodetect.xml +0 -0
- data/tests/illformed/encoding/utf-16le-bom.xml +0 -0
- data/tests/illformed/encoding/utf-16le.xml +0 -0
- data/tests/illformed/encoding/utf-8-bom.xml +0 -0
- data/tests/illformed/encoding/x80_437.xml +0 -0
- data/tests/illformed/encoding/x80_850.xml +0 -0
- data/tests/illformed/encoding/x80_852.xml +0 -0
- data/tests/illformed/encoding/x80_855.xml +0 -0
- data/tests/illformed/encoding/x80_857.xml +0 -0
- data/tests/illformed/encoding/x80_860.xml +0 -0
- data/tests/illformed/encoding/x80_861.xml +0 -0
- data/tests/illformed/encoding/x80_862.xml +0 -0
- data/tests/illformed/encoding/x80_863.xml +0 -0
- data/tests/illformed/encoding/x80_865.xml +0 -0
- data/tests/illformed/encoding/x80_866.xml +0 -0
- data/tests/illformed/encoding/x80_cp037.xml +0 -0
- data/tests/illformed/encoding/x80_cp1125.xml +0 -0
- data/tests/illformed/encoding/x80_cp1250.xml +0 -0
- data/tests/illformed/encoding/x80_cp1251.xml +0 -0
- data/tests/illformed/encoding/x80_cp1252.xml +0 -0
- data/tests/illformed/encoding/x80_cp1253.xml +0 -0
- data/tests/illformed/encoding/x80_cp1254.xml +0 -0
- data/tests/illformed/encoding/x80_cp1255.xml +0 -0
- data/tests/illformed/encoding/x80_cp1256.xml +0 -0
- data/tests/illformed/encoding/x80_cp1257.xml +0 -0
- data/tests/illformed/encoding/x80_cp1258.xml +0 -0
- data/tests/illformed/encoding/x80_cp437.xml +0 -0
- data/tests/illformed/encoding/x80_cp500.xml +0 -0
- data/tests/illformed/encoding/x80_cp737.xml +0 -0
- data/tests/illformed/encoding/x80_cp775.xml +0 -0
- data/tests/illformed/encoding/x80_cp850.xml +0 -0
- data/tests/illformed/encoding/x80_cp852.xml +0 -0
- data/tests/illformed/encoding/x80_cp855.xml +0 -0
- data/tests/illformed/encoding/x80_cp856.xml +0 -0
- data/tests/illformed/encoding/x80_cp857.xml +0 -0
- data/tests/illformed/encoding/x80_cp860.xml +0 -0
- data/tests/illformed/encoding/x80_cp861.xml +0 -0
- data/tests/illformed/encoding/x80_cp862.xml +0 -0
- data/tests/illformed/encoding/x80_cp863.xml +0 -0
- data/tests/illformed/encoding/x80_cp864.xml +0 -0
- data/tests/illformed/encoding/x80_cp865.xml +0 -0
- data/tests/illformed/encoding/x80_cp866.xml +0 -0
- data/tests/illformed/encoding/x80_cp874.xml +0 -0
- data/tests/illformed/encoding/x80_cp875.xml +0 -0
- data/tests/illformed/encoding/x80_cp_is.xml +0 -0
- data/tests/illformed/encoding/x80_csibm037.xml +0 -0
- data/tests/illformed/encoding/x80_csibm500.xml +0 -0
- data/tests/illformed/encoding/x80_csibm855.xml +0 -0
- data/tests/illformed/encoding/x80_csibm857.xml +0 -0
- data/tests/illformed/encoding/x80_csibm860.xml +0 -0
- data/tests/illformed/encoding/x80_csibm861.xml +0 -0
- data/tests/illformed/encoding/x80_csibm863.xml +0 -0
- data/tests/illformed/encoding/x80_csibm864.xml +0 -0
- data/tests/illformed/encoding/x80_csibm865.xml +0 -0
- data/tests/illformed/encoding/x80_csibm866.xml +0 -0
- data/tests/illformed/encoding/x80_cskoi8r.xml +0 -0
- data/tests/illformed/encoding/x80_csmacintosh.xml +0 -0
- data/tests/illformed/encoding/x80_cspc775baltic.xml +0 -0
- data/tests/illformed/encoding/x80_cspc850multilingual.xml +0 -0
- data/tests/illformed/encoding/x80_cspc862latinhebrew.xml +0 -0
- data/tests/illformed/encoding/x80_cspc8codepage437.xml +0 -0
- data/tests/illformed/encoding/x80_cspcp852.xml +0 -0
- data/tests/illformed/encoding/x80_dbcs.xml +0 -0
- data/tests/illformed/encoding/x80_ebcdic-cp-be.xml +0 -0
- data/tests/illformed/encoding/x80_ebcdic-cp-ca.xml +0 -0
- data/tests/illformed/encoding/x80_ebcdic-cp-ch.xml +0 -0
- data/tests/illformed/encoding/x80_ebcdic-cp-nl.xml +0 -0
- data/tests/illformed/encoding/x80_ebcdic-cp-us.xml +0 -0
- data/tests/illformed/encoding/x80_ebcdic-cp-wt.xml +0 -0
- data/tests/illformed/encoding/x80_ebcdic_cp_be.xml +0 -0
- data/tests/illformed/encoding/x80_ebcdic_cp_ca.xml +0 -0
- data/tests/illformed/encoding/x80_ebcdic_cp_ch.xml +0 -0
- data/tests/illformed/encoding/x80_ebcdic_cp_nl.xml +0 -0
- data/tests/illformed/encoding/x80_ebcdic_cp_us.xml +0 -0
- data/tests/illformed/encoding/x80_ebcdic_cp_wt.xml +0 -0
- data/tests/illformed/encoding/x80_ibm037.xml +0 -0
- data/tests/illformed/encoding/x80_ibm039.xml +0 -0
- data/tests/illformed/encoding/x80_ibm1140.xml +0 -0
- data/tests/illformed/encoding/x80_ibm437.xml +0 -0
- data/tests/illformed/encoding/x80_ibm500.xml +0 -0
- data/tests/illformed/encoding/x80_ibm775.xml +0 -0
- data/tests/illformed/encoding/x80_ibm850.xml +0 -0
- data/tests/illformed/encoding/x80_ibm852.xml +0 -0
- data/tests/illformed/encoding/x80_ibm855.xml +0 -0
- data/tests/illformed/encoding/x80_ibm857.xml +0 -0
- data/tests/illformed/encoding/x80_ibm860.xml +0 -0
- data/tests/illformed/encoding/x80_ibm861.xml +0 -0
- data/tests/illformed/encoding/x80_ibm862.xml +0 -0
- data/tests/illformed/encoding/x80_ibm863.xml +0 -0
- data/tests/illformed/encoding/x80_ibm864.xml +0 -0
- data/tests/illformed/encoding/x80_ibm865.xml +0 -0
- data/tests/illformed/encoding/x80_ibm866.xml +0 -0
- data/tests/illformed/encoding/x80_koi8-r.xml +0 -0
- data/tests/illformed/encoding/x80_koi8-t.xml +0 -0
- data/tests/illformed/encoding/x80_koi8-u.xml +0 -0
- data/tests/illformed/encoding/x80_mac-cyrillic.xml +0 -0
- data/tests/illformed/encoding/x80_mac.xml +0 -0
- data/tests/illformed/encoding/x80_maccentraleurope.xml +0 -0
- data/tests/illformed/encoding/x80_maccyrillic.xml +0 -0
- data/tests/illformed/encoding/x80_macgreek.xml +0 -0
- data/tests/illformed/encoding/x80_maciceland.xml +0 -0
- data/tests/illformed/encoding/x80_macintosh.xml +0 -0
- data/tests/illformed/encoding/x80_maclatin2.xml +0 -0
- data/tests/illformed/encoding/x80_macroman.xml +0 -0
- data/tests/illformed/encoding/x80_macturkish.xml +0 -0
- data/tests/illformed/encoding/x80_ms-ansi.xml +0 -0
- data/tests/illformed/encoding/x80_ms-arab.xml +0 -0
- data/tests/illformed/encoding/x80_ms-cyrl.xml +0 -0
- data/tests/illformed/encoding/x80_ms-ee.xml +0 -0
- data/tests/illformed/encoding/x80_ms-greek.xml +0 -0
- data/tests/illformed/encoding/x80_ms-hebr.xml +0 -0
- data/tests/illformed/encoding/x80_ms-turk.xml +0 -0
- data/tests/illformed/encoding/x80_tcvn-5712.xml +0 -0
- data/tests/illformed/encoding/x80_tcvn.xml +0 -0
- data/tests/illformed/encoding/x80_tcvn5712-1.xml +0 -0
- data/tests/illformed/encoding/x80_viscii.xml +0 -0
- data/tests/illformed/encoding/x80_winbaltrim.xml +0 -0
- data/tests/illformed/encoding/x80_windows-1250.xml +0 -0
- data/tests/illformed/encoding/x80_windows-1251.xml +0 -0
- data/tests/illformed/encoding/x80_windows-1252.xml +0 -0
- data/tests/illformed/encoding/x80_windows-1253.xml +0 -0
- data/tests/illformed/encoding/x80_windows-1254.xml +0 -0
- data/tests/illformed/encoding/x80_windows-1255.xml +0 -0
- data/tests/illformed/encoding/x80_windows-1256.xml +0 -0
- data/tests/illformed/encoding/x80_windows-1257.xml +0 -0
- data/tests/illformed/encoding/x80_windows-1258.xml +0 -0
- data/tests/illformed/encoding/x80_windows_1250.xml +0 -0
- data/tests/illformed/encoding/x80_windows_1251.xml +0 -0
- data/tests/illformed/encoding/x80_windows_1252.xml +0 -0
- data/tests/illformed/encoding/x80_windows_1253.xml +0 -0
- data/tests/illformed/encoding/x80_windows_1254.xml +0 -0
- data/tests/illformed/encoding/x80_windows_1255.xml +0 -0
- data/tests/illformed/encoding/x80_windows_1256.xml +0 -0
- data/tests/illformed/encoding/x80_windows_1257.xml +0 -0
- data/tests/illformed/encoding/x80_windows_1258.xml +0 -0
- data/tests/illformed/entities/160.xml +0 -0
- data/tests/illformed/entities/732.xml +0 -0
- data/tests/illformed/entities/8216.xml +0 -0
- data/tests/illformed/entities/8217.xml +0 -0
- data/tests/illformed/entities/8220.xml +0 -0
- data/tests/illformed/entities/8221.xml +0 -0
- data/tests/illformed/entities/9830.xml +0 -0
- data/tests/illformed/entities/aacute.xml +0 -0
- data/tests/illformed/entities/acirc.xml +0 -0
- data/tests/illformed/entities/acute.xml +0 -0
- data/tests/illformed/entities/aelig.xml +0 -0
- data/tests/illformed/entities/agrave.xml +0 -0
- data/tests/illformed/entities/alefsym.xml +0 -0
- data/tests/illformed/entities/alpha.xml +0 -0
- data/tests/illformed/entities/and.xml +0 -0
- data/tests/illformed/entities/ang.xml +0 -0
- data/tests/illformed/entities/aring.xml +0 -0
- data/tests/illformed/entities/asymp.xml +0 -0
- data/tests/illformed/entities/atilde.xml +0 -0
- data/tests/illformed/entities/auml.xml +0 -0
- data/tests/illformed/entities/bdquo.xml +0 -0
- data/tests/illformed/entities/beta.xml +0 -0
- data/tests/illformed/entities/brvbar.xml +0 -0
- data/tests/illformed/entities/bull.xml +0 -0
- data/tests/illformed/entities/cap.xml +0 -0
- data/tests/illformed/entities/ccedil.xml +0 -0
- data/tests/illformed/entities/cedil.xml +0 -0
- data/tests/illformed/entities/cent.xml +0 -0
- data/tests/illformed/entities/chi.xml +0 -0
- data/tests/illformed/entities/circ.xml +0 -0
- data/tests/illformed/entities/clubs.xml +0 -0
- data/tests/illformed/entities/cong.xml +0 -0
- data/tests/illformed/entities/copy.xml +0 -0
- data/tests/illformed/entities/crarr.xml +0 -0
- data/tests/illformed/entities/cup.xml +0 -0
- data/tests/illformed/entities/curren.xml +0 -0
- data/tests/illformed/entities/dagger.xml +0 -0
- data/tests/illformed/entities/darr.xml +0 -0
- data/tests/illformed/entities/deg.xml +0 -0
- data/tests/illformed/entities/delta.xml +0 -0
- data/tests/illformed/entities/diams.xml +0 -0
- data/tests/illformed/entities/divide.xml +0 -0
- data/tests/illformed/entities/doesnotexist.xml +0 -0
- data/tests/illformed/entities/eacute.xml +0 -0
- data/tests/illformed/entities/ecirc.xml +0 -0
- data/tests/illformed/entities/egrave.xml +0 -0
- data/tests/illformed/entities/empty.xml +0 -0
- data/tests/illformed/entities/emsp.xml +0 -0
- data/tests/illformed/entities/ensp.xml +0 -0
- data/tests/illformed/entities/epsilon.xml +0 -0
- data/tests/illformed/entities/equiv.xml +0 -0
- data/tests/illformed/entities/eta.xml +0 -0
- data/tests/illformed/entities/eth.xml +0 -0
- data/tests/illformed/entities/euml.xml +0 -0
- data/tests/illformed/entities/euro.xml +0 -0
- data/tests/illformed/entities/exist.xml +0 -0
- data/tests/illformed/entities/fnof.xml +0 -0
- data/tests/illformed/entities/forall.xml +0 -0
- data/tests/illformed/entities/frac12.xml +0 -0
- data/tests/illformed/entities/frac14.xml +0 -0
- data/tests/illformed/entities/frac34.xml +0 -0
- data/tests/illformed/entities/frasl.xml +0 -0
- data/tests/illformed/entities/gamma.xml +0 -0
- data/tests/illformed/entities/ge.xml +0 -0
- data/tests/illformed/entities/hArr.xml +0 -0
- data/tests/illformed/entities/hearts.xml +0 -0
- data/tests/illformed/entities/hellip.xml +0 -0
- data/tests/illformed/entities/iacute.xml +0 -0
- data/tests/illformed/entities/icirc.xml +0 -0
- data/tests/illformed/entities/iexcl.xml +0 -0
- data/tests/illformed/entities/igrave.xml +0 -0
- data/tests/illformed/entities/image.xml +0 -0
- data/tests/illformed/entities/infin.xml +0 -0
- data/tests/illformed/entities/int.xml +0 -0
- data/tests/illformed/entities/iota.xml +0 -0
- data/tests/illformed/entities/iquest.xml +0 -0
- data/tests/illformed/entities/isin.xml +0 -0
- data/tests/illformed/entities/iuml.xml +0 -0
- data/tests/illformed/entities/kappa.xml +0 -0
- data/tests/illformed/entities/lArr.xml +0 -0
- data/tests/illformed/entities/lambda.xml +0 -0
- data/tests/illformed/entities/lang.xml +0 -0
- data/tests/illformed/entities/laquo.xml +0 -0
- data/tests/illformed/entities/lceil.xml +0 -0
- data/tests/illformed/entities/ldquo.xml +0 -0
- data/tests/illformed/entities/le.xml +0 -0
- data/tests/illformed/entities/lfloor.xml +0 -0
- data/tests/illformed/entities/lowast.xml +0 -0
- data/tests/illformed/entities/loz.xml +0 -0
- data/tests/illformed/entities/lrm.xml +0 -0
- data/tests/illformed/entities/lsaquo.xml +0 -0
- data/tests/illformed/entities/lsquo.xml +0 -0
- data/tests/illformed/entities/macr.xml +0 -0
- data/tests/illformed/entities/mdash.xml +0 -0
- data/tests/illformed/entities/micro.xml +0 -0
- data/tests/illformed/entities/middot.xml +0 -0
- data/tests/illformed/entities/minus.xml +0 -0
- data/tests/illformed/entities/mu.xml +0 -0
- data/tests/illformed/entities/nabla.xml +0 -0
- data/tests/illformed/entities/nbsp.xml +0 -0
- data/tests/illformed/entities/ndash.xml +0 -0
- data/tests/illformed/entities/ne.xml +0 -0
- data/tests/illformed/entities/ni.xml +0 -0
- data/tests/illformed/entities/not.xml +0 -0
- data/tests/illformed/entities/notin.xml +0 -0
- data/tests/illformed/entities/nsub.xml +0 -0
- data/tests/illformed/entities/ntilde.xml +0 -0
- data/tests/illformed/entities/nu.xml +0 -0
- data/tests/illformed/entities/oacute.xml +0 -0
- data/tests/illformed/entities/ocirc.xml +0 -0
- data/tests/illformed/entities/oelig.xml +0 -0
- data/tests/illformed/entities/ograve.xml +0 -0
- data/tests/illformed/entities/oline.xml +0 -0
- data/tests/illformed/entities/omega.xml +0 -0
- data/tests/illformed/entities/omicron.xml +0 -0
- data/tests/illformed/entities/oplus.xml +0 -0
- data/tests/illformed/entities/or.xml +0 -0
- data/tests/illformed/entities/ordf.xml +0 -0
- data/tests/illformed/entities/ordm.xml +0 -0
- data/tests/illformed/entities/oslash.xml +0 -0
- data/tests/illformed/entities/otilde.xml +0 -0
- data/tests/illformed/entities/otimes.xml +0 -0
- data/tests/illformed/entities/ouml.xml +0 -0
- data/tests/illformed/entities/para.xml +0 -0
- data/tests/illformed/entities/part.xml +0 -0
- data/tests/illformed/entities/permil.xml +0 -0
- data/tests/illformed/entities/perp.xml +0 -0
- data/tests/illformed/entities/phi.xml +0 -0
- data/tests/illformed/entities/pi.xml +0 -0
- data/tests/illformed/entities/piv.xml +0 -0
- data/tests/illformed/entities/plusmn.xml +0 -0
- data/tests/illformed/entities/pound.xml +0 -0
- data/tests/illformed/entities/prime.xml +0 -0
- data/tests/illformed/entities/prod.xml +0 -0
- data/tests/illformed/entities/prop.xml +0 -0
- data/tests/illformed/entities/psi.xml +0 -0
- data/tests/illformed/entities/radic.xml +0 -0
- data/tests/illformed/entities/rang.xml +0 -0
- data/tests/illformed/entities/raquo.xml +0 -0
- data/tests/illformed/entities/rarr.xml +0 -0
- data/tests/illformed/entities/rceil.xml +0 -0
- data/tests/illformed/entities/rdquo.xml +0 -0
- data/tests/illformed/entities/real.xml +0 -0
- data/tests/illformed/entities/reg.xml +0 -0
- data/tests/illformed/entities/rfloor.xml +0 -0
- data/tests/illformed/entities/rho.xml +0 -0
- data/tests/illformed/entities/rlm.xml +0 -0
- data/tests/illformed/entities/rsaquo.xml +0 -0
- data/tests/illformed/entities/rsquo.xml +0 -0
- data/tests/illformed/entities/sbquo.xml +0 -0
- data/tests/illformed/entities/scaron.xml +0 -0
- data/tests/illformed/entities/sdot.xml +0 -0
- data/tests/illformed/entities/sect.xml +0 -0
- data/tests/illformed/entities/shy.xml +0 -0
- data/tests/illformed/entities/sigma.xml +0 -0
- data/tests/illformed/entities/sigmaf.xml +0 -0
- data/tests/illformed/entities/sim.xml +0 -0
- data/tests/illformed/entities/spades.xml +0 -0
- data/tests/illformed/entities/sub.xml +0 -0
- data/tests/illformed/entities/sube.xml +0 -0
- data/tests/illformed/entities/sum.xml +0 -0
- data/tests/illformed/entities/sup.xml +0 -0
- data/tests/illformed/entities/sup1.xml +0 -0
- data/tests/illformed/entities/sup2.xml +0 -0
- data/tests/illformed/entities/sup3.xml +0 -0
- data/tests/illformed/entities/supe.xml +0 -0
- data/tests/illformed/entities/szlig.xml +0 -0
- data/tests/illformed/entities/tau.xml +0 -0
- data/tests/illformed/entities/there4.xml +0 -0
- data/tests/illformed/entities/theta.xml +0 -0
- data/tests/illformed/entities/thetasym.xml +0 -0
- data/tests/illformed/entities/thinsp.xml +0 -0
- data/tests/illformed/entities/thorn.xml +0 -0
- data/tests/illformed/entities/tilde.xml +0 -0
- data/tests/illformed/entities/times.xml +0 -0
- data/tests/illformed/entities/trade.xml +0 -0
- data/tests/illformed/entities/uacute.xml +0 -0
- data/tests/illformed/entities/uarr.xml +0 -0
- data/tests/illformed/entities/ucirc.xml +0 -0
- data/tests/illformed/entities/ugrave.xml +0 -0
- data/tests/illformed/entities/uml.xml +0 -0
- data/tests/illformed/entities/upper_AElig.xml +0 -0
- data/tests/illformed/entities/upper_Aacute.xml +0 -0
- data/tests/illformed/entities/upper_Acirc.xml +0 -0
- data/tests/illformed/entities/upper_Agrave.xml +0 -0
- data/tests/illformed/entities/upper_Alpha.xml +0 -0
- data/tests/illformed/entities/upper_Aring.xml +0 -0
- data/tests/illformed/entities/upper_Atilde.xml +0 -0
- data/tests/illformed/entities/upper_Auml.xml +0 -0
- data/tests/illformed/entities/upper_Beta.xml +0 -0
- data/tests/illformed/entities/upper_Ccedil.xml +0 -0
- data/tests/illformed/entities/upper_Chi.xml +0 -0
- data/tests/illformed/entities/upper_Dagger.xml +0 -0
- data/tests/illformed/entities/upper_Delta.xml +0 -0
- data/tests/illformed/entities/upper_ETH.xml +0 -0
- data/tests/illformed/entities/upper_Eacute.xml +0 -0
- data/tests/illformed/entities/upper_Ecirc.xml +0 -0
- data/tests/illformed/entities/upper_Egrave.xml +0 -0
- data/tests/illformed/entities/upper_Epsilon.xml +0 -0
- data/tests/illformed/entities/upper_Eta.xml +0 -0
- data/tests/illformed/entities/upper_Euml.xml +0 -0
- data/tests/illformed/entities/upper_Gamma.xml +0 -0
- data/tests/illformed/entities/upper_Iacute.xml +0 -0
- data/tests/illformed/entities/upper_Icirc.xml +0 -0
- data/tests/illformed/entities/upper_Igrave.xml +0 -0
- data/tests/illformed/entities/upper_Iota.xml +0 -0
- data/tests/illformed/entities/upper_Iuml.xml +0 -0
- data/tests/illformed/entities/upper_Kappa.xml +0 -0
- data/tests/illformed/entities/upper_Lambda.xml +0 -0
- data/tests/illformed/entities/upper_Mu.xml +0 -0
- data/tests/illformed/entities/upper_Ntilde.xml +0 -0
- data/tests/illformed/entities/upper_Nu.xml +0 -0
- data/tests/illformed/entities/upper_OElig.xml +0 -0
- data/tests/illformed/entities/upper_Oacute.xml +0 -0
- data/tests/illformed/entities/upper_Ocirc.xml +0 -0
- data/tests/illformed/entities/upper_Ograve.xml +0 -0
- data/tests/illformed/entities/upper_Omega.xml +0 -0
- data/tests/illformed/entities/upper_Omicron.xml +0 -0
- data/tests/illformed/entities/upper_Oslash.xml +0 -0
- data/tests/illformed/entities/upper_Otilde.xml +0 -0
- data/tests/illformed/entities/upper_Ouml.xml +0 -0
- data/tests/illformed/entities/upper_Phi.xml +0 -0
- data/tests/illformed/entities/upper_Pi.xml +0 -0
- data/tests/illformed/entities/upper_Prime.xml +0 -0
- data/tests/illformed/entities/upper_Psi.xml +0 -0
- data/tests/illformed/entities/upper_Rho.xml +0 -0
- data/tests/illformed/entities/upper_Scaron.xml +0 -0
- data/tests/illformed/entities/upper_Sigma.xml +0 -0
- data/tests/illformed/entities/upper_THORN.xml +0 -0
- data/tests/illformed/entities/upper_Tau.xml +0 -0
- data/tests/illformed/entities/upper_Theta.xml +0 -0
- data/tests/illformed/entities/upper_Uacute.xml +0 -0
- data/tests/illformed/entities/upper_Ucirc.xml +0 -0
- data/tests/illformed/entities/upper_Ugrave.xml +0 -0
- data/tests/illformed/entities/upper_Upsilon.xml +0 -0
- data/tests/illformed/entities/upper_Uuml.xml +0 -0
- data/tests/illformed/entities/upper_Xi.xml +0 -0
- data/tests/illformed/entities/upper_Yacute.xml +0 -0
- data/tests/illformed/entities/upper_Yuml.xml +0 -0
- data/tests/illformed/entities/upper_Zeta.xml +0 -0
- data/tests/illformed/entities/upsih.xml +0 -0
- data/tests/illformed/entities/upsilon.xml +0 -0
- data/tests/illformed/entities/uuml.xml +0 -0
- data/tests/illformed/entities/weierp.xml +0 -0
- data/tests/illformed/entities/xi.xml +0 -0
- data/tests/illformed/entities/yacute.xml +0 -0
- data/tests/illformed/entities/yen.xml +0 -0
- data/tests/illformed/entities/yuml.xml +0 -0
- data/tests/illformed/entities/zeta.xml +0 -0
- data/tests/illformed/entities/zwj.xml +0 -0
- data/tests/illformed/entities/zwnj.xml +0 -0
- data/tests/illformed/itunes/itunes_channel_block.xml +0 -0
- data/tests/illformed/itunes/itunes_channel_block_false.xml +0 -0
- data/tests/illformed/itunes/itunes_channel_block_no.xml +0 -0
- data/tests/illformed/itunes/itunes_channel_block_true.xml +0 -0
- data/tests/illformed/itunes/itunes_channel_block_uppercase.xml +0 -0
- data/tests/illformed/itunes/itunes_channel_block_whitespace.xml +0 -0
- data/tests/illformed/itunes/itunes_channel_category.xml +0 -0
- data/tests/illformed/itunes/itunes_channel_category_nested.xml +0 -0
- data/tests/illformed/itunes/itunes_channel_category_scheme.xml +0 -0
- data/tests/illformed/itunes/itunes_channel_explicit.xml +0 -0
- data/tests/illformed/itunes/itunes_channel_explicit_false.xml +0 -0
- data/tests/illformed/itunes/itunes_channel_explicit_no.xml +0 -0
- data/tests/illformed/itunes/itunes_channel_explicit_true.xml +0 -0
- data/tests/illformed/itunes/itunes_channel_explicit_uppercase.xml +0 -0
- data/tests/illformed/itunes/itunes_channel_explicit_whitespace.xml +0 -0
- data/tests/illformed/itunes/itunes_channel_image.xml +0 -0
- data/tests/illformed/itunes/itunes_channel_keywords.xml +0 -0
- data/tests/illformed/itunes/itunes_channel_keywords_duplicate.xml +0 -0
- data/tests/illformed/itunes/itunes_channel_keywords_duplicate_2.xml +0 -0
- data/tests/illformed/itunes/itunes_channel_keywords_multiple.xml +0 -0
- data/tests/illformed/itunes/itunes_channel_link_image.xml +0 -0
- data/tests/illformed/itunes/itunes_channel_owner_email.xml +0 -0
- data/tests/illformed/itunes/itunes_channel_owner_name.xml +0 -0
- data/tests/illformed/itunes/itunes_channel_subtitle.xml +0 -0
- data/tests/illformed/itunes/itunes_channel_summary.xml +0 -0
- data/tests/illformed/itunes/itunes_core_element_uppercase.xml +0 -0
- data/tests/illformed/itunes/itunes_enclosure_url_maps_id.xml +0 -0
- data/tests/illformed/itunes/itunes_enclosure_url_maps_id_2.xml +0 -0
- data/tests/illformed/itunes/itunes_item_author_map_author.xml +0 -0
- data/tests/illformed/itunes/itunes_item_block.xml +0 -0
- data/tests/illformed/itunes/itunes_item_block_false.xml +0 -0
- data/tests/illformed/itunes/itunes_item_block_no.xml +0 -0
- data/tests/illformed/itunes/itunes_item_block_true.xml +0 -0
- data/tests/illformed/itunes/itunes_item_block_uppercase.xml +0 -0
- data/tests/illformed/itunes/itunes_item_block_whitespace.xml +0 -0
- data/tests/illformed/itunes/itunes_item_category.xml +0 -0
- data/tests/illformed/itunes/itunes_item_category_nested.xml +0 -0
- data/tests/illformed/itunes/itunes_item_category_scheme.xml +0 -0
- data/tests/illformed/itunes/itunes_item_duration.xml +0 -0
- data/tests/illformed/itunes/itunes_item_explicit.xml +0 -0
- data/tests/illformed/itunes/itunes_item_explicit_false.xml +0 -0
- data/tests/illformed/itunes/itunes_item_explicit_no.xml +0 -0
- data/tests/illformed/itunes/itunes_item_explicit_true.xml +0 -0
- data/tests/illformed/itunes/itunes_item_explicit_uppercase.xml +0 -0
- data/tests/illformed/itunes/itunes_item_explicit_whitespace.xml +0 -0
- data/tests/illformed/itunes/itunes_item_image.xml +0 -0
- data/tests/illformed/itunes/itunes_item_link_image.xml +0 -0
- data/tests/illformed/itunes/itunes_item_subtitle.xml +0 -0
- data/tests/illformed/itunes/itunes_item_summary.xml +0 -0
- data/tests/illformed/itunes/itunes_namespace.xml +0 -0
- data/tests/illformed/itunes/itunes_namespace_example.xml +0 -0
- data/tests/illformed/itunes/itunes_namespace_lowercase.xml +0 -0
- data/tests/illformed/itunes/itunes_namespace_uppercase.xml +0 -0
- data/tests/illformed/lang/channel_dc_language.xml +0 -0
- data/tests/illformed/lang/channel_language.xml +0 -0
- data/tests/illformed/lang/entry_content_xml_lang.xml +0 -0
- data/tests/illformed/lang/entry_content_xml_lang_inherit.xml +0 -0
- data/tests/illformed/lang/entry_content_xml_lang_inherit_2.xml +0 -0
- data/tests/illformed/lang/entry_content_xml_lang_inherit_3.xml +0 -0
- data/tests/illformed/lang/entry_content_xml_lang_inherit_4.xml +0 -0
- data/tests/illformed/lang/entry_summary_xml_lang.xml +0 -0
- data/tests/illformed/lang/entry_summary_xml_lang_inherit.xml +0 -0
- data/tests/illformed/lang/entry_summary_xml_lang_inherit_2.xml +0 -0
- data/tests/illformed/lang/entry_summary_xml_lang_inherit_3.xml +0 -0
- data/tests/illformed/lang/entry_summary_xml_lang_inherit_4.xml +0 -0
- data/tests/illformed/lang/entry_title_xml_lang.xml +0 -0
- data/tests/illformed/lang/entry_title_xml_lang_inherit.xml +0 -0
- data/tests/illformed/lang/entry_title_xml_lang_inherit_2.xml +0 -0
- data/tests/illformed/lang/entry_title_xml_lang_inherit_3.xml +0 -0
- data/tests/illformed/lang/entry_title_xml_lang_inherit_4.xml +0 -0
- data/tests/illformed/lang/feed_copyright_xml_lang.xml +0 -0
- data/tests/illformed/lang/feed_copyright_xml_lang_inherit.xml +0 -0
- data/tests/illformed/lang/feed_copyright_xml_lang_inherit_2.xml +0 -0
- data/tests/illformed/lang/feed_copyright_xml_lang_inherit_3.xml +0 -0
- data/tests/illformed/lang/feed_copyright_xml_lang_inherit_4.xml +0 -0
- data/tests/illformed/lang/feed_info_xml_lang.xml +0 -0
- data/tests/illformed/lang/feed_info_xml_lang_inherit.xml +0 -0
- data/tests/illformed/lang/feed_info_xml_lang_inherit_2.xml +0 -0
- data/tests/illformed/lang/feed_info_xml_lang_inherit_3.xml +0 -0
- data/tests/illformed/lang/feed_info_xml_lang_inherit_4.xml +0 -0
- data/tests/illformed/lang/feed_language.xml +0 -0
- data/tests/illformed/lang/feed_language_override.xml +0 -0
- data/tests/illformed/lang/feed_not_xml_lang.xml +0 -0
- data/tests/illformed/lang/feed_not_xml_lang_2.xml +0 -0
- data/tests/illformed/lang/feed_tagline_xml_lang.xml +0 -0
- data/tests/illformed/lang/feed_tagline_xml_lang_inherit.xml +0 -0
- data/tests/illformed/lang/feed_tagline_xml_lang_inherit_2.xml +0 -0
- data/tests/illformed/lang/feed_tagline_xml_lang_inherit_3.xml +0 -0
- data/tests/illformed/lang/feed_tagline_xml_lang_inherit_4.xml +0 -0
- data/tests/illformed/lang/feed_title_xml_lang.xml +0 -0
- data/tests/illformed/lang/feed_title_xml_lang_inherit.xml +0 -0
- data/tests/illformed/lang/feed_title_xml_lang_inherit_2.xml +0 -0
- data/tests/illformed/lang/feed_title_xml_lang_inherit_3.xml +0 -0
- data/tests/illformed/lang/feed_title_xml_lang_inherit_4.xml +0 -0
- data/tests/illformed/lang/feed_xml_lang.xml +0 -0
- data/tests/illformed/lang/http_content_language.xml +0 -0
- data/tests/illformed/lang/http_content_language_entry_title_inherit.xml +0 -0
- data/tests/illformed/lang/http_content_language_entry_title_inherit_2.xml +0 -0
- data/tests/illformed/lang/http_content_language_feed_language.xml +0 -0
- data/tests/illformed/lang/http_content_language_feed_xml_lang.xml +0 -0
- data/tests/illformed/lang/item_content_encoded_xml_lang.xml +0 -0
- data/tests/illformed/lang/item_content_encoded_xml_lang_inherit.xml +0 -0
- data/tests/illformed/lang/item_dc_language.xml +0 -0
- data/tests/illformed/lang/item_fullitem_xml_lang.xml +0 -0
- data/tests/illformed/lang/item_fullitem_xml_lang_inherit.xml +0 -0
- data/tests/illformed/lang/item_xhtml_body_xml_lang.xml +0 -0
- data/tests/illformed/lang/item_xhtml_body_xml_lang_inherit.xml +0 -0
- data/tests/illformed/namespace/undeclared_namespace.xml +0 -0
- data/tests/illformed/rdf/rdf_channel_empty_textinput.xml +0 -0
- data/tests/illformed/rdf/rdf_item_rdf_about.xml +0 -0
- data/tests/illformed/rdf/rss_version_10_not_default_ns.xml +0 -0
- data/tests/illformed/rss/channel_category.xml +0 -0
- data/tests/illformed/rss/channel_category_domain.xml +0 -0
- data/tests/illformed/rss/channel_category_multiple.xml +0 -0
- data/tests/illformed/rss/channel_category_multiple_2.xml +0 -0
- data/tests/illformed/rss/channel_dc_contributor.xml +0 -0
- data/tests/illformed/rss/channel_dc_publisher_email.xml +0 -0
- data/tests/illformed/rss/channel_dc_publisher_name.xml +0 -0
- data/tests/illformed/rss/channel_dc_subject.xml +0 -0
- data/tests/illformed/rss/channel_dc_subject_2.xml +0 -0
- data/tests/illformed/rss/channel_dc_subject_multiple.xml +0 -0
- data/tests/illformed/rss/channel_webMaster_email.xml +0 -0
- data/tests/illformed/rss/channel_webMaster_name.xml +0 -0
- data/tests/illformed/rss/item_category.xml +0 -0
- data/tests/illformed/rss/item_category_domain.xml +0 -0
- data/tests/illformed/rss/item_category_multiple.xml +0 -0
- data/tests/illformed/rss/item_category_multiple_2.xml +0 -0
- data/tests/illformed/rss/item_dc_contributor.xml +0 -0
- data/tests/illformed/rss/item_dc_publisher_email.xml +0 -0
- data/tests/illformed/rss/item_dc_publisher_name.xml +0 -0
- data/tests/illformed/rss/item_dc_subject.xml +0 -0
- data/tests/illformed/rss/item_dc_subject_2.xml +0 -0
- data/tests/illformed/rss/item_dc_subject_multiple.xml +0 -0
- data/tests/illformed/rss/item_description_and_summary.xml +0 -0
- data/tests/illformed/rss/item_description_br.xml +0 -0
- data/tests/illformed/rss/item_description_br_shorttag.xml +0 -0
- data/tests/illformed/rss/item_description_not_a_doctype.xml +0 -0
- data/tests/illformed/rss/item_guid_guidislink.xml +0 -0
- data/tests/illformed/rss/item_guid_isPermaLink_conflict_link_not_guidislink.xml +0 -0
- data/tests/illformed/rss/item_guid_isPermaLink_guidislink.xml +0 -0
- data/tests/illformed/rss/item_guid_not_permalink_not_guidislink.xml +0 -0
- data/tests/illformed/rss/item_guid_not_permalink_not_guidislink_2.xml +0 -0
- data/tests/illformed/rss/item_summary_and_description.xml +0 -0
- data/tests/rfeedparser_test_helper.rb +5 -11
- data/tests/rfeedparserserver.rb +0 -0
- data/tests/rfeedparsertest.rb +33 -19
- data/tests/rfponly/wellformed/date/feed_modified_with_negative_numeric_timezone.xml +0 -0
- data/tests/rfponly/wellformed/date/feed_modified_with_positive_numeric_timezone.xml +0 -0
- data/tests/rfponly/wellformed/date/w3dtf_second_fractions.xml +8 -0
- data/tests/to_skip.yml +25 -0
- data/tests/wellformed/atom10/atom10_namespace.xml +0 -0
- data/tests/wellformed/atom10/atom10_version.xml +0 -0
- data/tests/wellformed/atom10/entry_author_email.xml +0 -0
- data/tests/wellformed/atom10/entry_author_map_author.xml +0 -0
- data/tests/wellformed/atom10/entry_author_map_author_2.xml +0 -0
- data/tests/wellformed/atom10/entry_author_name.xml +0 -0
- data/tests/wellformed/atom10/entry_author_uri.xml +0 -0
- data/tests/wellformed/atom10/entry_author_url.xml +0 -0
- data/tests/wellformed/atom10/entry_category_label.xml +0 -0
- data/tests/wellformed/atom10/entry_category_scheme.xml +0 -0
- data/tests/wellformed/atom10/entry_category_term.xml +0 -0
- data/tests/wellformed/atom10/entry_content_application_xml.xml +0 -0
- data/tests/wellformed/atom10/entry_content_base64.xml +0 -0
- data/tests/wellformed/atom10/entry_content_base64_2.xml +0 -0
- data/tests/wellformed/atom10/entry_content_escaped_markup.xml +0 -0
- data/tests/wellformed/atom10/entry_content_inline_markup.xml +0 -0
- data/tests/wellformed/atom10/entry_content_inline_markup_2.xml +0 -0
- data/tests/wellformed/atom10/entry_content_src.xml +0 -0
- data/tests/wellformed/atom10/entry_content_text_plain.xml +0 -0
- data/tests/wellformed/atom10/entry_content_text_plain_brackets.xml +0 -0
- data/tests/wellformed/atom10/entry_content_type.xml +0 -0
- data/tests/wellformed/atom10/entry_content_type_text.xml +0 -0
- data/tests/wellformed/atom10/entry_content_value.xml +0 -0
- data/tests/wellformed/atom10/entry_contributor_email.xml +0 -0
- data/tests/wellformed/atom10/entry_contributor_multiple.xml +0 -0
- data/tests/wellformed/atom10/entry_contributor_name.xml +0 -0
- data/tests/wellformed/atom10/entry_contributor_uri.xml +0 -0
- data/tests/wellformed/atom10/entry_contributor_url.xml +0 -0
- data/tests/wellformed/atom10/entry_id.xml +0 -0
- data/tests/wellformed/atom10/entry_id_map_guid.xml +0 -0
- data/tests/wellformed/atom10/entry_id_no_normalization_1.xml +0 -0
- data/tests/wellformed/atom10/entry_id_no_normalization_2.xml +0 -0
- data/tests/wellformed/atom10/entry_id_no_normalization_3.xml +0 -0
- data/tests/wellformed/atom10/entry_id_no_normalization_4.xml +0 -0
- data/tests/wellformed/atom10/entry_id_no_normalization_5.xml +0 -0
- data/tests/wellformed/atom10/entry_id_no_normalization_6.xml +0 -0
- data/tests/wellformed/atom10/entry_id_no_normalization_7.xml +0 -0
- data/tests/wellformed/atom10/entry_link_alternate_map_link.xml +0 -0
- data/tests/wellformed/atom10/entry_link_alternate_map_link_2.xml +0 -0
- data/tests/wellformed/atom10/entry_link_alternate_map_link_3.xml +0 -0
- data/tests/wellformed/atom10/entry_link_href.xml +0 -0
- data/tests/wellformed/atom10/entry_link_hreflang.xml +0 -0
- data/tests/wellformed/atom10/entry_link_length.xml +0 -0
- data/tests/wellformed/atom10/entry_link_multiple.xml +0 -0
- data/tests/wellformed/atom10/entry_link_no_rel.xml +0 -0
- data/tests/wellformed/atom10/entry_link_rel.xml +0 -0
- data/tests/wellformed/atom10/entry_link_rel_enclosure.xml +0 -0
- data/tests/wellformed/atom10/entry_link_rel_enclosure_map_enclosure_length.xml +0 -0
- data/tests/wellformed/atom10/entry_link_rel_enclosure_map_enclosure_type.xml +0 -0
- data/tests/wellformed/atom10/entry_link_rel_enclosure_map_enclosure_url.xml +0 -0
- data/tests/wellformed/atom10/entry_link_rel_other.xml +0 -0
- data/tests/wellformed/atom10/entry_link_rel_related.xml +0 -0
- data/tests/wellformed/atom10/entry_link_rel_self.xml +0 -0
- data/tests/wellformed/atom10/entry_link_rel_via.xml +0 -0
- data/tests/wellformed/atom10/entry_link_title.xml +0 -0
- data/tests/wellformed/atom10/entry_link_type.xml +0 -0
- data/tests/wellformed/atom10/entry_rights.xml +0 -0
- data/tests/wellformed/atom10/entry_rights_content_value.xml +0 -0
- data/tests/wellformed/atom10/entry_rights_escaped_markup.xml +0 -0
- data/tests/wellformed/atom10/entry_rights_inline_markup.xml +0 -0
- data/tests/wellformed/atom10/entry_rights_inline_markup_2.xml +0 -0
- data/tests/wellformed/atom10/entry_rights_text_plain.xml +0 -0
- data/tests/wellformed/atom10/entry_rights_text_plain_brackets.xml +0 -0
- data/tests/wellformed/atom10/entry_rights_type_default.xml +0 -0
- data/tests/wellformed/atom10/entry_rights_type_text.xml +0 -0
- data/tests/wellformed/atom10/entry_source_author_email.xml +0 -0
- data/tests/wellformed/atom10/entry_source_author_map_author.xml +0 -0
- data/tests/wellformed/atom10/entry_source_author_map_author_2.xml +0 -0
- data/tests/wellformed/atom10/entry_source_author_name.xml +0 -0
- data/tests/wellformed/atom10/entry_source_author_uri.xml +0 -0
- data/tests/wellformed/atom10/entry_source_category_label.xml +0 -0
- data/tests/wellformed/atom10/entry_source_category_scheme.xml +0 -0
- data/tests/wellformed/atom10/entry_source_category_term.xml +0 -0
- data/tests/wellformed/atom10/entry_source_contributor_email.xml +0 -0
- data/tests/wellformed/atom10/entry_source_contributor_multiple.xml +0 -0
- data/tests/wellformed/atom10/entry_source_contributor_name.xml +0 -0
- data/tests/wellformed/atom10/entry_source_contributor_uri.xml +0 -0
- data/tests/wellformed/atom10/entry_source_generator.xml +0 -0
- data/tests/wellformed/atom10/entry_source_generator_name.xml +0 -0
- data/tests/wellformed/atom10/entry_source_generator_uri.xml +0 -0
- data/tests/wellformed/atom10/entry_source_generator_version.xml +0 -0
- data/tests/wellformed/atom10/entry_source_icon.xml +0 -0
- data/tests/wellformed/atom10/entry_source_id.xml +0 -0
- data/tests/wellformed/atom10/entry_source_link_alternate_map_link.xml +0 -0
- data/tests/wellformed/atom10/entry_source_link_alternate_map_link_2.xml +0 -0
- data/tests/wellformed/atom10/entry_source_link_href.xml +0 -0
- data/tests/wellformed/atom10/entry_source_link_hreflang.xml +0 -0
- data/tests/wellformed/atom10/entry_source_link_length.xml +0 -0
- data/tests/wellformed/atom10/entry_source_link_multiple.xml +0 -0
- data/tests/wellformed/atom10/entry_source_link_no_rel.xml +0 -0
- data/tests/wellformed/atom10/entry_source_link_rel.xml +0 -0
- data/tests/wellformed/atom10/entry_source_link_rel_other.xml +0 -0
- data/tests/wellformed/atom10/entry_source_link_rel_related.xml +0 -0
- data/tests/wellformed/atom10/entry_source_link_rel_self.xml +0 -0
- data/tests/wellformed/atom10/entry_source_link_rel_via.xml +0 -0
- data/tests/wellformed/atom10/entry_source_link_title.xml +0 -0
- data/tests/wellformed/atom10/entry_source_link_type.xml +0 -0
- data/tests/wellformed/atom10/entry_source_logo.xml +0 -0
- data/tests/wellformed/atom10/entry_source_rights.xml +0 -0
- data/tests/wellformed/atom10/entry_source_rights_base64.xml +0 -0
- data/tests/wellformed/atom10/entry_source_rights_base64_2.xml +0 -0
- data/tests/wellformed/atom10/entry_source_rights_content_type.xml +0 -0
- data/tests/wellformed/atom10/entry_source_rights_content_type_text.xml +0 -0
- data/tests/wellformed/atom10/entry_source_rights_content_value.xml +0 -0
- data/tests/wellformed/atom10/entry_source_rights_escaped_markup.xml +0 -0
- data/tests/wellformed/atom10/entry_source_rights_inline_markup.xml +0 -0
- data/tests/wellformed/atom10/entry_source_rights_inline_markup_2.xml +0 -0
- data/tests/wellformed/atom10/entry_source_rights_text_plain.xml +0 -0
- data/tests/wellformed/atom10/entry_source_subittle_content_type_text.xml +0 -0
- data/tests/wellformed/atom10/entry_source_subtitle.xml +0 -0
- data/tests/wellformed/atom10/entry_source_subtitle_base64.xml +0 -0
- data/tests/wellformed/atom10/entry_source_subtitle_base64_2.xml +0 -0
- data/tests/wellformed/atom10/entry_source_subtitle_content_type.xml +0 -0
- data/tests/wellformed/atom10/entry_source_subtitle_content_value.xml +0 -0
- data/tests/wellformed/atom10/entry_source_subtitle_escaped_markup.xml +0 -0
- data/tests/wellformed/atom10/entry_source_subtitle_inline_markup.xml +0 -0
- data/tests/wellformed/atom10/entry_source_subtitle_inline_markup_2.xml +0 -0
- data/tests/wellformed/atom10/entry_source_subtitle_text_plain.xml +0 -0
- data/tests/wellformed/atom10/entry_source_title.xml +0 -0
- data/tests/wellformed/atom10/entry_source_title_base64.xml +0 -0
- data/tests/wellformed/atom10/entry_source_title_base64_2.xml +0 -0
- data/tests/wellformed/atom10/entry_source_title_content_type.xml +0 -0
- data/tests/wellformed/atom10/entry_source_title_content_type_text.xml +0 -0
- data/tests/wellformed/atom10/entry_source_title_content_value.xml +0 -0
- data/tests/wellformed/atom10/entry_source_title_escaped_markup.xml +0 -0
- data/tests/wellformed/atom10/entry_source_title_inline_markup.xml +0 -0
- data/tests/wellformed/atom10/entry_source_title_inline_markup_2.xml +0 -0
- data/tests/wellformed/atom10/entry_source_title_text_plain.xml +0 -0
- data/tests/wellformed/atom10/entry_summary.xml +0 -0
- data/tests/wellformed/atom10/entry_summary_base64.xml +0 -0
- data/tests/wellformed/atom10/entry_summary_base64_2.xml +0 -0
- data/tests/wellformed/atom10/entry_summary_content_value.xml +0 -0
- data/tests/wellformed/atom10/entry_summary_escaped_markup.xml +0 -0
- data/tests/wellformed/atom10/entry_summary_inline_markup.xml +0 -0
- data/tests/wellformed/atom10/entry_summary_inline_markup_2.xml +0 -0
- data/tests/wellformed/atom10/entry_summary_text_plain.xml +0 -0
- data/tests/wellformed/atom10/entry_summary_type_default.xml +0 -0
- data/tests/wellformed/atom10/entry_summary_type_text.xml +0 -0
- data/tests/wellformed/atom10/entry_title.xml +0 -0
- data/tests/wellformed/atom10/entry_title_base64.xml +0 -0
- data/tests/wellformed/atom10/entry_title_base64_2.xml +0 -0
- data/tests/wellformed/atom10/entry_title_content_value.xml +0 -0
- data/tests/wellformed/atom10/entry_title_escaped_markup.xml +0 -0
- data/tests/wellformed/atom10/entry_title_inline_markup.xml +0 -0
- data/tests/wellformed/atom10/entry_title_inline_markup_2.xml +0 -0
- data/tests/wellformed/atom10/entry_title_text_plain.xml +0 -0
- data/tests/wellformed/atom10/entry_title_text_plain_brackets.xml +0 -0
- data/tests/wellformed/atom10/entry_title_type_default.xml +0 -0
- data/tests/wellformed/atom10/entry_title_type_text.xml +0 -0
- data/tests/wellformed/atom10/feed_author_email.xml +0 -0
- data/tests/wellformed/atom10/feed_author_map_author.xml +0 -0
- data/tests/wellformed/atom10/feed_author_map_author_2.xml +0 -0
- data/tests/wellformed/atom10/feed_author_name.xml +0 -0
- data/tests/wellformed/atom10/feed_author_uri.xml +0 -0
- data/tests/wellformed/atom10/feed_author_url.xml +0 -0
- data/tests/wellformed/atom10/feed_contributor_email.xml +0 -0
- data/tests/wellformed/atom10/feed_contributor_multiple.xml +0 -0
- data/tests/wellformed/atom10/feed_contributor_name.xml +0 -0
- data/tests/wellformed/atom10/feed_contributor_uri.xml +0 -0
- data/tests/wellformed/atom10/feed_contributor_url.xml +0 -0
- data/tests/wellformed/atom10/feed_generator.xml +0 -0
- data/tests/wellformed/atom10/feed_generator_name.xml +0 -0
- data/tests/wellformed/atom10/feed_generator_url.xml +0 -0
- data/tests/wellformed/atom10/feed_generator_version.xml +0 -0
- data/tests/wellformed/atom10/feed_icon.xml +0 -0
- data/tests/wellformed/atom10/feed_id.xml +0 -0
- data/tests/wellformed/atom10/feed_id_map_guid.xml +0 -0
- data/tests/wellformed/atom10/feed_link_alternate_map_link.xml +0 -0
- data/tests/wellformed/atom10/feed_link_alternate_map_link_2.xml +0 -0
- data/tests/wellformed/atom10/feed_link_href.xml +0 -0
- data/tests/wellformed/atom10/feed_link_hreflang.xml +0 -0
- data/tests/wellformed/atom10/feed_link_length.xml +0 -0
- data/tests/wellformed/atom10/feed_link_multiple.xml +0 -0
- data/tests/wellformed/atom10/feed_link_no_rel.xml +0 -0
- data/tests/wellformed/atom10/feed_link_rel.xml +0 -0
- data/tests/wellformed/atom10/feed_link_rel_other.xml +0 -0
- data/tests/wellformed/atom10/feed_link_rel_related.xml +0 -0
- data/tests/wellformed/atom10/feed_link_rel_self.xml +0 -0
- data/tests/wellformed/atom10/feed_link_rel_via.xml +0 -0
- data/tests/wellformed/atom10/feed_link_title.xml +0 -0
- data/tests/wellformed/atom10/feed_link_type.xml +0 -0
- data/tests/wellformed/atom10/feed_logo.xml +0 -0
- data/tests/wellformed/atom10/feed_rights.xml +0 -0
- data/tests/wellformed/atom10/feed_rights_base64.xml +0 -0
- data/tests/wellformed/atom10/feed_rights_base64_2.xml +0 -0
- data/tests/wellformed/atom10/feed_rights_content_type.xml +0 -0
- data/tests/wellformed/atom10/feed_rights_content_type_text.xml +0 -0
- data/tests/wellformed/atom10/feed_rights_content_value.xml +0 -0
- data/tests/wellformed/atom10/feed_rights_escaped_markup.xml +0 -0
- data/tests/wellformed/atom10/feed_rights_inline_markup.xml +0 -0
- data/tests/wellformed/atom10/feed_rights_inline_markup_2.xml +0 -0
- data/tests/wellformed/atom10/feed_rights_text_plain.xml +0 -0
- data/tests/wellformed/atom10/feed_subtitle.xml +0 -0
- data/tests/wellformed/atom10/feed_subtitle_base64.xml +0 -0
- data/tests/wellformed/atom10/feed_subtitle_base64_2.xml +0 -0
- data/tests/wellformed/atom10/feed_subtitle_content_type.xml +0 -0
- data/tests/wellformed/atom10/feed_subtitle_content_type_text.xml +0 -0
- data/tests/wellformed/atom10/feed_subtitle_content_value.xml +0 -0
- data/tests/wellformed/atom10/feed_subtitle_escaped_markup.xml +0 -0
- data/tests/wellformed/atom10/feed_subtitle_inline_markup.xml +0 -0
- data/tests/wellformed/atom10/feed_subtitle_inline_markup_2.xml +0 -0
- data/tests/wellformed/atom10/feed_subtitle_text_plain.xml +0 -0
- data/tests/wellformed/atom10/feed_title.xml +0 -0
- data/tests/wellformed/atom10/feed_title_base64.xml +0 -0
- data/tests/wellformed/atom10/feed_title_base64_2.xml +0 -0
- data/tests/wellformed/atom10/feed_title_content_type.xml +0 -0
- data/tests/wellformed/atom10/feed_title_content_type_text.xml +0 -0
- data/tests/wellformed/atom10/feed_title_content_value.xml +0 -0
- data/tests/wellformed/atom10/feed_title_escaped_markup.xml +0 -0
- data/tests/wellformed/atom10/feed_title_inline_markup.xml +0 -0
- data/tests/wellformed/atom10/feed_title_inline_markup_2.xml +0 -0
- data/tests/wellformed/atom10/feed_title_text_plain.xml +0 -0
- data/tests/wellformed/atom10/relative_uri.xml +0 -0
- data/tests/wellformed/atom10/relative_uri_inherit.xml +0 -0
- data/tests/wellformed/atom10/relative_uri_inherit_2.xml +0 -0
- data/tests/wellformed/base/entry_summary_xml_base.xml +0 -0
- data/tests/wellformed/base/entry_summary_xml_base_inherit.xml +0 -0
- data/tests/wellformed/base/entry_summary_xml_base_inherit_2.xml +0 -0
- data/tests/wellformed/base/entry_summary_xml_base_inherit_3.xml +0 -0
- data/tests/wellformed/base/entry_summary_xml_base_inherit_4.xml +0 -0
- data/tests/wellformed/base/entry_title_xml_base.xml +0 -0
- data/tests/wellformed/base/entry_title_xml_base_inherit.xml +0 -0
- data/tests/wellformed/base/entry_title_xml_base_inherit_2.xml +0 -0
- data/tests/wellformed/base/entry_title_xml_base_inherit_3.xml +0 -0
- data/tests/wellformed/base/entry_title_xml_base_inherit_4.xml +0 -0
- data/tests/wellformed/base/feed_copyright_xml_base.xml +0 -0
- data/tests/wellformed/base/feed_copyright_xml_base_inherit.xml +0 -0
- data/tests/wellformed/base/feed_copyright_xml_base_inherit_2.xml +0 -0
- data/tests/wellformed/base/feed_copyright_xml_base_inherit_3.xml +0 -0
- data/tests/wellformed/base/feed_copyright_xml_base_inherit_4.xml +0 -0
- data/tests/wellformed/base/feed_info_xml_base.xml +0 -0
- data/tests/wellformed/base/feed_info_xml_base_inherit.xml +0 -0
- data/tests/wellformed/base/feed_info_xml_base_inherit_2.xml +0 -0
- data/tests/wellformed/base/feed_info_xml_base_inherit_3.xml +0 -0
- data/tests/wellformed/base/feed_info_xml_base_inherit_4.xml +0 -0
- data/tests/wellformed/base/feed_tagline_xml_base.xml +0 -0
- data/tests/wellformed/base/feed_tagline_xml_base_inherit.xml +0 -0
- data/tests/wellformed/base/feed_tagline_xml_base_inherit_2.xml +0 -0
- data/tests/wellformed/base/feed_tagline_xml_base_inherit_3.xml +0 -0
- data/tests/wellformed/base/feed_tagline_xml_base_inherit_4.xml +0 -0
- data/tests/wellformed/base/feed_title_xml_base.xml +0 -0
- data/tests/wellformed/base/feed_title_xml_base_inherit.xml +0 -0
- data/tests/wellformed/base/feed_title_xml_base_inherit_2.xml +0 -0
- data/tests/wellformed/base/feed_title_xml_base_inherit_3.xml +0 -0
- data/tests/wellformed/base/feed_title_xml_base_inherit_4.xml +0 -0
- data/tests/wellformed/base/http_relative_xml_base.xml +0 -0
- data/tests/wellformed/base/http_relative_xml_base_2.xml +0 -0
- data/tests/wellformed/base/malformed_base.xml +0 -0
- data/tests/wellformed/base/relative_xml_base.xml +0 -0
- data/tests/wellformed/base/relative_xml_base_2.xml +0 -0
- data/tests/wellformed/date/channel_pubDate_greek_1.xml +0 -0
- data/tests/wellformed/date/channel_pubDate_hungarian_1.xml +0 -0
- data/tests/wellformed/date/channel_pubDate_korean_nate.xml +0 -0
- data/tests/wellformed/date/channel_pubDate_mssql.xml +0 -0
- data/tests/wellformed/date/channel_pubDate_mssql_nofraction.xml +0 -0
- data/tests/wellformed/date/channel_pubDate_nosecond.xml +0 -0
- data/tests/wellformed/date/channel_pubDate_notime.xml +0 -0
- data/tests/wellformed/date/entry_created.xml +0 -0
- data/tests/wellformed/date/entry_created_w3dtf_utc.xml +0 -0
- data/tests/wellformed/date/entry_issued.xml +0 -0
- data/tests/wellformed/date/entry_issued_w3dtf_utc.xml +0 -0
- data/tests/wellformed/date/entry_modified.xml +0 -0
- data/tests/wellformed/date/entry_modified_map_date.xml +0 -0
- data/tests/wellformed/date/entry_modified_w3dtf_utc.xml +0 -0
- data/tests/wellformed/date/entry_published_w3dtf_utc.xml +0 -0
- data/tests/wellformed/date/entry_source_updated_w3dtf_utc.xml +0 -0
- data/tests/wellformed/date/entry_updated_w3dtf_utc.xml +0 -0
- data/tests/wellformed/date/feed_modified.xml +0 -0
- data/tests/wellformed/date/feed_modified_asctime.xml +0 -0
- data/tests/wellformed/date/feed_modified_disney.xml +0 -0
- data/tests/wellformed/date/feed_modified_disney_at.xml +0 -0
- data/tests/wellformed/date/feed_modified_disney_ct.xml +0 -0
- data/tests/wellformed/date/feed_modified_disney_mt.xml +0 -0
- data/tests/wellformed/date/feed_modified_disney_pt.xml +0 -0
- data/tests/wellformed/date/feed_modified_iso8601_ym.xml +0 -0
- data/tests/wellformed/date/feed_modified_iso8601_ym_2.xml +0 -0
- data/tests/wellformed/date/feed_modified_iso8601_ymd.xml +0 -0
- data/tests/wellformed/date/feed_modified_iso8601_ymd_2.xml +0 -0
- data/tests/wellformed/date/feed_modified_iso8601_yo_2.xml +0 -0
- data/tests/wellformed/date/feed_modified_map_date.xml +0 -0
- data/tests/wellformed/date/feed_modified_rfc2822.xml +0 -0
- data/tests/wellformed/date/feed_modified_rfc2822_rollover_june_31.xml +0 -0
- data/tests/wellformed/date/feed_modified_rfc822.xml +0 -0
- data/tests/wellformed/date/feed_modified_w3dtf_rollover_leapyear.xml +0 -0
- data/tests/wellformed/date/feed_modified_w3dtf_rollover_leapyear400.xml +0 -0
- data/tests/wellformed/date/feed_modified_w3dtf_rollover_nonleapyear.xml +0 -0
- data/tests/wellformed/date/feed_modified_w3dtf_sf.xml +0 -0
- data/tests/wellformed/date/feed_modified_w3dtf_tokyo.xml +0 -0
- data/tests/wellformed/date/feed_modified_w3dtf_utc.xml +0 -0
- data/tests/wellformed/date/feed_modified_w3dtf_y.xml +0 -0
- data/tests/wellformed/date/feed_modified_w3dtf_ym.xml +0 -0
- data/tests/wellformed/date/feed_modified_w3dtf_ymd.xml +0 -0
- data/tests/wellformed/date/feed_modified_w3dtf_ymd_2.xml +0 -0
- data/tests/wellformed/date/feed_updated_w3dtf_utc.xml +0 -0
- data/tests/wellformed/date/item_pubDate_euc-kr.xml +0 -0
- data/tests/wellformed/encoding/encoding_attribute_crash.xml +0 -0
- data/tests/wellformed/encoding/encoding_attribute_crash_2.xml +0 -0
- data/tests/wellformed/encoding/euc-kr-attribute.xml +0 -0
- data/tests/wellformed/encoding/euc-kr-item.xml +0 -0
- data/tests/wellformed/encoding/euc-kr.xml +0 -0
- data/tests/wellformed/encoding/http_encoding_attribute_crash.xml +0 -0
- data/tests/wellformed/encoding/http_text_xml_bogus_charset.xml +0 -0
- data/tests/wellformed/encoding/http_text_xml_bogus_param.xml +0 -0
- data/tests/wellformed/encoding/http_text_xml_qs.xml +0 -0
- data/tests/wellformed/encoding/utf-16be-autodetect.xml +0 -0
- data/tests/wellformed/encoding/utf-16be-bom.xml +0 -0
- data/tests/wellformed/encoding/utf-16be.xml +0 -0
- data/tests/wellformed/encoding/utf-16le-autodetect.xml +0 -0
- data/tests/wellformed/encoding/utf-16le-bom.xml +0 -0
- data/tests/wellformed/encoding/utf-16le.xml +0 -0
- data/tests/wellformed/encoding/utf-8-bom.xml +0 -0
- data/tests/wellformed/encoding/x80_437.xml +0 -0
- data/tests/wellformed/encoding/x80_850.xml +0 -0
- data/tests/wellformed/encoding/x80_852.xml +0 -0
- data/tests/wellformed/encoding/x80_855.xml +0 -0
- data/tests/wellformed/encoding/x80_857.xml +0 -0
- data/tests/wellformed/encoding/x80_860.xml +0 -0
- data/tests/wellformed/encoding/x80_861.xml +0 -0
- data/tests/wellformed/encoding/x80_862.xml +0 -0
- data/tests/wellformed/encoding/x80_863.xml +0 -0
- data/tests/wellformed/encoding/x80_865.xml +0 -0
- data/tests/wellformed/encoding/x80_866.xml +0 -0
- data/tests/wellformed/encoding/x80_cp037.xml +0 -0
- data/tests/wellformed/encoding/x80_cp1125.xml +0 -0
- data/tests/wellformed/encoding/x80_cp1250.xml +0 -0
- data/tests/wellformed/encoding/x80_cp1251.xml +0 -0
- data/tests/wellformed/encoding/x80_cp1252.xml +0 -0
- data/tests/wellformed/encoding/x80_cp1253.xml +0 -0
- data/tests/wellformed/encoding/x80_cp1254.xml +0 -0
- data/tests/wellformed/encoding/x80_cp1255.xml +0 -0
- data/tests/wellformed/encoding/x80_cp1256.xml +0 -0
- data/tests/wellformed/encoding/x80_cp1257.xml +0 -0
- data/tests/wellformed/encoding/x80_cp1258.xml +0 -0
- data/tests/wellformed/encoding/x80_cp437.xml +0 -0
- data/tests/wellformed/encoding/x80_cp500.xml +0 -0
- data/tests/wellformed/encoding/x80_cp737.xml +0 -0
- data/tests/wellformed/encoding/x80_cp775.xml +0 -0
- data/tests/wellformed/encoding/x80_cp850.xml +0 -0
- data/tests/wellformed/encoding/x80_cp852.xml +0 -0
- data/tests/wellformed/encoding/x80_cp855.xml +0 -0
- data/tests/wellformed/encoding/x80_cp856.xml +0 -0
- data/tests/wellformed/encoding/x80_cp857.xml +0 -0
- data/tests/wellformed/encoding/x80_cp860.xml +0 -0
- data/tests/wellformed/encoding/x80_cp861.xml +0 -0
- data/tests/wellformed/encoding/x80_cp862.xml +0 -0
- data/tests/wellformed/encoding/x80_cp863.xml +0 -0
- data/tests/wellformed/encoding/x80_cp864.xml +0 -0
- data/tests/wellformed/encoding/x80_cp865.xml +0 -0
- data/tests/wellformed/encoding/x80_cp866.xml +0 -0
- data/tests/wellformed/encoding/x80_cp874.xml +0 -0
- data/tests/wellformed/encoding/x80_cp875.xml +0 -0
- data/tests/wellformed/encoding/x80_cp_is.xml +0 -0
- data/tests/wellformed/encoding/x80_csibm037.xml +0 -0
- data/tests/wellformed/encoding/x80_csibm500.xml +0 -0
- data/tests/wellformed/encoding/x80_csibm855.xml +0 -0
- data/tests/wellformed/encoding/x80_csibm857.xml +0 -0
- data/tests/wellformed/encoding/x80_csibm860.xml +0 -0
- data/tests/wellformed/encoding/x80_csibm861.xml +0 -0
- data/tests/wellformed/encoding/x80_csibm863.xml +0 -0
- data/tests/wellformed/encoding/x80_csibm864.xml +0 -0
- data/tests/wellformed/encoding/x80_csibm865.xml +0 -0
- data/tests/wellformed/encoding/x80_csibm866.xml +0 -0
- data/tests/wellformed/encoding/x80_cskoi8r.xml +0 -0
- data/tests/wellformed/encoding/x80_csmacintosh.xml +0 -0
- data/tests/wellformed/encoding/x80_cspc775baltic.xml +0 -0
- data/tests/wellformed/encoding/x80_cspc850multilingual.xml +0 -0
- data/tests/wellformed/encoding/x80_cspc862latinhebrew.xml +0 -0
- data/tests/wellformed/encoding/x80_cspc8codepage437.xml +0 -0
- data/tests/wellformed/encoding/x80_cspcp852.xml +0 -0
- data/tests/wellformed/encoding/x80_dbcs.xml +0 -0
- data/tests/wellformed/encoding/x80_ebcdic-cp-be.xml +0 -0
- data/tests/wellformed/encoding/x80_ebcdic-cp-ca.xml +0 -0
- data/tests/wellformed/encoding/x80_ebcdic-cp-ch.xml +0 -0
- data/tests/wellformed/encoding/x80_ebcdic-cp-nl.xml +0 -0
- data/tests/wellformed/encoding/x80_ebcdic-cp-us.xml +0 -0
- data/tests/wellformed/encoding/x80_ebcdic-cp-wt.xml +0 -0
- data/tests/wellformed/encoding/x80_ebcdic_cp_be.xml +0 -0
- data/tests/wellformed/encoding/x80_ebcdic_cp_ca.xml +0 -0
- data/tests/wellformed/encoding/x80_ebcdic_cp_ch.xml +0 -0
- data/tests/wellformed/encoding/x80_ebcdic_cp_nl.xml +0 -0
- data/tests/wellformed/encoding/x80_ebcdic_cp_us.xml +0 -0
- data/tests/wellformed/encoding/x80_ebcdic_cp_wt.xml +0 -0
- data/tests/wellformed/encoding/x80_ibm037.xml +0 -0
- data/tests/wellformed/encoding/x80_ibm039.xml +0 -0
- data/tests/wellformed/encoding/x80_ibm1140.xml +0 -0
- data/tests/wellformed/encoding/x80_ibm437.xml +0 -0
- data/tests/wellformed/encoding/x80_ibm500.xml +0 -0
- data/tests/wellformed/encoding/x80_ibm775.xml +0 -0
- data/tests/wellformed/encoding/x80_ibm850.xml +0 -0
- data/tests/wellformed/encoding/x80_ibm852.xml +0 -0
- data/tests/wellformed/encoding/x80_ibm855.xml +0 -0
- data/tests/wellformed/encoding/x80_ibm857.xml +0 -0
- data/tests/wellformed/encoding/x80_ibm860.xml +0 -0
- data/tests/wellformed/encoding/x80_ibm861.xml +0 -0
- data/tests/wellformed/encoding/x80_ibm862.xml +0 -0
- data/tests/wellformed/encoding/x80_ibm863.xml +0 -0
- data/tests/wellformed/encoding/x80_ibm864.xml +0 -0
- data/tests/wellformed/encoding/x80_ibm865.xml +0 -0
- data/tests/wellformed/encoding/x80_ibm866.xml +0 -0
- data/tests/wellformed/encoding/x80_koi8-r.xml +0 -0
- data/tests/wellformed/encoding/x80_koi8-t.xml +0 -0
- data/tests/wellformed/encoding/x80_koi8-u.xml +0 -0
- data/tests/wellformed/encoding/x80_mac-cyrillic.xml +0 -0
- data/tests/wellformed/encoding/x80_mac.xml +0 -0
- data/tests/wellformed/encoding/x80_maccentraleurope.xml +0 -0
- data/tests/wellformed/encoding/x80_maccyrillic.xml +0 -0
- data/tests/wellformed/encoding/x80_macgreek.xml +0 -0
- data/tests/wellformed/encoding/x80_maciceland.xml +0 -0
- data/tests/wellformed/encoding/x80_macintosh.xml +0 -0
- data/tests/wellformed/encoding/x80_maclatin2.xml +0 -0
- data/tests/wellformed/encoding/x80_macroman.xml +0 -0
- data/tests/wellformed/encoding/x80_macturkish.xml +0 -0
- data/tests/wellformed/encoding/x80_ms-ansi.xml +0 -0
- data/tests/wellformed/encoding/x80_ms-arab.xml +0 -0
- data/tests/wellformed/encoding/x80_ms-cyrl.xml +0 -0
- data/tests/wellformed/encoding/x80_ms-ee.xml +0 -0
- data/tests/wellformed/encoding/x80_ms-greek.xml +0 -0
- data/tests/wellformed/encoding/x80_ms-hebr.xml +0 -0
- data/tests/wellformed/encoding/x80_ms-turk.xml +0 -0
- data/tests/wellformed/encoding/x80_tcvn-5712.xml +0 -0
- data/tests/wellformed/encoding/x80_tcvn.xml +0 -0
- data/tests/wellformed/encoding/x80_tcvn5712-1.xml +0 -0
- data/tests/wellformed/encoding/x80_viscii.xml +0 -0
- data/tests/wellformed/encoding/x80_winbaltrim.xml +0 -0
- data/tests/wellformed/encoding/x80_windows-1250.xml +0 -0
- data/tests/wellformed/encoding/x80_windows-1251.xml +0 -0
- data/tests/wellformed/encoding/x80_windows-1252.xml +0 -0
- data/tests/wellformed/encoding/x80_windows-1253.xml +0 -0
- data/tests/wellformed/encoding/x80_windows-1254.xml +0 -0
- data/tests/wellformed/encoding/x80_windows-1255.xml +0 -0
- data/tests/wellformed/encoding/x80_windows-1256.xml +0 -0
- data/tests/wellformed/encoding/x80_windows-1257.xml +0 -0
- data/tests/wellformed/encoding/x80_windows-1258.xml +0 -0
- data/tests/wellformed/encoding/x80_windows_1250.xml +0 -0
- data/tests/wellformed/encoding/x80_windows_1251.xml +0 -0
- data/tests/wellformed/encoding/x80_windows_1252.xml +0 -0
- data/tests/wellformed/encoding/x80_windows_1253.xml +0 -0
- data/tests/wellformed/encoding/x80_windows_1254.xml +0 -0
- data/tests/wellformed/encoding/x80_windows_1255.xml +0 -0
- data/tests/wellformed/encoding/x80_windows_1256.xml +0 -0
- data/tests/wellformed/encoding/x80_windows_1257.xml +0 -0
- data/tests/wellformed/encoding/x80_windows_1258.xml +0 -0
- data/tests/wellformed/feedburner/feedburner_browserfriendly.xml +0 -0
- data/tests/wellformed/itunes/itunes_channel_block.xml +0 -0
- data/tests/wellformed/itunes/itunes_channel_block_false.xml +0 -0
- data/tests/wellformed/itunes/itunes_channel_block_no.xml +0 -0
- data/tests/wellformed/itunes/itunes_channel_block_true.xml +0 -0
- data/tests/wellformed/itunes/itunes_channel_block_uppercase.xml +0 -0
- data/tests/wellformed/itunes/itunes_channel_block_whitespace.xml +0 -0
- data/tests/wellformed/itunes/itunes_channel_category.xml +0 -0
- data/tests/wellformed/itunes/itunes_channel_category_nested.xml +0 -0
- data/tests/wellformed/itunes/itunes_channel_category_scheme.xml +0 -0
- data/tests/wellformed/itunes/itunes_channel_explicit.xml +0 -0
- data/tests/wellformed/itunes/itunes_channel_explicit_false.xml +0 -0
- data/tests/wellformed/itunes/itunes_channel_explicit_no.xml +0 -0
- data/tests/wellformed/itunes/itunes_channel_explicit_true.xml +0 -0
- data/tests/wellformed/itunes/itunes_channel_explicit_uppercase.xml +0 -0
- data/tests/wellformed/itunes/itunes_channel_explicit_whitespace.xml +0 -0
- data/tests/wellformed/itunes/itunes_channel_image.xml +0 -0
- data/tests/wellformed/itunes/itunes_channel_keywords.xml +0 -0
- data/tests/wellformed/itunes/itunes_channel_keywords_duplicate.xml +0 -0
- data/tests/wellformed/itunes/itunes_channel_keywords_duplicate_2.xml +0 -0
- data/tests/wellformed/itunes/itunes_channel_keywords_multiple.xml +0 -0
- data/tests/wellformed/itunes/itunes_channel_link_image.xml +0 -0
- data/tests/wellformed/itunes/itunes_channel_owner_email.xml +0 -0
- data/tests/wellformed/itunes/itunes_channel_owner_name.xml +0 -0
- data/tests/wellformed/itunes/itunes_channel_subtitle.xml +0 -0
- data/tests/wellformed/itunes/itunes_channel_summary.xml +0 -0
- data/tests/wellformed/itunes/itunes_core_element_uppercase.xml +0 -0
- data/tests/wellformed/itunes/itunes_enclosure_url_maps_id.xml +0 -0
- data/tests/wellformed/itunes/itunes_enclosure_url_maps_id_2.xml +0 -0
- data/tests/wellformed/itunes/itunes_item_author_map_author.xml +0 -0
- data/tests/wellformed/itunes/itunes_item_block.xml +0 -0
- data/tests/wellformed/itunes/itunes_item_block_false.xml +0 -0
- data/tests/wellformed/itunes/itunes_item_block_no.xml +0 -0
- data/tests/wellformed/itunes/itunes_item_block_true.xml +0 -0
- data/tests/wellformed/itunes/itunes_item_block_uppercase.xml +0 -0
- data/tests/wellformed/itunes/itunes_item_block_whitespace.xml +0 -0
- data/tests/wellformed/itunes/itunes_item_category.xml +0 -0
- data/tests/wellformed/itunes/itunes_item_category_nested.xml +0 -0
- data/tests/wellformed/itunes/itunes_item_category_scheme.xml +0 -0
- data/tests/wellformed/itunes/itunes_item_duration.xml +0 -0
- data/tests/wellformed/itunes/itunes_item_explicit.xml +0 -0
- data/tests/wellformed/itunes/itunes_item_explicit_false.xml +0 -0
- data/tests/wellformed/itunes/itunes_item_explicit_no.xml +0 -0
- data/tests/wellformed/itunes/itunes_item_explicit_true.xml +0 -0
- data/tests/wellformed/itunes/itunes_item_explicit_uppercase.xml +0 -0
- data/tests/wellformed/itunes/itunes_item_explicit_whitespace.xml +0 -0
- data/tests/wellformed/itunes/itunes_item_image.xml +0 -0
- data/tests/wellformed/itunes/itunes_item_link_image.xml +0 -0
- data/tests/wellformed/itunes/itunes_item_subtitle.xml +0 -0
- data/tests/wellformed/itunes/itunes_item_summary.xml +0 -0
- data/tests/wellformed/itunes/itunes_link_enclosure_maps_id.xml +0 -0
- data/tests/wellformed/itunes/itunes_link_enclosure_maps_id_2.xml +0 -0
- data/tests/wellformed/itunes/itunes_namespace.xml +0 -0
- data/tests/wellformed/itunes/itunes_namespace_example.xml +0 -0
- data/tests/wellformed/itunes/itunes_namespace_lowercase.xml +0 -0
- data/tests/wellformed/itunes/itunes_namespace_uppercase.xml +0 -0
- data/tests/wellformed/lang/entry_content_xml_lang_inherit.xml +0 -0
- data/tests/wellformed/lang/entry_content_xml_lang_inherit_2.xml +0 -0
- data/tests/wellformed/lang/entry_content_xml_lang_inherit_3.xml +0 -0
- data/tests/wellformed/lang/entry_content_xml_lang_inherit_4.xml +0 -0
- data/tests/wellformed/lang/entry_summary_xml_lang.xml +0 -0
- data/tests/wellformed/lang/entry_summary_xml_lang_inherit.xml +0 -0
- data/tests/wellformed/lang/entry_summary_xml_lang_inherit_2.xml +0 -0
- data/tests/wellformed/lang/entry_summary_xml_lang_inherit_3.xml +0 -0
- data/tests/wellformed/lang/entry_summary_xml_lang_inherit_4.xml +0 -0
- data/tests/wellformed/lang/entry_title_xml_lang.xml +0 -0
- data/tests/wellformed/lang/entry_title_xml_lang_inherit.xml +0 -0
- data/tests/wellformed/lang/entry_title_xml_lang_inherit_2.xml +0 -0
- data/tests/wellformed/lang/entry_title_xml_lang_inherit_3.xml +0 -0
- data/tests/wellformed/lang/entry_title_xml_lang_inherit_4.xml +0 -0
- data/tests/wellformed/lang/feed_copyright_xml_lang.xml +0 -0
- data/tests/wellformed/lang/feed_copyright_xml_lang_inherit.xml +0 -0
- data/tests/wellformed/lang/feed_copyright_xml_lang_inherit_2.xml +0 -0
- data/tests/wellformed/lang/feed_copyright_xml_lang_inherit_3.xml +0 -0
- data/tests/wellformed/lang/feed_copyright_xml_lang_inherit_4.xml +0 -0
- data/tests/wellformed/lang/feed_info_xml_lang.xml +0 -0
- data/tests/wellformed/lang/feed_info_xml_lang_inherit.xml +0 -0
- data/tests/wellformed/lang/feed_info_xml_lang_inherit_2.xml +0 -0
- data/tests/wellformed/lang/feed_info_xml_lang_inherit_3.xml +0 -0
- data/tests/wellformed/lang/feed_info_xml_lang_inherit_4.xml +0 -0
- data/tests/wellformed/lang/feed_language.xml +0 -0
- data/tests/wellformed/lang/feed_language_override.xml +0 -0
- data/tests/wellformed/lang/feed_not_xml_lang.xml +0 -0
- data/tests/wellformed/lang/feed_not_xml_lang_2.xml +0 -0
- data/tests/wellformed/lang/feed_tagline_xml_lang.xml +0 -0
- data/tests/wellformed/lang/feed_tagline_xml_lang_inherit.xml +0 -0
- data/tests/wellformed/lang/feed_tagline_xml_lang_inherit_2.xml +0 -0
- data/tests/wellformed/lang/feed_tagline_xml_lang_inherit_3.xml +0 -0
- data/tests/wellformed/lang/feed_tagline_xml_lang_inherit_4.xml +0 -0
- data/tests/wellformed/lang/feed_title_xml_lang.xml +0 -0
- data/tests/wellformed/lang/feed_title_xml_lang_inherit.xml +0 -0
- data/tests/wellformed/lang/feed_title_xml_lang_inherit_2.xml +0 -0
- data/tests/wellformed/lang/feed_title_xml_lang_inherit_3.xml +0 -0
- data/tests/wellformed/lang/feed_title_xml_lang_inherit_4.xml +0 -0
- data/tests/wellformed/lang/feed_xml_lang.xml +0 -0
- data/tests/wellformed/lang/http_content_language.xml +0 -0
- data/tests/wellformed/lang/http_content_language_entry_title_inherit.xml +0 -0
- data/tests/wellformed/lang/http_content_language_entry_title_inherit_2.xml +0 -0
- data/tests/wellformed/lang/http_content_language_feed_language.xml +0 -0
- data/tests/wellformed/lang/http_content_language_feed_xml_lang.xml +0 -0
- data/tests/wellformed/rdf/doctype_contains_entity_decl.xml +0 -0
- data/tests/wellformed/rdf/rdf_item_rdf_about.xml +0 -0
- data/tests/wellformed/rdf/rss_version_10_not_default_ns.xml +0 -0
- data/tests/wellformed/rss/channel_dc_contributor.xml +0 -0
- data/tests/wellformed/rss/channel_dc_publisher_email.xml +0 -0
- data/tests/wellformed/rss/channel_dc_publisher_name.xml +0 -0
- data/tests/wellformed/rss/channel_webMaster_email.xml +0 -0
- data/tests/wellformed/rss/channel_webMaster_name.xml +0 -0
- data/tests/wellformed/rss/item_dc_contributor.xml +0 -0
- data/tests/wellformed/rss/item_dc_publisher_email.xml +0 -0
- data/tests/wellformed/rss/item_dc_publisher_name.xml +0 -0
- data/tests/wellformed/rss/item_description_and_summary.xml +0 -0
- data/tests/wellformed/rss/item_description_br.xml +0 -0
- data/tests/wellformed/rss/item_description_br_shorttag.xml +0 -0
- data/tests/wellformed/rss/item_description_not_a_doctype.xml +0 -0
- data/tests/wellformed/rss/item_guid_guidislink.xml +0 -0
- data/tests/wellformed/rss/item_guid_isPermaLink_conflict_link_not_guidislink.xml +0 -0
- data/tests/wellformed/rss/item_guid_isPermaLink_guidislink.xml +0 -0
- data/tests/wellformed/rss/item_guid_not_permalink_not_guidislink.xml +0 -0
- data/tests/wellformed/rss/item_guid_not_permalink_not_guidislink_2.xml +0 -0
- data/tests/wellformed/rss/item_summary_and_description.xml +0 -0
- data/tests/wellformed/rss/item_title_not_media.xml +15 -0
- data/tests/wellformed/sanitize/entry_content_onload.xml +0 -0
- data/tests/wellformed/sanitize/entry_content_style.xml +0 -0
- data/tests/wellformed/sanitize/entry_summary_blink.xml +0 -0
- data/tests/wellformed/sanitize/entry_summary_onload.xml +0 -0
- data/tests/wellformed/sanitize/entry_summary_style.xml +0 -0
- data/tests/wellformed/sanitize/entry_title_blink.xml +0 -0
- data/tests/wellformed/sanitize/entry_title_onload.xml +0 -0
- data/tests/wellformed/sanitize/entry_title_style.xml +0 -0
- data/tests/wellformed/sanitize/feed_copyright_blink.xml +0 -0
- data/tests/wellformed/sanitize/feed_copyright_onload.xml +0 -0
- data/tests/wellformed/sanitize/feed_copyright_style.xml +0 -0
- data/tests/wellformed/sanitize/feed_info_blink.xml +0 -0
- data/tests/wellformed/sanitize/feed_info_onload.xml +0 -0
- data/tests/wellformed/sanitize/feed_info_style.xml +0 -0
- data/tests/wellformed/sanitize/feed_subtitle_blink.xml +0 -0
- data/tests/wellformed/sanitize/feed_subtitle_onload.xml +0 -0
- data/tests/wellformed/sanitize/feed_subtitle_style.xml +0 -0
- data/tests/wellformed/sanitize/feed_tagline_blink.xml +0 -0
- data/tests/wellformed/sanitize/feed_tagline_onload.xml +0 -0
- data/tests/wellformed/sanitize/feed_tagline_style.xml +0 -0
- data/tests/wellformed/sanitize/feed_title_blink.xml +0 -0
- data/tests/wellformed/sanitize/feed_title_onload.xml +0 -0
- data/tests/wellformed/sanitize/feed_title_style.xml +0 -0
- data/tests/wellformed/sanitize/item_body_blink.xml +0 -0
- data/tests/wellformed/sanitize/item_body_onload.xml +0 -0
- data/tests/wellformed/sanitize/item_body_style.xml +0 -0
- data/tests/wellformed/sanitize/item_content_encoded_blink.xml +0 -0
- data/tests/wellformed/sanitize/item_content_encoded_map_content.xml +0 -0
- data/tests/wellformed/sanitize/item_content_encoded_onload.xml +0 -0
- data/tests/wellformed/sanitize/item_content_encoded_script.xml +0 -0
- data/tests/wellformed/sanitize/item_content_encoded_style.xml +0 -0
- data/tests/wellformed/sanitize/item_description_blink.xml +0 -0
- data/tests/wellformed/sanitize/item_description_onload.xml +0 -0
- data/tests/wellformed/sanitize/item_description_script.xml +0 -0
- data/tests/wellformed/sanitize/item_description_script_map_summary.xml +0 -0
- data/tests/wellformed/sanitize/item_description_style.xml +0 -0
- data/tests/wellformed/sanitize/item_fullitem_blink.xml +0 -0
- data/tests/wellformed/sanitize/item_fullitem_onload.xml +0 -0
- data/tests/wellformed/sanitize/item_fullitem_style.xml +0 -0
- data/tests/wellformed/sanitize/item_xhtml_body_blink.xml +0 -0
- data/tests/wellformed/sanitize/item_xhtml_body_onload.xml +0 -0
- data/tests/wellformed/sanitize/item_xhtml_body_style.xml +0 -0
- metadata +120 -101
- data/lib/rfeedparser/forgiving_uri.rb +0 -953
- data/lib/rfeedparser/parsers.rb +0 -177
@@ -0,0 +1,159 @@
|
|
1
|
+
# If you don't have libxml installed (or for some reason you would
|
2
|
+
# rather use expat) you can fall back upon this for your parser. Be
|
3
|
+
# advised that the bindings for expat are much older (from the days of
|
4
|
+
# Ruby 1.6.7) and are unmaintained. If you want to force use of expat
|
5
|
+
# even when libxml is installed, you can do this:
|
6
|
+
#
|
7
|
+
# feed = FeedParser.parse("some-feed-stream-filepath-or-url",
|
8
|
+
# :strict => FeedParser::Expat::StrictFeedParser)
|
9
|
+
|
10
|
+
require 'xml/saxdriver'
|
11
|
+
|
12
|
+
module FeedParser
|
13
|
+
module Expat
|
14
|
+
class StrictFeedParser
|
15
|
+
attr_reader :handler
|
16
|
+
def initialize(baseuri, baselang)
|
17
|
+
@handler = StrictFeedParserHandler.new(baseuri, baselang, 'utf-8')
|
18
|
+
end
|
19
|
+
|
20
|
+
def parse(data)
|
21
|
+
# initialize the SAX parser
|
22
|
+
saxparser = XML::SAX::Helpers::ParserFactory.makeParser("XML::Parser::SAXDriver")
|
23
|
+
saxparser.setDocumentHandler(@handler)
|
24
|
+
saxparser.setDTDHandler(@handler)
|
25
|
+
saxparser.setEntityResolver(@handler)
|
26
|
+
saxparser.setErrorHandler(@handler)
|
27
|
+
|
28
|
+
inputdata = XML::SAX::InputSource.new('parsedfeed')
|
29
|
+
inputdata.setByteStream(StringIO.new(data))
|
30
|
+
begin
|
31
|
+
saxparser.parse(inputdata)
|
32
|
+
rescue XML::SAX::SAXParseException => err
|
33
|
+
# This does not inherit from StandardError as it should, so
|
34
|
+
# we have to catch and re-raise specially.
|
35
|
+
raise err.to_s
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
class StrictFeedParserHandler < XML::SAX::HandlerBase # expat
|
41
|
+
include FeedParserMixin
|
42
|
+
|
43
|
+
attr_accessor :bozo, :entries, :feeddata, :exc
|
44
|
+
def initialize(baseuri, baselang, encoding)
|
45
|
+
$stderr << "trying StrictFeedParser\n" if $debug
|
46
|
+
startup(baseuri, baselang, encoding)
|
47
|
+
@bozo = false
|
48
|
+
@exc = nil
|
49
|
+
super()
|
50
|
+
end
|
51
|
+
|
52
|
+
def getPos
|
53
|
+
[@locator.getSystemId, @locator.getLineNumber]
|
54
|
+
end
|
55
|
+
|
56
|
+
def getAttrs(attrs)
|
57
|
+
ret = []
|
58
|
+
for i in 0..attrs.getLength
|
59
|
+
ret.push([attrs.getName(i), attrs.getValue(i)])
|
60
|
+
end
|
61
|
+
ret
|
62
|
+
end
|
63
|
+
|
64
|
+
def setDocumentLocator(loc)
|
65
|
+
@locator = loc
|
66
|
+
end
|
67
|
+
|
68
|
+
def startDoctypeDecl(name, pub_sys, long_name, uri)
|
69
|
+
#Nothing is done here. What could we do that is neat and useful?
|
70
|
+
end
|
71
|
+
|
72
|
+
def startNamespaceDecl(prefix, uri)
|
73
|
+
trackNamespace(prefix, uri)
|
74
|
+
end
|
75
|
+
|
76
|
+
def endNamespaceDecl(prefix)
|
77
|
+
end
|
78
|
+
|
79
|
+
def startElement(name, attrs)
|
80
|
+
name =~ /^(([^;]*);)?(.+)$/ # Snag namespaceuri from name
|
81
|
+
namespaceuri = ($2 || '').downcase
|
82
|
+
name = $3
|
83
|
+
if /backend\.userland\.com\/rss/ =~ namespaceuri
|
84
|
+
# match any backend.userland.com namespace
|
85
|
+
namespaceuri = 'http://backend.userland.com/rss'
|
86
|
+
end
|
87
|
+
prefix = @matchnamespaces[namespaceuri]
|
88
|
+
# No need to raise UndeclaredNamespace, Expat does that for us with
|
89
|
+
"unbound prefix (XMLParserError)"
|
90
|
+
if prefix and not prefix.empty?
|
91
|
+
name = prefix + ':' + name
|
92
|
+
end
|
93
|
+
name.downcase!
|
94
|
+
unknown_starttag(name, attrs)
|
95
|
+
end
|
96
|
+
|
97
|
+
def character(text, start, length)
|
98
|
+
#handle_data(CGI.unescapeHTML(text))
|
99
|
+
handle_data(text)
|
100
|
+
end
|
101
|
+
# expat provides "character" not "characters"!
|
102
|
+
alias :characters :character # Just in case.
|
103
|
+
|
104
|
+
def startCdata(content)
|
105
|
+
handle_data(content)
|
106
|
+
end
|
107
|
+
|
108
|
+
def endElement(name)
|
109
|
+
name =~ /^(([^;]*);)?(.+)$/ # Snag namespaceuri from name
|
110
|
+
namespaceuri = ($2 || '').downcase
|
111
|
+
prefix = @matchnamespaces[namespaceuri]
|
112
|
+
if prefix and not prefix.empty?
|
113
|
+
localname = prefix + ':' + name
|
114
|
+
end
|
115
|
+
name.downcase!
|
116
|
+
unknown_endtag(name)
|
117
|
+
end
|
118
|
+
|
119
|
+
def comment(comment)
|
120
|
+
handle_comment(comment)
|
121
|
+
end
|
122
|
+
|
123
|
+
def entityDecl(*foo)
|
124
|
+
end
|
125
|
+
|
126
|
+
def unparsedEntityDecl(*foo)
|
127
|
+
end
|
128
|
+
|
129
|
+
def error(exc)
|
130
|
+
@bozo = true
|
131
|
+
@exc = exc
|
132
|
+
end
|
133
|
+
|
134
|
+
def fatalError(exc)
|
135
|
+
error(exc)
|
136
|
+
raise exc
|
137
|
+
end
|
138
|
+
end
|
139
|
+
end
|
140
|
+
end
|
141
|
+
|
142
|
+
|
143
|
+
# FIXME line 5 maps to line 171 in saxdriver.rb. note that there is no return
|
144
|
+
# in the original
|
145
|
+
class XML::Parser::SAXDriver
|
146
|
+
def openInputStream(stream)
|
147
|
+
if stream.getByteStream
|
148
|
+
return stream
|
149
|
+
else stream.getSystemId
|
150
|
+
url = URL.new(stream.getSystemId)
|
151
|
+
if url.scheme == 'file' && url.login == 'localhost'
|
152
|
+
s = open(url.urlpath)
|
153
|
+
stream.setByteStream(s)
|
154
|
+
return stream
|
155
|
+
end
|
156
|
+
end
|
157
|
+
return nil
|
158
|
+
end
|
159
|
+
end
|
@@ -0,0 +1,76 @@
|
|
1
|
+
gem 'libxml-ruby', '>=0.8.3'
|
2
|
+
require 'libxml'
|
3
|
+
|
4
|
+
module FeedParser
|
5
|
+
module LibXML
|
6
|
+
class StrictFeedParser
|
7
|
+
attr_reader :handler
|
8
|
+
|
9
|
+
def initialize(baseuri, baselang)
|
10
|
+
@handler = StrictFeedParserHandler.new(baseuri, baselang, 'utf-8')
|
11
|
+
end
|
12
|
+
|
13
|
+
def parse(data)
|
14
|
+
saxparser = LibXML::XML::SaxParser.new
|
15
|
+
saxparser.callbacks = @handler
|
16
|
+
saxparser.string = data
|
17
|
+
saxparser.parse
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
class StrictFeedParserHandler
|
22
|
+
include LibXML::XML::SaxParser::Callbacks
|
23
|
+
include FeedParserMixin
|
24
|
+
|
25
|
+
attr_accessor :bozo, :entries, :feeddata, :exc
|
26
|
+
def initialize(baseuri, baselang, encoding)
|
27
|
+
$stderr.puts "trying LibXML::StrictFeedParser" if $debug
|
28
|
+
startup(baseuri, baselang, encoding)
|
29
|
+
@bozo = false
|
30
|
+
end
|
31
|
+
|
32
|
+
def on_start_element(name, attrs)
|
33
|
+
name =~ /^(([^;]*);)?(.+)$/ # Snag namespaceuri from name
|
34
|
+
namespaceuri = ($2 || '').downcase
|
35
|
+
name = $3
|
36
|
+
if /backend\.userland\.com\/rss/ =~ namespaceuri
|
37
|
+
# match any backend.userland.com namespace
|
38
|
+
namespaceuri = 'http://backend.userland.com/rss'
|
39
|
+
end
|
40
|
+
prefix = @matchnamespaces[namespaceuri]
|
41
|
+
|
42
|
+
if prefix and not prefix.empty?
|
43
|
+
name = prefix + ':' + name
|
44
|
+
end
|
45
|
+
|
46
|
+
name.downcase!
|
47
|
+
unknown_starttag(name, attrs)
|
48
|
+
end
|
49
|
+
|
50
|
+
def on_characters(text)
|
51
|
+
handle_data(text)
|
52
|
+
end
|
53
|
+
|
54
|
+
def on_cdata_block(content)
|
55
|
+
handle_data(content)
|
56
|
+
end
|
57
|
+
|
58
|
+
def on_end_element(name)
|
59
|
+
name =~ /^(([^;]*);)?(.+)$/ # Snag namespaceuri from name
|
60
|
+
namespaceuri = ($2 || '').downcase
|
61
|
+
prefix = @matchnamespaces[namespaceuri]
|
62
|
+
if prefix and not prefix.empty?
|
63
|
+
localname = prefix + ':' + name
|
64
|
+
end
|
65
|
+
name.downcase!
|
66
|
+
unknown_endtag(name)
|
67
|
+
end
|
68
|
+
|
69
|
+
def on_parser_error(exc)
|
70
|
+
@bozo = true
|
71
|
+
@exc = exc
|
72
|
+
raise exc
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
@@ -0,0 +1,75 @@
|
|
1
|
+
module FeedParser
|
2
|
+
class LooseFeedParser < BetterSGMLParser
|
3
|
+
include FeedParserMixin
|
4
|
+
# We write the methods that were in BaseHTMLProcessor in the python code
|
5
|
+
# in here directly. We do this because if we inherited from
|
6
|
+
# BaseHTMLProcessor but then included from FeedParserMixin, the methods
|
7
|
+
# of Mixin would overwrite the methods we inherited from
|
8
|
+
# BaseHTMLProcessor. This is exactly the opposite of what we want to
|
9
|
+
# happen!
|
10
|
+
|
11
|
+
attr_accessor :encoding, :bozo, :feeddata, :entries, :namespacesInUse
|
12
|
+
|
13
|
+
Elements_No_End_Tag = ['area', 'base', 'basefont', 'br', 'col', 'frame', 'hr',
|
14
|
+
'img', 'input', 'isindex', 'link', 'meta', 'param']
|
15
|
+
New_Declname_Re = /[a-zA-Z][-_.a-zA-Z0-9:]*\s*/
|
16
|
+
alias :sgml_feed :feed # feed needs to mapped to feeddata, not the SGMLParser method feed. I think.
|
17
|
+
def feed
|
18
|
+
@feeddata
|
19
|
+
end
|
20
|
+
def feed=(data)
|
21
|
+
@feeddata = data
|
22
|
+
end
|
23
|
+
|
24
|
+
def initialize(baseuri, baselang, encoding)
|
25
|
+
startup(baseuri, baselang, encoding)
|
26
|
+
super() # Keep the parentheses! No touchy.
|
27
|
+
end
|
28
|
+
|
29
|
+
def reset
|
30
|
+
@pieces = []
|
31
|
+
super
|
32
|
+
end
|
33
|
+
|
34
|
+
def parse(data)
|
35
|
+
data.gsub!(/<!((?!DOCTYPE|--|\[))/i, '<!\1')
|
36
|
+
data.gsub!(/<([^<\s]+?)\s*\/>/) do |tag|
|
37
|
+
clean = tag[1..-3].strip
|
38
|
+
if Elements_No_End_Tag.include?clean
|
39
|
+
tag
|
40
|
+
else
|
41
|
+
'<'+clean+'></'+clean+'>'
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
data.gsub!(/'/, "'")
|
46
|
+
data.gsub!(/"/, "'")
|
47
|
+
if @encoding and not @encoding.empty? # FIXME unicode check type(u'')
|
48
|
+
data = uconvert(data,'utf-8',@encoding)
|
49
|
+
end
|
50
|
+
sgml_feed(data) # see the alias above
|
51
|
+
end
|
52
|
+
|
53
|
+
|
54
|
+
def decodeEntities(element, data)
|
55
|
+
data.gsub!('<', '<')
|
56
|
+
data.gsub!('<', '<')
|
57
|
+
data.gsub!('>', '>')
|
58
|
+
data.gsub!('>', '>')
|
59
|
+
data.gsub!('&', '&')
|
60
|
+
data.gsub!('&', '&')
|
61
|
+
data.gsub!('"', '"')
|
62
|
+
data.gsub!('"', '"')
|
63
|
+
data.gsub!(''', ''')
|
64
|
+
data.gsub!(''', ''')
|
65
|
+
if @contentparams.has_key? 'type' and not ((@contentparams['type'] || 'xml') =~ /xml$/u)
|
66
|
+
data.gsub!('<', '<')
|
67
|
+
data.gsub!('>', '>')
|
68
|
+
data.gsub!('&', '&')
|
69
|
+
data.gsub!('"', '"')
|
70
|
+
data.gsub!(''', "'")
|
71
|
+
end
|
72
|
+
return data
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
@@ -58,7 +58,7 @@ module FeedParserUtilities
|
|
58
58
|
ename, eattr = l
|
59
59
|
h.search(ename).each do |elem|
|
60
60
|
euri = elem.attributes[eattr]
|
61
|
-
uri =
|
61
|
+
uri = Addressable::URI.parse(Addressable::URI.encode(euri)) rescue nil
|
62
62
|
if euri and not euri.empty? and uri and uri.relative?
|
63
63
|
elem.raw_attributes[eattr] = urljoin(baseURI, euri)
|
64
64
|
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
class Time
|
2
|
+
class << self
|
3
|
+
COMMON_YEAR_DAYS_IN_MONTH = [nil, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
|
4
|
+
|
5
|
+
def days_in_month(month, year = now.year)
|
6
|
+
return 29 if month == 2 && ::Date.gregorian_leap?(year)
|
7
|
+
COMMON_YEAR_DAYS_IN_MONTH[month]
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
+
|
2
3
|
module FeedParser
|
3
4
|
module FeedParserMixin
|
4
5
|
include FeedParserUtilities
|
@@ -102,6 +103,7 @@ module FeedParserMixin
|
|
102
103
|
@langstack = []
|
103
104
|
@baseuri = baseuri || ''
|
104
105
|
@lang = baselang || nil
|
106
|
+
@has_title = false
|
105
107
|
if baselang
|
106
108
|
@feeddata['language'] = baselang.gsub('_','-')
|
107
109
|
end
|
@@ -136,6 +138,7 @@ module FeedParserMixin
|
|
136
138
|
# if no xml:lang is specified, use parent lang
|
137
139
|
lang = @lang
|
138
140
|
end
|
141
|
+
|
139
142
|
if lang and not lang.empty? # Seriously, this cannot be correct
|
140
143
|
if ['feed', 'rss', 'rdf:RDF'].include?tag
|
141
144
|
@feeddata['language'] = lang.gsub('_','-')
|
@@ -287,7 +290,7 @@ module FeedParserMixin
|
|
287
290
|
# not containing any character or entity references
|
288
291
|
return if @elementstack.nil? or @elementstack.empty?
|
289
292
|
if escape and @contentparams['type'] == 'application/xhtml+xml'
|
290
|
-
text = text.to_xs
|
293
|
+
text = text.to_xs
|
291
294
|
end
|
292
295
|
@elementstack[-1][2] << text
|
293
296
|
end
|
@@ -367,6 +370,7 @@ module FeedParserMixin
|
|
367
370
|
return if @elementstack.nil? or @elementstack.empty?
|
368
371
|
return if @elementstack[-1][0] != element
|
369
372
|
element, expectingText, pieces = @elementstack.pop
|
373
|
+
|
370
374
|
if pieces.class == Array
|
371
375
|
output = pieces.join('')
|
372
376
|
else
|
@@ -386,7 +390,7 @@ module FeedParserMixin
|
|
386
390
|
end
|
387
391
|
|
388
392
|
# resolve relative URIs
|
389
|
-
if @can_be_relative_uri.include?element
|
393
|
+
if @can_be_relative_uri.include?(element) && output && !output.empty?
|
390
394
|
output = resolveURI(output)
|
391
395
|
end
|
392
396
|
|
@@ -400,26 +404,28 @@ module FeedParserMixin
|
|
400
404
|
@contentparams.delete('base64')
|
401
405
|
|
402
406
|
# resolve relative URIs within embedded markup
|
403
|
-
if @html_types.include?mapContentType(@contentparams['type'] || 'text/html')
|
404
|
-
if @can_contain_relative_uris.include?element
|
407
|
+
if @html_types.include?(mapContentType(@contentparams['type'] || 'text/html'))
|
408
|
+
if @can_contain_relative_uris.include?(element)
|
405
409
|
output = FeedParser.resolveRelativeURIs(output, @baseuri, @encoding)
|
406
410
|
end
|
407
411
|
end
|
408
412
|
# sanitize embedded markup
|
409
|
-
if @html_types.include?mapContentType(@contentparams['type'] || 'text/html')
|
410
|
-
if @can_contain_dangerous_markup.include?element
|
413
|
+
if @html_types.include?(mapContentType(@contentparams['type'] || 'text/html'))
|
414
|
+
if @can_contain_dangerous_markup.include?(element)
|
411
415
|
output = FeedParser.sanitizeHTML(output, @encoding)
|
412
416
|
end
|
413
417
|
end
|
414
418
|
|
415
419
|
if @encoding and not @encoding.empty? and @encoding != 'utf-8'
|
416
|
-
output = uconvert(output, @encoding, 'utf-8')
|
420
|
+
output = uconvert(output, @encoding, 'utf-8')
|
417
421
|
# FIXME I turn everything into utf-8, not unicode, originally because REXML was being used but now beause I haven't tested it out yet.
|
418
422
|
end
|
419
423
|
|
420
424
|
# categories/tags/keywords/whatever are handled in _end_category
|
421
425
|
return output if element == 'category'
|
422
426
|
|
427
|
+
return output if element == 'title' and @has_title
|
428
|
+
|
423
429
|
# store output in appropriate place(s)
|
424
430
|
if @inentry and not @insource
|
425
431
|
if element == 'content'
|
@@ -453,6 +459,7 @@ module FeedParserMixin
|
|
453
459
|
context[element + '_detail'] = contentparams
|
454
460
|
end
|
455
461
|
end
|
462
|
+
|
456
463
|
return output
|
457
464
|
end
|
458
465
|
|
@@ -578,6 +585,7 @@ module FeedParserMixin
|
|
578
585
|
|
579
586
|
def _start_image(attrsD)
|
580
587
|
@inimage = true
|
588
|
+
@has_title = false
|
581
589
|
push('image', false)
|
582
590
|
context = getContext()
|
583
591
|
context['image'] ||= FeedParserDict.new
|
@@ -590,6 +598,7 @@ module FeedParserMixin
|
|
590
598
|
|
591
599
|
def _start_textinput(attrsD)
|
592
600
|
@intextinput = true
|
601
|
+
@has_title = false
|
593
602
|
push('textinput', false)
|
594
603
|
context = getContext()
|
595
604
|
context['textinput'] ||= FeedParserDict.new
|
@@ -825,6 +834,7 @@ module FeedParserMixin
|
|
825
834
|
@entries << FeedParserDict.new
|
826
835
|
push('item', false)
|
827
836
|
@inentry = true
|
837
|
+
@has_title = false
|
828
838
|
@guidislink = false
|
829
839
|
id = getAttribute(attrsD, 'rdf:about')
|
830
840
|
if id and not id.empty?
|
@@ -1052,15 +1062,21 @@ module FeedParserMixin
|
|
1052
1062
|
|
1053
1063
|
def _end_title
|
1054
1064
|
value = popContent('title')
|
1055
|
-
context = getContext
|
1065
|
+
context = getContext
|
1056
1066
|
if @intextinput
|
1057
1067
|
context['textinput']['title'] = value
|
1058
1068
|
elsif @inimage
|
1059
1069
|
context['image']['title'] = value
|
1060
1070
|
end
|
1071
|
+
@has_title = true
|
1061
1072
|
end
|
1062
1073
|
alias :_end_dc_title :_end_title
|
1063
|
-
|
1074
|
+
|
1075
|
+
def _end_media_title
|
1076
|
+
orig_has_title = @has_title
|
1077
|
+
_end_title
|
1078
|
+
@has_title = orig_has_title
|
1079
|
+
end
|
1064
1080
|
|
1065
1081
|
def _start_description(attrsD)
|
1066
1082
|
context = getContext()
|
@@ -1179,6 +1195,7 @@ module FeedParserMixin
|
|
1179
1195
|
|
1180
1196
|
def _start_source(attrsD)
|
1181
1197
|
@insource = true
|
1198
|
+
@has_title = false
|
1182
1199
|
end
|
1183
1200
|
|
1184
1201
|
def _end_source
|
@@ -1240,4 +1257,18 @@ module FeedParserMixin
|
|
1240
1257
|
end
|
1241
1258
|
|
1242
1259
|
end # End FeedParserMixin
|
1243
|
-
end
|
1260
|
+
end
|
1261
|
+
|
1262
|
+
def urljoin(base, uri)
|
1263
|
+
urifixer = /^([A-Za-z][A-Za-z0-9+-.]*:\/\/)(\/*)(.*?)/u
|
1264
|
+
uri = uri.sub(urifixer, '\1\3')
|
1265
|
+
pbase = Addressable::URI.parse(base) rescue nil
|
1266
|
+
if pbase && pbase.absolute?
|
1267
|
+
puri = Addressable::URI.parse(uri) rescue nil
|
1268
|
+
if puri && puri.relative?
|
1269
|
+
# ForgivingURI.join does the wrong thing. What the hell.
|
1270
|
+
return Addressable::URI.join(base, uri).to_s.gsub(/[^:]\/{2,}/, '')
|
1271
|
+
end
|
1272
|
+
end
|
1273
|
+
return uri
|
1274
|
+
end
|