From 4257e28e3bbb92042f5a1db05eba17d7b2a3b151 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 12 Jan 2010 16:18:31 +0200 Subject: Handle DOMLSException to be thrown by future versions of Xerces-C++ --- libxsd/xsd/cxx/xml/dom/parsing-source.txx | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'libxsd/xsd/cxx/xml/dom/parsing-source.txx') diff --git a/libxsd/xsd/cxx/xml/dom/parsing-source.txx b/libxsd/xsd/cxx/xml/dom/parsing-source.txx index 04259ce..59cb153 100644 --- a/libxsd/xsd/cxx/xml/dom/parsing-source.txx +++ b/libxsd/xsd/cxx/xml/dom/parsing-source.txx @@ -5,6 +5,7 @@ #if _XERCES_VERSION >= 30000 # include +# include #else # include #endif @@ -259,7 +260,15 @@ namespace xsd xercesc::Wrapper4InputSource wrap (&is, false); #if _XERCES_VERSION >= 30000 - auto_ptr doc (parser->parse (&wrap)); + auto_ptr doc; + + try + { + doc.reset (parser->parse (&wrap)); + } + catch (const xercesc::DOMLSException&) + { + } #else auto_ptr doc (parser->parse (wrap)); #endif @@ -454,8 +463,21 @@ namespace xsd #endif // _XERCES_VERSION >= 30000 + +#if _XERCES_VERSION >= 30000 + auto_ptr doc; + + try + { + doc.reset (parser->parseURI (string (uri).c_str ())); + } + catch (const xercesc::DOMLSException&) + { + } +#else auto_ptr doc ( parser->parseURI (string (uri).c_str ())); +#endif if (ehp.failed ()) doc.reset (); -- cgit v1.1