0.17:

2002-12-10  Christophe de Vienne <cdevienne@alphacent>

	* configure.in: updated version numbers for next release. Generic
	version is now 0.17, library version is 3:0:0
	* NEWS: updated with changes since 0.16 version.
	
2002-12-10  Christophe de Vienne <cdevienne@alphacent.com>

	* libxml++/node.cc: fixed write() which was using the accessors content()
	and has_content(). Since they return something for both the text
	node and the parent node, the output was weird.

2002-12-09  Murray Cumming  <murrayc@usa.net>

	* libxml++/node.cc: content(): If the cached content string is empty, 
	try to get the content of a child "text" node. This makes content()
	work as expected after creating a document with set_content() and 
	later reparsing it.

2002-12-09  Murray Cumming  <murrayc@usa.net>

	* libxml++/parsers/dom_parser.cc (release_underlying): Set pointers
	to 0 so that the get_*() methods generate new instances instead of
	returning invalid pointers.

2002-12-09  Murray Cumming  <murrayc@usa.net>

	* libxml++/node.cc: Node::remove_child() and Node::remove_attribute:
	delete the objects when forgetting about them.
	* libxml++/node.h: Added reference docs explaining the above.

2002-12-07  Murray Cumming  <murrayc@usa.net>

	* libxml++/parsers/domparser.cc, saxparser.cc: Added comments about 
	the use of xmlKeepBlanksDefault() and xmlLineNumbersDefault().
	* libxml++/parsers/saxparser.[h|cc]: Change exception & to exception&.

2002-12-06  Christophe de Vienne <cdevienne@alphacent.com>

	* libxml++/parsers/domparser.cc: Enabled xml option LineNumbers
	and disabled KeepBlanks before each parsing.
	* libxml++/parsers/sax_parser.cc: Enabled xml option KeepBlanks
	before each parsing.
	* example/dom_parser/main.cc: Added line number display for each
	non-content node. Changed a bit content display
	* Note: in a near future I may change these options settings to
	let the user choose which options he wants/wants not.
	

2002-12-03  Jone Marius Vignes <jmvignes@broadpark.no>

	* libxml++/parsers/domparser.cc: Changed the exception in
	write_to_string() to "write_to_string() failed."
	* libxml++/parsers/domparser.h: Corrected documentation of
	write_to_string() and write_to_file() to clarify that these methods
	doesn't return booleans

2002-12-02  Christophe de Vienne <cdevienne@alphacent.com>

	* libxml++/exceptions/*.[h|cc]: Added and implemented virtual 
	methods Raise() and	Clone.
	* libxml++/parser/sax_parser.[h|cc]: Each callback method can now
	throw some exceptions as long as they herit from xmlpp::exception
	AND implement Raise() and Clone().
	* libxml++/examples/sax_exception/: Added an example which demonstrate
	the use of exceptions inside a SaxParser.

2002-11-29  Murray Cumming  <murrayc@usa.net>

	* autogen.sh: Added libtoolize to generate files such as ltmain.sh.

2002-11-28  Christophe de Vienne <cdevienne@alphacent.com>

	* acinclude.m4: The AM_LIBXML macro now checks for a libxml2
	version >= 2.4.1.

2002-11-21  Christophe de Vienne <cdevienne@alphacent.com>

	* libxml++/parsers/*.[h|cc]: added Parser::parse_stream method
	and implemented it in both DomParser and SaxParser. Tests based
	on the examples (not commited in the cvs) worked perfectly.

2002-11-20  Christophe de Vienne <cdevienne@alphacent.com>

	* libxml++/parsers/saxparser.cc: fixed a memory leak (thanks
	to Chris Leishman <masklin@debian.org> who reported it.
	
2002-11-20  Murray Cumming  <murrayc@usa.net>

	* Changed use of the term properties to attributes in the API,
	because that is the correct terminology.

0.16:
	
2002-11-19  Christophe de Vienne <cdevienne@alphacent.com>

	* configure.in: updated version numbers for next release.
	version is set to 0.16, library version to 2:0:0

2002-11-19  Murray Cumming  <murrayc@usa.net>

	* docs: Added index.html, which can be a main website page.
	* docs/Makefile.am: Added rsync command to upload the html,
	including the reference documentation.

2002-11-19  Murray Cumming  <murrayc@usa.net>

	* Added Dtd class, which is just a collection of std::strings.
	* libxml++/parsers/domparser.[h|cc]: Added set_internal_subset() and
	get_internal_subset() to set the DTD declaration. This is set in the 
	underlying C xmlDoc during write_to_file() and write_to_disk().

2002-11-18  Murray Cumming  <murrayc@usa.net>

	* libxml++/node.[h|cc]:
	- Rename is_content() to has_content(), because that's what it tells 
	us. Removed _is_content member bool - we can check _content.empty() 
	instead.
	- write(): Do not manually set the xmlNode's type field to TEXT. This
	corrupted the tree. Tested content nodes in example/dom_build.

2002-11-18  Murray Cumming <murrayc@usa.net>

	* libxml++/parsers/domparser.cc (write_to_*): Corrected no-root-node
	check.

2002-11-18  Murray Cumming  <murrayc@usa.net>

	* libxml++/exceptions/exception.[h|cc]: Corrected signature of what()
	method, adding const throw().

2002-11-18  Murray Cumming  <murrayc@usa.net>

	* libxml++/parsers/domparser.[h|cc]: Added DomParser::set_root_node().
	* examples: Added dom_build, to show runtime construction of an XML 
	tree.

2002-11-18  Murray Cumming  <murrayc@usa.net>

	* Parser, DomParser, SaxParser: parse_file() and parse_memory() now 
	throw exceptions.
	* DomParser::write_to_file(): throws exception instead of using a bool
	return value.
	* examples/domparser/: Catches exceptions.

2002-11-18  Christophe de Vienne <cdevienne@alphacent.com>
	* libxml++/exceptions: splitted exception.[h|cc] in this directory.
	The libxml_error has been removed for now, and a parse_error added.

2002-11-17  Christophe de Vienne <cdevienne@alphacent.com>
	* libxml++/attribute.h: Changed macro __LIBXMLPP_PROPERTY_H to __LIBXMLPP_ATTRIBUTE_H
	* libxml++/exception.[h|cc]: Added xmlpp::exception, xmlpp::libxml_error and
   	xmlpp::internal_error classes. It's very basic for now.
	
2002-11-17  Murray Cumming  <murrayc@usa.net>

	* Node, Attribute: set_*() method now have void return types.
	* DomParser: Now has an empty underlying in-memory document when the
	default constructor is used. This means that get_root_node() should
	always return something, so we can build XML documents in memory 
	without loading any XML first.

2002-11-16  Murray Cumming  <murrayc@usa.net>

	* libxml++/attribute.h: Added explicit to constructor.

2002-11-16  Murray CUmming  <murrayc@usa.net>

	* libxml++/parsers/domparser: Renamed write() method to write_to_file()
	and added write_to_string().

2002-11-16  Murray Cumming  <murrayc@usa.net>

	* libxml++-1.0.pc.in: More corrections. This was hopelessly broken
	before.
	
2002-11-16  Murray Cumming  <murrayc@usa.net>

	* libxml++-1.0.pc.in: Corrected typo.

2002-11-16  Murray Cumming  <murrayc@usa.net>

	* docs/reference/Doxyfile: Used doxywizard to mark the Recursive
	option, so it reads the libxml++/parsers directory too.

2002-11-16  Murray Cumming  <murrayc@usa.net>

	* Attribute, Node: Added Doxygen class comment block. Changed some 
	something * to something*.

2002-11-16  Murray Cumming  <murrayc@usa.net>

	* libxml++/node.[h|cc]: Added parameter names. Made const and non-const
	overloads of children() method.
	* libxml++/parsers/domparser.[h|cc]: Added const get_root_node() const
	overload.

2002-11-16  Christophe de Vienne <cdevienne@alphacent>
	* libxml++/parsers/*: renamed method Parser::parse to 
	Parser::parse_file

2002-11-16  Christophe de Vienne <cdevienne@alphacent>
	* libxml++/parsers/saxparser.[h|cc]: rewritten 
	SaxParser::parse(filename) and SaxParser::parse_memory(string). 
	They both use a SaxParser::parse()
	method. The parse_chunk and finish methods has been removed.
	* example/sax_parser/parser.cc: minor bugfix: the Attribute pointer
	was printed instead of the value.
	
2002-11-16  Christophe de Vienne <cdevienne@alphacent.com>
	* Property: has been renamed to Attribute. However, the "properties"
	token has been kept when speaking of all the attributes of a node,
	as in the libxml library.
	* node.cc: rewritten a few loops so they have a more 'c++' looking.
	rewritten some portions of code where an attribute is searched by name.

2002-11-15  Murray Cumming  <murrayc@usa.net>
	* Changed e.g. std::string &something to std::string& something,
	using regexxer.

2002-11-15  Christophe de Vienne <cdevienne@alphacent>
	* example/sax_parser/parser.cc: #included <iostream>

2002-11-15  Christophe de Vienne <cdevienne@alphacent>
	* libxml++/parsers/saxparser.cc: #included cstdarg instead of stdarg.h
	to follow the c++ standard. #included <iostream> to have std::cerr - it's
	needed on strict c++ compiler (g++ 3.2 for instance).
	* example/dom_parser/main.cc: #included <iostream>

2002-11-15  Murray Cumming  <murrayc@usa.net>

	* libxml++/parsers/saxparser.cc: #included stdarg.h - it seems to 
	be necessary with some compilers.

2002-11-15  Murray Cumming  <murrayc@usa.net>

	* DomParser:: Added get_encoding() and write() methods.
	* Removed Tree - Use DomParser instead.

2002-11-15  Murray Cumming  <murrayc@usa.net>

	* SaxParser now inherits from Parser, with parse() and parse_memory()
	methods.
	* Added example/sax_parser example, but the start_element callback 
	doesn't seem to be called.

2002-11-15  Murray Cumming  <murrayc@usa.net>

	* Parser, DomParser: Added parse_memory() method.
	* Node::children(): Removed bad early-optimisation hack - it returned
	a static function variable instead of returning by value. This meant 
	that >1 results of children() could not be used simultaneously. 
	For instance, this meant that it could not be called recursively. 

2002-11-12  Murray Cumming  <murrayc@usa.net>

	* Node, Property: Used explicit keyword on constructors.

2002-11-12  Murray Cumming  <murrayc@usa.net>

	* Added parsers directory.
	* Renamed Parser to SaxParser.
	* Added DomParser, intended as a replacement for Tree, but that has
	not yet been removed. I don't intend to implement the libxml-1 
	compatibility stuff.
	* Added examples directory structure, with one tiny dom_parser example.

2002-11-12  Christophe de Vienne <cdevienne@alphacent.com>
	* node.[h|cc]: name() method now return a reference.
	* Tree/Node: The readnode and writenode functions have been removed 
	and transfered somehow into Node as a new constructor and write(). 
	The libxml++-private.[h|cc] has been removed.

2002-11-12  Murray Cumming  <murrayc@usa.net>

	* Parser: It's no longer a templated type - to provide your own 
	callback implementations you can now just derive your own parser and 
	override the on_*() methods.
	
2002-11-12  Murray Cumming  <murrayc@usa.net>

	* Moved implementation into the .cc files.
        * Changed n, v and p parameter names to name, value and properties.

2002-11-12  Murray Cumming  <murrayc@usa.net>

	* Split the single xml.[h|cc] files into node, property, tree and 
	parser files, with a libxml++.h header file that includes them all.
	* Removed the XML prefixes from type names - we don't need it because
	we use a namespace now.
	* Placed typedefed lists and map inside their classes. For instance,
	XMLNodeList is now xmlpp::Node::NodeList.
	* Node::children(): Use !(n.empty()) instead of (n.length() == 0), for
	perfomance.
	* Tree: changed fn parameter names to filename.

2002-11-12  Christophe de Vienne <cdevienne@alphacent.com>
	* AUTHORS: Added Murray Cumming to the contributors

2002-11-08  Christophe de Vienne <cdevienne@alphacent.com>
	* libxml++/xml.cc: corrected _line initialisation in XMLNode::XMLNode(const XMLNode *from)

2002-11-08  Christophe de Vienne <cdevienne@alphacent.com>
	
	* libxml++/xml.cc: Test if doc encoding is not null before
	reading it (thanks to Marcel Bosc).
	
2002-11-05  Murray Cumming  <murrayc@usa.net>

	* Added docs/reference/. Run make in this directory to generate 
	reference documentation with doxygen.
	* libxml++/xml.h: Removed macros around namespace - all compilers 
	must now support namespaces.
	* libxml++/xml.[h|cc]: Replaced (void) with () - it's not necessary
	in C++.

2002-11-05  Murray Cumming  <murrayc@usa.net>

	* libxml++/Makefile.am and configure.in: Implemented shared library
	interface versioning.

2002-11-05  Murray Cumming  <murrayc@usa.net>

	* Put source code in libxml++ directory, ready for it to be split up
	into separate files. Client code should now include
	libxml++/xml++.h rather than just xml++.h.

2002-11-05  Murray Cumming  <murrayc@usa.net>

	* Headers are now installed in a versioned directory, to allow 
	coexistence with future major versions of libxml++. You may need to
	remove the previously installed xml++.h file.
	* Library name changed to libxml++-0.1, to be changed to libxml++-1.0 
	when libxml++ stabilizes its API. This is also to allow future versions
	to be parallel installed.
	* Added pkg-config file as a simpler and more maintainable alternative
	to the -config file and m4 script.

Version 0.14
	* 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++ 
	* Added method XMLNode::line() wich returns the line number of a non content node in the source file. 
	* Added encoding file support through XMLTree::encoding() and XMLTree::set_encoding() methods 
	* 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. 
	* libxml++ classes has been put in a separated namespace, libxmlpp. If you don't want namespace, just undefine the LIBXMLPP_USE_NAMESPACE
	* encoding and compression settings are now loaded at parsing of file/buffer.


Version O.12 to 0.13
	No Changelog.

Version O.11
	* Modified interface to allow for more complete coverage of possible uses of XML files.

Version O.10
	* Added SAX parser.

Version O.2 to 0.9
	No Changelog.

Version O.1
	* Original release.
