vcdom 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. data/lib/vcdom/attr.rb +70 -0
  2. data/lib/vcdom/attr_node_map.rb +30 -0
  3. data/lib/vcdom/attr_ns.rb +38 -0
  4. data/lib/vcdom/character_data.rb +22 -0
  5. data/lib/vcdom/child.rb +53 -0
  6. data/lib/vcdom/document.rb +126 -0
  7. data/lib/vcdom/element.rb +332 -0
  8. data/lib/vcdom/element_ns.rb +44 -0
  9. data/lib/vcdom/node.rb +278 -0
  10. data/lib/vcdom/node_list.rb +32 -0
  11. data/lib/vcdom/parent.rb +126 -0
  12. data/lib/vcdom/text.rb +23 -0
  13. data/lib/vcdom/xml_parser.rb +368 -0
  14. data/lib/vcdom/xml_serializer.rb +55 -0
  15. metadata +48 -81
  16. data/History.txt +0 -4
  17. data/Manifest.txt +0 -34
  18. data/PostInstall.txt +0 -7
  19. data/README.rdoc +0 -51
  20. data/Rakefile +0 -26
  21. data/lib/vcdom/minidom/attr.rb +0 -139
  22. data/lib/vcdom/minidom/attr_ns.rb +0 -47
  23. data/lib/vcdom/minidom/cdata_section.rb +0 -34
  24. data/lib/vcdom/minidom/character_data.rb +0 -263
  25. data/lib/vcdom/minidom/comment.rb +0 -34
  26. data/lib/vcdom/minidom/document.rb +0 -245
  27. data/lib/vcdom/minidom/dom_exception.rb +0 -51
  28. data/lib/vcdom/minidom/dom_implementation.rb +0 -214
  29. data/lib/vcdom/minidom/element.rb +0 -512
  30. data/lib/vcdom/minidom/element_ns.rb +0 -42
  31. data/lib/vcdom/minidom/mini_parser.rb +0 -9
  32. data/lib/vcdom/minidom/mini_serializer.rb +0 -118
  33. data/lib/vcdom/minidom/minidom_standard_error.rb +0 -9
  34. data/lib/vcdom/minidom/mod_child_node.rb +0 -51
  35. data/lib/vcdom/minidom/mod_elements_getter.rb +0 -49
  36. data/lib/vcdom/minidom/mod_namespaceuri_manageable.rb +0 -152
  37. data/lib/vcdom/minidom/mod_parent_node.rb +0 -307
  38. data/lib/vcdom/minidom/named_node_map_attr.rb +0 -277
  39. data/lib/vcdom/minidom/node.rb +0 -178
  40. data/lib/vcdom/minidom/node_list.rb +0 -41
  41. data/lib/vcdom/minidom/text.rb +0 -77
  42. data/lib/vcdom/minidom/xml_reg_exp.rb +0 -39
  43. data/lib/vcdom/minidom.rb +0 -9
  44. data/lib/vcdom.rb +0 -6
  45. data/script/console +0 -10
  46. data/script/destroy +0 -14
  47. data/script/generate +0 -14
  48. data/test/test_helper.rb +0 -3
  49. data/test/test_vcdom.rb +0 -11
@@ -0,0 +1,368 @@
1
+ # coding : utf-8
2
+
3
+ require "vcdom/document"
4
+
5
+ module VCDOM
6
+ class XMLInput
7
+ def string_data
8
+ @string_data
9
+ end
10
+ def string_data=( str_data )
11
+ @string_data = str_data
12
+ end
13
+ end
14
+ class XMLContentHandler
15
+ def initialize( document_class )
16
+ @document_class = document_class
17
+ @ns_stack = Array.new()
18
+ end
19
+ def ns_stack
20
+ @ns_stack
21
+ end
22
+ def start_document
23
+ @doc = @document_class._new()
24
+ @cur = @doc
25
+ end
26
+ def end_document
27
+ return @doc
28
+ end
29
+ def on_stag( name, ns_uri )
30
+ @cur = @cur.append_child( @doc.create_element_ns( ns_uri, name ) )
31
+ end
32
+ def on_etag( name )
33
+ if @cur.node_name != name then
34
+ raise "[ERROR] @cur.node_name : #{@cur.node_name}, name : #{name}"
35
+ end
36
+ @cur = @cur.parent_node
37
+ end
38
+ def on_eetag( name, ns_uri )
39
+ @cur = @cur.append_child( @doc.create_element_ns( ns_uri, name ) )
40
+ end
41
+ def on_end_eetag()
42
+ @cur = @cur.parent_node
43
+ end
44
+ def on_begin_attr( name, ns_uri )
45
+ attr = @doc.create_attribute_ns( ns_uri, name )
46
+ @cur.set_attribute_node_ns( attr )
47
+ @cur = attr
48
+ end
49
+ def on_end_attr()
50
+ @cur = @cur.owner_element
51
+ end
52
+ def on_chardata( char_data )
53
+ @cur.append_child( @doc.create_text_node( char_data ) )
54
+ end
55
+ end
56
+ class XMLParser
57
+
58
+ def parse( input )
59
+ source = input.string_data
60
+ if source.class == String then
61
+ _parse_xml_str( source, XMLContentHandler.new( VCDOM::Document ) )
62
+ else
63
+ raise ArgumentTypeError.new()
64
+ end
65
+ end
66
+
67
+ def _parse_xml_str( xml_str, content_handler )
68
+ content_handler.start_document()
69
+ i = 0
70
+ loop do
71
+ if xml_str[i].nil? then
72
+ break
73
+ elsif xml_str[i] == "<" then
74
+ i += 1
75
+ if xml_str[i] == "/" then
76
+ # ETag ::= '</' Name S? '>'
77
+ i = _parse_end_tag( xml_str, i+1, content_handler )
78
+ elsif xml_str[i] == "?" then
79
+ # PI
80
+ elsif xml_str[i] == "!" then
81
+ i += 1
82
+ if xml_str[i,2] == "--" then
83
+ # Comment ::= '<!--' ((Char - '-') | ('-' (Char - '-')))* '-->'
84
+ i = _parse_comment( xml_str, i+2, content_handler )
85
+ elsif xml_str[i,7] == "[CDATA[" then
86
+ # CDATA
87
+ i = _parse_cdata( xml_str, i+7, content_handler )
88
+ else
89
+ $stdout << "ERROR" << "\n"
90
+ end
91
+ else
92
+ i = _parse_stag_or_eetag( xml_str, i, content_handler )
93
+ end
94
+ elsif xml_str[i] == "&" and not _is_char_ref_or_predef_entity_ref?( xml_str, i ) then
95
+ raise "NOT SUPPORT"
96
+ # Reference ::= EntityRef | CharRef
97
+ # EntityRef ::= '&' Name ';'
98
+ # CharRef ::= '&#' [0-9]+ ';' | '&#x' [0-9a-fA-F]+ ';'
99
+ else
100
+ # CharData ::= [^<&]* - ([^<&]* ']]>' [^<&]*)
101
+ i = _parse_chardata_or_entity_reference( xml_str, i, content_handler )
102
+ end
103
+ end
104
+ return content_handler.end_document()
105
+ end
106
+ private :_parse_xml_str
107
+
108
+ def _parse_stag_or_eetag( str, i, content_handler )
109
+ #@listener.on_begin_stag_or_eetag()
110
+ # 要素名の取得
111
+ elem_name = String.new()
112
+ loop do
113
+ if str[i] != ">" and str[i] != "/" and str[i] != " " then
114
+ elem_name << str[i]
115
+ i += 1
116
+ else
117
+ break
118
+ end
119
+ end
120
+ if elem_name.length != 0 then
121
+ #@listener.on_tag_name( elem_name )
122
+ else
123
+ $stdout << "ERROR" << "\n"
124
+ end
125
+ # 属性の取得
126
+ attrs = Array.new()
127
+ ns_attrs = Array.new()
128
+ loop do
129
+ # 空白の除去
130
+ i = _skip_white_spaces( str, i )
131
+ # 属性リストの終了を確認
132
+ if str[i] == "/" or str[i] == ">" then
133
+ break
134
+ end
135
+ # 属性名の取得
136
+ attr_name = String.new()
137
+ loop do
138
+ if str[i] and str[i] != "=" and str[i] != " " then
139
+ attr_name << str[i]
140
+ i += 1
141
+ else
142
+ break
143
+ end
144
+ end
145
+ # 空白の除去
146
+ i = _skip_white_spaces( str, i )
147
+ # 等値記号の確認
148
+ if str[i] == "=" then
149
+ i += 1
150
+ else
151
+ raise "[ERROR] str[i] : #{str[i]}"
152
+ end
153
+ # 空白の除去
154
+ i = _skip_white_spaces( str, i )
155
+ # 属性値の取得
156
+ if str[i] == "\"" or str[i] == "'" then
157
+ quot = str[i]
158
+ i += 1
159
+ else
160
+ raise "[ERROR] str[i] : #{str[i]}"
161
+ end
162
+ attr_val = String.new
163
+ loop do
164
+ if str[i] and str[i] != quot then
165
+ attr_val << str[i]
166
+ i += 1
167
+ else
168
+ break
169
+ end
170
+ end
171
+ if str[i] == quot then
172
+ i += 1
173
+ else
174
+ raise "ERROR"
175
+ end
176
+ if attr_name == "xmlns" or attr_name[0,6] == "xmlns:" then
177
+ ns_attrs << [ attr_name, attr_val ]
178
+ else
179
+ attrs << [ attr_name, attr_val ]
180
+ end
181
+ end
182
+ # 空白の除去
183
+ i = _skip_white_spaces( str, i )
184
+ # この要素で使える名前空間 prefix を調整
185
+ if content_handler.ns_stack[-1] then
186
+ ns_map = content_handler.ns_stack[-1]
187
+ else
188
+ ns_map = { nil => nil }
189
+ end
190
+ if ns_attrs.length != 0 then
191
+ ns_map = ns_map.clone
192
+ ns_attrs.each do |ns_pair|
193
+ # ns_pair[0] : attr_name, ns_pair[1] : attr_value
194
+ if ns_pair[0] == "xmlns" then
195
+ ns_map[nil] = ns_pair[1]
196
+ else
197
+ ns_map[ ns_pair[0][6..-1].intern ] = ns_pair[1]
198
+ end
199
+ end
200
+ end
201
+ # 最後の ">" または "/>" の確認
202
+ is_eetag = false
203
+ if str[i] == ">" then
204
+ # 名前空間スタックに積む
205
+ content_handler.ns_stack.push( ns_map )
206
+ i += 1
207
+ elsif str[i] == "/" and str[i+1] == ">" then
208
+ is_eetag = true
209
+ i += 2
210
+ else
211
+ $stdout << "ERROR" << "\n"
212
+ end
213
+ # 要素の処理
214
+ name_pair = elem_name.split /:/
215
+ if name_pair.length == 1 then
216
+ ns_uri = ns_map[nil]
217
+ elsif name_pair.length == 2 then
218
+ if name_pair[0] != "xml" then
219
+ ns_uri = ns_map[ name_pair[0].intern ]
220
+ else
221
+ ns_uri = "http://www.w3.org/XML/1998/namespace"
222
+ end
223
+ else
224
+ raise "ERROR"
225
+ end
226
+ if is_eetag then
227
+ content_handler.on_eetag( elem_name, ns_uri )
228
+ else
229
+ content_handler.on_stag( elem_name, ns_uri )
230
+ end
231
+ # 属性の処理
232
+ ns_attrs.each do |attr|
233
+ content_handler.on_begin_attr( attr[0], "http://www.w3.org/2000/xmlns/" )
234
+ content_handler.on_chardata( attr[1] ) if attr[1]
235
+ content_handler.on_end_attr()
236
+ end
237
+ attrs.each do |attr|
238
+ if attr[0][0,4] == "xml:" then
239
+ content_handler.on_begin_attr( attr[0], "http://www.w3.org/XML/1998/namespace" )
240
+ else
241
+ name_pair = attr[0].split /:/
242
+ if name_pair.length == 1 then
243
+ content_handler.on_begin_attr( attr[0], nil )
244
+ elsif name_pair.length == 2 then
245
+ content_handler.on_begin_attr( attr[0], ns_map[ name_pair[0].intern ] )
246
+ end
247
+ end
248
+ content_handler.on_chardata( attr[1] ) if attr[1]
249
+ content_handler.on_end_attr()
250
+ end
251
+ if is_eetag then
252
+ content_handler.on_end_eetag()
253
+ end
254
+ return i
255
+ end
256
+
257
+ def _parse_end_tag( str, i, content_handler )
258
+ # 要素名の取得
259
+ elem_name = String.new
260
+ loop do
261
+ if str[i] != ">" && str != " " then
262
+ elem_name << str[i]
263
+ i += 1
264
+ else
265
+ break
266
+ end
267
+ end
268
+ if elem_name.length == 0 then
269
+ $stdout << "ERROR" << "\n"
270
+ end
271
+ # 空白の除去
272
+ i = _skip_white_spaces( str, i )
273
+ if str[i] == ">" then
274
+ i += 1
275
+ else
276
+ $stdout << "ERROR" << "\n"
277
+ end
278
+ content_handler.on_etag( elem_name )
279
+ # 名前空間スタックにから取り出す
280
+ content_handler.ns_stack.pop()
281
+ return i
282
+ end
283
+
284
+ def _is_char_ref_or_predef_entity_ref?( str, i )
285
+ if str[i] == "&" then
286
+ if str[i+1] == "#" then
287
+ return true
288
+ elsif str[i+2,3] == "lt;" or str[i+2,3] == "gt;" or str[i+2,5] == "quot;" or
289
+ str[i+2,5] == "apos;" or str[i+2,4] == "amp;" then
290
+ return true
291
+ else
292
+ return false
293
+ end
294
+ end
295
+ end
296
+
297
+ def _parse_chardata_or_entity_reference( str, i, content_handler )
298
+ # CharData ::= [^<&]* - ([^<&]* ']]>' [^<&]*)
299
+ chardata = String.new()
300
+ loop do
301
+ if str[i].nil? or str[i] == "<" then
302
+ break
303
+ #elsif str[i] == "]" and str[i+1] == "]" and str[i+2] == ">" then
304
+ # break
305
+ elsif str[i] == "&" then
306
+ if str[i+1] != "#" then
307
+ if str[i+2,3] == "lt;" then
308
+ chardata << "<"
309
+ elsif str[i+2,3] == "gt;" then
310
+ chardata << ">"
311
+ elsif str[i+2,5] == "quot;" then
312
+ chardata << "\""
313
+ elsif str[i+2,5] == "apos;" then
314
+ chardata << "'"
315
+ elsif str[i+2,4] == "amp;" then
316
+ chardata << "&"
317
+ else
318
+ # entity reference
319
+ break
320
+ end
321
+ else
322
+ # when character reference
323
+ i += 2
324
+ num = String.new()
325
+ loop do
326
+ if str[i].nil? then
327
+ raise "ERROR"
328
+ elsif str[i] != ";" then
329
+ num << str[i]
330
+ i += 1
331
+ else
332
+ break
333
+ end
334
+ end
335
+ if num[0] == "x" then
336
+ num = num[1..-1].to_i(16)
337
+ else
338
+ num = num.to_i
339
+ end
340
+ chardata << [num].pack("U")
341
+ if str[i] == ";" then
342
+ i += 1
343
+ else
344
+ raise "ERROR"
345
+ end
346
+ end
347
+ else
348
+ chardata << str[i]
349
+ i += 1
350
+ end
351
+ end
352
+ content_handler.on_chardata( chardata )
353
+ return i
354
+ end
355
+
356
+ def _skip_white_spaces( str, i )
357
+ loop do
358
+ if str[i] == " " then
359
+ i += 1
360
+ else
361
+ break
362
+ end
363
+ end
364
+ return i
365
+ end
366
+
367
+ end
368
+ end
@@ -0,0 +1,55 @@
1
+ # coding : utf-8
2
+
3
+ require "vcdom/node"
4
+
5
+ module VCDOM
6
+ class XMLSerializer
7
+
8
+ def write_to_string( node )
9
+ str = String.new
10
+ _write_to_string( node, str )
11
+ str
12
+ end
13
+
14
+ def _write_to_string( node, str )
15
+ case node.node_type
16
+ when Node::DOCUMENT_NODE then
17
+ node.each_child_node do |n|
18
+ _write_to_string( n, str )
19
+ end
20
+ when Node::ELEMENT_NODE then
21
+ str << "<#{node.tag_name}"
22
+ _write_to_string_attrs( node, str )
23
+ str << ">"
24
+ node.each_child_node do |n|
25
+ _write_to_string( n, str )
26
+ end
27
+ str << "</#{node.tag_name}>"
28
+ when Node::TEXT_NODE then
29
+ str << node.data
30
+ else
31
+ raise "NOT SUPPORTED: " + node.inspect
32
+ end
33
+ end
34
+ private :_write_to_string
35
+
36
+ def _write_to_string_attrs( node, str )
37
+ node.each_attr_node do |n|
38
+ str << " "
39
+ str << n.name
40
+ str << "=\""
41
+ n.each_child_node do |c|
42
+ case c.node_type
43
+ when Node::TEXT_NODE then
44
+ str << c.data
45
+ else
46
+ raise "SORRY... UNSUPORTED"
47
+ end
48
+ end
49
+ str << "\""
50
+ end
51
+ end
52
+ private :_write_to_string
53
+
54
+ end
55
+ end
metadata CHANGED
@@ -1,122 +1,89 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vcdom
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 3
8
+ - 0
9
+ version: 0.3.0
5
10
  platform: ruby
6
11
  authors:
7
- - Y. NOBUOKA
12
+ - nobuoka
8
13
  autorequire:
9
14
  bindir: bin
10
15
  cert_chain: []
11
16
 
12
- date: 2010-01-17 00:00:00 +09:00
17
+ date: 2010-12-04 00:00:00 +09:00
13
18
  default_executable:
14
19
  dependencies:
15
20
  - !ruby/object:Gem::Dependency
16
- name: rubyforge
17
- type: :development
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
23
- version: 2.0.3
24
- version:
25
- - !ruby/object:Gem::Dependency
26
- name: gemcutter
27
- type: :development
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
21
+ name: thoughtbot-shoulda
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
30
25
  requirements:
31
26
  - - ">="
32
27
  - !ruby/object:Gem::Version
33
- version: 0.3.0
34
- version:
35
- - !ruby/object:Gem::Dependency
36
- name: hoe
28
+ segments:
29
+ - 0
30
+ version: "0"
37
31
  type: :development
38
- version_requirement:
39
- version_requirements: !ruby/object:Gem::Requirement
40
- requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- version: 2.5.0
44
- version:
45
- description: This library provides DOM implementation(s).
46
- email:
47
- - nobuoka@r-definition.com
32
+ version_requirements: *id001
33
+ description: This gem is a one of implementations of W3C DOM....
34
+ email: nobuoka@r-definition.com
48
35
  executables: []
49
36
 
50
37
  extensions: []
51
38
 
52
- extra_rdoc_files:
53
- - History.txt
54
- - Manifest.txt
55
- - PostInstall.txt
39
+ extra_rdoc_files: []
40
+
56
41
  files:
57
- - History.txt
58
- - Manifest.txt
59
- - PostInstall.txt
60
- - README.rdoc
61
- - Rakefile
62
- - lib/vcdom.rb
63
- - lib/vcdom/minidom.rb
64
- - lib/vcdom/minidom/attr.rb
65
- - lib/vcdom/minidom/attr_ns.rb
66
- - lib/vcdom/minidom/cdata_section.rb
67
- - lib/vcdom/minidom/character_data.rb
68
- - lib/vcdom/minidom/comment.rb
69
- - lib/vcdom/minidom/document.rb
70
- - lib/vcdom/minidom/dom_exception.rb
71
- - lib/vcdom/minidom/dom_implementation.rb
72
- - lib/vcdom/minidom/element.rb
73
- - lib/vcdom/minidom/element_ns.rb
74
- - lib/vcdom/minidom/mini_parser.rb
75
- - lib/vcdom/minidom/mini_serializer.rb
76
- - lib/vcdom/minidom/minidom_standard_error.rb
77
- - lib/vcdom/minidom/mod_child_node.rb
78
- - lib/vcdom/minidom/mod_parent_node.rb
79
- - lib/vcdom/minidom/mod_elements_getter.rb
80
- - lib/vcdom/minidom/mod_namespaceuri_manageable.rb
81
- - lib/vcdom/minidom/named_node_map_attr.rb
82
- - lib/vcdom/minidom/node_list.rb
83
- - lib/vcdom/minidom/node.rb
84
- - lib/vcdom/minidom/text.rb
85
- - lib/vcdom/minidom/xml_reg_exp.rb
86
- - script/console
87
- - script/destroy
88
- - script/generate
89
- - test/test_helper.rb
90
- - test/test_vcdom.rb
42
+ - lib/vcdom/attr.rb
43
+ - lib/vcdom/attr_ns.rb
44
+ - lib/vcdom/attr_node_map.rb
45
+ - lib/vcdom/character_data.rb
46
+ - lib/vcdom/child.rb
47
+ - lib/vcdom/document.rb
48
+ - lib/vcdom/element.rb
49
+ - lib/vcdom/element_ns.rb
50
+ - lib/vcdom/node.rb
51
+ - lib/vcdom/node_list.rb
52
+ - lib/vcdom/parent.rb
53
+ - lib/vcdom/text.rb
54
+ - lib/vcdom/xml_parser.rb
55
+ - lib/vcdom/xml_serializer.rb
91
56
  has_rdoc: true
92
- homepage: http://vcdom.rubyforge.org/
57
+ homepage:
93
58
  licenses: []
94
59
 
95
- post_install_message: PostInstall.txt
60
+ post_install_message:
96
61
  rdoc_options:
97
- - --main
98
- - README.rdoc
62
+ - --charset=UTF-8
99
63
  require_paths:
100
64
  - lib
101
65
  required_ruby_version: !ruby/object:Gem::Requirement
66
+ none: false
102
67
  requirements:
103
68
  - - ">="
104
69
  - !ruby/object:Gem::Version
70
+ segments:
71
+ - 0
105
72
  version: "0"
106
- version:
107
73
  required_rubygems_version: !ruby/object:Gem::Requirement
74
+ none: false
108
75
  requirements:
109
76
  - - ">="
110
77
  - !ruby/object:Gem::Version
78
+ segments:
79
+ - 0
111
80
  version: "0"
112
- version:
113
81
  requirements: []
114
82
 
115
- rubyforge_project: vcdom
116
- rubygems_version: 1.3.5
83
+ rubyforge_project:
84
+ rubygems_version: 1.3.7
117
85
  signing_key:
118
86
  specification_version: 3
119
- summary: This library provides DOM implementation(s).
120
- test_files:
121
- - test/test_vcdom.rb
122
- - test/test_helper.rb
87
+ summary: This gem is a one of implementations of W3C DOM.
88
+ test_files: []
89
+
data/History.txt DELETED
@@ -1,4 +0,0 @@
1
- === 0.0.1 2010-01-16
2
-
3
- * 1 major enhancement:
4
- * Initial release
data/Manifest.txt DELETED
@@ -1,34 +0,0 @@
1
- History.txt
2
- Manifest.txt
3
- PostInstall.txt
4
- README.rdoc
5
- Rakefile
6
- lib/vcdom.rb
7
- lib/vcdom/minidom.rb
8
- lib/vcdom/minidom/attr.rb
9
- lib/vcdom/minidom/attr_ns.rb
10
- lib/vcdom/minidom/cdata_section.rb
11
- lib/vcdom/minidom/character_data.rb
12
- lib/vcdom/minidom/comment.rb
13
- lib/vcdom/minidom/document.rb
14
- lib/vcdom/minidom/dom_exception.rb
15
- lib/vcdom/minidom/dom_implementation.rb
16
- lib/vcdom/minidom/element.rb
17
- lib/vcdom/minidom/element_ns.rb
18
- lib/vcdom/minidom/mini_parser.rb
19
- lib/vcdom/minidom/mini_serializer.rb
20
- lib/vcdom/minidom/minidom_standard_error.rb
21
- lib/vcdom/minidom/mod_child_node.rb
22
- lib/vcdom/minidom/mod_parent_node.rb
23
- lib/vcdom/minidom/mod_elements_getter.rb
24
- lib/vcdom/minidom/mod_namespaceuri_manageable.rb
25
- lib/vcdom/minidom/named_node_map_attr.rb
26
- lib/vcdom/minidom/node_list.rb
27
- lib/vcdom/minidom/node.rb
28
- lib/vcdom/minidom/text.rb
29
- lib/vcdom/minidom/xml_reg_exp.rb
30
- script/console
31
- script/destroy
32
- script/generate
33
- test/test_helper.rb
34
- test/test_vcdom.rb
data/PostInstall.txt DELETED
@@ -1,7 +0,0 @@
1
-
2
- For more information on vcdom, see http://vcdom.rubyforge.org
3
-
4
- NOTE: Change this information in PostInstall.txt
5
- You can also delete it if you don't want it.
6
-
7
-
data/README.rdoc DELETED
@@ -1,51 +0,0 @@
1
- = vcdom
2
-
3
- * http://vcdom.rubyforge.org/
4
-
5
- == DESCRIPTION:
6
-
7
- This library provides DOM implementation(s).
8
-
9
- == FEATURES/PROBLEMS:
10
-
11
- * list of features or problems
12
-
13
- == SYNOPSIS:
14
-
15
- impl = VCDOM::MiniDOM.get_dom_implementation()
16
- doc = impl.create_document( nil, "test", nil )
17
- doc.document_element.text_content = "This is an XML for test."
18
- $stdout << impl.mini_serializer.write_to_string( doc ) << "\n"
19
-
20
- == REQUIREMENTS:
21
-
22
- * list of requirements
23
-
24
- == INSTALL:
25
-
26
- * sudo gem install vcdom
27
-
28
- == LICENSE:
29
-
30
- (The MIT License)
31
-
32
- Copyright (c) 2010 Y. NOBUOKA
33
-
34
- Permission is hereby granted, free of charge, to any person obtaining
35
- a copy of this software and associated documentation files (the
36
- 'Software'), to deal in the Software without restriction, including
37
- without limitation the rights to use, copy, modify, merge, publish,
38
- distribute, sublicense, and/or sell copies of the Software, and to
39
- permit persons to whom the Software is furnished to do so, subject to
40
- the following conditions:
41
-
42
- The above copyright notice and this permission notice shall be
43
- included in all copies or substantial portions of the Software.
44
-
45
- THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
46
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
47
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
48
- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
49
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
50
- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
51
- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.