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