Class: Nokogiri::HTML::Document::EncodingReader::SAXHandler
- Inherits:
-
XML::SAX::Document
- Object
- XML::SAX::Document
- Nokogiri::HTML::Document::EncodingReader::SAXHandler
- Defined in:
- lib/nokogiri/html/document.rb
Overview
:nodoc:
Direct Known Subclasses
Instance Attribute Summary collapse
-
#encoding ⇒ Object
readonly
Returns the value of attribute encoding.
Instance Method Summary collapse
-
#initialize ⇒ SAXHandler
constructor
A new instance of SAXHandler.
- #start_element(name, attrs = []) ⇒ Object
Methods inherited from XML::SAX::Document
#cdata_block, #characters, #comment, #end_document, #end_element, #end_element_namespace, #error, #processing_instruction, #start_document, #start_element_namespace, #warning, #xmldecl
Constructor Details
#initialize ⇒ SAXHandler
Returns a new instance of SAXHandler.
222 223 224 225 |
# File 'lib/nokogiri/html/document.rb', line 222 def initialize @encoding = nil super() end |
Instance Attribute Details
#encoding ⇒ Object (readonly)
Returns the value of attribute encoding.
220 221 222 |
# File 'lib/nokogiri/html/document.rb', line 220 def encoding @encoding end |
Instance Method Details
#start_element(name, attrs = []) ⇒ Object
227 228 229 230 231 232 233 234 235 236 237 |
# File 'lib/nokogiri/html/document.rb', line 227 def start_element(name, attrs = []) return unless name == 'meta' attr = Hash[attrs] charset = attr['charset'] and @encoding = charset http_equiv = attr['http-equiv'] and http_equiv.match(/\AContent-Type\z/i) and content = attr['content'] and m = content.match(/;\s*charset\s*=\s*([\w-]+)/) and @encoding = m[1] end |