Class: Meteor::Core::Kernel

Inherits:
Parser
  • Object
show all
Defined in:
lib/meteor.rb

Overview

パーサコアクラス

Constant Summary collapse

EMPTY =
''
SPACE =
' '
DOUBLE_QUATATION =
'"'
TAG_OPEN =
'<'
TAG_OPEN3 =
'</'
TAG_CLOSE =

TAG_OPEN4 = ‘<\\/’

'>'
TAG_CLOSE3 =

TAG_CLOSE2 = ‘\/>’

'/>'
ATTR_EQ =
'="'
TAG_SEARCH_1_1 =

element TAG_SEARCH_1_1 = “([^<>]*)>(((?!(<\/”

'(\\s?[^<>]*)>(((?!('
TAG_SEARCH_1_2 =

TAG_SEARCH_1_2 = “)).)*)<\/”;

'[^<>]*>)).)*)<\\/'
TAG_SEARCH_1_3 =
'(\\s?[^<>]*)\\/>'
TAG_SEARCH_1_4 =

TAG_SEARCH_1_4 = “([^<>\/]*)>”

'(\\s[^<>\\/]*>|((?!([^<>]*\\/>))[^<>]*>))'
TAG_SEARCH_1_4_2 =
'(\\s[^<>]*)>'
TAG_SEARCH_NC_1_1 =
'\\s?[^<>]*>((?!('
TAG_SEARCH_NC_1_2 =
'[^<>]*>)).)*<\\/'
TAG_SEARCH_NC_1_3 =
'\\s?[^<>]*\\/>'
TAG_SEARCH_NC_1_4 =
'(?:\\s[^<>\\/]*>|((?!([^<>]*\\/>))[^<>]*>))'
TAG_SEARCH_NC_1_4_2 =
'\\s[^<>]*>'
TAG_SEARCH_2_1 =

TAG_SEARCH_2_1 = “\s(*”

'(\\s[^<>]*'
TAG_SEARCH_2_1_2 =
'(\\s[^<>]*(?:'
TAG_SEARCH_2_2 =

TAG_SEARCH_2_2 = “"[^<>]*)>(((?!(<\/”

'"[^<>]*)>(((?!('
TAG_SEARCH_2_2_2 =
'")[^<>]*)>(((?!('
TAG_SEARCH_2_3 =
'"[^<>]*)'
TAG_SEARCH_2_3_2 =
'"[^<>]*)\\/>'
TAG_SEARCH_2_3_2_2 =
'")[^<>]*)\\/>'
TAG_SEARCH_2_4 =

TAG_SEARCH_2_4 = “"[^<>\/]*>”

'(?:[^<>\\/]*>|((?!([^<>]*\\/>))[^<>]*>))'
TAG_SEARCH_2_4_2 =

TAG_SEARCH_2_4_2 = “"[^<>\/]*)>”

'(?:[^<>\\/]*>|(?:(?!([^<>]*\\/>))[^<>]*>)))'
TAG_SEARCH_2_4_2_2 =
'")([^<>\\/]*>|((?!([^<>]*\\/>))[^<>]*>)))'
TAG_SEARCH_2_4_2_3 =
'"'
TAG_SEARCH_2_4_3 =
'"[^<>]*)>'
TAG_SEARCH_2_4_3_2 =
'")[^<>]*)>'
TAG_SEARCH_2_4_4 =
'"[^<>]*>'
TAG_SEARCH_2_6 =
'"[^<>]*'
TAG_SEARCH_2_7 =
'"|'
TAG_SEARCH_NC_2_1 =
'\\s[^<>]*'
TAG_SEARCH_NC_2_1_2 =
'\\s[^<>]*(?:'
TAG_SEARCH_NC_2_2 =
'"[^<>]*>((?!('
TAG_SEARCH_NC_2_2_2 =
'")[^<>]*>((?!('
TAG_SEARCH_NC_2_3 =
'"[^<>]*)'
TAG_SEARCH_NC_2_3_2 =
'"[^<>]*\\/>'
TAG_SEARCH_NC_2_3_2_2 =
'")[^<>]*\\/>'
TAG_SEARCH_NC_2_4 =
'(?:[^<>\\/]*>|((?!([^<>]*\\/>))[^<>]*>))'
TAG_SEARCH_NC_2_4_2 =
'(?:[^<>\\/]*>|((?!([^<>]*\\/>))[^<>]*>))'
TAG_SEARCH_NC_2_4_2_2 =
'")(?:[^<>\\/]*>|((?!([^<>]*\\/>))[^<>]*>))'
TAG_SEARCH_NC_2_4_2_3 =
'"'
TAG_SEARCH_NC_2_4_3 =
'"[^<>]*>'
TAG_SEARCH_NC_2_4_3_2 =
'")[^<>]*>'
TAG_SEARCH_NC_2_4_4 =
'"[^<>]*>'
TAG_SEARCH_NC_2_6 =
'"[^<>]*'
TAG_SEARCH_NC_2_7 =
'"|'
TAG_SEARCH_3_1 =
'<([^<>"]*)\\s[^<>]*'
TAG_SEARCH_3_1_2 =
'<([^<>"]*)\\s([^<>]*'
TAG_SEARCH_3_1_2_2 =
'<([^<>"]*)\\s([^<>]*('
TAG_SEARCH_3_2 =
'"[^<>]*\\/>'
TAG_SEARCH_3_2_2 =
'"[^<>]*)\\/>'
TAG_SEARCH_3_2_2_2 =
'")[^<>]*)\\/>'
TAG_SEARCH_4_1 =
'(\\s[^<>\\/]*)>('
TAG_SEARCH_4_2 =
'.*?<'
TAG_SEARCH_4_3 =

TAG_SEARCH_4_3 = “\s*>”

'(\\s[^<>\\/]*>|((?!([^<>]*\\/>))[^<>]*>))'
TAG_SEARCH_4_4 =
'<\\/'
TAG_SEARCH_4_5 =
'.*?<\/'
TAG_SEARCH_4_6 =
'.*?)<\/'
TAG_SEARCH_4_7 =

TAG_SEARCH_4_7 = ‘"[^<>\/]*)>(”

'"(?:[^<>\\/]*>|(?!([^<>]*\\/>))[^<>]*>))('
TAG_SEARCH_4_7_2 =
'")(?:[^<>\\/]*>|(?!([^<>]*\\/>))[^<>]*>))('
TAG_SEARCH_NC_3_1 =
'<[^<>"]*\\s[^<>]*'
TAG_SEARCH_NC_3_1_2 =
'<([^<>"]*)\\s(?:[^<>]*'
TAG_SEARCH_NC_3_1_2_2 =
'<([^<>"]*)\\s(?:[^<>]*('
TAG_SEARCH_NC_3_2 =
'"[^<>]*\\/>'
TAG_SEARCH_NC_3_2_2 =
'"[^<>]*)\\/>'
TAG_SEARCH_NC_3_2_2_2 =
'")[^<>]*)\\/>'
SET_ATTR_1 =

setAttribute

'="[^"]*"'
GET_ATTR_1 =

getAttributeValue

'="([^"]*)"'
GET_ATTRS_MAP =

attributeMap

'([^\\s]*)="([^\"]*)"'
ERASE_ATTR_1 =

removeAttribute

'="[^"]*"\\s?'
SEARCH_CX_1 =

cxtag SEARCH_CX_1 = ‘<!–\s@’ SEARCH_CX_2 = ‘\s(*id=“’ SEARCH_CX_3 = ‘"[^<>]*)–>(((?!(<!–\s\/@’ SEARCH_CX_4 = ‘)).)*)<!–\s\/@’ SEARCH_CX_5 = ‘\s–>’ SEARCH_CX_6 = ‘<!–\s@(*)\s*id=”’

'<!--\\s@'
SEARCH_CX_2 =
'\\s([^<>]*id="'
SEARCH_CX_3 =
'"[^<>]*)-->(((?!(<!--\\s/@'
SEARCH_CX_4 =
')).)*)<!--\\s/@'
SEARCH_CX_5 =
'\\s-->'
SEARCH_CX_6 =
'<!--\\s@([^<>]*)\\s[^<>]*id="'
SET_CX_1 =

setElementToCXTag

'<!-- @'
SET_CX_2 =
'-->'
SET_CX_3 =
'<!-- /@'
SET_CX_4 =
' -->'
SET_MONO_1 =

setMonoInfo

'\\A[^<>]*\\Z'
CLEAN_1 =

clean

'<!--\\s@[^<>]*\\s[^<>]*(\\s)*-->'
CLEAN_2 =
'<!--\\s\\/@[^<>]*(\\s)*-->'
AND_1 =

escape

'&'
AND_2 =
'&amp;'
AND_3 =
'amp'
LT_1 =
'<'
LT_2 =
'&lt;'
LT_3 =
'lt'
GT_1 =
'>'
GT_2 =
'&gt;'
GT_3 =
'gt'
QO_2 =
'&quot;'
QO_3 =
'quot'
AP_1 =
'\''
AP_2 =
'&apos;'
AP_3 =
'apos'
EN_1 =

EN_1 = “\\”

"\\"
ESCAPE_ENTITY_REF =

EN_2 = “\\\\” DOL_1 = “\$” DOL_2 = “\\\$” PLUS_1 = “\+” PLUS_2 = “\\+”

''
MODE_UTF8 =
'r:UTF-8'
MODE_BF =
'r:'
MODE_AF =
':utf-8'
MODE =
'r'
@@pattern_get_attrs_map =
Regexp.new(GET_ATTRS_MAP)
@@pattern_clean1 =
Regexp.new(CLEAN_1)
@@pattern_clean2 =
Regexp.new(CLEAN_2)

Constants inherited from Parser

Parser::HTML, Parser::XHTML, Parser::XML

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeKernel

イニシャライザ



1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
# File 'lib/meteor.rb', line 1145

def initialize
  #親要素
  #@parent = nil;

  #正規表現パターン
  #@pattern = nil
  #ルート要素
  @root = RootElement.new
  if RUBY_VERSION >= RUBY_VERSION_1_9_0 then
    @element_cache = Hash.new()
  else
    @element_cache = Meteor::Core::Util::OrderHash.new
  end
  #@res = nil
  #@_attributes = nil
  #@_mixed_content = nil
  #@pattern_cc = nil
  #@pattern_cc_1 = nil
  #@pattern_cc_1b = nil
  #@pattern_cc_1_1 = nil
  #@pattern_cc_1_2 = nil
  #@pattern_cc_2 = nil
  #@pattern_cc_2_1 = nil
  #@pattern_cc_2_2 = nil
  #@pattern_2 = nil
  #@pattern_1 = nil
  #@pattern_1b = nil
  #@cnt = 0
  #@position = 0
  #@position2 = 0
  #@_elmName = nil
  #@_attrName = nil
  #@_attrValue = nil
  #@_attrName1 = nil
  #@_attrValue1 = nil
  #@_attrName2 = nil
  #@_attrValue2 = nil

  #@sbuf = nil;
  #@sbuf = ''
  #@rx_document = nil;
  #@rx_document2 = nil;
end

Instance Attribute Details

#doc_typeObject

String

ドキュメントタイプ



1207
1208
1209
# File 'lib/meteor.rb', line 1207

def doc_type
  @doc_type
end

#element_cacheObject

Hash

要素キャッシュ



1206
1207
1208
# File 'lib/meteor.rb', line 1206

def element_cache
  @element_cache
end

Instance Method Details

#attribute(elm, attr_name, attr_value) ⇒ Meteor::Element #attribute(elm, attr_name) ⇒ String

Overloads:

  • #attribute(elm, attr_name, attr_value) ⇒ Meteor::Element

    要素の属性をセットする

    Parameters:

    • elm (Meteor::Element)

      要素

    • attr_name (String)

      属性名

    • attr_value (String, true, false)

      属性値

    Returns:

  • #attribute(elm, attr_name) ⇒ String

    要素の属性値を取得する

    Parameters:

    Returns:

    • (String)

      属性値



2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
# File 'lib/meteor.rb', line 2133

def attribute(*args)
  case args.length
    #when ONE
    #  get_attribute_value_1(args[0])
    when TWO
      #if args[0].kind_of?(Meteor::Element) && args[1].kind_of?(String) then
      get_attribute_value(args[0],args[1])
      #elsif args[0].kind_of?(String) && args[1].kind_of?(String) then
      #  set_attribute_2(args[0],args[1])
      #else
      #  raise ArgumentError
      #end
    when THREE
      args[0].document_sync = true
      set_attribute_3(args[0],args[1],args[2])
    else
      raise ArgumentError
  end
end

#attribute_map(elm, attr_map) ⇒ Meteor::Element #attribute_map(elm) ⇒ Meteor::AttributeMap

Overloads:



2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
# File 'lib/meteor.rb', line 2253

def attribute_map(*args)
  case args.length     
    when ONE
      get_attribute_map(args[0])
    when TWO
      #if args[0].kind_of?(Meteor::Element) && args[1].kind_of?(Meteor::AttributeMap) then
      args[0].document_sync = true
      set_attribute_map(args[0],args[1])
      #end
    else
      raise ArgumentError
  end
end

#character_encodingObject

文字エンコーディングを取得する

Parameters:

  • 文字エンコーディング (String)


1221
1222
1223
# File 'lib/meteor.rb', line 1221

def character_encoding
  @root.character_encoding
end

#character_encoding=(enc) ⇒ Object

文字エンコーディングをセットする

Parameters:

  • enc (String)

    文字エンコーディング



1213
1214
1215
# File 'lib/meteor.rb', line 1213

def character_encoding=(enc)
  @root.character_encoding = enc
end

#content(elm, content, entity_ref = true) ⇒ Meteor::Element #content(elm, content) ⇒ Meteor::Element #content(elm) ⇒ String

Overloads:

  • #content(elm, content, entity_ref = true) ⇒ Meteor::Element

    要素の内容をセットする

    Parameters:

    • elm (Meteor::Element)

      要素

    • content (String)

      要素の内容

    • entity_ref (true, false) (defaults to: true)

      エンティティ参照フラグ

    Returns:

  • #content(elm, content) ⇒ Meteor::Element

    要素の内容をセットする

    Parameters:

    Returns:

  • #content(elm) ⇒ String

    要素の内容を取得する

    Parameters:

    Returns:

    • (String)

      内容



2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
# File 'lib/meteor.rb', line 2321

def content(*args)
  case args.length
    when ONE
      #if args[0].kind_of?(Meteor::Element) then
      get_content_1(args[0])
      #else
      #  raise ArgumentError
      #end
    when TWO
      #if args[0].kind_of?(Meteor::Element) && args[1].kind_of?(String) then
      args[0].document_sync = true
      set_content_2(args[0],args[1])      
      #else
      #  raise ArgumentError
      #end
    when THREE
      args[0].document_sync = true
      set_content_3(args[0],args[1],args[2])
    else
      raise ArgumentError
  end
end

#cxtag(elm_name, id) ⇒ Meteor::Element #cxtag(id) ⇒ Meteor::Element

CX(コメント拡張)タグを取得する

Overloads:



2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
# File 'lib/meteor.rb', line 2443

def cxtag(*args)
  case args.length
    when ONE
      cxtag_1(args[0])
      if @elm_ then
        @element_cache.store(@elm_.object_id,@elm_)
      end
    when TWO
      cxtag_2(args[0],args[1])
      if @elm_ then
        @element_cache.store(@elm_.object_id,@elm_)
      end
    else
      raise ArgumentError
  end
end

#documentString

ドキュメントを取得する

Returns:

  • (String)

    ドキュメント



1202
1203
1204
# File 'lib/meteor.rb', line 1202

def document
  @root.document
end

#document=(doc) ⇒ Object

ドキュメントをセットする

Parameters:

  • doc (String)

    ドキュメント



1194
1195
1196
# File 'lib/meteor.rb', line 1194

def document=(doc)
  @root.document = doc
end

#element(elm_name) ⇒ Meteor::Element #element(elm_name, attr_name, attr_value) ⇒ Meteor::Element #element(attr_name, attr_value) ⇒ Meteor::Element #element(elm_name, attr_name1, attr_value1, attr_name2, attr_value2) ⇒ Meteor::Element #element(attr_name1, attr_value1, attr_name2, attr_value2) ⇒ Meteor::Element

要素を取得する

Overloads:

  • #element(elm_name) ⇒ Meteor::Element

    Returns 要素.

    Parameters:

    • elm_name (String)

      要素名

    Returns:

  • #element(elm_name, attr_name, attr_value) ⇒ Meteor::Element

    Returns 要素.

    Parameters:

    • elm_name (String)

      要素名

    • attr_name (String)

      属性名

    • attr_value (String)

      属性値

    Returns:

  • #element(attr_name, attr_value) ⇒ Meteor::Element

    Returns 要素.

    Parameters:

    • attr_name (String)

      属性名

    • attr_value (String)

      属性値

    Returns:

  • #element(elm_name, attr_name1, attr_value1, attr_name2, attr_value2) ⇒ Meteor::Element

    Returns 要素.

    Parameters:

    • elm_name (String)

      要素の名前

    • attr_name1 (String)

      属性名1

    • attr_value1 (String)

      属性値2

    • attr_name2 (String)

      属性名2

    • attr_value2 (String)

      属性値2

    Returns:

  • #element(attr_name1, attr_value1, attr_name2, attr_value2) ⇒ Meteor::Element

    Returns 要素.

    Parameters:

    • attr_name1 (String)

      属性名1

    • attr_value1 (String)

      属性値2

    • attr_name2 (String)

      属性名2

    • attr_value2 (String)

      属性値2

    Returns:



1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
# File 'lib/meteor.rb', line 1333

def element(*args)
  case args.length
    when ONE
      if args[0].kind_of?(String) then
        element_1(args[0])
        if @elm_ then
          @element_cache.store(@elm_.object_id,@elm_)
        end
      elsif args[0].kind_of?(Meteor::Element) then
        shadow(args[0])
      else
        raise ArgumentError
      end
    when TWO
      element_2(args[0],args[1])
      if @elm_ then
        @element_cache.store(@elm_.object_id,@elm_)
      end
    when THREE
      element_3(args[0],args[1],args[2])
      if @elm_ then       
        @element_cache.store(@elm_.object_id,@elm_)
      end
    when FOUR
      element_4(args[0],args[1],args[2],args[3])
      if @elm_ then
        @element_cache.store(@elm_.object_id,@elm_)
      end
    when FIVE
      element_5(args[0],args[1],args[2],args[3],args[4])
      if @elm_ then
        @element_cache.store(@elm_.object_id,@elm_)
      end
    else
      @elm_ = nil
      raise ArgumentError
  end
end

#execute(*args) ⇒ Object

フッククラスの処理を実行する

Parameters:

  • args (Array)

    引数配列



2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
# File 'lib/meteor.rb', line 2702

def execute(*args)
  case args.length
    when TWO
      execute_2(args[0],args[1])
    when THREE
      execute_3(args[0],args[1],args[2])
    else
      raise ArgumentError
  end
end

#flushObject

反映する



2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
# File 'lib/meteor.rb', line 2614

def flush
   
  if @root.element then
    if @root.element.origin.mono then
      if @root.element.origin.cx then
        #@root.hookDocument << SET_CX_1 << @root.element.name << SPACE
        #@root.hookDocument << @root.element.attributes << SET_CX_2
        #@root.hookDocument << @root.element.mixed_content << SET_CX_3
        #@root.hookDocument << @root.element.name << SET_CX_4
        @root.hook_document << "<!-- @#{@root.element.name} #{@root.element.attributes}-->#{@root.element.mixed_content}<!-- /@#{@root.element.name} -->"
      else
        #@root.hookDocument << TAG_OPEN << @root.element.name
        #@root.hookDocument << @root.element.attributes << TAG_CLOSE << @root.element.mixed_content
        #@root.hookDocument << TAG_OPEN3 << @root.element.name << TAG_CLOSE
        @root.hook_document << "<#{@root.element.name}#{@root.element.attributes}>#{@root.element.mixed_content}</#{@root.element.name}>"
      end
      @root.element = Element.new!(@root.element.origin,self)
    else
      reflect
      @_attributes = @root.element.attributes
      #replace2regex(@_attributes)
      if @root.element.origin.cx then
        #@root.hookDocument << SET_CX_1 << @root.element.name << SPACE
        #@root.hookDocument << @_attributes << SET_CX_2
        #@root.hookDocument << @root.document << SET_CX_3
        #@root.hookDocument << @root.element.name << SET_CX_4
        @root.hook_document << "<!-- @#{@root.element.name} #{@_attributes}-->#{@root.document}<!-- /@#{@root.element.name} -->"
      else
        #@root.hookDocument << TAG_OPEN << @root.element.name
        #@root.hookDocument << @_attributes << TAG_CLOSE << @root.document
        #@root.hookDocument << TAG_OPEN3 << @root.element.name << TAG_CLOSE
        @root.hook_document << "<#{@root.element.name}#{@_attributes}>#{@root.document}</#{@root.element.name}>"
      end
      @root.element = Element.new!(@root.element.origin,self)
    end
  else
    reflect
    @element_cache.clear
    #フック判定がFALSEの場合
    clean
  end
end

#read(file_path, encoding) ⇒ Object

ファイルを読み込み、パーサにセットする

Parameters:

  • filePath (String)

    入力ファイルの絶対パス

  • encoding (String)

    入力ファイルの文字コード



1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
# File 'lib/meteor.rb', line 1238

def read(file_path, encoding)

  #try {
  @character_encoding = encoding
  #ファイルのオープン
  if RUBY_VERSION >= RUBY_VERSION_1_9_0 then
    if ParserFactory::ENC_UTF8.eql?(encoding) then
      #io = File.open(file_path,MODE_BF << encoding)
      io = File.open(file_path,MODE_UTF8)
    else
      io = File.open(file_path,MODE_BF << encoding << MODE_AF)
    end

    #読込及び格納
    @root.document = io.read
  else
    #読込及び格納
    io = open(file_path,MODE)
    @root.document = io.read
    #@root.document = @root.document.kconv(get_encoding(), Kconv.guess(@root.document))
    enc = Kconv.guess(@root.document)
    #enc = get_encoding
    if !Kconv::UTF8.equal?(enc) then
      @root.document = @root.document.kconv(Kconv::UTF8, enc)
    end
  end

  #ファイルのクローズ
  io.close

  #@root.document = str

  #} catch (FileNotFoundException e) {
  #FileNotFoundException時の処理
  #e.printStackTrace();
  #@document = EMPTY;
  #} catch (Exception e) {
  #    //上記以外の例外時の処理
  #    e.printStackTrace();
  #    this.setDocument(EMPTY);
  #}
  #
  #def get_encoding()
  #  case @character_encoding
  #    when 'UTF-8','UTF8','u','U'
  #      @encoding = 'UTF8'
  #      Kconv::UTF8
  #    when 'ISO-2022-JP','JIS'
  #      Kconv::JIS
  #    when 'Shift_JIS','SJIS','s','S'
  #      @encoding = 'SJIS'
  #      Kconv::SJIS
  #    when 'EUC-JP','EUC','e','E'
  #      @encoding = 'EUC'
  #      Kconv::EUC
  #    when 'ASCII'
  #      Kconv::ASCII
  #    #when "UTF-16"
  #    #  return KConv::UTF16
  #    else
  #      Kconv::UTF8
  #  end
  #end
  #private :get_encoding
end

#remove_element(elm) ⇒ Object

要素を消す

Parameters:



2427
2428
2429
2430
2431
# File 'lib/meteor.rb', line 2427

def remove_element(elm)
  replace(elm,EMPTY)
  elm.usable = false
  nil
end

#root_elementMeteor::RootElement

ルート要素を取得する

Returns:



1229
1230
1231
# File 'lib/meteor.rb', line 1229

def root_element
  @root
end