2015-10-05  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	2.91.1

2015-10-01  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Inherit NonCopyable publicly

	Inherit NonCopyable publicly instead of privatly. It doesn't really matter,
	but private inheritance is unusual. There's no good reason to use it for
	NonCopyable. Bug #754673.

2015-10-01  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Element: Rename set/get_child_text() to set/get_first_child_text()

	* libxml++/nodes/element.[h|cc]: Rename set/get_child_text() to
	set/get_first_child_text() by analogy with Node::get_first_child().
	* examples/dom_build/main.cc:
	* examples/dom_xpath/main.cc:
	* examples/import_node/main.cc: Replace set/get_child_text() by
	set/get_first_child_text(). Bug #754673.

2015-10-01  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Remove some unnecessary #include and reinterpret_cast

2015-10-01  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Move some code from DtdValidator to Dtd

	* libxml++/dtd.[h|cc]:
	* libxml++/validators/dtdvalidator.[h|cc]: Move the code for parsing a DTD
	from xmlpp::DtdValidator to xmlpp::Dtd. The code is arranged like that in
	the other validators. Bug #754673.

2015-09-29  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Node: Replace remove_child() by remove_node()

	* libxml++/nodes/node.[h|cc]: Replace remove_child() by the static
	remove_node(). Improve the documentation of remove_node() and the destructor.
	Bug #754673

2015-09-29  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Use std::string for filenames

	Since filenames are not necessarily UTF-8 encoded, store them in std::strings
	instead of Glib::ustrings. Bug #754673.

2015-09-28  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Document: Make some methods non-virtual

	* libxml++/document.h: Make some private methods non-virtual. Bug #754673.

2015-09-28  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Attribute and subclasses: Move some methods

	* libxml++/attribute.[h|cc]: Remove get_name(). Make get_value() virtual.
	Move set_value() and cobj() to AttributeNode.
	* libxml++/attributedeclaration.h: get_value() is overridden.
	* libxml++/attributenode.[h|cc]: Add get_value(), set_value(), cobj().
	Bug #754673.

2015-09-28  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Move add_child() methods from Node to Element

	* libxml++/nodes/element.[h|cc]:
	* libxml++/nodes/node.[h|cc]: Move all add_child*() methods to Element and
	rename them to add_child_element*().
	* examples/dom_build/main.cc:
	* examples/dom_update_namespace/main.cc:
	* examples/dtdvalidation/main.cc:
	* examples/sax_parser_build_dom/svgparser.cc: Change add_child() to
	add_child_element().  Bug #754673.

2015-09-24  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Validators: Move _xmlValidCtxt pointer to DtdValidator

	* libxml++/validators/validator.[h|cc]:
	* libxml++/validators/dtdvalidator.[h|cc]: Rename _xmlValidCtxt* valid_ to
	context_ and move it from Validator to DtdValidator.
	Rename initialize_valid() to initialize_context().
	* libxml++/validators/schemavalidatorbase.[h|cc]:
	* libxml++/validators/relaxngvalidator.[h|cc]:
	* libxml++/validators/xsdvalidator.[h|cc]: Rename initialize_valid() to
	initialize_context(). Bug #754673.

2015-09-24  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Validators: Change which methods are virtual, add override

	* libxml++/validators/validator.h: Add some pure virtual methods.
	* libxml++/validators/dtdvalidator.[h|cc]: Only overridden methods are virtual.
	operator bool() is explicit and overridden. validate() returns void.
	* libxml++/validators/schemavalidatorbase.h: Replace operator const void*()
	by explicit operator bool(). Remove typedef BoolExpr.
	* libxml++/validators/relaxngvalidator.[h|cc]:
	* libxml++/validators/xsdvalidator.[h|cc]: Replace operator const void*()
	by explicit operator bool(). Add override. Bug #754673.

2015-09-23  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	SaxParser: Start each parsing with a new Document for entity resolution

	* libxml++/parsers/saxparser.[h|cc]: Make entity_resolver_doc_ a unique_ptr.
	Create a new Document in an overridden initialize_context(). Bug #754673.

2015-09-23  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	DomParser, SaxParser: Make some methods non-virtual

	* libxml++/parsers/domparser.h: Make parse_context() non-virtual.
	* libxml++/parsers/saxparser.h: Make parse_chunk(), finish_chunk_parsing()
	and parse() non-virtual. Bug #754673.

2015-09-23  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	xmlpp::exception and its subclasses: Remove Raise() and Clone()

	Remove the virtual methods Raise() and Clone() from xmlpp::exception and
	its subclasses. These methods are not needed now that std::exception_ptr
	is used for storing and later rethrowing an exception. Bug #754673.

2015-09-22  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Remove the deprecated Schema and SchemaValidator classes

	* libxml++/schema.[h|cc]:
	* libxml++/validators/schemavalidator.[h|cc]: Remove these files.
	* examples/schemavalidation/main.cc: Remove test of SchemaValidator.
	* libxml++/filelist.am: Remove schema.h and schemavalidator.h.
	* libxml++/libxml++.h: Remove schemavalidator.h. Bug #754673.

2015-09-22  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Remove wrapped_exception

	* libxml++/exceptions/wrapped_exception.[h|cc]: Remove these files.
	* libxml++/filelist.am: Remove wrapped_exception.h.
	* libxml++/validators/validator.[h|cc]:
	* libxml++/parsers/parser.[h|cc]: Replace handleException(const exception&)
	by handle_exception(). Replace exception* exception_ by
	std::exception_ptr exception_ptr_.
	* libxml++/parsers/saxparser.cc: Call handle_exception() instead of
	handleException(). Bug #754673.

2015-09-21  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Parser: Replace ExtraParserData by private Pimpl struct

	* libxml++/parsers/parser.[h|cc]: Replace the ExtraParserData struct in
	parser.cc by a private Parser::Pimpl struct. Move some protected data to
	Pimpl. Add pure virtual parse_memory_raw(). Default in DOM parser is to
	throw both parse errors and validity errors in exceptions.
	* libxml++/parsers/domparser.h:
	* libxml++/parsers/saxparser.h: Add override to parse_memory_raw().
	* libxml++/parsers/saxparser.cc: Call set_throw_messages(false) in ctor.
	Bug #754673.

2015-09-17  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Replace remaining auto_ptr by unique_ptr

	Replace the deprecated std::auto_ptr by std::unique_ptr in header files.
	Bug #753123.

2015-09-17  Knut Aksel Røysland  <knutroy@ifi.uio.no>

	Element::get_attribute(): Propagate const qualifier to Attribute

	* libxml++/nodes/element.[h|cc]: Let the const version of get_attribute()
	return a const Attribute*. Add a non-const version. Bug #632524.

2015-09-17  Knut Aksel Røysland  <knutroy@ifi.uio.no>

	Document::get_root_node(): Propagate const qualifier to root Element

	* libxml++/document.[h|cc]: Let the const version of get_root_node() return
	a const Element*. Add a non-const version.
	* examples/sax_parser_build_dom/main.cc:
	* examples/sax_parser_build_dom/svgdocument.[h|cc]: Add some const.
	Bug #632522.

2015-09-17  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Replace xmlpp::NodeSet by xmlpp::Node::NodeSet

	* libxml++/nodes/node.[h|cc]: Declare the NodeSet and const_NodeSet typedefs
	inside class Node. That's consistent with how Node::NodeList, Node::PrefixNsMap
	and Element::AttributeList are declared.

2015-09-17  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Element::get_attributes(): Propagate const qualifier to attributes

	* libxml++/nodes/element.[h|cc]: Add const_AttributeList. The const version
	of get_attributes() returns const_AttributeList instead of const AttributeList.
	* examples/dom_parser/main.cc:
	* examples/dom_xinclude/main.cc: Use "for(const auto&". Bug #338907.

2015-09-17  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Node::find(): Propagate const qualifier to found nodes

	* libxml++/nodes/node.[h|cc]: Add const_NodeSet. Add non-const versions of
	find() and let the const versions return const_NodeSet.
	* examples/dom_xpath/main.cc: Add some const. Bug #338907.

2015-09-17  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Node::get_children(): Propagate const qualifier to children

	* libxml++/nodes/node.[h|cc]: Add const_NodeList. The const version of
	get_children() returns const_NodeList instead of const NodeList.
	* examples/dom_parser/main.cc: Remove unused variable.  Bug #338907.

2015-09-14  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Prepare for an ABI/API-breaking release

	* .gitignore: 2.6 -> *.
	* NEWS: Note that the next release will break ABI.
	* README: 2.6 -> 3.0
	* configure.ac: Version 2.90.0, 2.6 -> 3.0, reset LIBXMLXX_SO_VERSION to 0:0:0.
	* docs/manual/libxml++_without_code.xml: 2.6 -> 3.0
	* libxml++/libxml++.h: 2.6 -> 3.0
	* libxml++-2.6.pc.in: Rename to libxml++.pc.in.
	* libxml++.pc.in: Rename from libxml++-2.6.pc.in. Bug #754673.

	The libxml++-2-40 branch is intended for future 2.40.x releases with the
	libxml++-2.6 ABI.