Bump to libxml++ 2.34.2
[platform/upstream/libxml++.git] / ChangeLog
1 2.34.2:
2
3 2011-09-06  Mathias Lorente  <mathias.lorente@free.fr>
4
5         Node::create_new_child_node(): Use the default namespace if none is specified.
6
7         * libxml++/nodes/node.cc: This is better than just ignoring it.
8         Bug #656110
9
10 2011-07-20  Murray Cumming  <murrayc@murrayc.com>
11
12         ContentNode::get_content(): Fix a documentation typo.
13
14         * libxml++/nodes/contentnode.h: Mention &gt; instead of &qt (a q 
15         instead of a g, and no ;.).
16
17 2011-07-20  Mathias Lorente  <mathias.lorente@free.fr>
18
19         Add Element::add_child_cdata().
20
21         * libxml++/nodes/element.[h|cc]: Add add_child_cdata(), using 
22         xmlNewCDataBlock(), like the existing add_child_text().
23         * examples/sax_parser_build_dom/example.xml:
24         * examples/sax_parser_build_dom/svgparser.[h|cc]: Use the new API.
25
26 2.34.1:
27
28 2011-04-17  Murray Cumming  <murrayc@murrayc.com>
29
30         Fix distcheck.
31
32         * Makefile.am: Specify the full path to docbook-customisation.xsl,
33         which is apparently necessary with the autotools that I have here.
34
35 2011-04-17  Murray Cumming  <murrayc@murrayc.com>
36
37         Fix the build with --enable-warnings=fatal.
38
39         * configure.ac: Use -no-long-long to avoid an (apparently new) compiler
40         warning about long long not being supported by C++98. glibmm already had
41         this option.
42
43 2011-04-17  Murray Cumming  <murrayc@murrayc.com>
44
45         Do not require mm-common during the tarball build.
46
47         * configure.ac: Add a MM_CONFIG_DOCTOOL_DIR() call.
48
49 2.34.0:
50
51 2011-02-24  Murray Cumming  <murrayc@murrayc.com>
52
53         Fix the build with the changed linker behaviour on Ubuntu Natty.
54
55         * Makefile.am: Link the examples to glibmm explicitly.
56
57 2.33.2:
58
59 2011-02-11  Murray Cumming  <murrayc@murrayc.com>
60
61         Node::remove_child(): Fix a use of deleted memory
62
63         * libxml++/nodes/node.cc:
64         Use a temporary variable to avoid accessing the node C++ instance after we
65         have deleted it. Valgrind foudn this.
66         Also remove the comment about the libxml deleting our C++ instance via a
67         callback, because we don't do that anymore.
68
69 2010-11-26  Murray Cumming  <murrayc@murrayc.com>
70
71         Check some libxml function return values.
72
73         * libxml++/document.cc: do_write_to_stream():
74         * libxml++/schema.cc: set_document(): Check the results from
75         xmlSchemaNewDocParserCtxt() and xmlSaveFormatFileTo().
76         Bug #635846 (Markus Elfring).
77
78 2.33.1:
79
80 2010-11-14  Murray Cumming  <murrayc@murrayc.com>
81
82         free_wrappers(): Fix crash.
83
84         * libxml++/nodes/node.cc: free_wrappers(): Revert my change to check
85         xmlNode::properties for all types, because the layout of some structs
86         is apparently completely different (not really deriving fully), and this
87         caused a crash in examples/sax_parser/.
88         Added an explanatory comment.
89
90 2010-11-14  Murray Cumming  <murrayc@murrayc.com>
91
92         Change the --enable-examples default to yes.
93
94         * configure.ac: Build the examples by default, so we at least check the
95         build more often. Disabling them is only useful for package building,
96         which is the less common case.
97
98 2010-11-14  Murray Cumming  <murrayc@murrayc.com>
99
100         Moved create_wrapper() and free_wrappers() to Node.
101
102         * libxml++/document.[h|cc]:
103         * libxml++/nodes/node.[h|cc]: Moved create_wrapper() and free_wrappers()
104         to here from Document.
105         free_wrappers(): Never return inside the switch/case, so we check
106         xmlNode::properties for all struct types, and to avoid making the behaviour
107         non-obvious.
108         * libxml++/parsers/textreader.cc:
109         * libxml++/validators/dtdvalidator.cc:
110         * libxml++/nodes/element.cc: Adapted.
111
112 2010-11-08  Alessandro Pignotti  <a.pignotti@sssup.it>
113
114         Make libxml++ compatible with separate and multi-threaded libxml2 usage.
115
116         * libxml++/document.[h|cc]: Added create_wrapper() and free_wrappers(),
117         replacing on_libxml_construct() and on_libxml_destruct() .
118         Init(): Do not register these global callbacks with libxml.
119         * libxml++/nodes/element.cc:
120         * libxml++/nodes/node.[h|cc]:
121         * libxml++/parsers/textreader.cc:
122         * libxml++/validators/dtdvalidator.cc: Call these create_wrapper() before
123         ever trying to get a C++ instance from a C instance. Call free_wrappers()
124         in destructors and other places where we want the instance to be destroyed.
125
126         This avoids use of libxml's global function pointers, which are not
127         thread-safe.
128
129 2010-11-08  Murray Cumming  <murrayc@murrayc.com>
130
131         Do not call xmlCleanupParser() because it is brutal.
132
133         * libxml++/document.cc: ~Init(): Do not call xmlCleanupParser() because it
134         breaks libxml generally and should only be called by an application
135         explicitly before it ends, for instance at the end of its main().
136
137 2010-10-19  Knut Aksel Røysland  <knutroy@ifi.uio.no>
138
139   Node::get_parent(): Removed code duplication.
140
141   * libxml++/nodes/node.cc: get_parent() const: Use const_cast<> to call
142   the non-const version, instead of duplicating the code.
143
144 2.32.0:
145
146 2010-10-14  Murray Cumming  <murrayc@murrayc.com>
147
148         website: Change the mailing list location, because I moved it.
149
150         * docs/index.html: The mailing list is now at gnome.org.
151
152 2010-10-03  Armin Burgmeier  <armin@arbur.net>
153
154         * MSVC_Net2005/README:
155         * MSVC_Net2005/examples/dom_build/dom_build.vcproj:
156         * MSVC_Net2005/examples/dom_parse_entities/dom_parse_entities.vcproj:
157         * MSVC_Net2005/examples/dom_parser/dom_parser.vcproj:
158         * MSVC_Net2005/examples/dom_parser_raw/dom_parser_raw.vcproj:
159         * MSVC_Net2005/examples/dom_read_write/dom_read_write.vcproj:
160         * MSVC_Net2005/examples/dom_xpath/dom_xpath.vcproj:
161         * MSVC_Net2005/examples/dtdvalidation/dtdvalidation.vcproj:
162         * MSVC_Net2005/examples/import_node/import_node.vcproj:
163         * MSVC_Net2005/examples/sax_exception/sax_exception.vcproj:
164         * MSVC_Net2005/examples/sax_parser/sax_parser.vcproj:
165         * MSVC_Net2005/examples/sax_parser_build_dom/sax_parser_build_dom.vcproj:
166         * MSVC_Net2005/examples/sax_parser_entities/sax_parser_entities.vcproj:
167         * MSVC_Net2005/examples/schemavalidation/schemavalidation.vcproj:
168         * MSVC_Net2005/examples/textreader/textreader.vcproj:
169         * MSVC_Net2005/gendef/gendef.vcproj:
170         * MSVC_Net2005/libxml++.sln:
171         * MSVC_Net2005/libxml++/libxml++.vcproj:
172         * MSVC_Net2008/README:
173         * MSVC_Net2008/examples/dom_build/dom_build.vcproj:
174         * MSVC_Net2008/examples/dom_parse_entities/dom_parse_entities.vcproj:
175         * MSVC_Net2008/examples/dom_parser/dom_parser.vcproj:
176         * MSVC_Net2008/examples/dom_parser_raw/dom_parser_raw.vcproj:
177         * MSVC_Net2008/examples/dom_read_write/dom_read_write.vcproj:
178         * MSVC_Net2008/examples/dom_xpath/dom_xpath.vcproj:
179         * MSVC_Net2008/examples/dtdvalidation/dtdvalidation.vcproj:
180         * MSVC_Net2008/examples/import_node/import_node.vcproj:
181         * MSVC_Net2008/examples/sax_exception/sax_exception.vcproj:
182         * MSVC_Net2008/examples/sax_parser/sax_parser.vcproj:
183         * MSVC_Net2008/examples/sax_parser_build_dom/sax_parser_build_dom.vcproj:
184         * MSVC_Net2008/examples/sax_parser_entities/sax_parser_entities.vcproj:
185         * MSVC_Net2008/examples/schemavalidation/schemavalidation.vcproj:
186         * MSVC_Net2008/examples/textreader/textreader.vcproj:
187         * MSVC_Net2008/gendef/gendef.vcproj:
188         * MSVC_Net2008/libxml++.sln:
189         * MSVC_Net2008/libxml++/libxml++.vcproj:
190         * MSVC_Net2010/README:
191         * MSVC_Net2010/examples/dom_build/dom_build.vcxproj:
192         * MSVC_Net2010/examples/dom_build/dom_build.vcxproj.filters:
193         * MSVC_Net2010/examples/dom_parse_entities/dom_parse_entities.vcxproj:
194         * MSVC_Net2010/examples/dom_parse_entities/dom_parse_entities.vcxproj.filters:
195         * MSVC_Net2010/examples/dom_parser/dom_parser.vcxproj:
196         * MSVC_Net2010/examples/dom_parser/dom_parser.vcxproj.filters:
197         * MSVC_Net2010/examples/dom_parser_raw/dom_parser_raw.vcxproj:
198         * MSVC_Net2010/examples/dom_parser_raw/dom_parser_raw.vcxproj.filters:
199         * MSVC_Net2010/examples/dom_read_write/dom_read_write.vcxproj:
200         * MSVC_Net2010/examples/dom_read_write/dom_read_write.vcxproj.filters:
201         * MSVC_Net2010/examples/dom_xpath/dom_xpath.vcxproj:
202         * MSVC_Net2010/examples/dom_xpath/dom_xpath.vcxproj.filters:
203         * MSVC_Net2010/examples/dtdvalidation/dtdvalidation.vcxproj:
204         * MSVC_Net2010/examples/dtdvalidation/dtdvalidation.vcxproj.filters:
205         * MSVC_Net2010/examples/import_node/import_node.vcxproj:
206         * MSVC_Net2010/examples/import_node/import_node.vcxproj.filters:
207         * MSVC_Net2010/examples/sax_exception/sax_exception.vcxproj:
208         * MSVC_Net2010/examples/sax_exception/sax_exception.vcxproj.filters:
209         * MSVC_Net2010/examples/sax_parser/sax_parser.vcxproj:
210         * MSVC_Net2010/examples/sax_parser/sax_parser.vcxproj.filters:
211         * MSVC_Net2010/examples/sax_parser_build_dom/sax_parser_build_dom.vcxproj:
212         * MSVC_Net2010/examples/sax_parser_build_dom/sax_parser_build_dom.vcxproj.filters:
213         * MSVC_Net2010/examples/sax_parser_entities/sax_parser_entities.vcxproj:
214         * MSVC_Net2010/examples/sax_parser_entities/sax_parser_entities.vcxproj.filters:
215         * MSVC_Net2010/examples/schemavalidation/schemavalidation.vcxproj:
216         * MSVC_Net2010/examples/schemavalidation/schemavalidation.vcxproj.filters:
217         * MSVC_Net2010/examples/textreader/textreader.vcxproj:
218         * MSVC_Net2010/examples/textreader/textreader.vcxproj.filters:
219         * MSVC_Net2010/gendef/gendef.cc:
220         * MSVC_Net2010/gendef/gendef.vcxproj:
221         * MSVC_Net2010/gendef/gendef.vcxproj.filters:
222         * MSVC_Net2010/libxml++.sln:
223         * MSVC_Net2010/libxml++/libxml++.rc.in:
224         * MSVC_Net2010/libxml++/libxml++.vcxproj:
225         * MSVC_Net2010/libxml++/libxml++.vcxproj.filters:
226         * Makefile.am:
227         * configure.ac: Added support for MSVC 2010 and 64 bit.
228
229 2010-06-13  Murray Cumming  <murrayc@murrayc.com>
230
231         Node::find(): Check xmlNode::type for a XML_NAMESPACE_DECL.
232
233         * libxml++/nodes/node.cc: find_impl(): if the xmlNode has type
234         XML_NAMESPACE_DECL then it is actually a xmlNs, which is not like a xmlNode
235         at all (thanks to the awful undocumented libxml++ system of struct
236         inheritance).
237         So we just igore these items. We need to decide what the caller really
238         expects.
239
240 2010-06-13  Murray Cumming  <murrayc@murrayc.com>
241
242         Node::find(): Revert some of my previous change because it breaks some code.
243
244         * libxml++/nodes/node.cc: find_impl(): Restore the previous behaviour,
245         because the strange use of _private only seems to happen sometimes.
246
247 2010-06-13  Murray Cumming  <murrayc@murrayc.com>
248
249         Node::find(): Cope with weird use of _private in xmlNodeSet.
250
251         * libxml++/nodes/node.cc: The xmlNodeSet seems to contain extra xmlNodes that
252         were never given to on_libxml_construct(). Those xmlNodes seem to abuse
253         private_, where we find our real xmlNodes containing our C++ Nodes.
254         This fixes bug #386013 (Max Kirillov) though it depends on undocumented
255         libxml behaviour.
256
257 2010-06-13  Murray Cumming  <murrayc@murrayc.com>>
258
259         Node::find(): Use libxml functions instead of direct C access.
260
261         * libxml++/nodes/node.cc: Use xmlXPathNodeSetIsEmpty(),
262         xmlXPathNodeSetGetLength() and xmlXPathNodeSetItem() instead of direct
263         xmlNodeSet struct access.
264
265 2010-06-13  Murray Cumming  <murrayc@murrayc.com>
266
267         Manual: Use git.gnome.org as the link to the examples source code.
268
269         * docs/manual/libxml++_without_code.xml: Use git.gnome.org for the examples
270         url base, as we do in gtkmm-documentation.
271
272 2010-06-13  Murray Cumming  <murrayc@murrayc.com>
273
274         Restore the mm-common make target and update a link.
275
276         * Makefile.am: Restore (and update) the post-html target that was lost when
277         we redid the build system for mm-common.
278         * docs/index.html: Change the link to the manual to point to its new location
279         at library.gnome.org.
280
281 2.30.1:
282
283 2010-05-04  Murray Cumming  <murrayc@murrayc.com>
284
285     Documentation: Don't hide undocumented API.
286
287         * docs/reference/Doxyfile.in: Use the same options as gtkmm (mostly).
288     In particular, don't hide undocumented API, such as NodeSet, to fix
289     bug #583412 (Hubert Figuiere).
290
291 2010-05-04  Murray Cumming  <murrayc@murrayc.com>
292
293         Documentation: Improvements.
294
295         * libxml++/libxml++.h: Expand the main page text, linking to the tutorial
296     and to important classes.
297         * libxml++/parsers/domparser.h:
298         * libxml++/schema.h: Correct the class descriptions.
299         * libxml++/parsers/textreader.h: Add a class description.
300         * libxml++/nodes/element.h:
301         * libxml++/nodes/node.h:
302         * libxml++/parsers/saxparser.h:
303         * libxml++/validators/schemavalidator.h:
304     Correct @newin2p2* to @newin{2,*} now that we use mm-common.
305
306 2010-04-27  David King  <davidk@openismus.com>
307
308         Further documentation main page improvements
309
310         * libxml++/libxml++.h: Some minor improvements.
311
312 2010-04-23  David King  <davidk@openismus.com>
313
314         Documentation main page improvements
315
316         * libxml++/libxml++.h: Add external links and compilation example.
317
318 2010-04-16  David King  <davidk@openismus.com>
319
320         Minor documentation update
321
322         * docs/index.html: Link to latest gnome.org resources.
323         * libxml++/libxml++.h: Add minimal documentation for main page.
324
325 2010-04-06  Murray Cumming  <murrayc@murrayc.com>
326
327     .pc file: Add datarootdir.
328
329         * libxml++-2.6.pc.in: Add datarootdir and datadir, as in the gtkmm .pc.in
330     file, because I started seeing this warning when running autogen.sh in Glom:
331     Variable 'datarootdir' not defined in '/opt/gnome228/lib/pkgconfig/libxml++-2.6.pc'
332
333 2010-04-03  Armin Burgmeier  <armin@arbur.net>
334
335         * MSVC_Net2005/libxml++.sln:
336         * MSVC_Net2008/libxml++.sln: Add dom_parser_raw project to the
337         solution files.
338
339 2010-03-30  Murray Cumming  <murrayc@murrayc.com>
340
341     Stop exceptions when using std::cout and UTF-8.
342
343         * examples/*/main.cc: Initialize the global C and C++ locale to prevent
344     exceptions when ouputing a ustring (with non-ASCII UTF-8) to std::cout.
345     We don't see this problem when writing gtkmm apps because gtk_init() (via
346     Gtk::Main) initializes the C locale correctly.
347
348     Thanks to Daniel Elstner for the solution (he will document it properly
349     in the Glib::ustring API reference) and to Nic Reveles and others for
350     noticing the problem.
351
352 2010-03-30  David King  <davidk@openismus.com>
353
354         Update pkg-config file
355
356         * libxml++-2.6.pc.in: Add documentation locations to pkg-config file.
357         Update other fields to use variables, rather than hardcoded values.
358
359 === 2.30.0 ===
360
361 2010-03-30  David King  <davidk@openismus.com>
362
363         Disable AM_MAINTAINER_MODE by default
364
365         * configure.ac: Pass the disable parameter to AM_MAINTAINER_MODE so
366         that tarball users do not need doxygen, mm-common, etc. if they modify
367         files. Maintainer mode is still enabled if running autogen.sh.
368
369 2010-03-29  David King  <davidk@openismus.com>
370
371         Move a target outside a conditional block to fix the build
372
373         * Makefile.am: Move docs/manual/libxml++.xml target outside the
374         ENABLE_DOCUMENTATION conditional block.
375
376 2010-03-29  David King  <davidk@openismus.com>
377
378         Use mm-common for reference documentation generation
379
380         * .gitignore: Update.
381
382         * Makefile.am: Remove SUBDIRS. Make examples build and documentation
383         build conditional. Build reference documentation with doc-reference.am
384         from mm-common. Add docs/manual/libxml++.pdf target, but do not enable
385         it by default. Add autogen.sh and docs/manual/insert_example_code.pl to
386         dist_noinst_SCRIPTS. Add docs/manual/html/*.html to
387         MAINTAINERCLEANFILES.
388
389         * autogen.sh: Add --enable-maintainer-mode to arguments passed to
390         configure.
391
392         * configure.ac: Add AM_MAINTAINER_MODE. Add a configure argument to
393         enable the build of the examples. Use mm-common macros to add a
394         configure argument to enable documentation, and use the glibmm
395         tagfile. Check for xmllint and db2latex for DTD validation of the
396         DocBook manual and building the PDF documentation, repectively. Remove
397         the last non-toplevel Makefiles from AC_CONFIG_FILES.
398
399         * docs/Makefile.am:
400         * docs/Makefile_web.am_fragment:
401         * docs/manual/Makefile.am:
402         * docs/reference/Makefile.am: Remove from repository, and move content
403         to Makefile.am.
404
405         * docs/manual/docbook-customisation.xsl: Add DocBook customisation
406         parameters.
407
408         * docs/manual/libxml++_without_code.xml: Make validate.
409
410         * docs/reference/Doxyfile.in: Update from mm-common.
411
412         * docs/reference/README: Remove empty file.
413
414 2010-03-27  David King  <amigadave@amigadave.com>
415
416         Fix several compiler warnings
417
418         * examples/dom_build/main.cc:
419         * examples/dtdvalidation/main.cc:
420         * examples/import_node/main.cc:
421         * examples/sax_exception/main.cc:
422         * examples/sax_exception/my_parser.cc:
423         * examples/sax_parser/main.cc:
424         * examples/sax_parser/my_parser.cc:
425         * examples/sax_parser_build_dom/svgparser.cc:
426         * examples/sax_parser_entities/myparser.cc:
427         * examples/textreader/main.cc:
428         * libxml++/parsers/textreader.cc: Comment out unused parameters and
429         variables.
430
431         * libxml++/parsers/saxparser.cc: Fill in missing fields of
432         xmlSAXHandler struct.
433
434 2010-03-27  David King  <davidk@openismus.com>
435
436         Refactor build system
437
438         * Makefile.am: Merge from subdir Makefile.am files, excluding doc.
439
440         * MSVC_Net2005/examples/dom_parser_raw/dom_parser_raw.vcproj:
441         * MSVC_Net2008/examples/dom_parser_raw/dom_parser_raw.vcproj: Add
442         missing Visual studio project files.
443
444         * MSVC_Net2005/examples/*/Makefile.am:
445         * MSVC_Net2005/examples/Makefile.am:
446         * MSVC_Net2005/gendef/Makefile.am:
447         * MSVC_Net2005/libxml++/Makefile.am:
448         * MSVC_Net2008/examples/*/Makefile.am:
449         * MSVC_Net2008/examples/Makefile.am:
450         * MSVC_Net2008/gendef/Makefile.am:
451         * MSVC_Net2008/libxml++/Makefile.am: Remove from repository, and move
452         content to Makefile.am, making the MSVC project file build
453         non-recursive.
454
455         * README: Update.
456
457         * autogen.sh: Copy from gtkmm.
458
459         * configure.in: Move to configure.ac.
460
461         * configure.ac: Require autoconf 2.59 and automake 1.9. Use new-style
462         AC_INIT() with bug-report link and homepage URL. Use mm-common for
463         initialisation of version variables. Require libtool 2.2.6 for much
464         faster builds. Use MM_ARG_ENABLE_WARNINGS to configure compiler
465         warning flags. Use MM_CHECK_PERL to check for the required Perl
466         version. Use AC_CONFIG_FILES rather than AC_OUTPUT. Update for
467         Makefile.am changes.
468
469         * config.h.in: Remove from repository, as autoheader is now used.
470
471         * */.cvsignore: Remove old files.
472
473         * doc/manual/Makefile.am: Use the correct Perl.
474
475         * doc/reference/Doxyfile.in:
476         * MSVC_Net2005/libxml++/libxml++.rc.in:
477         * MSVC_Net2008/libxml++/libxml++.rc.in: Use new-style variable names.
478
479         * examples/Makefile.am_fragment:
480         * examples/Makefile.am:
481         * examples/*/Makefile.am: Remove from repository, and move content to
482         Makefile.am, making the examples build non-recursive.
483
484         * .gitignore: Update.
485
486         * libxml++/Makefile.am:
487         * libxml++/*/Makefile.am: Remove from repository, and move content to
488         Makefile.am, making the libxml++ build non-recursive.
489
490         * libxml++.spec.in:
491         * INSTALL: Remove from repository.
492
493         * scripts/README:
494         * scripts/Makfile.am: Remove from repository.
495
496         * scripts/reduced.m4: Move to macros/reduced.m4
497
498 2010-03-08  Murray Cumming  <murrayc@murrayc.com>
499
500         Use 0 instead of NULL.
501
502         * MSVC_Net2005/gendef/gendef.cc:
503         * MSVC_Net2008/gendef/gendef.cc:
504         * libxml++/attribute.cc:
505         * libxml++/document.cc:
506         * libxml++/io/outputbuffer.cc:
507         * libxml++/io/parserinputbuffer.cc:
508         * libxml++/nodes/node.cc:
509         * libxml++/parsers/domparser.cc:
510         * libxml++/parsers/parser.cc:
511         * libxml++/parsers/textreader.cc:
512         * libxml++/schema.cc:
513         * libxml++/schema.h: Do not use NULL. It is unwise in C++.
514
515 === 2.26.1 ===
516
517 2009-07-27  Johannes Schmid <jschmid@openismus.com>
518
519         * libxml++/validators/schemavalidator.cc:
520         * libxml++/schema.cc: Fixed exception handling
521         problems in non-exception build
522         * examples/sax_parser/myparser.cc/h: Make example build withouth exceptions,
523         it's useless then though
524         * examples/schemavalidation/main.cc: Fixed build without exceptions
525
526 2009-07-27  Johannes Schmid <jschmid@openismus.com>
527
528         New tarball release
529
530         * configure.in: Updated version to 2.26.1
531         * NEWS: updated
532
533 2009-05-07  Murray Cumming  <murrayc@murrayc.com>
534
535         Fix the build without exceptions, hopefully.
536
537         * libxml++/parsers/textreader.cc: check_for_exceptions():
538         Add an ifdef so that this should build with exceptions disabled,
539         though there is no alternative API yet. Noticed by David King.
540
541 2009-05-07  Murray Cumming  <murrayc@murrayc.com>
542
543         * libxml++/parsers/textreader.cc: Whitespace corrections.
544
545 2009-03-25  Hubert Figuiere  <hub@figuiere.net>
546
547         * libxml++/parsers/saxparser.h: Fix some warnings triggered
548         by -Wshadow.
549
550 2009-03-23  Hubert Figuiere  <hub@figuiere.net>
551
552         * libxml++/parsers/textreader.cc: severity_ was not initialised
553         at construction time. (Closes #576516)
554
555 2.26.0:
556
557 2009-03-16  Murray Cumming  <murrayc@murrayc.com>
558
559         * configure.in: Increased version number to match GNOME 2.26.
560
561 2.24.3:
562
563 2009-03-02  Armin Burgmeier  <armin@openismus.com>
564
565         * libxml++/validators/validator.h:
566         * libxml++/parsers/parser.h: Removed the vsnprintf #define on Windows.
567         This could conflict with another define otherwise. Both MSVC and MinGW
568         have vsnprintf (without underscore) as well, and I verified libxml++
569         still compiles in both. If we still need the definition for some
570         reason, then we should re-add it into the source files, so that other
571         libraries don't conflict with our definition.
572
573 2009-01-09  Stef Walter  <stef-list@memberwebs.com>
574
575         * libxml++/parsers/textreader.[h|cc]: Add setup_exceptions(), setting
576         the on_libxml_error() callback, and call it from the constructors.
577         check_for_exceptions(): Actually check some member variables and throw an
578         exception if necessary.
579         This should fix bug #348006.
580         It breaks ABI because it adds member variables, but we decided that is
581         OK because nobody could actually be using this class seriously before
582         now because it had no error checking.
583
584 2.24.2:
585
586 2008-12-20  Armin Burgmeier  <armin@openismus.com>
587
588         * libxml++/schema.cc (set_document): Set embedded_doc_ according to
589         the embed parameter instead of always setting it to false, so that we
590         actually release the document in release_underlying().
591         (release_underlying): Free the schema in all cases, also when the
592         document was not embedded, to avoid a memory leak.
593
594         * libxml++/validators/schemavalidator.cc (parse_file, parse_memory,
595         parse_document): Make sure not to leak the xmlSchemaParserCtxtPtr in
596         case of an exception. Bug #563321, Arjan Franzen.
597
598 2008-12-18  Armin Burgmeier  <armin@openismus.com>
599
600         * win32_msvc6/:
601         * Makefile.am:
602         * configure.in: Removed outdated MSVC6 project.
603
604 2.24.1:
605
606 2008-12-12  Armin Burgmeier  <armin@openismus.com>
607
608         * MSVC_Net2008/examples/sax_parser/sax_parser.vcproj.HALLWA.Armin.user:
609         Removed this generated file. It went in by accident.
610
611         * MSVC_Net2008/examples/sax_parser/sax_parser.vcproj: Added the
612         example project file instead, which should have been added from the
613         beginning.
614
615 2008-12-12  Armin Burgmeier  <armin@openismus.com>
616
617         * MSVC_Net2005/libxml++/libxml++.vcproj:
618         * MSVC_Net2008/libxml++/libxml++.vcproj: Added schema.cc and
619         schemavalidator.cc to the project. Bug #563664 (Arjan Franzen).
620
621         * MSVC_Net2005/examples/schemavalidation/schemavalidation.vcproj:
622         * MSVC_Net2005/examples/schemavalidation/Makefile.am:
623         * MSVC_Net2005/examples/Makefile.am:
624         * MSVC_Net2005/libxml++.sln: Added the schema validator example to the
625         MSVC8 solution file.
626
627         * MSVC_Net2008/examples/schemavalidation/schemavalidation.vcproj:
628         * MSVC_Net2008/examples/schemavalidation/Makefile.am:
629         * MSVC_Net2008/examples/Makefile.am:
630         * MSVC_Net2008/libxml++.sln: Added the schema validator example to the
631         MSVC9 solution file.
632
633 2008-12-12  Przemysław Grzegorczyk  <pgrzegorczyk@gmail.com>
634
635         * libxml++/schema.cc: Fix a typo to fix the build.
636
637 2008-12-08  Murray Cumming  <murrayc@murrayc.com>
638
639         * libxml++/validators/validator.cc: check_for_exception(): Use an
640         auto_ptr<> to avoid leaking the exception, as in
641         Parser::check_for_exception().
642         Bug #563321 (Arjan Franzen)
643
644 2008-12-05  Murray Cumming  <murrayc@murrayc.com>
645
646         * libxml++/schema.cc: release_underlying(): Use xmlSchemaFree()
647         to avoid a leak, as suggested by Balazs Tirpak. Bug #312216.
648
649 2008-10-09  Armin Burgmeier  <armin@openismus.com>
650
651         * MSVC_Net2005/*/*.vcproj: Adapt the new DLL naming convention.
652
653         * MSVC_Net2008/: Added project files for Visual Studio 2008.
654
655         * Makefile.am:
656         * configure.in: Added the new files to the distribution.
657
658 2.24.0:
659
660         * configure.in: Increased version to match GNOME 2.24:
661
662 2.23.3:
663
664 2008-08-16  Murray Cumming  <murrayc@murrayc.com>
665
666         * libxml++/attribute.cc: get_value(): xmlGetNsProp() takes the
667         namespace URI, not the prefix.
668         Bug #547689 (Sergei Fedorov)
669
670 2008-08-14  Murray Cumming  <murrayc@murrayc.com>
671
672         * examples/dom_parser/Makefile.am:
673         * examples/dom_parser/example_with_namespace.xml:
674         Added an example using namespace prefixes, from bug
675         #547689.
676         * examples/dom_parser/main.cc: Comment out the call to set_validate(),
677         because that example does not have a DTD.
678         Show the namespace prefixes in the output.
679         * libxml++/attribute.cc: get_value(): Use xmlGetNsProp() instead of
680         xmlGetProp(), so we don't ignore the namespace prefix, so we get
681         the correct value.
682         Bug #547689 (Sergei Fedorov)
683
684 2008-08-10  Armin Burgmeier  <armin@arbur.net>
685
686         * MSVC_Net2005/: Renamed from MSVC_Net2003.
687
688         * MSVC_Net2005/libxml++/libxml++.vcproj: Link against libxml2.lib
689         instead of xml2.lib because that's how it is called in Tor's GTK+
690         bundle.
691
692         * MSVC_Net2005/libxml++/libxml++.rc.in: Removed "#include resource.h"
693         because there is no resource.h.
694
695         * MSVC_Net2005/libxml++/libxml++.sln: Build all examples by default.
696
697         * Makefile.am:
698         * configure.in: Adapt build files for the MSVC_Net2003 -> MSVC_Net2005
699         rename.
700
701 2.23.2:
702
703 2008-05-05  Murray Cumming  <murrayc@murrayc.com>
704
705         * examples/sax_parser/main.cc (main): Use parse_file() but leave
706         the parse_chunk() version commented out, to simplify this example.
707         * examples/sax_parser/myparser.cc
708         Catch Glib::ConvertError exceptions when using std::cout, though
709         libxml++ should really always supply valid UTF-8 to us.
710
711 2008-04-14  Armin Burgmeier  <armin@arbur.net>
712
713         * libxml++/parsers/saxparser.h:
714         * libxml++/parsers/saxparser.cc: Added a parse_chunk_raw() method and
715         changed parse_chunk() to use it.
716
717 2.23.1:
718
719 2008-03-26  Murray Cumming  <murrayc@murrayc.com>
720
721         * examples/schemavalidation/Makefile.am: Corrected a filename to
722         fix distcheck
723         * libxml++/schema.h:
724         * libxml++/validators/schemavalidator.h: Added the newin2p24 doxygen
725         keyword.
726
727 2008-03-26  Emilien KIA  <cursor@free.fr>
728
729         * configure.in:
730         * libxml++/Makefile.am:
731         * libxml++/libxml++.h:
732         * libxml++/schema.cc:
733         * libxml++/schema.h: Added Schema class, similar to the existing Dtd
734         class.
735         * libxml++/validators/Makefile.am:
736         * libxml++/validators/schemavalidator.cc
737         * libxml++/validators/schemavalidator.h: Added Schema validator class,
738         similar to the existing DtdValidator class.
739
740         * examples/Makefile.am:
741         * examples/schemavalidation/: New example, similar to the
742         existing dtdvalidation example.
743
744         Bug #312216.
745
746 2008-03-26  Murray Cumming  <murrayc@murrayc.com>
747
748         * docs/Makefile.am: Fixed the post-html rule.
749         * docs/index.html: Corrected some links.
750         * libxml++/nodes/node.h: Corrected documentation for the new methods
751         from the previous commit.
752
753 2008-03-26  Murray Cumming  <murrayc@murrayc.com>
754
755         * libxml++/nodes/element.cc:
756         * libxml++/nodes/element.h: Added add_child_text() with a previous_node
757         parameter, for adding between existing nodes.
758         Added add_child_text_before() too.
759         * libxml++/nodes/node.cc:
760         * libxml++/nodes/node.h: Added add_child() with a previous_node
761         parameter, for adding between existing nodes.
762         Added add_child_before() too.
763
764         * docs/index.html: Removed the license clarifications text because I
765         always found it to be arbitrary and not very informative.
766         * docs/reference/Doxyfile.in: Added a newin2p24 doxygen keyword.
767         * docs/reference/Makefile.am: Do not create a version-specific
768         directory name for reference documentation. The Since: text and links
769         in the documentation are enough to know what was in what version.
770
771 This is the svn trunk branch. See also the gnome-2-22 branch.
772
773 2.22.0:
774
775 2008-03-07  Deng Xiyue  <murrayc@murrayc.com>
776
777         * libxml++/document.cc:
778         * libxml++/document.h: Add a destructor
779         (does not break ABI because the base class already has a
780         virtual destructor) that calls xmlCleanupParser to match the
781         existing call to xmlInitParser() in the constructor. Fixes
782         a memory leak.
783         Bug #501168 (Matt G.)
784
785 2008-01-17  Roland Stigge  <stigge@antcom.de>
786
787         * libxml++/attribute.cc:
788         * libxml++/dtd.cc:
789         * libxml++/dtd.h:
790         * libxml++/io/ostreamoutputbuffer.h:
791         * libxml++/io/outputbuffer.h:
792         * libxml++/keepblanks.cc:
793         * libxml++/keepblanks.h:
794         * libxml++/libxml++.h:
795         * libxml++/nodes/cdatanode.cc:
796         * libxml++/nodes/cdatanode.h:
797         * libxml++/nodes/commentnode.cc:
798         * libxml++/nodes/commentnode.h:
799         * libxml++/nodes/contentnode.cc:
800         * libxml++/nodes/element.cc:
801         * libxml++/nodes/element.h:
802         * libxml++/nodes/entityreference.cc:
803         * libxml++/nodes/entityreference.h:
804         * libxml++/nodes/node.cc:
805         * libxml++/nodes/processinginstructionnode.cc:
806         * libxml++/nodes/processinginstructionnode.h:
807         * libxml++/nodes/textnode.cc:
808         * libxml++/nodes/textnode.h:
809         * libxml++/parsers/domparser.cc:
810         * libxml++/parsers/domparser.h:
811         * libxml++/parsers/parser.cc:
812         * libxml++/parsers/parser.h:
813         * libxml++/parsers/saxparser.cc:
814         * libxml++/parsers/textreader.h:
815         Correct the name of the files in their comment blocks,
816         though this could just be removed instead.
817         Bug #510056.
818
819 2008-01-17  Martin Michlmayr  <tbm@cyrius.com>>
820
821         * libxml++/parsers/parser.cc:
822         * libxml++/parsers/textreader.h:
823         Added includes to fix the build with gcc 4.3
824         pre-releases.
825         Bug #510053.
826
827 2.20.0:
828
829 2007-08-30  Murray Cumming  <murrayc@murrayc.com>
830
831         * examples/dom_parser_raw/main.cc: When exceptions are disabled, assume that they are also
832         disabled in glibmm and then use the extra error parameter to Glib::convert(), to fix the
833         build when using glibmm with disabled exceptions.
834         * docs/manual/Makefile.am: Use maintainer-clean instead of clean-local to delete the html,
835         but this still seems to be deleted when building debian packages.
836
837 2.19.2:
838
839 2007-08-29  Murray Cumming  <murrayc@murrayc.com>
840
841         * scripts/Makefile.am: distcheck fixes.
842
843 2007-08-29  Murray Cumming  <murrayc@murrayc.com>
844
845         * autogen.sh:
846         * Makefile.am:
847         * configure.in:
848         * scripts/Makefile.am:
849         * scripts/reduced.m4: Added an --enable-api-exceptions
850         configure option, which defines LIBXMLCPP_EXCEPTIONS_ENABLED
851         in libxml++config.h.
852         * examples/dom_build/main.cc:
853         * examples/dom_parse_entities/main.cc:
854         * examples/dom_parser/main.cc:
855         * examples/dom_parser_raw/main.cc:
856         * examples/dom_read_write/main.cc:
857         * examples/dom_xpath/main.cc:
858         * examples/dtdvalidation/main.cc:
859         * examples/import_node/main.cc:
860         * examples/sax_exception/main.cc:
861         * examples/sax_exception/myparser.cc:
862         * examples/sax_parser/main.cc:
863         * examples/sax_parser_build_dom/main.cc:
864         * examples/sax_parser_entities/main.cc:
865         * examples/textreader/main.cc:
866         * libxml++/document.cc:
867         * libxml++/exceptions/exception.cc:
868         * libxml++/exceptions/internal_error.cc:
869         * libxml++/exceptions/parse_error.cc:
870         * libxml++/exceptions/validity_error.cc:
871         * libxml++/io/outputbuffer.cc:
872         * libxml++/io/parserinputbuffer.cc:
873         * libxml++/libxml++config.h.in:
874         * libxml++/nodes/contentnode.cc:
875         * libxml++/nodes/element.cc:
876         * libxml++/nodes/node.cc:
877         * libxml++/parsers/domparser.cc:
878         * libxml++/parsers/parser.cc:
879         * libxml++/parsers/saxparser.cc:
880         * libxml++/parsers/textreader.cc:
881         * libxml++/validators/dtdvalidator.cc:
882         * libxml++/validators/validator.cc:
883         Put LIBXMLCPP_EXCEPTIONS_ENABLED ifdefs around uses of
884         try, catch, and throw, so that libxml++ can build with
885         CXXFLAGS="-fno-exceptions". However, we might still
886         need some alternative error checking API.
887
888 2.19.1:
889
890 2007-07-30  Stef Walter  <stef@memberwebs.com>
891
892         * libxml++/nodes/element.cc:
893         * libxml++/nodes/element.h: Added get_attribute_value(),
894         to get a simple text value for an attribute, as a
895         convenience.
896         Patch in bug #373573.
897
898 2007-07-30  Murray Cumming  <murrayc@murrayc.com>
899
900         * docs/reference/Doxyfile.in: Added newin2p18,
901         newin2p20, and newin2p22 tags.
902
903 This is the trunk branch for libxml++ 2.19/2.20.
904 See also the gnome-2-18 branch.
905
906 2.18.2:
907
908 2007-07-25  Christophe de Vienne  <cdevienne@gmail.com>
909
910         * libxml++/parsers/textreader.cc: get_name():
911         Fixed a memory leak. bug #447535.
912
913 2.18.1:
914
915 2007-06-10  Murray Cumming  <murrayc@murrayc.com>
916
917         * libxml++/document.cc: add_comment(),
918         * libxml++/nodes/element.cc: add_child_text():
919         add_child_comment(): Avoid accessing freed memory
920         when the text nodes are merged by xmlAddChild().
921
922 2.18.0:
923
924 2007-02-10  Murray Cumming  <murrayc@murrayc.com>
925
926         * examples/dom_parse_entities/main.cc:
927         * examples/dom_parser/main.cc:
928         * examples/dom_parser_raw/main.cc:
929         * examples/dom_read_write/main.cc:
930         * examples/dom_xpath/main.cc:
931         * examples/dtdvalidation/main.cc:
932         * examples/sax_parser/main.cc:
933         * examples/sax_parser_build_dom/main.cc:
934         * examples/sax_parser_entities/main.cc: Use std::string for file paths,
935         because we can not know the encoding of file paths. std::string therefore
936         means unknown encoding.
937
938 2007-02-06  Artur Wegele  <a.wegele@web.de>
939
940         * libxml++/parsers/parser.h:
941         * libxml++/validators/validator.h: Check for _MSC_VER instead
942         of WIN32 before setting MSVC++ pragmas, because that is apparently
943         more reliable. Bug #380110.
944
945 2.17.2:
946
947 2006-10-25  Nate Nielsen  <nielsen@memberwebs.com>
948
949         * libxml++/nodes/node.cc:
950         * libxml++/nodes/node.h: Node::get_next_sibling(),
951         Node::get_previous_sibling(). Bug #351867
952
953 2006-11-17  Nate Nielsen  <nielsen@memberwebs.com>
954
955         * libxml++/parsers/textreader.cc
956         * libxml++/parsers/textreader.h: Clean up TextReader() data
957         constructor signature. Removed '-1' as a special null terminated
958         value. This brings it inline with other parsers.
959
960 2.17.1:
961
962 2006-11-11  Nate Nielsen  <nielsen@memberwebs.com>
963
964         * libxml++/nodes/element.cc: Element::set_attribute():
965         Fix redeclaration of variable in if-block. Bug #361950
966
967 2006-11-11  Nate Nielsen  <nielsen@memberwebs.com>
968
969         * libxml++/parsers/textreader.cc
970         * libxml++/parsers/textreader.h: TextReader() can now parse
971         memory buffers as well as files. Bug #351215
972
973 2006-11-11  Nate Nielsen  <nielsen@memberwebs.com>
974
975     * libxml++/nodes/node.cc:
976     * libxml++/nodes/node.h: Add Node::get_parent() Bug #351876
977
978 2006-04-24  Cedric Gustin  <cedric.gustin@gmail.com>
979
980         * configure.in: Disable autoheader.
981         * config.h.in: New file. Added comments about the difference
982         between config.h.in and libxml++config.h.in.
983
984 2006-04-21  Cedric Gustin  <cedric.gustin@gmail.com>
985
986         * libxml++/Makefile.am: Added libxml++config.h.in to EXTRA_DIST.
987
988 2006-04-21  Cedric Gustin  <cedric.gustin@gmail.com>
989
990         * MSVC_Net2003/*.vcproj: Updated for Visual Studio 2005. Added the
991         /vd2 compiler flag (Bug #158040). Renamed target DLL to
992         xml++-2.6 to comply to the value returned by "pkg-config --libs
993         --msvc-syntax libxml++-2.6".
994         * MSVC_Net2003/libxml++.sln: Updated for Visual Studio 2005.
995         * MSVC_Net2003/gendef/gendef.cc: Redirect output of dumpbin to a
996         file.
997         * MSVC_Net2003/libxml++/Makefile.am: Get a local copy of the
998         libxml++config.h file created at configure time and distribute it
999         in the source tarball.
1000         * libxml++/Makefile.am: Add -DLIBXMLPP_BUILD to the DEFS compiler
1001         flags (switch between dllexport/dllimport on win32). Also install
1002         libxml++config.h to $(prefix)/lib/libxml++-2.6/include.
1003         * libxml++/*/*.Makefile.am: Add -DLIBXMLPP_BUILD to the DEFS
1004         compiler flags (switch between dllexport/dllimport on win32).
1005         * libxml++/exceptions/exception.h: Tag the xmlpp:exception classs
1006         with LIBXMLPP_API to get rid of auto-import errors on win32
1007         (mingw32/cygwin).
1008         * libxml++/libxml++config.h.in: New file. Define LIBXMLPP_API and
1009         switch between dllimport and dllexport on win32.
1010         * libxml++-2.6.pc.in: Add ${libdir}/libxml++-2.6/include to Cflags
1011         (for libxml++config.h).
1012         * configure.in: Added test for a native win32 platform. Use the
1013         ms-bitfields on this platform only. Added the libxml++config.h
1014         configuration file.
1015
1016 2.14.0:
1017
1018 2006-03-13  Christophe de Vienne  <cdevienne@netcourrier.com>
1019
1020         * docs/index.html: Updated version number
1021
1022 2006-03-13  Christophe de Vienne  <cdevienne@netcourrier.com>
1023
1024         * NEWS, configure.in: Prepared release 2.14.0
1025
1026 2006-03-08  Murray Cumming  <murrayc@murrayc.com>
1027
1028         * libxml++/nodes/contentnode.h: get_content() documentation:
1029         Replace the TODO because I know know that apos is the fifth
1030         predefined entity.
1031         set_content(): Mention that the predefined entities are used
1032         _where necessary_ because XML does not require use of quot or
1033         apos in text nodes - just in attribute values.
1034
1035 2.13.1:
1036
1037 2005-12-20  Murray Cumming  <murrayc@murrayc.com>
1038
1039         * docs/manual/libxml++_without_code.xml: Mention pkg-config.
1040
1041 2005-12-16  Murray Cumming  <murrayc@murrayc.com>
1042
1043         * libxml++/document.h: Minor grammar fixes in documentation.
1044         * libxml++/nodes/node.h: Correct find() documentation slightly.
1045
1046 2005-12-15  Robert Fleming  <fleming@cs.washington.edu>
1047
1048         * libxml++/nodes/node.cc:
1049         * libxml++/nodes/node.h: Add find() overload that
1050         takes namespaces to register, using xmlXPathRegisterNs().
1051         Bug #323935.
1052
1053 2005-12-15  Murray Cumming  <murrayc@murrayc.com>
1054
1055         * libxml++/nodes/node.cc: set_namespace(): Pass 0 to
1056         xmlSearchNs() for empty (default) namespaces, instead of
1057         an empty string, as we do elsewhere. This makes
1058         Document::create_root_node() for when not specifying a
1059         namespace. Bug #318186 from Erik Oestby.
1060
1061 2005-12-15  Vadim Zeitlin  <vadim@wxwindows.org >
1062
1063         * docs/reference/Doxyfile.in: Fix paths so buildir!=srcdir
1064         builds work. Bug #319863.
1065
1066 2005-09-21  Christophe de Vienne  <cdevienne@netcourrier.com>
1067
1068         * libxml++.spec.in: Fixed include and .pc paths. Fixes #316827.
1069
1070 This is the HEAD branch, for API additions. See also the gnome-2-12 branch.
1071
1072 2.12.0:
1073
1074 2005-08-26  Christophe de Vienne  <cdevienne@gmail.com>
1075
1076         * libxml++/parsers/textreader.h: Added xmlReadState "Reading" as
1077         suggested by Sebastian Moss.
1078
1079 2.11.0:
1080
1081 2005-08-25  YS <yselkowitz@users.sourceforge.net>
1082
1083         * libxml++/Makefile.am: Changed link order to solve a link issue
1084         on cygwin. Bug #314419.
1085
1086 2005-06-13  Marek Rouchal  <marek.rouchal@infineon.com>
1087
1088         * libxml++/io/istreamparserinputbuffer.cc:
1089         * libxml++/io/istreamparserinputbuffer.h:
1090         * libxml++/io/parserinputbuffer.cc:
1091         * libxml++/io/parserinputbuffer.h: Remove extra ;s.
1092         Bug #307481
1093
1094 2005-05-15  Murray Cumming <murrayc@murrayc.com>
1095
1096         * libxml++/document.h: Add comments about possibly deriving this
1097         from Node, though it needs investigation, and we can not do this
1098         in the stable API.
1099         * libxml++/nodes/node.cc: get_namespace(), get_namespace_prefix():
1100         Return an empty string if the node is actually a Document, because
1101         the underlying xmlDocument struct has no ns field. This should
1102         prevent the crash in bug #161825.
1103
1104 2005-05-15  Murray Cumming <murrayc@murrayc.com>
1105
1106         * docs/index.html: Add link to the LGPL text.
1107
1108 2005-04-24  Murray Cumming <murrayc@murrayc.com>
1109
1110         * libxml++/parsers/domparser.cc: parse_context():
1111         Delete the context after, not before, checking it for an error.
1112         Bug #156352 from Jim Garrison.
1113
1114 2005-04-24  Murray Cumming <murrayc@murrayc.com>
1115
1116         * libxml++/parsers/saxparser.cc: SaxParserCallback::characters()
1117         Call on_characters(), not on_cdata_block(), so that the correct
1118         derived handler is called. Bug #301712 and patch from
1119         Aaron Walker.
1120
1121 2005-04-24  Murray Cumming <murrayc@murrayc.com>
1122
1123         * libxml++-2.6.pc.in: Remove -I for the include location of
1124         a config file, because we don't install one. Bug #301727
1125         from Aaron Walker.
1126
1127 2005-03-15  Murray Cumming  <murrayc@murrayc.com>
1128
1129         * libxml++/document.cc: set_entity_declaration(): Pass 0 instead
1130         of empty strings for the public ID and system ID, if an empty
1131         string is provided. This stops libxml from using a useless empty
1132         string.
1133
1134 2005-03-09  Cedric Gustin <cedric.gustin@swing.be>
1135
1136         * MSVC_Net2003/Makefile.am: Add blank.cpp to EXTRA_DIST.
1137         * MSVC_Net2003/examples/*/*.vcproj: Change name of PDB file to
1138         $(OutDir)/$(TargetName).pdb.
1139
1140 This is the HEAD branch.
1141
1142 2.10.0:
1143
1144 2005-03-08  Christophe de Vienne  <cdevienne@netcourrier.com>
1145
1146         * docs/reference/Makefile.am: Added one more rule so the "make
1147         distcheck" works from a clean cvs working copy.
1148
1149 2005-03-08  Christophe de Vienne  <cdevienne@netcourrier.com>
1150
1151         * docs/manual/Makefile.am, docs/reference/Makefile.am: Added a few
1152         rules so that "make dist" generated the documentation if it's
1153         absent.
1154
1155 2005-02-15  Murray Cumming  <murrayc@murrayc.com>
1156
1157         * docs/manual/Makefule.am: Added insert_example_code to EXTRA_DIST,
1158         though it should not be needed when building from a DIST anyway,
1159         because we distribute the html.
1160
1161 2.9.2:
1162
1163 2005-02-13  Christophe de Vienne  <cdevienne@netcourrier.com>
1164
1165         * docs/manual/Makefile.am: Removed README from EXTRA_DIST.
1166
1167 2005-02-12  Christophe de Vienne  <cdevienne@netcourrier.com>
1168
1169         * libxml++/nodes/node.cc: Fixed a little inefficency in find (#161925)
1170
1171 2005-02-11  Murray Cumming  <murrayc@murrayc.com>
1172
1173         * docs/: Added manual.
1174         * configure.in: Use GLIBMM_CHECK_PERL to get the perl path, needed
1175         to insert the example code in the manual.
1176         * docs/Makefile.am: Move the reference and manual into a docs folder
1177         so that the docs and the examples have the same relative path.
1178         * docs/index.html: Mention the manual and update the links.
1179
1180 2005-02-11  Murray Cumming  <murrayc@murrayc.com>
1181
1182         * libxml++/document.cc: do_write_to_string(): libml returns the
1183         number of bytes instead of the number of characters, so use the
1184         appropriate ustring constructor, to avoid an exception later.
1185         Bug found by Cyril Picard.
1186         * docs/reference/Makefile.am: Install the reference documentation.
1187         Distribute the built reference documentatoin, and Do not rebuild it
1188         every time.
1189         * docs/reference/Doxyfile.in: Generate doxygen tags so that other
1190         documentation can link to the libxml++ documentation. Use the
1191         libstdc++ and glibmm doxygen tags to link to their documentation,
1192         for instance for Glib::ustring.
1193
1194 2005-01-26  Cedric Gustin <cedric.gustin@swing.be>
1195
1196         * MSVC_Net2003/README: Updated for 2.8.0
1197
1198 2005-01-26  Cedric Gustin <cedric.gustin@swing.be>
1199
1200         * configure.in: parse micro version tags at configure time (for
1201         libxml++.rc). Added support for shared libraries (DLL) on
1202         win32. Added MSVC_Net2003 Makefiles.
1203         * Makefile.am: Added MSVC_Net2003 subdir.
1204         * libxml++/Makefile.am: Added linker flags for shared libraries
1205         (DLL) on win32.
1206         * examples/Makefile.am_fragment: Removed trailing slash in INCLUDES.
1207         * MSVC_Net2003/*: Initial release.
1208
1209 2.9.1:
1210
1211 2004-12-25  Murray Cumming  <murrayc@murrayc.com>
1212
1213         * libxml++/parsers/domparser.[h|cc], saxparser.[h|cc]: Added
1214         parse_memory_raw() for libxml documents that are not utf8-encoded or
1215         are encoded in an unknown encoding.
1216         * examples/: Added dom_parser_raw() to test parsing of UCS2-encoded
1217         text.
1218
1219 2004-12-20  Murray Cumming  <murrayc@murrayc.com>
1220
1221         * This is the HEAD branch, for gnome 2.9/2.10.
1222
1223 2004-12-18  Murray Cumming  <murrayc@murrayc.com>
1224
1225         * libxml++/docs/index.html: Bugs: Minor english corrections, and
1226         more useful bugzilla links.
1227         * libxml++/docs/Makefile.am: Build the reference documentation as
1228         part of the main cvs build, but distribute it so that it does not need
1229         to be rebuilt when building a tarball.
1230
1231 2004-12-18  Murray Cumming  <murrayc@murrayc.com>
1232
1233         * libxml++/nodes/node.cc: Node::find(): Check the result of
1234         xmlXPathEval and throw an exception about invalid xpaths, instead of
1235         crashing. Bug #161549 from Caleb Epstein.
1236
1237 2004-12-18  Murray Cumming  <murrayc@murrayc.com>
1238
1239         * libxml++/parsers/saxparser.cc: parse_memory(), parse_chunk(),
1240         domparser.cc: parse_memory, parse_chunk(): Use Glib::ustring::bytes()
1241         to get the size of the array, not size() or length(), which gets
1242         the number of utf8 characters. It might not even be utf8.
1243         * examples/sax_parser_build_dom/svgparser.cc: Use !empty() instead of
1244         size() > 0. It is more efficient.
1245
1246 2004-11-30  Murray Cumming  <murrayc@murrayc.com>
1247
1248         * libxml++/validator.h: Removed an extra ; that g++ 3.4 complains
1249         about.
1250
1251 2.8.0:
1252
1253 2004-09-12  Murray Cumming  <murrayc@murrayc.com>
1254
1255         * libxml++/libxml++.h: Add include for xmlreader.h.
1256         * examples/saxparser/myparser.cc, saxparser_entities/myparser.cc:
1257         Correct (and uncomment) the code to read the attribute values.
1258
1259 2.7.1:
1260
1261 2004-09-06  Christophe de Vienne <cdevienne@netcourrier.com>
1262
1263         * configure.in: Prepared release 2.7.1.
1264
1265 2004-08-13  Christophe de Vienne <cdevienne@netcourrier.com>
1266
1267         * libxml++/parsers/domparser.cc, libxml++/parsers/parser.cc: Fixed
1268         bug #150082.
1269
1270 2.7.0:
1271
1272 2004-06-24  Murray Cumming  <murrayc@.com>
1273
1274         * configure.in, Makefile.am, libxml++-2.*.pc.in: Reverted the changes
1275         that made it install a 2.8 pc.in file, and which decreased the .so
1276         name. 2.8 is not parallel-installable with 2.6, and this would only
1277         have been a half-done transition if it was.
1278
1279 2004-06-22  Murray Cumming  <murrayc@murrayc.com>
1280
1281         * libxml++/io/outputbuffer.cc, inputbuffer.cc:
1282         Added include of libxml/globals.h before include of libxml/xmlIO.h,
1283         because xmlIO.h needs the definition of
1284         xmlParserInputBufferCreateFilenameFunc.
1285
1286 2004-05-28  Christophe de Vienne <cdevienne@netcourrier>
1287
1288         * configure.in, examples/Makefile.am, examples/dtdvalidation/Makefile.am,
1289         examples/dtdvalidation/example.dtd, examples/dtdvalidation/main.cc,
1290         libxml++/Makefile.am, libxml++/dtd.[h|cc], libxml++/io/Makefile.am,
1291         libxml++/io/istreamparserinputbuffer.[h|cc],
1292         libxml++/io/parserinputbuffer.[h|cc],
1293         libxml++/libxml++.h, libxml++/validators/Makefile.am,
1294         libxml++/validators/dtdvalidator.[h|cc]
1295         libxml++/validators/validator.[h|cc]:
1296         Integrated dtdvalidator patch proposed by Guillaume Arreckx.
1297         Modified a bit the patch:
1298         - renamed *.cpp -> *.cc
1299         - fixed a few comments which where copy/paste from other files
1300         - replaced std::string with Glib::ustring
1301         - Added Dtd::cobj, since the patch rely on it.
1302         - added a validaty_error as suggested by jon
1303
1304
1305 2004-04-26  Christophe de VIENNE  <cdevienne@netcourrier.com>
1306
1307         * libxml++/nodes/contentnode.cc: Fixed set_content which used xmlNodeAddContent
1308         instead of xmlNodeSetContent (thanks to Marcello Orizi who outlined it).
1309
1310 2004-05-05  Christophe de Vienne  <cdevienne@netcourrier.com>
1311
1312         * libxml++/parsers/saxparser.cc: One more (last one I hope) change
1313         about Glib::ustring instanciation from a buffer + lenght. We now
1314         use Glib::ustring::ustring(In begin, In end) constructor. Thanks to
1315         Jonathan Wakely.
1316
1317 2004-05-04  Christophe de Vienne  <cdevienne@netcourrier.com>
1318
1319         * libxml++/parsers/saxparser.cc: Replaced again the use of
1320         Glib::ustring(const char*) constructor by Glib::ustring(std::string).
1321         Fixes #141824.
1322
1323 2004-05-04  Christophe de Vienne  <cdevienne@netcourrier.com>
1324
1325         * libxml++/parsers/saxparser.cc: Replace the use of
1326         Glib::ustring(const char*, unsigned) constructor by Glib::ustring(const char*).
1327         Fixes #141824.
1328
1329 2004-05-04  Murray Cumming  <murrayc@murrayc@com>
1330
1331         * libxml++-2.6.pc.in: Made it require glibmm-2.4, so that apps do not
1332         have to check for this themselves.
1333
1334 2.6.0:
1335
1336 2004-04-13  Murray Cumming  <murrayc@murrayc.com>
1337
1338         * libxml++/Makefile.am: Change library name to 2.6 instead of 2.5.
1339         * libxml++-2.6.pc.in: Report the changed library name.
1340
1341 2004-03-27  Murray Cumming  <murrayc@murrayc.com>
1342
1343         * libxml++/parsers/textreader.[h|cc]: Correct constness of
1344         get_current_node(), so there is a const and non-const version.
1345
1346 2.5.2:
1347
1348 2004-02-16  Christophe de VIENNE  <cdevienne@netcourrier.com>
1349
1350         * libxml++/nodes/element.cc: Check return value of xmlHasNsProp to
1351         fix issue #134390 (as reported by John Coyle). Use xmlHasProp instead
1352         of testing each attributes.
1353
1354 2004-02-16  Christophe de VIENNE  <cdevienne@netcourrier.com>
1355
1356         * libxml++-2.6.pc.in: Added libxml-2.0 to Requires: and removed
1357         @LIBXML_LIBS@ from libs, as suggested by Albert Chin.
1358
1359 2004-02-16  Christophe de VIENNE  <cdevienne@netcourrier.com>
1360
1361         * libxml++/nodes/node.cc, libxml++/parsers/parser.h:
1362         Merged in patches from Albert Chin to get libxml++ build using the SUN,
1363         HP, SGI & AIX C++ compilers.
1364
1365 2004-02-13  Jim Garrison  <garrison@case.edu>
1366
1367         * libxml++/attribute.h, libxml++/document.h, libxml++/dtd.h,
1368           libxml++/io/ostreamoutputbuffer.[h|cc],
1369           libxml++/io/outputbuffer.[h|cc], libxml++/keepblanks.[h|cc],
1370           libxml++/nodes/node.h, libxml++/parsers/parser.h,
1371           libxml++/parsers/saxparser.h, libxml++/parsers/textreader.[h|cc]:
1372         Removed unnecessary semicolons
1373
1374 2.5.1:
1375
1376 2004-02-08  Jim Garrison  <garrison@case.edu>
1377
1378         * libxml++/document.[h|cc]: added Document::cobj() function
1379
1380 2004-02-06  Christophe de Vienne  <cdevienne@netcourrier.com>
1381
1382         * libxml++/parsers/sax_parser.cc: Fixed issue #132014.
1383
1384 2004-02-06  Christophe de Vienne  <cdevienne@netcourrier.com>
1385
1386         * libxml++/parsers/[Makefile.am|textreader.h|textreader.cc]: Added
1387         TextReader interface. It is almost the patch which is here :
1388         http://sourceforge.net/tracker/index.php?func=detail&aid=842730&group_id=12999&atid=312999
1389         with Glib::ustring instead of std::string, and member functions names
1390         changed to be consistent with other interfaces.
1391         * configure.in, examples/Makefile.am, examples/textreader: Added an example
1392         of TextReader interface.
1393
1394 2004-02-05  Jim Garrison  <garrison@case.edu>
1395
1396         * libxml++/document.[h|cc]: added create_root_node_by_import()
1397
1398 2004-01-13  Christophe de Vienne  <cdevienne@alphacent.com>
1399
1400         * libxml++/io/document.cc: Gives NULL strings instead of empty ones to
1401         xmlCreateIntSubset. Fixes issue #131329.
1402
1403 2004-01-12  Christophe de Vienne  <cdevienne@alphacent.com>
1404
1405         * libxml++/io/outputbuffer.cc: Fix return value of xmlIO callbacks. (Fixes
1406         issue #131018).
1407
1408 2003-12-19  Murray Cumming  <murrayc@usa.net>
1409
1410         * configure.in: Added glibmm-2.4 to the pkg-config check.
1411         * Used regexxer to do a complete std::string/Glib::ustring rename.
1412         Everything seems to still work. I think the parse_chunk(stream)
1413         stuff might need some attention/thought.
1414
1415 2003-12-19  Murray Cumming  <murrayc@usa.net>
1416
1417         * removed acinclude.m4 because we do not need it anymore because
1418         we do not need AM_LIBXML now that we use pkg-config.
1419         * libxml++/Makefile.am: Generate a library with 2.5 in the name,
1420         instead of 1.0
1421         * configure.in: Change version to 2.5.0.
1422         * examples/Makefile.am_fragment: Link to the new library name.
1423         * Renamed libxml++-1.0.pc.in to libxml++-2.6.pc.in: and changed the
1424         library name that pkg-config reports for --libs.
1425         * So, this is now the libxml++ 2.6 API, with a library name of 2.5
1426         while it is unstable. It is parallel-installable with libxml++ 1.0.
1427
1428 This is the HEAD branch, for libxml++ 2.5/2.6.
1429
1430 1.0.0:
1431
1432 2003-12-18  Ephraim Vider <eff@eplication.com>
1433         * examples/sax_parser_build_dom/svgelement.cc,svgpath.h:
1434         - removed unneeded method qualification (msvc6 error)
1435         * examples/sax_parser_entities/myparser.cc:
1436         - removed namespace qualification (msvc6 error)
1437         - removed return from void function
1438
1439 2003-12-18  Ephraim Vider <eff@eplication.com>
1440
1441         * win32_msvc6: updated MSVC projects to include new sources and examples
1442
1443 2003-12-12  Christophe de Vienne  <cdevienne@alphacent.com>
1444
1445         * libxml++/parsers/sax_parser.cc: removed initialisation of userData
1446         with this at the context creation (solution given by Murray).
1447
1448 2003-12-11  Murray Cumming  <murrayc@usa.net>
1449
1450         * libxml++/Makefile.am: Generate a library with 1.0 in the name,
1451         instead of 0.1
1452         * configure.in: Change version to 1.0.0, and change shared library
1453         version to 1.0.0 because we are staring again witt the first
1454         version of a new shared library.
1455         * examples/Makefile.am_fragment: Link to the new library name.
1456         * libxml++-1.0.pc.in: Change the library name that pkg-config
1457         reports for --libs.
1458
1459 2003-12-08  Ephraim Vider <eff@eplication.com>
1460
1461         * libxml++/document.cc: remove return statement from void functions
1462
1463 0.28:
1464
1465 2003-12-08  Christophe de Vienne  <cdeviennne@netcourrier.com>
1466
1467         * libxml++.spec.in: Removed libxml++.m4 and xml++-config from %files
1468         section.
1469
1470 2003-12-08  Murray Cumming  <murrayc@usa.net>
1471
1472         * examples/ Added sax_parser_build_dom example from Dan Dennedy.
1473         It does some funky stuff (see the comments) but it is an
1474         interesting concept. See the description in examples/README.
1475
1476 2003-12-03  Christophe de Vienne  <cdevienne@netcourrier.com>
1477
1478         * configure.in: use libxml-2.0 instead of xml2 for libxml2 detection
1479         by pkg-config.
1480         * libxml++/parser/sax_parser.[h|cc]: Replaced AttributeMap by AttributeList,
1481         which is now an ordered container (std::deque). Added a functor that can be
1482         used with std::find_if to get an Attribute by it's name.
1483         * libxml++/document.h: Fixed a typo in a doxygen command.
1484
1485 2003-12-03  Murray Cumming  <murrayc@usa.net>
1486
1487         * examples/README: explained what the examples do.
1488
1489 2003-11-28  Christophe de Vienne  <cdevienne@alphacent.com>
1490
1491         * libxml++/docs/index.html: Added libxml2 version we relay on, as
1492         suggested by Paul Breslin.
1493         * configure.in: Prepared 0.28 release. Check for libxml2 >= 2.5.8 using
1494         pkg-config instead of old-style autoconf macro.
1495         * acinclude.m4: Removed.
1496
1497 2003-11-27  Murray Cumming  <murrayc@usa.net>
1498
1499         * Added examples/sax_parser_entites to test the new functionality.
1500         * Added doxygen documentation to almost every class and method,
1501         including mentioning that the parse methods throw exceptions.
1502
1503 2003-11-27  Murray Cumming  <murrayc@usa.net>
1504
1505         * Applied patch from Dan Dennedy to add entity handling to the
1506         SAX parser, using a 2nd Document instance to manage the entity
1507         definitions in order to provide a default entity reference resolver
1508         implementation for on_get_entity(). With some minor changes from me.
1509
1510 2003-11-13  Christophe de Vienne  <cdevienne@netcourrier.com>
1511
1512         * libxml++/io/Makefile.am: Made libio a non installed library.
1513         * libxml++/document.cc: Fixed a serious issue with threading: callbacks
1514         were defined only for the main thread.
1515
1516 0.27:
1517
1518 2003-10-28  Murray Cumming  <murrayc@usa.net>
1519
1520         * libxml++/nodes/element.[h|cc]: Changed get_child_content() to
1521         get_child_text(), set_child_content() to set_child_text(),
1522         add_comment() to add_child_comment(), and add_content() to
1523         add_child_content() to make the API clearer.
1524
1525 2003-10-25  Christophe de Vienne  <cdevienne@netcourrier.com>
1526
1527         * libxml++/document.[h|cc]: Added Document::add_comment and added some
1528         documentation.
1529
1530 2003-10-22  Murray Cumming  <murrayc@usa.net>
1531
1532         * libxml++/parsers/saxparser.[h.cc]: Added on_entity_declararation()
1533         callback, and demonstrated it in examples/sax_parser/.
1534         Added documentation to on_get_entity() giving clues about how to use
1535         it, though it is too difficult for me to try.
1536
1537 2003-10-18  Christophe de Vienne  <cdevienne@netcourrier.com>
1538
1539         * All: All private members previously having a leading underscore in their
1540         name now have it postfixed. Ex: _impl becomes impl_.
1541
1542 2003-10-18  Christophe de Vienne  <cdevienne@netcourrier.com>
1543
1544         * libxml++/io/outputbuffer.[h|cc]: Removed conversion operator to
1545         underlying C structure. cobj() is now public.
1546         * libxml++/document.cc: use OutputBuffer::cobj() instead of implicit
1547         conversion.
1548
1549 2003-10-18  Christophe de Vienne  <cdevienne@netcourrier.com>
1550
1551         * libxml++/nodes/Makefile.am: Removed some trailing white spaces after a
1552         backslash.
1553
1554 2003-10-14  Murray Cumming  <murrayc@usa.net>
1555
1556         * Added lots of doxygen documentation, try to document everything 100%.
1557         * libxml++/nodes/element.[h|cc]: Made get_attributes() non-const
1558         and added a const get_attributes() const overload, like
1559         Node::get_children().
1560         * Moved AttributesList typedef from Node to Element, because that's
1561         where it is used.
1562         * libxml++/parsers/parser.[h|cc]: Added get/set_substitute_entities(),
1563         like get/set_validate(), which affects _context->replaceEntities in
1564         initialize_context().
1565         * Added libxml++/nodes/entityreference.[h|cc], with a
1566         get_resolved_text() method.
1567         * libxml++/document.cc:
1568  - on_libxml_construct(): For the default, used when a node is not
1569         recognised, create a Node rather than a ContentNode. Everything is a
1570         Node so this should have less chance of being wrong.
1571         - Added case to create an EntityReference.
1572         * Added examples/dom_parse_entities.
1573
1574 2003-09-30  Jonathan Wakely  <redi@kayari.org>
1575
1576         * libxml++/document.cc, libxml++/nodes/element.cc,
1577         libxml++/nodes/node.cc: Preserve const-quals when casting between
1578         strings of different character types.
1579
1580 2003-09-26  Christophe de Vienne  <cdevienne@netcourrier.com>
1581
1582         * libxml++/io/outputbuffer.[h|cc]: Yet another cleaning of the interface
1583         and implementation. OutputBuffer is now non copyable, and the callback
1584         process is now the same for write and close.
1585         * libxml++/io/(ostream)outputbuffer.h: Added Doxygen documentation.
1586
1587 2003-09-26  Christophe de Vienne  <cdevienne@netcourrier.com>
1588
1589         * libxml++/io/: Small corrections after Murray comments on the patch. It's
1590         even more clean now.
1591
1592 2003-09-26  Christophe de Vienne  <cdevienne@netcourrier.com>
1593
1594         * libxml++/io/: Added classes to wrap xmlIO output buffers. This classes
1595         are OutputBuffer and OStreamOutputBuffer.
1596         * libxml++/document.h:
1597         - Added write_to_stream, which is implemented thanks to OutputBuffer.
1598         - Removed virtual specifier on write_to_xxx functions. Their
1599         implemention now calls a private virtual function do_write_to_xxx. This
1600         also avoid having almost identical functions implementation in normal and
1601         formatted versions of the functions.
1602
1603 2003-09-24  Christophe de Vienne  <cdevienne@netcourrier.com>
1604
1605         * libxml++/examples/dom_build/main.cc: Now demonstrate add_comment
1606         too.
1607
1608 2003-09-24  Dan Dennedy
1609
1610         * libxml++/nodes/element.[h|cc]: Added Element::add_comment.
1611
1612 2003-09-23  Christophe de Vienne  <cdevienne@netcourrier.com>
1613
1614         * libxml++/document.h, libxml++/keepblanks.h, libxml++/noncopyable.h,
1615         libxml++/nodes/node.h: Updated documentation.
1616
1617 0.26:
1618
1619 2003-09-22  Christophe de Vienne  <cdevienne@netcourrier.com>
1620
1621         * examples/dom_build/main.cpp: Use Element::set_attribute instead of
1622         Element::add_attribute which no longer exists.
1623
1624 2003-09-19  Murray Cumming  <murrayc@usa.net>
1625
1626         * libxml++/node/element.h: Removed add_attribute because it is the same as
1627         set_attribute.
1628
1629 2003-09-18  Murray Cumming  <murrayc@usa.net>
1630
1631         * libxml++/node/element.h: Added set_namespace_declaration().
1632           element, node: methods take prefix instead of uri and prefix, because
1633         that's what we want to specify most of the time. If no such namespace
1634         prefix has been declared then an exception will be thrown. If we want
1635         to specify a node name and attribute namespaces by uri (which would
1636         result in a prefix in the eventual .xml code) then we could add those
1637         methods later. If anybody needs them.
1638
1639 2003-09-17  Christophe de Vienne  <cdevienne@netcourrier.com>
1640
1641         * docs/reference/Doxyfile(.in): Doxyfile is now generated from Doxyfile.in
1642         by configure so the version number is included in main page. The dot image
1643         format is changed to png, the index is not disabled anymore.
1644
1645 2003-09-15  Fredrik Arnerup
1646
1647         * libxml++/document.cc: Added a call to xmlInitParser to avoid
1648         threading problems.
1649
1650 2003-09-05  Murray Cumming  <murrayc@usa.net>
1651
1652         Based on the patch from Dan Dennedy, with changes:
1653         * libxml++/node.[h|cc],
1654         libxml++/element.[h|cc]: Added namespace_uri and namespace_prefix
1655         parameters to methods, to support speficiation of nodes and children
1656         also with namespace information.
1657         * Added Node::get_namespace_prefix() and get_namespace_uri() and
1658         set_namespace().
1659         * examples/dom_build/: Modified the example to do namespace stuff,
1660         to test this.
1661
1662 2003-08-20  Murray Cumming  <murrayc@usa.net>
1663
1664         * libxml++/node.[h|cc]: import_node() now takes a _const_ Node, as
1665         suggested by Rafael Vuijk.
1666
1667 2003-07-20  Ephraim Vider <eff@eplication.com>
1668
1669         * win32_msvc6: libxml++.dsp, examples/import_node.dsp, examples/Makefile.am:
1670                 - added import_node example project
1671
1672 0.25:
1673
1674 2003-07-16  Christophe de Vienne  <cdevienne@netcourrier.com>
1675
1676         * libxml++.m4, xml++-config.in, configure.in, Makefile.am: removed old-style
1677         autoconf libxml++ detection macro and script.
1678
1679 2003-07-15  Christophe de Vienne  <cdevienne@netcourrier.com>
1680
1681         * all but exceptions/*.[h|cc]: removed throw specification from functions
1682         declaration.
1683
1684 2003-07-11  Eric Bourque <ericb@computer.org>
1685
1686         * nodes/node.[h|cc]: Added import_node function
1687         * examples/import_node: Added an example of using import_node, and modified
1688         autoconf files accordingly.
1689
1690 2003-06-25  Ephraim Vider <eff@eplication.com>
1691
1692         * win32_msvc6: libxml++.dsp: added _REENTRANT to support libxml with threads
1693         - examples/Makefile.am: added new example project
1694
1695 2003-06-16  Christophe de Vienne  <cdevienne@netcourrier.com>
1696
1697         * docs/index.html: Added a link to Doxygen website.
1698
1699 2003-06-16  Ephraim Vider <eff@eplication.com>
1700
1701         * win32_msvc6/*: Fixed MSVC6 project files.
1702
1703 2003-06-13  Christophe de Vienne  <cdevienne@netcourrier.com>
1704
1705         * docs/Makefile.am: Fixed the post-html rule which was sending twice the
1706         reference.
1707         * docs/index.html: Added keyword "XML".
1708
1709 0.24:
1710
1711 2003-06-11  Christophe de Vienne  <cdevienne@netcourrier.com>
1712
1713         * libxml++/parsers/domparser.cc:
1714                 - Fixed parse_stream. Parsing success was not checked before creating
1715                 Document.
1716                 - Check for errNo after parsing.
1717
1718 2003-06-02  Ephraim Vider
1719         * libxml++/nodes:
1720         Added ContentNode as a base class for all non-element nodes
1721         - TextNode and CommentNode are derived from ContentNode
1722         - Added CdataNode and ProcessingInstructionNode as specific types
1723         derived from ContentNode
1724         - Will create ContentNode as a default node type when assert is
1725         disabled
1726         - Modified dom_parser example to better handle new types
1727         Modified files: textnode.[h|cc] commentnode.[h|cc]
1728         Added files: contentnode.[h|cc] cdatanode.[h|cc] processinginstructionnode.[h|cc]
1729
1730         * node.cc: - Fix. return empty string and not 0
1731         * updated MSVC projects to include new sources and example
1732
1733 2003-06-10  Jonathan Wakely  <redi@kayari.org>
1734
1735         * libxml++/parsers/saxparser.cc: Replace <istream> with <iostream>
1736         to support older compilers.
1737
1738 2003-06-06  Christophe de Vienne  <cdevienne@alphacent.com>
1739
1740         * libxml++/document.cc: Little change in write_to_xxx_formatted. The
1741         keepblanks parameter is kept to true, but xmlIndentOutputTree is set to 1.
1742         This avoid libxml2 to add some significant whitespace into content nodes,
1743         but still format the output.
1744
1745 2003-06-05  Christophe de Vienne  <cdevienne@alphacent.com>
1746
1747         * libxml++/keepblanks.[h|cc]: Moved KeepBlanks::Default definition
1748         to .cc file if compiler is MSVC 6.0.
1749
1750 2003-06-04  Morten Hanssen  <morten.hanssen@pd.politiet.no>
1751
1752         * libxml++/Document.cc: Fixed a memory leak in
1753         write_to_string[_formatted]() functions.
1754
1755 2003-06-02  Murray Cumming  <murrayc@usa.net>
1756
1757         * libxml++/Document.[h|cc]: Removed the standalone parse_* methods
1758         because they just duplicate functionality and nobody seems to be
1759         using them.
1760         Renamed the private construct() and destruct() callbacks to
1761         on_libxml_construct() and on_libxml_destruct() and added some
1762         simple comments to explain their purpose.
1763         * libxml++/node.[h|cc]: Added Node::is_white_space(), to make it
1764         easier for the application to ignore white space. Used it in
1765         the dom_parser example..
1766
1767 2003-05-29  Murray Cumming  <murrayc@usa.net>
1768
1769         * Removed some struct keywords from method and variable definitions.
1770         They don't seem to be necessary, and they do not match the method
1771         definitions in the .cc files.
1772         * Some syntax clean-up - tabs to spaces and adding spaces.
1773         * examples/dom_parse/main.cc: Say when something is a text node.
1774
1775 2003-05-28  Christophe de Vienne  <cdevienne@netcourrier.com>
1776
1777         * lixml++/document.[h|cc]: Added write_to_file_formatted and
1778         write_to_string_formatted.
1779
1780 2003-05-25  Jonathan Wakely  <redi@kayari.org>
1781
1782         * libxml++/parsers/saxparser.cc: Included <cassert>
1783
1784 2003-05-23  Jonathan Wakely  <redi@kayari.org>
1785
1786         * libxml++/parsers/saxparser.[h|cc]: Correct comments.
1787
1788 2003-05-23  Christophe de Vienne  <cdevienne@netcourrier.com>
1789
1790         * all header files: Removed libxml2 headers inclusion. Added necessary
1791         forward declaration of libxml2 structures.
1792         * libxml++/parsers/saxparser.[h|cc]: Moved static callback functions into
1793         a struct defined only in the .cc file, SaxParserCallback.
1794         Added boolean parameter to SaxParser constructor to activate on_get_entity
1795         callback (default to false). This technique could eventually be extended to
1796         other functions in the future.
1797         * libxml++-1.0.pc.in: removed libxml headers include path from Cflags.
1798
1799 2003-05-22  Christophe de Vienne  <cdevienne@netcourrier.com>
1800
1801         * libxml++/nodes/node.[h|cc]: Added Node::set_name().
1802
1803 2003-05-20  Christophe de Vienne  <cdevienne@netcourrier.com>
1804
1805         * libxml++/nodes/[node.cc|element.h]: Minor syntax adjustments to allow
1806         compiling with g++ -ansi -pedantic -Wall without any warning.
1807
1808 0.23:
1809
1810 2003-05-20  Christophe de Vienne  <cdevienne@netcourrier.com>
1811
1812         * libxml++/keepblanks.[h|cc]: New KeepBlanks class which change settings
1813         related to xmlKeepBlanksDefault and xmlIndentTreeOuput.
1814         * libxml++/[document.cc|parsers/*parsers.cc]: use KeepBlanks instead of
1815         manually call xmlKeepBlanksDefault(). Significant white spaces are not
1816         removed/added anymore.
1817         * example/dom_read_write/example_output.xml: removed.
1818
1819 2003-05-16  Murray Cumming  <murrayc@usa.net>
1820
1821         * libxml++/noncopyable.[h|cc]: New xmlpp::NonCopyable base class, which
1822         should prevent people from using automatically-generated copy
1823         constructors when they shouldn't. Not tested yet.
1824         * libxml++/examples/dom_read_write: New example/test. This does
1825         show that we are removing significant white space. This has been
1826         discussed on the list and apparently Christophe has a fix for it.
1827
1828 2003-05-06  Andy Glew <andy.glew@amd.com>
1829
1830         * libxml++/nodes/node.cc: Node::find( nonexistent_xpath ) now return
1831         empty NodeSet
1832
1833 2003-04-24  Christophe de Vienne  <cdevienne@netcourrier.com>
1834
1835         * libxml++/parsers/saxparser.cc: Fixed a memory leak pointed by "thierry"
1836         <thierry.blanchard@digitech.fr>. The sax handler of the context is not reset
1837         to 0 before context release anymore. In parse() the default one is saved
1838         then restored after effective parsing, so libxml handle itself its
1839         destruction.
1840
1841 2003-04-20  Christophe de Vienne  <cdevienne@netcourrier.com>
1842
1843         * libxml++/document.cc: Removed a warning message that was put on std::cout
1844         if an unknown type of node was created and replaced it by an assert. This
1845         avoid the need to include iostream(.h).
1846
1847 2003-04-18  Murray Cumming  <murrayc@usa.net>
1848
1849         * Applied Jaka Jejcic's patch to fix compilation on NetBSD, including
1850         iostream.h instead of istream.h.
1851
1852 2003-04-09  Eric Bourque <ericb@computer.org>
1853
1854         * libxml++.spec.in: modified spec file to be library version agnostic.
1855
1856 2003-03-19  Ephraim Vider
1857
1858         * added msvc support in win32_msvc6.
1859
1860 2003-03-17  Ephraim Vider
1861
1862         * Modified sax_exception example:
1863         - corrected Clone() return type for MyException in myparser.[h|cc]
1864         - catch all exceptions in main.cc - handle real errors too
1865
1866 0.22:
1867
1868 2003-03-15  Murray Cumming  <murrayc@usa.net>
1869
1870         * libxml++/parser/domparser.cc: Added const overload of get_document().
1871
1872 2003-03-13  Christophe de Vienne
1873
1874         * libxml++/parser/domparser.cc: Test if context creation is
1875         successfull in the different parse_xxx functions. If it is no an
1876         internal_error is thrown.
1877
1878 2003-03-06  Ephraim Vider
1879
1880         * made DomParser a wrapper around Document
1881         removed all functions that were duplicates of document
1882         functions and added get_document()
1883         files: domparser.[h|cc] document.h
1884
1885         * fixed compilation errors for msvc:
1886         - corrected Clone() return type for derived exceptions
1887         - corrected getline to std::getline in saxparser.cc
1888         - changed clear() to erase() in parser.cc
1889         - added #define for vsprintf in parser.h
1890         - fixed warning in element.cc
1891
1892 0.21:
1893
1894 2003-02-21  Eric Bourque
1895
1896         * Added spec.in, for creating RPMs.
1897
1898 2003-02-20  Murray Cumming  <murrayc@usa.net>
1899
1900         * libxml++/nodes/node.[h|cc]: Moved get_child_content(),
1901         set_child_content(), add_content(), and has_content() from Node to
1902         derived Element class instead of just throwing an exception if it
1903         isn't an Element. This means you can't use set_child_content() on a
1904         TextNode - you should be using TextNode::set_content() anyway, which
1905         makes a lot more sense. Corrected set_child_content() to create a
1906         TextNode instead of creating a node with the content as the name,
1907         fixing the output of the dom_build example.
1908
1909 2003-02-20  Murray Cumming  <murrayc@usa.net>
1910
1911         * libxml++/parsers/parser.[h|cc]:
1912         initialize_contex(): Request iniitialization and connect callbacks
1913         check_exception(): Throw exception if any validation problems have
1914         been found - the messages are built up gradually by repeated
1915         callbacks.
1916         set_validate(): Enables validation before calling parse_*().
1917         Alternatively, use 2nd bool parameter to the DomParser constructor.
1918         * libxml++/exceptions/: Added validation_error class.
1919         * examples/dom_parser: Added a DTD and changed example.xml to
1920         something that uses it. Also added example_invalid.xml to test
1921         the exceptions.
1922
1923 2003-02-12  Ole Laursen  <olau@hardworking.dk>
1924
1925         * examples/sax_parser/main.cc: Added chunk-wise parsing to the
1926         example.
1927
1928         * libxml++/parsers/saxparser.[h,cc]: Added functionality for
1929         parsing chunks of data.
1930
1931 2003-02-17  Murray Cumming  <murrayc@usa.net>
1932
1933         * libxml++/parsers/*.[h|cc]: All parsing is now done via contexts,
1934         which required a little duplication of the implementation of functions
1935         such as xmlParseFile(), most of which is now in
1936         DomParser::parse_context(). This avoids use of global functions such
1937         as xmlKeepBlanksDefault() by setting these booleans directly in the
1938         context, in Parser::initialize_context().
1939         However, xmlCreateFileParserCtxt() does seem to be affected by
1940         xmlKeepBlanksDefault so we still have to use it temporarily, restoring
1941         the old value afterwards - see the comments in DomParser::parse_file().
1942         This should allow us to add validation to the API.
1943
1944 0.20:
1945
1946 2003-02-15  Murray Cumming  <murrayc@usa.net>
1947
1948         * libxml++/nodes/node.cc: (remove_child): Implemented it with
1949         xmlUnlinkNode and xmlFreeNode, so that it's actually removed.
1950
1951 2003-02-15  Murray Cumming  <murrayc@usa.net>
1952
1953         * Added examples/dom_xpath, with code from Stefan Seefeld's dom
1954         example.
1955
1956 2003-02-15  Murray Cumming  <murrayc@usa.net>
1957
1958         * Reverted the Node::child_iterator API change because it was
1959         undiscussed and is unfinished. The BRANCH_1_0 and HEAD branches are now
1960         merged. BRANCH_1_0 should no longer be used. This was never in 0.19.
1961
1962 0.19:
1963
1964 2003-02-07  Murray Cumming  <murrayc@usa.net>
1965
1966         * Moved method implementations such as get_attributes() into derived
1967         classes instead of using "using methodname();". That seems clearer.
1968         However it shows that we should probably create a shared base class for
1969         Content and Comment, as in the DOM.
1970
1971 2003-02-06  Murray Cumming  <murrayc@usa.net>
1972
1973         * libxml++/parsers/saxparser.[h|cc]: Corrected some coding style.
1974
1975 2003-02-06  Murray Cumming  <murrayc@usa.net>
1976
1977         * Changed c_obj() to cobj() because it's more like gobj() used in
1978         gtkmm, gnomemm, etc.
1979
1980 2003-02-06  Murray Cumming  <murrayc@usa.net>
1981
1982         * libxml++/nodes/node.*: Corrected code style.
1983
1984 2003-02-06  Murray Cumming  <murrayc@usa.net>
1985
1986         * libxml++/nodes/node.[h|cc], libxml++/attribute.[h|cc]: Made c_obj()
1987         accessors public so people can use them. Provided const and non-const
1988         versions of them. Put implementation in .cc file.
1989         * Reverted some of Stefan's coding style changes and corrected the
1990         coding style in libxml++/nodes/document.[h|cc].
1991         * libxml++/document.h: Made the destructor virtual, because there are
1992         virtual methods.
1993
1994 2002-02-04  Stefan Seefeld <seefeld@sympatico.ca>
1995
1996         * libxml++/node.[h,cc]: add new insert_child and append_child methods
1997         (using new iterators), add get_path and find methods for xpath lookup
1998
1999         * examples/dom: new example code to illustrate the new features
2000
2001 2002-02-03  Stefan Seefeld <seefeld@sympatico.ca>
2002
2003         * libxml++/node.h, libxml++/parsers/saxparser.[h,cc],
2004         examples/sax_parser/*.[h,cc], examples/sax_exception/*.[h,cc]:
2005         SaxParser::AttributeMap is now a map<string, string>.
2006
2007 2002-02-03  Stefan Seefeld <seefeld@sympatico.ca>
2008
2009         * libxml++/node.h: add child_iterators for simple C++ style
2010         iteration (to get eventually rid of NodeList)
2011
2012 2002-02-03  Stefan Seefeld <seefeld@sympatico.ca>
2013
2014         * libxml++/attribute.[h,cc], libxml++/nodes/node.[h,cc],
2015         libxml++/document.cc: derive Attribute from Node, and make
2016         get_value() use libxml2 accessor instead of raw pointer
2017
2018 2002-02-03  Stefan Seefeld <seefeld@sympatico.ca>
2019
2020         * libxml++/document.[h,cc], libxml++/parsers/domparser.[h,cc],
2021         libxml++/libxml++.h, libxml++/Makefile.am: introduce new Document type.
2022         * examples/dom_build/main.cc: make dom_build example use new
2023         Document type
2024
2025 2002-02-03  Stefan Seefeld <seefeld@sympatico.ca>
2026
2027         * acinclude.m4: The AM_LIBXML macro now checks for a libxml2
2028         version >= 2.5.1.
2029         * libxml++/nodes/node.cc: compare strings, not pointers, in
2030         get_attribute()
2031
2032 2003-01-31  Stefan Seefeld  <seefeld@sympatico.ca>
2033
2034         * various: overall change to use libxml2 as implementation,
2035           not only as I/O backend. With corrections by Murray Cumming.
2036     Further explanation by murrayc: Instead of maintaining its own
2037     C++ data structures and then creating libxml data structures from them,
2038     it now manipulates the libxml data structures directly, so the C++ and C
2039     APIs are always in sync.
2040
2041 2003-01-21  Valentin Rusu <sourceforge@valentinrusu.net>
2042
2043         * added CDATA section handler to SaxParser
2044
2045 2003-01-05  Valentin Rusu <sourceforge@valentinrusu.net>
2046
2047         * fixed a potential buffer overflow problem into saxparser.cc
2048
2049 0.18:
2050
2051 2003-01-31  Stefan Seefeld  <seefeld@sympatico.ca>
2052
2053         * various: overall change to use libxml2 as implementation,
2054           not only as I/O backend.
2055
2056 2003-01-05  Murray Cumming  <murrayc@usa.net>
2057
2058         * examples/dom_build/main.cc: Removed some useless test C code.
2059
2060 2002-12-24  Morten Brix Pedersen  <morten@wtf.dk>
2061
2062         * Include <iostream> instead of <istream> to compile on gcc 2.95.4.
2063
2064 2002-12-26  Murray Cumming  <murrayc@usa.net>
2065
2066         * libxml++/nodes/element.c (write): Add back the code to write the
2067         attributes to the C libxml structure. This code got lost during the
2068         refactoring.
2069
2070 2002-12-25  Murray Cumming  <murrayc@usa.net>
2071
2072         * Removed unused constructors, to simplify things. Made Node's
2073         destructor virtual, because we delete them polymorphically, and
2074         because it has virtual methods.
2075
2076 2002-12-25  Murray Cumming  <murrayc@usa.net>
2077
2078         * libxml++/nodes/node.[h|cc]: Removed the initialized member
2079         variable and its accessor, because it's not used.
2080
2081 2002-12-19  Murray Cumming  <murrayc@usa.net>
2082
2083         * libxml++/parsers/domparser.[h|cc]: get/set_root_node() now returns
2084         an Element instead of a Node.
2085
2086 2002-12-19  Murray Cumming  <murrayc@usa.net>
2087
2088         * Changed const & accessors to get_*() methods. For instance,
2089         Node::name -> Node::get_name
2090         Node::children() -> Node::get_children()
2091         Element::attributes() -> Element::get_attributes()
2092         Attribute::value -> Attribute::get_value()
2093
2094 2002-12-18  Murray Cumming <murrayc@usa.net>
2095
2096         * Added libxml++/nodes/commentnode.[h|cc] and used it in Node so that
2097         comments don't just show up as name=comment Nodes.
2098         * examples/dom_parser/example.xml: Added a comment.
2099         * examples/dom_parser/main.cc: Do a dynamic_cast<> check for comments
2100         too.
2101
2102 2002-12-18  Christophe de Vienne  <cdevienne@alphacent.com>
2103
2104         * libxml++/parser/saxparser.cc: Fixed a bug in exception handling in
2105         parse_stream. Thanks to Fredrik Arnerup <e97_far@e.kth.se> for reporting
2106         the bug.
2107
2108 2002-12-17  Murray Cumming  <murrayc@usa.net>
2109
2110         * Added libxml++/nodes/textnode.[h|cc]. This should remove the
2111         confusion about whether content()/set_content() should be used on
2112         a text node or the parent of a text node.
2113         * libxml++/nodes/node.[h|cc]:
2114         - Node::write() is now virtual, and
2115         different in TextNode.
2116         - content() replaced by get_child_content, which returns a TextNode*
2117         instead of a string.
2118         - set_content() replaced by set_child_content().
2119         * Added libxml++/nodes/element.[h|cc] so that TextNode can inherit
2120         from a Node class without the attributes API. As per the Java DOM API,
2121         Node still has the children API - I guess there's some reason for that,
2122         though I don't see how a TextNode could have children.
2123
2124 2002-12-17  Murray Cumming  <murrayc@usa.net>
2125
2126         * Moved node.[h|cc] into nodes sub directory, in preparation for the
2127         multiple-node-types API change.
2128
2129 2002-12-12  Jonathan Wakely <redi@kayari.org>
2130
2131         * libxml++/parsers/saxparser.cc, saxparser.h (on_get_entity): New
2132         virtual function to allow derived classes to override entity handling
2133
2134 2002-12-16  Murray Cumming  <murrayc@usa.net>
2135
2136         * libxml++/node.cc: write():
2137         - Don't set the node->type directly. Let
2138         xmlNodeSetContent take care of adding a suitable child node. This
2139         was leading to segfaults when write() later tried to add a child node
2140         to a text node.
2141         - Throw internal_error exception when xmlNewChild returns NULL.
2142
2143
2144 0.17:.
2145
2146 2002-12-10  Christophe de Vienne <cdevienne@alphacent>
2147
2148         * configure.in: updated version numbers for next release. Generic
2149         version is now 0.17, library version is 3:0:0
2150         * NEWS: updated with changes since 0.16 version.
2151
2152 2002-12-10  Christophe de Vienne <cdevienne@alphacent.com>
2153
2154         * libxml++/node.cc: fixed write() which was using the accessors content()
2155         and has_content(). Since they return something for both the text
2156         node and the parent node, the output was weird.
2157
2158 2002-12-09  Murray Cumming  <murrayc@usa.net>
2159
2160         * libxml++/node.cc: content(): If the cached content string is empty,
2161         try to get the content of a child "text" node. This makes content()
2162         work as expected after creating a document with set_content() and
2163         later reparsing it.
2164
2165 2002-12-09  Murray Cumming  <murrayc@usa.net>
2166
2167         * libxml++/parsers/dom_parser.cc (release_underlying): Set pointers
2168         to 0 so that the get_*() methods generate new instances instead of
2169         returning invalid pointers.
2170
2171 2002-12-09  Murray Cumming  <murrayc@usa.net>
2172
2173         * libxml++/node.cc: Node::remove_child() and Node::remove_attribute:
2174         delete the objects when forgetting about them.
2175         * libxml++/node.h: Added reference docs explaining the above.
2176
2177 2002-12-07  Murray Cumming  <murrayc@usa.net>
2178
2179         * libxml++/parsers/domparser.cc, saxparser.cc: Added comments about
2180         the use of xmlKeepBlanksDefault() and xmlLineNumbersDefault().
2181         * libxml++/parsers/saxparser.[h|cc]: Change exception & to exception&.
2182
2183 2002-12-06  Christophe de Vienne <cdevienne@alphacent.com>
2184
2185         * libxml++/parsers/domparser.cc: Enabled xml option LineNumbers
2186         and disabled KeepBlanks before each parsing.
2187         * libxml++/parsers/sax_parser.cc: Enabled xml option KeepBlanks
2188         before each parsing.
2189         * example/dom_parser/main.cc: Added line number display for each
2190         non-content node. Changed a bit content display
2191         * Note: in a near future I may change these options settings to
2192         let the user choose which options he wants/wants not.
2193
2194
2195 2002-12-03  Jone Marius Vignes <jmvignes@broadpark.no>
2196
2197         * libxml++/parsers/domparser.cc: Changed the exception in
2198         write_to_string() to "write_to_string() failed."
2199         * libxml++/parsers/domparser.h: Corrected documentation of
2200         write_to_string() and write_to_file() to clarify that these methods
2201         doesn't return booleans
2202
2203 2002-12-02  Christophe de Vienne <cdevienne@alphacent.com>
2204
2205         * libxml++/exceptions/*.[h|cc]: Added and implemented virtual
2206         methods Raise() and     Clone.
2207         * libxml++/parser/sax_parser.[h|cc]: Each callback method can now
2208         throw some exceptions as long as they herit from xmlpp::exception
2209         AND implement Raise() and Clone().
2210         * libxml++/examples/sax_exception/: Added an example which demonstrate
2211         the use of exceptions inside a SaxParser.
2212
2213 2002-11-29  Murray Cumming  <murrayc@usa.net>
2214
2215         * autogen.sh: Added libtoolize to generate files such as ltmain.sh.
2216
2217 2002-11-28  Christophe de Vienne <cdevienne@alphacent.com>
2218
2219         * acinclude.m4: The AM_LIBXML macro now checks for a libxml2
2220         version >= 2.4.1.
2221
2222 2002-11-21  Christophe de Vienne <cdevienne@alphacent.com>
2223
2224         * libxml++/parsers/*.[h|cc]: added Parser::parse_stream method
2225         and implemented it in both DomParser and SaxParser. Tests based
2226         on the examples (not commited in the cvs) worked perfectly.
2227
2228 2002-11-20  Christophe de Vienne <cdevienne@alphacent.com>
2229
2230         * libxml++/parsers/saxparser.cc: fixed a memory leak (thanks
2231         to Chris Leishman <masklin@debian.org> who reported it.
2232
2233 2002-11-20  Murray Cumming  <murrayc@usa.net>
2234
2235         * Changed use of the term properties to attributes in the API,
2236         because that is the correct terminology.
2237
2238 0.16:
2239
2240 2002-11-19  Christophe de Vienne <cdevienne@alphacent.com>
2241
2242         * configure.in: updated version numbers for next release.
2243         version is set to 0.16, library version to 2:0:0
2244
2245 2002-11-19  Murray Cumming  <murrayc@usa.net>
2246
2247         * docs: Added index.html, which can be a main website page.
2248         * docs/Makefile.am: Added rsync command to upload the html,
2249         including the reference documentation.
2250
2251 2002-11-19  Murray Cumming  <murrayc@usa.net>
2252
2253         * Added Dtd class, which is just a collection of std::strings.
2254         * libxml++/parsers/domparser.[h|cc]: Added set_internal_subset() and
2255         get_internal_subset() to set the DTD declaration. This is set in the
2256         underlying C xmlDoc during write_to_file() and write_to_disk().
2257
2258 2002-11-18  Murray Cumming  <murrayc@usa.net>
2259
2260         * libxml++/node.[h|cc]:
2261         - Rename is_content() to has_content(), because that's what it tells
2262         us. Removed _is_content member bool - we can check _content.empty()
2263         instead.
2264         - write(): Do not manually set the xmlNode's type field to TEXT. This
2265         corrupted the tree. Tested content nodes in example/dom_build.
2266
2267 2002-11-18  Murray Cumming <murrayc@usa.net>
2268
2269         * libxml++/parsers/domparser.cc (write_to_*): Corrected no-root-node
2270         check.
2271
2272 2002-11-18  Murray Cumming  <murrayc@usa.net>
2273
2274         * libxml++/exceptions/exception.[h|cc]: Corrected signature of what()
2275         method, adding const throw().
2276
2277 2002-11-18  Murray Cumming  <murrayc@usa.net>
2278
2279         * libxml++/parsers/domparser.[h|cc]: Added DomParser::set_root_node().
2280         * examples: Added dom_build, to show runtime construction of an XML
2281         tree.
2282
2283 2002-11-18  Murray Cumming  <murrayc@usa.net>
2284
2285         * Parser, DomParser, SaxParser: parse_file() and parse_memory() now
2286         throw exceptions.
2287         * DomParser::write_to_file(): throws exception instead of using a bool
2288         return value.
2289         * examples/domparser/: Catches exceptions.
2290
2291 2002-11-18  Christophe de Vienne <cdevienne@alphacent.com>
2292         * libxml++/exceptions: splitted exception.[h|cc] in this directory.
2293         The libxml_error has been removed for now, and a parse_error added.
2294
2295 2002-11-17  Christophe de Vienne <cdevienne@alphacent.com>
2296         * libxml++/attribute.h: Changed macro __LIBXMLPP_PROPERTY_H to __LIBXMLPP_ATTRIBUTE_H
2297         * libxml++/exception.[h|cc]: Added xmlpp::exception, xmlpp::libxml_error and
2298         xmlpp::internal_error classes. It's very basic for now.
2299
2300 2002-11-17  Murray Cumming  <murrayc@usa.net>
2301
2302         * Node, Attribute: set_*() method now have void return types.
2303         * DomParser: Now has an empty underlying in-memory document when the
2304         default constructor is used. This means that get_root_node() should
2305         always return something, so we can build XML documents in memory
2306         without loading any XML first.
2307
2308 2002-11-16  Murray Cumming  <murrayc@usa.net>
2309
2310         * libxml++/attribute.h: Added explicit to constructor.
2311
2312 2002-11-16  Murray CUmming  <murrayc@usa.net>
2313
2314         * libxml++/parsers/domparser: Renamed write() method to write_to_file()
2315         and added write_to_string().
2316
2317 2002-11-16  Murray Cumming  <murrayc@usa.net>
2318
2319         * libxml++-1.0.pc.in: More corrections. This was hopelessly broken
2320         before.
2321
2322 2002-11-16  Murray Cumming  <murrayc@usa.net>
2323
2324         * libxml++-1.0.pc.in: Corrected typo.
2325
2326 2002-11-16  Murray Cumming  <murrayc@usa.net>
2327
2328         * docs/reference/Doxyfile: Used doxywizard to mark the Recursive
2329         option, so it reads the libxml++/parsers directory too.
2330
2331 2002-11-16  Murray Cumming  <murrayc@usa.net>
2332
2333         * Attribute, Node: Added Doxygen class comment block. Changed some
2334         something * to something*.
2335
2336 2002-11-16  Murray Cumming  <murrayc@usa.net>
2337
2338         * libxml++/node.[h|cc]: Added parameter names. Made const and non-const
2339         overloads of children() method.
2340         * libxml++/parsers/domparser.[h|cc]: Added const get_root_node() const
2341         overload.
2342
2343 2002-11-16  Christophe de Vienne <cdevienne@alphacent>
2344         * libxml++/parsers/*: renamed method Parser::parse to
2345         Parser::parse_file
2346
2347 2002-11-16  Christophe de Vienne <cdevienne@alphacent>
2348         * libxml++/parsers/saxparser.[h|cc]: rewritten
2349         SaxParser::parse(filename) and SaxParser::parse_memory(string).
2350         They both use a SaxParser::parse()
2351         method. The parse_chunk and finish methods has been removed.
2352         * example/sax_parser/parser.cc: minor bugfix: the Attribute pointer
2353         was printed instead of the value.
2354
2355 2002-11-16  Christophe de Vienne <cdevienne@alphacent.com>
2356         * Property: has been renamed to Attribute. However, the "properties"
2357         token has been kept when speaking of all the attributes of a node,
2358         as in the libxml library.
2359         * node.cc: rewritten a few loops so they have a more 'c++' looking.
2360         rewritten some portions of code where an attribute is searched by name.
2361
2362 2002-11-15  Murray Cumming  <murrayc@usa.net>
2363         * Changed e.g. std::string &something to std::string& something,
2364         using regexxer.
2365
2366 2002-11-15  Christophe de Vienne <cdevienne@alphacent>
2367         * example/sax_parser/parser.cc: #included <iostream>
2368
2369 2002-11-15  Christophe de Vienne <cdevienne@alphacent>
2370         * libxml++/parsers/saxparser.cc: #included cstdarg instead of stdarg.h
2371         to follow the c++ standard. #included <iostream> to have std::cerr - it's
2372         needed on strict c++ compiler (g++ 3.2 for instance).
2373         * example/dom_parser/main.cc: #included <iostream>
2374
2375 2002-11-15  Murray Cumming  <murrayc@usa.net>
2376
2377         * libxml++/parsers/saxparser.cc: #included stdarg.h - it seems to
2378         be necessary with some compilers.
2379
2380 2002-11-15  Murray Cumming  <murrayc@usa.net>
2381
2382         * DomParser:: Added get_encoding() and write() methods.
2383         * Removed Tree - Use DomParser instead.
2384
2385 2002-11-15  Murray Cumming  <murrayc@usa.net>
2386
2387         * SaxParser now inherits from Parser, with parse() and parse_memory()
2388         methods.
2389         * Added example/sax_parser example, but the start_element callback
2390         doesn't seem to be called.
2391
2392 2002-11-15  Murray Cumming  <murrayc@usa.net>
2393
2394         * Parser, DomParser: Added parse_memory() method.
2395         * Node::children(): Removed bad early-optimisation hack - it returned
2396         a static function variable instead of returning by value. This meant
2397         that >1 results of children() could not be used simultaneously.
2398         For instance, this meant that it could not be called recursively.
2399
2400 2002-11-12  Murray Cumming  <murrayc@usa.net>
2401
2402         * Node, Property: Used explicit keyword on constructors.
2403
2404 2002-11-12  Murray Cumming  <murrayc@usa.net>
2405
2406         * Added parsers directory.
2407         * Renamed Parser to SaxParser.
2408         * Added DomParser, intended as a replacement for Tree, but that has
2409         not yet been removed. I don't intend to implement the libxml-1
2410         compatibility stuff.
2411         * Added examples directory structure, with one tiny dom_parser example.
2412
2413 2002-11-12  Christophe de Vienne <cdevienne@alphacent.com>
2414         * node.[h|cc]: name() method now return a reference.
2415         * Tree/Node: The readnode and writenode functions have been removed
2416         and transfered somehow into Node as a new constructor and write().
2417         The libxml++-private.[h|cc] has been removed.
2418
2419 2002-11-12  Murray Cumming  <murrayc@usa.net>
2420
2421         * Parser: It's no longer a templated type - to provide your own
2422         callback implementations you can now just derive your own parser and
2423         override the on_*() methods.
2424
2425 2002-11-12  Murray Cumming  <murrayc@usa.net>
2426
2427         * Moved implementation into the .cc files.
2428         * Changed n, v and p parameter names to name, value and properties.
2429
2430 2002-11-12  Murray Cumming  <murrayc@usa.net>
2431
2432         * Split the single xml.[h|cc] files into node, property, tree and
2433         parser files, with a libxml++.h header file that includes them all.
2434         * Removed the XML prefixes from type names - we don't need it because
2435         we use a namespace now.
2436         * Placed typedefed lists and map inside their classes. For instance,
2437         XMLNodeList is now xmlpp::Node::NodeList.
2438         * Node::children(): Use !(n.empty()) instead of (n.length() == 0), for
2439         perfomance.
2440         * Tree: changed fn parameter names to filename.
2441
2442 2002-11-12  Christophe de Vienne <cdevienne@alphacent.com>
2443         * AUTHORS: Added Murray Cumming to the contributors
2444
2445 2002-11-08  Christophe de Vienne <cdevienne@alphacent.com>
2446         * libxml++/xml.cc: corrected _line initialisation in XMLNode::XMLNode(const XMLNode *from)
2447
2448 2002-11-08  Christophe de Vienne <cdevienne@alphacent.com>
2449
2450         * libxml++/xml.cc: Test if doc encoding is not null before
2451         reading it (thanks to Marcel Bosc).
2452
2453 2002-11-05  Murray Cumming  <murrayc@usa.net>
2454
2455         * Added docs/reference/. Run make in this directory to generate
2456         reference documentation with doxygen.
2457         * libxml++/xml.h: Removed macros around namespace - all compilers
2458         must now support namespaces.
2459         * libxml++/xml.[h|cc]: Replaced (void) with () - it's not necessary
2460         in C++.
2461
2462 2002-11-05  Murray Cumming  <murrayc@usa.net>
2463
2464         * libxml++/Makefile.am and configure.in: Implemented shared library
2465         interface versioning.
2466
2467 2002-11-05  Murray Cumming  <murrayc@usa.net>
2468
2469         * Put source code in libxml++ directory, ready for it to be split up
2470         into separate files. Client code should now include
2471         libxml++/xml++.h rather than just xml++.h.
2472
2473 2002-11-05  Murray Cumming  <murrayc@usa.net>
2474
2475         * Headers are now installed in a versioned directory, to allow
2476         coexistence with future major versions of libxml++. You may need to
2477         remove the previously installed xml++.h file.
2478         * Library name changed to libxml++-0.1, to be changed to libxml++-1.0
2479         when libxml++ stabilizes its API. This is also to allow future versions
2480         to be parallel installed.
2481         * Added pkg-config file as a simpler and more maintainable alternative
2482         to the -config file and m4 script.
2483
2484 Version 0.14
2485         * Ported to g++ 3.2. The code should now also compile on compilers which are a bit more strict about c++ than previous versions of g++
2486         * Added method XMLNode::line() wich returns the line number of a non content node in the source file.
2487         * Added encoding file support through XMLTree::encoding() and XMLTree::set_encoding() methods
2488         * Replacement of hash_map by map for node properties lists, since it has been reported to be faster, and to simplify porting to other plarfoms.
2489         * libxml++ classes has been put in a separated namespace, libxmlpp. If you don't want namespace, just undefine the LIBXMLPP_USE_NAMESPACE
2490         * encoding and compression settings are now loaded at parsing of file/buffer.
2491
2492
2493 Version O.12 to 0.13
2494         No Changelog.
2495
2496 Version O.11
2497         * Modified interface to allow for more complete coverage of possible uses of XML files.
2498
2499 Version O.10
2500         * Added SAX parser.
2501
2502 Version O.2 to 0.9
2503         No Changelog.
2504
2505 Version O.1
2506         * Original release.