Class: Nokogiri::HTML4::EncodingReader::SAXHandler
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
- .new ⇒ SAXHandler constructor
Instance Attribute Summary
- #encoding readonly
Instance Method Summary
::Nokogiri::XML::SAX::Document
- Inherited
#cdata_block | Called when cdata blocks are found [Parameters] - |
#characters | Called when character data is parsed, and for parsed entities when |
#comment | Called when comments are encountered [Parameters] - |
#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] - |
#processing_instruction | Called when processing instructions are found [Parameters] - |
#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] - |
#xmldecl | Called when an XML declaration is parsed. |
Constructor Details
.new ⇒ SAXHandler
# 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