Class: Meteor::Ml::Xhtml4::ParserImpl

Inherits:
Core::Kernel show all
Defined in:
lib/meteor/ml/xhtml4/parser_impl.rb

Overview

XHTML4 parser (XHTML4パーサ)

Direct Known Subclasses

Meteor::Ml::Xhtml::ParserImpl

Constant Summary collapse

KAIGYO_CODE =

KAIGYO_CODE = "\r?\n|\r"

["\r\n", "\n", "\r"].freeze
BR =
'<br/>'
BR_RE =
'<br\\/>'
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].freeze
ATTR_BOOL =

[Array] boolean attributes (論理値で指定する属性)

%w[disabled readonly checked selected multiple].freeze
DISABLE_ELEMENT =

DISABLE_ELEMENT = "input|textarea|select|optgroup" [Array] element with disablled 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="[^"]*"$'
SELECTED_M1 =
'\\sselected="([^"]*)"\\s|\\sselected="([^"]*)"$'
SELECTED_R =
'selected="[^"]*"'
SELECTED_U =
'selected="selected"'
CHECKED_M =
'\\schecked="[^"]*"\\s|\\schecked="[^"]*"$'
CHECKED_M1 =
'\\schecked="([^"]*)"\\s|\\schecked="([^"]*)"$'
CHECKED_R =
'checked="[^"]*"'
CHECKED_U =
'checked="checked"'
DISABLED_M =
'\\sdisabled="[^"]*"\\s|\\sdisabled="[^"]*"$'
DISABLED_M1 =
'\\sdisabled="([^"]*)"\\s|\\sdisabled="([^"]*)"$'
DISABLED_R =
'disabled="[^"]*"'
DISABLED_U =
'disabled="disabled"'
READONLY_M =
'\\sreadonly="[^"]*"\\s|\\sreadonly="[^"]*"$'
READONLY_M1 =
'\\sreadonly="([^"]*)"\\s|\\sreadonly="([^"]*)"$'
READONLY_R =
'readonly="[^"]*"'
READONLY_U =
'readonly="readonly"'
MULTIPLE_M =
'\\smultiple="[^"]*"\\s|\\smultiple="[^"]*"$'
MULTIPLE_M1 =
'\\smultiple="([^"]*)"\\s|\\smultiple="([^"]*)"$'
MULTIPLE_R =
'multiple="[^"]*"'
MULTIPLE_U =
'multiple="multiple"'
RE_SELECTED_M =
Regexp.new(SELECTED_M)
RE_SELECTED_M1 =
Regexp.new(SELECTED_M1)
RE_SELECTED_R =
Regexp.new(SELECTED_R)
RE_CHECKED_M =
Regexp.new(CHECKED_M)
RE_CHECKED_M1 =
Regexp.new(CHECKED_M1)
RE_CHECKED_R =
Regexp.new(CHECKED_R)
RE_DISABLED_M =
Regexp.new(DISABLED_M)
RE_DISABLED_M1 =
Regexp.new(DISABLED_M1)
RE_DISABLED_R =
Regexp.new(DISABLED_R)
RE_READONLY_M =
Regexp.new(READONLY_M)
RE_READONLY_M1 =
Regexp.new(READONLY_M1)
RE_READONLY_R =
Regexp.new(READONLY_R)
RE_MULTIPLE_M =
Regexp.new(MULTIPLE_M)
RE_MULTIPLE_M1 =
Regexp.new(MULTIPLE_M1)
RE_MULTIPLE_R =
Regexp.new(MULTIPLE_R)

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::RE_BR_TWO, Core::Kernel::RE_CLEAN_ONE, Core::Kernel::RE_CLEAN_TWO, Core::Kernel::RE_ESCAPE, Core::Kernel::RE_ESCAPE_CONTENT, Core::Kernel::RE_FIND_FIVE, Core::Kernel::RE_FIND_FOUR, Core::Kernel::RE_FIND_ONE, Core::Kernel::RE_FIND_THREE_ONE, Core::Kernel::RE_FIND_THREE_THREE, Core::Kernel::RE_FIND_THREE_TWO, Core::Kernel::RE_FIND_TWO_ONE, Core::Kernel::RE_FIND_TWO_THREE, Core::Kernel::RE_FIND_TWO_TWO, Core::Kernel::RE_GET_ATTRS_MAP, Core::Kernel::RE_NON_NEST, Core::Kernel::RE_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

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

#initializeParserImpl #initialize(ps) ⇒ ParserImpl

initializer (イニシャライザ)

Overloads:



76
77
78
79
80
81
82
83
84
85
86
87
# File 'lib/meteor/ml/xhtml4/parser_impl.rb', line 76

def initialize(*args)
  super()
  @doc_type = Parser::XHTML4
  case args.length
  when ZERO
    # initialize_zero
  when ONE
    initialize_one(args[0])
  else
    raise ArgumentError
  end
end

Instance Method Details

#content_typeString

get content type (コンテントタイプを取得する)

Returns:

  • (String)

    content type (コンテントタイプ)



135
136
137
# File 'lib/meteor/ml/xhtml4/parser_impl.rb', line 135

def content_type
  @root.content_type
end