libxml-ruby 2.0.0-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (163) hide show
  1. data/HISTORY +516 -0
  2. data/LICENSE +23 -0
  3. data/MANIFEST +165 -0
  4. data/README.rdoc +161 -0
  5. data/Rakefile +82 -0
  6. data/ext/libxml/extconf.rb +122 -0
  7. data/ext/libxml/libxml.c +93 -0
  8. data/ext/libxml/ruby_libxml.h +101 -0
  9. data/ext/libxml/ruby_xml.c +893 -0
  10. data/ext/libxml/ruby_xml.h +10 -0
  11. data/ext/libxml/ruby_xml_attr.c +352 -0
  12. data/ext/libxml/ruby_xml_attr.h +14 -0
  13. data/ext/libxml/ruby_xml_attr_decl.c +171 -0
  14. data/ext/libxml/ruby_xml_attr_decl.h +13 -0
  15. data/ext/libxml/ruby_xml_attributes.c +277 -0
  16. data/ext/libxml/ruby_xml_attributes.h +17 -0
  17. data/ext/libxml/ruby_xml_cbg.c +85 -0
  18. data/ext/libxml/ruby_xml_document.c +958 -0
  19. data/ext/libxml/ruby_xml_document.h +17 -0
  20. data/ext/libxml/ruby_xml_dtd.c +257 -0
  21. data/ext/libxml/ruby_xml_dtd.h +9 -0
  22. data/ext/libxml/ruby_xml_encoding.c +221 -0
  23. data/ext/libxml/ruby_xml_encoding.h +16 -0
  24. data/ext/libxml/ruby_xml_error.c +1004 -0
  25. data/ext/libxml/ruby_xml_error.h +14 -0
  26. data/ext/libxml/ruby_xml_html_parser.c +92 -0
  27. data/ext/libxml/ruby_xml_html_parser.h +12 -0
  28. data/ext/libxml/ruby_xml_html_parser_context.c +308 -0
  29. data/ext/libxml/ruby_xml_html_parser_context.h +12 -0
  30. data/ext/libxml/ruby_xml_html_parser_options.c +40 -0
  31. data/ext/libxml/ruby_xml_html_parser_options.h +12 -0
  32. data/ext/libxml/ruby_xml_input_cbg.c +191 -0
  33. data/ext/libxml/ruby_xml_input_cbg.h +20 -0
  34. data/ext/libxml/ruby_xml_io.c +30 -0
  35. data/ext/libxml/ruby_xml_io.h +9 -0
  36. data/ext/libxml/ruby_xml_namespace.c +170 -0
  37. data/ext/libxml/ruby_xml_namespace.h +12 -0
  38. data/ext/libxml/ruby_xml_namespaces.c +295 -0
  39. data/ext/libxml/ruby_xml_namespaces.h +11 -0
  40. data/ext/libxml/ruby_xml_node.c +1386 -0
  41. data/ext/libxml/ruby_xml_node.h +13 -0
  42. data/ext/libxml/ruby_xml_parser.c +94 -0
  43. data/ext/libxml/ruby_xml_parser.h +14 -0
  44. data/ext/libxml/ruby_xml_parser_context.c +982 -0
  45. data/ext/libxml/ruby_xml_parser_context.h +12 -0
  46. data/ext/libxml/ruby_xml_parser_options.c +68 -0
  47. data/ext/libxml/ruby_xml_parser_options.h +14 -0
  48. data/ext/libxml/ruby_xml_reader.c +1057 -0
  49. data/ext/libxml/ruby_xml_reader.h +14 -0
  50. data/ext/libxml/ruby_xml_relaxng.c +111 -0
  51. data/ext/libxml/ruby_xml_relaxng.h +10 -0
  52. data/ext/libxml/ruby_xml_sax2_handler.c +334 -0
  53. data/ext/libxml/ruby_xml_sax2_handler.h +12 -0
  54. data/ext/libxml/ruby_xml_sax_parser.c +136 -0
  55. data/ext/libxml/ruby_xml_sax_parser.h +12 -0
  56. data/ext/libxml/ruby_xml_schema.c +159 -0
  57. data/ext/libxml/ruby_xml_schema.h +11 -0
  58. data/ext/libxml/ruby_xml_version.h +9 -0
  59. data/ext/libxml/ruby_xml_xinclude.c +18 -0
  60. data/ext/libxml/ruby_xml_xinclude.h +13 -0
  61. data/ext/libxml/ruby_xml_xpath.c +107 -0
  62. data/ext/libxml/ruby_xml_xpath.h +12 -0
  63. data/ext/libxml/ruby_xml_xpath_context.c +390 -0
  64. data/ext/libxml/ruby_xml_xpath_context.h +11 -0
  65. data/ext/libxml/ruby_xml_xpath_expression.c +83 -0
  66. data/ext/libxml/ruby_xml_xpath_expression.h +12 -0
  67. data/ext/libxml/ruby_xml_xpath_object.c +336 -0
  68. data/ext/libxml/ruby_xml_xpath_object.h +19 -0
  69. data/ext/libxml/ruby_xml_xpointer.c +101 -0
  70. data/ext/libxml/ruby_xml_xpointer.h +13 -0
  71. data/ext/mingw/Rakefile +34 -0
  72. data/ext/mingw/build.rake +41 -0
  73. data/ext/vc/libxml_ruby.sln +26 -0
  74. data/lib/1.8/libxml_ruby.so +0 -0
  75. data/lib/1.9/libxml_ruby.so +0 -0
  76. data/lib/libxml.rb +30 -0
  77. data/lib/libxml/attr.rb +113 -0
  78. data/lib/libxml/attr_decl.rb +80 -0
  79. data/lib/libxml/attributes.rb +14 -0
  80. data/lib/libxml/document.rb +192 -0
  81. data/lib/libxml/error.rb +90 -0
  82. data/lib/libxml/hpricot.rb +78 -0
  83. data/lib/libxml/html_parser.rb +96 -0
  84. data/lib/libxml/namespace.rb +62 -0
  85. data/lib/libxml/namespaces.rb +38 -0
  86. data/lib/libxml/node.rb +399 -0
  87. data/lib/libxml/ns.rb +22 -0
  88. data/lib/libxml/parser.rb +367 -0
  89. data/lib/libxml/properties.rb +23 -0
  90. data/lib/libxml/reader.rb +29 -0
  91. data/lib/libxml/sax_callbacks.rb +180 -0
  92. data/lib/libxml/sax_parser.rb +58 -0
  93. data/lib/libxml/tree.rb +29 -0
  94. data/lib/libxml/xpath_object.rb +16 -0
  95. data/lib/xml.rb +16 -0
  96. data/lib/xml/libxml.rb +10 -0
  97. data/libxml-ruby.gemspec +50 -0
  98. data/script/benchmark/depixelate +634 -0
  99. data/script/benchmark/hamlet.xml +9055 -0
  100. data/script/benchmark/parsecount +170 -0
  101. data/script/benchmark/sock_entries.xml +507 -0
  102. data/script/benchmark/throughput +41 -0
  103. data/script/test +6 -0
  104. data/setup.rb +1585 -0
  105. data/test/etc_doc_to_s.rb +21 -0
  106. data/test/ets_doc_file.rb +17 -0
  107. data/test/ets_doc_to_s.rb +23 -0
  108. data/test/ets_gpx.rb +28 -0
  109. data/test/ets_node_gc.rb +23 -0
  110. data/test/ets_test.xml +2 -0
  111. data/test/ets_tsr.rb +11 -0
  112. data/test/model/atom.xml +13 -0
  113. data/test/model/bands.iso-8859-1.xml +5 -0
  114. data/test/model/bands.utf-8.xml +5 -0
  115. data/test/model/bands.xml +5 -0
  116. data/test/model/books.xml +146 -0
  117. data/test/model/merge_bug_data.xml +58 -0
  118. data/test/model/ruby-lang.html +238 -0
  119. data/test/model/rubynet.xml +79 -0
  120. data/test/model/rubynet_project +1 -0
  121. data/test/model/shiporder.rnc +28 -0
  122. data/test/model/shiporder.rng +86 -0
  123. data/test/model/shiporder.xml +23 -0
  124. data/test/model/shiporder.xsd +31 -0
  125. data/test/model/soap.xml +27 -0
  126. data/test/model/xinclude.xml +5 -0
  127. data/test/rb-magic-comment.rb +33 -0
  128. data/test/tc_attr.rb +181 -0
  129. data/test/tc_attr_decl.rb +133 -0
  130. data/test/tc_attributes.rb +135 -0
  131. data/test/tc_deprecated_require.rb +13 -0
  132. data/test/tc_document.rb +119 -0
  133. data/test/tc_document_write.rb +187 -0
  134. data/test/tc_dtd.rb +125 -0
  135. data/test/tc_error.rb +138 -0
  136. data/test/tc_html_parser.rb +140 -0
  137. data/test/tc_namespace.rb +62 -0
  138. data/test/tc_namespaces.rb +177 -0
  139. data/test/tc_node.rb +258 -0
  140. data/test/tc_node_cdata.rb +51 -0
  141. data/test/tc_node_comment.rb +33 -0
  142. data/test/tc_node_copy.rb +42 -0
  143. data/test/tc_node_edit.rb +160 -0
  144. data/test/tc_node_text.rb +71 -0
  145. data/test/tc_node_write.rb +108 -0
  146. data/test/tc_node_xlink.rb +29 -0
  147. data/test/tc_parser.rb +336 -0
  148. data/test/tc_parser_context.rb +189 -0
  149. data/test/tc_properties.rb +39 -0
  150. data/test/tc_reader.rb +298 -0
  151. data/test/tc_relaxng.rb +54 -0
  152. data/test/tc_sax_parser.rb +276 -0
  153. data/test/tc_schema.rb +53 -0
  154. data/test/tc_traversal.rb +222 -0
  155. data/test/tc_xinclude.rb +21 -0
  156. data/test/tc_xml.rb +226 -0
  157. data/test/tc_xpath.rb +195 -0
  158. data/test/tc_xpath_context.rb +80 -0
  159. data/test/tc_xpath_expression.rb +38 -0
  160. data/test/tc_xpointer.rb +74 -0
  161. data/test/test_helper.rb +14 -0
  162. data/test/test_suite.rb +39 -0
  163. metadata +254 -0
data/HISTORY ADDED
@@ -0,0 +1,516 @@
1
+ = Release History
2
+
3
+ == 2.0.0 / 2011-04-16 Charlie Savage
4
+
5
+ * Ruby 1.9.2 support. The biggest addition is encoding support.
6
+ Strings returned by the libxml bindings are now set to the encoding
7
+ of the underlying xml document (Charlie Savage).
8
+
9
+ * Rubinius compatability. Removed unnecessary use of RHASH_TBL (Aman Gupta)
10
+
11
+ * Added .gemspec file (Dudley Flanders).
12
+
13
+ * Updated Windows checks to take into account mingw32 (Yaohan Chen).
14
+
15
+ * Fix memory leak in Reader#Expand (Szymon Nowak).
16
+
17
+ * Fix memory leaks in Reader#read_string, Reader#read_inner_xml
18
+ and Reader#read_outer_xml (Sean Geoghegan).
19
+
20
+ * Node#space_preserve= was backwards (Dudley Flanders)
21
+
22
+ * Fixed typo in readme, added rdoc extension (Loren Sands-Ramshaw).
23
+
24
+ * Switched to Rake Compiler (Charlie Savage).
25
+
26
+ * Use xmlMalloc() memory for ctxt->sax structure. Sometimes the ctxt->sax pointer
27
+ may not be zeroed in rxml_sax_parser_parse(), for example when exception is raised
28
+ in one of callbacks. This lets xmlFreeParserCtxt() clean this up (Alexey I. Froloff).
29
+
30
+ * Added a rake task to publish the website to github. Moved the jekyll website to
31
+ web directory (Anurag Priyam).
32
+
33
+ * Modernize project metadata and layout (7rans)
34
+
35
+
36
+ == 1.1.3 / 2009-03-18 Charlie Savage
37
+
38
+ * Improve performance 10 to 20% by turning on libxml2's dictionary
39
+ feature that allows parsers to reuse previously parsed strings.
40
+
41
+ * Fix XML::Node#remove! to work correctly with libxml's dictionary feature.
42
+
43
+ * Correctly set up parser context options.
44
+
45
+ * Simplify DOM modification code (Node#next=, Node#prev=, Node#sibling=) and
46
+ update documentation.
47
+
48
+ * Deprecated Node#add_child and Node#child=, use Node#<< instead
49
+
50
+ * Fix documentation for Node#<<
51
+
52
+ * Added Document#import to enable moving nodes from one document
53
+ to another document.
54
+
55
+
56
+ == 1.1.2 / 2009-03-12 Charlie Savage
57
+
58
+ * Added XML::Node#inner_xml helper method.
59
+
60
+ * Fix segmentation that could occur when calling the mark function on a
61
+ previously freed node.
62
+
63
+ == 1.1.1 / 2009-03-10 Charlie Savage
64
+
65
+ * Fix - Only include extra html parser context methods for versions of libxml
66
+ older than 2.6.27.
67
+
68
+ == 1.1.0 / 2009-03-09 Charlie Savage
69
+
70
+ * Fix bug caused by the mark function being called on partially initialized
71
+ attributes.
72
+
73
+ * Revert back to libxml2's internal memory manager.
74
+
75
+ == 1.0.0 / 2009-03-05 Charlie Savage
76
+
77
+ * OS X (Charlie Savage). Update bindings to support the default installed
78
+ version of libxml2 (2.6.16) on OS X 10.5 and the latest version available
79
+ via MacPorts.
80
+
81
+ == 0.9.9 / 2009-03-05 Charlie Savage
82
+
83
+ * Ruby 1.9.1 support (Charlie Savage). libxml-ruby now compiles and runs on either
84
+ 1.8.6 and 1.9.1. With 1.8.6 all tests should pass while on 1.9.1 all but
85
+ for encoding tests pass. The port to Ruby 1.9.1 revealed two memory
86
+ allocation bugs (one with dtds, one with nodes) which are now fixed.
87
+
88
+ * Better OS X support (Joe Khoobyar). The default version of libxml2
89
+ on OS X 10.5 is fairly old, resulting in this link error:
90
+
91
+ NSLinkModule() error
92
+ dyld: Symbol not found: _htmlNewParserCtxt
93
+
94
+ This can be fixed by using MacPorts to get a newer version of libxml2.
95
+ To make use of MacPorts, the build script has been updated to use xml2-config.
96
+ This can be fine-tuned using the new --with-xml2-config / --without-xml2-config
97
+ options to extconf.rb (default is --without-xml2-config to match existing behavior).
98
+
99
+ * Greatly reduced memory usage (Joe Khoobyar).
100
+ See http://rubyforge.org/pipermail/libxml-devel/2009-February/001375.html.
101
+
102
+ * Add Document#xhtml? and document#node_type methods (Joe Khoobyar)
103
+
104
+ * Add XPath::Object#last (Joe Khoobyar)
105
+
106
+ * Provide finer control over CDATA nodes on a parser by parser basis (Joe Khoobyar).
107
+
108
+ * Bug fix - Namespaces were incorrectly merged with attributes in the new sax2
109
+ handler (Charlie Savage).
110
+
111
+ * Bug fix - Support iterating over nodes and attributes even with blocks
112
+ that call remove! (Charlie Savage)
113
+
114
+ * Bug fix - If reader.node is NULL, return nil instead of crashing (Charlie Savage)
115
+
116
+ * Bug fix - Dtd's owned by documents were freed twice in some circumstances (Joe Khoobyar).
117
+
118
+ * Bug fix - Fix output escaping on attributes nodes (Joe Khoobyar).
119
+
120
+ * Bug fix - Make sure IO objects are not garbage collected when used
121
+ as parser sources (Charlie Savage).
122
+
123
+ == 0.9.8 / 2009-1-24 Charlie Savage
124
+
125
+ * Refactored XML::Parser, XML::HTMLParser, XML::SaxParser and
126
+ XML::Reader to have consistent APIs. All the parsers
127
+ now take a context object in their constructors, allowing fine
128
+ grained control over the parsers for advanced use cases. These
129
+ API changes are backwards compatible except
130
+ for XML::Reader, which now takes an optional hash table as a
131
+ second parameter in its various constructors versus an optional
132
+ boolean value.
133
+
134
+ * Updated all APIs to use the encoding constants defined
135
+ in XML::Encoding versus string values. This API change
136
+ is not backwards compatible.
137
+
138
+ * Added support for attribute declarations in DTD's via the new
139
+ XML::AttrDecl class (Len Lattanzi)
140
+
141
+ * Support libxml's content escaping capabilities for text nodes by
142
+ wrapping libxml's "xmlStringText" and "xmlStringTextNoenc"
143
+ (Joe Khoobyar).
144
+
145
+ * Updated XML::Reader#read API to return true if a node was read,
146
+ false if node was not read and raises an exception on an error.
147
+ Previously #read returned 1 if a node was read, 0 if a node was
148
+ not read and -1 for an error. This change is not backwards
149
+ compatible, but provides a more natural interface for Ruby by
150
+ allowing code like this:
151
+
152
+ while reader.read
153
+ # do stuff
154
+ end
155
+
156
+ * Changed XML::Error exception objects to return copies of nodes that
157
+ cause parse errors instead of the original node. This prevents
158
+ segmentation faults when the error is reraised.
159
+
160
+ * Added XML::Reader#node method.
161
+
162
+ * Fixed compile errors on OS X which uses an older version of libxml.
163
+
164
+ * Fixed memory leak when performing XPath searches.
165
+
166
+ * Fixed rdocs.
167
+
168
+ * Don't override libxml's default settings for entity substitution and
169
+ loading external DTDs. This may break some code - you may need to
170
+ add in a call to XML.default_substitute_entities = true or
171
+ XML.default_load_external_dtd = true.
172
+
173
+
174
+ == 0.9.7 / 2008-12-08 Charlie Savage
175
+
176
+ * Added SAX2 support. SAX handlers now define two new callbacks,
177
+ on_start_element_ns and on_end_element_ns methods. These
178
+ new callbacks support namespaces, making them superior to the older
179
+ callbacks on_start_element and on_end_element methods. The old callbacks
180
+ are still supported, but may be deprecated in the future depending
181
+ on community feedback.
182
+
183
+ * Added SAX support for libxml's structured error handling.
184
+ That menas sax handlers now define a new callback, on_error,
185
+ which takes one parameter, an instance of XML::Error. The older
186
+ on_parser_error, on_parser_warning and on_parser_fatal_error
187
+ callbacks are no longer suported so you must port your code.
188
+ Note that the older callbacks took one string parameter, instead of
189
+ an XML::Error object.
190
+
191
+ * Experimental work-around for libxml error handling bug - see
192
+ http://mail.gnome.org/archives/xml/2008-December/msg00014.html
193
+ for more information.
194
+
195
+ * Fix compilation bugs on Solaris.
196
+
197
+ * Fix Rdoc compilation bug.
198
+
199
+
200
+ == 0.9.6 / 2008-12-08 Charlie Savage
201
+
202
+ * Refactored namespace handling. The existing, and inconsistent,
203
+ namespace methods defined on XML::Node have been deprecated.
204
+ They have been replaced by a the new XML::Namespaces class.
205
+ Use this class to inspect a node's namespace, its default
206
+ namespace, its namespace definitions and which namespaces
207
+ are in scope. It can be accessed via the the
208
+ XML::Node#namespaces method.
209
+
210
+ * Rationalized XML::Document#save, XML::Document#to_s and
211
+ XML::Node#to_s to take an optional hash table of parameters
212
+ that control how output is generated. Supported parameters
213
+ include setting indentation on or off, the indentation level
214
+ and the output encoding. This is an API change and may break
215
+ existing calls to XML::Document#save. However, the previous
216
+ API was broken - setting the encoding resulted in an error so
217
+ its unlikely anyone is using it.
218
+
219
+ * Rationalized XML::Document#debug, XML::Node#debug, XML::XPath::XPathObject#Debug.
220
+
221
+ * Deprecated a number of duplicate dump* and debug_* methods in
222
+ XML::Document and XML::Node.
223
+
224
+ * Additional Ruby 1.9.1 compatability fixes.
225
+
226
+ * Cleaned up header file guards.
227
+
228
+ == 0.9.5 / 2008-11-29 Charlie Savage
229
+
230
+ * Ruby 1.9.1 preview release compatability (Felipe Contreras)
231
+
232
+ * Update Node#remove! to return the removed node and to set
233
+ its document to nil. This allows the node to be either
234
+ moved to another document, another part of the same document
235
+ or to be freed on the next garbage collection once its
236
+ references have gone out of scope.
237
+
238
+ * Fix bug where XPathExpression#compile mistakenly overwrote
239
+ RegExp#compile.
240
+
241
+ * Update Node to use standard ruby allocators and initializers.
242
+
243
+ * Update HTML parser to be more forgiving of invalid documents.
244
+
245
+ * Update include paths for Darwin Ports on OS X.
246
+
247
+ * Updated C code base to use BSD/Allman style
248
+
249
+
250
+ == 0.9.4 / 2008-11-24 Charlie Savage
251
+
252
+ * Update HTML parser so that it can read files, strings and io
253
+ streams.
254
+
255
+ * Update HTML parser to support user specified encodings.
256
+
257
+ * Additional C code cleanup.
258
+
259
+ == 0.9.3 / 2008-11-22 Charlie Savage
260
+
261
+ * Fixed segmentation fault caused by documents being freed
262
+ before xpath results that referenced the document (take 2).
263
+
264
+ * Allowed sax parser to use io stream
265
+
266
+ * Combined encoding and input classes
267
+
268
+ * Cleaned up C code - removed remaining legacy structures,
269
+ added static to most methods, changed C namespace from ruby_xml
270
+ to rxml
271
+
272
+ == 0.9.2 / 2008-11-19 Charlie Savage
273
+
274
+ * Add support for compiled XPath expressions (donated by Pavel Valodzka)
275
+
276
+ * Fixes for compiling on OS X 10.5.4 and 10.5.5
277
+
278
+ == 0.9.1 / 2008-11-18 Charlie Savage
279
+
280
+ * Expose LibXML's encoding support via a new Encoding object.
281
+
282
+ * Revamp error handling to be much easier to use. Errors are now
283
+ wrapped by the new XML::Error class and are thrown as exceptions
284
+ when it is appropriate.
285
+
286
+ * Fixed segmentation fault caused by documents being freed
287
+ before xpath results that referenced the document.
288
+
289
+ * Add Node#register_default_namespace to simplify default namespace handling.
290
+
291
+ * Significantly improve documentation
292
+
293
+ * A number of bug fixes and patches.
294
+
295
+ == 0.9.0 / 2008-11-18 Charlie Savage
296
+
297
+ * Version 0.9.0 was removed due to packaging errors.
298
+
299
+
300
+ == 0.8.3 / 2008-07-21 Charlie Savage
301
+
302
+ * Missed several files in last release
303
+
304
+ == 0.8.2 / 2008-07-21 Charlie Savage
305
+
306
+ * To use LibXML you can either require 'xml' or require 'libxml'.
307
+ The differences is that require 'xml' mixes the LibXML module into
308
+ the global namespace, thereby allowing you to write code such
309
+ as document = XML::Document.new. Note that this is different
310
+ from 0.8.0 and 0.8.1 and may require updating your code.
311
+
312
+ * Support RelaxNG validation (thanks to Morus Walter)
313
+
314
+ * Support passing IO objects to XmlReaders (thanks to Tom Hughes)
315
+
316
+ * Fix segmentation fault caused by adding an attribute to a CDATA node
317
+
318
+ * Moved node checking functions from C to Ruby
319
+
320
+ * Improved Windows support - libxml-ruby should now work out of the box.
321
+
322
+ * Improved Windows support - turned on libxml's zlib and iconv support.
323
+
324
+
325
+ == 0.8.1 / 2008-07-09 Charlie Savage
326
+
327
+ * Reimplmented Node#each_attr for backwards compatability
328
+
329
+ * Moved node type test to Ruby.
330
+
331
+
332
+ == 0.8.0 / 2008-07-09 Charlie Savage
333
+
334
+ * Fixed bug in returning attributes from XPath results
335
+
336
+ * Fixed DOM traversal methods
337
+
338
+ * Changed Node#children to return an array of nodes
339
+
340
+ * Fixed bug in returning attributes from XPath results
341
+
342
+ * Refactored XPath support, providing more user hooks in the XPath::Context class
343
+
344
+ * Added Node#properties for backwards compatibility
345
+
346
+ * Updated setup.rb
347
+
348
+ * Added more tests
349
+
350
+ * Updated rdocs and README file
351
+
352
+ * Moved libxml into LibXML namespace
353
+
354
+
355
+ == 0.7.0 / 2008-07-09 Charlie Savage
356
+
357
+ * Added new attributes class to provide a more natural way of working with attributes
358
+
359
+ * Fixed XML::Attr to better support namespaces
360
+
361
+ * Added documentation on how to use namespaces with XPath
362
+
363
+ * Removed allocation of extraneous structures used to wrap nodes, namespaces and attributes
364
+
365
+ * Cleaned up tests and added new test suite
366
+
367
+ * Updated rdocs and README file
368
+
369
+ * Cleaned out most of the bug list
370
+
371
+
372
+ == 0.6.0 / 2008-07-01 Charlie Savage
373
+
374
+ * Fixed memory allocation errors in Windows. On Windows, it is essential that the same library that allocates memory must free it. Thus ALLOC calls must be matched to ruby_xfree calls, which they were not. In addition, in one case Ruby was allocating memory to be freed by libxml. On Windows, that's a segmentation fault. On Linux it might fly, but still seems like a bad idea.
375
+
376
+ * Fixed segmentation fault in xml reader expand (same xml tree freed twice)
377
+
378
+ * Applied a number of patches from Tom Bagby, including fixes for xpath segmentation faults and fixes for various memory leaks
379
+
380
+ * Cleaned up a number of compiler warnings
381
+
382
+ * Renamed libxml_so.so to libxml_ruby.so (same for xslt). That wasn't actually my original intention, but um, it kind of sort of happened. It should not be noticeable from an end-user perspective.
383
+
384
+ * Added rake files for building with MingW
385
+
386
+ * Added rake files for packing gems. Note that I did this outside the existing rake tasks because I didn't see how they were actually building the gems.
387
+
388
+ * Cleaned up the tests and added a few more based on bug reports from the Tracker and mailing list.
389
+
390
+ * Cleaned out the patch queue and went through about 1/2 the bug list
391
+
392
+
393
+ === 2007-11-16 "Dan Janowski" <danj at 3skel.com>
394
+
395
+ * Merged Dan's MEM2 branch to trunk.
396
+
397
+ == 0.5.3 /
398
+
399
+ === 2007-11-16 "Dan Janowski" <danj at 3skel.com>
400
+
401
+ * Merged Dan's MEM2 branch to trunk.
402
+
403
+
404
+ == 0.5.2 / 2007-10-10
405
+
406
+ === 2007-10-10 "Dan Janowski" <danj at 3skel.com>
407
+
408
+ * (Dan, fill in the major points of the changes you made up to here -thanks)
409
+
410
+ === 2007-01-14 "Laurent Sansonetti" <lrz at chopine.be>
411
+
412
+ * Added some preliminary RDoc comments for XML::Reader.
413
+
414
+ === 2006-12-05 "Laurent Sansonetti" <lrz at chopine.be>
415
+
416
+ * Added XML::Reader, a set of bindings to the xmlTextReader API.
417
+
418
+
419
+ == 0.3.8.4 / 2006-12-02
420
+
421
+ === 2006-04-15 "Ross Bamform" <rosco at roscopeco.co.uk>
422
+
423
+ * Implemented SAX parser callback handling.
424
+
425
+ === 2006-04-12 "Ross Bamford" <rosco at roscopeco.co.uk>
426
+
427
+ * Integrated and tested community patches.
428
+ * Defined XML::Node (hash) equality in terms of XML representation.
429
+
430
+ === 2006-04-12 "Tim Yamin" <plasmaroo at gentoo.org>
431
+
432
+ * Fixed XML::Node#content inoperable bug (plasmaroo) [patch]
433
+ * Fixed memory leak in same
434
+
435
+ === 2006-04-12 "Mark Van Holstyn" <mvette13 at gmail.com>
436
+
437
+ * Added XML::Node::Set#first (mvette13) [patch]
438
+ * Added XML::Node::Set#empty?
439
+ * Fixed XML::Node::Set#to_a
440
+ * Added XML::Node#find_first
441
+ * Added XML::Node#remove!
442
+
443
+ === 2006-03-27 "Ross Bamford" <rosco at roscopeco.co.uk>
444
+
445
+ * Integrated contributed XML::Parser.register_error_handler patch (rosco)
446
+
447
+ === 2006-02-27 "Ross Bamford" <rosco at roscopeco.co.uk>
448
+
449
+ * Fixed all multiple symbol definitions for -fno-common.
450
+ * Removed OSX -fno-common workaround.
451
+
452
+
453
+ == 0.3.6 / 2006-02-23
454
+
455
+ === 2006-02-21 "Ross Bamford" <rosco at roscopeco.co.uk>
456
+
457
+ * Patched extconf.rb with OSX -fno-common workaround
458
+ * Added gem and packaging support to Rakefile
459
+ * Moved version update to Rakefile
460
+ * Removed legacy project utility scripts
461
+
462
+ === 2005-02-19 "Ross Bamford" <rosco at roscopeco.co.uk>
463
+
464
+ * Fixed doublefree bug in ruby_xml_attr.
465
+ * Fixed small leak in parser
466
+
467
+ === 2005-12-18 "Ross Bamford" <rosco at roscopeco.co.uk>
468
+
469
+ * Updated for GCC 4.0 (community patches)
470
+ * Fixed default validation bug
471
+ * Refactored project, removed outdated files, cleaned up tests.
472
+ * Added RDoc documentation across .c files.
473
+ * Fixed up a few strings.
474
+
475
+ === 2004-04-04 "Mangler Jurgen" <et@wkv.at>
476
+
477
+ * ruby_xml_node.cz: fixed ruby_xml_node_property_set. The ill-behaviour
478
+ was, that there was added a second attribute of the same
479
+ name, when you were setting the value of an already existing
480
+ attribute.
481
+
482
+ === 2004-03-17 "Lukas Svoboda" <luks@fi.muni.cz>
483
+
484
+ * ruby_xml_node.c: ruby_xml_node_to_s now returns XML subtree dump.
485
+
486
+ === 2004-02-27 "Martin Povolny" <martin@solnet.cz>
487
+
488
+ * ruby_xml_node.c: added XML::Node.copy, this makes possible building
489
+ of xml documents from nodes taken from other xml documents
490
+ without making ruby SIGSEGV (see tests/copy_bug.rb).
491
+
492
+ === 2004-02-26 "Martin Povolny" <martin@solnet.cz>
493
+
494
+ * ruby_xml_dtd.c, ruby_xml_dtd.h, ruby_xml_schema.c, ruby_xml_schema.h:
495
+ more work on validation, now you can actually validate
496
+ document using dtd or xml schema, also solved warning and
497
+ error propagation (see tests/{dtd|schema}-test.rb).
498
+
499
+ === 2003-12-30 "Martin Povolny" <martin@solnet.cz>
500
+
501
+ * ruby_xml_dtd.c, ruby_xml_dtd.h, ruby_xml_schema.c, ruby_xml_schema.h:
502
+ prelimitary support for dtd and schema validation
503
+
504
+ === 2003-09-15 "Martin Povolny" <martin@solnet.cz>
505
+
506
+ * ruby_xml_input_cbg.c, libxml.c: added class InputCallbacks to make
507
+ possible registering custom input callbacks
508
+ handlers (xmlRegisterInputCallbacks) written in ruby
509
+
510
+ === 2003-08-01 "Martin Povolny" <martin@solnet.cz>
511
+
512
+ * ruby_xml_document.c: corrected argument handling in ruby_xml_document_find
513
+ * ruby_xml_node.c: corrected argument handling in ruby_xml_node_find
514
+
515
+
516
+