asip-meteor 0.9.2.5 → 0.9.2.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/meteor.rb +155 -61
  2. metadata +2 -2
data/lib/meteor.rb CHANGED
@@ -18,12 +18,12 @@
18
18
  # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19
19
  #
20
20
  # @author Yasumasa Ashida
21
- # @version 0.9.2.5
21
+ # @version 0.9.2.6
22
22
  #
23
23
 
24
24
  module Meteor
25
25
 
26
- VERSION = "0.9.2.5"
26
+ VERSION = "0.9.2.6"
27
27
 
28
28
  RUBY_VERSION_1_9_0 = '1.9.0'
29
29
 
@@ -45,7 +45,7 @@ module Meteor
45
45
  #
46
46
  # 要素クラス
47
47
  #
48
- class Element
48
+ class Element
49
49
 
50
50
  #
51
51
  # イニシャライザ
@@ -65,7 +65,8 @@ module Meteor
65
65
  @name = args[0].name
66
66
  @attributes = String.new(args[0].attributes)
67
67
  @mixed_content = String.new(args[0].mixed_content)
68
- @pattern = String.new(args[0].pattern)
68
+ #@pattern = String.new(args[0].pattern)
69
+ @pattern = args[0].pattern
69
70
  @document = String.new(args[0].document)
70
71
  @empty = args[0].empty
71
72
  @cx = args[0].cx
@@ -108,7 +109,8 @@ module Meteor
108
109
  #if !elm.origin then
109
110
  @name = elm.name
110
111
  @attributes = String.new(elm.attributes)
111
- @pattern = String.new(elm.pattern)
112
+ #@pattern = String.new(elm.pattern)
113
+ @pattern = elm.pattern
112
114
  @document = String.new(elm.document)
113
115
  @empty = elm.empty
114
116
  @cx = elm.cx
@@ -135,7 +137,9 @@ module Meteor
135
137
  attr_accessor :attributes #属性群
136
138
  attr_accessor :mixed_content #内容
137
139
  attr_accessor :pattern #パターン
138
- attr_accessor :document #ドキュメント
140
+ #attr_accessor :document #ドキュメント
141
+ #attr_writer :document
142
+ attr_accessor :document_sync
139
143
  attr_accessor :empty #内容存在フラグ
140
144
  attr_accessor :cx #コメント拡張タグフラグ
141
145
  attr_accessor :mono #子要素存在フラグ
@@ -160,7 +164,7 @@ module Meteor
160
164
  if @obj then
161
165
  @obj.attributes = String.new(args[0].attributes)
162
166
  @obj.mixed_content = String.new(args[0].mixed_content)
163
- @obj.pattern = String.new(args[0].pattern)
167
+ #@obj.pattern = String.new(args[0].pattern)
164
168
  @obj.document = String.new(args[0].document)
165
169
  #@obj.arguments = AttributeMap.new(args[0].arguments)
166
170
  @obj
@@ -180,7 +184,7 @@ module Meteor
180
184
  if obj then
181
185
  obj.attributes = String.new(self.attributes)
182
186
  obj.mixed_content = String.new(self.mixed_content)
183
- obj.pattern = String.new(self.pattern)
187
+ #obj.pattern = String.new(self.pattern)
184
188
  obj.document = String.new(self.document)
185
189
  #obj.arguments = AttributeMap.new(self.arguments)
186
190
  obj.usable = true
@@ -288,6 +292,45 @@ module Meteor
288
292
  @parser.remove_attribute(self,*args)
289
293
  end
290
294
 
295
+ def document=(doc)
296
+ @document_sync = false
297
+ @document = doc
298
+ end
299
+
300
+ def document
301
+ if @document_sync then
302
+ @document_sync = false
303
+ case @parser.doc_type
304
+ when Parser::HTML then
305
+ if @cx then
306
+ #@pattern_cc = '' << SET_CX_1 << elm.name << SPACE << elm.attributes << SET_CX_2 << elm.mixed_content << SET_CX_3 << elm.name << SET_CX_4
307
+ @document = "<!-- @#{@name} #{@attributes} -->#{@mixed_content}<!-- /@#{@name} -->"
308
+ else
309
+ if @empty then
310
+ #@pattern_cc = '' << TAG_OPEN << elm.name << elm.attributes << TAG_CLOSE << elm.mixed_content << TAG_OPEN3 << elm.name << TAG_CLOSE
311
+ @document = "<#{@name}#{@attributes}>#{@mixed_content}</#{@name}>"
312
+ else
313
+ @document = '' << Meteor::Core::Kernel::TAG_OPEN << @name << @attributes << Meteor::Core::Kernel::TAG_CLOSE
314
+ end
315
+ end
316
+ when Parser::XHTML,Parser::XML then
317
+ if @cx then
318
+ #@pattern_cc = '' << SET_CX_1 << elm.name << SPACE << elm.attributes << SET_CX_2 << elm.mixed_content << SET_CX_3 << elm.name << SET_CX_4
319
+ @document = "<!-- @#{@name} #{@attributes} -->#{@mixed_content}<!-- /@#{@name} -->"
320
+ else
321
+ if @empty then
322
+ #@pattern_cc = '' << TAG_OPEN << elm.name << elm.attributes << TAG_CLOSE << elm.mixed_content << TAG_OPEN3 << elm.name << TAG_CLOSE
323
+ @document = "<#{@name}#{@attributes}>#{@mixed_content}</#{@name}>"
324
+ else
325
+ @document = '' << Meteor::Core::Kernel::TAG_OPEN << @name << @attributes << Meteor::Core::Kernel::TAG_CLOSE3
326
+ end
327
+ end
328
+ end
329
+ else
330
+ @document
331
+ end
332
+ end
333
+
291
334
  #
292
335
  # 要素を削除する
293
336
  #
@@ -563,14 +606,17 @@ module Meteor
563
606
  when Parser::HTML then
564
607
  html = Meteor::Core::Html::ParserImpl.new()
565
608
  html.read(path, encoding)
609
+ html.doc_type = Parser::HTML
566
610
  psf.parser = html
567
611
  when Parser::XHTML then
568
612
  xhtml = Meteor::Core::Xhtml::ParserImpl.new()
569
613
  xhtml.read(path, encoding)
614
+ xhtml.doc_type = Parser::XHTML
570
615
  psf.parser = xhtml
571
616
  when Parser::XML then
572
617
  xml = Meteor::Core::Xml::ParserImpl.new()
573
618
  xml.read(path, encoding)
619
+ xml.doc_type = Parser::XML
574
620
  psf.parser = xml
575
621
  end
576
622
 
@@ -592,14 +638,17 @@ module Meteor
592
638
  when Parser::HTML then
593
639
  html = Meteor::Core::Html::ParserImpl.new()
594
640
  html.parse(document)
641
+ html.doc_type = Parser::HTML
595
642
  psf.parser = html
596
643
  when Parser::XHTML then
597
644
  xhtml = Meteor::Core::Xhtml::ParserImpl.new()
598
645
  xhtml.parse(document)
646
+ xhtml.doc_type = Parser::XHTML
599
647
  psf.parser = xhtml
600
648
  when Parser::XML then
601
649
  xml = Meteor::Core::Xml::ParserImpl.new()
602
650
  xml.parse(document)
651
+ xml.doc_type = Parser::XML
603
652
  psf.parser = xml
604
653
  end
605
654
 
@@ -809,13 +858,19 @@ module Meteor
809
858
  #attributeMap
810
859
  GET_ATTRS_MAP = '([^\\s]*)="([^\"]*)"'
811
860
  #removeAttribute
812
- ERASE_ATTR_1 = '="[^\"]*"\\s'
861
+ ERASE_ATTR_1 = '="[^"]*"\\s?'
813
862
 
814
863
  #cxtag
864
+ #SEARCH_CX_1 = '<!--\\s@'
865
+ #SEARCH_CX_2 = '\\s([^<>]*id="'
866
+ #SEARCH_CX_3 = '\"[^<>]*)-->(((?!(<!--\\s\\/@'
867
+ #SEARCH_CX_4 = ')).)*)<!--\\s\\/@'
868
+ #SEARCH_CX_5 = '\\s-->'
869
+ #SEARCH_CX_6 = '<!--\\s@([^<>]*)\\s[^<>]*id="'
815
870
  SEARCH_CX_1 = '<!--\\s@'
816
871
  SEARCH_CX_2 = '\\s([^<>]*id="'
817
- SEARCH_CX_3 = '\"[^<>]*)-->(((?!(<!--\\s\\/@'
818
- SEARCH_CX_4 = ')).)*)<!--\\s\\/@'
872
+ SEARCH_CX_3 = '"[^<>]*)-->(((?!(<!--\\s/@'
873
+ SEARCH_CX_4 = ')).)*)<!--\\s/@'
819
874
  SEARCH_CX_5 = '\\s-->'
820
875
  SEARCH_CX_6 = '<!--\\s@([^<>]*)\\s[^<>]*id="'
821
876
 
@@ -970,6 +1025,7 @@ module Meteor
970
1025
  end
971
1026
 
972
1027
  attr_accessor :element_cache
1028
+ attr_accessor :doc_type
973
1029
 
974
1030
  #
975
1031
  # 文字エンコーディングをセットする
@@ -1869,11 +1925,13 @@ module Meteor
1869
1925
  #elsif args[0].kind_of?(String) && args[1].kind_of?(String) then
1870
1926
  # set_attribute_2(args[0],args[1])
1871
1927
  elsif args[0].kind_of?(Meteor::Element) && args[1].kind_of?(Meteor::AttributeMap) then
1928
+ args[0].document_sync = true
1872
1929
  set_attribute_2_m(args[0],args[1])
1873
1930
  else
1874
1931
  raise ArgumentError
1875
1932
  end
1876
1933
  when THREE
1934
+ args[0].document_sync = true
1877
1935
  set_attribute_3(args[0],args[1],args[2])
1878
1936
  else
1879
1937
  raise ArgumentError
@@ -2153,6 +2211,7 @@ module Meteor
2153
2211
  #end
2154
2212
  when TWO
2155
2213
  #if args[0].kind_of?(Meteor::Element) && args[1].kind_of?(String) then
2214
+ args[0].document_sync = true
2156
2215
  set_content_2_s(args[0],args[1])
2157
2216
  #elsif args[0].kind_of?(String) && (args[1].eql?(true) || args[1].eql?(false)) then
2158
2217
  ##elsif args[0].kind_of?(String) && (args[1].kinf_of?(TrueClass) || args[1].kind_of?(FalseClass)) then
@@ -2161,6 +2220,7 @@ module Meteor
2161
2220
  # raise ArgumentError
2162
2221
  #end
2163
2222
  when THREE
2223
+ args[0].document_sync = true
2164
2224
  set_content_3(args[0],args[1],args[2])
2165
2225
  else
2166
2226
  raise ArgumentError
@@ -2228,9 +2288,11 @@ module Meteor
2228
2288
  if !elm.cx then
2229
2289
  if elm.empty then
2230
2290
  unescape_content(elm.mixed_content,elm.name)
2291
+ else
2292
+ nil
2231
2293
  end
2232
2294
  else
2233
- nil
2295
+ unescape_content(elm.mixed_content,elm.name)
2234
2296
  end
2235
2297
  end
2236
2298
  private :get_content_1
@@ -2242,8 +2304,8 @@ module Meteor
2242
2304
  #
2243
2305
  def remove_attribute(*args)
2244
2306
  case args.length
2245
- when ONE
2246
- remove_attribute_1(args[0])
2307
+ #when ONE
2308
+ # remove_attribute_1(args[0])
2247
2309
  when TWO
2248
2310
  remove_attribute_2(args[0],args[1])
2249
2311
  else
@@ -2260,6 +2322,7 @@ module Meteor
2260
2322
  def remove_attribute_2(elm,attr_name)
2261
2323
  if !elm.cx then
2262
2324
 
2325
+ elm.document_sync = true
2263
2326
  remove_attributes_(elm,attr_name)
2264
2327
 
2265
2328
  #if !elm.origin then
@@ -2267,6 +2330,7 @@ module Meteor
2267
2330
  # elm.arguments.delete(attr_name)
2268
2331
  # end
2269
2332
  #end
2333
+
2270
2334
  end
2271
2335
 
2272
2336
  elm
@@ -2281,19 +2345,19 @@ module Meteor
2281
2345
  end
2282
2346
  private :remove_attributes_
2283
2347
 
2348
+ ##
2349
+ ## 要素の属性を消す
2350
+ ##
2351
+ ## @param [String] attr_name 属性名
2352
+ ##
2353
+ #def remove_attribute_1(attr_name)
2354
+ # if @root.element then
2355
+ # remove_attribute_2(@root.element, attr_name)
2356
+ # end
2284
2357
  #
2285
- # 要素の属性を消す
2286
- #
2287
- # @param [String] attr_name 属性名
2288
- #
2289
- def remove_attribute_1(attr_name)
2290
- if @root.element then
2291
- remove_attribute_2(@root.element, attr_name)
2292
- end
2293
-
2294
- @root.element
2295
- end
2296
- private :remove_attribute_1
2358
+ # @root.element
2359
+ #end
2360
+ #private :remove_attribute_1
2297
2361
 
2298
2362
  #
2299
2363
  # 要素を消す
@@ -2315,8 +2379,14 @@ module Meteor
2315
2379
  case args.length
2316
2380
  when ONE
2317
2381
  cxtag_1(args[0])
2382
+ if @elm_ then
2383
+ @element_cache.store(@elm_.object_id,@elm_)
2384
+ end
2318
2385
  when TWO
2319
2386
  cxtag_2(args[0],args[1])
2387
+ if @elm_ then
2388
+ @element_cache.store(@elm_.object_id,@elm_)
2389
+ end
2320
2390
  else
2321
2391
  raise ArgumentError
2322
2392
  end
@@ -2334,7 +2404,8 @@ module Meteor
2334
2404
  #CXタグ検索用パターン
2335
2405
  #@pattern_cc = '' << SEARCH_CX_1 << elm_name << SEARCH_CX_2
2336
2406
  #@pattern_cc << id << SEARCH_CX_3 << elm_name << SEARCH_CX_4 << elm_name << SEARCH_CX_5
2337
- @pattern_cc = "<!--\\s@#{elm_name}\\s([^<>]*id=\"#{id}\"[^<>]*)-->(((?!(<!--\\s\\/@#{elm_name})).)*)<!--\\s\\/@#{elm_name}\\s-->"
2407
+ #@pattern_cc = "<!--\\s@#{elm_name}\\s([^<>]*id=\"#{id}\"[^<>]*)-->(((?!(<!--\\s\\/@#{elm_name})).)*)<!--\\s\\/@#{elm_name}\\s-->"
2408
+ @pattern_cc = "<!--\\s@#{elm_name}\\s([^<>]*id=\"#{id}\"[^<>]*)-->(((?!(<!--\\s/@#{elm_name})).)*)<!--\\s/@#{elm_name}\\s-->"
2338
2409
 
2339
2410
  @pattern = Meteor::Core::Util::PatternCache.get(@pattern_cc)
2340
2411
  #CXタグ検索
@@ -2845,10 +2916,12 @@ module Meteor
2845
2916
  #
2846
2917
  class ParserImpl < Meteor::Core::Kernel
2847
2918
 
2848
- KAIGYO_CODE = '(\r?\n|\r)'
2919
+ #KAIGYO_CODE = "\r?\n|\r"
2920
+ #KAIGYO_CODE = "\r\n|\n|\r"
2921
+ KAIGYO_CODE = ["\r\n","\n","\r"]
2849
2922
  NBSP_2 = '&nbsp;'
2850
2923
  NBSP_3 = 'nbsp'
2851
- BR_1 = '\r?\n|\r'
2924
+ BR_1 = "\r?\n|\r"
2852
2925
  BR_2 = '<br>'
2853
2926
 
2854
2927
  META = 'META'
@@ -2953,6 +3026,7 @@ module Meteor
2953
3026
 
2954
3027
  @@pattern_escape = Regexp.new(PATTERN_ESCAPE)
2955
3028
  @@pattern_escape_content = Regexp.new(PATTERN_ESCAPE_CONTENT)
3029
+ @@pattern_br_2 = Regexp.new(BR_2)
2956
3030
  else
2957
3031
  @@pattern_and_1 = Regexp.new(AND_1)
2958
3032
  @@pattern_lt_1 = Regexp.new(LT_1)
@@ -3013,6 +3087,8 @@ module Meteor
3013
3087
  #@root.hook = ps.root_element.hook
3014
3088
  #@root.mono_hook = ps.root_element.mono_hook
3015
3089
  @root.content_type = String.new(ps.content_type);
3090
+ @root.kaigyo_code = ps.root_element.kaigyo_code
3091
+ @doc_type = ps.doc_type
3016
3092
  end
3017
3093
  private :initialize_1
3018
3094
 
@@ -3081,12 +3157,21 @@ module Meteor
3081
3157
  #
3082
3158
  def analyze_kaigyo_code()
3083
3159
  #改行コード取得
3084
- @pattern = Regexp.new(KAIGYO_CODE)
3085
- @res = @pattern.match(@root.document)
3160
+ #@pattern = Regexp.new(KAIGYO_CODE)
3161
+ #@res = @pattern.match(@root.document)
3086
3162
 
3087
- if @res then
3088
- @root.kaigyo_code = @res[1]
3163
+ #if @res then
3164
+ # @root.kaigyo_code = @res[0]
3165
+ # puts "test"
3166
+ # puts @res[0]
3167
+ #end
3168
+
3169
+ for a in KAIGYO_CODE
3170
+ if @root.document.include?(a) then
3171
+ @root.kaigyo_code = a
3172
+ end
3089
3173
  end
3174
+
3090
3175
  end
3091
3176
  private :analyze_kaigyo_code
3092
3177
 
@@ -3488,16 +3573,16 @@ module Meteor
3488
3573
  elm.mono = true
3489
3574
  if elm.cx then
3490
3575
  #@pattern_cc = '' << SET_CX_1 << elm.name << SPACE << elm.attributes << SET_CX_2 << elm.mixed_content << SET_CX_3 << elm.name << SET_CX_4
3491
- @pattern_cc = "<!-- @#{elm.name} #{elm.attributes} -->#{elm.mixed_content}<!-- /@#{elm.name} -->"
3576
+ elm.document = "<!-- @#{elm.name} #{elm.attributes} -->#{elm.mixed_content}<!-- /@#{elm.name} -->"
3492
3577
  else
3493
3578
  if elm.empty then
3494
3579
  #@pattern_cc = '' << TAG_OPEN << elm.name << elm.attributes << TAG_CLOSE << elm.mixed_content << TAG_OPEN3 << elm.name << TAG_CLOSE
3495
- @pattern_cc = "<#{elm.name}#{elm.attributes}>#{elm.mixed_content}</#{elm.name}>"
3580
+ elm.document = "<#{elm.name}#{elm.attributes}>#{elm.mixed_content}</#{elm.name}>"
3496
3581
  else
3497
- @pattern_cc = '' << TAG_OPEN << elm.name << elm.attributes << TAG_CLOSE
3582
+ elm.document = '' << TAG_OPEN << elm.name << elm.attributes << TAG_CLOSE
3498
3583
  end
3499
3584
  end
3500
- elm.document = @pattern_cc
3585
+ #elm.document = @pattern_cc
3501
3586
  end
3502
3587
  end
3503
3588
  private :set_mono_info
@@ -3570,7 +3655,7 @@ module Meteor
3570
3655
  #if content.include?(AND_2) then
3571
3656
  # content.gsub!(@@pattern_and_2,AND_1)
3572
3657
  #end
3573
- content.gsub!(@@pattern_unescape) do
3658
+ content.gsub(@@pattern_unescape) do
3574
3659
  case $1
3575
3660
  when AND_3 then
3576
3661
  AND_1
@@ -3587,21 +3672,20 @@ module Meteor
3587
3672
  end
3588
3673
  end
3589
3674
 
3590
- content
3591
3675
  end
3592
3676
  private :unescape
3593
3677
 
3594
3678
  def unescape_content(content,elm_name)
3595
- content = unescape(content)
3679
+ content_ = unescape(content)
3596
3680
 
3597
3681
  if !is_match(MATCH_TAG_2,elm_name) then
3598
3682
  #「<br>」->「¥r?¥n」
3599
3683
  if content.include?(BR_2) then
3600
- content.gsub!(@@pattern_br_2, @root.kaigyo_code)
3684
+ content_.gsub!(@@pattern_br_2, @root.kaigyo_code)
3601
3685
  end
3602
3686
  end
3603
3687
 
3604
- content
3688
+ content_
3605
3689
  end
3606
3690
  private :unescape_content
3607
3691
 
@@ -3615,10 +3699,11 @@ module Meteor
3615
3699
  #
3616
3700
  class ParserImpl < Meteor::Core::Kernel
3617
3701
 
3618
- KAIGYO_CODE = '(\r?\n|\r)'
3702
+ #KAIGYO_CODE = "\r?\n|\r"
3703
+ KAIGYO_CODE = ["\r\n","\n","\r"]
3619
3704
  NBSP_2 = '&nbsp;'
3620
3705
  NBSP_3 = 'nbsp'
3621
- BR_1 = '\r?\n|\r'
3706
+ BR_1 = "\r?\n|\r"
3622
3707
  BR_2 = '<br/>'
3623
3708
  BR_3 = '<br\\/>'
3624
3709
 
@@ -3728,7 +3813,7 @@ module Meteor
3728
3813
  PATTERN_ESCAPE_CONTENT = '[&"\'<> \\n]'
3729
3814
  @@pattern_escape = Regexp.new(PATTERN_ESCAPE)
3730
3815
  @@pattern_escape_content = Regexp.new(PATTERN_ESCAPE_CONTENT)
3731
-
3816
+ @@pattern_br_2 = Regexp.new(BR_3)
3732
3817
  else
3733
3818
 
3734
3819
  @@pattern_and_1 = Regexp.new(AND_1)
@@ -3786,7 +3871,9 @@ module Meteor
3786
3871
  def initialize_1(ps)
3787
3872
  @root.document = String.new(ps.document)
3788
3873
  @root.hook_document = String.new(ps.root_element.hook_document)
3789
- @root.content_type = String.new(ps.content_type);
3874
+ @root.content_type = String.new(ps.content_type)
3875
+ @root.kaigyo_code = ps.root_element.kaigyo_code
3876
+ @doc_type = ps.doc_type
3790
3877
  end
3791
3878
  private :initialize_1
3792
3879
 
@@ -3855,11 +3942,17 @@ module Meteor
3855
3942
  #
3856
3943
  def analyze_kaigyo_code()
3857
3944
  #改行コード取得
3858
- @pattern = Regexp.new(KAIGYO_CODE)
3859
- @res = @pattern.match(@root.document)
3945
+ #@pattern = Regexp.new(KAIGYO_CODE)
3946
+ #@res = @pattern.match(@root.document)
3860
3947
 
3861
- if @res then
3862
- @root.kaigyo_code = @res[1]
3948
+ #if @res then
3949
+ # @root.kaigyo_code = @res[0]
3950
+ #end
3951
+
3952
+ for a in KAIGYO_CODE
3953
+ if @root.document.include?(a) then
3954
+ @root.kaigyo_code = a
3955
+ end
3863
3956
  end
3864
3957
  end
3865
3958
  private :analyze_kaigyo_code
@@ -4005,16 +4098,16 @@ module Meteor
4005
4098
  elm.mono = true
4006
4099
  if elm.cx then
4007
4100
  #@pattern_cc = '' << SET_CX_1 << elm.name << SPACE << elm.attributes << SET_CX_2 << elm.mixed_content << SET_CX_3 << elm.name << SET_CX_4
4008
- @pattern_cc = "<!-- @#{elm.name} #{elm.attributes} -->#{elm.mixed_content}<!-- /@#{elm.name} -->"
4101
+ elm.document = "<!-- @#{elm.name} #{elm.attributes} -->#{elm.mixed_content}<!-- /@#{elm.name} -->"
4009
4102
  else
4010
4103
  if elm.empty then
4011
4104
  #@pattern_cc = '' << TAG_OPEN << elm.name << elm.attributes << TAG_CLOSE << elm.mixed_content << TAG_OPEN3 << elm.name << TAG_CLOSE
4012
- @pattern_cc = "<#{elm.name}#{elm.attributes}>#{elm.mixed_content}</#{elm.name}>"
4105
+ elm.document = "<#{elm.name}#{elm.attributes}>#{elm.mixed_content}</#{elm.name}>"
4013
4106
  else
4014
- @pattern_cc = '' << TAG_OPEN << elm.name << elm.attributes << TAG_CLOSE3
4107
+ elm.document = '' << TAG_OPEN << elm.name << elm.attributes << TAG_CLOSE3
4015
4108
  end
4016
4109
  end
4017
- elm.document = @pattern_cc
4110
+ #elm.document = @pattern_cc
4018
4111
  end
4019
4112
  end
4020
4113
  private :set_mono_info
@@ -4092,7 +4185,7 @@ module Meteor
4092
4185
  #if content.include?(AND_2) then
4093
4186
  # content.gsub!(@@pattern_and_2,AND_1)
4094
4187
  #end
4095
- content.gsub!(@@pattern_unescape) do
4188
+ content.gsub(@@pattern_unescape) do
4096
4189
  case $1
4097
4190
  when AND_3 then
4098
4191
  AND_1
@@ -4109,21 +4202,21 @@ module Meteor
4109
4202
  end
4110
4203
  end
4111
4204
 
4112
- content
4205
+ #content
4113
4206
  end
4114
4207
  private :unescape
4115
4208
 
4116
4209
  def unescape_content(content,elm_name)
4117
- content = unescape(content)
4210
+ content_ = unescape(content)
4118
4211
 
4119
4212
  if !is_match(MATCH_TAG_2,elm_name) then
4120
4213
  #「<br>」->「¥r?¥n」
4121
4214
  if content.include?(BR_2) then
4122
- content.gsub!(@@pattern_br_2, @root.kaigyo_code)
4215
+ content_.gsub!(@@pattern_br_2, @root.kaigyo_code)
4123
4216
  end
4124
4217
  end
4125
4218
 
4126
- content
4219
+ content_
4127
4220
  end
4128
4221
  private :unescape_content
4129
4222
 
@@ -4200,6 +4293,7 @@ module Meteor
4200
4293
  def initialize_1(ps)
4201
4294
  @root.document = String.new(ps.document)
4202
4295
  @root.hook_document = String.new(ps.root_element.hook_document)
4296
+ @doc_type = ps.doc_type
4203
4297
  end
4204
4298
  private :initialize_1
4205
4299
 
@@ -4312,7 +4406,7 @@ module Meteor
4312
4406
  # content.gsub!(@@pattern_and_2,AND_1)
4313
4407
  # end
4314
4408
  #else
4315
- content.gsub!(@@pattern_unescape) do
4409
+ content.gsub(@@pattern_unescape) do
4316
4410
  case $1
4317
4411
  when AND_3 then
4318
4412
  AND_1
@@ -4328,7 +4422,7 @@ module Meteor
4328
4422
  end
4329
4423
  #end
4330
4424
 
4331
- content
4425
+ #content
4332
4426
  end
4333
4427
  private :unescape
4334
4428
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: asip-meteor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.2.5
4
+ version: 0.9.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - asip
@@ -9,7 +9,7 @@ autorequire: meteor
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-06-25 00:00:00 -07:00
12
+ date: 2009-07-04 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies: []
15
15