3 2011-09-06 Mathias Lorente <mathias.lorente@free.fr>
5 Node::create_new_child_node(): Use the default namespace if none is specified.
7 * libxml++/nodes/node.cc: This is better than just ignoring it.
10 2011-07-20 Murray Cumming <murrayc@murrayc.com>
12 ContentNode::get_content(): Fix a documentation typo.
14 * libxml++/nodes/contentnode.h: Mention > instead of &qt (a q
15 instead of a g, and no ;.).
17 2011-07-20 Mathias Lorente <mathias.lorente@free.fr>
19 Add Element::add_child_cdata().
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.
28 2011-04-17 Murray Cumming <murrayc@murrayc.com>
32 * Makefile.am: Specify the full path to docbook-customisation.xsl,
33 which is apparently necessary with the autotools that I have here.
35 2011-04-17 Murray Cumming <murrayc@murrayc.com>
37 Fix the build with --enable-warnings=fatal.
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
43 2011-04-17 Murray Cumming <murrayc@murrayc.com>
45 Do not require mm-common during the tarball build.
47 * configure.ac: Add a MM_CONFIG_DOCTOOL_DIR() call.
51 2011-02-24 Murray Cumming <murrayc@murrayc.com>
53 Fix the build with the changed linker behaviour on Ubuntu Natty.
55 * Makefile.am: Link the examples to glibmm explicitly.
59 2011-02-11 Murray Cumming <murrayc@murrayc.com>
61 Node::remove_child(): Fix a use of deleted memory
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.
69 2010-11-26 Murray Cumming <murrayc@murrayc.com>
71 Check some libxml function return values.
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).
80 2010-11-14 Murray Cumming <murrayc@murrayc.com>
82 free_wrappers(): Fix crash.
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.
90 2010-11-14 Murray Cumming <murrayc@murrayc.com>
92 Change the --enable-examples default to yes.
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.
98 2010-11-14 Murray Cumming <murrayc@murrayc.com>
100 Moved create_wrapper() and free_wrappers() to Node.
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
108 * libxml++/parsers/textreader.cc:
109 * libxml++/validators/dtdvalidator.cc:
110 * libxml++/nodes/element.cc: Adapted.
112 2010-11-08 Alessandro Pignotti <a.pignotti@sssup.it>
114 Make libxml++ compatible with separate and multi-threaded libxml2 usage.
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.
126 This avoids use of libxml's global function pointers, which are not
129 2010-11-08 Murray Cumming <murrayc@murrayc.com>
131 Do not call xmlCleanupParser() because it is brutal.
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().
137 2010-10-19 Knut Aksel Røysland <knutroy@ifi.uio.no>
139 Node::get_parent(): Removed code duplication.
141 * libxml++/nodes/node.cc: get_parent() const: Use const_cast<> to call
142 the non-const version, instead of duplicating the code.
146 2010-10-14 Murray Cumming <murrayc@murrayc.com>
148 website: Change the mailing list location, because I moved it.
150 * docs/index.html: The mailing list is now at gnome.org.
152 2010-10-03 Armin Burgmeier <armin@arbur.net>
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:
227 * configure.ac: Added support for MSVC 2010 and 64 bit.
229 2010-06-13 Murray Cumming <murrayc@murrayc.com>
231 Node::find(): Check xmlNode::type for a XML_NAMESPACE_DECL.
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
237 So we just igore these items. We need to decide what the caller really
240 2010-06-13 Murray Cumming <murrayc@murrayc.com>
242 Node::find(): Revert some of my previous change because it breaks some code.
244 * libxml++/nodes/node.cc: find_impl(): Restore the previous behaviour,
245 because the strange use of _private only seems to happen sometimes.
247 2010-06-13 Murray Cumming <murrayc@murrayc.com>
249 Node::find(): Cope with weird use of _private in xmlNodeSet.
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
257 2010-06-13 Murray Cumming <murrayc@murrayc.com>>
259 Node::find(): Use libxml functions instead of direct C access.
261 * libxml++/nodes/node.cc: Use xmlXPathNodeSetIsEmpty(),
262 xmlXPathNodeSetGetLength() and xmlXPathNodeSetItem() instead of direct
263 xmlNodeSet struct access.
265 2010-06-13 Murray Cumming <murrayc@murrayc.com>
267 Manual: Use git.gnome.org as the link to the examples source code.
269 * docs/manual/libxml++_without_code.xml: Use git.gnome.org for the examples
270 url base, as we do in gtkmm-documentation.
272 2010-06-13 Murray Cumming <murrayc@murrayc.com>
274 Restore the mm-common make target and update a link.
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.
283 2010-05-04 Murray Cumming <murrayc@murrayc.com>
285 Documentation: Don't hide undocumented API.
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).
291 2010-05-04 Murray Cumming <murrayc@murrayc.com>
293 Documentation: Improvements.
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.
306 2010-04-27 David King <davidk@openismus.com>
308 Further documentation main page improvements
310 * libxml++/libxml++.h: Some minor improvements.
312 2010-04-23 David King <davidk@openismus.com>
314 Documentation main page improvements
316 * libxml++/libxml++.h: Add external links and compilation example.
318 2010-04-16 David King <davidk@openismus.com>
320 Minor documentation update
322 * docs/index.html: Link to latest gnome.org resources.
323 * libxml++/libxml++.h: Add minimal documentation for main page.
325 2010-04-06 Murray Cumming <murrayc@murrayc.com>
327 .pc file: Add datarootdir.
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'
333 2010-04-03 Armin Burgmeier <armin@arbur.net>
335 * MSVC_Net2005/libxml++.sln:
336 * MSVC_Net2008/libxml++.sln: Add dom_parser_raw project to the
339 2010-03-30 Murray Cumming <murrayc@murrayc.com>
341 Stop exceptions when using std::cout and UTF-8.
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.
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.
352 2010-03-30 David King <davidk@openismus.com>
354 Update pkg-config file
356 * libxml++-2.6.pc.in: Add documentation locations to pkg-config file.
357 Update other fields to use variables, rather than hardcoded values.
361 2010-03-30 David King <davidk@openismus.com>
363 Disable AM_MAINTAINER_MODE by default
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.
369 2010-03-29 David King <davidk@openismus.com>
371 Move a target outside a conditional block to fix the build
373 * Makefile.am: Move docs/manual/libxml++.xml target outside the
374 ENABLE_DOCUMENTATION conditional block.
376 2010-03-29 David King <davidk@openismus.com>
378 Use mm-common for reference documentation generation
380 * .gitignore: Update.
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.
389 * autogen.sh: Add --enable-maintainer-mode to arguments passed to
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.
400 * docs/Makefile_web.am_fragment:
401 * docs/manual/Makefile.am:
402 * docs/reference/Makefile.am: Remove from repository, and move content
405 * docs/manual/docbook-customisation.xsl: Add DocBook customisation
408 * docs/manual/libxml++_without_code.xml: Make validate.
410 * docs/reference/Doxyfile.in: Update from mm-common.
412 * docs/reference/README: Remove empty file.
414 2010-03-27 David King <amigadave@amigadave.com>
416 Fix several compiler warnings
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
431 * libxml++/parsers/saxparser.cc: Fill in missing fields of
432 xmlSAXHandler struct.
434 2010-03-27 David King <davidk@openismus.com>
436 Refactor build system
438 * Makefile.am: Merge from subdir Makefile.am files, excluding doc.
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.
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
457 * autogen.sh: Copy from gtkmm.
459 * configure.in: Move to configure.ac.
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
469 * config.h.in: Remove from repository, as autoheader is now used.
471 * */.cvsignore: Remove old files.
473 * doc/manual/Makefile.am: Use the correct Perl.
475 * doc/reference/Doxyfile.in:
476 * MSVC_Net2005/libxml++/libxml++.rc.in:
477 * MSVC_Net2008/libxml++/libxml++.rc.in: Use new-style variable names.
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.
484 * .gitignore: Update.
486 * libxml++/Makefile.am:
487 * libxml++/*/Makefile.am: Remove from repository, and move content to
488 Makefile.am, making the libxml++ build non-recursive.
491 * INSTALL: Remove from repository.
494 * scripts/Makfile.am: Remove from repository.
496 * scripts/reduced.m4: Move to macros/reduced.m4
498 2010-03-08 Murray Cumming <murrayc@murrayc.com>
500 Use 0 instead of NULL.
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++.
517 2009-07-27 Johannes Schmid <jschmid@openismus.com>
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
526 2009-07-27 Johannes Schmid <jschmid@openismus.com>
530 * configure.in: Updated version to 2.26.1
533 2009-05-07 Murray Cumming <murrayc@murrayc.com>
535 Fix the build without exceptions, hopefully.
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.
541 2009-05-07 Murray Cumming <murrayc@murrayc.com>
543 * libxml++/parsers/textreader.cc: Whitespace corrections.
545 2009-03-25 Hubert Figuiere <hub@figuiere.net>
547 * libxml++/parsers/saxparser.h: Fix some warnings triggered
550 2009-03-23 Hubert Figuiere <hub@figuiere.net>
552 * libxml++/parsers/textreader.cc: severity_ was not initialised
553 at construction time. (Closes #576516)
557 2009-03-16 Murray Cumming <murrayc@murrayc.com>
559 * configure.in: Increased version number to match GNOME 2.26.
563 2009-03-02 Armin Burgmeier <armin@openismus.com>
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.
573 2009-01-09 Stef Walter <stef-list@memberwebs.com>
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.
586 2008-12-20 Armin Burgmeier <armin@openismus.com>
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.
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.
598 2008-12-18 Armin Burgmeier <armin@openismus.com>
602 * configure.in: Removed outdated MSVC6 project.
606 2008-12-12 Armin Burgmeier <armin@openismus.com>
608 * MSVC_Net2008/examples/sax_parser/sax_parser.vcproj.HALLWA.Armin.user:
609 Removed this generated file. It went in by accident.
611 * MSVC_Net2008/examples/sax_parser/sax_parser.vcproj: Added the
612 example project file instead, which should have been added from the
615 2008-12-12 Armin Burgmeier <armin@openismus.com>
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).
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
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
633 2008-12-12 Przemysław Grzegorczyk <pgrzegorczyk@gmail.com>
635 * libxml++/schema.cc: Fix a typo to fix the build.
637 2008-12-08 Murray Cumming <murrayc@murrayc.com>
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)
644 2008-12-05 Murray Cumming <murrayc@murrayc.com>
646 * libxml++/schema.cc: release_underlying(): Use xmlSchemaFree()
647 to avoid a leak, as suggested by Balazs Tirpak. Bug #312216.
649 2008-10-09 Armin Burgmeier <armin@openismus.com>
651 * MSVC_Net2005/*/*.vcproj: Adapt the new DLL naming convention.
653 * MSVC_Net2008/: Added project files for Visual Studio 2008.
656 * configure.in: Added the new files to the distribution.
660 * configure.in: Increased version to match GNOME 2.24:
664 2008-08-16 Murray Cumming <murrayc@murrayc.com>
666 * libxml++/attribute.cc: get_value(): xmlGetNsProp() takes the
667 namespace URI, not the prefix.
668 Bug #547689 (Sergei Fedorov)
670 2008-08-14 Murray Cumming <murrayc@murrayc.com>
672 * examples/dom_parser/Makefile.am:
673 * examples/dom_parser/example_with_namespace.xml:
674 Added an example using namespace prefixes, from bug
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
682 Bug #547689 (Sergei Fedorov)
684 2008-08-10 Armin Burgmeier <armin@arbur.net>
686 * MSVC_Net2005/: Renamed from MSVC_Net2003.
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+
692 * MSVC_Net2005/libxml++/libxml++.rc.in: Removed "#include resource.h"
693 because there is no resource.h.
695 * MSVC_Net2005/libxml++/libxml++.sln: Build all examples by default.
698 * configure.in: Adapt build files for the MSVC_Net2003 -> MSVC_Net2005
703 2008-05-05 Murray Cumming <murrayc@murrayc.com>
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.
711 2008-04-14 Armin Burgmeier <armin@arbur.net>
713 * libxml++/parsers/saxparser.h:
714 * libxml++/parsers/saxparser.cc: Added a parse_chunk_raw() method and
715 changed parse_chunk() to use it.
719 2008-03-26 Murray Cumming <murrayc@murrayc.com>
721 * examples/schemavalidation/Makefile.am: Corrected a filename to
724 * libxml++/validators/schemavalidator.h: Added the newin2p24 doxygen
727 2008-03-26 Emilien KIA <cursor@free.fr>
730 * libxml++/Makefile.am:
731 * libxml++/libxml++.h:
732 * libxml++/schema.cc:
733 * libxml++/schema.h: Added Schema class, similar to the existing Dtd
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.
740 * examples/Makefile.am:
741 * examples/schemavalidation/: New example, similar to the
742 existing dtdvalidation example.
746 2008-03-26 Murray Cumming <murrayc@murrayc.com>
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.
753 2008-03-26 Murray Cumming <murrayc@murrayc.com>
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.
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.
771 This is the svn trunk branch. See also the gnome-2-22 branch.
775 2008-03-07 Deng Xiyue <murrayc@murrayc.com>
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
783 Bug #501168 (Matt G.)
785 2008-01-17 Roland Stigge <stigge@antcom.de>
787 * libxml++/attribute.cc:
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.
819 2008-01-17 Martin Michlmayr <tbm@cyrius.com>>
821 * libxml++/parsers/parser.cc:
822 * libxml++/parsers/textreader.h:
823 Added includes to fix the build with gcc 4.3
829 2007-08-30 Murray Cumming <murrayc@murrayc.com>
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.
839 2007-08-29 Murray Cumming <murrayc@murrayc.com>
841 * scripts/Makefile.am: distcheck fixes.
843 2007-08-29 Murray Cumming <murrayc@murrayc.com>
848 * scripts/Makefile.am:
849 * scripts/reduced.m4: Added an --enable-api-exceptions
850 configure option, which defines LIBXMLCPP_EXCEPTIONS_ENABLED
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.
890 2007-07-30 Stef Walter <stef@memberwebs.com>
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
896 Patch in bug #373573.
898 2007-07-30 Murray Cumming <murrayc@murrayc.com>
900 * docs/reference/Doxyfile.in: Added newin2p18,
901 newin2p20, and newin2p22 tags.
903 This is the trunk branch for libxml++ 2.19/2.20.
904 See also the gnome-2-18 branch.
908 2007-07-25 Christophe de Vienne <cdevienne@gmail.com>
910 * libxml++/parsers/textreader.cc: get_name():
911 Fixed a memory leak. bug #447535.
915 2007-06-10 Murray Cumming <murrayc@murrayc.com>
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().
924 2007-02-10 Murray Cumming <murrayc@murrayc.com>
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.
938 2007-02-06 Artur Wegele <a.wegele@web.de>
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.
947 2006-10-25 Nate Nielsen <nielsen@memberwebs.com>
949 * libxml++/nodes/node.cc:
950 * libxml++/nodes/node.h: Node::get_next_sibling(),
951 Node::get_previous_sibling(). Bug #351867
953 2006-11-17 Nate Nielsen <nielsen@memberwebs.com>
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.
962 2006-11-11 Nate Nielsen <nielsen@memberwebs.com>
964 * libxml++/nodes/element.cc: Element::set_attribute():
965 Fix redeclaration of variable in if-block. Bug #361950
967 2006-11-11 Nate Nielsen <nielsen@memberwebs.com>
969 * libxml++/parsers/textreader.cc
970 * libxml++/parsers/textreader.h: TextReader() can now parse
971 memory buffers as well as files. Bug #351215
973 2006-11-11 Nate Nielsen <nielsen@memberwebs.com>
975 * libxml++/nodes/node.cc:
976 * libxml++/nodes/node.h: Add Node::get_parent() Bug #351876
978 2006-04-24 Cedric Gustin <cedric.gustin@gmail.com>
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.
984 2006-04-21 Cedric Gustin <cedric.gustin@gmail.com>
986 * libxml++/Makefile.am: Added libxml++config.h.in to EXTRA_DIST.
988 2006-04-21 Cedric Gustin <cedric.gustin@gmail.com>
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
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
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
1018 2006-03-13 Christophe de Vienne <cdevienne@netcourrier.com>
1020 * docs/index.html: Updated version number
1022 2006-03-13 Christophe de Vienne <cdevienne@netcourrier.com>
1024 * NEWS, configure.in: Prepared release 2.14.0
1026 2006-03-08 Murray Cumming <murrayc@murrayc.com>
1028 * libxml++/nodes/contentnode.h: get_content() documentation:
1029 Replace the TODO because I know know that apos is the fifth
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.
1037 2005-12-20 Murray Cumming <murrayc@murrayc.com>
1039 * docs/manual/libxml++_without_code.xml: Mention pkg-config.
1041 2005-12-16 Murray Cumming <murrayc@murrayc.com>
1043 * libxml++/document.h: Minor grammar fixes in documentation.
1044 * libxml++/nodes/node.h: Correct find() documentation slightly.
1046 2005-12-15 Robert Fleming <fleming@cs.washington.edu>
1048 * libxml++/nodes/node.cc:
1049 * libxml++/nodes/node.h: Add find() overload that
1050 takes namespaces to register, using xmlXPathRegisterNs().
1053 2005-12-15 Murray Cumming <murrayc@murrayc.com>
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.
1061 2005-12-15 Vadim Zeitlin <vadim@wxwindows.org >
1063 * docs/reference/Doxyfile.in: Fix paths so buildir!=srcdir
1064 builds work. Bug #319863.
1066 2005-09-21 Christophe de Vienne <cdevienne@netcourrier.com>
1068 * libxml++.spec.in: Fixed include and .pc paths. Fixes #316827.
1070 This is the HEAD branch, for API additions. See also the gnome-2-12 branch.
1074 2005-08-26 Christophe de Vienne <cdevienne@gmail.com>
1076 * libxml++/parsers/textreader.h: Added xmlReadState "Reading" as
1077 suggested by Sebastian Moss.
1081 2005-08-25 YS <yselkowitz@users.sourceforge.net>
1083 * libxml++/Makefile.am: Changed link order to solve a link issue
1084 on cygwin. Bug #314419.
1086 2005-06-13 Marek Rouchal <marek.rouchal@infineon.com>
1088 * libxml++/io/istreamparserinputbuffer.cc:
1089 * libxml++/io/istreamparserinputbuffer.h:
1090 * libxml++/io/parserinputbuffer.cc:
1091 * libxml++/io/parserinputbuffer.h: Remove extra ;s.
1094 2005-05-15 Murray Cumming <murrayc@murrayc.com>
1096 * libxml++/document.h: Add comments about possibly deriving this
1097 from Node, though it needs investigation, and we can not do this
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.
1104 2005-05-15 Murray Cumming <murrayc@murrayc.com>
1106 * docs/index.html: Add link to the LGPL text.
1108 2005-04-24 Murray Cumming <murrayc@murrayc.com>
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.
1114 2005-04-24 Murray Cumming <murrayc@murrayc.com>
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
1121 2005-04-24 Murray Cumming <murrayc@murrayc.com>
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
1127 2005-03-15 Murray Cumming <murrayc@murrayc.com>
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
1134 2005-03-09 Cedric Gustin <cedric.gustin@swing.be>
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.
1140 This is the HEAD branch.
1144 2005-03-08 Christophe de Vienne <cdevienne@netcourrier.com>
1146 * docs/reference/Makefile.am: Added one more rule so the "make
1147 distcheck" works from a clean cvs working copy.
1149 2005-03-08 Christophe de Vienne <cdevienne@netcourrier.com>
1151 * docs/manual/Makefile.am, docs/reference/Makefile.am: Added a few
1152 rules so that "make dist" generated the documentation if it's
1155 2005-02-15 Murray Cumming <murrayc@murrayc.com>
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.
1163 2005-02-13 Christophe de Vienne <cdevienne@netcourrier.com>
1165 * docs/manual/Makefile.am: Removed README from EXTRA_DIST.
1167 2005-02-12 Christophe de Vienne <cdevienne@netcourrier.com>
1169 * libxml++/nodes/node.cc: Fixed a little inefficency in find (#161925)
1171 2005-02-11 Murray Cumming <murrayc@murrayc.com>
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.
1180 2005-02-11 Murray Cumming <murrayc@murrayc.com>
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
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.
1194 2005-01-26 Cedric Gustin <cedric.gustin@swing.be>
1196 * MSVC_Net2003/README: Updated for 2.8.0
1198 2005-01-26 Cedric Gustin <cedric.gustin@swing.be>
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
1206 * examples/Makefile.am_fragment: Removed trailing slash in INCLUDES.
1207 * MSVC_Net2003/*: Initial release.
1211 2004-12-25 Murray Cumming <murrayc@murrayc.com>
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
1219 2004-12-20 Murray Cumming <murrayc@murrayc.com>
1221 * This is the HEAD branch, for gnome 2.9/2.10.
1223 2004-12-18 Murray Cumming <murrayc@murrayc.com>
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.
1231 2004-12-18 Murray Cumming <murrayc@murrayc.com>
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.
1237 2004-12-18 Murray Cumming <murrayc@murrayc.com>
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.
1246 2004-11-30 Murray Cumming <murrayc@murrayc.com>
1248 * libxml++/validator.h: Removed an extra ; that g++ 3.4 complains
1253 2004-09-12 Murray Cumming <murrayc@murrayc.com>
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.
1261 2004-09-06 Christophe de Vienne <cdevienne@netcourrier.com>
1263 * configure.in: Prepared release 2.7.1.
1265 2004-08-13 Christophe de Vienne <cdevienne@netcourrier.com>
1267 * libxml++/parsers/domparser.cc, libxml++/parsers/parser.cc: Fixed
1272 2004-06-24 Murray Cumming <murrayc@.com>
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.
1279 2004-06-22 Murray Cumming <murrayc@murrayc.com>
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.
1286 2004-05-28 Christophe de Vienne <cdevienne@netcourrier>
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
1305 2004-04-26 Christophe de VIENNE <cdevienne@netcourrier.com>
1307 * libxml++/nodes/contentnode.cc: Fixed set_content which used xmlNodeAddContent
1308 instead of xmlNodeSetContent (thanks to Marcello Orizi who outlined it).
1310 2004-05-05 Christophe de Vienne <cdevienne@netcourrier.com>
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
1317 2004-05-04 Christophe de Vienne <cdevienne@netcourrier.com>
1319 * libxml++/parsers/saxparser.cc: Replaced again the use of
1320 Glib::ustring(const char*) constructor by Glib::ustring(std::string).
1323 2004-05-04 Christophe de Vienne <cdevienne@netcourrier.com>
1325 * libxml++/parsers/saxparser.cc: Replace the use of
1326 Glib::ustring(const char*, unsigned) constructor by Glib::ustring(const char*).
1329 2004-05-04 Murray Cumming <murrayc@murrayc@com>
1331 * libxml++-2.6.pc.in: Made it require glibmm-2.4, so that apps do not
1332 have to check for this themselves.
1336 2004-04-13 Murray Cumming <murrayc@murrayc.com>
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.
1341 2004-03-27 Murray Cumming <murrayc@murrayc.com>
1343 * libxml++/parsers/textreader.[h|cc]: Correct constness of
1344 get_current_node(), so there is a const and non-const version.
1348 2004-02-16 Christophe de VIENNE <cdevienne@netcourrier.com>
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.
1354 2004-02-16 Christophe de VIENNE <cdevienne@netcourrier.com>
1356 * libxml++-2.6.pc.in: Added libxml-2.0 to Requires: and removed
1357 @LIBXML_LIBS@ from libs, as suggested by Albert Chin.
1359 2004-02-16 Christophe de VIENNE <cdevienne@netcourrier.com>
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.
1365 2004-02-13 Jim Garrison <garrison@case.edu>
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
1376 2004-02-08 Jim Garrison <garrison@case.edu>
1378 * libxml++/document.[h|cc]: added Document::cobj() function
1380 2004-02-06 Christophe de Vienne <cdevienne@netcourrier.com>
1382 * libxml++/parsers/sax_parser.cc: Fixed issue #132014.
1384 2004-02-06 Christophe de Vienne <cdevienne@netcourrier.com>
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.
1394 2004-02-05 Jim Garrison <garrison@case.edu>
1396 * libxml++/document.[h|cc]: added create_root_node_by_import()
1398 2004-01-13 Christophe de Vienne <cdevienne@alphacent.com>
1400 * libxml++/io/document.cc: Gives NULL strings instead of empty ones to
1401 xmlCreateIntSubset. Fixes issue #131329.
1403 2004-01-12 Christophe de Vienne <cdevienne@alphacent.com>
1405 * libxml++/io/outputbuffer.cc: Fix return value of xmlIO callbacks. (Fixes
1408 2003-12-19 Murray Cumming <murrayc@usa.net>
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.
1415 2003-12-19 Murray Cumming <murrayc@usa.net>
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,
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.
1428 This is the HEAD branch, for libxml++ 2.5/2.6.
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
1439 2003-12-18 Ephraim Vider <eff@eplication.com>
1441 * win32_msvc6: updated MSVC projects to include new sources and examples
1443 2003-12-12 Christophe de Vienne <cdevienne@alphacent.com>
1445 * libxml++/parsers/sax_parser.cc: removed initialisation of userData
1446 with this at the context creation (solution given by Murray).
1448 2003-12-11 Murray Cumming <murrayc@usa.net>
1450 * libxml++/Makefile.am: Generate a library with 1.0 in the name,
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
1459 2003-12-08 Ephraim Vider <eff@eplication.com>
1461 * libxml++/document.cc: remove return statement from void functions
1465 2003-12-08 Christophe de Vienne <cdeviennne@netcourrier.com>
1467 * libxml++.spec.in: Removed libxml++.m4 and xml++-config from %files
1470 2003-12-08 Murray Cumming <murrayc@usa.net>
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.
1476 2003-12-03 Christophe de Vienne <cdevienne@netcourrier.com>
1478 * configure.in: use libxml-2.0 instead of xml2 for libxml2 detection
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.
1485 2003-12-03 Murray Cumming <murrayc@usa.net>
1487 * examples/README: explained what the examples do.
1489 2003-11-28 Christophe de Vienne <cdevienne@alphacent.com>
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.
1497 2003-11-27 Murray Cumming <murrayc@usa.net>
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.
1503 2003-11-27 Murray Cumming <murrayc@usa.net>
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.
1510 2003-11-13 Christophe de Vienne <cdevienne@netcourrier.com>
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.
1518 2003-10-28 Murray Cumming <murrayc@usa.net>
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.
1525 2003-10-25 Christophe de Vienne <cdevienne@netcourrier.com>
1527 * libxml++/document.[h|cc]: Added Document::add_comment and added some
1530 2003-10-22 Murray Cumming <murrayc@usa.net>
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.
1537 2003-10-18 Christophe de Vienne <cdevienne@netcourrier.com>
1539 * All: All private members previously having a leading underscore in their
1540 name now have it postfixed. Ex: _impl becomes impl_.
1542 2003-10-18 Christophe de Vienne <cdevienne@netcourrier.com>
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
1549 2003-10-18 Christophe de Vienne <cdevienne@netcourrier.com>
1551 * libxml++/nodes/Makefile.am: Removed some trailing white spaces after a
1554 2003-10-14 Murray Cumming <murrayc@usa.net>
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
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.
1574 2003-09-30 Jonathan Wakely <redi@kayari.org>
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.
1580 2003-09-26 Christophe de Vienne <cdevienne@netcourrier.com>
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.
1587 2003-09-26 Christophe de Vienne <cdevienne@netcourrier.com>
1589 * libxml++/io/: Small corrections after Murray comments on the patch. It's
1590 even more clean now.
1592 2003-09-26 Christophe de Vienne <cdevienne@netcourrier.com>
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.
1603 2003-09-24 Christophe de Vienne <cdevienne@netcourrier.com>
1605 * libxml++/examples/dom_build/main.cc: Now demonstrate add_comment
1608 2003-09-24 Dan Dennedy
1610 * libxml++/nodes/element.[h|cc]: Added Element::add_comment.
1612 2003-09-23 Christophe de Vienne <cdevienne@netcourrier.com>
1614 * libxml++/document.h, libxml++/keepblanks.h, libxml++/noncopyable.h,
1615 libxml++/nodes/node.h: Updated documentation.
1619 2003-09-22 Christophe de Vienne <cdevienne@netcourrier.com>
1621 * examples/dom_build/main.cpp: Use Element::set_attribute instead of
1622 Element::add_attribute which no longer exists.
1624 2003-09-19 Murray Cumming <murrayc@usa.net>
1626 * libxml++/node/element.h: Removed add_attribute because it is the same as
1629 2003-09-18 Murray Cumming <murrayc@usa.net>
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.
1639 2003-09-17 Christophe de Vienne <cdevienne@netcourrier.com>
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.
1645 2003-09-15 Fredrik Arnerup
1647 * libxml++/document.cc: Added a call to xmlInitParser to avoid
1650 2003-09-05 Murray Cumming <murrayc@usa.net>
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
1659 * examples/dom_build/: Modified the example to do namespace stuff,
1662 2003-08-20 Murray Cumming <murrayc@usa.net>
1664 * libxml++/node.[h|cc]: import_node() now takes a _const_ Node, as
1665 suggested by Rafael Vuijk.
1667 2003-07-20 Ephraim Vider <eff@eplication.com>
1669 * win32_msvc6: libxml++.dsp, examples/import_node.dsp, examples/Makefile.am:
1670 - added import_node example project
1674 2003-07-16 Christophe de Vienne <cdevienne@netcourrier.com>
1676 * libxml++.m4, xml++-config.in, configure.in, Makefile.am: removed old-style
1677 autoconf libxml++ detection macro and script.
1679 2003-07-15 Christophe de Vienne <cdevienne@netcourrier.com>
1681 * all but exceptions/*.[h|cc]: removed throw specification from functions
1684 2003-07-11 Eric Bourque <ericb@computer.org>
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.
1690 2003-06-25 Ephraim Vider <eff@eplication.com>
1692 * win32_msvc6: libxml++.dsp: added _REENTRANT to support libxml with threads
1693 - examples/Makefile.am: added new example project
1695 2003-06-16 Christophe de Vienne <cdevienne@netcourrier.com>
1697 * docs/index.html: Added a link to Doxygen website.
1699 2003-06-16 Ephraim Vider <eff@eplication.com>
1701 * win32_msvc6/*: Fixed MSVC6 project files.
1703 2003-06-13 Christophe de Vienne <cdevienne@netcourrier.com>
1705 * docs/Makefile.am: Fixed the post-html rule which was sending twice the
1707 * docs/index.html: Added keyword "XML".
1711 2003-06-11 Christophe de Vienne <cdevienne@netcourrier.com>
1713 * libxml++/parsers/domparser.cc:
1714 - Fixed parse_stream. Parsing success was not checked before creating
1716 - Check for errNo after parsing.
1718 2003-06-02 Ephraim Vider
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
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]
1730 * node.cc: - Fix. return empty string and not 0
1731 * updated MSVC projects to include new sources and example
1733 2003-06-10 Jonathan Wakely <redi@kayari.org>
1735 * libxml++/parsers/saxparser.cc: Replace <istream> with <iostream>
1736 to support older compilers.
1738 2003-06-06 Christophe de Vienne <cdevienne@alphacent.com>
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.
1745 2003-06-05 Christophe de Vienne <cdevienne@alphacent.com>
1747 * libxml++/keepblanks.[h|cc]: Moved KeepBlanks::Default definition
1748 to .cc file if compiler is MSVC 6.0.
1750 2003-06-04 Morten Hanssen <morten.hanssen@pd.politiet.no>
1752 * libxml++/Document.cc: Fixed a memory leak in
1753 write_to_string[_formatted]() functions.
1755 2003-06-02 Murray Cumming <murrayc@usa.net>
1757 * libxml++/Document.[h|cc]: Removed the standalone parse_* methods
1758 because they just duplicate functionality and nobody seems to be
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..
1767 2003-05-29 Murray Cumming <murrayc@usa.net>
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.
1775 2003-05-28 Christophe de Vienne <cdevienne@netcourrier.com>
1777 * lixml++/document.[h|cc]: Added write_to_file_formatted and
1778 write_to_string_formatted.
1780 2003-05-25 Jonathan Wakely <redi@kayari.org>
1782 * libxml++/parsers/saxparser.cc: Included <cassert>
1784 2003-05-23 Jonathan Wakely <redi@kayari.org>
1786 * libxml++/parsers/saxparser.[h|cc]: Correct comments.
1788 2003-05-23 Christophe de Vienne <cdevienne@netcourrier.com>
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.
1799 2003-05-22 Christophe de Vienne <cdevienne@netcourrier.com>
1801 * libxml++/nodes/node.[h|cc]: Added Node::set_name().
1803 2003-05-20 Christophe de Vienne <cdevienne@netcourrier.com>
1805 * libxml++/nodes/[node.cc|element.h]: Minor syntax adjustments to allow
1806 compiling with g++ -ansi -pedantic -Wall without any warning.
1810 2003-05-20 Christophe de Vienne <cdevienne@netcourrier.com>
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.
1819 2003-05-16 Murray Cumming <murrayc@usa.net>
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.
1828 2003-05-06 Andy Glew <andy.glew@amd.com>
1830 * libxml++/nodes/node.cc: Node::find( nonexistent_xpath ) now return
1833 2003-04-24 Christophe de Vienne <cdevienne@netcourrier.com>
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
1841 2003-04-20 Christophe de Vienne <cdevienne@netcourrier.com>
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).
1847 2003-04-18 Murray Cumming <murrayc@usa.net>
1849 * Applied Jaka Jejcic's patch to fix compilation on NetBSD, including
1850 iostream.h instead of istream.h.
1852 2003-04-09 Eric Bourque <ericb@computer.org>
1854 * libxml++.spec.in: modified spec file to be library version agnostic.
1856 2003-03-19 Ephraim Vider
1858 * added msvc support in win32_msvc6.
1860 2003-03-17 Ephraim Vider
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
1868 2003-03-15 Murray Cumming <murrayc@usa.net>
1870 * libxml++/parser/domparser.cc: Added const overload of get_document().
1872 2003-03-13 Christophe de Vienne
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.
1878 2003-03-06 Ephraim Vider
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
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
1894 2003-02-21 Eric Bourque
1896 * Added spec.in, for creating RPMs.
1898 2003-02-20 Murray Cumming <murrayc@usa.net>
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.
1909 2003-02-20 Murray Cumming <murrayc@usa.net>
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
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
1923 2003-02-12 Ole Laursen <olau@hardworking.dk>
1925 * examples/sax_parser/main.cc: Added chunk-wise parsing to the
1928 * libxml++/parsers/saxparser.[h,cc]: Added functionality for
1929 parsing chunks of data.
1931 2003-02-17 Murray Cumming <murrayc@usa.net>
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.
1946 2003-02-15 Murray Cumming <murrayc@usa.net>
1948 * libxml++/nodes/node.cc: (remove_child): Implemented it with
1949 xmlUnlinkNode and xmlFreeNode, so that it's actually removed.
1951 2003-02-15 Murray Cumming <murrayc@usa.net>
1953 * Added examples/dom_xpath, with code from Stefan Seefeld's dom
1956 2003-02-15 Murray Cumming <murrayc@usa.net>
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.
1964 2003-02-07 Murray Cumming <murrayc@usa.net>
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.
1971 2003-02-06 Murray Cumming <murrayc@usa.net>
1973 * libxml++/parsers/saxparser.[h|cc]: Corrected some coding style.
1975 2003-02-06 Murray Cumming <murrayc@usa.net>
1977 * Changed c_obj() to cobj() because it's more like gobj() used in
1978 gtkmm, gnomemm, etc.
1980 2003-02-06 Murray Cumming <murrayc@usa.net>
1982 * libxml++/nodes/node.*: Corrected code style.
1984 2003-02-06 Murray Cumming <murrayc@usa.net>
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
1994 2002-02-04 Stefan Seefeld <seefeld@sympatico.ca>
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
1999 * examples/dom: new example code to illustrate the new features
2001 2002-02-03 Stefan Seefeld <seefeld@sympatico.ca>
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>.
2007 2002-02-03 Stefan Seefeld <seefeld@sympatico.ca>
2009 * libxml++/node.h: add child_iterators for simple C++ style
2010 iteration (to get eventually rid of NodeList)
2012 2002-02-03 Stefan Seefeld <seefeld@sympatico.ca>
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
2018 2002-02-03 Stefan Seefeld <seefeld@sympatico.ca>
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
2025 2002-02-03 Stefan Seefeld <seefeld@sympatico.ca>
2027 * acinclude.m4: The AM_LIBXML macro now checks for a libxml2
2029 * libxml++/nodes/node.cc: compare strings, not pointers, in
2032 2003-01-31 Stefan Seefeld <seefeld@sympatico.ca>
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.
2041 2003-01-21 Valentin Rusu <sourceforge@valentinrusu.net>
2043 * added CDATA section handler to SaxParser
2045 2003-01-05 Valentin Rusu <sourceforge@valentinrusu.net>
2047 * fixed a potential buffer overflow problem into saxparser.cc
2051 2003-01-31 Stefan Seefeld <seefeld@sympatico.ca>
2053 * various: overall change to use libxml2 as implementation,
2054 not only as I/O backend.
2056 2003-01-05 Murray Cumming <murrayc@usa.net>
2058 * examples/dom_build/main.cc: Removed some useless test C code.
2060 2002-12-24 Morten Brix Pedersen <morten@wtf.dk>
2062 * Include <iostream> instead of <istream> to compile on gcc 2.95.4.
2064 2002-12-26 Murray Cumming <murrayc@usa.net>
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
2070 2002-12-25 Murray Cumming <murrayc@usa.net>
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.
2076 2002-12-25 Murray Cumming <murrayc@usa.net>
2078 * libxml++/nodes/node.[h|cc]: Removed the initialized member
2079 variable and its accessor, because it's not used.
2081 2002-12-19 Murray Cumming <murrayc@usa.net>
2083 * libxml++/parsers/domparser.[h|cc]: get/set_root_node() now returns
2084 an Element instead of a Node.
2086 2002-12-19 Murray Cumming <murrayc@usa.net>
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()
2094 2002-12-18 Murray Cumming <murrayc@usa.net>
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
2102 2002-12-18 Christophe de Vienne <cdevienne@alphacent.com>
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
2108 2002-12-17 Murray Cumming <murrayc@usa.net>
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.
2124 2002-12-17 Murray Cumming <murrayc@usa.net>
2126 * Moved node.[h|cc] into nodes sub directory, in preparation for the
2127 multiple-node-types API change.
2129 2002-12-12 Jonathan Wakely <redi@kayari.org>
2131 * libxml++/parsers/saxparser.cc, saxparser.h (on_get_entity): New
2132 virtual function to allow derived classes to override entity handling
2134 2002-12-16 Murray Cumming <murrayc@usa.net>
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
2141 - Throw internal_error exception when xmlNewChild returns NULL.
2146 2002-12-10 Christophe de Vienne <cdevienne@alphacent>
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.
2152 2002-12-10 Christophe de Vienne <cdevienne@alphacent.com>
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.
2158 2002-12-09 Murray Cumming <murrayc@usa.net>
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
2165 2002-12-09 Murray Cumming <murrayc@usa.net>
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.
2171 2002-12-09 Murray Cumming <murrayc@usa.net>
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.
2177 2002-12-07 Murray Cumming <murrayc@usa.net>
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&.
2183 2002-12-06 Christophe de Vienne <cdevienne@alphacent.com>
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.
2195 2002-12-03 Jone Marius Vignes <jmvignes@broadpark.no>
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
2203 2002-12-02 Christophe de Vienne <cdevienne@alphacent.com>
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.
2213 2002-11-29 Murray Cumming <murrayc@usa.net>
2215 * autogen.sh: Added libtoolize to generate files such as ltmain.sh.
2217 2002-11-28 Christophe de Vienne <cdevienne@alphacent.com>
2219 * acinclude.m4: The AM_LIBXML macro now checks for a libxml2
2222 2002-11-21 Christophe de Vienne <cdevienne@alphacent.com>
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.
2228 2002-11-20 Christophe de Vienne <cdevienne@alphacent.com>
2230 * libxml++/parsers/saxparser.cc: fixed a memory leak (thanks
2231 to Chris Leishman <masklin@debian.org> who reported it.
2233 2002-11-20 Murray Cumming <murrayc@usa.net>
2235 * Changed use of the term properties to attributes in the API,
2236 because that is the correct terminology.
2240 2002-11-19 Christophe de Vienne <cdevienne@alphacent.com>
2242 * configure.in: updated version numbers for next release.
2243 version is set to 0.16, library version to 2:0:0
2245 2002-11-19 Murray Cumming <murrayc@usa.net>
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.
2251 2002-11-19 Murray Cumming <murrayc@usa.net>
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().
2258 2002-11-18 Murray Cumming <murrayc@usa.net>
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()
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.
2267 2002-11-18 Murray Cumming <murrayc@usa.net>
2269 * libxml++/parsers/domparser.cc (write_to_*): Corrected no-root-node
2272 2002-11-18 Murray Cumming <murrayc@usa.net>
2274 * libxml++/exceptions/exception.[h|cc]: Corrected signature of what()
2275 method, adding const throw().
2277 2002-11-18 Murray Cumming <murrayc@usa.net>
2279 * libxml++/parsers/domparser.[h|cc]: Added DomParser::set_root_node().
2280 * examples: Added dom_build, to show runtime construction of an XML
2283 2002-11-18 Murray Cumming <murrayc@usa.net>
2285 * Parser, DomParser, SaxParser: parse_file() and parse_memory() now
2287 * DomParser::write_to_file(): throws exception instead of using a bool
2289 * examples/domparser/: Catches exceptions.
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.
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.
2300 2002-11-17 Murray Cumming <murrayc@usa.net>
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.
2308 2002-11-16 Murray Cumming <murrayc@usa.net>
2310 * libxml++/attribute.h: Added explicit to constructor.
2312 2002-11-16 Murray CUmming <murrayc@usa.net>
2314 * libxml++/parsers/domparser: Renamed write() method to write_to_file()
2315 and added write_to_string().
2317 2002-11-16 Murray Cumming <murrayc@usa.net>
2319 * libxml++-1.0.pc.in: More corrections. This was hopelessly broken
2322 2002-11-16 Murray Cumming <murrayc@usa.net>
2324 * libxml++-1.0.pc.in: Corrected typo.
2326 2002-11-16 Murray Cumming <murrayc@usa.net>
2328 * docs/reference/Doxyfile: Used doxywizard to mark the Recursive
2329 option, so it reads the libxml++/parsers directory too.
2331 2002-11-16 Murray Cumming <murrayc@usa.net>
2333 * Attribute, Node: Added Doxygen class comment block. Changed some
2334 something * to something*.
2336 2002-11-16 Murray Cumming <murrayc@usa.net>
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
2343 2002-11-16 Christophe de Vienne <cdevienne@alphacent>
2344 * libxml++/parsers/*: renamed method Parser::parse to
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.
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.
2362 2002-11-15 Murray Cumming <murrayc@usa.net>
2363 * Changed e.g. std::string &something to std::string& something,
2366 2002-11-15 Christophe de Vienne <cdevienne@alphacent>
2367 * example/sax_parser/parser.cc: #included <iostream>
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>
2375 2002-11-15 Murray Cumming <murrayc@usa.net>
2377 * libxml++/parsers/saxparser.cc: #included stdarg.h - it seems to
2378 be necessary with some compilers.
2380 2002-11-15 Murray Cumming <murrayc@usa.net>
2382 * DomParser:: Added get_encoding() and write() methods.
2383 * Removed Tree - Use DomParser instead.
2385 2002-11-15 Murray Cumming <murrayc@usa.net>
2387 * SaxParser now inherits from Parser, with parse() and parse_memory()
2389 * Added example/sax_parser example, but the start_element callback
2390 doesn't seem to be called.
2392 2002-11-15 Murray Cumming <murrayc@usa.net>
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.
2400 2002-11-12 Murray Cumming <murrayc@usa.net>
2402 * Node, Property: Used explicit keyword on constructors.
2404 2002-11-12 Murray Cumming <murrayc@usa.net>
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.
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.
2419 2002-11-12 Murray Cumming <murrayc@usa.net>
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.
2425 2002-11-12 Murray Cumming <murrayc@usa.net>
2427 * Moved implementation into the .cc files.
2428 * Changed n, v and p parameter names to name, value and properties.
2430 2002-11-12 Murray Cumming <murrayc@usa.net>
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
2440 * Tree: changed fn parameter names to filename.
2442 2002-11-12 Christophe de Vienne <cdevienne@alphacent.com>
2443 * AUTHORS: Added Murray Cumming to the contributors
2445 2002-11-08 Christophe de Vienne <cdevienne@alphacent.com>
2446 * libxml++/xml.cc: corrected _line initialisation in XMLNode::XMLNode(const XMLNode *from)
2448 2002-11-08 Christophe de Vienne <cdevienne@alphacent.com>
2450 * libxml++/xml.cc: Test if doc encoding is not null before
2451 reading it (thanks to Marcel Bosc).
2453 2002-11-05 Murray Cumming <murrayc@usa.net>
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
2462 2002-11-05 Murray Cumming <murrayc@usa.net>
2464 * libxml++/Makefile.am and configure.in: Implemented shared library
2465 interface versioning.
2467 2002-11-05 Murray Cumming <murrayc@usa.net>
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.
2473 2002-11-05 Murray Cumming <murrayc@usa.net>
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.
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.
2493 Version O.12 to 0.13
2497 * Modified interface to allow for more complete coverage of possible uses of XML files.