In Files

  • xsd/xmlparser/xmlscanner.rb

Class/Module Index [+]

Quicksearch

XSD::XMLParser::XMLScanner

Constants

ENTITY_REF_MAP

Public Instance Methods

do_parse(string_or_readable) click to toggle source
 
               # 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
            
on_attr_charref(code) click to toggle source
 
               # File xsd/xmlparser/xmlscanner.rb, line 123
def on_attr_charref(code)
  @curattr << [code].pack('U')
end
            
on_attr_charref_hex(code) click to toggle source
 
               # File xsd/xmlparser/xmlscanner.rb, line 127
def on_attr_charref_hex(code)
  on_attr_charref(code)
end
            
on_attr_entityref(ref) click to toggle source
 
               # File xsd/xmlparser/xmlscanner.rb, line 119
def on_attr_entityref(ref)
  @curattr << ENTITY_REF_MAP[ref]
end
            
on_attr_value(str) click to toggle source
 
               # File xsd/xmlparser/xmlscanner.rb, line 115
def on_attr_value(str)
  @curattr << str
end
            
on_attribute(name) click to toggle source
 
               # File xsd/xmlparser/xmlscanner.rb, line 111
def on_attribute(name)
  @attrs[name] = @curattr = ''
end
            
on_chardata(str) click to toggle source

def on_pi(target, pi); end

 
               # File xsd/xmlparser/xmlscanner.rb, line 81
def on_chardata(str)
  characters(str)
end
            
on_charref(code) click to toggle source
 
               # File xsd/xmlparser/xmlscanner.rb, line 95
def on_charref(code)
  characters([code].pack('U'))
end
            
on_charref_hex(code) click to toggle source
 
               # File xsd/xmlparser/xmlscanner.rb, line 99
def on_charref_hex(code)
  on_charref(code)
end
            
on_entityref(ref) click to toggle source
 
               # File xsd/xmlparser/xmlscanner.rb, line 91
def on_entityref(ref)
  characters(ENTITY_REF_MAP[ref])
end
            
on_etag(name) click to toggle source

def on_cdata(str); end

 
               # File xsd/xmlparser/xmlscanner.rb, line 87
def on_etag(name)
  end_element(name)
end
            
on_stag(name) click to toggle source

def on_end_document; end

 
               # File xsd/xmlparser/xmlscanner.rb, line 107
def on_stag(name)
  @attrs = {}
end
            
on_stag_end(name) click to toggle source
 
               # File xsd/xmlparser/xmlscanner.rb, line 138
def on_stag_end(name)
  start_element(name, @attrs)
end
            
on_stag_end_empty(name) click to toggle source

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
            
on_xmldecl_encoding(str) click to toggle source
 
               # File xsd/xmlparser/xmlscanner.rb, line 63
def on_xmldecl_encoding(str)
  self.scanner_kcode = str
end
            
on_xmldecl_version(str) click to toggle source

def on_xmldecl; end

 
               # File xsd/xmlparser/xmlscanner.rb, line 59
def on_xmldecl_version(str)
  # 1.0 expected.
end
            
parse_error(msg) click to toggle source
 
               # File xsd/xmlparser/xmlscanner.rb, line 41
def parse_error(msg)
  raise ParseError.new(msg)
end
            
scanner_kcode=(charset) click to toggle source
 
               # 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
            
valid_error(msg) click to toggle source
 
               # File xsd/xmlparser/xmlscanner.rb, line 49
def valid_error(msg)
  raise NotValidError.new(msg)
end
            
warning(msg) click to toggle source
 
               # File xsd/xmlparser/xmlscanner.rb, line 53
def warning(msg)
  p msg if $DEBUG
end
            
wellformed_error(msg) click to toggle source
 
               # File xsd/xmlparser/xmlscanner.rb, line 45
def wellformed_error(msg)
  raise NotWellFormedError.new(msg)
end