libxml-ruby 0.5.0.1 → 0.5.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/{CHANGELOG → CHANGELOG_to200701} +2 -0
- data/ChangeLog +426 -0
- data/ext/xml/libxml.h +4 -4
- data/ext/xml/libxml.rb +1 -1
- data/ext/xml/ruby_xml_html_parser.h +1 -1
- data/ext/xml/ruby_xml_node.c +14 -25
- data/ext/xml/ruby_xml_node_set.h +1 -1
- data/ext/xml/ruby_xml_ns.c +1 -1
- data/ext/xml/ruby_xml_ns.h +1 -1
- data/ext/xml/ruby_xml_parser.h +1 -1
- data/ext/xml/ruby_xml_parser_context.h +1 -1
- data/ext/xml/ruby_xml_sax_parser.c +1 -1
- data/ext/xml/ruby_xml_sax_parser.h +1 -1
- data/ext/xml/ruby_xml_tree.c +1 -1
- data/ext/xml/ruby_xml_tree.h +1 -1
- data/ext/xml/ruby_xml_xinclude.c +1 -1
- data/ext/xml/ruby_xml_xinclude.h +1 -1
- data/ext/xml/ruby_xml_xpath.h +1 -1
- data/ext/xml/ruby_xml_xpath_context.h +1 -1
- data/ext/xml/ruby_xml_xpointer.h +1 -1
- data/ext/xml/ruby_xml_xpointer_context.c +1 -1
- data/ext/xml/ruby_xml_xpointer_context.h +1 -1
- data/ext/xml/sax_parser_callbacks.inc +1 -1
- data/tests/tc_xml_html_parser.rb +4 -3
- metadata +12 -13
- data/tests/copy_bug.rb +0 -20
- data/tests/copy_bug2.rb +0 -32
data/ChangeLog
ADDED
@@ -0,0 +1,426 @@
|
|
1
|
+
2007-09-05 15:43 danj
|
2
|
+
|
3
|
+
* ChangeLog: svn cannot checkout the file, unknown why.
|
4
|
+
|
5
|
+
2007-09-05 15:27 danj
|
6
|
+
|
7
|
+
* ChangeLog: VERSION 0.5.1
|
8
|
+
|
9
|
+
2007-09-05 15:23 danj
|
10
|
+
|
11
|
+
* ext/xml/libxml.h: VERSION 0.5.1
|
12
|
+
|
13
|
+
2007-09-05 15:22 danj
|
14
|
+
|
15
|
+
* CHANGELOG, ChangeLog: Convert from manual CHANGELOG to
|
16
|
+
autogenerated ChangeLog by http://ch.tudelft.nl/~arthur/svn2cl/
|
17
|
+
|
18
|
+
2007-09-05 12:51 danj
|
19
|
+
|
20
|
+
* tests/tc_xml_html_parser.rb: maybe the html parser is changed,
|
21
|
+
but the html doc now gets a wrapping <p>, so the first child
|
22
|
+
content is not the hello. So a child.child is necessary
|
23
|
+
|
24
|
+
2007-09-05 12:47 danj
|
25
|
+
|
26
|
+
* ext/xml/ruby_xml_node.c: _child_set now performs implicit copy
|
27
|
+
when adding a non-root node to another node, the return value is
|
28
|
+
the new node. The return value is now the new node or the
|
29
|
+
original if not copied. rb_warning when implicit copy done. added
|
30
|
+
child_add to api so return value can be used after implicit copy.
|
31
|
+
|
32
|
+
2007-09-04 20:47 danj
|
33
|
+
|
34
|
+
* ext/xml/ruby_xml_node.c: zero sum change, notes that child=
|
35
|
+
cannot really return anything as ruby will only return the rhs of
|
36
|
+
the assignment
|
37
|
+
|
38
|
+
2007-09-04 13:02 danj
|
39
|
+
|
40
|
+
* ext/xml/ruby_xml_node.c, rwtest/copy_bug.rb, rwtest/copy_bug2.rb,
|
41
|
+
rwtest/runner.rb, tests/copy_bug.rb, tests/copy_bug2.rb: fix node
|
42
|
+
<< operator, move tests for it (copy_bug.rb, copy_bug2.rb) to
|
43
|
+
rwtests
|
44
|
+
|
45
|
+
2007-08-31 15:37 danj
|
46
|
+
|
47
|
+
* ext/xml/libxml.h, ext/xml/ruby_xml_node.c: add create callback to
|
48
|
+
clear _private, hopefully resolving copy problems, elevate to
|
49
|
+
patch level 0.5.0.1
|
50
|
+
|
51
|
+
2007-08-31 15:36 danj
|
52
|
+
|
53
|
+
* Rakefile, rwtest/doc_file.rb, rwtest/doc_to_s.rb,
|
54
|
+
rwtest/node_gc.rb, rwtest/runner.rb: add memtests
|
55
|
+
|
56
|
+
2007-08-30 12:50 danj
|
57
|
+
|
58
|
+
* ext/xml/libxml.h: change version line to 0.5.0
|
59
|
+
|
60
|
+
2007-08-30 12:49 danj
|
61
|
+
|
62
|
+
* rwtest/doc_file.rb, rwtest/test.xml: files for bug 8337
|
63
|
+
|
64
|
+
2007-08-29 18:56 danj
|
65
|
+
|
66
|
+
* tests/tc_xml_node4.rb: since object_id will not be the same for
|
67
|
+
the same node, employs to parser/docuemnt sets for comparison
|
68
|
+
test
|
69
|
+
|
70
|
+
2007-08-29 18:37 danj
|
71
|
+
|
72
|
+
* rwtest/doc_to_s.rb: test against bug 7945, doc.to_s leak
|
73
|
+
|
74
|
+
2007-08-29 18:28 danj
|
75
|
+
|
76
|
+
* ext/xml/ruby_xml_document.c: fix leak doing doc.to_s, freeing the
|
77
|
+
result from xmlDocDump...
|
78
|
+
|
79
|
+
2007-08-29 18:00 danj
|
80
|
+
|
81
|
+
* ext/xml/libxml.c, ext/xml/libxml.h, ext/xml/ruby_xml_attr.c,
|
82
|
+
ext/xml/ruby_xml_attr.h, ext/xml/ruby_xml_attribute.c,
|
83
|
+
ext/xml/ruby_xml_attribute.h, ext/xml/ruby_xml_document.c,
|
84
|
+
ext/xml/ruby_xml_document.h, ext/xml/ruby_xml_html_parser.c,
|
85
|
+
ext/xml/ruby_xml_node.c, ext/xml/ruby_xml_node.h,
|
86
|
+
ext/xml/ruby_xml_node_set.c, ext/xml/ruby_xml_parser.c,
|
87
|
+
ext/xml/ruby_xml_parser_context.c, ext/xml/ruby_xml_reader.c,
|
88
|
+
ext/xml/ruby_xml_xpath.c, ext/xml/ruby_xml_xpath_context.c,
|
89
|
+
ext/xml/ruby_xml_xpointer.c, rwtest, rwtest/gpx.rb,
|
90
|
+
rwtest/tsr.rb: initial commit of new memory management. Only 3
|
91
|
+
components have
|
92
|
+
been rewritten: node, document, attr. attribute has been removed.
|
93
|
+
Other modules have been modified to work with new rewritten
|
94
|
+
parts.
|
95
|
+
|
96
|
+
2007-08-29 17:46 danj
|
97
|
+
|
98
|
+
* .: create branch for new memory model.
|
99
|
+
|
100
|
+
2007-01-14 21:47 lrz
|
101
|
+
|
102
|
+
* : ===== 14.1.2007 Laurent Sansonetti <lrz at chopine.be>
|
103
|
+
* Added some preliminary RDoc comments for XML::Reader.
|
104
|
+
|
105
|
+
2006-12-23 18:14 roscopeco
|
106
|
+
|
107
|
+
* : Replaced RSTRING(str)->len with RSTRING_LEN(str) for future
|
108
|
+
compatibility
|
109
|
+
|
110
|
+
2006-12-05 12:03 roscopeco
|
111
|
+
|
112
|
+
* : Improved compatibility with MS Visual C:
|
113
|
+
* Replace void* increment and decrement with char* arithmetic.
|
114
|
+
* Predeclare all locals
|
115
|
+
* Removed -Wall (Win32 platform sdk emits *lots* of warnings)
|
116
|
+
* Fixed extconf for win32 libxml2 and dependencies from
|
117
|
+
http://www.zlatkovic.com/pub/libxml/
|
118
|
+
|
119
|
+
2006-12-05 11:56 roscopeco
|
120
|
+
|
121
|
+
* : removed object file committed by mistake
|
122
|
+
|
123
|
+
2006-12-04 23:40 lrz
|
124
|
+
|
125
|
+
* : ===== 5.12.2006 Laurent Sansonetti <lrz at chopine.be>
|
126
|
+
* Added XML::Reader, a set of bindings to the xmlTextReader API.
|
127
|
+
|
128
|
+
2006-12-02 11:06 roscopeco
|
129
|
+
|
130
|
+
* : Merged release task fix from 0.3.8.4
|
131
|
+
|
132
|
+
2006-11-30 17:29 roscopeco
|
133
|
+
|
134
|
+
* : Restore default config after tests to prevent wierd failures in
|
135
|
+
other tests
|
136
|
+
|
137
|
+
2006-11-27 10:41 roscopeco
|
138
|
+
|
139
|
+
* : Merged from 0.3.8.3:
|
140
|
+
* Fixed a segfault on node.properties with empty props list
|
141
|
+
(patch from Michael Koziarski)
|
142
|
+
* Fixed version macros and release version handling
|
143
|
+
|
144
|
+
2006-11-26 12:57 roscopeco
|
145
|
+
|
146
|
+
* : Merged contributed patches #6604, #6839, #6871
|
147
|
+
Slight fix to sax error formatting patch
|
148
|
+
|
149
|
+
2006-11-22 14:20 roscopeco
|
150
|
+
|
151
|
+
* : Fixed non-inclusion of Enumerable on Node::Set
|
152
|
+
|
153
|
+
2006-11-22 12:41 roscopeco
|
154
|
+
|
155
|
+
* : Fixed parsing with errors bug
|
156
|
+
|
157
|
+
2006-11-20 01:39 roscopeco
|
158
|
+
|
159
|
+
* : Merged non-backward-compatible DEV_0_4 changes:
|
160
|
+
|
161
|
+
* Implemented new HTMLParser interface
|
162
|
+
* Implemented new (faster) SAX callback strategy
|
163
|
+
|
164
|
+
2006-11-20 01:22 roscopeco
|
165
|
+
|
166
|
+
* : Merged backward-compatible fixes down from DEV_0_4:
|
167
|
+
|
168
|
+
* Tested fix of bug #4635
|
169
|
+
* Reimplemented attribute memory handling
|
170
|
+
* Fixed attribute list traversal (bug #4719)
|
171
|
+
* Integrated Luc Van Deuren's cdata/comment node patch
|
172
|
+
* Fixed test-naming bugs
|
173
|
+
* Fixed doc build bug
|
174
|
+
* Reimplemented XML::Node memory management
|
175
|
+
* Reimplemented node copy handling
|
176
|
+
* Fixed parser error handler proc early GC bug
|
177
|
+
* include stdarg.h on ruby_xml_document
|
178
|
+
|
179
|
+
2006-11-04 10:04 roscopeco
|
180
|
+
|
181
|
+
* : Merged stdarg fix
|
182
|
+
|
183
|
+
2006-10-29 19:42 roscopeco
|
184
|
+
|
185
|
+
* : Remove nodoc from libxml.rb
|
186
|
+
|
187
|
+
2006-10-20 12:31 roscopeco
|
188
|
+
|
189
|
+
* : Fixed up new packaging to play nice with 'rake install'
|
190
|
+
|
191
|
+
2006-10-20 10:41 roscopeco
|
192
|
+
|
193
|
+
* : Applied gem-build patch from Masashi Shimbo. See:
|
194
|
+
http://rubyforge.org/pipermail/libxml-devel/2006-August/000205.html
|
195
|
+
|
196
|
+
2006-10-20 10:39 roscopeco
|
197
|
+
|
198
|
+
* : Another failing test :(
|
199
|
+
|
200
|
+
2006-10-20 10:39 roscopeco
|
201
|
+
|
202
|
+
* : Removed debugging printouts
|
203
|
+
|
204
|
+
2006-08-15 13:53 roscopeco
|
205
|
+
|
206
|
+
* : Fixed nodelist handling
|
207
|
+
|
208
|
+
Patches from Stephen Veit:
|
209
|
+
Fixed for windows/visual C compliance
|
210
|
+
Fixed extconf build for Windows
|
211
|
+
|
212
|
+
(bug 5022,
|
213
|
+
http://rubyforge.org/tracker/index.php?func=detail&aid=5022&group_id=494&atid=1971)
|
214
|
+
|
215
|
+
2006-08-15 13:49 roscopeco
|
216
|
+
|
217
|
+
* : Fixed typo in reading example
|
218
|
+
See:
|
219
|
+
http://rubyforge.org/pipermail/libxml-devel/2006-June/000181.html
|
220
|
+
|
221
|
+
2006-05-31 18:22 roscopeco
|
222
|
+
|
223
|
+
* : Bugfix: gc_mark both filename and str
|
224
|
+
|
225
|
+
2006-05-31 17:26 roscopeco
|
226
|
+
|
227
|
+
* : Fixed a typo bug
|
228
|
+
|
229
|
+
2006-05-28 14:06 roscopeco
|
230
|
+
|
231
|
+
* : Allow Node#[] and Node#[]= to handle symbol keys (See
|
232
|
+
http://rubyforge.org/pipermail/libxml-devel/2006-May/000135.html)
|
233
|
+
|
234
|
+
2006-05-28 13:29 roscopeco
|
235
|
+
|
236
|
+
* : Applied previous node fix (See bug #4497)
|
237
|
+
|
238
|
+
2006-05-10 18:03 roscopeco
|
239
|
+
|
240
|
+
* : Implemented Node#next= and Node#prev=
|
241
|
+
|
242
|
+
2006-05-10 18:02 roscopeco
|
243
|
+
|
244
|
+
* : Fixed incorrect class name
|
245
|
+
|
246
|
+
2006-05-01 16:42 roscopeco
|
247
|
+
|
248
|
+
* : Removed a duplicate definition (and corresponding warning)
|
249
|
+
|
250
|
+
2006-05-01 16:39 roscopeco
|
251
|
+
|
252
|
+
* : dev 0.3.9
|
253
|
+
|
254
|
+
2006-04-24 19:40 roscopeco
|
255
|
+
|
256
|
+
* : release 0.3.8
|
257
|
+
|
258
|
+
2006-04-24 19:39 roscopeco
|
259
|
+
|
260
|
+
* : Fixed a bug in release version update
|
261
|
+
|
262
|
+
2006-04-24 19:29 roscopeco
|
263
|
+
|
264
|
+
* : changelog/readme update for release
|
265
|
+
|
266
|
+
2006-04-24 19:17 roscopeco
|
267
|
+
|
268
|
+
* : Fixed tarball installation to site_ruby (added libxml.rb to
|
269
|
+
install)
|
270
|
+
|
271
|
+
2006-04-24 18:29 roscopeco
|
272
|
+
|
273
|
+
* : Check compiler supports -Wall before using it
|
274
|
+
|
275
|
+
2006-04-24 18:26 roscopeco
|
276
|
+
|
277
|
+
* : Fixed rake testrunner bug
|
278
|
+
|
279
|
+
2006-04-17 13:30 roscopeco
|
280
|
+
|
281
|
+
* : Switched .so to libxml_so and introduced libxml.rb to allow
|
282
|
+
easier API prototype / update
|
283
|
+
Fixed testcases for new require setup (use $LOADPATH rather than
|
284
|
+
filename require)
|
285
|
+
|
286
|
+
2006-04-17 12:02 roscopeco
|
287
|
+
|
288
|
+
* : Fixed rdoc build in gems
|
289
|
+
|
290
|
+
2006-04-14 23:46 roscopeco
|
291
|
+
|
292
|
+
* : Fixed a struct initialization bug I introduced
|
293
|
+
|
294
|
+
2006-04-14 14:50 roscopeco
|
295
|
+
|
296
|
+
* : Fixed a build bug I introduced
|
297
|
+
|
298
|
+
2006-04-14 14:45 roscopeco
|
299
|
+
|
300
|
+
* : First cut of SAX callback API
|
301
|
+
|
302
|
+
2006-04-14 14:45 roscopeco
|
303
|
+
|
304
|
+
* : Include Enumerable
|
305
|
+
|
306
|
+
2006-04-12 12:08 roscopeco
|
307
|
+
|
308
|
+
* : From Mark Van Holstyn (mvette13 AT gmail DOT com):
|
309
|
+
* Added XML::Node::Set#first
|
310
|
+
* Added XML::Node::Set#empty?
|
311
|
+
* Fixes to XML::Node::Set#to_a
|
312
|
+
* Added XML::Node#find_first
|
313
|
+
* Added XML::Node#remove!
|
314
|
+
|
315
|
+
Also:
|
316
|
+
* Tested the above
|
317
|
+
* Defined node (hash) equality in terms of XML representation
|
318
|
+
* Added comparable nodes to TODOs and updated changelog
|
319
|
+
|
320
|
+
2006-04-12 10:02 roscopeco
|
321
|
+
|
322
|
+
* : XML::Node#content fix Tim Yamin <plasmaroo AT gentoo DOT org>
|
323
|
+
|
324
|
+
2006-04-12 10:00 roscopeco
|
325
|
+
|
326
|
+
* : Added rubygems require to example code
|
327
|
+
|
328
|
+
2006-03-27 20:49 roscopeco
|
329
|
+
|
330
|
+
* : Implemented & tested XML::Parser.register_error_handler
|
331
|
+
Doc fixup (XML::DTD -> XML::Dtd)
|
332
|
+
|
333
|
+
2006-03-27 20:46 roscopeco
|
334
|
+
|
335
|
+
* : development version roll
|
336
|
+
|
337
|
+
2006-03-21 22:41 roscopeco
|
338
|
+
|
339
|
+
* : Updated instructions
|
340
|
+
|
341
|
+
2006-03-09 23:12 roscopeco
|
342
|
+
|
343
|
+
* : Added RUBY_LIBXML_VER_xxx defines for libxslt checking
|
344
|
+
Updated release versioning in Rakefile
|
345
|
+
Todo update
|
346
|
+
|
347
|
+
2006-03-09 20:04 roscopeco
|
348
|
+
|
349
|
+
* : Fixed copy/paste errors in documentation
|
350
|
+
|
351
|
+
2006-02-28 09:57 roscopeco
|
352
|
+
|
353
|
+
* : * Ignored vi .swp files
|
354
|
+
* Updated Changelog
|
355
|
+
* Updated copyright years
|
356
|
+
* Removed done todos
|
357
|
+
|
358
|
+
2006-02-27 12:55 roscopeco
|
359
|
+
|
360
|
+
* : * Fixed issues with -fno-common GCC flag
|
361
|
+
* Removed OSX -fno-common workaround
|
362
|
+
* Fixed a couple of typos
|
363
|
+
|
364
|
+
2006-02-23 18:30 roscopeco
|
365
|
+
|
366
|
+
* : Release 0.3.6
|
367
|
+
|
368
|
+
2006-02-21 20:40 roscopeco
|
369
|
+
|
370
|
+
* : Rearranged source layout to suit RubyGems packaging
|
371
|
+
Removed obsolete (Rubynet) utility scripts
|
372
|
+
|
373
|
+
2006-02-21 10:35 roscopeco
|
374
|
+
|
375
|
+
* : Band-aid for OSX build probs
|
376
|
+
|
377
|
+
2006-02-20 11:16 roscopeco
|
378
|
+
|
379
|
+
* : * Fixed attribute memory handling
|
380
|
+
(http://rubyforge.org/pipermail/libxml-devel/2005-December/000030.html)
|
381
|
+
* Removed a small leak in ruby_xml_node.
|
382
|
+
* Fixed parser memory_debug_enabled doc
|
383
|
+
* Updated shebang in test runner
|
384
|
+
|
385
|
+
2006-01-02 23:19 roscopeco
|
386
|
+
|
387
|
+
* : Cleaned up casts for GCC 4.0
|
388
|
+
Migrated from (obsolete) STR2CSTR to StringValuePtr
|
389
|
+
|
390
|
+
2006-01-02 23:18 roscopeco
|
391
|
+
|
392
|
+
* : Fixed Make invocation
|
393
|
+
|
394
|
+
2006-01-02 21:31 roscopeco
|
395
|
+
|
396
|
+
* : Cleaned up casts for GCC 4.0
|
397
|
+
Migrated from (obsolete) STR2CSTR to StringValuePtr
|
398
|
+
|
399
|
+
2005-12-29 19:10 bshow
|
400
|
+
|
401
|
+
* : Added "doc" to cleanfiles; added new task "pubdoc"
|
402
|
+
|
403
|
+
2005-12-29 19:10 bshow
|
404
|
+
|
405
|
+
* : Added "doc"
|
406
|
+
|
407
|
+
2005-12-29 19:00 bshow
|
408
|
+
|
409
|
+
* : Prevent RDoc from wrapping copyright notices
|
410
|
+
|
411
|
+
2005-12-19 20:51 roscopeco
|
412
|
+
|
413
|
+
* : Removed (forgotten) temporary notice for documentation set
|
414
|
+
|
415
|
+
2005-12-19 20:48 roscopeco
|
416
|
+
|
417
|
+
* : MIT license
|
418
|
+
|
419
|
+
2005-12-19 19:57 roscopeco
|
420
|
+
|
421
|
+
* : better ignorance
|
422
|
+
|
423
|
+
2005-12-19 19:53 roscopeco
|
424
|
+
|
425
|
+
* : Initial import
|
426
|
+
|
data/ext/xml/libxml.h
CHANGED
@@ -6,12 +6,12 @@
|
|
6
6
|
/* Don't nuke this block! It is used for automatically updating the
|
7
7
|
* versions below. VERSION = string formatting, VERNUM = numbered
|
8
8
|
* version for inline testing: increment both or none at all. */
|
9
|
-
#define RUBY_LIBXML_VERSION "0.5.0
|
10
|
-
#define RUBY_LIBXML_VERNUM
|
9
|
+
#define RUBY_LIBXML_VERSION "0.5.1.0"
|
10
|
+
#define RUBY_LIBXML_VERNUM 510
|
11
11
|
#define RUBY_LIBXML_VER_MAJ 0
|
12
12
|
#define RUBY_LIBXML_VER_MIN 5
|
13
|
-
#define RUBY_LIBXML_VER_MIC
|
14
|
-
#define RUBY_LIBXML_VER_PATCH
|
13
|
+
#define RUBY_LIBXML_VER_MIC 1
|
14
|
+
#define RUBY_LIBXML_VER_PATCH 0
|
15
15
|
|
16
16
|
#include <ruby.h>
|
17
17
|
#include <rubyio.h>
|
data/ext/xml/libxml.rb
CHANGED
data/ext/xml/ruby_xml_node.c
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
/* $Id: ruby_xml_node.c
|
1
|
+
/* $Id: ruby_xml_node.c 167 2007-09-05 12:47:54Z danj $ */
|
2
2
|
|
3
3
|
/* Please see the LICENSE file for copyright and distribution information */
|
4
4
|
|
@@ -321,8 +321,7 @@ VALUE
|
|
321
321
|
ruby_xml_node_child_set(VALUE self, VALUE rnode) {
|
322
322
|
ruby_xml_node *cnode, *pnode;
|
323
323
|
xmlNodePtr chld, ret;
|
324
|
-
|
325
|
-
int ptr;
|
324
|
+
int copied=0;
|
326
325
|
|
327
326
|
if (rb_obj_is_kind_of(rnode, cXMLNode) == Qfalse)
|
328
327
|
rb_raise(rb_eTypeError, "Must pass an XML::Node object");
|
@@ -332,32 +331,21 @@ ruby_xml_node_child_set(VALUE self, VALUE rnode) {
|
|
332
331
|
|
333
332
|
chld = cnode->node;
|
334
333
|
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
if (cnode->xd && cnode->xd != Qnil) {
|
340
|
-
Data_Get_Struct(cnode->xd, ruby_xml_document_t, cdoc);
|
341
|
-
if (cdoc->doc != pdoc->doc) {
|
342
|
-
chld = xmlDocCopyNode(chld, pdoc->doc, 1);
|
343
|
-
chld->_private = 0;
|
344
|
-
ptr = 1;
|
345
|
-
}
|
346
|
-
} else {
|
347
|
-
chld = xmlDocCopyNode(chld, pdoc->doc, 1);
|
348
|
-
chld->_private = 0;
|
349
|
-
ptr = 1;
|
350
|
-
}
|
351
|
-
} else {
|
352
|
-
chld->doc = NULL;
|
334
|
+
if ( chld->parent != NULL || chld->doc != NULL ) {
|
335
|
+
chld=xmlCopyNode(chld,1);
|
336
|
+
copied=1;
|
337
|
+
rb_warning("implicit copy of %s",chld->name);
|
353
338
|
}
|
354
|
-
|
355
|
-
|
339
|
+
|
356
340
|
ret = xmlAddChild(pnode->node, chld);
|
357
|
-
if (ret == NULL)
|
341
|
+
if (ret == NULL) {
|
342
|
+
if ( copied == 1 )
|
343
|
+
xmlFreeNode(chld);
|
358
344
|
rb_raise(eXMLNodeFailedModify, "unable to add a child to the document");
|
345
|
+
}
|
359
346
|
|
360
|
-
return
|
347
|
+
// wish I could return a new wrapped chld, but ruby only returns the rhs
|
348
|
+
return ruby_xml_node2_wrap(cXMLNode,chld);
|
361
349
|
}
|
362
350
|
|
363
351
|
/*
|
@@ -2275,6 +2263,7 @@ ruby_init_xml_node(void) {
|
|
2275
2263
|
rb_define_method(cXMLNode, "child", ruby_xml_node_child_get, 0);
|
2276
2264
|
rb_define_method(cXMLNode, "child?", ruby_xml_node_child_q, 0);
|
2277
2265
|
rb_define_method(cXMLNode, "child=", ruby_xml_node_child_set, 1);
|
2266
|
+
rb_define_method(cXMLNode, "child_add", ruby_xml_node_child_set, 1);
|
2278
2267
|
rb_define_method(cXMLNode, "children", ruby_xml_node_child_get, 0);
|
2279
2268
|
rb_define_method(cXMLNode, "children?", ruby_xml_node_child_q, 0);
|
2280
2269
|
rb_define_method(cXMLNode, "content", ruby_xml_node_content_get, 0);
|
data/ext/xml/ruby_xml_node_set.h
CHANGED
data/ext/xml/ruby_xml_ns.c
CHANGED
data/ext/xml/ruby_xml_ns.h
CHANGED
data/ext/xml/ruby_xml_parser.h
CHANGED
data/ext/xml/ruby_xml_tree.c
CHANGED
data/ext/xml/ruby_xml_tree.h
CHANGED
data/ext/xml/ruby_xml_xinclude.c
CHANGED
data/ext/xml/ruby_xml_xinclude.h
CHANGED
data/ext/xml/ruby_xml_xpath.h
CHANGED
data/ext/xml/ruby_xml_xpointer.h
CHANGED
data/tests/tc_xml_html_parser.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# $Id: tc_xml_html_parser.rb
|
1
|
+
# $Id: tc_xml_html_parser.rb 168 2007-09-05 12:51:04Z danj $
|
2
2
|
require "libxml_test"
|
3
3
|
require 'test/unit'
|
4
4
|
|
@@ -17,7 +17,7 @@ class TC_XML_HTMLParser < Test::Unit::TestCase
|
|
17
17
|
|
18
18
|
def test_libxml_html_parser_parse()
|
19
19
|
doc = @xp.parse
|
20
|
-
|
20
|
+
|
21
21
|
assert_instance_of XML::Document, doc
|
22
22
|
|
23
23
|
root = doc.root
|
@@ -38,7 +38,8 @@ class TC_XML_HTMLParser < Test::Unit::TestCase
|
|
38
38
|
assert_instance_of XML::Node, body
|
39
39
|
assert_equal 'body', body.name
|
40
40
|
|
41
|
-
hello = body.child
|
41
|
+
hello = body.child.child
|
42
|
+
puts hello.next.to_s
|
42
43
|
assert_instance_of XML::Node, hello
|
43
44
|
assert_equal 'Hello', hello.content
|
44
45
|
|
metadata
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.9.
|
2
|
+
rubygems_version: 0.9.0
|
3
3
|
specification_version: 1
|
4
4
|
name: libxml-ruby
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.5.0
|
7
|
-
date: 2007-
|
6
|
+
version: 0.5.1.0
|
7
|
+
date: 2007-09-05 00:00:00 -04:00
|
8
8
|
summary: LibXML2 bindings for Ruby
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -31,7 +31,8 @@ authors:
|
|
31
31
|
files:
|
32
32
|
- ext/xml/extconf.rb
|
33
33
|
- ext/xml/libxml.rb
|
34
|
-
-
|
34
|
+
- ChangeLog
|
35
|
+
- CHANGELOG_to200701
|
35
36
|
- LICENSE
|
36
37
|
- Rakefile
|
37
38
|
- README
|
@@ -78,19 +79,10 @@ files:
|
|
78
79
|
- ext/xml/ruby_xml_xpointer.h
|
79
80
|
- ext/xml/ruby_xml_xpointer_context.h
|
80
81
|
- ext/xml/libxml.h
|
81
|
-
- tests/copy_bug.rb
|
82
|
-
- tests/copy_bug2.rb
|
83
82
|
- tests/dtd-test.rb
|
84
83
|
- tests/libxml_test.rb
|
85
84
|
- tests/merge_bug.rb
|
86
85
|
- tests/model
|
87
|
-
- tests/model/default_validation_bug.rb
|
88
|
-
- tests/model/merge_bug_data.xml
|
89
|
-
- tests/model/rubynet.xml
|
90
|
-
- tests/model/rubynet_project
|
91
|
-
- tests/model/saxtest.xml
|
92
|
-
- tests/model/simple.xml
|
93
|
-
- tests/model/xinclude.xml
|
94
86
|
- tests/runner.rb
|
95
87
|
- tests/schema-test.rb
|
96
88
|
- tests/tc_xml_document.rb
|
@@ -124,6 +116,13 @@ files:
|
|
124
116
|
- tests/tc_xml_xinclude.rb
|
125
117
|
- tests/tc_xml_xpath.rb
|
126
118
|
- tests/tc_xml_xpointer.rb
|
119
|
+
- tests/model/default_validation_bug.rb
|
120
|
+
- tests/model/merge_bug_data.xml
|
121
|
+
- tests/model/rubynet.xml
|
122
|
+
- tests/model/rubynet_project
|
123
|
+
- tests/model/saxtest.xml
|
124
|
+
- tests/model/simple.xml
|
125
|
+
- tests/model/xinclude.xml
|
127
126
|
test_files:
|
128
127
|
- tests/runner.rb
|
129
128
|
rdoc_options:
|
data/tests/copy_bug.rb
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
#!/usr/bin/ruby -w -I.
|
2
|
-
require "libxml_test"
|
3
|
-
|
4
|
-
def test( doc2 )
|
5
|
-
doc = XML::Document.new('1.0')
|
6
|
-
doc.root = XML::Node.new("ccc")
|
7
|
-
doc.root['aaa'] = 'aaa'
|
8
|
-
doc.root << doc2.root # BUG!
|
9
|
-
doc.root << doc2.root.copy(true)
|
10
|
-
return doc
|
11
|
-
end
|
12
|
-
|
13
|
-
def test2
|
14
|
-
doc2 = XML::Document.new('1.0')
|
15
|
-
doc2.root = XML::Node.new("aaa")
|
16
|
-
test( doc2 )
|
17
|
-
end
|
18
|
-
|
19
|
-
1000.times { |i| puts i.to_s
|
20
|
-
test2 }
|
data/tests/copy_bug2.rb
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
#!/usr/bin/ruby -w -I.
|
2
|
-
require "libxml_test"
|
3
|
-
|
4
|
-
$FAILS = []
|
5
|
-
|
6
|
-
def test( doc, doc2, iter )
|
7
|
-
doc.root = XML::Node.new("ccc")
|
8
|
-
iter.times { |i|
|
9
|
-
doc.root << doc2.root
|
10
|
-
doc.root << doc2.root.copy(true)
|
11
|
-
}
|
12
|
-
return doc
|
13
|
-
end
|
14
|
-
|
15
|
-
def test2(iter)
|
16
|
-
doc = XML::Document.new('1.0')
|
17
|
-
doc2 = XML::Document.new('1.0')
|
18
|
-
doc2.root = XML::Node.new("aaa")
|
19
|
-
ret = test( doc, doc2, iter )
|
20
|
-
|
21
|
-
$FAILS << iter unless ret.find('*/aaa').length == iter
|
22
|
-
end
|
23
|
-
|
24
|
-
1000.times do |i|
|
25
|
-
puts i.to_s
|
26
|
-
test2(i)
|
27
|
-
end
|
28
|
-
|
29
|
-
puts "#{$FAILS.length} failures"
|
30
|
-
p $FAILS
|
31
|
-
|
32
|
-
|