123456789_123456789_123456789_123456789_123456789_

Class: Nokogiri::HTML4::EncodingReader::SAXHandler

Do not use. This class is for internal use only.
Relationships & Source Files
Extension / Inclusion / Inheritance Descendants
Subclasses:
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
Instance Chain:
Inherits: Nokogiri::XML::SAX::Document
Defined in: lib/nokogiri/html4/encoding_reader.rb

Class Method Summary

Instance Attribute Summary

Instance Method Summary

::Nokogiri::XML::SAX::Document - Inherited

#cdata_block

Called when cdata blocks are found [Parameters] - string contains the cdata content.

#characters

Called when character data is parsed, and for parsed entities when ParserContext#replace_entities is true.

#comment

Called when comments are encountered [Parameters] - string contains the comment data.

#end_document

Called when document ends parsing.

#end_element

Called at the end of an element.

#end_element_namespace

Called at the end of an element.

#error

Called on document errors [Parameters] - string contains the error.

#processing_instruction

Called when processing instructions are found [Parameters] - name is the target of the instruction - content is the value of the instruction.

#reference

Called when a parsed entity is referenced and not replaced.

#start_document

Called when document starts parsing.

#start_element

Called at the beginning of an element.

#start_element_namespace

Called at the beginning of an element.

#warning

Called on document warnings [Parameters] - string contains the warning.

#xmldecl

Called when an XML declaration is parsed.

Constructor Details

.newSAXHandler

[ GitHub ]

  
# File 'lib/nokogiri/html4/encoding_reader.rb', line 27

def initialize
  @encoding = nil
  super
end

Instance Attribute Details

#encoding (readonly)

[ GitHub ]

  
# File 'lib/nokogiri/html4/encoding_reader.rb', line 25

attr_reader :encoding

Instance Method Details

#start_element(name, attrs = [])

[ GitHub ]

  
# File 'lib/nokogiri/html4/encoding_reader.rb', line 32

def start_element(name, attrs = [])
  return unless name == "meta"

  attr = Hash[attrs]
  (charset = attr["charset"]) &&
    (@encoding = charset)
  (http_equiv = attr["http-equiv"]) &&
    http_equiv.match(/\AContent-Type\z/i) &&
    (content = attr["content"]) &&
    (m = content.match(/;\s*charset\s*=\s*([\w-]+)/)) &&
    (@encoding = m[1])
end