libxml-ruby 3.2.2-x64-mingw-ucrt

Sign up to get free protection for your applications and to get access to all the features.
Files changed (205) hide show
  1. checksums.yaml +7 -0
  2. data/HISTORY +848 -0
  3. data/LICENSE +21 -0
  4. data/MANIFEST +166 -0
  5. data/README.rdoc +217 -0
  6. data/Rakefile +99 -0
  7. data/ext/libxml/extconf.rb +61 -0
  8. data/ext/libxml/libxml.c +80 -0
  9. data/ext/libxml/libxml_ruby.def +35 -0
  10. data/ext/libxml/ruby_libxml.h +67 -0
  11. data/ext/libxml/ruby_xml.c +933 -0
  12. data/ext/libxml/ruby_xml.h +10 -0
  13. data/ext/libxml/ruby_xml_attr.c +333 -0
  14. data/ext/libxml/ruby_xml_attr.h +12 -0
  15. data/ext/libxml/ruby_xml_attr_decl.c +153 -0
  16. data/ext/libxml/ruby_xml_attr_decl.h +11 -0
  17. data/ext/libxml/ruby_xml_attributes.c +275 -0
  18. data/ext/libxml/ruby_xml_attributes.h +15 -0
  19. data/ext/libxml/ruby_xml_cbg.c +85 -0
  20. data/ext/libxml/ruby_xml_document.c +1123 -0
  21. data/ext/libxml/ruby_xml_document.h +11 -0
  22. data/ext/libxml/ruby_xml_dtd.c +248 -0
  23. data/ext/libxml/ruby_xml_dtd.h +9 -0
  24. data/ext/libxml/ruby_xml_encoding.c +250 -0
  25. data/ext/libxml/ruby_xml_encoding.h +16 -0
  26. data/ext/libxml/ruby_xml_error.c +996 -0
  27. data/ext/libxml/ruby_xml_error.h +12 -0
  28. data/ext/libxml/ruby_xml_html_parser.c +89 -0
  29. data/ext/libxml/ruby_xml_html_parser.h +10 -0
  30. data/ext/libxml/ruby_xml_html_parser_context.c +337 -0
  31. data/ext/libxml/ruby_xml_html_parser_context.h +10 -0
  32. data/ext/libxml/ruby_xml_html_parser_options.c +46 -0
  33. data/ext/libxml/ruby_xml_html_parser_options.h +10 -0
  34. data/ext/libxml/ruby_xml_input_cbg.c +191 -0
  35. data/ext/libxml/ruby_xml_input_cbg.h +20 -0
  36. data/ext/libxml/ruby_xml_io.c +47 -0
  37. data/ext/libxml/ruby_xml_io.h +10 -0
  38. data/ext/libxml/ruby_xml_namespace.c +153 -0
  39. data/ext/libxml/ruby_xml_namespace.h +10 -0
  40. data/ext/libxml/ruby_xml_namespaces.c +293 -0
  41. data/ext/libxml/ruby_xml_namespaces.h +9 -0
  42. data/ext/libxml/ruby_xml_node.c +1402 -0
  43. data/ext/libxml/ruby_xml_node.h +13 -0
  44. data/ext/libxml/ruby_xml_parser.c +91 -0
  45. data/ext/libxml/ruby_xml_parser.h +12 -0
  46. data/ext/libxml/ruby_xml_parser_context.c +999 -0
  47. data/ext/libxml/ruby_xml_parser_context.h +10 -0
  48. data/ext/libxml/ruby_xml_parser_options.c +66 -0
  49. data/ext/libxml/ruby_xml_parser_options.h +12 -0
  50. data/ext/libxml/ruby_xml_reader.c +1239 -0
  51. data/ext/libxml/ruby_xml_reader.h +17 -0
  52. data/ext/libxml/ruby_xml_relaxng.c +110 -0
  53. data/ext/libxml/ruby_xml_relaxng.h +10 -0
  54. data/ext/libxml/ruby_xml_sax2_handler.c +326 -0
  55. data/ext/libxml/ruby_xml_sax2_handler.h +10 -0
  56. data/ext/libxml/ruby_xml_sax_parser.c +116 -0
  57. data/ext/libxml/ruby_xml_sax_parser.h +10 -0
  58. data/ext/libxml/ruby_xml_schema.c +278 -0
  59. data/ext/libxml/ruby_xml_schema.h +809 -0
  60. data/ext/libxml/ruby_xml_schema_attribute.c +109 -0
  61. data/ext/libxml/ruby_xml_schema_attribute.h +15 -0
  62. data/ext/libxml/ruby_xml_schema_element.c +95 -0
  63. data/ext/libxml/ruby_xml_schema_element.h +14 -0
  64. data/ext/libxml/ruby_xml_schema_facet.c +52 -0
  65. data/ext/libxml/ruby_xml_schema_facet.h +13 -0
  66. data/ext/libxml/ruby_xml_schema_type.c +232 -0
  67. data/ext/libxml/ruby_xml_schema_type.h +9 -0
  68. data/ext/libxml/ruby_xml_version.h +9 -0
  69. data/ext/libxml/ruby_xml_writer.c +1133 -0
  70. data/ext/libxml/ruby_xml_writer.h +10 -0
  71. data/ext/libxml/ruby_xml_xinclude.c +16 -0
  72. data/ext/libxml/ruby_xml_xinclude.h +11 -0
  73. data/ext/libxml/ruby_xml_xpath.c +194 -0
  74. data/ext/libxml/ruby_xml_xpath.h +13 -0
  75. data/ext/libxml/ruby_xml_xpath_context.c +360 -0
  76. data/ext/libxml/ruby_xml_xpath_context.h +9 -0
  77. data/ext/libxml/ruby_xml_xpath_expression.c +81 -0
  78. data/ext/libxml/ruby_xml_xpath_expression.h +10 -0
  79. data/ext/libxml/ruby_xml_xpath_object.c +338 -0
  80. data/ext/libxml/ruby_xml_xpath_object.h +17 -0
  81. data/ext/libxml/ruby_xml_xpointer.c +99 -0
  82. data/ext/libxml/ruby_xml_xpointer.h +11 -0
  83. data/ext/vc/libxml_ruby.sln +28 -0
  84. data/lib/3.1/libxml_ruby.so +0 -0
  85. data/lib/libxml/attr.rb +123 -0
  86. data/lib/libxml/attr_decl.rb +80 -0
  87. data/lib/libxml/attributes.rb +14 -0
  88. data/lib/libxml/document.rb +194 -0
  89. data/lib/libxml/error.rb +95 -0
  90. data/lib/libxml/hpricot.rb +78 -0
  91. data/lib/libxml/html_parser.rb +96 -0
  92. data/lib/libxml/namespace.rb +62 -0
  93. data/lib/libxml/namespaces.rb +38 -0
  94. data/lib/libxml/node.rb +323 -0
  95. data/lib/libxml/parser.rb +101 -0
  96. data/lib/libxml/sax_callbacks.rb +180 -0
  97. data/lib/libxml/sax_parser.rb +41 -0
  98. data/lib/libxml/schema/attribute.rb +19 -0
  99. data/lib/libxml/schema/element.rb +19 -0
  100. data/lib/libxml/schema/type.rb +21 -0
  101. data/lib/libxml/schema.rb +48 -0
  102. data/lib/libxml/tree.rb +29 -0
  103. data/lib/libxml-ruby.rb +30 -0
  104. data/lib/libxml.rb +5 -0
  105. data/lib/xml/libxml.rb +10 -0
  106. data/lib/xml.rb +14 -0
  107. data/libxml-ruby.gemspec +48 -0
  108. data/script/benchmark/depixelate +634 -0
  109. data/script/benchmark/hamlet.xml +9055 -0
  110. data/script/benchmark/parsecount +170 -0
  111. data/script/benchmark/sock_entries.xml +507 -0
  112. data/script/benchmark/throughput +41 -0
  113. data/script/test +6 -0
  114. data/setup.rb +1584 -0
  115. data/test/c14n/given/doc.dtd +1 -0
  116. data/test/c14n/given/example-1.xml +14 -0
  117. data/test/c14n/given/example-2.xml +11 -0
  118. data/test/c14n/given/example-3.xml +18 -0
  119. data/test/c14n/given/example-4.xml +9 -0
  120. data/test/c14n/given/example-5.xml +12 -0
  121. data/test/c14n/given/example-6.xml +2 -0
  122. data/test/c14n/given/example-7.xml +11 -0
  123. data/test/c14n/given/example-8.xml +11 -0
  124. data/test/c14n/given/example-8.xpath +10 -0
  125. data/test/c14n/given/world.txt +1 -0
  126. data/test/c14n/result/1-1-without-comments/example-1 +4 -0
  127. data/test/c14n/result/1-1-without-comments/example-2 +11 -0
  128. data/test/c14n/result/1-1-without-comments/example-3 +14 -0
  129. data/test/c14n/result/1-1-without-comments/example-4 +9 -0
  130. data/test/c14n/result/1-1-without-comments/example-5 +3 -0
  131. data/test/c14n/result/1-1-without-comments/example-6 +1 -0
  132. data/test/c14n/result/1-1-without-comments/example-7 +1 -0
  133. data/test/c14n/result/1-1-without-comments/example-8 +1 -0
  134. data/test/c14n/result/with-comments/example-1 +6 -0
  135. data/test/c14n/result/with-comments/example-2 +11 -0
  136. data/test/c14n/result/with-comments/example-3 +14 -0
  137. data/test/c14n/result/with-comments/example-4 +9 -0
  138. data/test/c14n/result/with-comments/example-5 +4 -0
  139. data/test/c14n/result/with-comments/example-6 +1 -0
  140. data/test/c14n/result/with-comments/example-7 +1 -0
  141. data/test/c14n/result/without-comments/example-1 +4 -0
  142. data/test/c14n/result/without-comments/example-2 +11 -0
  143. data/test/c14n/result/without-comments/example-3 +14 -0
  144. data/test/c14n/result/without-comments/example-4 +9 -0
  145. data/test/c14n/result/without-comments/example-5 +3 -0
  146. data/test/c14n/result/without-comments/example-6 +1 -0
  147. data/test/c14n/result/without-comments/example-7 +1 -0
  148. data/test/model/atom.xml +13 -0
  149. data/test/model/bands.iso-8859-1.xml +5 -0
  150. data/test/model/bands.utf-8.xml +5 -0
  151. data/test/model/bands.xml +5 -0
  152. data/test/model/books.xml +154 -0
  153. data/test/model/cwm_1_0.xml +11336 -0
  154. data/test/model/merge_bug_data.xml +58 -0
  155. data/test/model/ruby-lang.html +238 -0
  156. data/test/model/rubynet.xml +79 -0
  157. data/test/model/rubynet_project +1 -0
  158. data/test/model/shiporder.rnc +28 -0
  159. data/test/model/shiporder.rng +86 -0
  160. data/test/model/shiporder.xml +23 -0
  161. data/test/model/shiporder.xsd +40 -0
  162. data/test/model/soap.xml +27 -0
  163. data/test/model/xinclude.xml +5 -0
  164. data/test/test_attr.rb +181 -0
  165. data/test/test_attr_decl.rb +132 -0
  166. data/test/test_attributes.rb +136 -0
  167. data/test/test_canonicalize.rb +120 -0
  168. data/test/test_deprecated_require.rb +12 -0
  169. data/test/test_document.rb +132 -0
  170. data/test/test_document_write.rb +146 -0
  171. data/test/test_dtd.rb +129 -0
  172. data/test/test_encoding.rb +129 -0
  173. data/test/test_encoding_sax.rb +115 -0
  174. data/test/test_error.rb +178 -0
  175. data/test/test_helper.rb +9 -0
  176. data/test/test_html_parser.rb +162 -0
  177. data/test/test_html_parser_context.rb +23 -0
  178. data/test/test_namespace.rb +60 -0
  179. data/test/test_namespaces.rb +200 -0
  180. data/test/test_node.rb +237 -0
  181. data/test/test_node_cdata.rb +50 -0
  182. data/test/test_node_comment.rb +32 -0
  183. data/test/test_node_copy.rb +40 -0
  184. data/test/test_node_edit.rb +158 -0
  185. data/test/test_node_pi.rb +37 -0
  186. data/test/test_node_text.rb +69 -0
  187. data/test/test_node_write.rb +97 -0
  188. data/test/test_node_xlink.rb +28 -0
  189. data/test/test_parser.rb +324 -0
  190. data/test/test_parser_context.rb +198 -0
  191. data/test/test_properties.rb +38 -0
  192. data/test/test_reader.rb +364 -0
  193. data/test/test_relaxng.rb +53 -0
  194. data/test/test_sax_parser.rb +326 -0
  195. data/test/test_schema.rb +168 -0
  196. data/test/test_suite.rb +48 -0
  197. data/test/test_traversal.rb +152 -0
  198. data/test/test_writer.rb +468 -0
  199. data/test/test_xinclude.rb +20 -0
  200. data/test/test_xml.rb +263 -0
  201. data/test/test_xpath.rb +244 -0
  202. data/test/test_xpath_context.rb +88 -0
  203. data/test/test_xpath_expression.rb +37 -0
  204. data/test/test_xpointer.rb +72 -0
  205. metadata +325 -0
data/HISTORY ADDED
@@ -0,0 +1,848 @@
1
+ = Release History
2
+
3
+ == 3.2.2 / 2022-01-15
4
+ * Switch to Github actions for CI/CD (Greg)
5
+ * Test fixes (Greg, Sergio Durigan Junior)
6
+ * Fix typo on test/test_sax_parser.rb (Sergio Durigan Junior)
7
+ * Update homepage in gemspec (Pirate Praveen Arimbrathodiyil)
8
+
9
+ == 3.2.1 / 2020-11-05
10
+
11
+ * Fix incorrect handling of encodings when using XMLWriter.io (Charlie Savage)
12
+ * Clean up README (Richard Michael)
13
+
14
+ == 3.2.0 / 2020-05-09 Charlie Savage
15
+
16
+ * Fix crash when creating an empty DTD
17
+ * Modernize tests to use Bundler to load gem
18
+ * Add libxml-ruby.rb file so gem loads in expected way.
19
+ * Add support for xmlSaveNoEmptyTags.
20
+ * Clean up extconf.rb file
21
+
22
+ == 3.1.0 / 2018-02-03 Charlie Savage
23
+
24
+ * Fix segmentation fault when adding one node to another node (Charlie Savage)
25
+ * Fix deprecated "assert_equal(nil, expected)" calls. #148 and #151. (utilum)
26
+ * Remove assigned but unused variables. #150 (utilum)
27
+ * Add Gemfile. #146. (Dorian Marié)
28
+ * Remove duplicate hash key in setup.rb. #147. (Dorian Marié)
29
+ * Fix gemspec by requiring Date. #149 (utilum)
30
+ * Restore default internal encoding after tests are completed. #123 (Charlie Savage)
31
+ * Remove duplicate method definitions. #145. (Charlie Savage)
32
+ * Remove SchemaElement#minOccurs and SchemaElement#maxOccurs since they actually did not work (Charlie Savage)
33
+ * Rename test files to follow Ruby conventions (Charlie Savage)
34
+ * Fix handling of node returned by Reader#expand. #142. (Charlie Savage)
35
+ * Add Travis Build support (Charlie Savage)
36
+ * Fix Fixnum deprecation (Charlie Savage)
37
+ * Cleanup schema code (Charlie Savage)
38
+ * Update Visual Studio project to 2017 (Charlie Savage)
39
+
40
+ == 3.0.0 / 2017-02-07 Charlie Savage
41
+
42
+ * Revamp how libxml-ruby manages memory. Instead of trying to return the same ruby object for each xmlnode,
43
+ the bindings now create wrapper ruby objects as needed which are then freed at the end of use.
44
+ This allows most memory management to be handled by libxml itself. Ruby only manages the lifespan of
45
+ documents and parent xml nodes. When those go out of scope, the underlying libxml objects are also freed.
46
+ This implementation requires almost no overhead, plays nicely with Nokogiri and appears to work much
47
+ better (Charlie Savage).
48
+
49
+ * Change XML::Node#eql? API. Nodes are now considered equal only if they wrap the same underlying
50
+ libxml node. Previously, they would also be considered equal if they contained the same content
51
+ (Charlie Savage)
52
+
53
+ * Change XML::Reader.expand API. Previously it would automatically instantiate a reader document so
54
+ the an xpath expression could be used to search the returned node. Now you should first call
55
+ reader.doc (Charlie Savage)
56
+
57
+ * Update Visual Studio project for Visual Studio 15 - requires ruby 2.4+ (Charlie Savage)
58
+
59
+ * Remove APIs that have been deprecated for several years (Charlie Savage)
60
+
61
+ == 2.9.0 / 2016-06-13 Charlie Savage
62
+
63
+ * Revamp libxml-ruby's memory management to not cause crashes when used with Nokogiri (James Laird-Wah)
64
+ * Fix garbage collection issue that sometimes caused the library to hang (Charlie Savage)
65
+ * Improved multi-threading support (Charlie Savage)
66
+ * Fix crash sometimes caused by a xml node being being freed twice (Charlie Savage)
67
+ * Fix memory leak when setting the text content of a node (Charlie Savage)
68
+ * Set a default task in the Rakefile - use "test" (Robert Haines)
69
+ * Add "hanna_gudao" gem and add "rake-compiler" to develpoment dependencies (Robert Haines)
70
+ * Use Process.getrlimit instead of `ulimit` in the tests (Robert Haines)
71
+ * Build on smartos (Steven Williamson)
72
+ * Fix compiler warnings (Charlie Savage)
73
+ * Add Xcode project for easier debugging on OSX (Charlie Savage)
74
+ * Switch from unit test to minitest (Charlie Savage)
75
+
76
+ == 2.8.0 / 2015-01-09 Charlie Savage
77
+
78
+ * Use RbConfig instead of Config in extconf.rb (Robert Haines)
79
+ * Correct xpath documentation XML (Bill Mill)
80
+ * Correct from_string method documentation (Bill Mill)
81
+ * Fix compile error with debug not enabled in libxml (Patrick Ziegler)
82
+ * Update gemspec to include license (Charlie Savage)
83
+ * In XML::Writer prevent writing to io while being GCed (Brett Gibson)
84
+
85
+ == 2.7.0 / 2013-08-13 Charlie Savage
86
+
87
+ * Don't call rb_warning in GC mark function (Dirkjan Bussink)
88
+ * Set libxml error handler when a libxml-ruby error handler is set (Geoffrey Giesemann)
89
+ * Fix tests for nil TypeErrors for ruby 2.0=< (Geoffrey Giesemann)
90
+ * Fix segmentation fault for issue #62 (Charlie Savage)
91
+ * Add #node_type method to dtd (Charlie Savage)
92
+ * Fixing equality check of LibXML::XML::Error against other objects (Michał Szajbe)
93
+ * Fix #63, XML::Writer.set_quote_char UT, wrong expected string (julp)
94
+ * Fix potential segfault when GC occurs while creating ns from xpath (Timothy Elliott)
95
+ * Fix for #59, segmentation fault after failure to load external schema (Clifford Heath)
96
+
97
+ == 2.6.0 / 2013-02-16 Charlie Savage
98
+
99
+ * Fix uninitialized constant LibXML::XML::Error::I18N (NameError) that occurred
100
+ with older versions of libxml.
101
+ * Various updates/fixes to new XML::Writer class and update how flushing works (julp)
102
+
103
+ == 2.5.0 / 2013-01-27 Charlie Savage
104
+
105
+ * Compatibility with older versions for IO::write (rb_io_bufwrite is specific to ruby >= 1.9.3?)
106
+ and symbols are VALUE not ID (julp).
107
+ * Fix version for xmlTextWriterSetQuoteChar, it appeared in libxml2 2.9.0, last version (julp)
108
+ * Update use of LIBXML_VERSION (julp).
109
+ * Fix misuse of rb_scan_args (julp).
110
+ * Update documentation, including DTD docs and added XML Writer (julp).
111
+ * Added a new XML::Writer class (julp).
112
+ * Improved xml reader api and add namespace support. Note that passing a numeric value
113
+ to XML::Reader::move_to_attribute has been deprecated. Instead you should now
114
+ use #move_to_attribute_no. (julp).
115
+ * Improve error handling and messages (Jarl Friis)
116
+
117
+ == 2.4.0 / 2012-12-14 Charlie Savage
118
+
119
+ * Support libxml 2.9.0 (Daniel Veillard)
120
+
121
+ * Extensive new interfaces for xml schema functionality including suppor for
122
+ schemal elements, types, facets and attributes (Anton Sozontov)
123
+
124
+ * Fix Encoding#from_s bug and update docs (Nikita Afanasenko)
125
+
126
+ * Node#content= encoding (Nikita Afanasenko)
127
+
128
+ == 2.3.3 / 2012-07-01 Charlie Savage
129
+
130
+ * Add LibXML::XML::Error.get_handler (Carsten Zimmermann)
131
+ * Fix variable name in example (Marcus)
132
+
133
+ == 2.3.2 / 2012-03-20 Charlie Savage
134
+
135
+ * Define various canonicalize constants to support libxml2 versions
136
+ older than 1.1.25 (thanks Apple!)
137
+
138
+ == 2.3.1 / 2012-03-20 Charlie Savage
139
+
140
+ * Yanked - didn't fix the OSX canonicalize issue
141
+
142
+ == 2.3.0 / 2012-03-18 Charlie Savage
143
+
144
+ * Add ability to insert new PI-nodes into the xmltree (Axel Struebing).
145
+
146
+ * Added full pass-through access to libxml2 xmlC14NDocDumpMemory method via
147
+ LibXML::XML::Document#canonicalize method with optional arguments.
148
+
149
+ * Added full test data for C14N based off of W3C spec.
150
+ (http://www.w3.org/TR/xml-c14n#Examples)
151
+
152
+ * Update sax handler to support encodings on Ruby 1.9 and higher.
153
+
154
+ == 2.2.2 / 2011-08-29 Charlie Savage
155
+
156
+ * ++API CHANGE+++
157
+
158
+ Reader#relax_ng_validate now takes a RelaxNG object. This is
159
+ what the documentation has always said it takes, but it previously
160
+ took a string. In addition, it now returns true or false instead of 0 or -1.
161
+
162
+ Reader#schema_validate now takes a Schema object. This is
163
+ what the documentation has always said it takes, but it previously
164
+ took a string. In addition, it now returns true or false instead of 0 or -1.
165
+
166
+ Fixes GitHub issue #30.
167
+
168
+ * Added Parser::Context#close and HTMLParser::Context#close methods that
169
+ allow the underlying io stream (file, string, etc) to be closed. Once a
170
+ parser is done parsing its data, it now calls one of these methods.
171
+ This means that if you parse thousands of files at the same time,
172
+ without running Ruby's garbage colllector, you won't get a too
173
+ many files open error. Fixes GitHub issue #29.
174
+
175
+ * Fixed bug where Node#inner_xml caused an error when it had no child nodes.
176
+ Fixes GitHub issues #31
177
+
178
+ * Don't require 'rake' in the gemspec to avoid annoying Bundler bugs
179
+
180
+ == 2.2.1 / 2011-08-13 Charlie Savage
181
+
182
+ * Packaging fix - include the custom .def file in the gem.
183
+
184
+ == 2.2.0 / 2011-08-09 Charlie Savage
185
+
186
+ * Update encoding support for Ruby 1.9 so that libxml-ruby returns
187
+ strings encoded in UTF-8. This change was required since libxml internally
188
+ stores strings in UTF-8. The exceptions to this rule are the #to_s methods
189
+ which return UTF-8 by default but can return other encodings if requested.
190
+
191
+ == 2.1.2 / 2011-08-03 Charlie Savage
192
+
193
+ * Fix segmentation fault that could occur when an XPathContext was marked
194
+ before it was fully initialized (Charlie Savage).
195
+
196
+ * Add mark method to document to mark all nodes currently being accessed
197
+ by ruby. This make Ruby Enterprise Edition happy (Charlie Savage).
198
+
199
+ == 2.1.1 / 2011-07-31 Charlie Savage
200
+
201
+ * Switch to using def files to control library exports (Charlie Savage).
202
+
203
+ == 2.1.0 / 2011-07-31 Charlie Savage
204
+
205
+ * Ruby 1.9.3 compatability (Charlie Savage).
206
+
207
+ * Added XPath expression <-> Ruby value conversion methods (Jens Wille).
208
+
209
+ * Extracted rxml_xpath_to_value from rxml_xpath_context_find (Jens Wille).
210
+
211
+ * Adapted rxml_xpath_from_value from Gregoire Lejeune's ruby-xslt
212
+ library, see https://github.com/glejeune/ruby-xslt (Jens Wille).
213
+
214
+ * Allow calling #find on nodes returned from Reader (Charlie Savage).
215
+
216
+ * Change document handling in XPath::Context to address segmentation fault on
217
+ Ruby Enterprise Edition (Charlie Savage).
218
+
219
+ * Update gemspec file to work directly with bundler thereby allowing git
220
+ repository to be used as gem (Charlie Savage).
221
+
222
+ * Support gem buld (Charlie Savage).
223
+
224
+ * Simplify memory management of attributes namespaces to fix
225
+ segmentation faults that occurred when using Ruby 1.9.3 (Charlie Savage).
226
+
227
+
228
+ == 2.0.8 / 2011-06-23 Charlie Savage
229
+
230
+ * Add in 2 new HTML Parser constants - NODEFDTD and NOIMPLIED.
231
+
232
+ * Fix compile issue on Ruby 1.9.3
233
+
234
+ == 2.0.6 / 2011-05-23 Charlie Savage
235
+
236
+ * Fix segfault that sometimes occurred when looking up encodings on 1.9.
237
+ In some cases the Ruby encoding infrastructure was not properly
238
+ initialized (nkriege).
239
+
240
+ == 2.0.5 / 2011-05-05 Charlie Savage
241
+
242
+ * Document#validate_dtd would sometimes cause segmentation faults due to
243
+ an improperly initialized data structure (Charlie Savage)
244
+
245
+ == 2.0.4 / 2011-05-02 Charlie Savage
246
+
247
+ * Fix compile issues on platforms using older versions of libxml2.
248
+ The problem as using a C14N constants that was added to libxml2
249
+ in July 2009 (Charlie Savage).
250
+
251
+ == 2.0.3 / 2011-05-01 Charlie Savage
252
+
253
+ * The biggest change in this release is supporting the use of libxml-ruby in
254
+ native background Ruby threads. Previously, the use of libxml-ruby in
255
+ background threads in Ruby 1.9.x and higher would often cause
256
+ segmentation faults. This has now been fixed (Charlie Savage).
257
+
258
+ * Update Reader#expand so that returned node correctly remembers its
259
+ encoding in Ruby 1.9.x (zerebubuth).
260
+
261
+ * Add check to verify a node has not been deleted. This can happen when
262
+ a ruby variable holds a reference to a child node that gets freed
263
+ when its parent gets freed. Previously when this happened a
264
+ segmentation fault would occur, now an exception is raised (Charlie Savage, fixes
265
+ RubyForge #26839.
266
+
267
+ * Do not unlink nodes before internal validations have run - avoids
268
+ segmentation faults caused by freeing a node twice (Charlie Savage).
269
+
270
+ * Add support for Document#canonicalization (Victor Lin).
271
+
272
+ * Fix memory leak in Reader#lookup_namespace (Charlie Savage).
273
+
274
+ * Fix memory leak in Reader#[] (Nathan Kriege).
275
+
276
+ * Fix usage of @io instance variable (Jeffrey Taylor)
277
+
278
+ * Removed old sax error handling code that has been fixed in newer
279
+ versions of libxml (Charlie Savage).
280
+
281
+ * Code cleanup - remove unused variables and commented out code (Charlie Savage)
282
+
283
+ * Minor text changes and documentation fixes (Charlie Savage).
284
+
285
+ * Fix documentation error (fixes RubyForge #26888).
286
+
287
+ * Update documentation for Document#validation* methods (fixes RubyForge #24833).
288
+
289
+ * Update documentation and test (fixes Ruby Forge Issue #28770).
290
+
291
+ * Updated documentation in README (Anurag Priyam):
292
+ 1. rake doc does not work; use rake rdoc.
293
+ 2. gem mislav-hanna does not exist; use hanna.
294
+ 3. rake rdoc 'depends' on hanna; no need of RDOCOPTS
295
+ 4. Point to the github issue tracker instead of Ruby Forge
296
+ 5. Point to the github (gh-pages) site for docs
297
+
298
+ * Add tc_error to test suite (Charlie Savage).
299
+
300
+ * Add sax test (Stanislav O.Pogrebnyak).
301
+
302
+ == 2.0.2 / 2011-04-17 Charlie Savage
303
+
304
+ * Added binaries for windows (Charlie Savage).
305
+
306
+ * Update Ruby 1.9 encoding handling to support libxml versions older than
307
+ version 2.6.26 which was released on June 6, 2006 (Charlie Savage).
308
+
309
+ * Add publish_with_docs rake task - combines publishing the
310
+ website and docs (Anurag Priyam).
311
+
312
+ * Correctly copy the documentation directory (Anurag Priyam)
313
+
314
+ * Use relative link for rdoc so the links are correct on
315
+ both rubyforge and github (Anurag Priyam).
316
+
317
+ * Update Rakefile to use Hanna RDco template (Charlie Savage).
318
+
319
+ * Update dates on license file (Charlie Savage).
320
+
321
+ * Add api to allow setting of attribute namespaces. Fixes issue #10 (Charlie Savage).
322
+
323
+ * Remove old hack to call the on_error method. This hack isn't needed anymore
324
+ since a better workaround was put in place in the parser context. Fixes
325
+ This fixes issue #12 (Charlie Savage).
326
+
327
+ * Remove references to passing blocks to validation functions. The blocks are no
328
+ longer called since the bindings use libxml's structured error handling. See
329
+ issue #6 (Charlie Savage).
330
+
331
+ * Fix up comment in Document and Node. See issue #8 (Charlie Savage).
332
+
333
+ * Update website text (Charlie Savage).
334
+
335
+ == 2.0.0 / 2011-04-16 Charlie Savage
336
+
337
+ * Ruby 1.9.2 support. The biggest addition is encoding support.
338
+ Strings returned by the libxml bindings are now set to the encoding
339
+ of the underlying xml document (Charlie Savage).
340
+
341
+ * Rubinius compatability. Removed unnecessary use of RHASH_TBL (Aman Gupta)
342
+
343
+ * Added .gemspec file (Dudley Flanders).
344
+
345
+ * Updated Windows checks to take into account mingw32 (Yaohan Chen).
346
+
347
+ * Fix memory leak in Reader#Expand (Szymon Nowak).
348
+
349
+ * Fix memory leaks in Reader#read_string, Reader#read_inner_xml
350
+ and Reader#read_outer_xml (Sean Geoghegan).
351
+
352
+ * Node#space_preserve= was backwards (Dudley Flanders)
353
+
354
+ * Fixed typo in readme, added rdoc extension (Loren Sands-Ramshaw).
355
+
356
+ * Switched to Rake Compiler (Charlie Savage).
357
+
358
+ * Use xmlMalloc() memory for ctxt->sax structure. Sometimes the ctxt->sax pointer
359
+ may not be zeroed in rxml_sax_parser_parse(), for example when exception is raised
360
+ in one of callbacks. This lets xmlFreeParserCtxt() clean this up (Alexey I. Froloff).
361
+
362
+ * Added a rake task to publish the website to github. Moved the jekyll website to
363
+ web directory (Anurag Priyam).
364
+
365
+ * Modernize project metadata and layout (7rans)
366
+
367
+
368
+ == 1.1.3 / 2009-03-18 Charlie Savage
369
+
370
+ * Improve performance 10 to 20% by turning on libxml2's dictionary
371
+ feature that allows parsers to reuse previously parsed strings.
372
+
373
+ * Fix XML::Node#remove! to work correctly with libxml's dictionary feature.
374
+
375
+ * Correctly set up parser context options.
376
+
377
+ * Simplify DOM modification code (Node#next=, Node#prev=, Node#sibling=) and
378
+ update documentation.
379
+
380
+ * Deprecated Node#add_child and Node#child=, use Node#<< instead
381
+
382
+ * Fix documentation for Node#<<
383
+
384
+ * Added Document#import to enable moving nodes from one document
385
+ to another document.
386
+
387
+
388
+ == 1.1.2 / 2009-03-12 Charlie Savage
389
+
390
+ * Added XML::Node#inner_xml helper method.
391
+
392
+ * Fix segmentation that could occur when calling the mark function on a
393
+ previously freed node.
394
+
395
+ == 1.1.1 / 2009-03-10 Charlie Savage
396
+
397
+ * Fix - Only include extra html parser context methods for versions of libxml
398
+ older than 2.6.27.
399
+
400
+ == 1.1.0 / 2009-03-09 Charlie Savage
401
+
402
+ * Fix bug caused by the mark function being called on partially initialized
403
+ attributes.
404
+
405
+ * Revert back to libxml2's internal memory manager.
406
+
407
+ == 1.0.0 / 2009-03-05 Charlie Savage
408
+
409
+ * OS X (Charlie Savage). Update bindings to support the default installed
410
+ version of libxml2 (2.6.16) on OS X 10.5 and the latest version available
411
+ via MacPorts.
412
+
413
+ == 0.9.9 / 2009-03-05 Charlie Savage
414
+
415
+ * Ruby 1.9.1 support (Charlie Savage). libxml-ruby now compiles and runs on either
416
+ 1.8.6 and 1.9.1. With 1.8.6 all tests should pass while on 1.9.1 all but
417
+ for encoding tests pass. The port to Ruby 1.9.1 revealed two memory
418
+ allocation bugs (one with dtds, one with nodes) which are now fixed.
419
+
420
+ * Better OS X support (Joe Khoobyar). The default version of libxml2
421
+ on OS X 10.5 is fairly old, resulting in this link error:
422
+
423
+ NSLinkModule() error
424
+ dyld: Symbol not found: _htmlNewParserCtxt
425
+
426
+ This can be fixed by using MacPorts to get a newer version of libxml2.
427
+ To make use of MacPorts, the build script has been updated to use xml2-config.
428
+ This can be fine-tuned using the new --with-xml2-config / --without-xml2-config
429
+ options to extconf.rb (default is --without-xml2-config to match existing behavior).
430
+
431
+ * Greatly reduced memory usage (Joe Khoobyar).
432
+ See http://rubyforge.org/pipermail/libxml-devel/2009-February/001375.html.
433
+
434
+ * Add Document#xhtml? and document#node_type methods (Joe Khoobyar)
435
+
436
+ * Add XPath::Object#last (Joe Khoobyar)
437
+
438
+ * Provide finer control over CDATA nodes on a parser by parser basis (Joe Khoobyar).
439
+
440
+ * Bug fix - Namespaces were incorrectly merged with attributes in the new sax2
441
+ handler (Charlie Savage).
442
+
443
+ * Bug fix - Support iterating over nodes and attributes even with blocks
444
+ that call remove! (Charlie Savage)
445
+
446
+ * Bug fix - If reader.node is NULL, return nil instead of crashing (Charlie Savage)
447
+
448
+ * Bug fix - Dtd's owned by documents were freed twice in some circumstances (Joe Khoobyar).
449
+
450
+ * Bug fix - Fix output escaping on attributes nodes (Joe Khoobyar).
451
+
452
+ * Bug fix - Make sure IO objects are not garbage collected when used
453
+ as parser sources (Charlie Savage).
454
+
455
+ == 0.9.8 / 2009-1-24 Charlie Savage
456
+
457
+ * Refactored XML::Parser, XML::HTMLParser, XML::SaxParser and
458
+ XML::Reader to have consistent APIs. All the parsers
459
+ now take a context object in their constructors, allowing fine
460
+ grained control over the parsers for advanced use cases. These
461
+ API changes are backwards compatible except
462
+ for XML::Reader, which now takes an optional hash table as a
463
+ second parameter in its various constructors versus an optional
464
+ boolean value.
465
+
466
+ * Updated all APIs to use the encoding constants defined
467
+ in XML::Encoding versus string values. This API change
468
+ is not backwards compatible.
469
+
470
+ * Added support for attribute declarations in DTD's via the new
471
+ XML::AttrDecl class (Len Lattanzi)
472
+
473
+ * Support libxml's content escaping capabilities for text nodes by
474
+ wrapping libxml's "xmlStringText" and "xmlStringTextNoenc"
475
+ (Joe Khoobyar).
476
+
477
+ * Updated XML::Reader#read API to return true if a node was read,
478
+ false if node was not read and raises an exception on an error.
479
+ Previously #read returned 1 if a node was read, 0 if a node was
480
+ not read and -1 for an error. This change is not backwards
481
+ compatible, but provides a more natural interface for Ruby by
482
+ allowing code like this:
483
+
484
+ while reader.read
485
+ # do stuff
486
+ end
487
+
488
+ * Changed XML::Error exception objects to return copies of nodes that
489
+ cause parse errors instead of the original node. This prevents
490
+ segmentation faults when the error is reraised.
491
+
492
+ * Added XML::Reader#node method.
493
+
494
+ * Fixed compile errors on OS X which uses an older version of libxml.
495
+
496
+ * Fixed memory leak when performing XPath searches.
497
+
498
+ * Fixed rdocs.
499
+
500
+ * Don't override libxml's default settings for entity substitution and
501
+ loading external DTDs. This may break some code - you may need to
502
+ add in a call to XML.default_substitute_entities = true or
503
+ XML.default_load_external_dtd = true.
504
+
505
+
506
+ == 0.9.7 / 2008-12-08 Charlie Savage
507
+
508
+ * Added SAX2 support. SAX handlers now define two new callbacks,
509
+ on_start_element_ns and on_end_element_ns methods. These
510
+ new callbacks support namespaces, making them superior to the older
511
+ callbacks on_start_element and on_end_element methods. The old callbacks
512
+ are still supported, but may be deprecated in the future depending
513
+ on community feedback.
514
+
515
+ * Added SAX support for libxml's structured error handling.
516
+ That menas sax handlers now define a new callback, on_error,
517
+ which takes one parameter, an instance of XML::Error. The older
518
+ on_parser_error, on_parser_warning and on_parser_fatal_error
519
+ callbacks are no longer suported so you must port your code.
520
+ Note that the older callbacks took one string parameter, instead of
521
+ an XML::Error object.
522
+
523
+ * Experimental work-around for libxml error handling bug - see
524
+ http://mail.gnome.org/archives/xml/2008-December/msg00014.html
525
+ for more information.
526
+
527
+ * Fix compilation bugs on Solaris.
528
+
529
+ * Fix Rdoc compilation bug.
530
+
531
+
532
+ == 0.9.6 / 2008-12-08 Charlie Savage
533
+
534
+ * Refactored namespace handling. The existing, and inconsistent,
535
+ namespace methods defined on XML::Node have been deprecated.
536
+ They have been replaced by a the new XML::Namespaces class.
537
+ Use this class to inspect a node's namespace, its default
538
+ namespace, its namespace definitions and which namespaces
539
+ are in scope. It can be accessed via the the
540
+ XML::Node#namespaces method.
541
+
542
+ * Rationalized XML::Document#save, XML::Document#to_s and
543
+ XML::Node#to_s to take an optional hash table of parameters
544
+ that control how output is generated. Supported parameters
545
+ include setting indentation on or off, the indentation level
546
+ and the output encoding. This is an API change and may break
547
+ existing calls to XML::Document#save. However, the previous
548
+ API was broken - setting the encoding resulted in an error so
549
+ its unlikely anyone is using it.
550
+
551
+ * Rationalized XML::Document#debug, XML::Node#debug, XML::XPath::XPathObject#Debug.
552
+
553
+ * Deprecated a number of duplicate dump* and debug_* methods in
554
+ XML::Document and XML::Node.
555
+
556
+ * Additional Ruby 1.9.1 compatability fixes.
557
+
558
+ * Cleaned up header file guards.
559
+
560
+ == 0.9.5 / 2008-11-29 Charlie Savage
561
+
562
+ * Ruby 1.9.1 preview release compatability (Felipe Contreras)
563
+
564
+ * Update Node#remove! to return the removed node and to set
565
+ its document to nil. This allows the node to be either
566
+ moved to another document, another part of the same document
567
+ or to be freed on the next garbage collection once its
568
+ references have gone out of scope.
569
+
570
+ * Fix bug where XPathExpression#compile mistakenly overwrote
571
+ RegExp#compile.
572
+
573
+ * Update Node to use standard ruby allocators and initializers.
574
+
575
+ * Update HTML parser to be more forgiving of invalid documents.
576
+
577
+ * Update include paths for Darwin Ports on OS X.
578
+
579
+ * Updated C code base to use BSD/Allman style
580
+
581
+
582
+ == 0.9.4 / 2008-11-24 Charlie Savage
583
+
584
+ * Update HTML parser so that it can read files, strings and io
585
+ streams.
586
+
587
+ * Update HTML parser to support user specified encodings.
588
+
589
+ * Additional C code cleanup.
590
+
591
+ == 0.9.3 / 2008-11-22 Charlie Savage
592
+
593
+ * Fixed segmentation fault caused by documents being freed
594
+ before xpath results that referenced the document (take 2).
595
+
596
+ * Allowed sax parser to use io stream
597
+
598
+ * Combined encoding and input classes
599
+
600
+ * Cleaned up C code - removed remaining legacy structures,
601
+ added static to most methods, changed C namespace from ruby_xml
602
+ to rxml
603
+
604
+ == 0.9.2 / 2008-11-19 Charlie Savage
605
+
606
+ * Add support for compiled XPath expressions (donated by Pavel Valodzka)
607
+
608
+ * Fixes for compiling on OS X 10.5.4 and 10.5.5
609
+
610
+ == 0.9.1 / 2008-11-18 Charlie Savage
611
+
612
+ * Expose LibXML's encoding support via a new Encoding object.
613
+
614
+ * Revamp error handling to be much easier to use. Errors are now
615
+ wrapped by the new XML::Error class and are thrown as exceptions
616
+ when it is appropriate.
617
+
618
+ * Fixed segmentation fault caused by documents being freed
619
+ before xpath results that referenced the document.
620
+
621
+ * Add Node#register_default_namespace to simplify default namespace handling.
622
+
623
+ * Significantly improve documentation
624
+
625
+ * A number of bug fixes and patches.
626
+
627
+ == 0.9.0 / 2008-11-18 Charlie Savage
628
+
629
+ * Version 0.9.0 was removed due to packaging errors.
630
+
631
+
632
+ == 0.8.3 / 2008-07-21 Charlie Savage
633
+
634
+ * Missed several files in last release
635
+
636
+ == 0.8.2 / 2008-07-21 Charlie Savage
637
+
638
+ * To use LibXML you can either require 'xml' or require 'libxml'.
639
+ The differences is that require 'xml' mixes the LibXML module into
640
+ the global namespace, thereby allowing you to write code such
641
+ as document = XML::Document.new. Note that this is different
642
+ from 0.8.0 and 0.8.1 and may require updating your code.
643
+
644
+ * Support RelaxNG validation (thanks to Morus Walter)
645
+
646
+ * Support passing IO objects to XmlReaders (thanks to Tom Hughes)
647
+
648
+ * Fix segmentation fault caused by adding an attribute to a CDATA node
649
+
650
+ * Moved node checking functions from C to Ruby
651
+
652
+ * Improved Windows support - libxml-ruby should now work out of the box.
653
+
654
+ * Improved Windows support - turned on libxml's zlib and iconv support.
655
+
656
+
657
+ == 0.8.1 / 2008-07-09 Charlie Savage
658
+
659
+ * Reimplmented Node#each_attr for backwards compatability
660
+
661
+ * Moved node type test to Ruby.
662
+
663
+
664
+ == 0.8.0 / 2008-07-09 Charlie Savage
665
+
666
+ * Fixed bug in returning attributes from XPath results
667
+
668
+ * Fixed DOM traversal methods
669
+
670
+ * Changed Node#children to return an array of nodes
671
+
672
+ * Fixed bug in returning attributes from XPath results
673
+
674
+ * Refactored XPath support, providing more user hooks in the XPath::Context class
675
+
676
+ * Added Node#properties for backwards compatibility
677
+
678
+ * Updated setup.rb
679
+
680
+ * Added more tests
681
+
682
+ * Updated rdocs and README file
683
+
684
+ * Moved libxml into LibXML namespace
685
+
686
+
687
+ == 0.7.0 / 2008-07-09 Charlie Savage
688
+
689
+ * Added new attributes class to provide a more natural way of working with attributes
690
+
691
+ * Fixed XML::Attr to better support namespaces
692
+
693
+ * Added documentation on how to use namespaces with XPath
694
+
695
+ * Removed allocation of extraneous structures used to wrap nodes, namespaces and attributes
696
+
697
+ * Cleaned up tests and added new test suite
698
+
699
+ * Updated rdocs and README file
700
+
701
+ * Cleaned out most of the bug list
702
+
703
+
704
+ == 0.6.0 / 2008-07-01 Charlie Savage
705
+
706
+ * 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.
707
+
708
+ * Fixed segmentation fault in xml reader expand (same xml tree freed twice)
709
+
710
+ * Applied a number of patches from Tom Bagby, including fixes for xpath segmentation faults and fixes for various memory leaks
711
+
712
+ * Cleaned up a number of compiler warnings
713
+
714
+ * 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.
715
+
716
+ * Added rake files for building with MingW
717
+
718
+ * 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.
719
+
720
+ * Cleaned up the tests and added a few more based on bug reports from the Tracker and mailing list.
721
+
722
+ * Cleaned out the patch queue and went through about 1/2 the bug list
723
+
724
+
725
+ === 2007-11-16 "Dan Janowski" <danj at 3skel.com>
726
+
727
+ * Merged Dan's MEM2 branch to trunk.
728
+
729
+ == 0.5.3 /
730
+
731
+ === 2007-11-16 "Dan Janowski" <danj at 3skel.com>
732
+
733
+ * Merged Dan's MEM2 branch to trunk.
734
+
735
+
736
+ == 0.5.2 / 2007-10-10
737
+
738
+ === 2007-10-10 "Dan Janowski" <danj at 3skel.com>
739
+
740
+ * (Dan, fill in the major points of the changes you made up to here -thanks)
741
+
742
+ === 2007-01-14 "Laurent Sansonetti" <lrz at chopine.be>
743
+
744
+ * Added some preliminary RDoc comments for XML::Reader.
745
+
746
+ === 2006-12-05 "Laurent Sansonetti" <lrz at chopine.be>
747
+
748
+ * Added XML::Reader, a set of bindings to the xmlTextReader API.
749
+
750
+
751
+ == 0.3.8.4 / 2006-12-02
752
+
753
+ === 2006-04-15 "Ross Bamform" <rosco at roscopeco.co.uk>
754
+
755
+ * Implemented SAX parser callback handling.
756
+
757
+ === 2006-04-12 "Ross Bamford" <rosco at roscopeco.co.uk>
758
+
759
+ * Integrated and tested community patches.
760
+ * Defined XML::Node (hash) equality in terms of XML representation.
761
+
762
+ === 2006-04-12 "Tim Yamin" <plasmaroo at gentoo.org>
763
+
764
+ * Fixed XML::Node#content inoperable bug (plasmaroo) [patch]
765
+ * Fixed memory leak in same
766
+
767
+ === 2006-04-12 "Mark Van Holstyn" <mvette13 at gmail.com>
768
+
769
+ * Added XML::Node::Set#first (mvette13) [patch]
770
+ * Added XML::Node::Set#empty?
771
+ * Fixed XML::Node::Set#to_a
772
+ * Added XML::Node#find_first
773
+ * Added XML::Node#remove!
774
+
775
+ === 2006-03-27 "Ross Bamford" <rosco at roscopeco.co.uk>
776
+
777
+ * Integrated contributed XML::Parser.register_error_handler patch (rosco)
778
+
779
+ === 2006-02-27 "Ross Bamford" <rosco at roscopeco.co.uk>
780
+
781
+ * Fixed all multiple symbol definitions for -fno-common.
782
+ * Removed OSX -fno-common workaround.
783
+
784
+
785
+ == 0.3.6 / 2006-02-23
786
+
787
+ === 2006-02-21 "Ross Bamford" <rosco at roscopeco.co.uk>
788
+
789
+ * Patched extconf.rb with OSX -fno-common workaround
790
+ * Added gem and packaging support to Rakefile
791
+ * Moved version update to Rakefile
792
+ * Removed legacy project utility scripts
793
+
794
+ === 2005-02-19 "Ross Bamford" <rosco at roscopeco.co.uk>
795
+
796
+ * Fixed doublefree bug in ruby_xml_attr.
797
+ * Fixed small leak in parser
798
+
799
+ === 2005-12-18 "Ross Bamford" <rosco at roscopeco.co.uk>
800
+
801
+ * Updated for GCC 4.0 (community patches)
802
+ * Fixed default validation bug
803
+ * Refactored project, removed outdated files, cleaned up tests.
804
+ * Added RDoc documentation across .c files.
805
+ * Fixed up a few strings.
806
+
807
+ === 2004-04-04 "Mangler Jurgen" <et@wkv.at>
808
+
809
+ * ruby_xml_node.cz: fixed ruby_xml_node_property_set. The ill-behaviour
810
+ was, that there was added a second attribute of the same
811
+ name, when you were setting the value of an already existing
812
+ attribute.
813
+
814
+ === 2004-03-17 "Lukas Svoboda" <luks@fi.muni.cz>
815
+
816
+ * ruby_xml_node.c: ruby_xml_node_to_s now returns XML subtree dump.
817
+
818
+ === 2004-02-27 "Martin Povolny" <martin@solnet.cz>
819
+
820
+ * ruby_xml_node.c: added XML::Node.copy, this makes possible building
821
+ of xml documents from nodes taken from other xml documents
822
+ without making ruby SIGSEGV (see tests/copy_bug.rb).
823
+
824
+ === 2004-02-26 "Martin Povolny" <martin@solnet.cz>
825
+
826
+ * ruby_xml_dtd.c, ruby_xml_dtd.h, ruby_xml_schema.c, ruby_xml_schema.h:
827
+ more work on validation, now you can actually validate
828
+ document using dtd or xml schema, also solved warning and
829
+ error propagation (see tests/{dtd|schema}-test.rb).
830
+
831
+ === 2003-12-30 "Martin Povolny" <martin@solnet.cz>
832
+
833
+ * ruby_xml_dtd.c, ruby_xml_dtd.h, ruby_xml_schema.c, ruby_xml_schema.h:
834
+ prelimitary support for dtd and schema validation
835
+
836
+ === 2003-09-15 "Martin Povolny" <martin@solnet.cz>
837
+
838
+ * ruby_xml_input_cbg.c, libxml.c: added class InputCallbacks to make
839
+ possible registering custom input callbacks
840
+ handlers (xmlRegisterInputCallbacks) written in ruby
841
+
842
+ === 2003-08-01 "Martin Povolny" <martin@solnet.cz>
843
+
844
+ * ruby_xml_document.c: corrected argument handling in ruby_xml_document_find
845
+ * ruby_xml_node.c: corrected argument handling in ruby_xml_node_find
846
+
847
+
848
+