This is the UI C++ wrapper for libxml.

Abstract
========

"ui-gxmlcpp" is a high-level C++ wrapper around libxml2 and
libxslt. It might be a choice for if your needs are some subset
of:

 - XML DOM Tree parsing.
 - Basic read/write support from/to trees via XPath.
 - Serialization.
 - Stylesheets and stylesheet translation support.
 - XMLSchema and RelaxNG validation.

If your needs are "lower-level" (e.g., proper DOM tree API
support or SAX parsing), "gdome2" or "xml++" will be the right
choices.

Upgrading from 1.0
==================

Update to compatibility code
----------------------------

This should be the first step if you upgrade your code. Source code
upgrading should be rather trivial, and everything is expected to work
as before.

Preliminaries
.............
You might want to use s.th. like

AC_DEFINE(UI_GXMLCPP_IGNORE_DEPRECATED, [], [Remove this and update your code, moron!])

to get rid of the include warnings -- but, rather just update your
code to the new interface. You will have to link against both,
ui-gxmlcpp and ui-gxmlcpp-compat-1.0.

Exceptions
..........

There is no XMLException.hpp include any more. Just remove those
lines.

All catch() blocks must be updated. If you did catch a specific
exception, replace it with s.th like

catch (UI::GXML::CLASS::Exception const & e)
{
	std::cerr << e.what() << std::endl; // or whatever
}

You can also just use a generic catch:

catch (UI::GXML::Exception const & e)
{
	std::cerr << e.what() << std::endl; // or whatever
}


Update to the new interface
---------------------------

The new interface is rather a rewrite. Try to get smart thru the
doxygen docs ;).

However, some often used things can be updated 1 to 1:

Replacing XMLTree with Tree
...........................
OLD                            NEW
getValue()                     getContent().
getXML(xpath)                  dump(xpath).
getSiblingXML(xpath)           dump(xpath + "/*").
addTag(...)                    addChild(...)
