Class: Meteor::Ml::Html4::ParserImpl
- Inherits:
-
Core::Kernel
- Object
- Parser
- Core::Kernel
- Meteor::Ml::Html4::ParserImpl
- Defined in:
- lib/meteor/ml/html4/parser_impl.rb
Overview
HTML4 parser (HTMLパーサ)
Direct Known Subclasses
Constant Summary collapse
- KAIGYO_CODE =
KAIGYO_CODE = "\r?\n|\r" KAIGYO_CODE = "\r\n|\n|\r"
["\r\n", "\n", "\r"].freeze
- BR =
'<br>'- BR_RE =
BR- DISABLE_ELEMENT =
DISABLE_ELEMENT = "input|textarea|select|optgroup" [Array] elements with the disabled attribute (disabled属性のある要素)
%w[input textarea select optgroup].freeze
- READONLY_TYPE =
READONLY_TYPE = "text|password" [Array] the type of an input element with a readonly attribute (readonly属性のあるinput要素のタイプ)
%w[text password].freeze
- SELECTED_M =
'\\sselected\\s|\\sselected$|\\sSELECTED\\s|\\sSELECTED$'- SELECTED_R =
SELECTED_M = [' selected ',' selected',' SELECTED ',' SELECTED']
'selected\\s|selected$|SELECTED\\s|SELECTED$'- CHECKED_M =
'\\schecked\\s|\\schecked$|\\sCHECKED\\s|\\sCHECKED$'- CHECKED_R =
CHECKED_M = [' checked ',' checked',' CHECKED ',' CHECKED']
'checked\\s|checked$|CHECKED\\s|CHECKED$'- DISABLED_M =
'\\sdisabled\\s|\\sdisabled$|\\sDISABLED\\s|\\sDISABLED$'- DISABLED_R =
DISABLED_M = [' disabled ',' disiabled',' DISABLED ',' DISABLED']
'disabled\\s|disabled$|DISABLED\\s|DISABLED$'- READONLY_M =
'\\sreadonly\\s|\\sreadonly$|\\sREADONLY\\s|\\sREADONLY$'- READONLY_R =
READONLY_M = [' readonly ',' readonly',' READONLY ',' READONLY']
'readonly\\s|readonly$|READONLY\\s|READONLY$'- MULTIPLE_M =
'\\smultiple\\s|\\smultiple$|\\sMULTIPLE\\s|\\sMULTIPLE$'- MULTIPLE_R =
MULTIPLE_M = [' multiple ',' multiple',' MULTIPLE ',' MULTIPLE']
'multiple\\s|multiple$|MULTIPLE\\s|MULTIPLE$'- GET_ATTRS_MAP2 =
@@pattern_true = Regexp.new("true") @@pattern_false = Regexp.new("false")
'\\s(disabled|readonly|checked|selected|multiple)'- @@match_tag =
@@match_tag = "br|hr|img|input|meta|base" [Array] void elemets (空要素)
%w[br hr img input meta base]
- @@match_tag_two =
@@match_tag_two = "textarea|option|pre" [Array] elements where line breaks do not need to be converted to
(改行を
に変換する必要のない要素) %w[textarea option pre]
- @@match_tag_nne =
[Array] non-nestable elements (入れ子にできない要素)
%w[texarea select option form fieldset]
- @@attr_bool =
[Array] boolean attributes (論理値で指定する属性)
%w[disabled readonly checked selected multiple]
- @@pattern_selected_m =
Regexp.new(SELECTED_M)
- @@pattern_selected_r =
Regexp.new(SELECTED_R)
- @@pattern_checked_m =
Regexp.new(CHECKED_M)
- @@pattern_checked_r =
Regexp.new(CHECKED_R)
- @@pattern_disabled_m =
Regexp.new(DISABLED_M)
- @@pattern_disabled_r =
Regexp.new(DISABLED_R)
- @@pattern_readonly_m =
Regexp.new(READONLY_M)
- @@pattern_readonly_r =
Regexp.new(READONLY_R)
- @@pattern_multiple_m =
Regexp.new(MULTIPLE_M)
- @@pattern_multiple_r =
Regexp.new(MULTIPLE_R)
- @@pattern_get_attrs_map2 =
Regexp.new(GET_ATTRS_MAP2)
Constants inherited from Core::Kernel
Core::Kernel::PATTERN_ESCAPE, Core::Kernel::PATTERN_ESCAPE_CONTENT, Core::Kernel::PATTERN_FIND_five, Core::Kernel::PATTERN_FIND_four, Core::Kernel::PATTERN_FIND_one, Core::Kernel::PATTERN_FIND_three_one, Core::Kernel::PATTERN_FIND_three_three, Core::Kernel::PATTERN_FIND_three_two, Core::Kernel::PATTERN_FIND_two_one, Core::Kernel::PATTERN_FIND_two_three, Core::Kernel::PATTERN_FIND_two_two, Core::Kernel::PATTERN_UNESCAPE, Core::Kernel::TABLE_FOR_ESCAPE_, Core::Kernel::TABLE_FOR_ESCAPE_CONTENT_
Constants inherited from Parser
Parser::HTML, Parser::HTML4, Parser::XHTML, Parser::XHTML4, Parser::XML
Instance Attribute Summary
Attributes inherited from Core::Kernel
#doc_type, #document_hook, #element_cache, #element_hook
Instance Method Summary collapse
-
#content_type ⇒ String
get content type (コンテントタイプを取得する).
-
#initialize(*args) ⇒ ParserImpl
constructor
initializer (イニシャライザ).
Methods inherited from Core::Kernel
#attr, #attr_map, #attrs, #content, #cxtag, #document, #document=, #element, #elements, #elements_, #enc, #enc=, #find, #flash, #read, #remove_attr, #remove_element, #root_element, #shadow
Constructor Details
#initialize ⇒ ParserImpl #initialize(ps) ⇒ ParserImpl
initializer (イニシャライザ)
80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/meteor/ml/html4/parser_impl.rb', line 80 def initialize(*args) super() @doc_type = Parser::HTML4 case args.length when ZERO # initialize_zero when ONE initialize_one(args[0]) else raise ArgumentError end end |
Instance Method Details
#content_type ⇒ String
get content type (コンテントタイプを取得する)
140 141 142 |
# File 'lib/meteor/ml/html4/parser_impl.rb', line 140 def content_type @root.content_type end |