summaryrefslogtreecommitdiff
path: root/lib/rss/xmlparser.rb
diff options
context:
space:
mode:
authorkou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-10-16 04:51:15 +0000
committerkou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-10-16 04:51:15 +0000
commit891ad83098840851fb16f7ec4a664fc664792df0 ()
treee1d33d49cca9875ec515d3ee4ed0dc2686432941 /lib/rss/xmlparser.rb
parent0ebac90b0ebb07ad2aa99080c8509559a7ddc74d (diff)
* lib/rss/: untabified.
* test/rss/: untabified. * lib/rss/0.9.rb (RSS::Rss#to_s): inent -> indent. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7048 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--lib/rss/xmlparser.rb132
1 files changed, 66 insertions, 66 deletions
@@ -1,91 +1,91 @@
begin
- require "xml/parser"
rescue LoadError
- require "xmlparser"
end
begin
- require "xml/encoding-ja"
rescue LoadError
- require "xmlencoding-ja"
- if defined?(Kconv)
- module XMLEncoding_ja
- class SJISHandler
- include Kconv
- end
- end
- end
end
module XML
- class Parser
- unless defined?(Error)
- Error = ::XMLParserError
- end
- end
end
module RSS
-
- class REXMLLikeXMLParser < ::XML::Parser
-
- include ::XML::Encoding_ja
- def listener=(listener)
- @listener = listener
- end
- def startElement(name, attrs)
- @listener.tag_start(name, attrs)
- end
-
- def endElement(name)
- @listener.tag_end(name)
- end
- def character(data)
- @listener.text(data)
- end
- def xmlDecl(version, encoding, standalone)
- @listener.xmldecl(version, encoding, standalone == 1)
- end
- def processingInstruction(target, content)
- @listener.instruction(target, content)
- end
- end
- class XMLParserParser < BaseParser
- private
- def listener
- XMLParserListener
- end
- def _parse
- begin
- parser = REXMLLikeXMLParser.new
- parser.listener = @listener
- parser.parse(@rss)
- rescue ::XML::Parser::Error => e
- raise NotWellFormedError.new(parser.line){e.message}
- end
- end
-
- end
-
- class XMLParserListener < BaseListener
- include ListenerMixin
-
- def xmldecl(version, encoding, standalone)
- super
- # Encoding is converted to UTF-8 when XMLParser parses XML.
- @encoding = 'UTF-8'
- end
- end
end