In: |
xsd/xmlparser/xmlscanner.rb
|
Parent: | XSD::XMLParser::Parser |
ENTITY_REF_MAP | = | { 'lt' => '<', 'gt' => '>', 'amp' => '&', 'quot' => '"', 'apos' => '\'' |
# File xsd/xmlparser/xmlscanner.rb, line 20 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
# File xsd/xmlparser/xmlscanner.rb, line 123 def on_attr_charref(code) @curattr << [code].pack('U') end
# File xsd/xmlparser/xmlscanner.rb, line 127 def on_attr_charref_hex(code) on_attr_charref(code) end
# File xsd/xmlparser/xmlscanner.rb, line 119 def on_attr_entityref(ref) @curattr << ENTITY_REF_MAP[ref] end
# File xsd/xmlparser/xmlscanner.rb, line 111 def on_attribute(name) @attrs[name] = @curattr = '' end
def on_pi(target, pi); end
# File xsd/xmlparser/xmlscanner.rb, line 81 def on_chardata(str) characters(str) end
# File xsd/xmlparser/xmlscanner.rb, line 91 def on_entityref(ref) characters(ENTITY_REF_MAP[ref]) end
def on_cdata(str); end
# File xsd/xmlparser/xmlscanner.rb, line 87 def on_etag(name) end_element(name) end
def on_end_document; end
# File xsd/xmlparser/xmlscanner.rb, line 107 def on_stag(name) @attrs = {} end
def on_attribute_end(name); end
# File xsd/xmlparser/xmlscanner.rb, line 133 def on_stag_end_empty(name) on_stag_end(name) on_etag(name) end
# File xsd/xmlparser/xmlscanner.rb, line 63 def on_xmldecl_encoding(str) self.scanner_kcode = str end
def on_xmldecl; end
# File xsd/xmlparser/xmlscanner.rb, line 59 def on_xmldecl_version(str) # 1.0 expected. end
# File xsd/xmlparser/xmlscanner.rb, line 28 def scanner_kcode=(charset) @scanner.kcode = ::XSD::Charset.charset_str(charset) if charset self.xmldecl_encoding = charset end