+2015-10-30 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
+
+ 2.91.2
+
+2015-10-29 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
+
+ Work around some platforms' lack of support for std::exception_ptr
+
+ * libxml++/exceptions/exception.[cc|h]:
+ * libxml++/exceptions/internal_error.[cc|h]:
+ * libxml++/exceptions/parse_error.[cc|h]:
+ * libxml++/exceptions/validity_error.[cc|h]: Reintroduce Raise() and Clone(),
+ now renamed to raise() and clone().
+ * libxml++/exceptions/wrapped_exception.[cc|h]: Reintroduced files, now
+ with the wrapped_exception class declared only if LIBXMLXX_HAVE_EXCEPTION_PTR
+ is defined.
+ * libxml++/filelist.am: Add wrapped_exception.h.
+ * libxml++/parsers/parser.[cc|h]: Replace std::exception_ptr exception_ptr_
+ by std::unique_ptr<xmlpp::exception> exception_.
+ * libxml++/parsers/saxparser.cc: exception_ptr_ -> exception_
+ * libxml++/parsers/saxparser.h: Note in the class description that some
+ exceptions are replaced by xmlpp::exception if std::exception_ptr is not
+ supported.
+ * libxml++/validators/validator.[cc|h]: Replace std::exception_ptr
+ exception_ptr_ by std::unique_ptr<xmlpp::exception> exception_.
+ * examples/sax_exception/myparser.[cc|h]: Reintroduce Raise() and Clone(),
+ now renamed to raise() and clone().
+ * tests/saxparser_chunk_parsing_inconsistent_state/main.cc:
+ * tests/saxparser_parse_double_free/main.cc:
+ * tests/saxparser_parse_stream_inconsistent_state/main.cc: Catch
+ xmlpp::exception, if LIBXMLXX_HAVE_EXCEPTION_PTR is not defined.
+ Bug #757042.
+
+ The substitution of exception_ for exception_ptr_ in Parser and Validator
+ breaks ABI. The ABI of libxml++ 3.x has not yet been frozen.
+
+ Thanks to Daniel Trebbien <dtrebbien@gmail.com>, who supplied a patch for
+ libxml++ 2.40.
+
+2015-10-27 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
+
+ Add LIBXMLXX_HAVE_EXCEPTION_PTR
+
+ * build/.gitignore: New file.
+ * build/cxx_std.m4: New file with LIBXMLXX_CXX_HAS_EXCEPTION_PTR
+ autoconf macro. Defines LIBXMLXX_HAVE_EXCEPTION_PTR if std::exception_ptr
+ exists.
+ * .gitignore: Move some lines to build/.gitignore.
+ * configure.ac: Store some build files in the build directory, like most mm
+ packages. Don't use the macros directory.
+ * libxml++config.h.in: Add LIBXMLXX_HAVE_EXCEPTION_PTR.
+ * Makefile.am:
+ * docs/Makefile.am: macros -> build. Bug #757042.
+
+ Thanks to Daniel Trebbien <dtrebbien@gmail.com>, who supplied a patch with
+ the test code in LIBXMLXX_HAVE_EXCEPTION_PTR.
+
+2015-10-12 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
+
+ Remove LIBXMLCPP_EXCEPTIONS_ENABLED
+
+ * configure.ac:
+ * libxml++config.h.in: Remove LIBXMLCPP_EXCEPTIONS_ENABLED. Bug #754673.
+
+2015-10-09 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
+
+ Still more use of nullptr instead of 0
+
+2015-10-09 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
+
+ Still more use of nullptr instead of 0
+
+2015-10-08 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
+
+ More use of nullptr instead of 0
+
+ Bug #756166 (also the previous commit)
+
+2015-10-08 Gaurav Gupta <g.gupta@samsung.com>
+
+ Use nullptr instead of 0 at missing places - C++-11
+
+2015-10-08 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
+
+ Remove some TODO comments
+
+2015-10-08 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
+
+ Add xmlpp::format_printf_message()
+
+ * libxml++/exceptions/exception.[h|cc]: Add format_printf_message().
+ * libxml++/parsers/parser.cc:
+ * libxml++/parsers/saxparser.cc:
+ * libxml++/validators/validator.cc: Call format_printf_message().
+
2015-10-05 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
2.91.1
#endif // APSTUDIO_INVOKED
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 2,91,1,1
- PRODUCTVERSION 2,91,1,1
+ FILEVERSION 2,91,2,1
+ PRODUCTVERSION 2,91,2,1
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
BEGIN
VALUE "CompanyName", "The libxml++ development team (see AUTHORS)"
VALUE "FileDescription", "The official C++ wrapper for libxml2"
- VALUE "FileVersion", "2.91.1"
+ VALUE "FileVersion", "2.91.2"
VALUE "LegalCopyright", "Distribution is under the LGPL (see COPYING)"
VALUE "OriginalFilename", "libxml++-2.6"
VALUE "ProductName", "libxml++"
- VALUE "ProductVersion", "2.91.1"
+ VALUE "ProductVersion", "2.91.2"
END
END
BLOCK "VarFileInfo"
/* Define to omit deprecated API from the library. */
/* #undef LIBXMLXX_DISABLE_DEPRECATED */
-/* This is always set. This is only for backwards compatibility. */
-#define LIBXMLCPP_EXCEPTIONS_ENABLED 1
+/* Defined if the C++ library supports std::exception_ptr. */
+#define LIBXMLXX_HAVE_EXCEPTION_PTR 1
/* Major version number of libxml++. */
#define LIBXMLXX_MAJOR_VERSION 2
#define LIBXMLXX_MINOR_VERSION 91
/* Micro version number of libxml++. */
-#define LIBXMLXX_MICRO_VERSION 1
+#define LIBXMLXX_MICRO_VERSION 2
#ifdef GLIBMM_DLL
#if defined(LIBXMLPP_BUILD) && defined(_WINDLL)
## This file is part of libxml++.
-ACLOCAL_AMFLAGS = -I macros ${ACLOCAL_FLAGS}
+ACLOCAL_AMFLAGS = -I build ${ACLOCAL_FLAGS}
DISTCHECK_CONFIGURE_FLAGS = --enable-warnings=fatal
if ENABLE_DOCUMENTATION
DISTCLEANFILES = MSVC_Net2010/libxml++/libxml++config.h
# Optional: auto-generate the ChangeLog file from the git log on make dist
-include $(top_srcdir)/macros/dist-changelog.am
+include $(top_srcdir)/build/dist-changelog.am
build_triplet = @build@
host_triplet = @host@
DIST_COMMON = $(srcdir)/MSVC_Net2010/filelist.am \
- $(top_srcdir)/macros/dist-changelog.am INSTALL NEWS README \
+ $(top_srcdir)/build/dist-changelog.am INSTALL NEWS README \
AUTHORS ChangeLog $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(top_srcdir)/configure $(am__configure_deps) \
$(srcdir)/config.h.in $(srcdir)/libxml++config.h.in \
$(top_srcdir)/docs/reference/Doxyfile.in \
$(top_srcdir)/MSVC_Net2010/libxml++/libxml++.rc.in \
$(srcdir)/libxml++.pc.in $(dist_noinst_SCRIPTS) \
- $(dist_noinst_DATA) COPYING macros/compile macros/config.guess \
- macros/config.sub macros/depcomp macros/install-sh \
- macros/missing macros/ltmain.sh $(top_srcdir)/macros/compile \
- $(top_srcdir)/macros/config.guess \
- $(top_srcdir)/macros/config.sub \
- $(top_srcdir)/macros/install-sh $(top_srcdir)/macros/ltmain.sh \
- $(top_srcdir)/macros/missing
+ $(dist_noinst_DATA) COPYING build/compile build/config.guess \
+ build/config.sub build/depcomp build/install-sh build/missing \
+ build/ltmain.sh $(top_srcdir)/build/compile \
+ $(top_srcdir)/build/config.guess \
+ $(top_srcdir)/build/config.sub $(top_srcdir)/build/install-sh \
+ $(top_srcdir)/build/ltmain.sh $(top_srcdir)/build/missing
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/macros/libtool.m4 \
- $(top_srcdir)/macros/ltoptions.m4 \
- $(top_srcdir)/macros/ltsugar.m4 \
- $(top_srcdir)/macros/ltversion.m4 \
- $(top_srcdir)/macros/lt~obsolete.m4 $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/build/cxx_std.m4 \
+ $(top_srcdir)/build/libtool.m4 \
+ $(top_srcdir)/build/ltoptions.m4 \
+ $(top_srcdir)/build/ltsugar.m4 \
+ $(top_srcdir)/build/ltversion.m4 \
+ $(top_srcdir)/build/lt~obsolete.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-ACLOCAL_AMFLAGS = -I macros ${ACLOCAL_FLAGS}
+ACLOCAL_AMFLAGS = -I build ${ACLOCAL_FLAGS}
DISTCHECK_CONFIGURE_FLAGS = --enable-warnings=fatal
@ENABLE_DOCUMENTATION_FALSE@doc_subdirs =
@ENABLE_DOCUMENTATION_TRUE@doc_subdirs = docs
.SUFFIXES:
am--refresh: Makefile
@:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/MSVC_Net2010/filelist.am $(top_srcdir)/macros/dist-changelog.am $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/MSVC_Net2010/filelist.am $(top_srcdir)/build/dist-changelog.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
esac;
-$(srcdir)/MSVC_Net2010/filelist.am $(top_srcdir)/macros/dist-changelog.am:
+$(srcdir)/MSVC_Net2010/filelist.am $(top_srcdir)/build/dist-changelog.am:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
+2.91.2 (unstable):
+
+* Remove the preprocessor constant LIBXMLCPP_EXCEPTIONS_ENABLED.
+ It was always 1.
+
+* Add a config-time test for support of std::exception_ptr. Don't try to
+ use std::exception_ptr on a system where it does not exist.
+ This includes re-implementing the wrapped_exception class and the
+ raise() and clone() methods in xmlpp::exception and its subclasses.
+ (Daniel Trebbien, Kjell Ahlstedt) Bug #757042 (Michael Biebl)
+
+* The ABI is not identical to that of libxml++ 2.91.1.
+ There may be more changes in ABI and/or API before the first stable
+ libxml++-3.0 release.
+
2.91.1 (unstable):
* Renamed ABI from libxml++-2.6 to libxml++-3.0.
AC_MSG_RESULT([$mm_all_flags])[]dnl
])
-m4_include([macros/libtool.m4])
-m4_include([macros/ltoptions.m4])
-m4_include([macros/ltsugar.m4])
-m4_include([macros/ltversion.m4])
-m4_include([macros/lt~obsolete.m4])
+m4_include([build/cxx_std.m4])
+m4_include([build/libtool.m4])
+m4_include([build/ltoptions.m4])
+m4_include([build/ltsugar.m4])
+m4_include([build/ltversion.m4])
+m4_include([build/lt~obsolete.m4])
--- /dev/null
+## Copyright (C) 2015 The libxml++ development team
+##
+## This file is part of libxml++.
+##
+## This library is free software; you can redistribute it and/or
+## modify it under the terms of the GNU Lesser General Public
+## License as published by the Free Software Foundation; either
+## version 2.1 of the License, or (at your option) any later version.
+##
+## This library is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+## Lesser General Public License for more details.
+##
+## You should have received a copy of the GNU Lesser General Public
+## License along with this library. If not, see <http://www.gnu.org/licenses/>.
+
+## LIBXMLXX_CXX_HAS_EXCEPTION_PTR()
+##
+## Test whether std::exception_ptr, std::current_exception() and
+## std::rethrow_exception() are defined.
+##
+## On success, #define LIBXMLXX_HAVE_EXCEPTION_PTR to 1.
+##
+AC_DEFUN([LIBXMLXX_CXX_HAS_EXCEPTION_PTR],
+[
+ AC_CACHE_CHECK(
+ [whether C++ library supports std::exception_ptr],
+ [libxmlxx_cv_cxx_has_exception_ptr],
+ [
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+ [[
+ #include <exception>
+ ]],[[
+ try
+ {
+ throw "custom error";
+ }
+ catch(...)
+ {
+ std::exception_ptr ep = std::current_exception();
+ std::rethrow_exception(ep);
+ }
+ ]])],
+ [libxmlxx_cv_cxx_has_exception_ptr='yes'],
+ [libxmlxx_cv_cxx_has_exception_ptr='no']
+ )
+ ])
+
+ AS_IF([test "x${libxmlxx_cv_cxx_has_exception_ptr}" = 'xyes'],
+ [AC_DEFINE([LIBXMLXX_HAVE_EXCEPTION_PTR], [1], [Defined if the C++ library supports std::exception_ptr.])])
+])
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
-/* This is always set. This is only for backwards compatibility. */
-#undef LIBXMLCPP_EXCEPTIONS_ENABLED
-
/* Define to omit deprecated API from the library. */
#undef LIBXMLXX_DISABLE_DEPRECATED
+/* Defined if the C++ library supports std::exception_ptr. */
+#undef LIBXMLXX_HAVE_EXCEPTION_PTR
+
/* Major version number of libxml++. */
#undef LIBXMLXX_MAJOR_VERSION
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for libxml++ 2.91.1.
+# Generated by GNU Autoconf 2.69 for libxml++ 2.91.2.
#
# Report bugs to <https://bugzilla.gnome.org/enter_bug.cgi?product=libxml%2B%2B>.
#
# Identity of this package.
PACKAGE_NAME='libxml++'
PACKAGE_TARNAME='libxml++'
-PACKAGE_VERSION='2.91.1'
-PACKAGE_STRING='libxml++ 2.91.1'
+PACKAGE_VERSION='2.91.2'
+PACKAGE_STRING='libxml++ 2.91.2'
PACKAGE_BUGREPORT='https://bugzilla.gnome.org/enter_bug.cgi?product=libxml%2B%2B'
PACKAGE_URL='http://libxmlplusplus.sourceforge.net/'
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures libxml++ 2.91.1 to adapt to many kinds of systems.
+\`configure' configures libxml++ 2.91.2 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of libxml++ 2.91.1:";;
+ short | recursive ) echo "Configuration of libxml++ 2.91.2:";;
esac
cat <<\_ACEOF
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-libxml++ configure 2.91.1
+libxml++ configure 2.91.2
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by libxml++ $as_me 2.91.1, which was
+It was created by libxml++ $as_me 2.91.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
ac_aux_dir=
-for ac_dir in macros "$srcdir"/macros; do
+for ac_dir in build "$srcdir"/build; do
if test -f "$ac_dir/install-sh"; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install-sh -c"
fi
done
if test -z "$ac_aux_dir"; then
- as_fn_error $? "cannot find install-sh, install.sh, or shtool in macros \"$srcdir\"/macros" "$LINENO" 5
+ as_fn_error $? "cannot find install-sh, install.sh, or shtool in build \"$srcdir\"/build" "$LINENO" 5
fi
# These three variables are undocumented and unsupported,
# Define the identity of the package.
PACKAGE='libxml++'
- VERSION='2.91.1'
+ VERSION='2.91.2'
# Some tools Automake needs.
LIBXMLXX_MODULE_NAME='libxml++-3.0'
-LIBXMLXX_VERSION='2.91.1'
+LIBXMLXX_VERSION='2.91.2'
LIBXMLXX_API_VERSION='3.0'
$as_echo "#define LIBXMLXX_MINOR_VERSION 91" >>confdefs.h
-LIBXMLXX_MICRO_VERSION=1
+LIBXMLXX_MICRO_VERSION=2
-$as_echo "#define LIBXMLXX_MICRO_VERSION 1" >>confdefs.h
+$as_echo "#define LIBXMLXX_MICRO_VERSION 2" >>confdefs.h
done
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ library supports std::exception_ptr" >&5
+$as_echo_n "checking whether C++ library supports std::exception_ptr... " >&6; }
+if ${libxmlxx_cv_cxx_has_exception_ptr+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #include <exception>
+
+int
+main ()
+{
+
+ try
+ {
+ throw "custom error";
+ }
+ catch(...)
+ {
+ std::exception_ptr ep = std::current_exception();
+ std::rethrow_exception(ep);
+ }
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ libxmlxx_cv_cxx_has_exception_ptr='yes'
+else
+ libxmlxx_cv_cxx_has_exception_ptr='no'
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libxmlxx_cv_cxx_has_exception_ptr" >&5
+$as_echo "$libxmlxx_cv_cxx_has_exception_ptr" >&6; }
+
+ if test "x${libxmlxx_cv_cxx_has_exception_ptr}" = 'xyes'; then :
+
+$as_echo "#define LIBXMLXX_HAVE_EXCEPTION_PTR 1" >>confdefs.h
+
+fi
+
+
# Extract the first word of "perl", so it can be a program name with args.
set dummy perl; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
See \`config.log' for more details" "$LINENO" 5; }
fi
-# This is just defined to avoid breaking old code:
-
-$as_echo "#define LIBXMLCPP_EXCEPTIONS_ENABLED 1" >>confdefs.h
-
-
ac_config_files="$ac_config_files Makefile libxml++/Makefile examples/Makefile tests/Makefile docs/Makefile docs/reference/Doxyfile MSVC_Net2010/libxml++/libxml++.rc ${LIBXMLXX_MODULE_NAME}.pc:libxml++.pc.in"
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by libxml++ $as_me 2.91.1, which was
+This file was extended by libxml++ $as_me 2.91.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-libxml++ config.status 2.91.1
+libxml++ config.status 2.91.2
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
## This file is part of libxml++.
-AC_INIT([libxml++], [2.91.1],
+AC_INIT([libxml++], [2.91.2],
[https://bugzilla.gnome.org/enter_bug.cgi?product=libxml%2B%2B],
[libxml++], [http://libxmlplusplus.sourceforge.net/])
AC_PREREQ([2.59])
AC_CONFIG_SRCDIR([libxml++/libxml++.h])
-AC_CONFIG_AUX_DIR([macros])
-AC_CONFIG_MACRO_DIR([macros])
+AC_CONFIG_AUX_DIR([build])
+AC_CONFIG_MACRO_DIR([build])
AC_CONFIG_HEADERS([config.h libxml++config.h])
AM_INIT_AUTOMAKE([1.9 -Wno-portability dist-bzip2 no-define nostdinc subdir-objects])
AC_LANG([C++])
AC_CHECK_HEADERS([string list map], [], [AC_MSG_ERROR([required headers not found])])
+LIBXMLXX_CXX_HAS_EXCEPTION_PTR
MM_ARG_ENABLE_DOCUMENTATION
MM_ARG_WITH_TAGFILE_DOC([libstdc++.tag], [mm-common-libstdc++])
AC_ARG_VAR([DB2LATEX], [path to db2latex utility])
MM_CHECK_PERL()
-# This is just defined to avoid breaking old code:
-AC_DEFINE([LIBXMLCPP_EXCEPTIONS_ENABLED],[1], [This is always set. This is only for backwards compatibility.])
-
AC_CONFIG_FILES([Makefile
libxml++/Makefile
examples/Makefile
doc_input = $(addprefix $(top_srcdir)/libxml++/,$(h_sources_public))
# Sets dist_noinst_DATA, DISTCLEANFILES and MAINTAINERCLEANFILES
-include $(top_srcdir)/macros/doc-reference.am
+include $(top_srcdir)/build/doc-reference.am
manual/libxml++.xml: manual/libxml++_without_code.xml manual/insert_example_code.pl
$(AM_V_GEN)$(PERL) -- manual/insert_example_code.pl ../examples $< >$@
build_triplet = @build@
host_triplet = @host@
DIST_COMMON = $(top_srcdir)/libxml++/filelist.am \
- $(top_srcdir)/macros/doc-reference.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/build/doc-reference.am $(srcdir)/Makefile.in \
$(srcdir)/Makefile.am $(dist_noinst_SCRIPTS) \
$(am__dist_noinst_DATA_DIST) $(dist_reference_DATA)
subdir = docs
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/macros/libtool.m4 \
- $(top_srcdir)/macros/ltoptions.m4 \
- $(top_srcdir)/macros/ltsugar.m4 \
- $(top_srcdir)/macros/ltversion.m4 \
- $(top_srcdir)/macros/lt~obsolete.m4 $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/build/cxx_std.m4 \
+ $(top_srcdir)/build/libtool.m4 \
+ $(top_srcdir)/build/ltoptions.m4 \
+ $(top_srcdir)/build/ltsugar.m4 \
+ $(top_srcdir)/build/ltversion.m4 \
+ $(top_srcdir)/build/lt~obsolete.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
exceptions/exception.h \
exceptions/parse_error.h \
exceptions/validity_error.h \
- exceptions/internal_error.h
+ exceptions/internal_error.h \
+ exceptions/wrapped_exception.h
h_io_sources_public = \
io/istreamparserinputbuffer.h \
all: all-am
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/libxml++/filelist.am $(top_srcdir)/macros/doc-reference.am $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/libxml++/filelist.am $(top_srcdir)/build/doc-reference.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(top_srcdir)/libxml++/filelist.am $(top_srcdir)/macros/doc-reference.am:
+$(top_srcdir)/libxml++/filelist.am $(top_srcdir)/build/doc-reference.am:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
</div>
<div class="sect1">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="idp89418928"></a>UTF-8 and Glib::ustring</h2></div></div></div>
+<a name="idp89420752"></a>UTF-8 and Glib::ustring</h2></div></div></div>
<p>The libxml++ API takes, and gives, strings in the UTF-8 Unicode encoding, which can support all known languages and locales. This choice was made because, of the encodings that have this capability, UTF-8 is the most commonly accepted choice. UTF-8 is a multi-byte encoding, meaning that some characters use more than 1 byte. But for compatibility, old-fashioned 7-bit ASCII strings are unchanged when encoded as UTF-8, and UTF-8 strings do not contain null bytes which would cause old code to misjudge the number of bytes. For these reasons, you can store a UTF-8 string in a std::string object. However, the std::string API will operate on that string in terms of bytes, instead of characters.</p>
<p>Because Standard C++ has no string class that can fully handle UTF-8, libxml++ uses the Glib::ustring class from the glibmm library. Glib::ustring has almost exactly the same API as std::string, but methods such as length() and operator[] deal with whole UTF-8 characters rather than raw bytes.</p>
<p>There are implicit conversions between std::string and Glib::ustring, so you can use std::string wherever you see a Glib::ustring in the API, if you really don't care about any locale other than English. However, that is unlikely in today's connected world.</p>
</div>
<div class="sect1">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="idp89423216"></a>Compilation and Linking</h2></div></div></div>
+<a name="idp89425040"></a>Compilation and Linking</h2></div></div></div>
<p>To use libxml++ in your application, you must tell the compiler where to find the include headers and where to find the libxml++ library. libxml++ provides a pkg-config .pc file to make this easy. For instance, the following command will provide the necessary compiler options:
<span class="command"><strong>pkg-config libxml++-3.0 --cflags --libs</strong></span>
</p>
</div>
<div class="sect1">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="idp84222080"></a>SAX Parser</h2></div></div></div>
+<a name="idp89461168"></a>SAX Parser</h2></div></div></div>
<p>The SAX (Simple API for XML) parser presents each node of the XML document in sequence. So when you process one node, you must have already stored information about any relevant previous nodes, and you have no information at that time about subsequent nodes. The SAX parser uses less memory than the DOM parser and it is a suitable abstraction for documents that can be processed sequentially rather than as a whole.</p>
<p>By using the <code class="literal">parse_chunk()</code> method instead of <code class="literal">parse()</code>, you can even parse parts of the XML document before you have received the whole document.</p>
<p>As shown in the example, you should derive your own class from SaxParser and override some of the virtual methods. These "handler" methods will be called while the document is parsed.</p>
<div class="sect2">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idp84226192"></a>Example</h3></div></div></div>
+<a name="idp89465008"></a>Example</h3></div></div></div>
<p>This example shows how the handler methods are called during parsing.</p>
<p><a class="ulink" href="http://git.gnome.org/browse/libxml++/tree/examples/sax_parser" target="_top">Source Code</a></p>
<p>File: myparser.h
</div>
<div class="sect1">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="idp89483584"></a>TextReader Parser</h2></div></div></div>
+<a name="idp89476944"></a>TextReader Parser</h2></div></div></div>
<p>Like the SAX parser, the TextReader parser is suitable for sequential parsing, but instead of implementing handlers for specific parts of the document, it allows you to detect the current node type, process the node accordingly, and skip forward in the document as much as necessary. Unlike the DOM parser, you may not move backwards in the XML document. And unlike the SAX parser, you must not waste time processing nodes that do not interest you. </p>
<p>All methods are on the single parser instance, but their result depends on the current context. For instance, use <code class="literal">read()</code> to move to the next node, and <code class="literal">move_to_element()</code> to navigate to child nodes. These methods will return false when no more nodes are available. Then use methods such as <code class="literal">get_name()</code> and <code class="literal">get_value()</code> to examine the elements and their attributes.</p>
<div class="sect2">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idp89488224"></a>Example</h3></div></div></div>
+<a name="idp89481584"></a>Example</h3></div></div></div>
<p>This example examines each node in turn, then moves to the next node.</p>
<p><a class="ulink" href="http://git.gnome.org/browse/libxml++/tree/examples/textreader" target="_top">Source Code</a></p>
<p>File: main.cc
<div class="toc">
<p><b>Table of Contents</b></p>
<ul class="toc">
-<li><span class="sect1"><a href="chapter-introduction.html#idp84303280">Installation</a></span></li>
+<li><span class="sect1"><a href="chapter-introduction.html#idp84449760">Installation</a></span></li>
<li><span class="sect1"><a href="ch01s02.html">UTF-8 and Glib::ustring</a></span></li>
<li><span class="sect1"><a href="ch01s03.html">Compilation and Linking</a></span></li>
</ul>
<p>But libxml++ was created mainly to fill the need for an API-stable and ABI-stable C++ XML parser which could be used as a shared library dependency by C++ applications that are distributed widely in binary form. That means that installed applications will not break when new versions of libxml++ are installed on a user's computer. Gradual improvement of the libxml++ API is still possible via non-breaking API additions, and new independent versions of the ABI that can be installed in parallel with older versions. These are the general techniques and principles followed by the <a class="ulink" href="http://www.gnome.org" target="_top">GNOME</a> project, of which libxml++ is a part.</p>
<div class="sect1">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="idp84303280"></a>Installation</h2></div></div></div>
+<a name="idp84449760"></a>Installation</h2></div></div></div>
<p>libxml++ is packaged by major Linux and *BSD distributions and can be installed from source on Linux and Windows, using any modern compiler, such as g++, SUN Forte, or MSVC++.</p>
<p>For instance, to install libxml++ and its documentation on debian, use apt-get or synaptic like so:
</p>
<div class="toc">
<p><b>Table of Contents</b></p>
<ul class="toc">
-<li><span class="sect1"><a href="chapter-parsers.html#idp89429632">DOM Parser</a></span></li>
+<li><span class="sect1"><a href="chapter-parsers.html#idp89431456">DOM Parser</a></span></li>
<li><span class="sect1"><a href="ch02s02.html">SAX Parser</a></span></li>
<li><span class="sect1"><a href="ch02s03.html">TextReader Parser</a></span></li>
</ul>
<p>Remember that white space is usually significant in XML documents, so the parsers might provide unexpected text nodes that contain only spaces and new lines. The parser does not know whether you care about these text nodes, but your application may choose to ignore them.</p>
<div class="sect1">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="idp89429632"></a>DOM Parser</h2></div></div></div>
+<a name="idp89431456"></a>DOM Parser</h2></div></div></div>
<p>The DOM (Document Object Model) parser parses the whole document at once and stores the structure in memory, available via <code class="methodname">DomParser::get_document()</code>. With methods such as <code class="methodname">Document::get_root_node()</code> and <code class="methodname">Node::get_children()</code>, you may then navigate into the hierarchy of XML nodes without restriction, jumping forwards or backwards in the document based on the information that you encounter. Therefore the DOM parser uses a relatively large amount of memory.</p>
<p>You should use C++ RTTI (via <code class="literal">dynamic_cast<></code>) to identify the specific node type and to perform actions which are not possible with all node types. For instance, only <code class="classname">Element</code>s have attributes. Here is the inheritance hierarchy of node types:</p>
<p>
<p>There are also several methods which can create new child <code class="classname">Node</code>s. By using these, and one of the <code class="methodname">Document::write_*()</code> methods, you can use libxml++ to build a new XML document.</p>
<div class="sect2">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idp89449072"></a>Example</h3></div></div></div>
+<a name="idp89450896"></a>Example</h3></div></div></div>
<p>This example looks in the document for expected elements and then examines them. All these examples are included in the libxml++ source distribution.</p>
<p><a class="ulink" href="http://git.gnome.org/browse/libxml++/tree/examples/dom_parser" target="_top">Source Code</a></p>
<p>File: main.cc
std::cout << indent << " line = " << node->get_line() << std::endl;
//Print attributes:
- const auto attributes = nodeElement->get_attributes();
- for(xmlpp::Element::AttributeList::const_iterator iter = attributes.begin(); iter != attributes.end(); ++iter)
+ for (const auto& attribute : nodeElement->get_attributes())
{
- const auto attribute = *iter;
const auto namespace_prefix = attribute->get_namespace_prefix();
std::cout << indent << " Attribute ";
if(!nodeContent)
{
//Recurse through child nodes:
- auto list = node->get_children();
for(const auto& child : node->get_children())
{
print_node(child, indentation + 2); //recursive
return EXIT_SUCCESS;
}
-
</pre>
<p>
</p>
<ul class="toc">
<li>
<span class="chapter"><a href="chapter-introduction.html">1. libxml++</a></span><ul>
-<li><span class="sect1"><a href="chapter-introduction.html#idp84303280">Installation</a></span></li>
+<li><span class="sect1"><a href="chapter-introduction.html#idp84449760">Installation</a></span></li>
<li><span class="sect1"><a href="ch01s02.html">UTF-8 and Glib::ustring</a></span></li>
<li><span class="sect1"><a href="ch01s03.html">Compilation and Linking</a></span></li>
</ul>
</li>
<li>
<span class="chapter"><a href="chapter-parsers.html">2. Parsers</a></span><ul>
-<li><span class="sect1"><a href="chapter-parsers.html#idp89429632">DOM Parser</a></span></li>
+<li><span class="sect1"><a href="chapter-parsers.html#idp89431456">DOM Parser</a></span></li>
<li><span class="sect1"><a href="ch02s02.html">SAX Parser</a></span></li>
<li><span class="sect1"><a href="ch02s03.html">TextReader Parser</a></span></li>
</ul>
std::cout << indent << " line = " << node->get_line() << std::endl;
//Print attributes:
- const auto attributes = nodeElement->get_attributes();
- for(xmlpp::Element::AttributeList::const_iterator iter = attributes.begin(); iter != attributes.end(); ++iter)
+ for (const auto& attribute : nodeElement->get_attributes())
{
- const auto attribute = *iter;
const auto namespace_prefix = attribute->get_namespace_prefix();
std::cout << indent << " Attribute ";
if(!nodeContent)
{
//Recurse through child nodes:
- auto list = node->get_children();
for(const auto& child : node->get_children())
{
print_node(child, indentation + 2); //recursive
return EXIT_SUCCESS;
}
-
</programlisting>
</para>
<!-- end inserted example code -->
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:48 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:48 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:48 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:48 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:48 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:48 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:48 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:48 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:48 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:48 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:48 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:48 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
<p>Create a new C++ wrapper for an xmlDoc struct. </p>
<p>The created <a class="el" href="classxmlpp_1_1Document.html" title="Represents an XML document in the DOM model. ">xmlpp::Document</a> takes ownership of the xmlDoc. When the <a class="el" href="classxmlpp_1_1Document.html" title="Represents an XML document in the DOM model. ">Document</a> is deleted, so is the xmlDoc and all its nodes. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">doc</td><td>A pointer to an xmlDoc struct. Must not be <code>0</code>. </td></tr>
+ <tr><td class="paramname">doc</td><td>A pointer to an xmlDoc struct. Must not be <code>nullptr</code>. </td></tr>
</table>
</dd>
</dl>
</table>
</dd>
</dl>
-<dl class="section return"><dt>Returns</dt><dd>A pointer to the libxml2 entity structure, or <code>0</code> if not found. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>A pointer to the libxml2 entity structure, or <code>nullptr</code> if not found. </dd></dl>
</div>
</div>
</div><div class="memdoc">
<p>Get the internal subset of this document. </p>
-<dl class="section return"><dt>Returns</dt><dd>A pointer to the DTD, or <code>0</code> if not found. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>A pointer to the DTD, or <code>nullptr</code> if not found. </dd></dl>
</div>
</div>
</div><div class="memdoc">
<p>Return the root node. </p>
-<p>This function does <b>not</b> create a default root node if it doesn't exist. </p><dl class="section return"><dt>Returns</dt><dd>A pointer to the root node if it exists, <code>0</code> otherwise. </dd></dl>
+<p>This function does <b>not</b> create a default root node if it doesn't exist. </p><dl class="section return"><dt>Returns</dt><dd>A pointer to the root node if it exists, <code>nullptr</code> otherwise. </dd></dl>
</div>
</div>
</div><div class="memdoc">
<p>Return the root node. </p>
-<p>This function does <b>not</b> create a default root node if it doesn't exist. </p><dl class="section return"><dt>Returns</dt><dd>A pointer to the root node if it exists, <code>0</code> otherwise. </dd></dl>
+<p>This function does <b>not</b> create a default root node if it doesn't exist. </p><dl class="section return"><dt>Returns</dt><dd>A pointer to the root node if it exists, <code>nullptr</code> otherwise. </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
<tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1DomParser.html#ab95c1209f2311df8fe1f1f34651d2d28">doc_</a></td><td class="entry"><a class="el" href="classxmlpp_1_1DomParser.html">xmlpp::DomParser</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="classxmlpp_1_1DomParser.html#abeab430d4863459b6d03fc7e97363df5">DomParser</a>()</td><td class="entry"><a class="el" href="classxmlpp_1_1DomParser.html">xmlpp::DomParser</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1DomParser.html#aa88a1d5c79c558a73315ecbea789f5c5">DomParser</a>(const std::string& filename, bool validate=false)</td><td class="entry"><a class="el" href="classxmlpp_1_1DomParser.html">xmlpp::DomParser</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
- <tr><td class="entry"><a class="el" href="classxmlpp_1_1Parser.html#acc102e249ee49903099364c35090cc12">exception_ptr_</a></td><td class="entry"><a class="el" href="classxmlpp_1_1Parser.html">xmlpp::Parser</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classxmlpp_1_1Parser.html#a55d7b3a8c07d23e86a9adb81630dc60c">exception_</a></td><td class="entry"><a class="el" href="classxmlpp_1_1Parser.html">xmlpp::Parser</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1DomParser.html#ad10907d495f9e1e2b63638a9c69f78a8">get_document</a>()</td><td class="entry"><a class="el" href="classxmlpp_1_1DomParser.html">xmlpp::DomParser</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classxmlpp_1_1DomParser.html#a4a3452e46cf656998d8752ed949239de">get_document</a>() const </td><td class="entry"><a class="el" href="classxmlpp_1_1DomParser.html">xmlpp::DomParser</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1Parser.html#a150d49ac4336d910b757ae6fb2cc4b5c">get_include_default_attributes</a>()</td><td class="entry"><a class="el" href="classxmlpp_1_1Parser.html">xmlpp::Parser</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
<tr class="inherit_header pro_attribs_classxmlpp_1_1Parser"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classxmlpp_1_1Parser')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="classxmlpp_1_1Parser.html">xmlpp::Parser</a></td></tr>
<tr class="memitem:a2b49a51f1a8fce897dffcb1e81f87907 inherit pro_attribs_classxmlpp_1_1Parser"><td class="memItemLeft" align="right" valign="top">_xmlParserCtxt* </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Parser.html#a2b49a51f1a8fce897dffcb1e81f87907">context_</a></td></tr>
<tr class="separator:a2b49a51f1a8fce897dffcb1e81f87907 inherit pro_attribs_classxmlpp_1_1Parser"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:acc102e249ee49903099364c35090cc12 inherit pro_attribs_classxmlpp_1_1Parser"><td class="memItemLeft" align="right" valign="top">std::exception_ptr </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Parser.html#acc102e249ee49903099364c35090cc12">exception_ptr_</a></td></tr>
-<tr class="separator:acc102e249ee49903099364c35090cc12 inherit pro_attribs_classxmlpp_1_1Parser"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a55d7b3a8c07d23e86a9adb81630dc60c inherit pro_attribs_classxmlpp_1_1Parser"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00956.html">std::unique_ptr</a>< <a class="el" href="classxmlpp_1_1exception.html">exception</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Parser.html#a55d7b3a8c07d23e86a9adb81630dc60c">exception_</a></td></tr>
+<tr class="separator:a55d7b3a8c07d23e86a9adb81630dc60c inherit pro_attribs_classxmlpp_1_1Parser"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
</div><div class="memdoc">
<p>Get the parsed document. </p>
-<dl class="section return"><dt>Returns</dt><dd>A pointer to the parsed document, or <code>0</code>. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>A pointer to the parsed document, or <code>nullptr</code>. </dd></dl>
</div>
</div>
</div><div class="memdoc">
<p>Get the parsed document. </p>
-<dl class="section return"><dt>Returns</dt><dd>A pointer to the parsed document, or <code>0</code>. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>A pointer to the parsed document, or <code>nullptr</code>. </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
<tr><td class="entry"><a class="el" href="classxmlpp_1_1DtdValidator.html#a1c18d3c459df3b0de6161772788558f7">DtdValidator</a>(const std::string& filename)</td><td class="entry"><a class="el" href="classxmlpp_1_1DtdValidator.html">xmlpp::DtdValidator</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1DtdValidator.html#a376f883bc1455188861455727f2d3039">DtdValidator</a>(const Glib::ustring& external, const Glib::ustring& system)</td><td class="entry"><a class="el" href="classxmlpp_1_1DtdValidator.html">xmlpp::DtdValidator</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr><td class="entry"><a class="el" href="classxmlpp_1_1DtdValidator.html#a93294fb97b4a833718d22ab0a9abb90a">DtdValidator</a>(Dtd* dtd, bool take_ownership)</td><td class="entry"><a class="el" href="classxmlpp_1_1DtdValidator.html">xmlpp::DtdValidator</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html#a1d44b17db2341247a0b6f2fb26b7fec3">exception_ptr_</a></td><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html">xmlpp::Validator</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html#aaddf470c3f05f7c5da525917b0090984">exception_</a></td><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html">xmlpp::Validator</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="classxmlpp_1_1DtdValidator.html#a51385000784f05b4052ec6846a7689ad">get_dtd</a>()</td><td class="entry"><a class="el" href="classxmlpp_1_1DtdValidator.html">xmlpp::DtdValidator</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1DtdValidator.html#aaf69006f668f0c8f960e9ede125e2b86">get_dtd</a>() const </td><td class="entry"><a class="el" href="classxmlpp_1_1DtdValidator.html">xmlpp::DtdValidator</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html#a04bc606bd3f9ba04046b4ba1748707ec">handle_exception</a>()</td><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html">xmlpp::Validator</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
<tr class="memitem:a5f8938e79ca2c52ec26e499b356985a0 inherit pro_static_methods_classxmlpp_1_1Validator"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#a5f8938e79ca2c52ec26e499b356985a0">callback_validity_warning</a> (void* ctx, const char* msg,...)</td></tr>
<tr class="separator:a5f8938e79ca2c52ec26e499b356985a0 inherit pro_static_methods_classxmlpp_1_1Validator"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="inherit_header pro_attribs_classxmlpp_1_1Validator"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classxmlpp_1_1Validator')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="classxmlpp_1_1Validator.html">xmlpp::Validator</a></td></tr>
-<tr class="memitem:a1d44b17db2341247a0b6f2fb26b7fec3 inherit pro_attribs_classxmlpp_1_1Validator"><td class="memItemLeft" align="right" valign="top">std::exception_ptr </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#a1d44b17db2341247a0b6f2fb26b7fec3">exception_ptr_</a></td></tr>
-<tr class="separator:a1d44b17db2341247a0b6f2fb26b7fec3 inherit pro_attribs_classxmlpp_1_1Validator"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aaddf470c3f05f7c5da525917b0090984 inherit pro_attribs_classxmlpp_1_1Validator"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00956.html">std::unique_ptr</a>< <a class="el" href="classxmlpp_1_1exception.html">exception</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#aaddf470c3f05f7c5da525917b0090984">exception_</a></td></tr>
+<tr class="separator:aaddf470c3f05f7c5da525917b0090984 inherit pro_attribs_classxmlpp_1_1Validator"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac28c8c06c9c3cbbebfa0d1c90d20cdf5 inherit pro_attribs_classxmlpp_1_1Validator"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#ac28c8c06c9c3cbbebfa0d1c90d20cdf5">validate_error_</a></td></tr>
<tr class="separator:ac28c8c06c9c3cbbebfa0d1c90d20cdf5 inherit pro_attribs_classxmlpp_1_1Validator"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa876f0e05457de97a3c2d598e4af2580 inherit pro_attribs_classxmlpp_1_1Validator"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#aa876f0e05457de97a3c2d598e4af2580">validate_warning_</a></td></tr>
</div><div class="memdoc">
<p>Create a validator. </p>
-<dl class="since_3_0"><dt><b><a class="el" href="since_3_0.html#_since_3_0000020">Since libxml++ 3.0:</a></b></dt><dd></dd></dl>
+<dl class="since_3_0"><dt><b><a class="el" href="since_3_0.html#_since_3_0000021">Since libxml++ 3.0:</a></b></dt><dd></dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">dtd</td><td>A pointer to the DTD to use when validating XML documents. </td></tr>
</div><div class="memdoc">
<p>Get the parsed DTD. </p>
-<dl class="section return"><dt>Returns</dt><dd>A pointer to the parsed DTD, or <code>0</code>. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>A pointer to the parsed DTD, or <code>nullptr</code>. </dd></dl>
</div>
</div>
</div><div class="memdoc">
<p>Get the parsed DTD. </p>
-<dl class="section return"><dt>Returns</dt><dd>A pointer to the parsed DTD, or <code>0</code>. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>A pointer to the parsed DTD, or <code>nullptr</code>. </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><div class="memdoc">
<p>Add a child element to this node. </p>
-<dl class="since_3_0"><dt><b><a class="el" href="since_3_0.html#_since_3_0000010">Since libxml++ 3.0:</a></b></dt><dd>Replaces Node::add_child()</dd></dl>
+<dl class="since_3_0"><dt><b><a class="el" href="since_3_0.html#_since_3_0000011">Since libxml++ 3.0:</a></b></dt><dd>Replaces Node::add_child()</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">name</td><td>The new node name </td></tr>
</div><div class="memdoc">
<p>Add a child element to this node after the specified existing child node. </p>
-<dl class="since_3_0"><dt><b><a class="el" href="since_3_0.html#_since_3_0000011">Since libxml++ 3.0:</a></b></dt><dd>Replaces Node::add_child()</dd></dl>
+<dl class="since_3_0"><dt><b><a class="el" href="since_3_0.html#_since_3_0000012">Since libxml++ 3.0:</a></b></dt><dd>Replaces Node::add_child()</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">previous_sibling</td><td>An existing child node. </td></tr>
</div><div class="memdoc">
<p>Add a child element to this node before the specified existing child node. </p>
-<dl class="since_3_0"><dt><b><a class="el" href="since_3_0.html#_since_3_0000012">Since libxml++ 3.0:</a></b></dt><dd>Replaces Node::add_child_before()</dd></dl>
+<dl class="since_3_0"><dt><b><a class="el" href="since_3_0.html#_since_3_0000013">Since libxml++ 3.0:</a></b></dt><dd>Replaces Node::add_child_before()</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">next_sibling</td><td>An existing child node. </td></tr>
</div><div class="memdoc">
<p>Add a child element to this node before the specified existing child node. </p>
-<dl class="since_3_0"><dt><b><a class="el" href="since_3_0.html#_since_3_0000015">Since libxml++ 3.0:</a></b></dt><dd>Replaces Node::add_child_before_with_new_ns()</dd></dl>
+<dl class="since_3_0"><dt><b><a class="el" href="since_3_0.html#_since_3_0000016">Since libxml++ 3.0:</a></b></dt><dd>Replaces Node::add_child_before_with_new_ns()</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">next_sibling</td><td>An existing child node. </td></tr>
</div><div class="memdoc">
<p>Add a child element to this node. </p>
-<dl class="since_3_0"><dt><b><a class="el" href="since_3_0.html#_since_3_0000013">Since libxml++ 3.0:</a></b></dt><dd>Replaces Node::add_child_with_new_ns()</dd></dl>
+<dl class="since_3_0"><dt><b><a class="el" href="since_3_0.html#_since_3_0000014">Since libxml++ 3.0:</a></b></dt><dd>Replaces Node::add_child_with_new_ns()</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">name</td><td>The new node name. </td></tr>
</div><div class="memdoc">
<p>Add a child element to this node after the specified existing child node. </p>
-<dl class="since_3_0"><dt><b><a class="el" href="since_3_0.html#_since_3_0000014">Since libxml++ 3.0:</a></b></dt><dd>Replaces Node::add_child_with_new_ns()</dd></dl>
+<dl class="since_3_0"><dt><b><a class="el" href="since_3_0.html#_since_3_0000015">Since libxml++ 3.0:</a></b></dt><dd>Replaces Node::add_child_with_new_ns()</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">previous_sibling</td><td>An existing child node. </td></tr>
</table>
</dd>
</dl>
-<dl class="section return"><dt>Returns</dt><dd>The attribute, or 0 if no suitable <a class="el" href="classxmlpp_1_1Attribute.html" title="Represents an XML Node attribute. ">Attribute</a> was found. Is either an AttributeNode*, pointing to an explicitly set attribute, or an AttributeDeclaration*, pointing to the declaration of an attribute with a default value. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The attribute, or <code>nullptr</code> if no suitable <a class="el" href="classxmlpp_1_1Attribute.html" title="Represents an XML Node attribute. ">Attribute</a> was found. Is either an AttributeNode*, pointing to an explicitly set attribute, or an AttributeDeclaration*, pointing to the declaration of an attribute with a default value. </dd></dl>
</div>
</div>
</table>
</dd>
</dl>
-<dl class="section return"><dt>Returns</dt><dd>The attribute, or 0 if no suitable <a class="el" href="classxmlpp_1_1Attribute.html" title="Represents an XML Node attribute. ">Attribute</a> was found. Is either an AttributeNode*, pointing to an explicitly set attribute, or an AttributeDeclaration*, pointing to the declaration of an attribute with a default value. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The attribute, or <code>nullptr</code> if no suitable <a class="el" href="classxmlpp_1_1Attribute.html" title="Represents an XML Node attribute. ">Attribute</a> was found. Is either an AttributeNode*, pointing to an explicitly set attribute, or an AttributeDeclaration*, pointing to the declaration of an attribute with a default value. </dd></dl>
</div>
</div>
<p>Get the first child text content node. </p>
<p>This is a convenience method, meant as an alternative to iterating over all the child nodes to find the first suitable node and then getting the text directly. </p><dl class="section return"><dt>Returns</dt><dd>The first text node, if any.</dd></dl>
-<dl class="since_3_0"><dt><b><a class="el" href="since_3_0.html#_since_3_0000016">Since libxml++ 3.0:</a></b></dt><dd>Replaces get_child_text(). </dd></dl>
+<dl class="since_3_0"><dt><b><a class="el" href="since_3_0.html#_since_3_0000017">Since libxml++ 3.0:</a></b></dt><dd>Replaces get_child_text(). </dd></dl>
</div>
</div>
<p>Get the first child text content node. </p>
<p>This is a convenience method, meant as an alternative to iterating over all the child nodes to find the first suitable node and then getting the text directly. </p><dl class="section return"><dt>Returns</dt><dd>The first text node, if any.</dd></dl>
-<dl class="since_3_0"><dt><b><a class="el" href="since_3_0.html#_since_3_0000017">Since libxml++ 3.0:</a></b></dt><dd>Replaces get_child_text(). </dd></dl>
+<dl class="since_3_0"><dt><b><a class="el" href="since_3_0.html#_since_3_0000018">Since libxml++ 3.0:</a></b></dt><dd>Replaces get_child_text(). </dd></dl>
</div>
</div>
</table>
</dd>
</dl>
-<dl class="section return"><dt>Returns</dt><dd>The attribute that was changed, or 0 is no suitable <a class="el" href="classxmlpp_1_1Attribute.html" title="Represents an XML Node attribute. ">Attribute</a> was found. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The attribute that was changed, or <code>nullptr</code> is no suitable <a class="el" href="classxmlpp_1_1Attribute.html" title="Represents an XML Node attribute. ">Attribute</a> was found. </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname"><a class="el" href="classxmlpp_1_1exception.html" title="Base class for all xmlpp exceptions. ">xmlpp::exception</a></td><td></td></tr>
</table>
</dd>
</dl>
-<dl class="since_3_0"><dt><b><a class="el" href="since_3_0.html#_since_3_0000018">Since libxml++ 3.0:</a></b></dt><dd>Replaces set_child_text(). </dd></dl>
+<dl class="since_3_0"><dt><b><a class="el" href="since_3_0.html#_since_3_0000019">Since libxml++ 3.0:</a></b></dt><dd>Replaces set_child_text(). </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><div class="memdoc">
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
- <tr><td class="paramname"><a class="el" href="classxmlpp_1_1internal__error.html">xmlpp::internal_error</a></td><td>If <em>node</em> is <code>0</code>. </td></tr>
+ <tr><td class="paramname"><a class="el" href="classxmlpp_1_1internal__error.html">xmlpp::internal_error</a></td><td>If <em>node</em> is <code>nullptr</code>. </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">xpath</td><td>The XPath expression. </td></tr>
- <tr><td class="paramdir">[out]</td><td class="paramname">result_type</td><td>Result type of the XPath expression before conversion to boolean. If 0, the result type is not returned. </td></tr>
+ <tr><td class="paramdir">[out]</td><td class="paramname">result_type</td><td>Result type of the XPath expression before conversion to boolean. If <code>nullptr</code>, the result type is not returned. </td></tr>
</table>
</dd>
</dl>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">xpath</td><td>The XPath expression. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">namespaces</td><td>A map of namespace prefixes to namespace URIs to be used while evaluating. </td></tr>
- <tr><td class="paramdir">[out]</td><td class="paramname">result_type</td><td>Result type of the XPath expression before conversion to boolean. If 0, the result type is not returned. </td></tr>
+ <tr><td class="paramdir">[out]</td><td class="paramname">result_type</td><td>Result type of the XPath expression before conversion to boolean. If <code>nullptr</code>, the result type is not returned. </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">xpath</td><td>The XPath expression. </td></tr>
- <tr><td class="paramdir">[out]</td><td class="paramname">result_type</td><td>Result type of the XPath expression before conversion to number. If 0, the result type is not returned. </td></tr>
+ <tr><td class="paramdir">[out]</td><td class="paramname">result_type</td><td>Result type of the XPath expression before conversion to number. If <code>nullptr</code>, the result type is not returned. </td></tr>
</table>
</dd>
</dl>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">xpath</td><td>The XPath expression. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">namespaces</td><td>A map of namespace prefixes to namespace URIs to be used while evaluating. </td></tr>
- <tr><td class="paramdir">[out]</td><td class="paramname">result_type</td><td>Result type of the XPath expression before conversion to number. If 0, the result type is not returned. </td></tr>
+ <tr><td class="paramdir">[out]</td><td class="paramname">result_type</td><td>Result type of the XPath expression before conversion to number. If <code>nullptr</code>, the result type is not returned. </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">xpath</td><td>The XPath expression. </td></tr>
- <tr><td class="paramdir">[out]</td><td class="paramname">result_type</td><td>Result type of the XPath expression before conversion to string. If 0, the result type is not returned. </td></tr>
+ <tr><td class="paramdir">[out]</td><td class="paramname">result_type</td><td>Result type of the XPath expression before conversion to string. If <code>nullptr</code>, the result type is not returned. </td></tr>
</table>
</dd>
</dl>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">xpath</td><td>The XPath expression. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">namespaces</td><td>A map of namespace prefixes to namespace URIs to be used while evaluating. </td></tr>
- <tr><td class="paramdir">[out]</td><td class="paramname">result_type</td><td>Result type of the XPath expression before conversion to string. If 0, the result type is not returned. </td></tr>
+ <tr><td class="paramdir">[out]</td><td class="paramname">result_type</td><td>Result type of the XPath expression before conversion to string. If <code>nullptr</code>, the result type is not returned. </td></tr>
</table>
</dd>
</dl>
</table>
</dd>
</dl>
-<dl class="section return"><dt>Returns</dt><dd>The first child, or <code>0</code> if no child node (with the specified name) exists.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The first child, or <code>nullptr</code> if no child node (with the specified name) exists.</dd></dl>
<dl class="since_2_36"><dt><b><a class="el" href="since_2_36.html#_since_2_36000010">Since libxml++ 2.36:</a></b></dt><dd></dd></dl>
</div>
</table>
</dd>
</dl>
-<dl class="section return"><dt>Returns</dt><dd>The first child, or <code>0</code> if no child node (with the specified name) exists.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The first child, or <code>nullptr</code> if no child node (with the specified name) exists.</dd></dl>
<dl class="since_2_36"><dt><b><a class="el" href="since_2_36.html#_since_2_36000011">Since libxml++ 2.36:</a></b></dt><dd></dd></dl>
</div>
</div><div class="memdoc">
<p>Get the next sibling for this node. </p>
-<dl class="section return"><dt>Returns</dt><dd>The next sibling, or <code>0</code> if the node has no next sibling. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The next sibling, or <code>nullptr</code> if the node has no next sibling. </dd></dl>
</div>
</div>
</div><div class="memdoc">
<p>Get the next sibling for this node. </p>
-<dl class="section return"><dt>Returns</dt><dd>The next sibling, or <code>0</code> if the node has no next sibling. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The next sibling, or <code>nullptr</code> if the node has no next sibling. </dd></dl>
</div>
</div>
</div><div class="memdoc">
<p>Get the parent element for this node. </p>
-<dl class="section return"><dt>Returns</dt><dd>The parent node, or <code>0</code> if the node has no parent element. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The parent node, or <code>nullptr</code> if the node has no parent element. </dd></dl>
</div>
</div>
</div><div class="memdoc">
<p>Get the parent element for this node. </p>
-<dl class="section return"><dt>Returns</dt><dd>The parent node, or <code>0</code> if the node has no parent element. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The parent node, or <code>nullptr</code> if the node has no parent element. </dd></dl>
</div>
</div>
</div><div class="memdoc">
<p>Get the previous sibling for this node . </p>
-<dl class="section return"><dt>Returns</dt><dd>The previous sibling, or <code>0</code> if the node has no previous sibling. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The previous sibling, or <code>nullptr</code> if the node has no previous sibling. </dd></dl>
</div>
</div>
</div><div class="memdoc">
<p>Get the previous sibling for this node. </p>
-<dl class="section return"><dt>Returns</dt><dd>The previous sibling, or <code>0</code> if the node has no previous sibling. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The previous sibling, or <code>nullptr</code> if the node has no previous sibling. </dd></dl>
</div>
</div>
<p>Remove a node and its children. </p>
<p>The node is disconnected from its parent. The underlying libxml xmlNode instances are also removed.</p>
-<dl class="since_3_0"><dt><b><a class="el" href="since_3_0.html#_since_3_0000019">Since libxml++ 3.0:</a></b></dt><dd>Replaces remove_child()</dd></dl>
+<dl class="since_3_0"><dt><b><a class="el" href="since_3_0.html#_since_3_0000020">Since libxml++ 3.0:</a></b></dt><dd>Replaces remove_child()</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">node</td><td>The node to remove. This <a class="el" href="classxmlpp_1_1Node.html" title="Represents XML Nodes. ">Node</a> and all its descendants will be deleted and therefore unusable after calling this method. </td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
<tr><td class="entry"><a class="el" href="classxmlpp_1_1Parser.html#af5593cd0273664654286d411685b6e8a">check_for_error_and_warning_messages</a>()</td><td class="entry"><a class="el" href="classxmlpp_1_1Parser.html">xmlpp::Parser</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1Parser.html#a9daba11c6746d91153329a9dbd8decc5">check_for_exception</a>()</td><td class="entry"><a class="el" href="classxmlpp_1_1Parser.html">xmlpp::Parser</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classxmlpp_1_1Parser.html#a2b49a51f1a8fce897dffcb1e81f87907">context_</a></td><td class="entry"><a class="el" href="classxmlpp_1_1Parser.html">xmlpp::Parser</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1Parser.html#acc102e249ee49903099364c35090cc12">exception_ptr_</a></td><td class="entry"><a class="el" href="classxmlpp_1_1Parser.html">xmlpp::Parser</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1Parser.html#a55d7b3a8c07d23e86a9adb81630dc60c">exception_</a></td><td class="entry"><a class="el" href="classxmlpp_1_1Parser.html">xmlpp::Parser</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="classxmlpp_1_1Parser.html#a150d49ac4336d910b757ae6fb2cc4b5c">get_include_default_attributes</a>()</td><td class="entry"><a class="el" href="classxmlpp_1_1Parser.html">xmlpp::Parser</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1Parser.html#a4340563d4dc26a4cfe79f9854a5e91a7">get_parser_options</a>(int& set_options, int& clear_options)</td><td class="entry"><a class="el" href="classxmlpp_1_1Parser.html">xmlpp::Parser</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classxmlpp_1_1Parser.html#a4afc48af41d80a4380d4b26932fc1f32">get_substitute_entities</a>() const </td><td class="entry"><a class="el" href="classxmlpp_1_1Parser.html">xmlpp::Parser</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
Protected Attributes</h2></td></tr>
<tr class="memitem:a2b49a51f1a8fce897dffcb1e81f87907"><td class="memItemLeft" align="right" valign="top">_xmlParserCtxt* </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Parser.html#a2b49a51f1a8fce897dffcb1e81f87907">context_</a></td></tr>
<tr class="separator:a2b49a51f1a8fce897dffcb1e81f87907"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:acc102e249ee49903099364c35090cc12"><td class="memItemLeft" align="right" valign="top">std::exception_ptr </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Parser.html#acc102e249ee49903099364c35090cc12">exception_ptr_</a></td></tr>
-<tr class="separator:acc102e249ee49903099364c35090cc12"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a55d7b3a8c07d23e86a9adb81630dc60c"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00956.html">std::unique_ptr</a>< <a class="el" href="classxmlpp_1_1exception.html">exception</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Parser.html#a55d7b3a8c07d23e86a9adb81630dc60c">exception_</a></td></tr>
+<tr class="separator:a55d7b3a8c07d23e86a9adb81630dc60c"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>XML parser. </p>
</div>
</div>
-<a class="anchor" id="acc102e249ee49903099364c35090cc12"></a>
+<a class="anchor" id="a55d7b3a8c07d23e86a9adb81630dc60c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">std::exception_ptr xmlpp::Parser::exception_ptr_</td>
+ <td class="memname"><a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00956.html">std::unique_ptr</a><<a class="el" href="classxmlpp_1_1exception.html">exception</a>> xmlpp::Parser::exception_</td>
</tr>
</table>
</td>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
<tr><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html#a5f8938e79ca2c52ec26e499b356985a0">callback_validity_warning</a>(void* ctx, const char* msg,...)</td><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html">xmlpp::Validator</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html#a2af695894f22e61b4f85551edefd104d">check_for_exception</a>()</td><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html">xmlpp::Validator</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html#a655f06aa683577c26dcb2edba2e9e84b">check_for_validity_messages</a>()</td><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html">xmlpp::Validator</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html#a1d44b17db2341247a0b6f2fb26b7fec3">exception_ptr_</a></td><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html">xmlpp::Validator</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html#aaddf470c3f05f7c5da525917b0090984">exception_</a></td><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html">xmlpp::Validator</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="classxmlpp_1_1RelaxNGValidator.html#a387087292eb290edca76eb15ef70b8f1">get_schema</a>()</td><td class="entry"><a class="el" href="classxmlpp_1_1RelaxNGValidator.html">xmlpp::RelaxNGValidator</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1RelaxNGValidator.html#afecd4b9401a423e7db8c1dc4d28804ee">get_schema</a>() const </td><td class="entry"><a class="el" href="classxmlpp_1_1RelaxNGValidator.html">xmlpp::RelaxNGValidator</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html#a04bc606bd3f9ba04046b4ba1748707ec">handle_exception</a>()</td><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html">xmlpp::Validator</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
<tr class="memitem:a5f8938e79ca2c52ec26e499b356985a0 inherit pro_static_methods_classxmlpp_1_1Validator"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#a5f8938e79ca2c52ec26e499b356985a0">callback_validity_warning</a> (void* ctx, const char* msg,...)</td></tr>
<tr class="separator:a5f8938e79ca2c52ec26e499b356985a0 inherit pro_static_methods_classxmlpp_1_1Validator"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="inherit_header pro_attribs_classxmlpp_1_1Validator"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classxmlpp_1_1Validator')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="classxmlpp_1_1Validator.html">xmlpp::Validator</a></td></tr>
-<tr class="memitem:a1d44b17db2341247a0b6f2fb26b7fec3 inherit pro_attribs_classxmlpp_1_1Validator"><td class="memItemLeft" align="right" valign="top">std::exception_ptr </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#a1d44b17db2341247a0b6f2fb26b7fec3">exception_ptr_</a></td></tr>
-<tr class="separator:a1d44b17db2341247a0b6f2fb26b7fec3 inherit pro_attribs_classxmlpp_1_1Validator"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aaddf470c3f05f7c5da525917b0090984 inherit pro_attribs_classxmlpp_1_1Validator"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00956.html">std::unique_ptr</a>< <a class="el" href="classxmlpp_1_1exception.html">exception</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#aaddf470c3f05f7c5da525917b0090984">exception_</a></td></tr>
+<tr class="separator:aaddf470c3f05f7c5da525917b0090984 inherit pro_attribs_classxmlpp_1_1Validator"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac28c8c06c9c3cbbebfa0d1c90d20cdf5 inherit pro_attribs_classxmlpp_1_1Validator"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#ac28c8c06c9c3cbbebfa0d1c90d20cdf5">validate_error_</a></td></tr>
<tr class="separator:ac28c8c06c9c3cbbebfa0d1c90d20cdf5 inherit pro_attribs_classxmlpp_1_1Validator"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa876f0e05457de97a3c2d598e4af2580 inherit pro_attribs_classxmlpp_1_1Validator"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#aa876f0e05457de97a3c2d598e4af2580">validate_warning_</a></td></tr>
</div><div class="memdoc">
<p>Get the schema. </p>
-<dl class="section return"><dt>Returns</dt><dd>A pointer to the schema, or <code>0</code>. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>A pointer to the schema, or <code>nullptr</code>. </dd></dl>
</div>
</div>
</div><div class="memdoc">
<p>Get the schema. </p>
-<dl class="section return"><dt>Returns</dt><dd>A pointer to the schema, or <code>0</code>. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>A pointer to the schema, or <code>nullptr</code>. </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
<tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1Parser.html#af5593cd0273664654286d411685b6e8a">check_for_error_and_warning_messages</a>()</td><td class="entry"><a class="el" href="classxmlpp_1_1Parser.html">xmlpp::Parser</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classxmlpp_1_1Parser.html#a9daba11c6746d91153329a9dbd8decc5">check_for_exception</a>()</td><td class="entry"><a class="el" href="classxmlpp_1_1Parser.html">xmlpp::Parser</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1Parser.html#a2b49a51f1a8fce897dffcb1e81f87907">context_</a></td><td class="entry"><a class="el" href="classxmlpp_1_1Parser.html">xmlpp::Parser</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr><td class="entry"><a class="el" href="classxmlpp_1_1Parser.html#acc102e249ee49903099364c35090cc12">exception_ptr_</a></td><td class="entry"><a class="el" href="classxmlpp_1_1Parser.html">xmlpp::Parser</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classxmlpp_1_1Parser.html#a55d7b3a8c07d23e86a9adb81630dc60c">exception_</a></td><td class="entry"><a class="el" href="classxmlpp_1_1Parser.html">xmlpp::Parser</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1SaxParser.html#af886afd3a2c844ff7d7dccc72097c91e">finish_chunk_parsing</a>()</td><td class="entry"><a class="el" href="classxmlpp_1_1SaxParser.html">xmlpp::SaxParser</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classxmlpp_1_1Parser.html#a150d49ac4336d910b757ae6fb2cc4b5c">get_include_default_attributes</a>()</td><td class="entry"><a class="el" href="classxmlpp_1_1Parser.html">xmlpp::Parser</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1Parser.html#a4340563d4dc26a4cfe79f9854a5e91a7">get_parser_options</a>(int& set_options, int& clear_options)</td><td class="entry"><a class="el" href="classxmlpp_1_1Parser.html">xmlpp::Parser</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
<tr class="inherit_header pro_attribs_classxmlpp_1_1Parser"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classxmlpp_1_1Parser')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="classxmlpp_1_1Parser.html">xmlpp::Parser</a></td></tr>
<tr class="memitem:a2b49a51f1a8fce897dffcb1e81f87907 inherit pro_attribs_classxmlpp_1_1Parser"><td class="memItemLeft" align="right" valign="top">_xmlParserCtxt* </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Parser.html#a2b49a51f1a8fce897dffcb1e81f87907">context_</a></td></tr>
<tr class="separator:a2b49a51f1a8fce897dffcb1e81f87907 inherit pro_attribs_classxmlpp_1_1Parser"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:acc102e249ee49903099364c35090cc12 inherit pro_attribs_classxmlpp_1_1Parser"><td class="memItemLeft" align="right" valign="top">std::exception_ptr </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Parser.html#acc102e249ee49903099364c35090cc12">exception_ptr_</a></td></tr>
-<tr class="separator:acc102e249ee49903099364c35090cc12 inherit pro_attribs_classxmlpp_1_1Parser"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a55d7b3a8c07d23e86a9adb81630dc60c inherit pro_attribs_classxmlpp_1_1Parser"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00956.html">std::unique_ptr</a>< <a class="el" href="classxmlpp_1_1exception.html">exception</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Parser.html#a55d7b3a8c07d23e86a9adb81630dc60c">exception_</a></td></tr>
+<tr class="separator:a55d7b3a8c07d23e86a9adb81630dc60c inherit pro_attribs_classxmlpp_1_1Parser"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>SAX XML parser. </p>
-<p>Derive your own class and override the on_*() methods. SAX = Simple API for XML </p>
+<p>Derive your own class and override the on_*() methods. SAX = Simple API for XML</p>
+<p>In a system that does not support std::exception_ptr: If an overridden on_*() method throws an exception which is not derived from <a class="el" href="classxmlpp_1_1exception.html" title="Base class for all xmlpp exceptions. ">xmlpp::exception</a>, that exception is replaced by a <a class="el" href="classxmlpp_1_1exception.html" title="Base class for all xmlpp exceptions. ">xmlpp::exception</a> before it is propagated out of the parse method, such as <a class="el" href="classxmlpp_1_1SaxParser.html#ad38e088441867258fd6f779f1c852d82" title="Parse an XML document from a file. ">parse_file()</a>. </p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a class="anchor" id="a1cb4e32dd3adf2460f2836bddb59633c"></a>
<div class="memitem">
</table>
</dd>
</dl>
-<dl class="section return"><dt>Returns</dt><dd>The resolved xmlEntity for the entity reference, or <code>0</code> if not found. You must include libxml/parser.h in order to use this C struct. This instance will not be freed by the caller. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The resolved xmlEntity for the entity reference, or <code>nullptr</code> if not found. You must include libxml/parser.h in order to use this C struct. This instance will not be freed by the caller. </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
<tr><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html#a5f8938e79ca2c52ec26e499b356985a0">callback_validity_warning</a>(void* ctx, const char* msg,...)</td><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html">xmlpp::Validator</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html#a2af695894f22e61b4f85551edefd104d">check_for_exception</a>()</td><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html">xmlpp::Validator</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html#a655f06aa683577c26dcb2edba2e9e84b">check_for_validity_messages</a>()</td><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html">xmlpp::Validator</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html#a1d44b17db2341247a0b6f2fb26b7fec3">exception_ptr_</a></td><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html">xmlpp::Validator</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html#aaddf470c3f05f7c5da525917b0090984">exception_</a></td><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html">xmlpp::Validator</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html#a04bc606bd3f9ba04046b4ba1748707ec">handle_exception</a>()</td><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html">xmlpp::Validator</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1SchemaValidatorBase.html#ab15204c082a29bb0390e06a5e4b2daf0">initialize_context</a>() override</td><td class="entry"><a class="el" href="classxmlpp_1_1SchemaValidatorBase.html">xmlpp::SchemaValidatorBase</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classxmlpp_1_1NonCopyable.html#a77c785ff1149642caa3058f49223f112">NonCopyable</a>()</td><td class="entry"><a class="el" href="classxmlpp_1_1NonCopyable.html">xmlpp::NonCopyable</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
<tr class="memitem:a5f8938e79ca2c52ec26e499b356985a0 inherit pro_static_methods_classxmlpp_1_1Validator"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#a5f8938e79ca2c52ec26e499b356985a0">callback_validity_warning</a> (void* ctx, const char* msg,...)</td></tr>
<tr class="separator:a5f8938e79ca2c52ec26e499b356985a0 inherit pro_static_methods_classxmlpp_1_1Validator"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="inherit_header pro_attribs_classxmlpp_1_1Validator"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classxmlpp_1_1Validator')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="classxmlpp_1_1Validator.html">xmlpp::Validator</a></td></tr>
-<tr class="memitem:a1d44b17db2341247a0b6f2fb26b7fec3 inherit pro_attribs_classxmlpp_1_1Validator"><td class="memItemLeft" align="right" valign="top">std::exception_ptr </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#a1d44b17db2341247a0b6f2fb26b7fec3">exception_ptr_</a></td></tr>
-<tr class="separator:a1d44b17db2341247a0b6f2fb26b7fec3 inherit pro_attribs_classxmlpp_1_1Validator"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aaddf470c3f05f7c5da525917b0090984 inherit pro_attribs_classxmlpp_1_1Validator"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00956.html">std::unique_ptr</a>< <a class="el" href="classxmlpp_1_1exception.html">exception</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#aaddf470c3f05f7c5da525917b0090984">exception_</a></td></tr>
+<tr class="separator:aaddf470c3f05f7c5da525917b0090984 inherit pro_attribs_classxmlpp_1_1Validator"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac28c8c06c9c3cbbebfa0d1c90d20cdf5 inherit pro_attribs_classxmlpp_1_1Validator"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#ac28c8c06c9c3cbbebfa0d1c90d20cdf5">validate_error_</a></td></tr>
<tr class="separator:ac28c8c06c9c3cbbebfa0d1c90d20cdf5 inherit pro_attribs_classxmlpp_1_1Validator"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa876f0e05457de97a3c2d598e4af2580 inherit pro_attribs_classxmlpp_1_1Validator"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#aa876f0e05457de97a3c2d598e4af2580">validate_warning_</a></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
<tr><td class="entry"><a class="el" href="classxmlpp_1_1TextReader.html#a9057500ac7b1972ff2371794ba48f40e">xmlNodeType</a> enum name</td><td class="entry"><a class="el" href="classxmlpp_1_1TextReader.html">xmlpp::TextReader</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1TextReader.html#a87dca472c41f1554155567352caae8b1">xmlReadState</a> enum name</td><td class="entry"><a class="el" href="classxmlpp_1_1TextReader.html">xmlpp::TextReader</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classxmlpp_1_1NonCopyable.html#a14e2e0391beb4b8f20f5d51e8a253d63">~NonCopyable</a>()</td><td class="entry"><a class="el" href="classxmlpp_1_1NonCopyable.html">xmlpp::NonCopyable</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1TextReader.html#a35043a6525290428f3724e1a31918bb8">~TextReader</a>()</td><td class="entry"><a class="el" href="classxmlpp_1_1TextReader.html">xmlpp::TextReader</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1TextReader.html#a87d58d4ae7c3b3252bee49cdd78447e8">~TextReader</a>() override</td><td class="entry"><a class="el" href="classxmlpp_1_1TextReader.html">xmlpp::TextReader</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
<tr class="memitem:ac5cdb5b6d5c8e6809d65a398f417a1fb"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1TextReader.html#ac5cdb5b6d5c8e6809d65a398f417a1fb">TextReader</a> (const unsigned char* data, <a class="el" href="classxmlpp_1_1TextReader.html#a659b255f7221dbbae3e98081bbfc6f19">size_type</a> <a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a01656.html#ga445a43f417432dd1b9aed90ef239c700">size</a>, const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& uri=<a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>())</td></tr>
<tr class="memdesc:ac5cdb5b6d5c8e6809d65a398f417a1fb"><td class="mdescLeft"> </td><td class="mdescRight">Creates a new <a class="el" href="classxmlpp_1_1TextReader.html" title="A TextReader-style XML parser. ">TextReader</a> object which parses in memory data. <a href="#ac5cdb5b6d5c8e6809d65a398f417a1fb">More...</a><br /></td></tr>
<tr class="separator:ac5cdb5b6d5c8e6809d65a398f417a1fb"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a35043a6525290428f3724e1a31918bb8"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1TextReader.html#a35043a6525290428f3724e1a31918bb8">~TextReader</a> ()</td></tr>
-<tr class="separator:a35043a6525290428f3724e1a31918bb8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a87d58d4ae7c3b3252bee49cdd78447e8"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1TextReader.html#a87d58d4ae7c3b3252bee49cdd78447e8">~TextReader</a> () override</td></tr>
+<tr class="separator:a87d58d4ae7c3b3252bee49cdd78447e8"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5cf337c94758e54214f7bbe23f61b13d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1TextReader.html#a5cf337c94758e54214f7bbe23f61b13d">close</a> ()</td></tr>
<tr class="separator:a5cf337c94758e54214f7bbe23f61b13d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a6eeec8656e65a93c7b7496f17d288882"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxmlpp_1_1Node.html">Node</a>* </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1TextReader.html#a6eeec8656e65a93c7b7496f17d288882">expand</a> ()</td></tr>
</div>
</div>
-<a class="anchor" id="a35043a6525290428f3724e1a31918bb8"></a>
+<a class="anchor" id="a87d58d4ae7c3b3252bee49cdd78447e8"></a>
<div class="memitem">
<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">xmlpp::TextReader::~TextReader </td>
<td></td>
</tr>
</table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">override</span></span> </td>
+ </tr>
+</table>
</div><div class="memdoc">
</div>
<p>Expand the current node. </p>
<p>Reads the contents of the current node and the full subtree. It then makes the subtree available until the next call to <a class="el" href="classxmlpp_1_1TextReader.html#a3a3ee347087889b3f3ef5463dd777ad8" title="Moves the position of the current instance to the next node in the stream, exposing its properties...">read()</a> or <a class="el" href="classxmlpp_1_1TextReader.html#a03c7204c20277f446c64cc7ca15815b2">next()</a>. </p><dl class="section warning"><dt>Warning</dt><dd>The C++ wrappers are not deleted. Using this method causes memory leaks, unless you call <a class="el" href="classxmlpp_1_1Node.html#aa47901df78305a685fc9682cd44290d6" title="Delete the C++ instance for a given libxml C struct instance, and also recursively destroy the C++ in...">xmlpp::Node::free_wrappers()</a>, which is not intended to be called by the application. </dd></dl>
-<dl class="section return"><dt>Returns</dt><dd>A pointer to the current node, or 0 in case of error. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>A pointer to the current node, or <code>nullptr</code> in case of error. </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname"><a class="el" href="classxmlpp_1_1parse__error.html" title="This exception will be thrown when the parser encounters an error in the XML document. ">xmlpp::parse_error</a></td><td></td></tr>
<p>Get a pointer to the current node. </p>
<dl class="section warning"><dt>Warning</dt><dd>This is dangerous because the underlying node may be destroyed on the next read. The C++ wrapper is not deleted. Using this method causes memory leaks, unless you call <a class="el" href="classxmlpp_1_1Node.html#aa47901df78305a685fc9682cd44290d6" title="Delete the C++ instance for a given libxml C struct instance, and also recursively destroy the C++ in...">xmlpp::Node::free_wrappers()</a>, which is not intended to be called by the application. </dd></dl>
-<dl class="section return"><dt>Returns</dt><dd>A pointer to the current node, or 0 in case of error. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>A pointer to the current node, or <code>nullptr</code> in case of error. </dd></dl>
</div>
</div>
<p>Get a pointer to the current node. </p>
<dl class="section warning"><dt>Warning</dt><dd>See the non-const <a class="el" href="classxmlpp_1_1TextReader.html#a830def19dd26d2c3fb131302f8ed1a31" title="Get a pointer to the current node. ">get_current_node()</a>. </dd></dl>
-<dl class="section return"><dt>Returns</dt><dd>A pointer to the current node, or 0 in case of error. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>A pointer to the current node, or <code>nullptr</code> in case of error. </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
<tr><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html#a5f8938e79ca2c52ec26e499b356985a0">callback_validity_warning</a>(void* ctx, const char* msg,...)</td><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html">xmlpp::Validator</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html#a2af695894f22e61b4f85551edefd104d">check_for_exception</a>()</td><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html">xmlpp::Validator</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html#a655f06aa683577c26dcb2edba2e9e84b">check_for_validity_messages</a>()</td><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html">xmlpp::Validator</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html#a1d44b17db2341247a0b6f2fb26b7fec3">exception_ptr_</a></td><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html">xmlpp::Validator</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html#aaddf470c3f05f7c5da525917b0090984">exception_</a></td><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html">xmlpp::Validator</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html#a04bc606bd3f9ba04046b4ba1748707ec">handle_exception</a>()</td><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html">xmlpp::Validator</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html#af87d8f566d05fa7a74b8e28d84d26504">initialize_context</a>()</td><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html">xmlpp::Validator</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classxmlpp_1_1NonCopyable.html#a77c785ff1149642caa3058f49223f112">NonCopyable</a>()</td><td class="entry"><a class="el" href="classxmlpp_1_1NonCopyable.html">xmlpp::NonCopyable</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
-<tr class="memitem:a1d44b17db2341247a0b6f2fb26b7fec3"><td class="memItemLeft" align="right" valign="top">std::exception_ptr </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#a1d44b17db2341247a0b6f2fb26b7fec3">exception_ptr_</a></td></tr>
-<tr class="separator:a1d44b17db2341247a0b6f2fb26b7fec3"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aaddf470c3f05f7c5da525917b0090984"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00956.html">std::unique_ptr</a>< <a class="el" href="classxmlpp_1_1exception.html">exception</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#aaddf470c3f05f7c5da525917b0090984">exception_</a></td></tr>
+<tr class="separator:aaddf470c3f05f7c5da525917b0090984"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac28c8c06c9c3cbbebfa0d1c90d20cdf5"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#ac28c8c06c9c3cbbebfa0d1c90d20cdf5">validate_error_</a></td></tr>
<tr class="separator:ac28c8c06c9c3cbbebfa0d1c90d20cdf5"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa876f0e05457de97a3c2d598e4af2580"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#aa876f0e05457de97a3c2d598e4af2580">validate_warning_</a></td></tr>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
-<a class="anchor" id="a1d44b17db2341247a0b6f2fb26b7fec3"></a>
+<a class="anchor" id="aaddf470c3f05f7c5da525917b0090984"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">std::exception_ptr xmlpp::Validator::exception_ptr_</td>
+ <td class="memname"><a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00956.html">std::unique_ptr</a><<a class="el" href="classxmlpp_1_1exception.html">exception</a>> xmlpp::Validator::exception_</td>
</tr>
</table>
</td>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
<tr><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html#a5f8938e79ca2c52ec26e499b356985a0">callback_validity_warning</a>(void* ctx, const char* msg,...)</td><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html">xmlpp::Validator</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html#a2af695894f22e61b4f85551edefd104d">check_for_exception</a>()</td><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html">xmlpp::Validator</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html#a655f06aa683577c26dcb2edba2e9e84b">check_for_validity_messages</a>()</td><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html">xmlpp::Validator</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html#a1d44b17db2341247a0b6f2fb26b7fec3">exception_ptr_</a></td><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html">xmlpp::Validator</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html#aaddf470c3f05f7c5da525917b0090984">exception_</a></td><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html">xmlpp::Validator</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="classxmlpp_1_1XsdValidator.html#a5970b11a7b314235c5ea4cde822ed4df">get_schema</a>()</td><td class="entry"><a class="el" href="classxmlpp_1_1XsdValidator.html">xmlpp::XsdValidator</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1XsdValidator.html#abd8caf883ccf33a5db1ab1432146f9ad">get_schema</a>() const </td><td class="entry"><a class="el" href="classxmlpp_1_1XsdValidator.html">xmlpp::XsdValidator</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html#a04bc606bd3f9ba04046b4ba1748707ec">handle_exception</a>()</td><td class="entry"><a class="el" href="classxmlpp_1_1Validator.html">xmlpp::Validator</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
<tr class="memitem:a5f8938e79ca2c52ec26e499b356985a0 inherit pro_static_methods_classxmlpp_1_1Validator"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#a5f8938e79ca2c52ec26e499b356985a0">callback_validity_warning</a> (void* ctx, const char* msg,...)</td></tr>
<tr class="separator:a5f8938e79ca2c52ec26e499b356985a0 inherit pro_static_methods_classxmlpp_1_1Validator"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="inherit_header pro_attribs_classxmlpp_1_1Validator"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classxmlpp_1_1Validator')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="classxmlpp_1_1Validator.html">xmlpp::Validator</a></td></tr>
-<tr class="memitem:a1d44b17db2341247a0b6f2fb26b7fec3 inherit pro_attribs_classxmlpp_1_1Validator"><td class="memItemLeft" align="right" valign="top">std::exception_ptr </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#a1d44b17db2341247a0b6f2fb26b7fec3">exception_ptr_</a></td></tr>
-<tr class="separator:a1d44b17db2341247a0b6f2fb26b7fec3 inherit pro_attribs_classxmlpp_1_1Validator"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aaddf470c3f05f7c5da525917b0090984 inherit pro_attribs_classxmlpp_1_1Validator"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00956.html">std::unique_ptr</a>< <a class="el" href="classxmlpp_1_1exception.html">exception</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#aaddf470c3f05f7c5da525917b0090984">exception_</a></td></tr>
+<tr class="separator:aaddf470c3f05f7c5da525917b0090984 inherit pro_attribs_classxmlpp_1_1Validator"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac28c8c06c9c3cbbebfa0d1c90d20cdf5 inherit pro_attribs_classxmlpp_1_1Validator"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#ac28c8c06c9c3cbbebfa0d1c90d20cdf5">validate_error_</a></td></tr>
<tr class="separator:ac28c8c06c9c3cbbebfa0d1c90d20cdf5 inherit pro_attribs_classxmlpp_1_1Validator"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa876f0e05457de97a3c2d598e4af2580 inherit pro_attribs_classxmlpp_1_1Validator"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#aa876f0e05457de97a3c2d598e4af2580">validate_warning_</a></td></tr>
</div><div class="memdoc">
<p>Get the schema. </p>
-<dl class="section return"><dt>Returns</dt><dd>A pointer to the schema, or <code>0</code>. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>A pointer to the schema, or <code>nullptr</code>. </dd></dl>
</div>
</div>
</div><div class="memdoc">
<p>Get the schema. </p>
-<dl class="section return"><dt>Returns</dt><dd>A pointer to the schema, or <code>0</code>. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>A pointer to the schema, or <code>nullptr</code>. </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
<p>This is the complete list of members for <a class="el" href="classxmlpp_1_1exception.html">xmlpp::exception</a>, including all inherited members.</p>
<table class="directory">
- <tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1exception.html#aec1bbf4a42dd2ed44d269a3c31c14124">exception</a>(const Glib::ustring& message)</td><td class="entry"><a class="el" href="classxmlpp_1_1exception.html">xmlpp::exception</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1exception.html#a0a0d7568b11c226632343c1994700034">clone</a>() const </td><td class="entry"><a class="el" href="classxmlpp_1_1exception.html">xmlpp::exception</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classxmlpp_1_1exception.html#aec1bbf4a42dd2ed44d269a3c31c14124">exception</a>(const Glib::ustring& message)</td><td class="entry"><a class="el" href="classxmlpp_1_1exception.html">xmlpp::exception</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1exception.html#a7f8545275e296c5a04b21aa92bcdb3f8">raise</a>() const </td><td class="entry"><a class="el" href="classxmlpp_1_1exception.html">xmlpp::exception</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classxmlpp_1_1exception.html#a94e0518449bb47b2af5b1feb4a86e277">what</a>() const noexceptoverride</td><td class="entry"><a class="el" href="classxmlpp_1_1exception.html">xmlpp::exception</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1exception.html#aa0ff3bba207e893e43f501ba8d99100d">~exception</a>() noexceptoverride</td><td class="entry"><a class="el" href="classxmlpp_1_1exception.html">xmlpp::exception</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
<tr class="separator:aec1bbf4a42dd2ed44d269a3c31c14124"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa0ff3bba207e893e43f501ba8d99100d"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1exception.html#aa0ff3bba207e893e43f501ba8d99100d">~exception</a> () noexceptoverride</td></tr>
<tr class="separator:aa0ff3bba207e893e43f501ba8d99100d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0a0d7568b11c226632343c1994700034"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classxmlpp_1_1exception.html">exception</a>* </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1exception.html#a0a0d7568b11c226632343c1994700034">clone</a> () const </td></tr>
+<tr class="separator:a0a0d7568b11c226632343c1994700034"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7f8545275e296c5a04b21aa92bcdb3f8"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1exception.html#a7f8545275e296c5a04b21aa92bcdb3f8">raise</a> () const </td></tr>
+<tr class="separator:a7f8545275e296c5a04b21aa92bcdb3f8"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a94e0518449bb47b2af5b1feb4a86e277"><td class="memItemLeft" align="right" valign="top">const char* </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1exception.html#a94e0518449bb47b2af5b1feb4a86e277">what</a> () const noexceptoverride</td></tr>
<tr class="separator:a94e0518449bb47b2af5b1feb4a86e277"><td class="memSeparator" colspan="2"> </td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a0a0d7568b11c226632343c1994700034"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual <a class="el" href="classxmlpp_1_1exception.html">exception</a>* xmlpp::exception::clone </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Reimplemented in <a class="el" href="classxmlpp_1_1parse__error.html#a8f700a7df65a51cc4011a87e92387351">xmlpp::parse_error</a>, <a class="el" href="classxmlpp_1_1validity__error.html#abaf941b5118c87afa10bf366376ac012">xmlpp::validity_error</a>, and <a class="el" href="classxmlpp_1_1internal__error.html#ab301a79cec0e6fedb76ed5fc8a40566c">xmlpp::internal_error</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7f8545275e296c5a04b21aa92bcdb3f8"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual void xmlpp::exception::raise </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Reimplemented in <a class="el" href="classxmlpp_1_1parse__error.html#ac95afd92936f9f3483280fa6ba0a862d">xmlpp::parse_error</a>, <a class="el" href="classxmlpp_1_1validity__error.html#aef3fc5567fcaca8a7525cb53ef87e5eb">xmlpp::validity_error</a>, and <a class="el" href="classxmlpp_1_1internal__error.html#a9742adca987fdb6c2774fc02e520b7f8">xmlpp::internal_error</a>.</p>
+
+</div>
+</div>
<a class="anchor" id="a94e0518449bb47b2af5b1feb4a86e277"></a>
<div class="memitem">
<div class="memproto">
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
<p>This is the complete list of members for <a class="el" href="classxmlpp_1_1internal__error.html">xmlpp::internal_error</a>, including all inherited members.</p>
<table class="directory">
- <tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1exception.html#aec1bbf4a42dd2ed44d269a3c31c14124">exception</a>(const Glib::ustring& message)</td><td class="entry"><a class="el" href="classxmlpp_1_1exception.html">xmlpp::exception</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
- <tr><td class="entry"><a class="el" href="classxmlpp_1_1internal__error.html#ac8c22422363ebe809517d4813903ef43">internal_error</a>(const Glib::ustring& message)</td><td class="entry"><a class="el" href="classxmlpp_1_1internal__error.html">xmlpp::internal_error</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1internal__error.html#ab301a79cec0e6fedb76ed5fc8a40566c">clone</a>() const override</td><td class="entry"><a class="el" href="classxmlpp_1_1internal__error.html">xmlpp::internal_error</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classxmlpp_1_1exception.html#aec1bbf4a42dd2ed44d269a3c31c14124">exception</a>(const Glib::ustring& message)</td><td class="entry"><a class="el" href="classxmlpp_1_1exception.html">xmlpp::exception</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1internal__error.html#ac8c22422363ebe809517d4813903ef43">internal_error</a>(const Glib::ustring& message)</td><td class="entry"><a class="el" href="classxmlpp_1_1internal__error.html">xmlpp::internal_error</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classxmlpp_1_1internal__error.html#a9742adca987fdb6c2774fc02e520b7f8">raise</a>() const override</td><td class="entry"><a class="el" href="classxmlpp_1_1internal__error.html">xmlpp::internal_error</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1exception.html#a94e0518449bb47b2af5b1feb4a86e277">what</a>() const noexceptoverride</td><td class="entry"><a class="el" href="classxmlpp_1_1exception.html">xmlpp::exception</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classxmlpp_1_1exception.html#aa0ff3bba207e893e43f501ba8d99100d">~exception</a>() noexceptoverride</td><td class="entry"><a class="el" href="classxmlpp_1_1exception.html">xmlpp::exception</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1internal__error.html#a67dc0de807b8ab4093ca43e5a3d71619">~internal_error</a>() noexceptoverride</td><td class="entry"><a class="el" href="classxmlpp_1_1internal__error.html">xmlpp::internal_error</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
<tr class="separator:ac8c22422363ebe809517d4813903ef43"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a67dc0de807b8ab4093ca43e5a3d71619"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1internal__error.html#a67dc0de807b8ab4093ca43e5a3d71619">~internal_error</a> () noexceptoverride</td></tr>
<tr class="separator:a67dc0de807b8ab4093ca43e5a3d71619"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab301a79cec0e6fedb76ed5fc8a40566c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxmlpp_1_1exception.html">exception</a>* </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1internal__error.html#ab301a79cec0e6fedb76ed5fc8a40566c">clone</a> () const override</td></tr>
+<tr class="separator:ab301a79cec0e6fedb76ed5fc8a40566c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9742adca987fdb6c2774fc02e520b7f8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1internal__error.html#a9742adca987fdb6c2774fc02e520b7f8">raise</a> () const override</td></tr>
+<tr class="separator:a9742adca987fdb6c2774fc02e520b7f8"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="inherit_header pub_methods_classxmlpp_1_1exception"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classxmlpp_1_1exception')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classxmlpp_1_1exception.html">xmlpp::exception</a></td></tr>
<tr class="memitem:aec1bbf4a42dd2ed44d269a3c31c14124 inherit pub_methods_classxmlpp_1_1exception"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1exception.html#aec1bbf4a42dd2ed44d269a3c31c14124">exception</a> (const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& message)</td></tr>
<tr class="separator:aec1bbf4a42dd2ed44d269a3c31c14124 inherit pub_methods_classxmlpp_1_1exception"><td class="memSeparator" colspan="2"> </td></tr>
</div>
</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="ab301a79cec0e6fedb76ed5fc8a40566c"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxmlpp_1_1exception.html">exception</a>* xmlpp::internal_error::clone </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Reimplemented from <a class="el" href="classxmlpp_1_1exception.html#a0a0d7568b11c226632343c1994700034">xmlpp::exception</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9742adca987fdb6c2774fc02e520b7f8"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xmlpp::internal_error::raise </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Reimplemented from <a class="el" href="classxmlpp_1_1exception.html#a7f8545275e296c5a04b21aa92bcdb3f8">xmlpp::exception</a>.</p>
+
+</div>
+</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
<p>This is the complete list of members for <a class="el" href="classxmlpp_1_1parse__error.html">xmlpp::parse_error</a>, including all inherited members.</p>
<table class="directory">
- <tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1exception.html#aec1bbf4a42dd2ed44d269a3c31c14124">exception</a>(const Glib::ustring& message)</td><td class="entry"><a class="el" href="classxmlpp_1_1exception.html">xmlpp::exception</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
- <tr><td class="entry"><a class="el" href="classxmlpp_1_1parse__error.html#a3b393340cea80548da8470006f1bcb9b">parse_error</a>(const Glib::ustring& message)</td><td class="entry"><a class="el" href="classxmlpp_1_1parse__error.html">xmlpp::parse_error</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1parse__error.html#a8f700a7df65a51cc4011a87e92387351">clone</a>() const override</td><td class="entry"><a class="el" href="classxmlpp_1_1parse__error.html">xmlpp::parse_error</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classxmlpp_1_1exception.html#aec1bbf4a42dd2ed44d269a3c31c14124">exception</a>(const Glib::ustring& message)</td><td class="entry"><a class="el" href="classxmlpp_1_1exception.html">xmlpp::exception</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1parse__error.html#a3b393340cea80548da8470006f1bcb9b">parse_error</a>(const Glib::ustring& message)</td><td class="entry"><a class="el" href="classxmlpp_1_1parse__error.html">xmlpp::parse_error</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classxmlpp_1_1parse__error.html#ac95afd92936f9f3483280fa6ba0a862d">raise</a>() const override</td><td class="entry"><a class="el" href="classxmlpp_1_1parse__error.html">xmlpp::parse_error</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1exception.html#a94e0518449bb47b2af5b1feb4a86e277">what</a>() const noexceptoverride</td><td class="entry"><a class="el" href="classxmlpp_1_1exception.html">xmlpp::exception</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classxmlpp_1_1exception.html#aa0ff3bba207e893e43f501ba8d99100d">~exception</a>() noexceptoverride</td><td class="entry"><a class="el" href="classxmlpp_1_1exception.html">xmlpp::exception</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1parse__error.html#a3a24ca1eabc8202046da1b3bcef58b34">~parse_error</a>() noexceptoverride</td><td class="entry"><a class="el" href="classxmlpp_1_1parse__error.html">xmlpp::parse_error</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
<tr class="separator:a3b393340cea80548da8470006f1bcb9b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a3a24ca1eabc8202046da1b3bcef58b34"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1parse__error.html#a3a24ca1eabc8202046da1b3bcef58b34">~parse_error</a> () noexceptoverride</td></tr>
<tr class="separator:a3a24ca1eabc8202046da1b3bcef58b34"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8f700a7df65a51cc4011a87e92387351"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxmlpp_1_1exception.html">exception</a>* </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1parse__error.html#a8f700a7df65a51cc4011a87e92387351">clone</a> () const override</td></tr>
+<tr class="separator:a8f700a7df65a51cc4011a87e92387351"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac95afd92936f9f3483280fa6ba0a862d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1parse__error.html#ac95afd92936f9f3483280fa6ba0a862d">raise</a> () const override</td></tr>
+<tr class="separator:ac95afd92936f9f3483280fa6ba0a862d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="inherit_header pub_methods_classxmlpp_1_1exception"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classxmlpp_1_1exception')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classxmlpp_1_1exception.html">xmlpp::exception</a></td></tr>
<tr class="memitem:aec1bbf4a42dd2ed44d269a3c31c14124 inherit pub_methods_classxmlpp_1_1exception"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1exception.html#aec1bbf4a42dd2ed44d269a3c31c14124">exception</a> (const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& message)</td></tr>
<tr class="separator:aec1bbf4a42dd2ed44d269a3c31c14124 inherit pub_methods_classxmlpp_1_1exception"><td class="memSeparator" colspan="2"> </td></tr>
</div>
</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a8f700a7df65a51cc4011a87e92387351"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxmlpp_1_1exception.html">exception</a>* xmlpp::parse_error::clone </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Reimplemented from <a class="el" href="classxmlpp_1_1exception.html#a0a0d7568b11c226632343c1994700034">xmlpp::exception</a>.</p>
+
+<p>Reimplemented in <a class="el" href="classxmlpp_1_1validity__error.html#abaf941b5118c87afa10bf366376ac012">xmlpp::validity_error</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac95afd92936f9f3483280fa6ba0a862d"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xmlpp::parse_error::raise </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Reimplemented from <a class="el" href="classxmlpp_1_1exception.html#a7f8545275e296c5a04b21aa92bcdb3f8">xmlpp::exception</a>.</p>
+
+<p>Reimplemented in <a class="el" href="classxmlpp_1_1validity__error.html#aef3fc5567fcaca8a7525cb53ef87e5eb">xmlpp::validity_error</a>.</p>
+
+</div>
+</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
<p>This is the complete list of members for <a class="el" href="classxmlpp_1_1validity__error.html">xmlpp::validity_error</a>, including all inherited members.</p>
<table class="directory">
- <tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1exception.html#aec1bbf4a42dd2ed44d269a3c31c14124">exception</a>(const Glib::ustring& message)</td><td class="entry"><a class="el" href="classxmlpp_1_1exception.html">xmlpp::exception</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
- <tr><td class="entry"><a class="el" href="classxmlpp_1_1parse__error.html#a3b393340cea80548da8470006f1bcb9b">parse_error</a>(const Glib::ustring& message)</td><td class="entry"><a class="el" href="classxmlpp_1_1parse__error.html">xmlpp::parse_error</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1validity__error.html#abaf941b5118c87afa10bf366376ac012">clone</a>() const override</td><td class="entry"><a class="el" href="classxmlpp_1_1validity__error.html">xmlpp::validity_error</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classxmlpp_1_1exception.html#aec1bbf4a42dd2ed44d269a3c31c14124">exception</a>(const Glib::ustring& message)</td><td class="entry"><a class="el" href="classxmlpp_1_1exception.html">xmlpp::exception</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1parse__error.html#a3b393340cea80548da8470006f1bcb9b">parse_error</a>(const Glib::ustring& message)</td><td class="entry"><a class="el" href="classxmlpp_1_1parse__error.html">xmlpp::parse_error</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classxmlpp_1_1validity__error.html#aef3fc5567fcaca8a7525cb53ef87e5eb">raise</a>() const override</td><td class="entry"><a class="el" href="classxmlpp_1_1validity__error.html">xmlpp::validity_error</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1validity__error.html#a096d4cb8a9ec64d5d0203439400fd7fd">validity_error</a>(const Glib::ustring& message)</td><td class="entry"><a class="el" href="classxmlpp_1_1validity__error.html">xmlpp::validity_error</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr><td class="entry"><a class="el" href="classxmlpp_1_1exception.html#a94e0518449bb47b2af5b1feb4a86e277">what</a>() const noexceptoverride</td><td class="entry"><a class="el" href="classxmlpp_1_1exception.html">xmlpp::exception</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classxmlpp_1_1exception.html#aa0ff3bba207e893e43f501ba8d99100d">~exception</a>() noexceptoverride</td><td class="entry"><a class="el" href="classxmlpp_1_1exception.html">xmlpp::exception</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
<tr class="separator:a096d4cb8a9ec64d5d0203439400fd7fd"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a90ab32b327ced5b0d077fad372b311e2"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1validity__error.html#a90ab32b327ced5b0d077fad372b311e2">~validity_error</a> () noexceptoverride</td></tr>
<tr class="separator:a90ab32b327ced5b0d077fad372b311e2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:abaf941b5118c87afa10bf366376ac012"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxmlpp_1_1exception.html">exception</a>* </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1validity__error.html#abaf941b5118c87afa10bf366376ac012">clone</a> () const override</td></tr>
+<tr class="separator:abaf941b5118c87afa10bf366376ac012"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aef3fc5567fcaca8a7525cb53ef87e5eb"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1validity__error.html#aef3fc5567fcaca8a7525cb53ef87e5eb">raise</a> () const override</td></tr>
+<tr class="separator:aef3fc5567fcaca8a7525cb53ef87e5eb"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="inherit_header pub_methods_classxmlpp_1_1parse__error"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classxmlpp_1_1parse__error')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classxmlpp_1_1parse__error.html">xmlpp::parse_error</a></td></tr>
<tr class="memitem:a3b393340cea80548da8470006f1bcb9b inherit pub_methods_classxmlpp_1_1parse__error"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1parse__error.html#a3b393340cea80548da8470006f1bcb9b">parse_error</a> (const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& message)</td></tr>
<tr class="separator:a3b393340cea80548da8470006f1bcb9b inherit pub_methods_classxmlpp_1_1parse__error"><td class="memSeparator" colspan="2"> </td></tr>
</div>
</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="abaf941b5118c87afa10bf366376ac012"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxmlpp_1_1exception.html">exception</a>* xmlpp::validity_error::clone </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Reimplemented from <a class="el" href="classxmlpp_1_1parse__error.html#a8f700a7df65a51cc4011a87e92387351">xmlpp::parse_error</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aef3fc5567fcaca8a7525cb53ef87e5eb"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xmlpp::validity_error::raise </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Reimplemented from <a class="el" href="classxmlpp_1_1parse__error.html#ac95afd92936f9f3483280fa6ba0a862d">xmlpp::parse_error</a>.</p>
+
+</div>
+</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:validity__error_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>validity_error.h</b></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:wrapped__exception_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>wrapped_exception.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
<li>check_for_validity_messages()
: <a class="el" href="classxmlpp_1_1Validator.html#a655f06aa683577c26dcb2edba2e9e84b">xmlpp::Validator</a>
</li>
+<li>clone()
+: <a class="el" href="classxmlpp_1_1exception.html#a0a0d7568b11c226632343c1994700034">xmlpp::exception</a>
+, <a class="el" href="classxmlpp_1_1internal__error.html#ab301a79cec0e6fedb76ed5fc8a40566c">xmlpp::internal_error</a>
+, <a class="el" href="classxmlpp_1_1parse__error.html#a8f700a7df65a51cc4011a87e92387351">xmlpp::parse_error</a>
+, <a class="el" href="classxmlpp_1_1validity__error.html#abaf941b5118c87afa10bf366376ac012">xmlpp::validity_error</a>
+</li>
<li>close()
: <a class="el" href="classxmlpp_1_1TextReader.html#a5cf337c94758e54214f7bbe23f61b13d">xmlpp::TextReader</a>
</li>
: <a class="el" href="classxmlpp_1_1AttributeDeclaration.html#ab1bc51b1d5122eb25f1fd2cb4ceb3065">xmlpp::AttributeDeclaration</a>
, <a class="el" href="classxmlpp_1_1AttributeNode.html#a005e750833d4a5e9d6ac69e7910fa5a3">xmlpp::AttributeNode</a>
, <a class="el" href="classxmlpp_1_1Document.html#a1ebb73b9ac51ca929bfd38f359964a59">xmlpp::Document</a>
-, <a class="el" href="classxmlpp_1_1Dtd.html#ac11f222663c0732d789a7d28353fbf96">xmlpp::Dtd</a>
+, <a class="el" href="classxmlpp_1_1Dtd.html#af01e0449f41509e1e5a32ee13d3b27a3">xmlpp::Dtd</a>
, <a class="el" href="classxmlpp_1_1EntityDeclaration.html#af47060083f936f71ddf6e9e930b21555">xmlpp::EntityDeclaration</a>
-, <a class="el" href="classxmlpp_1_1Node.html#aeede250f5cf6de5f55cb7bb94084ec7c">xmlpp::Node</a>
+, <a class="el" href="classxmlpp_1_1Node.html#a831eea0dbe1e51a350a9b20a2da47fc9">xmlpp::Node</a>
, <a class="el" href="classxmlpp_1_1OutputBuffer.html#a2de0e355037956329d70b990d7bc79f5">xmlpp::OutputBuffer</a>
-, <a class="el" href="classxmlpp_1_1ParserInputBuffer.html#acf1c0eacf5b5d327a864f5339818d6bf">xmlpp::ParserInputBuffer</a>
-, <a class="el" href="classxmlpp_1_1RelaxNGSchema.html#a93dd73cce2d068b08e1afdbe6588761a">xmlpp::RelaxNGSchema</a>
+, <a class="el" href="classxmlpp_1_1ParserInputBuffer.html#acb105eb192e5532e21431a82ff46bb82">xmlpp::ParserInputBuffer</a>
+, <a class="el" href="classxmlpp_1_1RelaxNGSchema.html#ab14b665829f052f619bdca07d087b62d">xmlpp::RelaxNGSchema</a>
, <a class="el" href="classxmlpp_1_1XsdSchema.html#ad46294f273868261350d4e672feccd8a">xmlpp::XsdSchema</a>
</li>
<li>Comment
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
<li>exception()
: <a class="el" href="classxmlpp_1_1exception.html#aec1bbf4a42dd2ed44d269a3c31c14124">xmlpp::exception</a>
</li>
-<li>exception_ptr_
-: <a class="el" href="classxmlpp_1_1Parser.html#acc102e249ee49903099364c35090cc12">xmlpp::Parser</a>
-, <a class="el" href="classxmlpp_1_1Validator.html#a1d44b17db2341247a0b6f2fb26b7fec3">xmlpp::Validator</a>
+<li>exception_
+: <a class="el" href="classxmlpp_1_1Parser.html#a55d7b3a8c07d23e86a9adb81630dc60c">xmlpp::Parser</a>
+, <a class="el" href="classxmlpp_1_1Validator.html#aaddf470c3f05f7c5da525917b0090984">xmlpp::Validator</a>
</li>
<li>expand()
: <a class="el" href="classxmlpp_1_1TextReader.html#a6eeec8656e65a93c7b7496f17d288882">xmlpp::TextReader</a>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
<li>check_for_validity_messages()
: <a class="el" href="classxmlpp_1_1Validator.html#a655f06aa683577c26dcb2edba2e9e84b">xmlpp::Validator</a>
</li>
+<li>clone()
+: <a class="el" href="classxmlpp_1_1exception.html#a0a0d7568b11c226632343c1994700034">xmlpp::exception</a>
+, <a class="el" href="classxmlpp_1_1internal__error.html#ab301a79cec0e6fedb76ed5fc8a40566c">xmlpp::internal_error</a>
+, <a class="el" href="classxmlpp_1_1parse__error.html#a8f700a7df65a51cc4011a87e92387351">xmlpp::parse_error</a>
+, <a class="el" href="classxmlpp_1_1validity__error.html#abaf941b5118c87afa10bf366376ac012">xmlpp::validity_error</a>
+</li>
<li>close()
: <a class="el" href="classxmlpp_1_1TextReader.html#a5cf337c94758e54214f7bbe23f61b13d">xmlpp::TextReader</a>
</li>
, <a class="el" href="classxmlpp_1_1EntityDeclaration.html#af47060083f936f71ddf6e9e930b21555">xmlpp::EntityDeclaration</a>
, <a class="el" href="classxmlpp_1_1Node.html#aeede250f5cf6de5f55cb7bb94084ec7c">xmlpp::Node</a>
, <a class="el" href="classxmlpp_1_1OutputBuffer.html#a2de0e355037956329d70b990d7bc79f5">xmlpp::OutputBuffer</a>
-, <a class="el" href="classxmlpp_1_1ParserInputBuffer.html#acf1c0eacf5b5d327a864f5339818d6bf">xmlpp::ParserInputBuffer</a>
+, <a class="el" href="classxmlpp_1_1ParserInputBuffer.html#acb105eb192e5532e21431a82ff46bb82">xmlpp::ParserInputBuffer</a>
, <a class="el" href="classxmlpp_1_1RelaxNGSchema.html#a93dd73cce2d068b08e1afdbe6588761a">xmlpp::RelaxNGSchema</a>
, <a class="el" href="classxmlpp_1_1XsdSchema.html#af5aeb6315ae2d77adc002c543b2872bb">xmlpp::XsdSchema</a>
</li>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
 
<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
+<li>raise()
+: <a class="el" href="classxmlpp_1_1exception.html#a7f8545275e296c5a04b21aa92bcdb3f8">xmlpp::exception</a>
+, <a class="el" href="classxmlpp_1_1internal__error.html#a9742adca987fdb6c2774fc02e520b7f8">xmlpp::internal_error</a>
+, <a class="el" href="classxmlpp_1_1parse__error.html#ac95afd92936f9f3483280fa6ba0a862d">xmlpp::parse_error</a>
+, <a class="el" href="classxmlpp_1_1validity__error.html#aef3fc5567fcaca8a7525cb53ef87e5eb">xmlpp::validity_error</a>
+</li>
<li>read()
: <a class="el" href="classxmlpp_1_1TextReader.html#a3a3ee347087889b3f3ef5463dd777ad8">xmlpp::TextReader</a>
</li>
: <a class="el" href="classxmlpp_1_1TextReader.html#a9110986142ac718978d8993e26b00c85">xmlpp::TextReader</a>
</li>
<li>RelaxNGSchema()
-: <a class="el" href="classxmlpp_1_1RelaxNGSchema.html#aeb0fb11bd879ec40bbaaa90c90916984">xmlpp::RelaxNGSchema</a>
+: <a class="el" href="classxmlpp_1_1RelaxNGSchema.html#a747dee0d21f943513e3d8f8460e6b2fd">xmlpp::RelaxNGSchema</a>
</li>
<li>RelaxNGValidator()
-: <a class="el" href="classxmlpp_1_1RelaxNGValidator.html#a2528a6b86fefb7ee857366e4f904dc24">xmlpp::RelaxNGValidator</a>
+: <a class="el" href="classxmlpp_1_1RelaxNGValidator.html#a390adf7ea5f61c13a35608e595d891e7">xmlpp::RelaxNGValidator</a>
</li>
<li>release_underlying()
: <a class="el" href="classxmlpp_1_1DomParser.html#aaf97f584898f6c0e34af9e0dc8e1d45e">xmlpp::DomParser</a>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
: <a class="el" href="classxmlpp_1_1TextNode.html#a21c3d468ef62f899900c5f2d08980f6f">xmlpp::TextNode</a>
</li>
<li>~TextReader()
-: <a class="el" href="classxmlpp_1_1TextReader.html#a35043a6525290428f3724e1a31918bb8">xmlpp::TextReader</a>
+: <a class="el" href="classxmlpp_1_1TextReader.html#a87d58d4ae7c3b3252bee49cdd78447e8">xmlpp::TextReader</a>
</li>
<li>~Validator()
: <a class="el" href="classxmlpp_1_1Validator.html#a436707ae4c543734a55d7dde76679406">xmlpp::Validator</a>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div>
<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
+<li>raise()
+: <a class="el" href="classxmlpp_1_1exception.html#a7f8545275e296c5a04b21aa92bcdb3f8">xmlpp::exception</a>
+, <a class="el" href="classxmlpp_1_1internal__error.html#a9742adca987fdb6c2774fc02e520b7f8">xmlpp::internal_error</a>
+, <a class="el" href="classxmlpp_1_1parse__error.html#ac95afd92936f9f3483280fa6ba0a862d">xmlpp::parse_error</a>
+, <a class="el" href="classxmlpp_1_1validity__error.html#aef3fc5567fcaca8a7525cb53ef87e5eb">xmlpp::validity_error</a>
+</li>
<li>read()
: <a class="el" href="classxmlpp_1_1TextReader.html#a3a3ee347087889b3f3ef5463dd777ad8">xmlpp::TextReader</a>
</li>
: <a class="el" href="classxmlpp_1_1TextReader.html#a87dca472c41f1554155567352caae8b1a6c870210b11f64532e0ee73ac5c6dac7">xmlpp::TextReader</a>
</li>
<li>RelaxNGSchema()
-: <a class="el" href="classxmlpp_1_1RelaxNGSchema.html#a7d309a12c26a9548c28616f4c273e001">xmlpp::RelaxNGSchema</a>
+: <a class="el" href="classxmlpp_1_1RelaxNGSchema.html#a747dee0d21f943513e3d8f8460e6b2fd">xmlpp::RelaxNGSchema</a>
</li>
<li>RelaxNGValidator()
-: <a class="el" href="classxmlpp_1_1RelaxNGValidator.html#a2528a6b86fefb7ee857366e4f904dc24">xmlpp::RelaxNGValidator</a>
+: <a class="el" href="classxmlpp_1_1RelaxNGValidator.html#a4e18b8d9e7726d5947c0d781182c049d">xmlpp::RelaxNGValidator</a>
</li>
<li>release_underlying()
: <a class="el" href="classxmlpp_1_1DomParser.html#aaf97f584898f6c0e34af9e0dc8e1d45e">xmlpp::DomParser</a>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
<li>doc_
: <a class="el" href="classxmlpp_1_1DomParser.html#ab95c1209f2311df8fe1f1f34651d2d28">xmlpp::DomParser</a>
</li>
-<li>exception_ptr_
-: <a class="el" href="classxmlpp_1_1Parser.html#acc102e249ee49903099364c35090cc12">xmlpp::Parser</a>
-, <a class="el" href="classxmlpp_1_1Validator.html#a1d44b17db2341247a0b6f2fb26b7fec3">xmlpp::Validator</a>
+<li>exception_
+: <a class="el" href="classxmlpp_1_1Parser.html#a55d7b3a8c07d23e86a9adb81630dc60c">xmlpp::Parser</a>
+, <a class="el" href="classxmlpp_1_1Validator.html#aaddf470c3f05f7c5da525917b0090984">xmlpp::Validator</a>
</li>
<li>name
: <a class="el" href="structxmlpp_1_1SaxParser_1_1Attribute.html#ac05c407cd28c6115ae860cb12f12ed2a">xmlpp::SaxParser::Attribute</a>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
: <a class="el" href="classxmlpp_1_1TextNode.html#a21c3d468ef62f899900c5f2d08980f6f">xmlpp::TextNode</a>
</li>
<li>~TextReader()
-: <a class="el" href="classxmlpp_1_1TextReader.html#a35043a6525290428f3724e1a31918bb8">xmlpp::TextReader</a>
+: <a class="el" href="classxmlpp_1_1TextReader.html#a87d58d4ae7c3b3252bee49cdd78447e8">xmlpp::TextReader</a>
</li>
<li>~Validator()
: <a class="el" href="classxmlpp_1_1Validator.html#a436707ae4c543734a55d7dde76679406">xmlpp::Validator</a>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- fragment --> </div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- top -->
<div class="contents">
<div class="textblock">Here is a list of all namespace members with links to the namespace documentation for each member:</div><ul>
+<li>format_printf_message()
+: <a class="el" href="namespacexmlpp.html#a1809fc2b27ae5a120f40d7121e8f2a71">xmlpp</a>
+</li>
<li>format_xml_error()
: <a class="el" href="namespacexmlpp.html#a4599f55c1821aeb0caa0b7be18cb5cfb">xmlpp</a>
</li>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- top -->
<div class="contents">
 <ul>
+<li>format_printf_message()
+: <a class="el" href="namespacexmlpp.html#a1809fc2b27ae5a120f40d7121e8f2a71">xmlpp</a>
+</li>
<li>format_xml_error()
: <a class="el" href="namespacexmlpp.html#a4599f55c1821aeb0caa0b7be18cb5cfb">xmlpp</a>
</li>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
+<tr class="memitem:a1809fc2b27ae5a120f40d7121e8f2a71"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexmlpp.html#a1809fc2b27ae5a120f40d7121e8f2a71">format_printf_message</a> (const char* fmt, va_list args)</td></tr>
+<tr class="memdesc:a1809fc2b27ae5a120f40d7121e8f2a71"><td class="mdescLeft"> </td><td class="mdescRight">Format a message from a function with C-style variadic parameters. <a href="#a1809fc2b27ae5a120f40d7121e8f2a71">More...</a><br /></td></tr>
+<tr class="separator:a1809fc2b27ae5a120f40d7121e8f2a71"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4599f55c1821aeb0caa0b7be18cb5cfb"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexmlpp.html#a4599f55c1821aeb0caa0b7be18cb5cfb">format_xml_error</a> (const _xmlError* error=nullptr)</td></tr>
<tr class="memdesc:a4599f55c1821aeb0caa0b7be18cb5cfb"><td class="mdescLeft"> </td><td class="mdescRight">Format an _xmlError struct into a text string, suitable for printing. <a href="#a4599f55c1821aeb0caa0b7be18cb5cfb">More...</a><br /></td></tr>
<tr class="separator:a4599f55c1821aeb0caa0b7be18cb5cfb"><td class="memSeparator" colspan="2"> </td></tr>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a1809fc2b27ae5a120f40d7121e8f2a71"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a> xmlpp::format_printf_message </td>
+ <td>(</td>
+ <td class="paramtype">const char * </td>
+ <td class="paramname"><em>fmt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">va_list </td>
+ <td class="paramname"><em>args</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Format a message from a function with C-style variadic parameters. </p>
+<p>Helper function that formats a message supplied in the form of a printf-style format specification and zero or more ... parameters.</p>
+<div class="fragment"><div class="line"><span class="comment">// Typical call:</span></div>
+<div class="line"><span class="keywordtype">void</span> f(<span class="keyword">const</span> <span class="keywordtype">char</span>* fmt, ...)</div>
+<div class="line">{</div>
+<div class="line"> va_list args;</div>
+<div class="line"> va_start(args, fmt);</div>
+<div class="line"> <a class="codeRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a> msg = <a class="code" href="namespacexmlpp.html#a1809fc2b27ae5a120f40d7121e8f2a71">xmlpp::format_printf_message</a>(fmt, args);</div>
+<div class="line"> va_end(args);</div>
+<div class="line"> <span class="comment">// ...</span></div>
+<div class="line">}</div>
+</div><!-- fragment --><dl class="since_3_0"><dt><b><a class="el" href="since_3_0.html#_since_3_0000010">Since libxml++ 3.0:</a></b></dt><dd></dd></dl>
+
+</div>
+</div>
<a class="anchor" id="a4599f55c1821aeb0caa0b7be18cb5cfb"></a>
<div class="memitem">
<div class="memproto">
<dl class="since_2_36"><dt><b><a class="el" href="since_2_36.html#_since_2_36000005">Since libxml++ 2.36:</a></b></dt><dd></dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">error</td><td>Pointer to an _xmlError struct or <code>0</code>. If <code>0</code>, the error returned by xmlGetLastError() is used. </td></tr>
+ <tr><td class="paramname">error</td><td>Pointer to an _xmlError struct or <code>nullptr</code>. If <code>nullptr</code>, the error returned by xmlGetLastError() is used. </td></tr>
</table>
</dd>
</dl>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:48 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:48 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:48 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:48 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:48 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
<dd></dd>
<dt><a class="anchor" id="_since_3_0000007"></a>Member <a class="el" href="classxmlpp_1_1Dtd.html#acf7c06290f177114a998b2253bc1ecdb">xmlpp::Dtd::parse_subset</a> (const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& external, const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& system)</dt>
<dd></dd>
-<dt><a class="anchor" id="_since_3_0000020"></a>Member <a class="el" href="classxmlpp_1_1DtdValidator.html#a93294fb97b4a833718d22ab0a9abb90a">xmlpp::DtdValidator::DtdValidator</a> (<a class="el" href="classxmlpp_1_1Dtd.html" title="Represents an XML DTD for validating XML files. ">Dtd</a>* dtd, bool take_ownership)</dt>
+<dt><a class="anchor" id="_since_3_0000021"></a>Member <a class="el" href="classxmlpp_1_1DtdValidator.html#a93294fb97b4a833718d22ab0a9abb90a">xmlpp::DtdValidator::DtdValidator</a> (<a class="el" href="classxmlpp_1_1Dtd.html" title="Represents an XML DTD for validating XML files. ">Dtd</a>* dtd, bool take_ownership)</dt>
<dd></dd>
-<dt><a class="anchor" id="_since_3_0000010"></a>Member <a class="el" href="classxmlpp_1_1Element.html#ae115a04095ee5f279a8375ff2132b966">xmlpp::Element::add_child_element</a> (const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& name, const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& ns_prefix=<a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring()</a>)</dt>
+<dt><a class="anchor" id="_since_3_0000011"></a>Member <a class="el" href="classxmlpp_1_1Element.html#ae115a04095ee5f279a8375ff2132b966">xmlpp::Element::add_child_element</a> (const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& name, const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& ns_prefix=<a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring()</a>)</dt>
<dd>Replaces Node::add_child() </dd>
-<dt><a class="anchor" id="_since_3_0000011"></a>Member <a class="el" href="classxmlpp_1_1Element.html#a965bb4de2f18d6b10e1f62e85e190548">xmlpp::Element::add_child_element</a> (<a class="el" href="classxmlpp_1_1Node.html" title="Represents XML Nodes. ">xmlpp::Node</a>* previous_sibling, const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& name, const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& ns_prefix=<a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring()</a>)</dt>
+<dt><a class="anchor" id="_since_3_0000012"></a>Member <a class="el" href="classxmlpp_1_1Element.html#a965bb4de2f18d6b10e1f62e85e190548">xmlpp::Element::add_child_element</a> (<a class="el" href="classxmlpp_1_1Node.html" title="Represents XML Nodes. ">xmlpp::Node</a>* previous_sibling, const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& name, const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& ns_prefix=<a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring()</a>)</dt>
<dd>Replaces Node::add_child() </dd>
-<dt><a class="anchor" id="_since_3_0000012"></a>Member <a class="el" href="classxmlpp_1_1Element.html#a00487fbeecf8317f1c0d7699e2540f1b">xmlpp::Element::add_child_element_before</a> (<a class="el" href="classxmlpp_1_1Node.html" title="Represents XML Nodes. ">xmlpp::Node</a>* next_sibling, const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& name, const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& ns_prefix=<a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring()</a>)</dt>
+<dt><a class="anchor" id="_since_3_0000013"></a>Member <a class="el" href="classxmlpp_1_1Element.html#a00487fbeecf8317f1c0d7699e2540f1b">xmlpp::Element::add_child_element_before</a> (<a class="el" href="classxmlpp_1_1Node.html" title="Represents XML Nodes. ">xmlpp::Node</a>* next_sibling, const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& name, const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& ns_prefix=<a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring()</a>)</dt>
<dd>Replaces Node::add_child_before() </dd>
-<dt><a class="anchor" id="_since_3_0000015"></a>Member <a class="el" href="classxmlpp_1_1Element.html#ad357f6bfb04dd98342c0646c491ac46b">xmlpp::Element::add_child_element_before_with_new_ns</a> (<a class="el" href="classxmlpp_1_1Node.html" title="Represents XML Nodes. ">xmlpp::Node</a>* next_sibling, const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& name, const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& ns_uri, const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& ns_prefix=<a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring()</a>)</dt>
+<dt><a class="anchor" id="_since_3_0000016"></a>Member <a class="el" href="classxmlpp_1_1Element.html#ad357f6bfb04dd98342c0646c491ac46b">xmlpp::Element::add_child_element_before_with_new_ns</a> (<a class="el" href="classxmlpp_1_1Node.html" title="Represents XML Nodes. ">xmlpp::Node</a>* next_sibling, const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& name, const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& ns_uri, const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& ns_prefix=<a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring()</a>)</dt>
<dd>Replaces Node::add_child_before_with_new_ns() </dd>
-<dt><a class="anchor" id="_since_3_0000014"></a>Member <a class="el" href="classxmlpp_1_1Element.html#acd531d6a2a5853887cb3c6b607098e7d">xmlpp::Element::add_child_element_with_new_ns</a> (<a class="el" href="classxmlpp_1_1Node.html" title="Represents XML Nodes. ">xmlpp::Node</a>* previous_sibling, const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& name, const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& ns_uri, const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& ns_prefix=<a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring()</a>)</dt>
+<dt><a class="anchor" id="_since_3_0000015"></a>Member <a class="el" href="classxmlpp_1_1Element.html#acd531d6a2a5853887cb3c6b607098e7d">xmlpp::Element::add_child_element_with_new_ns</a> (<a class="el" href="classxmlpp_1_1Node.html" title="Represents XML Nodes. ">xmlpp::Node</a>* previous_sibling, const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& name, const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& ns_uri, const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& ns_prefix=<a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring()</a>)</dt>
<dd>Replaces Node::add_child_with_new_ns() </dd>
-<dt><a class="anchor" id="_since_3_0000013"></a>Member <a class="el" href="classxmlpp_1_1Element.html#a513ea77c165a42504e96dcefde0ec635">xmlpp::Element::add_child_element_with_new_ns</a> (const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& name, const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& ns_uri, const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& ns_prefix=<a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring()</a>)</dt>
+<dt><a class="anchor" id="_since_3_0000014"></a>Member <a class="el" href="classxmlpp_1_1Element.html#a513ea77c165a42504e96dcefde0ec635">xmlpp::Element::add_child_element_with_new_ns</a> (const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& name, const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& ns_uri, const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& ns_prefix=<a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring()</a>)</dt>
<dd>Replaces Node::add_child_with_new_ns() </dd>
-<dt><a class="anchor" id="_since_3_0000017"></a>Member <a class="el" href="classxmlpp_1_1Element.html#a9004391ab8e39387919bef0626e2c57e">xmlpp::Element::get_first_child_text</a> () const </dt>
+<dt><a class="anchor" id="_since_3_0000018"></a>Member <a class="el" href="classxmlpp_1_1Element.html#a9004391ab8e39387919bef0626e2c57e">xmlpp::Element::get_first_child_text</a> () const </dt>
<dd>Replaces get_child_text(). </dd>
-<dt><a class="anchor" id="_since_3_0000016"></a>Member <a class="el" href="classxmlpp_1_1Element.html#ab69d8c22b51bcfddebc1b52d0739db8c">xmlpp::Element::get_first_child_text</a> ()</dt>
+<dt><a class="anchor" id="_since_3_0000017"></a>Member <a class="el" href="classxmlpp_1_1Element.html#ab69d8c22b51bcfddebc1b52d0739db8c">xmlpp::Element::get_first_child_text</a> ()</dt>
<dd>Replaces get_child_text(). </dd>
-<dt><a class="anchor" id="_since_3_0000018"></a>Member <a class="el" href="classxmlpp_1_1Element.html#aa2a01d4e3be960a5025b6787690cf7e8">xmlpp::Element::set_first_child_text</a> (const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& content)</dt>
+<dt><a class="anchor" id="_since_3_0000019"></a>Member <a class="el" href="classxmlpp_1_1Element.html#aa2a01d4e3be960a5025b6787690cf7e8">xmlpp::Element::set_first_child_text</a> (const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& content)</dt>
<dd>Replaces set_child_text(). </dd>
-<dt><a class="anchor" id="_since_3_0000019"></a>Member <a class="el" href="classxmlpp_1_1Node.html#af3af70bdc909d8d272b3df0634fb291b">xmlpp::Node::remove_node</a> (<a class="el" href="classxmlpp_1_1Node.html" title="Represents XML Nodes. ">Node</a>* node)</dt>
+<dt><a class="anchor" id="_since_3_0000010"></a>Member <a class="el" href="namespacexmlpp.html#a1809fc2b27ae5a120f40d7121e8f2a71">xmlpp::format_printf_message</a> (const char* fmt, va_list args)</dt>
+<dd></dd>
+<dt><a class="anchor" id="_since_3_0000020"></a>Member <a class="el" href="classxmlpp_1_1Node.html#af3af70bdc909d8d272b3df0634fb291b">xmlpp::Node::remove_node</a> (<a class="el" href="classxmlpp_1_1Node.html" title="Represents XML Nodes. ">Node</a>* node)</dt>
<dd>Replaces remove_child()</dd>
</dl>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:37 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:48 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libxml++
-  <span id="projectnumber">2.91.1</span>
+  <span id="projectnumber">2.91.2</span>
</div>
</td>
</tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Mon Oct 5 2015 11:15:38 for libxml++ by  <a href="http://www.doxygen.org/index.html">
+Generated on Fri Oct 30 2015 10:48:49 for libxml++ by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
<keyword type="struct" name="xmlpp::exception" link="classxmlpp_1_1exception.html"/>
<keyword type="function" name="xmlpp::exception::exception" link="classxmlpp_1_1exception.html#aec1bbf4a42dd2ed44d269a3c31c14124"/>
<keyword type="function" name="xmlpp::exception::~exception" link="classxmlpp_1_1exception.html#aa0ff3bba207e893e43f501ba8d99100d"/>
+ <keyword type="function" name="xmlpp::exception::clone" link="classxmlpp_1_1exception.html#a0a0d7568b11c226632343c1994700034"/>
+ <keyword type="function" name="xmlpp::exception::raise" link="classxmlpp_1_1exception.html#a7f8545275e296c5a04b21aa92bcdb3f8"/>
<keyword type="function" name="xmlpp::exception::what" link="classxmlpp_1_1exception.html#a94e0518449bb47b2af5b1feb4a86e277"/>
<keyword type="struct" name="xmlpp::internal_error" link="classxmlpp_1_1internal__error.html"/>
<keyword type="function" name="xmlpp::internal_error::internal_error" link="classxmlpp_1_1internal__error.html#ac8c22422363ebe809517d4813903ef43"/>
<keyword type="function" name="xmlpp::internal_error::~internal_error" link="classxmlpp_1_1internal__error.html#a67dc0de807b8ab4093ca43e5a3d71619"/>
+ <keyword type="function" name="xmlpp::internal_error::clone" link="classxmlpp_1_1internal__error.html#ab301a79cec0e6fedb76ed5fc8a40566c"/>
+ <keyword type="function" name="xmlpp::internal_error::raise" link="classxmlpp_1_1internal__error.html#a9742adca987fdb6c2774fc02e520b7f8"/>
<keyword type="struct" name="xmlpp::IStreamParserInputBuffer" link="classxmlpp_1_1IStreamParserInputBuffer.html"/>
<keyword type="function" name="xmlpp::IStreamParserInputBuffer::IStreamParserInputBuffer" link="classxmlpp_1_1IStreamParserInputBuffer.html#aba70d93277d719a332b1a75fc8cf221c"/>
<keyword type="function" name="xmlpp::IStreamParserInputBuffer::~IStreamParserInputBuffer" link="classxmlpp_1_1IStreamParserInputBuffer.html#a537279939b28048b9f1761b42bd0423f"/>
<keyword type="struct" name="xmlpp::parse_error" link="classxmlpp_1_1parse__error.html"/>
<keyword type="function" name="xmlpp::parse_error::parse_error" link="classxmlpp_1_1parse__error.html#a3b393340cea80548da8470006f1bcb9b"/>
<keyword type="function" name="xmlpp::parse_error::~parse_error" link="classxmlpp_1_1parse__error.html#a3a24ca1eabc8202046da1b3bcef58b34"/>
+ <keyword type="function" name="xmlpp::parse_error::clone" link="classxmlpp_1_1parse__error.html#a8f700a7df65a51cc4011a87e92387351"/>
+ <keyword type="function" name="xmlpp::parse_error::raise" link="classxmlpp_1_1parse__error.html#ac95afd92936f9f3483280fa6ba0a862d"/>
<keyword type="struct" name="xmlpp::Parser" link="classxmlpp_1_1Parser.html"/>
<keyword type="typedef" name="xmlpp::Parser::size_type" link="classxmlpp_1_1Parser.html#a8e7c797006bb5398629cf98f4141e3e6"/>
<keyword type="function" name="xmlpp::Parser::Parser" link="classxmlpp_1_1Parser.html#ab2990f22147cb2163eda6e773fb2eb68"/>
<keyword type="function" name="xmlpp::TextReader::TextReader" link="classxmlpp_1_1TextReader.html#ae40f56d8714593bef690bedafad23f8f"/>
<keyword type="function" name="xmlpp::TextReader::TextReader" link="classxmlpp_1_1TextReader.html#a710cf31f25d144bb790180c53acda367"/>
<keyword type="function" name="xmlpp::TextReader::TextReader" link="classxmlpp_1_1TextReader.html#ac5cdb5b6d5c8e6809d65a398f417a1fb"/>
- <keyword type="function" name="xmlpp::TextReader::~TextReader" link="classxmlpp_1_1TextReader.html#a35043a6525290428f3724e1a31918bb8"/>
+ <keyword type="function" name="xmlpp::TextReader::~TextReader" link="classxmlpp_1_1TextReader.html#a87d58d4ae7c3b3252bee49cdd78447e8"/>
<keyword type="function" name="xmlpp::TextReader::close" link="classxmlpp_1_1TextReader.html#a5cf337c94758e54214f7bbe23f61b13d"/>
<keyword type="function" name="xmlpp::TextReader::expand" link="classxmlpp_1_1TextReader.html#a6eeec8656e65a93c7b7496f17d288882"/>
<keyword type="function" name="xmlpp::TextReader::get_attribute" link="classxmlpp_1_1TextReader.html#a02a5471219d98c52f5c77a10905a8bac"/>
<keyword type="struct" name="xmlpp::validity_error" link="classxmlpp_1_1validity__error.html"/>
<keyword type="function" name="xmlpp::validity_error::validity_error" link="classxmlpp_1_1validity__error.html#a096d4cb8a9ec64d5d0203439400fd7fd"/>
<keyword type="function" name="xmlpp::validity_error::~validity_error" link="classxmlpp_1_1validity__error.html#a90ab32b327ced5b0d077fad372b311e2"/>
+ <keyword type="function" name="xmlpp::validity_error::clone" link="classxmlpp_1_1validity__error.html#abaf941b5118c87afa10bf366376ac012"/>
+ <keyword type="function" name="xmlpp::validity_error::raise" link="classxmlpp_1_1validity__error.html#aef3fc5567fcaca8a7525cb53ef87e5eb"/>
<keyword type="struct" name="xmlpp::XIncludeEnd" link="classxmlpp_1_1XIncludeEnd.html"/>
<keyword type="function" name="xmlpp::XIncludeEnd::XIncludeEnd" link="classxmlpp_1_1XIncludeEnd.html#aeb57498d5214181abcacab56cfed755e"/>
<keyword type="function" name="xmlpp::XIncludeEnd::~XIncludeEnd" link="classxmlpp_1_1XIncludeEnd.html#a486cd92ce35854bd2c805a7d018aa5e0"/>
<keyword type="function" name="xmlpp::XsdValidator::release_underlying" link="classxmlpp_1_1XsdValidator.html#ad1fd16066f28b3685c12412ee94c5f60"/>
<keyword type="enum" name="xmlpp::XmlEntityType" link="namespacexmlpp.html#a0fa47f0fb103cf9ea460a2fef3f5be49"/>
<keyword type="enum" name="xmlpp::XPathResultType" link="namespacexmlpp.html#ac91075edf569a213343d7d13ae4be3c8"/>
+ <keyword type="function" name="xmlpp::format_printf_message" link="namespacexmlpp.html#a1809fc2b27ae5a120f40d7121e8f2a71"/>
<keyword type="function" name="xmlpp::format_xml_error" link="namespacexmlpp.html#a4599f55c1821aeb0caa0b7be18cb5cfb"/>
<keyword type="function" name="xmlpp::format_xml_parser_error" link="namespacexmlpp.html#a45a70622ecc99bda595ecc83991de21c"/>
<keyword type="function" name="xmlpp::operator>>" link="namespacexmlpp.html#ac376e76a711973f9aa23c0dc68fdc301"/>
<namespace>xmlpp</namespace>
<member kind="function">
<type>Glib::ustring</type>
+ <name>format_printf_message</name>
+ <anchorfile>namespacexmlpp.html</anchorfile>
+ <anchor>a1809fc2b27ae5a120f40d7121e8f2a71</anchor>
+ <arglist>(const char *fmt, va_list args)</arglist>
+ </member>
+ <member kind="function">
+ <type>Glib::ustring</type>
<name>format_xml_error</name>
<anchorfile>namespacexmlpp.html</anchorfile>
<anchor>a4599f55c1821aeb0caa0b7be18cb5cfb</anchor>
<namespace>xmlpp</namespace>
</compound>
<compound kind="file">
+ <name>wrapped_exception.h</name>
+ <path>/home/kjell/checkout/gnome/libxml++/libxml++/exceptions/</path>
+ <filename>wrapped__exception_8h</filename>
+ <namespace>xmlpp</namespace>
+ </compound>
+ <compound kind="file">
<name>istreamparserinputbuffer.h</name>
<path>/home/kjell/checkout/gnome/libxml++/libxml++/io/</path>
<filename>istreamparserinputbuffer_8h</filename>
<anchor>aa0ff3bba207e893e43f501ba8d99100d</anchor>
<arglist>() noexceptoverride</arglist>
</member>
+ <member kind="function" virtualness="virtual">
+ <type>virtual exception *</type>
+ <name>clone</name>
+ <anchorfile>classxmlpp_1_1exception.html</anchorfile>
+ <anchor>a0a0d7568b11c226632343c1994700034</anchor>
+ <arglist>() const </arglist>
+ </member>
+ <member kind="function" virtualness="virtual">
+ <type>virtual void</type>
+ <name>raise</name>
+ <anchorfile>classxmlpp_1_1exception.html</anchorfile>
+ <anchor>a7f8545275e296c5a04b21aa92bcdb3f8</anchor>
+ <arglist>() const </arglist>
+ </member>
<member kind="function">
<type>const char *</type>
<name>what</name>
<anchor>a67dc0de807b8ab4093ca43e5a3d71619</anchor>
<arglist>() noexceptoverride</arglist>
</member>
+ <member kind="function">
+ <type>exception *</type>
+ <name>clone</name>
+ <anchorfile>classxmlpp_1_1internal__error.html</anchorfile>
+ <anchor>ab301a79cec0e6fedb76ed5fc8a40566c</anchor>
+ <arglist>() const override</arglist>
+ </member>
+ <member kind="function">
+ <type>void</type>
+ <name>raise</name>
+ <anchorfile>classxmlpp_1_1internal__error.html</anchorfile>
+ <anchor>a9742adca987fdb6c2774fc02e520b7f8</anchor>
+ <arglist>() const override</arglist>
+ </member>
</compound>
<compound kind="class">
<name>xmlpp::IStreamParserInputBuffer</name>
<anchor>a3a24ca1eabc8202046da1b3bcef58b34</anchor>
<arglist>() noexceptoverride</arglist>
</member>
+ <member kind="function">
+ <type>exception *</type>
+ <name>clone</name>
+ <anchorfile>classxmlpp_1_1parse__error.html</anchorfile>
+ <anchor>a8f700a7df65a51cc4011a87e92387351</anchor>
+ <arglist>() const override</arglist>
+ </member>
+ <member kind="function">
+ <type>void</type>
+ <name>raise</name>
+ <anchorfile>classxmlpp_1_1parse__error.html</anchorfile>
+ <anchor>ac95afd92936f9f3483280fa6ba0a862d</anchor>
+ <arglist>() const override</arglist>
+ </member>
</compound>
<compound kind="class">
<name>xmlpp::Parser</name>
<arglist></arglist>
</member>
<member kind="variable" protection="protected">
- <type>std::exception_ptr</type>
- <name>exception_ptr_</name>
+ <type>std::unique_ptr< exception ></type>
+ <name>exception_</name>
<anchorfile>classxmlpp_1_1Parser.html</anchorfile>
- <anchor>acc102e249ee49903099364c35090cc12</anchor>
+ <anchor>a55d7b3a8c07d23e86a9adb81630dc60c</anchor>
<arglist></arglist>
</member>
</compound>
<type></type>
<name>~TextReader</name>
<anchorfile>classxmlpp_1_1TextReader.html</anchorfile>
- <anchor>a35043a6525290428f3724e1a31918bb8</anchor>
- <arglist>()</arglist>
+ <anchor>a87d58d4ae7c3b3252bee49cdd78447e8</anchor>
+ <arglist>() override</arglist>
</member>
<member kind="function">
<type>void</type>
<arglist>(void *ctx, const char *msg,...)</arglist>
</member>
<member kind="variable" protection="protected">
- <type>std::exception_ptr</type>
- <name>exception_ptr_</name>
+ <type>std::unique_ptr< exception ></type>
+ <name>exception_</name>
<anchorfile>classxmlpp_1_1Validator.html</anchorfile>
- <anchor>a1d44b17db2341247a0b6f2fb26b7fec3</anchor>
+ <anchor>aaddf470c3f05f7c5da525917b0090984</anchor>
<arglist></arglist>
</member>
<member kind="variable" protection="protected">
<anchor>a90ab32b327ced5b0d077fad372b311e2</anchor>
<arglist>() noexceptoverride</arglist>
</member>
+ <member kind="function">
+ <type>exception *</type>
+ <name>clone</name>
+ <anchorfile>classxmlpp_1_1validity__error.html</anchorfile>
+ <anchor>abaf941b5118c87afa10bf366376ac012</anchor>
+ <arglist>() const override</arglist>
+ </member>
+ <member kind="function">
+ <type>void</type>
+ <name>raise</name>
+ <anchorfile>classxmlpp_1_1validity__error.html</anchorfile>
+ <anchor>aef3fc5567fcaca8a7525cb53ef87e5eb</anchor>
+ <arglist>() const override</arglist>
+ </member>
</compound>
<compound kind="class">
<name>xmlpp::XIncludeEnd</name>
</member>
<member kind="function">
<type>Glib::ustring</type>
+ <name>format_printf_message</name>
+ <anchorfile>namespacexmlpp.html</anchorfile>
+ <anchor>a1809fc2b27ae5a120f40d7121e8f2a71</anchor>
+ <arglist>(const char *fmt, va_list args)</arglist>
+ </member>
+ <member kind="function">
+ <type>Glib::ustring</type>
<name>format_xml_error</name>
<anchorfile>namespacexmlpp.html</anchorfile>
<anchor>a4599f55c1821aeb0caa0b7be18cb5cfb</anchor>
textreader/textreader$(EXEEXT)
subdir = examples
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
- $(top_srcdir)/macros/depcomp $(dist_noinst_DATA) \
- $(top_srcdir)/macros/test-driver README
+ $(top_srcdir)/build/depcomp $(dist_noinst_DATA) \
+ $(top_srcdir)/build/test-driver README
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/macros/libtool.m4 \
- $(top_srcdir)/macros/ltoptions.m4 \
- $(top_srcdir)/macros/ltsugar.m4 \
- $(top_srcdir)/macros/ltversion.m4 \
- $(top_srcdir)/macros/lt~obsolete.m4 $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/build/cxx_std.m4 \
+ $(top_srcdir)/build/libtool.m4 \
+ $(top_srcdir)/build/ltoptions.m4 \
+ $(top_srcdir)/build/ltsugar.m4 \
+ $(top_srcdir)/build/ltversion.m4 \
+ $(top_srcdir)/build/lt~obsolete.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES =
-depcomp = $(SHELL) $(top_srcdir)/macros/depcomp
+depcomp = $(SHELL) $(top_srcdir)/build/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
AM_RECURSIVE_TARGETS = check recheck
TEST_SUITE_LOG = test-suite.log
TEST_EXTENSIONS = @EXEEXT@ .test
-LOG_DRIVER = $(SHELL) $(top_srcdir)/macros/test-driver
+LOG_DRIVER = $(SHELL) $(top_srcdir)/build/test-driver
LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS)
am__set_b = \
case '$@' in \
am__test_logs1 = $(TESTS:=.log)
am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log)
TEST_LOGS = $(am__test_logs2:.test.log=.log)
-TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/macros/test-driver
+TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/build/test-driver
TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
$(TEST_LOG_FLAGS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
{
}
+void MyException::raise() const
+{
+ throw *this;
+}
+
+xmlpp::exception* MyException::clone() const
+{
+ return new MyException(*this);
+}
+
/*
* MySaxParser implementation
*/
public:
MyException();
~MyException() noexcept override;
+ void raise() const override;
+ xmlpp::exception* clone() const override;
};
class MySaxParser : public xmlpp::SaxParser
build_triplet = @build@
host_triplet = @host@
DIST_COMMON = $(srcdir)/filelist.am $(srcdir)/Makefile.in \
- $(srcdir)/Makefile.am $(top_srcdir)/macros/depcomp \
+ $(srcdir)/Makefile.am $(top_srcdir)/build/depcomp \
$(nobase_library_include_HEADERS)
subdir = libxml++
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/macros/libtool.m4 \
- $(top_srcdir)/macros/ltoptions.m4 \
- $(top_srcdir)/macros/ltsugar.m4 \
- $(top_srcdir)/macros/ltversion.m4 \
- $(top_srcdir)/macros/lt~obsolete.m4 $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/build/cxx_std.m4 \
+ $(top_srcdir)/build/libtool.m4 \
+ $(top_srcdir)/build/ltoptions.m4 \
+ $(top_srcdir)/build/ltsugar.m4 \
+ $(top_srcdir)/build/ltversion.m4 \
+ $(top_srcdir)/build/lt~obsolete.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
relaxngschema.lo schemabase.lo xsdschema.lo
am__dirstamp = $(am__leading_dot)dirstamp
am__objects_2 = exceptions/exception.lo exceptions/parse_error.lo \
- exceptions/validity_error.lo exceptions/internal_error.lo
+ exceptions/validity_error.lo exceptions/internal_error.lo \
+ exceptions/wrapped_exception.lo
am__objects_3 = io/istreamparserinputbuffer.lo io/outputbuffer.lo \
io/ostreamoutputbuffer.lo io/parserinputbuffer.lo
am__objects_4 = nodes/cdatanode.lo nodes/commentnode.lo \
am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES =
-depcomp = $(SHELL) $(top_srcdir)/macros/depcomp
+depcomp = $(SHELL) $(top_srcdir)/build/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
exceptions/exception.h \
exceptions/parse_error.h \
exceptions/validity_error.h \
- exceptions/internal_error.h
+ exceptions/internal_error.h \
+ exceptions/wrapped_exception.h
h_io_sources_public = \
io/istreamparserinputbuffer.h \
exceptions/$(DEPDIR)/$(am__dirstamp)
exceptions/internal_error.lo: exceptions/$(am__dirstamp) \
exceptions/$(DEPDIR)/$(am__dirstamp)
+exceptions/wrapped_exception.lo: exceptions/$(am__dirstamp) \
+ exceptions/$(DEPDIR)/$(am__dirstamp)
io/$(am__dirstamp):
@$(MKDIR_P) io
@: > io/$(am__dirstamp)
@AMDEP_TRUE@@am__include@ @am__quote@exceptions/$(DEPDIR)/internal_error.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@exceptions/$(DEPDIR)/parse_error.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@exceptions/$(DEPDIR)/validity_error.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@exceptions/$(DEPDIR)/wrapped_exception.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@io/$(DEPDIR)/istreamparserinputbuffer.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@io/$(DEPDIR)/ostreamoutputbuffer.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@io/$(DEPDIR)/outputbuffer.Plo@am__quote@
{
if(encoding.empty())
{
- //If we don't specify this to the xmlDocDump* functions (using 0 instead),
+ //If we don't specify this to the xmlDocDump* functions (using nullptr instead),
//then some other encoding is used, causing them to fail on non-ASCII characters.
return "UTF-8";
}
{
auto dtd = xmlGetIntSubset(impl_);
if(!dtd)
- return 0;
+ return nullptr;
if(!dtd->_private)
dtd->_private = new Dtd(dtd);
{
auto dtd = xmlCreateIntSubset(impl_,
(const xmlChar*)name.c_str(),
- external_id.empty() ? (const xmlChar*)0 : (const xmlChar*)external_id.c_str(),
- system_id.empty() ? (const xmlChar*)0 : (const xmlChar*)system_id.c_str());
+ external_id.empty() ? nullptr : (const xmlChar*)external_id.c_str(),
+ system_id.empty() ? nullptr : (const xmlChar*)system_id.c_str());
if (dtd && !dtd->_private)
dtd->_private = new Dtd(dtd);
{
auto root = xmlDocGetRootElement(impl_);
if(root == nullptr)
- return 0;
+ return nullptr;
else
{
Node::create_wrapper(root);
const Glib::ustring& ns_uri,
const Glib::ustring& ns_prefix)
{
- auto node = xmlNewDocNode(impl_, 0, (const xmlChar*)name.c_str(), 0);
+ auto node = xmlNewDocNode(impl_, nullptr, (const xmlChar*)name.c_str(), nullptr);
if (!node)
throw internal_error("Could not create root element node " + name);
bool recursive)
{
if (!node)
- return 0;
+ return nullptr;
//Create the node, by copying:
auto imported_node = xmlDocCopyNode(const_cast<xmlNode*>(node->cobj()), impl_, recursive);
const Glib::ustring& content)
{
auto entity = xmlAddDocEntity( impl_, (const xmlChar*) name.c_str(), type,
- publicId.empty() ? (const xmlChar*)0 : (const xmlChar*)publicId.c_str(),
- systemId.empty() ? (const xmlChar*)0 : (const xmlChar*)systemId.c_str(),
+ publicId.empty() ? nullptr : (const xmlChar*)publicId.c_str(),
+ systemId.empty() ? nullptr : (const xmlChar*)systemId.c_str(),
(const xmlChar*) content.c_str() );
if (!entity)
throw internal_error("Could not add entity declaration " + name);
/** Create a new C++ wrapper for an xmlDoc struct.
* The created xmlpp::Document takes ownership of the xmlDoc.
* When the Document is deleted, so is the xmlDoc and all its nodes.
- * @param doc A pointer to an xmlDoc struct. Must not be <tt>0</tt>.
+ * @param doc A pointer to an xmlDoc struct. Must not be <tt>nullptr</tt>.
*/
explicit Document(_xmlDoc* doc);
Glib::ustring get_encoding() const;
/** Get the internal subset of this document.
- * @returns A pointer to the DTD, or <tt>0</tt> if not found.
+ * @returns A pointer to the DTD, or <tt>nullptr</tt> if not found.
*/
Dtd* get_internal_subset() const;
/** Return the root node.
* This function does @b not create a default root node if it doesn't exist.
- * @return A pointer to the root node if it exists, <tt>0</tt> otherwise.
+ * @return A pointer to the root node if it exists, <tt>nullptr</tt> otherwise.
*/
Element* get_root_node();
/** Return the root node.
* This function does @b not create a default root node if it doesn't exist.
- * @return A pointer to the root node if it exists, <tt>0</tt> otherwise.
+ * @return A pointer to the root node if it exists, <tt>nullptr</tt> otherwise.
*/
const Element* get_root_node() const;
/** Retrieve an Entity.
* The entity can be from an external subset or internally declared.
* @param name The name of the entity to get.
- * @returns A pointer to the libxml2 entity structure, or <tt>0</tt> if not found.
+ * @returns A pointer to the libxml2 entity structure, or <tt>nullptr</tt> if not found.
*/
_xmlEntity* get_entity(const Glib::ustring& name);
IStreamParserInputBuffer ibuff(in);
- auto dtd = xmlIOParseDTD(0, ibuff.cobj(), XML_CHAR_ENCODING_UTF8);
+ auto dtd = xmlIOParseDTD(nullptr, ibuff.cobj(), XML_CHAR_ENCODING_UTF8);
if (!dtd)
{
#include "exception.h"
#include <libxml/xmlerror.h>
#include <libxml/parser.h>
+#include <cstdio>
+#include <vector>
namespace xmlpp {
return message_.c_str();
}
+void exception::raise() const
+{
+ throw *this;
+}
+
+exception* exception::clone() const
+{
+ return new exception(*this);
+}
+
Glib::ustring format_xml_error(const _xmlError* error)
{
if (!error)
return str + format_xml_error(error);
}
+Glib::ustring format_printf_message(const char* fmt, va_list args)
+{
+ // This code was inspired by the example at
+ // http://en.cppreference.com/w/cpp/io/c/vfprintf
+ va_list args2;
+ va_copy(args2, args);
+ // Number of characters (bytes) in the resulting string;
+ // error, if < 0.
+ const int nchar = std::vsnprintf(nullptr, 0, fmt, args2);
+ va_end(args2);
+ if (nchar < 0)
+ return Glib::ustring::format("Error code from std::vsnprintf = ", nchar);
+
+ std::vector<char> buf(nchar+1);
+ std::vsnprintf(buf.data(), buf.size(), fmt, args);
+ return Glib::ustring(buf.data());
+}
+
} //namespace xmlpp
#define __LIBXMLPP_EXCEPTION_H
#include <exception>
+#include <cstdarg> // va_list
#include <glibmm/ustring.h>
#include <libxml++config.h>
const char* what() const noexcept override;
+ virtual void raise() const;
+ virtual exception* clone() const;
+
private:
Glib::ustring message_;
};
*
* @newin{2,36}
*
- * @param error Pointer to an _xmlError struct or <tt>0</tt>. If <tt>0</tt>,
- * the error returned by xmlGetLastError() is used.
+ * @param error Pointer to an _xmlError struct or <tt>nullptr</tt>.
+ * If <tt>nullptr</tt>, the error returned by xmlGetLastError() is used.
* @returns A formatted text string. If the error struct does not contain an
* error (error->code == XML_ERR_OK), an empty string is returned.
*/
*/
Glib::ustring format_xml_parser_error(const _xmlParserCtxt* parser_context);
+/** Format a message from a function with C-style variadic parameters.
+ *
+ * Helper function that formats a message supplied in the form of a printf-style
+ * format specification and zero or more ... parameters.
+ *
+ * @code
+ * // Typical call:
+ * void f(const char* fmt, ...)
+ * {
+ * va_list args;
+ * va_start(args, fmt);
+ * Glib::ustring msg = xmlpp::format_printf_message(fmt, args);
+ * va_end(args);
+ * // ...
+ * }
+ * @endcode
+ *
+ * @newin{3,0}
+ */
+Glib::ustring format_printf_message(const char* fmt, va_list args);
+
} // namespace xmlpp
#endif // __LIBXMLPP_EXCEPTION_H
internal_error::~internal_error() noexcept
{}
+void internal_error::raise() const
+{
+ throw *this;
+}
+
+exception* internal_error::clone() const
+{
+ return new internal_error(*this);
+}
+
} //namespace xmlpp
public:
explicit internal_error(const Glib::ustring& message);
~internal_error() noexcept override;
+
+ void raise() const override;
+ exception* clone() const override;
};
} // namespace xmlpp
parse_error::~parse_error() noexcept
{}
+void parse_error::raise() const
+{
+ throw *this;
+}
+
+exception* parse_error::clone() const
+{
+ return new parse_error(*this);
+}
+
} //namespace xmlpp
public:
explicit parse_error(const Glib::ustring& message);
~parse_error() noexcept override;
+
+ void raise() const override;
+ exception* clone() const override;
};
} // namespace xmlpp
validity_error::~validity_error() noexcept
{}
+void validity_error::raise() const
+{
+ throw *this;
+}
+
+exception* validity_error::clone() const
+{
+ return new validity_error(*this);
+}
+
} //namespace xmlpp
public:
explicit validity_error(const Glib::ustring& message);
~validity_error() noexcept override;
+
+ void raise() const override;
+ exception* clone() const override;
};
} // namespace xmlpp
--- /dev/null
+/* Copyright (C) 2015 The libxml++ development team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "wrapped_exception.h"
+
+namespace xmlpp
+{
+
+#ifdef LIBXMLXX_HAVE_EXCEPTION_PTR
+
+wrapped_exception::wrapped_exception(std::exception_ptr exception_ptr)
+ : exception("Wrapped exception"), exception_ptr_(exception_ptr)
+{
+}
+
+wrapped_exception::~wrapped_exception() noexcept
+{
+}
+
+void wrapped_exception::raise() const
+{
+ std::rethrow_exception(exception_ptr_);
+}
+
+exception* wrapped_exception::clone() const
+{
+ return new wrapped_exception(exception_ptr_);
+}
+
+#endif // LIBXMLXX_HAVE_EXCEPTION_PTR
+
+} // namespace xmlpp
--- /dev/null
+/* Copyright (C) 2015 The libxml++ development team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef __LIBXMLPP_WRAPPED_EXCEPTION_H
+#define __LIBXMLPP_WRAPPED_EXCEPTION_H
+
+#include <exception>
+
+#include <libxml++/exceptions/exception.h>
+#include <libxml++config.h>
+
+namespace xmlpp
+{
+
+#ifdef LIBXMLXX_HAVE_EXCEPTION_PTR
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+/** Helper class for propagating an exception through C code.
+ * Should not be used by applications.
+ * Does not exist in systems that don't support std::exception_ptr.
+ *
+ * @newin{2,40}
+ */
+class wrapped_exception : public exception
+{
+public:
+ explicit wrapped_exception(std::exception_ptr exception_ptr);
+ ~wrapped_exception() noexcept override;
+
+ void raise() const override;
+ exception* clone() const override;
+
+private:
+ std::exception_ptr exception_ptr_;
+};
+#endif //DOXYGEN_SHOULD_SKIP_THIS
+
+#endif // LIBXMLXX_HAVE_EXCEPTION_PTR
+
+} // namespace xmlpp
+
+#endif // __LIBXMLPP_WRAPPED_EXCEPTION_H
exceptions/exception.h \
exceptions/parse_error.h \
exceptions/validity_error.h \
- exceptions/internal_error.h
+ exceptions/internal_error.h \
+ exceptions/wrapped_exception.h
h_io_sources_public = \
io/istreamparserinputbuffer.h \
io/outputbuffer.h \
-/* document.h
+/* parserinputbuffer.cc
* this file is part of libxml++
*
* copyright (C) 2003 by libxml++ developer's team
&ParserInputBufferCallback::on_close,
static_cast<void*>(this),
XML_CHAR_ENCODING_NONE);
- if(impl_ == 0)
+ if (!impl_)
{
throw internal_error("Cannot initialise underlying xmlParserInputBuffer");
}
bool result = do_close();
// the underlying structure is being freed by libxml, the pointer will soon be
// invalid.
- impl_ = 0;
+ impl_ = nullptr;
return result;
}
{
ns_uri = get_namespace_uri_for_prefix(ns_prefix);
if (ns_uri.empty())
- return 0; // No such prefix.
+ return nullptr; // No such prefix.
}
// The return value of xmlHasNsProp() may be either an xmlAttr*, pointing to an
// cast to an xmlAttr*, pointing to the declaration of an attribute with a
// default value (XML_ATTRIBUTE_DECL).
auto attr = xmlHasNsProp(const_cast<xmlNode*>(cobj()), (const xmlChar*)name.c_str(),
- ns_uri.empty() ? 0 : (const xmlChar*)ns_uri.c_str());
+ ns_uri.empty() ? nullptr : (const xmlChar*)ns_uri.c_str());
if (attr)
{
Node::create_wrapper(reinterpret_cast<xmlNode*>(attr));
return reinterpret_cast<Attribute*>(attr->_private);
}
- return 0;
+ return nullptr;
}
const Attribute* Element::get_attribute(const Glib::ustring& name,
return reinterpret_cast<Attribute*>(attr->_private);
}
else
- return 0;
+ return nullptr;
}
void Element::remove_attribute(const Glib::ustring& name, const Glib::ustring& ns_prefix)
const Glib::ustring& name, const Glib::ustring& ns_prefix)
{
if (!previous_sibling)
- return 0;
+ return nullptr;
auto child = create_new_child_element_node(name, ns_prefix);
auto node = xmlAddNextSibling(previous_sibling->cobj(), child);
const Glib::ustring& name, const Glib::ustring& ns_prefix)
{
if (!next_sibling)
- return 0;
+ return nullptr;
auto child = create_new_child_element_node(name, ns_prefix);
auto node = xmlAddPrevSibling(next_sibling->cobj(), child);
const Glib::ustring& ns_uri, const Glib::ustring& ns_prefix)
{
if (!previous_sibling)
- return 0;
+ return nullptr;
auto child = create_new_child_element_node_with_new_ns(name, ns_uri, ns_prefix);
auto node = xmlAddNextSibling(previous_sibling->cobj(), child);
const Glib::ustring& ns_uri, const Glib::ustring& ns_prefix)
{
if (!next_sibling)
- return 0;
+ return nullptr;
auto child = create_new_child_element_node_with_new_ns(name, ns_uri, ns_prefix);
auto node = xmlAddPrevSibling(next_sibling->cobj(), child);
if (ns_prefix.empty())
{
//Retrieve default namespace if it exists
- ns = xmlSearchNs(cobj()->doc, cobj(), 0);
+ ns = xmlSearchNs(cobj()->doc, cobj(), nullptr);
}
else
{
if (cobj()->type != XML_ELEMENT_NODE)
throw internal_error("You can only add child nodes to element nodes.");
- auto child = xmlNewNode(0, (const xmlChar*)name.c_str());
+ auto child = xmlNewNode(nullptr, (const xmlChar*)name.c_str());
if (!child)
throw internal_error("Could not create new element node.");
- auto ns = xmlNewNs(child, (const xmlChar*)(ns_uri.empty() ? 0 : ns_uri.c_str()),
- (const xmlChar*)(ns_prefix.empty() ? 0 : ns_prefix.c_str()) );
+ auto ns = xmlNewNs(child, (const xmlChar*)(ns_uri.empty() ? nullptr : ns_uri.c_str()),
+ (const xmlChar*)(ns_prefix.empty() ? nullptr : ns_prefix.c_str()) );
// xmlNewNs() does not create a namespace node for the predefined xml prefix.
// It's usually defined in the document and not in any specific node.
if (!ns && ns_prefix == "xml")
Node::create_wrapper(node);
return static_cast<TextNode*>(node->_private);
}
- return 0;
+ return nullptr;
}
TextNode* Element::add_child_text(xmlpp::Node* previous_sibling, const Glib::ustring& content)
{
if(!previous_sibling)
- return 0;
+ return nullptr;
if(cobj()->type == XML_ELEMENT_NODE)
{
Node::create_wrapper(node);
return static_cast<TextNode*>(node->_private);
}
- return 0;
+ return nullptr;
}
TextNode* Element::add_child_text_before(xmlpp::Node* next_sibling, const Glib::ustring& content)
{
if(!next_sibling)
- return 0;
+ return nullptr;
if(cobj()->type == XML_ELEMENT_NODE)
{
Node::create_wrapper(node);
return static_cast<TextNode*>(node->_private);
}
- return 0;
+ return nullptr;
}
bool Element::has_child_text() const
void Element::set_namespace_declaration(const Glib::ustring& ns_uri, const Glib::ustring& ns_prefix)
{
//Create a new namespace declaration for this element:
- auto ns = xmlNewNs(cobj(), (const xmlChar*)(ns_uri.empty() ? 0 : ns_uri.c_str()),
- (const xmlChar*)(ns_prefix.empty() ? 0 : ns_prefix.c_str()) );
+ auto ns = xmlNewNs(cobj(), (const xmlChar*)(ns_uri.empty() ? nullptr : ns_uri.c_str()),
+ (const xmlChar*)(ns_prefix.empty() ? nullptr : ns_prefix.c_str()) );
if (!ns)
{
// Not an error, if we try to assign the same uri to the prefix once again.
ns = xmlSearchNs(cobj()->doc, cobj(),
- (const xmlChar*)(ns_prefix.empty() ? 0 : ns_prefix.c_str()));
+ (const xmlChar*)(ns_prefix.empty() ? nullptr : ns_prefix.c_str()));
const char* const previous_href = (ns && ns->href) ? (const char*)ns->href : "";
if (!ns || ns_uri != previous_href)
throw exception("Could not add namespace declaration with URI=" + ns_uri +
/** Get the attribute with this name, and optionally with this namespace.
* @param name The name of the attribute that will be retrieved.
* @param ns_prefix Namespace prefix.
- * @return The attribute, or 0 if no suitable Attribute was found.
+ * @return The attribute, or <tt>nullptr</tt> if no suitable Attribute was found.
* Is either an AttributeNode*, pointing to an explicitly set
* attribute, or an AttributeDeclaration*, pointing to the declaration
* of an attribute with a default value.
/** Get the attribute with this name, and optionally with this namespace.
* @param name The name of the attribute that will be retrieved.
* @param ns_prefix Namespace prefix.
- * @return The attribute, or 0 if no suitable Attribute was found.
+ * @return The attribute, or <tt>nullptr</tt> if no suitable Attribute was found.
* Is either an AttributeNode*, pointing to an explicitly set
* attribute, or an AttributeDeclaration*, pointing to the declaration
* of an attribute with a default value.
* @param name The name of the attribute whose value will change.
* @param value The new value for the attribute
* @param ns_prefix Namespace prefix. If the prefix has not been declared then this method will throw an exception.
- * @return The attribute that was changed, or 0 is no suitable Attribute was found.
+ * @return The attribute that was changed, or <tt>nullptr</tt> is no suitable Attribute was found.
* @throws xmlpp::exception
*/
Attribute* set_attribute(const Glib::ustring& name, const Glib::ustring& value,
: impl_(node)
{
if (!impl_)
- throw internal_error("xmlNode pointer cannot be 0");
+ throw internal_error("xmlNode pointer cannot be nullptr");
impl_->_private = this;
}
Element* Node::get_parent()
{
if(!(cobj()->parent && cobj()->parent->type == XML_ELEMENT_NODE))
- return 0;
+ return nullptr;
Node::create_wrapper(cobj()->parent);
return static_cast<Element*>(cobj()->parent->_private);
Node* Node::get_next_sibling()
{
if(!cobj()->next)
- return 0;
+ return nullptr;
Node::create_wrapper(cobj()->next);
return static_cast<Node*>(cobj()->next->_private);
Node* Node::get_previous_sibling()
{
if(!cobj()->prev)
- return 0;
+ return nullptr;
Node::create_wrapper(cobj()->prev);
return static_cast<Node*>(cobj()->prev->_private);
{
auto child = impl_->children;
if(!child)
- return 0;
+ return nullptr;
do
{
}
while((child = child->next));
- return 0;
+ return nullptr;
}
const Node* Node::get_first_child(const Glib::ustring& name) const
Node* Node::import_node(const Node* node, bool recursive)
{
if (!node)
- return 0;
+ return nullptr;
//Create the node, by copying:
auto imported_node = xmlDocCopyNode(const_cast<xmlNode*>(node->cobj()), impl_->doc, recursive);
if (imported_node->type == XML_ATTRIBUTE_NODE && impl_->type == XML_ELEMENT_NODE)
{
auto old_attr = xmlHasNsProp(impl_, imported_node->name,
- imported_node->ns ? imported_node->ns->href : 0);
+ imported_node->ns ? imported_node->ns->href : nullptr);
if (old_attr && old_attr->type != XML_ATTRIBUTE_DECL)
{
// *this has an attribute with the same name as the imported attribute.
Node::NodeSet Node::find(const Glib::ustring& xpath)
{
- return find_common<NodeSet>(xpath, 0, impl_);
+ return find_common<NodeSet>(xpath, nullptr, impl_);
}
Node::const_NodeSet Node::find(const Glib::ustring& xpath) const
{
- return find_common<const_NodeSet>(xpath, 0, impl_);
+ return find_common<const_NodeSet>(xpath, nullptr, impl_);
}
Node::NodeSet Node::find(const Glib::ustring& xpath, const PrefixNsMap& namespaces)
bool Node::eval_to_boolean(const Glib::ustring& xpath, XPathResultType* result_type) const
{
- return eval_common_to_boolean(xpath, 0, result_type, impl_);
+ return eval_common_to_boolean(xpath, nullptr, result_type, impl_);
}
bool Node::eval_to_boolean(const Glib::ustring& xpath, const PrefixNsMap& namespaces,
double Node::eval_to_number(const Glib::ustring& xpath, XPathResultType* result_type) const
{
- return eval_common_to_number(xpath, 0, result_type, impl_);
+ return eval_common_to_number(xpath, nullptr, result_type, impl_);
}
double Node::eval_to_number(const Glib::ustring& xpath, const PrefixNsMap& namespaces,
Glib::ustring Node::eval_to_string(const Glib::ustring& xpath, XPathResultType* result_type) const
{
- return eval_common_to_string(xpath, 0, result_type, impl_);
+ return eval_common_to_string(xpath, nullptr, result_type, impl_);
}
Glib::ustring Node::eval_to_string(const Glib::ustring& xpath, const PrefixNsMap& namespaces,
}
//Look for the existing namespace to use:
- auto ns = xmlSearchNs( cobj()->doc, cobj(), (xmlChar*)(ns_prefix.empty() ? 0 : ns_prefix.c_str()) );
+ auto ns = xmlSearchNs( cobj()->doc, cobj(), (xmlChar*)(ns_prefix.empty() ? nullptr : ns_prefix.c_str()) );
if(ns)
{
//Use it for this element:
typedef std::vector<Node*> NodeSet;
typedef std::vector<const Node*> const_NodeSet;
- /** @throws xmlpp::internal_error If @a node is <tt>0</tt>.
+ /** @throws xmlpp::internal_error If @a node is <tt>nullptr</tt>.
*/
explicit Node(_xmlNode* node);
int get_line() const;
/** Get the parent element for this node.
- * @returns The parent node, or <tt>0</tt> if the node has no parent element.
+ * @returns The parent node, or <tt>nullptr</tt> if the node has no parent element.
*/
const Element* get_parent() const;
/** Get the parent element for this node.
- * @returns The parent node, or <tt>0</tt> if the node has no parent element.
+ * @returns The parent node, or <tt>nullptr</tt> if the node has no parent element.
*/
Element* get_parent();
/** Get the next sibling for this node.
- * @returns The next sibling, or <tt>0</tt> if the node has no next sibling.
+ * @returns The next sibling, or <tt>nullptr</tt> if the node has no next sibling.
*/
const Node* get_next_sibling() const;
/** Get the next sibling for this node.
- * @returns The next sibling, or <tt>0</tt> if the node has no next sibling.
+ * @returns The next sibling, or <tt>nullptr</tt> if the node has no next sibling.
*/
Node* get_next_sibling();
/** Get the previous sibling for this node .
- * @returns The previous sibling, or <tt>0</tt> if the node has no previous sibling.
+ * @returns The previous sibling, or <tt>nullptr</tt> if the node has no previous sibling.
*/
const Node* get_previous_sibling() const;
/** Get the previous sibling for this node.
- * @returns The previous sibling, or <tt>0</tt> if the node has no previous sibling.
+ * @returns The previous sibling, or <tt>nullptr</tt> if the node has no previous sibling.
*/
Node* get_previous_sibling();
/** Get the first child of this node.
* You may optionally get the first child node which has a certain name.
* @param name The name of the requested child node, or an empty string.
- * @returns The first child, or <tt>0</tt> if no child node (with the specified name) exists.
+ * @returns The first child, or <tt>nullptr</tt> if no child node (with the specified name) exists.
*
* @newin{2,36}
*/
/** Get the first child of this node.
* You may optionally get the first child node which has a certain name.
* @param name The name of the requested child node, or an empty string.
- * @returns The first child, or <tt>0</tt> if no child node (with the specified name) exists.
+ * @returns The first child, or <tt>nullptr</tt> if no child node (with the specified name) exists.
*
* @newin{2,36}
*/
/** Evaluate an XPath expression.
* @param xpath The XPath expression.
* @param[out] result_type Result type of the XPath expression before conversion
- * to boolean. If 0, the result type is not returned.
+ * to boolean. If <tt>nullptr</tt>, the result type is not returned.
* @returns The value of the XPath expression. If the value is not of type boolean,
* it is converted to boolean.
* @throws xmlpp::exception If the XPath expression cannot be evaluated.
* @param xpath The XPath expression.
* @param namespaces A map of namespace prefixes to namespace URIs to be used while evaluating.
* @param[out] result_type Result type of the XPath expression before conversion
- * to boolean. If 0, the result type is not returned.
+ * to boolean. If <tt>nullptr</tt>, the result type is not returned.
* @returns The value of the XPath expression. If the value is not of type boolean,
* it is converted to boolean.
* @throws xmlpp::exception If the XPath expression cannot be evaluated.
/** Evaluate an XPath expression.
* @param xpath The XPath expression.
* @param[out] result_type Result type of the XPath expression before conversion
- * to number. If 0, the result type is not returned.
+ * to number. If <tt>nullptr</tt>, the result type is not returned.
* @returns The value of the XPath expression. If the value is not of type number,
* it is converted to number.
* @throws xmlpp::exception If the XPath expression cannot be evaluated.
* @param xpath The XPath expression.
* @param namespaces A map of namespace prefixes to namespace URIs to be used while evaluating.
* @param[out] result_type Result type of the XPath expression before conversion
- * to number. If 0, the result type is not returned.
+ * to number. If <tt>nullptr</tt>, the result type is not returned.
* @returns The value of the XPath expression. If the value is not of type number,
* it is converted to number.
* @throws xmlpp::exception If the XPath expression cannot be evaluated.
/** Evaluate an XPath expression.
* @param xpath The XPath expression.
* @param[out] result_type Result type of the XPath expression before conversion
- * to string. If 0, the result type is not returned.
+ * to string. If <tt>nullptr</tt>, the result type is not returned.
* @returns The value of the XPath expression. If the value is not of type string,
* it is converted to string.
* @throws xmlpp::exception If the XPath expression cannot be evaluated.
* @param xpath The XPath expression.
* @param namespaces A map of namespace prefixes to namespace URIs to be used while evaluating.
* @param[out] result_type Result type of the XPath expression before conversion
- * to string. If 0, the result type is not returned.
+ * to string. If <tt>nullptr</tt>, the result type is not returned.
* @returns The value of the XPath expression. If the value is not of type string,
* it is converted to string.
* @throws xmlpp::exception If the XPath expression cannot be evaluated.
}
doc_ = new Document(context_->myDoc);
- // This is to indicate to release_underlying that we took the
+ // This is to indicate to release_underlying() that we took the
// ownership on the doc.
context_->myDoc = nullptr;
- //Free the parse context, but keep the document alive so people can navigate the DOM tree:
- //TODO: Why not keep the context alive too?
+ // Free the parser context because it's not needed anymore,
+ // but keep the document alive so people can navigate the DOM tree:
Parser::release_underlying();
}
xmlResetLastError();
context_ = xmlCreatePushParserCtxt(
- 0, // Setting those two parameters to 0 force the parser
- 0, // to create a document while parsing.
- 0, // chunk
- 0, // size
- 0); // no filename for fetching external entities
+ nullptr, // Setting those two parameters to nullptr force the parser
+ nullptr, // to create a document while parsing.
+ nullptr, // chunk
+ 0, // size
+ nullptr); // no filename for fetching external entities
if(!context_)
{
initialize_context();
- //TODO: Shouldn't we use a Glib::ustring here, and some alternative to std::getline()?
+ // std::string or Glib::ustring?
+ // Output from the XML parser is UTF-8 encoded.
+ // But the istream "in" is input, i.e. an XML file. It can use any encoding.
+ // If it's not UTF-8, the file itself must contain information about which
+ // encoding it uses. See the XML specification. Thus use std::string.
int firstParseError = XML_ERR_OK;
std::string line;
while(std::getline(in, line))
firstParseError = parseError;
}
- const int parseError = xmlParseChunk(context_, 0, 0, 1 /* last chunk */);
+ const int parseError = xmlParseChunk(context_, nullptr, 0, 1 /* last chunk */);
if (parseError != XML_ERR_OK && firstParseError == XML_ERR_OK)
firstParseError = parseError;
}
doc_ = new Document(context_->myDoc);
- // This is to indicate to release_underlying that we took the
+ // This is to indicate to release_underlying() that we took the
// ownership on the doc.
context_->myDoc = nullptr;
-
- //Free the parse context, but keep the document alive so people can navigate the DOM tree:
- //TODO: Why not keep the context alive too?
+ // Free the parser context because it's not needed anymore,
+ // but keep the document alive so people can navigate the DOM tree:
Parser::release_underlying();
}
operator bool() const;
/** Get the parsed document.
- * @returns A pointer to the parsed document, or <tt>0</tt>.
+ * @returns A pointer to the parsed document, or <tt>nullptr</tt>.
*/
Document* get_document();
/** Get the parsed document.
- * @returns A pointer to the parsed document, or <tt>0</tt>.
+ * @returns A pointer to the parsed document, or <tt>nullptr</tt>.
*/
const Document* get_document() const;
* included with libxml++ as the file COPYING.
*/
+#include "libxml++/exceptions/wrapped_exception.h"
#include "libxml++/parsers/parser.h"
#include <libxml/parser.h>
};
Parser::Parser()
-: context_(nullptr), exception_ptr_(nullptr), pimpl_(new Impl)
+: context_(nullptr), exception_(nullptr), pimpl_(new Impl)
{
}
void Parser::check_for_error_and_warning_messages()
{
- Glib::ustring msg;
- try
- {
- if (exception_ptr_)
- std::rethrow_exception(exception_ptr_);
- }
- catch (const std::exception& e)
- {
- msg = e.what();
- }
- catch (...)
- {
- msg = "Unknown exception\n";
- }
+ Glib::ustring msg(exception_ ? exception_->what() : "");
bool parser_msg = false;
bool validity_msg = false;
pimpl_->validate_warning_.erase();
}
- try
- {
- if (validity_msg)
- throw validity_error(msg);
- else if (parser_msg)
- throw parse_error(msg);
- }
- catch (...)
- {
- exception_ptr_ = std::current_exception();
- }
+ if (validity_msg)
+ exception_.reset(new validity_error(msg));
+ else if (parser_msg)
+ exception_.reset(new parse_error(msg));
}
//static
// returns an error message (as it usually does).
//Convert the ... to a string:
- char buff[1024];
-
- vsnprintf(buff, sizeof(buff)/sizeof(buff[0]), msg, var_args);
- ubuff = buff;
+ ubuff = format_printf_message(msg, var_args);
}
try
void Parser::handle_exception()
{
- exception_ptr_ = std::current_exception();
+ try
+ {
+ throw; // Re-throw current exception
+ }
+ catch (const exception& e)
+ {
+ exception_.reset(e.clone());
+ }
+#ifdef LIBXMLXX_HAVE_EXCEPTION_PTR
+ catch (...)
+ {
+ exception_.reset(new wrapped_exception(std::current_exception()));
+ }
+#else
+ catch (const std::exception& e)
+ {
+ exception_.reset(new exception(e.what()));
+ }
+ catch (...)
+ {
+ exception_.reset(new exception("An exception was thrown that is not derived from std::exception or xmlpp::exception.\n"
+ "It could not be caught and rethrown because this platform does not support std::exception_ptr."));
+ }
+#endif
if (context_)
xmlStopParser(context_);
{
check_for_error_and_warning_messages();
- if (exception_ptr_)
+ if (exception_)
{
- std::exception_ptr tmp(exception_ptr_);
- exception_ptr_ = nullptr;
- std::rethrow_exception(tmp);
+ std::unique_ptr<exception> tmp(std::move(exception_));
+ tmp->raise();
}
}
#include <istream>
#include <cstdarg> // va_list
#include <memory> // std::unique_ptr
-#include <exception> // std::exception_ptr
#ifndef DOXYGEN_SHOULD_SKIP_THIS
extern "C" {
const char* msg, va_list var_args);
_xmlParserCtxt* context_;
- std::exception_ptr exception_ptr_;
+ std::unique_ptr<exception> exception_;
private:
struct Impl;
{
xmlSAXHandler temp = {
SaxParserCallback::internal_subset,
- 0, // isStandalone
- 0, // hasInternalSubset
- 0, // hasExternalSubset
- 0, // resolveEntity
- use_get_entity ? SaxParserCallback::get_entity : 0, // getEntity
+ nullptr, // isStandalone
+ nullptr, // hasInternalSubset
+ nullptr, // hasExternalSubset
+ nullptr, // resolveEntity
+ use_get_entity ? SaxParserCallback::get_entity : nullptr, // getEntity
SaxParserCallback::entity_decl, // entityDecl
- 0, // notationDecl
- 0, // attributeDecl
- 0, // elementDecl
- 0, // unparsedEntityDecl
- 0, // setDocumentLocator
+ nullptr, // notationDecl
+ nullptr, // attributeDecl
+ nullptr, // elementDecl
+ nullptr, // unparsedEntityDecl
+ nullptr, // setDocumentLocator
SaxParserCallback::start_document, // startDocument
SaxParserCallback::end_document, // endDocument
SaxParserCallback::start_element, // startElement
SaxParserCallback::end_element, // endElement
- 0, // reference
+ nullptr, // reference
SaxParserCallback::characters, // characters
- 0, // ignorableWhitespace
- 0, // processingInstruction
+ nullptr, // ignorableWhitespace
+ nullptr, // processingInstruction
SaxParserCallback::comment, // comment
SaxParserCallback::warning, // warning
SaxParserCallback::error, // error
SaxParserCallback::fatal_error, // fatalError
- 0, // getParameterEntity
+ nullptr, // getParameterEntity
SaxParserCallback::cdata_block, // cdataBlock
- 0, // externalSubset
- 0, // initialized
- 0, // private
- 0, // startElementNs
- 0, // endElementNs
- 0, // serror
+ nullptr, // externalSubset
+ 0, // initialized
+ nullptr, // private
+ nullptr, // startElementNs
+ nullptr, // endElementNs
+ nullptr, // serror
};
*sax_handler_ = temp;
context_ = xmlCreatePushParserCtxt(
sax_handler_.get(),
- 0, // user_data
- 0, // chunk
- 0, // size
- 0); // no filename for fetching external entities
+ nullptr, // user_data
+ nullptr, // chunk
+ 0, // size
+ nullptr); // no filename for fetching external entities
if(!context_)
{
initialize_context();
- //TODO: Shouldn't we use a Glib::ustring here, and some alternative to std::getline()?
+ // std::string or Glib::ustring?
+ // Output from the XML parser is UTF-8 encoded.
+ // But the istream "in" is input, i.e. an XML file. It can use any encoding.
+ // If it's not UTF-8, the file itself must contain information about which
+ // encoding it uses. See the XML specification. Thus use std::string.
int firstParseError = XML_ERR_OK;
std::string line;
- while (!exception_ptr_ && std::getline(in, line))
+ while (!exception_ && std::getline(in, line))
{
// since getline does not get the line separator, we have to add it since the parser care
// about layout in certain cases.
firstParseError = parseError;
}
- if (!exception_ptr_)
+ if (!exception_)
{
//This is called just to terminate parsing.
- const int parseError = xmlParseChunk(context_, 0 /* chunk */, 0 /* size */, 1 /* terminate (1 or 0) */);
+ const int parseError = xmlParseChunk(context_, nullptr /* chunk */, 0 /* size */, 1 /* terminate (1 or 0) */);
if (parseError != XML_ERR_OK && firstParseError == XML_ERR_OK)
firstParseError = parseError;
{
context_ = xmlCreatePushParserCtxt(
sax_handler_.get(),
- 0, // user_data
- 0, // chunk
- 0, // size
- 0); // no filename for fetching external entities
+ nullptr, // user_data
+ nullptr, // chunk
+ 0, // size
+ nullptr); // no filename for fetching external entities
if(!context_)
{
xmlCtxtResetLastError(context_);
int parseError = XML_ERR_OK;
- if (!exception_ptr_)
+ if (!exception_)
parseError = xmlParseChunk(context_, (const char*)contents, bytes_count, 0 /* don't terminate */);
check_for_exception();
{
context_ = xmlCreatePushParserCtxt(
sax_handler_.get(),
- 0, // this, // user_data
- 0, // chunk
- 0, // size
- 0); // no filename for fetching external entities
+ nullptr, // user_data
+ nullptr, // chunk
+ 0, // size
+ nullptr); // no filename for fetching external entities
if(!context_)
{
xmlCtxtResetLastError(context_);
int parseError = XML_ERR_OK;
- if (!exception_ptr_)
+ if (!exception_)
//This is called just to terminate parsing.
- parseError = xmlParseChunk(context_, 0 /* chunk */, 0 /* size */, 1 /* terminate (1 or 0) */);
+ parseError = xmlParseChunk(context_, nullptr /* chunk */, 0 /* size */, 1 /* terminate (1 or 0) */);
auto error_str = format_xml_parser_error(context_);
if (error_str.empty() && parseError != XML_ERR_OK)
auto the_context = static_cast<_xmlParserCtxt*>(context);
auto parser = static_cast<SaxParser*>(the_context->_private);
- if (parser->exception_ptr_)
+ if (parser->exception_)
return;
try
auto parser = static_cast<SaxParser*>(the_context->_private);
va_list arg;
- char buff[1024]; //TODO: Larger/Shared
-
va_start(arg, fmt);
- vsnprintf(buff, sizeof(buff)/sizeof(buff[0]), fmt, arg);
+ const Glib::ustring buff = format_printf_message(fmt, arg);
va_end(arg);
try
{
- parser->on_warning(Glib::ustring(buff));
+ parser->on_warning(buff);
}
catch (...)
{
auto the_context = static_cast<_xmlParserCtxt*>(context);
auto parser = static_cast<SaxParser*>(the_context->_private);
- va_list arg;
- char buff[1024]; //TODO: Larger/Shared
-
- if (parser->exception_ptr_)
+ if (parser->exception_)
return;
+ va_list arg;
va_start(arg, fmt);
- vsnprintf(buff, sizeof(buff)/sizeof(buff[0]), fmt, arg);
+ const Glib::ustring buff = format_printf_message(fmt, arg);
va_end(arg);
try
{
- parser->on_error(Glib::ustring(buff));
+ parser->on_error(buff);
}
catch (...)
{
auto parser = static_cast<SaxParser*>(the_context->_private);
va_list arg;
- char buff[1024]; //TODO: Larger/Shared
-
va_start(arg, fmt);
- vsnprintf(buff, sizeof(buff)/sizeof(buff[0]), fmt, arg);
+ const Glib::ustring buff = format_printf_message(fmt, arg);
va_end(arg);
try
{
- parser->on_fatal_error(Glib::ustring(buff));
+ parser->on_fatal_error(buff);
}
catch (...)
{
/** SAX XML parser.
* Derive your own class and override the on_*() methods.
* SAX = Simple API for XML
+ *
+ * In a system that does not support std::exception_ptr: If an overridden on_*()
+ * method throws an exception which is not derived from xmlpp::exception,
+ * that exception is replaced by a xmlpp::exception before it is propagated
+ * out of the parse method, such as parse_file().
*/
class SaxParser : public Parser
{
* Unlike the DomParser, the SaxParser will also tell you about entity references for the 5 predefined entities.
*
* @param name The entity reference name.
- * @returns The resolved xmlEntity for the entity reference, or <tt>0</tt> if not found.
+ * @returns The resolved xmlEntity for the entity reference, or <tt>nullptr</tt> if not found.
* You must include libxml/parser.h in order to use this C struct.
* This instance will not be freed by the caller.
*/
size_type size,
const Glib::ustring& uri)
: propertyreader(new PropertyReader(*this)),
- impl_( xmlReaderForMemory ((const char*)data, size, uri.c_str(), 0, 0) ),
+ impl_( xmlReaderForMemory ((const char*)data, size, uri.c_str(), nullptr, 0) ),
severity_( 0 )
{
if( ! impl_ )
}
check_for_exceptions();
- return 0;
+ return nullptr;
}
const Node* TextReader::get_current_node() const
}
check_for_exceptions();
- return 0;
+ return nullptr;
}
bool TextReader::next()
{
owner_.check_for_exceptions();
- if(value == (xmlChar *)0)
+ if (!value)
return Glib::ustring();
const Glib::ustring result = (char *)value;
{
owner_.check_for_exceptions();
- if(value == (xmlChar *)0)
+ if (!value)
return Glib::ustring();
return (const char*)value;
*/
TextReader(const unsigned char* data, size_type size, const Glib::ustring& uri = Glib::ustring());
- ~TextReader();
+ ~TextReader() override;
/** Moves the position of the current instance to the next node in the stream, exposing its properties.
* @return true if the node was read successfully, false if there are no more nodes to read.
* The C++ wrapper is not deleted. Using this method causes memory leaks,
* unless you call xmlpp::Node::free_wrappers(), which is not intended to be
* called by the application.
- * @returns A pointer to the current node, or 0 in case of error.
+ * @returns A pointer to the current node, or <tt>nullptr</tt> in case of error.
*/
Node* get_current_node();
/** Get a pointer to the current node.
* @warning See the non-const get_current_node().
- * @returns A pointer to the current node, or 0 in case of error.
+ * @returns A pointer to the current node, or <tt>nullptr</tt> in case of error.
*/
const Node* get_current_node() const;
* @warning The C++ wrappers are not deleted. Using this method causes memory leaks,
* unless you call xmlpp::Node::free_wrappers(), which is not intended to be
* called by the application.
- * @returns A pointer to the current node, or 0 in case of error.
+ * @returns A pointer to the current node, or <tt>nullptr</tt> in case of error.
* @throws xmlpp::parse_error
* @throws xmlpp::validity_error
*/
void RelaxNGSchema::parse_document(const Document* document)
{
if (!document)
- throw parse_error("RelaxNGSchema::parse_document(): document must not be 0.");
+ throw parse_error("RelaxNGSchema::parse_document(): document must not be nullptr.");
// xmlRelaxNGNewDocParserCtxt() takes a copy of the xmlDoc.
parse_context(xmlRelaxNGNewDocParserCtxt(const_cast<xmlDoc*>(document->cobj())));
{
if (!document)
{
- throw internal_error("Document pointer cannot be 0.");
+ throw internal_error("Document pointer cannot be nullptr.");
}
if (!pimpl_->dtd)
-/* xml++.h
+/* dtdvalidator.h
* libxml++ and this file are copyright (C) 2000 by Ari Johnson,
* (C) 2002-2004 by the libxml dev team and
* are covered by the GNU Lesser General Public License, which should be
explicit operator bool() const noexcept override;
/** Get the parsed DTD.
- * @returns A pointer to the parsed DTD, or <tt>0</tt>.
+ * @returns A pointer to the parsed DTD, or <tt>nullptr</tt>.
*/
Dtd* get_dtd();
/** Get the parsed DTD.
- * @returns A pointer to the parsed DTD, or <tt>0</tt>.
+ * @returns A pointer to the parsed DTD, or <tt>nullptr</tt>.
*/
const Dtd* get_dtd() const;
void RelaxNGValidator::validate(const Document* document)
{
if (!document)
- throw internal_error("RelaxNGValidator::validate(): document must not be 0.");
+ throw internal_error("RelaxNGValidator::validate(): document must not be nullptr.");
if (!*this)
throw internal_error("RelaxNGValidator::validate(): Must have a schema to validate document");
explicit operator bool() const noexcept override;
/** Get the schema.
- * @returns A pointer to the schema, or <tt>0</tt>.
+ * @returns A pointer to the schema, or <tt>nullptr</tt>.
*/
RelaxNGSchema* get_schema();
/** Get the schema.
- * @returns A pointer to the schema, or <tt>0</tt>.
+ * @returns A pointer to the schema, or <tt>nullptr</tt>.
*/
const RelaxNGSchema* get_schema() const;
-/* xml++.cc
+/* validator.cc
* libxml++ and this file are copyright (C) 2000 by Ari Johnson
* (C) 2002-2004 by the libxml dev team and
* are covered by the GNU Lesser General Public License, which should be
* included with libxml++ as the file COPYING.
*/
+#include "libxml++/exceptions/wrapped_exception.h"
#include "libxml++/validators/validator.h"
#include <libxml/parser.h>
namespace xmlpp {
Validator::Validator()
-: exception_ptr_(nullptr)
+: exception_(nullptr)
{
}
void Validator::check_for_validity_messages()
{
- Glib::ustring msg;
- try
- {
- if (exception_ptr_)
- std::rethrow_exception(exception_ptr_);
- }
- catch (const std::exception& e)
- {
- msg = e.what();
- }
- catch (...)
- {
- msg = "Unknown exception\n";
- }
+ Glib::ustring msg(exception_ ? exception_->what() : "");
bool validity_msg = false;
if (!validate_error_.empty())
validate_warning_.erase();
}
- try
- {
- if (validity_msg)
- throw validity_error(msg);
- }
- catch (...)
- {
- exception_ptr_ = std::current_exception();
- }
+ if (validity_msg)
+ exception_.reset(new validity_error(msg));
}
void Validator::callback_validity_error(void* valid_, const char* msg, ...)
{
//Convert the ... to a string:
va_list arg;
- char buff[1024]; //TODO: Larger/Shared
-
va_start(arg, msg);
- vsnprintf(buff, sizeof(buff)/sizeof(buff[0]), msg, arg);
+ const Glib::ustring buff = format_printf_message(msg, arg);
va_end(arg);
try
{
- validator->on_validity_error(Glib::ustring(buff));
+ validator->on_validity_error(buff);
}
catch (...)
{
{
//Convert the ... to a string:
va_list arg;
- char buff[1024]; //TODO: Larger/Shared
-
va_start(arg, msg);
- vsnprintf(buff, sizeof(buff)/sizeof(buff[0]), msg, arg);
+ const Glib::ustring buff = format_printf_message(msg, arg);
va_end(arg);
try
{
- validator->on_validity_warning(Glib::ustring(buff));
+ validator->on_validity_warning(buff);
}
catch (...)
{
void Validator::handle_exception()
{
- exception_ptr_ = std::current_exception();
+ try
+ {
+ throw; // Re-throw current exception
+ }
+ catch (const exception& e)
+ {
+ exception_.reset(e.clone());
+ }
+#ifdef LIBXMLXX_HAVE_EXCEPTION_PTR
+ catch (...)
+ {
+ exception_.reset(new wrapped_exception(std::current_exception()));
+ }
+#else
+ catch (const std::exception& e)
+ {
+ exception_.reset(new exception(e.what()));
+ }
+ catch (...)
+ {
+ exception_.reset(new exception("An exception was thrown that is not derived from std::exception or xmlpp::exception.\n"
+ "It could not be caught and rethrown because this platform does not support std::exception_ptr."));
+ }
+#endif
// Don't delete the DTD validation context or schema validation context
// while validating. It would cause accesses to deallocated memory in libxml2
{
check_for_validity_messages();
- if (exception_ptr_)
+ if (exception_)
{
- std::exception_ptr tmp(exception_ptr_);
- exception_ptr_ = nullptr;
- std::rethrow_exception(tmp);
+ std::unique_ptr<exception> tmp(std::move(exception_));
+ tmp->raise();
}
}
#include <libxml++/noncopyable.h>
#include <libxml++/exceptions/validity_error.h>
#include <libxml++/exceptions/internal_error.h>
-#include <exception> // std::exception_ptr
+#include <memory> // std::unique_ptr
#include <string>
extern "C" {
static void callback_validity_error(void* ctx, const char* msg, ...);
static void callback_validity_warning(void* ctx, const char* msg, ...);
- std::exception_ptr exception_ptr_;
+ std::unique_ptr<exception> exception_;
// Built gradually - used in an exception at the end of validation.
Glib::ustring validate_error_;
Glib::ustring validate_warning_;
void XsdValidator::validate(const Document* document)
{
if (!document)
- throw internal_error("XsdValidator::validate(): document must not be 0.");
+ throw internal_error("XsdValidator::validate(): document must not be nullptr.");
if (!*this)
throw internal_error("XsdValidator::validate(): Must have a schema to validate document");
explicit operator bool() const noexcept override;
/** Get the schema.
- * @returns A pointer to the schema, or <tt>0</tt>.
+ * @returns A pointer to the schema, or <tt>nullptr</tt>.
*/
XsdSchema* get_schema();
/** Get the schema.
- * @returns A pointer to the schema, or <tt>0</tt>.
+ * @returns A pointer to the schema, or <tt>nullptr</tt>.
*/
const XsdSchema* get_schema() const;
void XsdSchema::parse_document(const Document* document)
{
if (!document)
- throw parse_error("XsdSchema::parse_document(): document must not be 0.");
+ throw parse_error("XsdSchema::parse_document(): document must not be nullptr.");
xmlResetLastError();
release_underlying();
/* Define to omit deprecated API from the library. */
#undef LIBXMLXX_DISABLE_DEPRECATED
-/* This is always set. This is only for backwards compatibility. */
-#undef LIBXMLCPP_EXCEPTIONS_ENABLED
+/* Defined if the C++ library supports std::exception_ptr. */
+#undef LIBXMLXX_HAVE_EXCEPTION_PTR
/* Major version number of libxml++. */
#undef LIBXMLXX_MAJOR_VERSION
saxparser_parse_stream_inconsistent_state/test$(EXEEXT)
subdir = tests
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
- $(top_srcdir)/macros/depcomp $(top_srcdir)/macros/test-driver
+ $(top_srcdir)/build/depcomp $(top_srcdir)/build/test-driver
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/macros/libtool.m4 \
- $(top_srcdir)/macros/ltoptions.m4 \
- $(top_srcdir)/macros/ltsugar.m4 \
- $(top_srcdir)/macros/ltversion.m4 \
- $(top_srcdir)/macros/lt~obsolete.m4 $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/build/cxx_std.m4 \
+ $(top_srcdir)/build/libtool.m4 \
+ $(top_srcdir)/build/ltoptions.m4 \
+ $(top_srcdir)/build/ltsugar.m4 \
+ $(top_srcdir)/build/ltversion.m4 \
+ $(top_srcdir)/build/lt~obsolete.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES =
-depcomp = $(SHELL) $(top_srcdir)/macros/depcomp
+depcomp = $(SHELL) $(top_srcdir)/build/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
AM_RECURSIVE_TARGETS = check recheck
TEST_SUITE_LOG = test-suite.log
TEST_EXTENSIONS = @EXEEXT@ .test
-LOG_DRIVER = $(SHELL) $(top_srcdir)/macros/test-driver
+LOG_DRIVER = $(SHELL) $(top_srcdir)/build/test-driver
LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS)
am__set_b = \
case '$@' in \
am__test_logs1 = $(TESTS:=.log)
am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log)
TEST_LOGS = $(am__test_logs2:.test.log=.log)
-TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/macros/test-driver
+TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/build/test-driver
TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
$(TEST_LOG_FLAGS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+#include <config.h>
+#include <libxml++/libxml++.h>
+
#include <cstdlib>
#include <glibmm.h>
#include <sstream>
#include <stdexcept>
-#include <libxml++/libxml++.h>
-
class MySaxParser : public xmlpp::SaxParser
{
protected:
parser.parse_chunk("<?");
parser.finish_chunk_parsing();
}
+#ifdef LIBXMLXX_HAVE_EXCEPTION_PTR
catch(const std::runtime_error& e)
+#else
+ catch(const xmlpp::exception& e)
+#endif
{
exceptionThrown = true;
g_assert_cmpstr(e.what(), ==, "on_error() called");
// error should not have been thrown.
g_assert_not_reached();
}
+#ifdef LIBXMLXX_HAVE_EXCEPTION_PTR
catch(const std::runtime_error& e)
+#else
+ catch(const xmlpp::exception& e)
+#endif
{
exceptionThrown = true;
g_assert_cmpstr(e.what(), ==, "some custom runtime exception");
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+#include <config.h>
+#include <libxml++/libxml++.h>
+
#include <cstdlib>
#include <glibmm.h>
#include <stdexcept>
-#include <libxml++/libxml++.h>
-
-
class OnCdataBlockTestParser : public xmlpp::SaxParser
{
protected:
{
parser.parse_memory("<root><![CDATA[some CDATA]]></root>");
}
+#ifdef LIBXMLXX_HAVE_EXCEPTION_PTR
catch(const std::runtime_error& e)
+#else
+ catch(const xmlpp::exception& e)
+#endif
{
exceptionThrown = true;
g_assert_cmpstr(e.what(), ==, "on_cdata_block runtime exception");
{
parser.parse_memory("<root>abc</root>");
}
+#ifdef LIBXMLXX_HAVE_EXCEPTION_PTR
catch(const std::runtime_error& e)
+#else
+ catch(const xmlpp::exception& e)
+#endif
{
exceptionThrown = true;
g_assert_cmpstr(e.what(), ==, "on_characters runtime exception");
{
parser.parse_memory("<root><!--a comment--></root>");
}
+#ifdef LIBXMLXX_HAVE_EXCEPTION_PTR
catch(const std::runtime_error& e)
+#else
+ catch(const xmlpp::exception& e)
+#endif
{
exceptionThrown = true;
g_assert_cmpstr(e.what(), ==, "on_comment runtime exception");
{
parser.parse_memory("<root></root>");
}
+#ifdef LIBXMLXX_HAVE_EXCEPTION_PTR
catch(const std::runtime_error& e)
+#else
+ catch(const xmlpp::exception& e)
+#endif
{
exceptionThrown = true;
g_assert_cmpstr(e.what(), ==, "on_end_document runtime exception");
{
parser.parse_memory("<a:root xmlns:a=\"urn:test\"></a:root>");
}
+#ifdef LIBXMLXX_HAVE_EXCEPTION_PTR
catch(const std::runtime_error& e)
+#else
+ catch(const xmlpp::exception& e)
+#endif
{
exceptionThrown = true;
g_assert_cmpstr(e.what(), ==, "on_end_element runtime exception");
{
parser.parse_memory("<!DOCTYPE MyDocument [<!ENTITY number \"42\">]><root></root>");
}
+#ifdef LIBXMLXX_HAVE_EXCEPTION_PTR
catch(const std::runtime_error& e)
+#else
+ catch(const xmlpp::exception& e)
+#endif
{
exceptionThrown = true;
g_assert_cmpstr(e.what(), ==, "on_entity_declaration runtime exception");
{
parser.parse_memory("<root>&unknown;</root>");
}
+#ifdef LIBXMLXX_HAVE_EXCEPTION_PTR
catch(const std::runtime_error& e)
+#else
+ catch(const xmlpp::exception& e)
+#endif
{
exceptionThrown = true;
g_assert_cmpstr(e.what(), ==, "on_error runtime exception");
{
parser.parse_memory("<!DOCTYPE MyDocument [<!ENTITY number \"42\">]><root>&number;</root>");
}
+#ifdef LIBXMLXX_HAVE_EXCEPTION_PTR
catch(const std::runtime_error& e)
+#else
+ catch(const xmlpp::exception& e)
+#endif
{
exceptionThrown = true;
g_assert_cmpstr(e.what(), ==, "on_get_entity runtime exception");
{
parser.parse_memory("<root></root>");
}
+#ifdef LIBXMLXX_HAVE_EXCEPTION_PTR
catch(const std::runtime_error& e)
+#else
+ catch(const xmlpp::exception& e)
+#endif
{
exceptionThrown = true;
g_assert_cmpstr(e.what(), ==, "on_start_document runtime exception");
{
parser.parse_memory("<b:root xmlns:b=\"urn:test\" someattr=\"test\"></b:root>");
}
+#ifdef LIBXMLXX_HAVE_EXCEPTION_PTR
catch(const std::runtime_error& e)
+#else
+ catch(const xmlpp::exception& e)
+#endif
{
exceptionThrown = true;
g_assert_cmpstr(e.what(), ==, "on_start_element runtime exception");
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+#include <config.h>
+#include <libxml++/libxml++.h>
+
#include <cstdlib>
#include <glibmm.h>
#include <sstream>
#include <stdexcept>
-#include <libxml++/libxml++.h>
-
class MySaxParser : public xmlpp::SaxParser
{
protected:
std::stringstream ss("<root></root>");
parser.parse_stream(ss);
}
+#ifdef LIBXMLXX_HAVE_EXCEPTION_PTR
catch(const std::runtime_error& e)
+#else
+ catch(const xmlpp::exception& e)
+#endif
{
exceptionThrown = true;
g_assert_cmpstr(e.what(), ==, "some custom runtime exception");
// error should not have been thrown.
g_assert_not_reached();
}
+#ifdef LIBXMLXX_HAVE_EXCEPTION_PTR
catch(const std::runtime_error& e)
+#else
+ catch(const xmlpp::exception& e)
+#endif
{
exceptionThrown = true;
g_assert_cmpstr(e.what(), ==, "some custom runtime exception");