meteor 0.9.11 → 0.9.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +1 -1
- data/ChangeLog +8 -0
- data/Gemfile.lock +2 -2
- data/README.md +5 -3
- data/Rakefile +1 -1
- data/demo/html.rb +42 -38
- data/demo/html4.rb +54 -50
- data/demo/ml/sample.xml +11 -11
- data/demo/ml/sample_html.html +25 -24
- data/demo/ml/sample_html4.html +38 -38
- data/demo/ml/sample_xhtml.html +25 -24
- data/demo/ml/sample_xhtml4.html +24 -24
- data/demo/xhtml.rb +40 -36
- data/demo/xhtml4.rb +38 -34
- data/demo/xml.rb +64 -63
- data/lib/meteor/attribute.rb +33 -0
- data/lib/meteor/attribute_map.rb +146 -0
- data/lib/meteor/core/kernel.rb +2182 -0
- data/lib/meteor/core/util/pattern_cache.rb +107 -0
- data/lib/meteor/element.rb +532 -0
- data/lib/meteor/element_factory.rb +68 -0
- data/lib/meteor/exception/no_such_element_exception.rb +84 -0
- data/lib/meteor/ml/html/parser_impl.rb +142 -0
- data/lib/meteor/ml/html4/parser_impl.rb +684 -0
- data/lib/meteor/ml/xhtml/parser_impl.rb +139 -0
- data/lib/meteor/ml/xhtml4/parser_impl.rb +398 -0
- data/lib/meteor/ml/xml/parser_impl.rb +160 -0
- data/lib/meteor/parser.rb +15 -0
- data/lib/meteor/parser_factory.rb +493 -0
- data/lib/meteor/root_element.rb +24 -0
- data/lib/meteor.rb +22 -5591
- data/meteor.gemspec +4 -4
- metadata +21 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 88fad5c6e441dad9f62db837cb68812b78ad2b92ddebf69a07027e2c497fa880
|
|
4
|
+
data.tar.gz: 3eb96c0e72a512a3b41f9acf9014d46c80f1f206183d5ca785440fe520468126
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3b368f523ca876c85b3f2e90d89af9f31fe3a828e15cbdcf4ba1c714454ac9e3075f03ae06c0b3240a10b9aa2a92597adb608c878da27b9859b1f7d74981a8e5
|
|
7
|
+
data.tar.gz: b1526787c25b9645d3e51ce914837b4919f0ccc1a116feb0a25fbac6e6eff88bbbba3c189aa38aae433511309b299ea1f1ffe21f413293dba98512c8ce2704c4
|
data/.gitignore
CHANGED
data/ChangeLog
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
== 0.9.13 / 2026-05-31 Yasumasa Ashida <ys.ashida@gmail.com>
|
|
2
|
+
|
|
3
|
+
* Refactoring
|
|
4
|
+
|
|
5
|
+
== 0.9.12 / 2026-01-20 Yasumasa Ashida <ys.ashida@gmail.com>
|
|
6
|
+
|
|
7
|
+
* Enable frozen_string_literal
|
|
8
|
+
|
|
1
9
|
== 0.9.8 / 2014-01-07 Yasumasa Ashida <ys.ashida@gmail.com>
|
|
2
10
|
|
|
3
11
|
* multi elements search support (addition of Meteor::Element#elements)
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# Meteor
|
|
3
3
|
|
|
4
4
|
==================
|
|
5
|
-
A lightweight HTML & XML Parser
|
|
5
|
+
A lightweight (X)HTML & XML Parser
|
|
6
6
|
|
|
7
7
|
```shell
|
|
8
8
|
gem install meteor #gem installation
|
|
@@ -58,7 +58,9 @@ https://github.com/asip/meteor/tree/master/demo
|
|
|
58
58
|
Licensed under the LGPL V2.1.
|
|
59
59
|
|
|
60
60
|
## Author
|
|
61
|
-
|
|
61
|
+
|
|
62
|
+
Yasumasa Ashida (<ys.ashida@gmail.com>)
|
|
62
63
|
|
|
63
64
|
## Copyright
|
|
64
|
-
|
|
65
|
+
|
|
66
|
+
(c) 2008-present, Yasumasa Ashida
|
data/Rakefile
CHANGED
|
@@ -60,7 +60,7 @@ spec = Gem::Specification.new do |s|
|
|
|
60
60
|
s.test_files = Dir["test/*_test.rb"]
|
|
61
61
|
|
|
62
62
|
#s.add_dependency('activesupport', '>=1.3.1')
|
|
63
|
-
#s.required_ruby_version = '>=
|
|
63
|
+
#s.required_ruby_version = '>= 3.0.0'
|
|
64
64
|
|
|
65
65
|
s.files = %w(README.md ChangeLog Rakefile) +
|
|
66
66
|
Dir.glob("{bin,doc,test,lib,templates,generator,extras,website,script}/**/*") +
|
data/demo/html.rb
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
#!bin ruby
|
|
2
2
|
# -* coding: UTF-8 -*-
|
|
3
|
+
# frozen_string_literal: true
|
|
3
4
|
|
|
4
|
-
#require 'rubygems'
|
|
5
|
+
# require 'rubygems'
|
|
5
6
|
require 'meteor'
|
|
6
7
|
|
|
7
8
|
Meteor::ElementFactory.link(:html,"ml/sample_html.html", 'UTF-8')
|
|
@@ -10,53 +11,53 @@ root = Meteor::ElementFactory.element('/ml/sample_html')
|
|
|
10
11
|
start_time = Time.new.to_f
|
|
11
12
|
|
|
12
13
|
elm_hello = root.element(id: 'hello')
|
|
13
|
-
elm_hello['class'] = 'red' #elm_hello.attr(class: 'red')
|
|
14
|
-
#elm_hello['class'] = nil #elm_hello.remove_attr('class')
|
|
14
|
+
elm_hello['class'] = 'red' # elm_hello.attr(class: 'red')
|
|
15
|
+
# elm_hello['class'] = nil # elm_hello.remove_attr('class')
|
|
15
16
|
|
|
16
17
|
elm_hello2 = root.element(id: 'hello2')
|
|
17
|
-
elm_hello2.content = 'Hello,Tester' #elm_hello2.content('Hello,Tester')
|
|
18
|
+
elm_hello2.content = 'Hello,Tester' # elm_hello2.content('Hello,Tester')
|
|
18
19
|
|
|
19
20
|
elm_text1 = root.element(id: 'text1')
|
|
20
|
-
elm_text1['value'] = 'めも' #elm_text1.attr(value: めも')
|
|
21
|
-
elm_text1['disabled'] = true #elm_text1.attr(disabled: true)
|
|
22
|
-
elm_text1['required'] = true #elm_text1.attr(required: true)
|
|
23
|
-
|
|
24
|
-
#elm_text1['disabled'] = nil #elm_text1.remove_attr('disabled')
|
|
25
|
-
#map = elm_text1.attr_map
|
|
26
|
-
#map.names.each { |item|
|
|
27
|
-
#
|
|
28
|
-
#
|
|
29
|
-
#}
|
|
30
|
-
|
|
31
|
-
#elm_radio1 = root.element('input', id: 'radio1', type: 'radio')
|
|
32
|
-
#elm_radio1['checked'] = true #elm_radio1.attr(checked: true)
|
|
33
|
-
#puts elm_radio1.document
|
|
34
|
-
|
|
35
|
-
#elm_select1 = root.element('select', id: 'select1')
|
|
36
|
-
#elm_select1 = root.element('select')
|
|
37
|
-
#elm_select1['multiple'] = true #elm_select1.attr(multiple: true)
|
|
38
|
-
#puts elm_select1['multiple'] #puts elm_select1.attr('multiple')
|
|
39
|
-
|
|
40
|
-
#elm_option1 = root.element('option', id: 'option1')
|
|
41
|
-
#elm_option1['selected'] = true #elm_option1.attr(selected: true)
|
|
42
|
-
#elm_option1['selected'] = nil #elm_option1.remove_attr('selected')
|
|
43
|
-
#puts elm_option1['selected'] #puts elm_option1.attr('selected')
|
|
44
|
-
#puts elm_text1['readonly'] #puts elm_text1.attr('readonly')
|
|
21
|
+
elm_text1['value'] = 'めも' # elm_text1.attr(value: めも')
|
|
22
|
+
elm_text1['disabled'] = true # elm_text1.attr(disabled: true)
|
|
23
|
+
elm_text1['required'] = true # elm_text1.attr(required: true)
|
|
24
|
+
|
|
25
|
+
# elm_text1['disabled'] = nil # elm_text1.remove_attr('disabled')
|
|
26
|
+
# map = elm_text1.attr_map
|
|
27
|
+
# map.names.each { |item|
|
|
28
|
+
# puts item
|
|
29
|
+
# puts map.fetch(item)
|
|
30
|
+
# }
|
|
31
|
+
|
|
32
|
+
# elm_radio1 = root.element('input', id: 'radio1', type: 'radio')
|
|
33
|
+
# elm_radio1['checked'] = true # elm_radio1.attr(checked: true)
|
|
34
|
+
# puts elm_radio1.document
|
|
35
|
+
|
|
36
|
+
# elm_select1 = root.element('select', id: 'select1')
|
|
37
|
+
# elm_select1 = root.element('select')
|
|
38
|
+
# elm_select1['multiple'] = true # elm_select1.attr(multiple: true)
|
|
39
|
+
# puts elm_select1['multiple'] # puts elm_select1.attr('multiple')
|
|
40
|
+
|
|
41
|
+
# elm_option1 = root.element('option', id: 'option1')
|
|
42
|
+
# elm_option1['selected'] = true # elm_option1.attr(selected: true)
|
|
43
|
+
# elm_option1['selected'] = nil # elm_option1.remove_attr('selected')
|
|
44
|
+
# puts elm_option1['selected'] # puts elm_option1.attr('selected')
|
|
45
|
+
# puts elm_text1['readonly'] # puts elm_text1.attr('readonly')
|
|
45
46
|
|
|
46
47
|
elm_select2 = root.element('select',id: 'select2')
|
|
47
48
|
elm_select2['multiple'] = true
|
|
48
49
|
elm_option2 = elm_select2.element('option',id: 'option2')
|
|
49
50
|
co_elm = elm_option2.element()
|
|
50
51
|
10.times { |i|
|
|
51
|
-
co_elm['value'] = i #co_elm.attr(value: i)
|
|
52
|
-
#'<' +
|
|
52
|
+
co_elm['value'] = i # co_elm.attr(value: i)
|
|
53
|
+
# '<' +
|
|
53
54
|
if i == 1 then
|
|
54
|
-
co_elm['selected'] = true #co_elm.attr(selected: true)
|
|
55
|
+
co_elm['selected'] = true # co_elm.attr(selected: true)
|
|
55
56
|
else
|
|
56
|
-
co_elm['selected'] = false #co_elm.attr(selected: false)
|
|
57
|
+
co_elm['selected'] = false # co_elm.attr(selected: false)
|
|
57
58
|
end
|
|
58
|
-
co_elm.content = i #co_elm.content(i)
|
|
59
|
-
co_elm['id'] = nil #co_elm.remove_attr('id')
|
|
59
|
+
co_elm.content = i # co_elm.content(i)
|
|
60
|
+
co_elm['id'] = nil # co_elm.remove_attr('id')
|
|
60
61
|
co_elm.flash
|
|
61
62
|
}
|
|
62
63
|
|
|
@@ -73,7 +74,7 @@ elm_dt3_ = elm_.element(id: 'cc')
|
|
|
73
74
|
elm_dt1.content = i
|
|
74
75
|
elm_dt2.content = i
|
|
75
76
|
elm_dt3.content = i
|
|
76
|
-
#"< \n" +
|
|
77
|
+
# "< \n" +
|
|
77
78
|
elm_.flash
|
|
78
79
|
end
|
|
79
80
|
|
|
@@ -84,8 +85,8 @@ end_time = Time.new.to_f
|
|
|
84
85
|
puts root.document
|
|
85
86
|
|
|
86
87
|
elms = root.elements('tr', id: 'loop')
|
|
87
|
-
#elms = root.elements('input', id: 'radio1', type: 'radio')
|
|
88
|
-
#elms = root.css('input[id=radio1][type=radio]')
|
|
88
|
+
# elms = root.elements('input', id: 'radio1', type: 'radio')
|
|
89
|
+
# elms = root.css('input[id=radio1][type=radio]')
|
|
89
90
|
elms.each{|elm|
|
|
90
91
|
puts '-------'
|
|
91
92
|
puts 'doc----'
|
|
@@ -96,4 +97,7 @@ elms.each{|elm|
|
|
|
96
97
|
puts elm.mixed_content
|
|
97
98
|
}
|
|
98
99
|
|
|
100
|
+
puts "charset:#{root.charset}"
|
|
101
|
+
puts "content-type:#{root.content_type}"
|
|
102
|
+
|
|
99
103
|
puts '' + (end_time - start_time).to_s + ' sec'
|
data/demo/html4.rb
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
#!bin ruby
|
|
2
2
|
# -* coding: UTF-8 -*-
|
|
3
|
+
# frozen_string_literal: true
|
|
3
4
|
|
|
4
|
-
#require 'rubygems'
|
|
5
|
+
# require 'rubygems'
|
|
5
6
|
require 'meteor'
|
|
6
7
|
|
|
7
|
-
#Meteor::ElementFactory.link(:html4,'ml/sample_4.html', 'UTF-8')
|
|
8
|
+
# Meteor::ElementFactory.link(:html4,'ml/sample_4.html', 'UTF-8')
|
|
8
9
|
Meteor::ElementFactory.options= {type: :html4}
|
|
9
10
|
Meteor::ElementFactory.link('ml/sample_html4.html')
|
|
10
11
|
|
|
@@ -13,51 +14,51 @@ root = Meteor::ElementFactory.element('/ml/sample_html4')
|
|
|
13
14
|
start_time = Time.new.to_f
|
|
14
15
|
|
|
15
16
|
elm_hello = root.element(id: 'hello')
|
|
16
|
-
elm_hello['class'] = 'red' #elm_hello.attr(class: 'red')
|
|
17
|
-
#elm_hello['class'] = nil #elm_hello.remove_attr('class')
|
|
17
|
+
elm_hello['class'] = 'red' # elm_hello.attr(class: 'red')
|
|
18
|
+
# elm_hello['class'] = nil # elm_hello.remove_attr('class')
|
|
18
19
|
|
|
19
20
|
elm_hello2 = root.element(id: 'hello2')
|
|
20
|
-
elm_hello2.content = 'Hello,Tester' #elm_hello2.content('Hello,Tester')
|
|
21
|
+
elm_hello2.content = 'Hello,Tester' # elm_hello2.content('Hello,Tester')
|
|
21
22
|
|
|
22
|
-
#elm_hello3 = root.cxtag('hello3')
|
|
23
|
-
#elm_hello3.content = "Hello,Hello\ntt" #elm_hello3.content = "Hello,Hello"
|
|
24
|
-
#puts elm_hello3.pattern
|
|
25
|
-
#puts elm_hello3.mixed_content
|
|
26
|
-
#puts elm_hello3.document
|
|
27
|
-
#puts elm_hello3.content
|
|
28
|
-
#puts elm_hello3.mixed_content
|
|
23
|
+
# elm_hello3 = root.cxtag('hello3')
|
|
24
|
+
# elm_hello3.content = "Hello,Hello\ntt" # elm_hello3.content = "Hello,Hello"
|
|
25
|
+
# puts elm_hello3.pattern
|
|
26
|
+
# puts elm_hello3.mixed_content
|
|
27
|
+
# puts elm_hello3.document
|
|
28
|
+
# puts elm_hello3.content
|
|
29
|
+
# puts elm_hello3.mixed_content
|
|
29
30
|
|
|
30
31
|
elm_text1 = root.element('input', id: 'text1')
|
|
31
|
-
#elm_text1['value'] = 'めも' #elm_text1.attr(value: 'めも')
|
|
32
|
-
#elm_text1.attr = {value: 'メモ'}
|
|
33
|
-
#elm_text1['disabled'] = true #elm_text1.attr(disabled: true)
|
|
32
|
+
# elm_text1['value'] = 'めも' # elm_text1.attr(value: 'めも')
|
|
33
|
+
# elm_text1.attr = {value: 'メモ'}
|
|
34
|
+
# elm_text1['disabled'] = true # elm_text1.attr(disabled: true)
|
|
34
35
|
elm_text1.attrs = {value: 'メモ', disabled: true, readonly: true}
|
|
35
|
-
#puts elm_text1.attrs
|
|
36
|
-
#elm_text1['disabled'] = nil #elm_text1.remove_attr('disabled')
|
|
37
|
-
#map = elm_text1.attr_map
|
|
38
|
-
#map.names.each { |item|
|
|
39
|
-
#
|
|
40
|
-
#
|
|
41
|
-
#}
|
|
42
|
-
|
|
43
|
-
#elm_radio1 = root.element('input', id: 'radio1', type: 'radio')
|
|
44
|
-
##elm_radio1 = root.css('input[id=radio1][type=radio]')
|
|
45
|
-
##elm_radio1 = root.css('#radio1') #elm_radio1 = root.css('input#radio1')
|
|
46
|
-
##elm_radio1 = root.css('.test') #elm_radio1 = root.css('input.test')
|
|
47
|
-
##elm_radio1 = root.css('[id=radio1][type=radio]')
|
|
48
|
-
#elm_radio1['checked'] = true #elm_radio1.attr(checked: true)
|
|
49
|
-
#puts elm_radio1.document
|
|
50
|
-
|
|
51
|
-
#elm_select1 = root.element('select', id: 'select1')
|
|
52
|
-
#elm_select1 = root.element('select')
|
|
53
|
-
#elm_select1['multiple'] = true #elm_select1.attr('multiple',true)
|
|
54
|
-
#puts elm_select1['multiple'] #puts elm_select1.attr('multiple')
|
|
55
|
-
|
|
56
|
-
#elm_option1 = root.element('option', id: 'option1')
|
|
57
|
-
#elm_option1['selected'] = true #elm_option1.attr(selected: true)
|
|
58
|
-
#elm_option1['selected'] = nil #elm_option1.remove_attr('selected')
|
|
59
|
-
#puts elm_option1['selected'] #puts elm_option1.attr('selected')
|
|
60
|
-
#puts elm_text1['readonly'] #puts elm_text1.attr('readonly')
|
|
36
|
+
# puts elm_text1.attrs
|
|
37
|
+
# elm_text1['disabled'] = nil # elm_text1.remove_attr('disabled')
|
|
38
|
+
# map = elm_text1.attr_map
|
|
39
|
+
# map.names.each { |item|
|
|
40
|
+
# puts item
|
|
41
|
+
# puts map.fetch(item)
|
|
42
|
+
# }
|
|
43
|
+
|
|
44
|
+
# elm_radio1 = root.element('input', id: 'radio1', type: 'radio')
|
|
45
|
+
## elm_radio1 = root.css('input[id=radio1][type=radio]')
|
|
46
|
+
## elm_radio1 = root.css('# radio1') # elm_radio1 = root.css('input# radio1')
|
|
47
|
+
## elm_radio1 = root.css('.test') # elm_radio1 = root.css('input.test')
|
|
48
|
+
## elm_radio1 = root.css('[id=radio1][type=radio]')
|
|
49
|
+
# elm_radio1['checked'] = true # elm_radio1.attr(checked: true)
|
|
50
|
+
# puts elm_radio1.document
|
|
51
|
+
|
|
52
|
+
# elm_select1 = root.element('select', id: 'select1')
|
|
53
|
+
# elm_select1 = root.element('select')
|
|
54
|
+
# elm_select1['multiple'] = true # elm_select1.attr('multiple',true)
|
|
55
|
+
# puts elm_select1['multiple'] # puts elm_select1.attr('multiple')
|
|
56
|
+
|
|
57
|
+
# elm_option1 = root.element('option', id: 'option1')
|
|
58
|
+
# elm_option1['selected'] = true # elm_option1.attr(selected: true)
|
|
59
|
+
# elm_option1['selected'] = nil # elm_option1.remove_attr('selected')
|
|
60
|
+
# puts elm_option1['selected'] # puts elm_option1.attr('selected')
|
|
61
|
+
# puts elm_text1['readonly'] # puts elm_text1.attr('readonly')
|
|
61
62
|
|
|
62
63
|
|
|
63
64
|
elm_select2 = root.element('select', id: 'select2')
|
|
@@ -65,19 +66,19 @@ elm_select2['multiple'] = true
|
|
|
65
66
|
elm_option2 = elm_select2.element('option',id: 'option2')
|
|
66
67
|
co_elm = elm_option2.element()
|
|
67
68
|
10.times { |i|
|
|
68
|
-
co_elm['value'] = i #co_elm.attr(value: i)
|
|
69
|
-
#'<' +
|
|
69
|
+
co_elm['value'] = i # co_elm.attr(value: i)
|
|
70
|
+
# '<' +
|
|
70
71
|
if i == 1 then
|
|
71
|
-
co_elm['selected'] = true #co_elm.attr(selected: 'true')
|
|
72
|
+
co_elm['selected'] = true # co_elm.attr(selected: 'true')
|
|
72
73
|
else
|
|
73
|
-
co_elm['selected'] = false #co_elm.attr(selected: 'false')
|
|
74
|
+
co_elm['selected'] = false # co_elm.attr(selected: 'false')
|
|
74
75
|
end
|
|
75
|
-
co_elm.content = i #co_elm.content(i)
|
|
76
|
-
co_elm['id'] = nil #co_elm.remove_attr('id')
|
|
76
|
+
co_elm.content = i # co_elm.content(i)
|
|
77
|
+
co_elm['id'] = nil # co_elm.remove_attr('id')
|
|
77
78
|
co_elm.flash
|
|
78
79
|
}
|
|
79
80
|
|
|
80
|
-
elm_tr1 = root.element('tr',id: 'loop') #elm_tr1 = root.css('tr[id=loop]')
|
|
81
|
+
elm_tr1 = root.element('tr',id: 'loop') # elm_tr1 = root.css('tr[id=loop]')
|
|
81
82
|
elm_ = root.element(elm_tr1)
|
|
82
83
|
elm_dt1_ = elm_.element(id: 'aa')
|
|
83
84
|
elm_dt2_ = elm_.element(id: 'bb')
|
|
@@ -90,12 +91,12 @@ elm_dt3_ = elm_.element(id: 'cc')
|
|
|
90
91
|
elm_dt1.content = i
|
|
91
92
|
elm_dt2.content = i
|
|
92
93
|
elm_dt3.content = i
|
|
93
|
-
#"< \n" +
|
|
94
|
+
# "< \n" +
|
|
94
95
|
elm_.flash
|
|
95
96
|
end
|
|
96
97
|
|
|
97
98
|
elms = root.elements(id: 'sample')
|
|
98
|
-
#elms = root.css('div') #elms = root.css('div[class=test]')
|
|
99
|
+
# elms = root.css('div') # elms = root.css('div[class=test]')
|
|
99
100
|
|
|
100
101
|
elms.each_with_index{ |elm_,i|
|
|
101
102
|
elm_['style'] = i.to_s
|
|
@@ -107,4 +108,7 @@ end_time = Time.new.to_f
|
|
|
107
108
|
|
|
108
109
|
puts root.document
|
|
109
110
|
|
|
111
|
+
puts "charset:#{root.charset}"
|
|
112
|
+
puts "content-type:#{root.content_type}"
|
|
113
|
+
|
|
110
114
|
puts '' + (end_time - start_time).to_s + ' sec'
|
data/demo/ml/sample.xml
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
2
|
|
|
3
3
|
<!--
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
Document : test.xml
|
|
5
|
+
Created on : 2008/07/22, 17:32
|
|
6
|
+
Author : asip
|
|
7
|
+
Description:
|
|
8
|
+
Purpose of the document follows.
|
|
9
9
|
-->
|
|
10
10
|
|
|
11
11
|
<root>
|
|
@@ -13,13 +13,13 @@
|
|
|
13
13
|
<test1 manbo="mango" />
|
|
14
14
|
|
|
15
15
|
<test manbo="manbo">
|
|
16
|
-
|
|
16
|
+
<tech mono="mono">こまねち</tech>
|
|
17
17
|
</test>
|
|
18
18
|
<test manbo="mbo">
|
|
19
|
-
|
|
19
|
+
<tech mono="mono">komaneti</tech>
|
|
20
20
|
</test>
|
|
21
21
|
<test manbo="mbo">
|
|
22
|
-
|
|
22
|
+
<tech mono="mono2">komaneti</tech>
|
|
23
23
|
</test>
|
|
24
24
|
<!-- @quark id="mono" --><!-- /@quark -->
|
|
25
25
|
<!-- @quark id="moti" --><!-- /@quark -->
|
|
@@ -29,17 +29,17 @@
|
|
|
29
29
|
<mink>komaneti</mink>
|
|
30
30
|
|
|
31
31
|
<potato id="aa" lc="/cc">
|
|
32
|
-
|
|
32
|
+
<potato id="/bb"></potato>
|
|
33
33
|
</potato>
|
|
34
34
|
|
|
35
35
|
<potato id="aa" id2="bb" lc="/cc">
|
|
36
|
-
|
|
36
|
+
<potato id="/bb"><test></test></potato>
|
|
37
37
|
</potato>
|
|
38
38
|
|
|
39
39
|
<potato2 id="aa" id2="bb" lc="/cc"/>
|
|
40
40
|
|
|
41
41
|
<hamachi id="aa" id2="bb" lc="/cc">
|
|
42
|
-
|
|
42
|
+
test
|
|
43
43
|
</hamachi>
|
|
44
44
|
|
|
45
45
|
<hamachi id="aa" id2="bb" />
|
data/demo/ml/sample_html.html
CHANGED
|
@@ -1,32 +1,33 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
1
2
|
<html lang="ja">
|
|
2
|
-
<head>
|
|
3
|
-
<title>HTMLテスト</title>
|
|
4
|
-
<meta
|
|
5
|
-
</head>
|
|
3
|
+
<head>
|
|
4
|
+
<title>HTMLテスト</title>
|
|
5
|
+
<meta charset="UTF-8"/>
|
|
6
|
+
</head>
|
|
6
7
|
|
|
7
|
-
<body>
|
|
8
|
-
<div id="hello" class="black">Hello,World</div>
|
|
9
|
-
<div id="hello2">Hello,World</div>
|
|
10
|
-
<!-- @quark id="hello3" -->Hello,World<!-- /@quark -->
|
|
11
|
-
<form>
|
|
12
|
-
<input id="text1" name="text1" type="text">
|
|
8
|
+
<body>
|
|
9
|
+
<div id="hello" class="black">Hello,World</div>
|
|
10
|
+
<div id="hello2">Hello,World</div>
|
|
11
|
+
<!-- @quark id="hello3" -->Hello,World<!-- /@quark -->
|
|
12
|
+
<form>
|
|
13
|
+
<input id="text1" name="text1" type="text">
|
|
13
14
|
|
|
14
|
-
<input id="radio1" type="radio">
|
|
15
|
+
<input id="radio1" name="radio1" type="radio">
|
|
15
16
|
|
|
16
|
-
<select name="select1">
|
|
17
|
-
<option id="option1">オプション</option>
|
|
18
|
-
</select>
|
|
17
|
+
<select id="select1" name="select1">
|
|
18
|
+
<option id="option1">オプション</option>
|
|
19
|
+
</select>
|
|
19
20
|
|
|
20
|
-
<select id="select2">
|
|
21
|
-
<option id="option2">オプション</option>
|
|
22
|
-
</select>
|
|
23
|
-
</form>
|
|
21
|
+
<select id="select2" name="select2">
|
|
22
|
+
<option id="option2">オプション</option>
|
|
23
|
+
</select>
|
|
24
|
+
</form>
|
|
24
25
|
|
|
25
|
-
<table>
|
|
26
|
-
<tr id="loop">
|
|
27
|
-
<td id="aa"></td><td id="bb"></td><td id="cc"></td>
|
|
28
|
-
</tr>
|
|
29
|
-
</table>
|
|
26
|
+
<table>
|
|
27
|
+
<tr id="loop">
|
|
28
|
+
<td id="aa"></td><td id="bb"></td><td id="cc"></td>
|
|
29
|
+
</tr>
|
|
30
|
+
</table>
|
|
30
31
|
|
|
31
|
-
</body>
|
|
32
|
+
</body>
|
|
32
33
|
</html>
|
data/demo/ml/sample_html4.html
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
1
|
<html lang="ja">
|
|
2
|
-
<head>
|
|
3
|
-
<title>HTMLテスト</title>
|
|
4
|
-
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
5
|
-
</head>
|
|
6
|
-
|
|
7
|
-
<body>
|
|
8
|
-
<div id="hello" class="black">Hello,World</div>
|
|
9
|
-
<div id="hello2">Hello,World</div>
|
|
10
|
-
<!-- @quark id="hello3" -->Hello,World<!-- /@quark -->
|
|
11
|
-
<form>
|
|
12
|
-
<input id="text1" type="text" >
|
|
13
|
-
|
|
14
|
-
<input id="radio1" type="radio" class="test">
|
|
15
|
-
|
|
16
|
-
<select id="select1">
|
|
17
|
-
<option id="option1">オプション</option>
|
|
18
|
-
</select>
|
|
19
|
-
|
|
20
|
-
<select id="select2">
|
|
21
|
-
<option id="option2">オプション</option>
|
|
22
|
-
</select>
|
|
23
|
-
</form>
|
|
24
|
-
|
|
25
|
-
<table>
|
|
26
|
-
<tr id="loop">
|
|
27
|
-
<td id="aa"></td><td id="bb"></td><td id="cc"></td>
|
|
28
|
-
</tr>
|
|
29
|
-
</table>
|
|
30
|
-
|
|
31
|
-
<div id="sample" style="background-color: aliceblue;" >
|
|
32
|
-
<div>test</div>
|
|
33
|
-
</div>
|
|
34
|
-
|
|
35
|
-
<div id="sample2" style="background-color: aliceblue;" class="test">
|
|
36
|
-
<div>test</div>
|
|
37
|
-
</div>
|
|
38
|
-
|
|
39
|
-
</body>
|
|
2
|
+
<head>
|
|
3
|
+
<title>HTMLテスト</title>
|
|
4
|
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
5
|
+
</head>
|
|
6
|
+
|
|
7
|
+
<body>
|
|
8
|
+
<div id="hello" class="black">Hello,World</div>
|
|
9
|
+
<div id="hello2">Hello,World</div>
|
|
10
|
+
<!-- @quark id="hello3" -->Hello,World<!-- /@quark -->
|
|
11
|
+
<form>
|
|
12
|
+
<input id="text1" name="text1" type="text" >
|
|
13
|
+
|
|
14
|
+
<input id="radio1" name="radio1" type="radio" class="test">
|
|
15
|
+
|
|
16
|
+
<select id="select1" name="select1">
|
|
17
|
+
<option id="option1">オプション</option>
|
|
18
|
+
</select>
|
|
19
|
+
|
|
20
|
+
<select id="select2" name="select2">
|
|
21
|
+
<option id="option2">オプション</option>
|
|
22
|
+
</select>
|
|
23
|
+
</form>
|
|
24
|
+
|
|
25
|
+
<table>
|
|
26
|
+
<tr id="loop">
|
|
27
|
+
<td id="aa"></td><td id="bb"></td><td id="cc"></td>
|
|
28
|
+
</tr>
|
|
29
|
+
</table>
|
|
30
|
+
|
|
31
|
+
<div id="sample" style="background-color: aliceblue;" >
|
|
32
|
+
<div>test</div>
|
|
33
|
+
</div>
|
|
34
|
+
|
|
35
|
+
<div id="sample2" style="background-color: aliceblue;" class="test">
|
|
36
|
+
<div>test</div>
|
|
37
|
+
</div>
|
|
38
|
+
|
|
39
|
+
</body>
|
|
40
40
|
</html>
|
data/demo/ml/sample_xhtml.html
CHANGED
|
@@ -1,33 +1,34 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
1
2
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
3
|
<html lang="ja">
|
|
3
|
-
<head>
|
|
4
|
-
<title>HTMLテスト</title>
|
|
5
|
-
<meta
|
|
6
|
-
</head>
|
|
4
|
+
<head>
|
|
5
|
+
<title>HTMLテスト</title>
|
|
6
|
+
<meta charset="UTF-8"/>
|
|
7
|
+
</head>
|
|
7
8
|
|
|
8
|
-
<body>
|
|
9
|
-
<div id="hello" class="black">Hello,World</div>
|
|
10
|
-
<div id="hello2">Hello,World</div>
|
|
11
|
-
<!-- @quark id="hello3" -->Hello,World<!-- /@quark -->
|
|
12
|
-
<form>
|
|
13
|
-
<input id="text1" type="text" />
|
|
9
|
+
<body>
|
|
10
|
+
<div id="hello" class="black">Hello,World</div>
|
|
11
|
+
<div id="hello2">Hello,World</div>
|
|
12
|
+
<!-- @quark id="hello3" -->Hello,World<!-- /@quark -->
|
|
13
|
+
<form>
|
|
14
|
+
<input id="text1" name="text1" type="text" />
|
|
14
15
|
|
|
15
|
-
<input id="radio1" type="radio" />
|
|
16
|
+
<input id="radio1" name="radio1" type="radio" />
|
|
16
17
|
|
|
17
|
-
<select>
|
|
18
|
-
<option id="option1">オプション</option>
|
|
19
|
-
</select>
|
|
18
|
+
<select id="select1" name="select1">
|
|
19
|
+
<option id="option1">オプション</option>
|
|
20
|
+
</select>
|
|
20
21
|
|
|
21
|
-
<select id="select2">
|
|
22
|
-
<option id="option2">オプション</option>
|
|
23
|
-
</select>
|
|
24
|
-
</form>
|
|
22
|
+
<select id="select2" name="select2">
|
|
23
|
+
<option id="option2">オプション</option>
|
|
24
|
+
</select>
|
|
25
|
+
</form>
|
|
25
26
|
|
|
26
|
-
<table>
|
|
27
|
-
<tr id="loop">
|
|
28
|
-
<td id="aa"></td><td id="bb"></td><td id="cc"></td>
|
|
29
|
-
</tr>
|
|
30
|
-
</table>
|
|
27
|
+
<table>
|
|
28
|
+
<tr id="loop">
|
|
29
|
+
<td id="aa"></td><td id="bb"></td><td id="cc"></td>
|
|
30
|
+
</tr>
|
|
31
|
+
</table>
|
|
31
32
|
|
|
32
|
-
</body>
|
|
33
|
+
</body>
|
|
33
34
|
</html>
|