2003-02-15: 0.20: * Node::remove_child() now works. (Murray Cumming) * Added examples/dom_xpath. (Stefan Seefeld, Murray Cumming) 2003-02-08: 0.19: * The imlementation now uses libxml's API more instead of reimplementing data structures. (Stefan Seefeld, Murray Cumming) * Attribute::get_value() use libxml's API properly, so it now respects the DTD. (Stefan Seefeld) * Node: Added get_path() and find() for xpath lookup. (Stefan Seefeld) * Attribute now inherits from Node, as required by the find() method. (Stefan Seefeld) * Added Document class. (Stefan Seefeld) * Added cobj() accessors, in case you need to use unwrapped libxml API. (Murray Cumming) * SaxParser: Added CDATA section handler. fixed a potential buffer overflow problem (Valentin Rusu) 2003-01-09: 0.18: * big API change for nodes handling : the different types of node now herit from a base Node class. This, among other advantages, avoids previous ambiguity on content() acessors meaning. * little bugfixes and improvements in SaxParser. 2002-12-10: 0.17: * properties are now called attributes. * it is now possible to throw exceptions from callback methods in SaxParser. * parsers can parse from a stream. * memory leak fixed in SaxParser. * configure check for libxml2 2.4.1 at least. * bug fixes. 2002-11-20: 0.16: * Examples added. * Xml type name prefix removed. * Tree replaced with DomParser. * Parser renamed to SaxParser. * Property renamed to Attribute * Errors thrown as exceptions. * Both parsers can parse from either file or memory. * Simplified memory management - no more returning of static temporaries. * set_*() methods return void.