libxml-ruby 0.5.0.1 → 0.5.1.0
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.
- 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
|
-
|