summaryrefslogtreecommitdiff
path: root/ruby_1_8_5/lib/xsd/xmlparser
diff options
context:
space:
mode:
authorshyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-08-15 20:57:30 +0000
committershyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-08-15 20:57:30 +0000
commit54ec1c4fe81672ca66f327ef6ae170f458cd79e5 (patch)
tree45a752c60a9a08d681a792b70f43c89903b638a2 /ruby_1_8_5/lib/xsd/xmlparser
parentd464704f111d211c1f1ff9ef23ef1d755054be00 (diff)
sorry. I made wrong tags.v1_8_5_54
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_8_5_54@13009 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby_1_8_5/lib/xsd/xmlparser')
-rw-r--r--ruby_1_8_5/lib/xsd/xmlparser/parser.rb96
-rw-r--r--ruby_1_8_5/lib/xsd/xmlparser/rexmlparser.rb54
-rw-r--r--ruby_1_8_5/lib/xsd/xmlparser/xmlparser.rb50
-rw-r--r--ruby_1_8_5/lib/xsd/xmlparser/xmlscanner.rb147
4 files changed, 0 insertions, 347 deletions
diff --git a/ruby_1_8_5/lib/xsd/xmlparser/parser.rb b/ruby_1_8_5/lib/xsd/xmlparser/parser.rb
deleted file mode 100644
index ad01d55aa0..0000000000
--- a/ruby_1_8_5/lib/xsd/xmlparser/parser.rb
+++ /dev/null
@@ -1,96 +0,0 @@
-# XSD4R - XML Instance parser library.
-# Copyright (C) 2002, 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
-
-# This program is copyrighted free software by NAKAMURA, Hiroshi. You can
-# redistribute it and/or modify it under the same terms of Ruby's license;
-# either the dual license version in 2003, or any later version.
-
-
-require 'xsd/qname'
-require 'xsd/ns'
-require 'xsd/charset'
-
-
-module XSD
-module XMLParser
-
-
-class Parser
- class ParseError < Error; end
- class FormatDecodeError < ParseError; end
- class UnknownElementError < FormatDecodeError; end
- class UnknownAttributeError < FormatDecodeError; end
- class UnexpectedElementError < FormatDecodeError; end
- class ElementConstraintError < FormatDecodeError; end
-
- @@parser_factory = nil
-
- def self.factory
- @@parser_factory
- end
-
- def self.create_parser(host, opt = {})
- @@parser_factory.new(host, opt)
- end
-
- def self.add_factory(factory)
- if $DEBUG
- puts "Set #{ factory } as XML processor."
- end
- @@parser_factory = factory
- end
-
-public
-
- attr_accessor :charset
-
- def initialize(host, opt = {})
- @host = host
- @charset = opt[:charset] || nil
- end
-
- def parse(string_or_readable)
- @textbuf = ''
- prologue
- do_parse(string_or_readable)
- epilogue
- end
-
-private
-
- def do_parse(string_or_readable)
- raise NotImplementError.new(
- 'Method do_parse must be defined in derived class.')
- end
-
- def start_element(name, attrs)
- @host.start_element(name, attrs)
- end
-
- def characters(text)
- @host.characters(text)
- end
-
- def end_element(name)
- @host.end_element(name)
- end
-
- def prologue
- end
-
- def epilogue
- end
-
- def xmldecl_encoding=(charset)
- if @charset.nil?
- @charset = charset
- else
- # Definition in a stream (like HTTP) has a priority.
- p "encoding definition: #{ charset } is ignored." if $DEBUG
- end
- end
-end
-
-
-end
-end
diff --git a/ruby_1_8_5/lib/xsd/xmlparser/rexmlparser.rb b/ruby_1_8_5/lib/xsd/xmlparser/rexmlparser.rb
deleted file mode 100644
index 61da9aafc7..0000000000
--- a/ruby_1_8_5/lib/xsd/xmlparser/rexmlparser.rb
+++ /dev/null
@@ -1,54 +0,0 @@
-# XSD4R - REXMLParser XML parser library.
-# Copyright (C) 2002, 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
-
-# This program is copyrighted free software by NAKAMURA, Hiroshi. You can
-# redistribute it and/or modify it under the same terms of Ruby's license;
-# either the dual license version in 2003, or any later version.
-
-
-require 'xsd/xmlparser'
-require 'rexml/streamlistener'
-require 'rexml/document'
-
-
-module XSD
-module XMLParser
-
-
-class REXMLParser < XSD::XMLParser::Parser
- include REXML::StreamListener
-
- def do_parse(string_or_readable)
- source = nil
- source = REXML::SourceFactory.create_from(string_or_readable)
- source.encoding = charset if charset
- # Listener passes a String in utf-8.
- @charset = 'utf-8'
- REXML::Document.parse_stream(source, self)
- end
-
- def epilogue
- end
-
- def tag_start(name, attrs)
- start_element(name, attrs)
- end
-
- def tag_end(name)
- end_element(name)
- end
-
- def text(text)
- characters(text)
- end
-
- def xmldecl(version, encoding, standalone)
- # Version should be checked.
- end
-
- add_factory(self)
-end
-
-
-end
-end
diff --git a/ruby_1_8_5/lib/xsd/xmlparser/xmlparser.rb b/ruby_1_8_5/lib/xsd/xmlparser/xmlparser.rb
deleted file mode 100644
index 6db914cd37..0000000000
--- a/ruby_1_8_5/lib/xsd/xmlparser/xmlparser.rb
+++ /dev/null
@@ -1,50 +0,0 @@
-# XSD4R - XMLParser XML parser library.
-# Copyright (C) 2001, 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
-
-# This program is copyrighted free software by NAKAMURA, Hiroshi. You can
-# redistribute it and/or modify it under the same terms of Ruby's license;
-# either the dual license version in 2003, or any later version.
-
-
-require 'xsd/xmlparser'
-require 'xml/parser'
-
-
-module XSD
-module XMLParser
-
-
-class XMLParser < XSD::XMLParser::Parser
- class Listener < XML::Parser
- begin
- require 'xml/encoding-ja'
- include XML::Encoding_ja
- rescue LoadError
- # uconv may not be installed.
- end
- end
-
- def do_parse(string_or_readable)
- # XMLParser passes a String in utf-8.
- @charset = 'utf-8'
- @parser = Listener.new
- @parser.parse(string_or_readable) do |type, name, data|
- case type
- when XML::Parser::START_ELEM
- start_element(name, data)
- when XML::Parser::END_ELEM
- end_element(name)
- when XML::Parser::CDATA
- characters(data)
- else
- raise FormatDecodeError.new("Unexpected XML: #{ type }/#{ name }/#{ data }.")
- end
- end
- end
-
- add_factory(self)
-end
-
-
-end
-end
diff --git a/ruby_1_8_5/lib/xsd/xmlparser/xmlscanner.rb b/ruby_1_8_5/lib/xsd/xmlparser/xmlscanner.rb
deleted file mode 100644
index c80dc23910..0000000000
--- a/ruby_1_8_5/lib/xsd/xmlparser/xmlscanner.rb
+++ /dev/null
@@ -1,147 +0,0 @@
-# XSD4R - XMLScan XML parser library.
-# Copyright (C) 2002, 2003, 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
-
-# This program is copyrighted free software by NAKAMURA, Hiroshi. You can
-# redistribute it and/or modify it under the same terms of Ruby's license;
-# either the dual license version in 2003, or any later version.
-
-
-require 'xsd/xmlparser'
-require 'xmlscan/scanner'
-
-
-module XSD
-module XMLParser
-
-
-class XMLScanner < XSD::XMLParser::Parser
- include XMLScan::Visitor
-
- def do_parse(string_or_readable)
- @attrs = {}
- @curattr = nil
- @scanner = XMLScan::XMLScanner.new(self)
- @scanner.kcode = XSD::Charset.charset_str(charset) if charset
- @scanner.parse(string_or_readable)
- end
-
- def scanner_kcode=(charset)
- @scanner.kcode = XSD::Charset.charset_str(charset) if charset
- self.xmldecl_encoding = charset
- end
-
- ENTITY_REF_MAP = {
- 'lt' => '<',
- 'gt' => '>',
- 'amp' => '&',
- 'quot' => '"',
- 'apos' => '\''
- }
-
- def parse_error(msg)
- raise ParseError.new(msg)
- end
-
- def wellformed_error(msg)
- raise NotWellFormedError.new(msg)
- end
-
- def valid_error(msg)
- raise NotValidError.new(msg)
- end
-
- def warning(msg)
- p msg if $DEBUG
- end
-
- # def on_xmldecl; end
-
- def on_xmldecl_version(str)
- # 1.0 expected.
- end
-
- def on_xmldecl_encoding(str)
- self.scanner_kcode = str
- end
-
- # def on_xmldecl_standalone(str); end
-
- # def on_xmldecl_other(name, value); end
-
- # def on_xmldecl_end; end
-
- # def on_doctype(root, pubid, sysid); end
-
- # def on_prolog_space(str); end
-
- # def on_comment(str); end
-
- # def on_pi(target, pi); end
-
- def on_chardata(str)
- characters(str)
- end
-
- # def on_cdata(str); end
-
- def on_etag(name)
- end_element(name)
- end
-
- def on_entityref(ref)
- characters(ENTITY_REF_MAP[ref])
- end
-
- def on_charref(code)
- characters([code].pack('U'))
- end
-
- def on_charref_hex(code)
- on_charref(code)
- end
-
- # def on_start_document; end
-
- # def on_end_document; end
-
- def on_stag(name)
- @attrs = {}
- end
-
- def on_attribute(name)
- @attrs[name] = @curattr = ''
- end
-
- def on_attr_value(str)
- @curattr << str
- end
-
- def on_attr_entityref(ref)
- @curattr << ENTITY_REF_MAP[ref]
- end
-
- def on_attr_charref(code)
- @curattr << [code].pack('U')
- end
-
- def on_attr_charref_hex(code)
- on_attr_charref(code)
- end
-
- # def on_attribute_end(name); end
-
- def on_stag_end_empty(name)
- on_stag_end(name)
- on_etag(name)
- end
-
- def on_stag_end(name)
- start_element(name, @attrs)
- end
-
- add_factory(self)
-end
-
-
-end
-end