summaryrefslogtreecommitdiff
path: root/xsd/libxsd/xsd/cxx/parser
diff options
context:
space:
mode:
Diffstat (limited to 'xsd/libxsd/xsd/cxx/parser')
-rw-r--r--xsd/libxsd/xsd/cxx/parser/document.hxx3
-rw-r--r--xsd/libxsd/xsd/cxx/parser/document.txx3
-rw-r--r--xsd/libxsd/xsd/cxx/parser/elements.hxx3
-rw-r--r--xsd/libxsd/xsd/cxx/parser/elements.txx3
-rw-r--r--xsd/libxsd/xsd/cxx/parser/error-handler.hxx3
-rw-r--r--xsd/libxsd/xsd/cxx/parser/error-handler.txx3
-rw-r--r--xsd/libxsd/xsd/cxx/parser/exceptions.hxx3
-rw-r--r--xsd/libxsd/xsd/cxx/parser/exceptions.ixx3
-rw-r--r--xsd/libxsd/xsd/cxx/parser/exceptions.txx3
-rw-r--r--xsd/libxsd/xsd/cxx/parser/expat/elements.hxx30
-rw-r--r--xsd/libxsd/xsd/cxx/parser/expat/elements.txx11
-rw-r--r--xsd/libxsd/xsd/cxx/parser/map.hxx3
-rw-r--r--xsd/libxsd/xsd/cxx/parser/map.ixx3
-rw-r--r--xsd/libxsd/xsd/cxx/parser/map.txx3
-rw-r--r--xsd/libxsd/xsd/cxx/parser/non-validating/parser.hxx3
-rw-r--r--xsd/libxsd/xsd/cxx/parser/non-validating/parser.txx3
-rw-r--r--xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pimpl.hxx9
-rw-r--r--xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pimpl.ixx3
-rw-r--r--xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pimpl.txx11
-rw-r--r--xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pskel.hxx11
-rw-r--r--xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pskel.ixx3
-rw-r--r--xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pskel.txx3
-rw-r--r--xsd/libxsd/xsd/cxx/parser/schema-exceptions.hxx3
-rw-r--r--xsd/libxsd/xsd/cxx/parser/schema-exceptions.ixx3
-rw-r--r--xsd/libxsd/xsd/cxx/parser/schema-exceptions.txx3
-rw-r--r--xsd/libxsd/xsd/cxx/parser/substitution-map.hxx3
-rw-r--r--xsd/libxsd/xsd/cxx/parser/substitution-map.txx3
-rw-r--r--xsd/libxsd/xsd/cxx/parser/validating/exceptions.hxx3
-rw-r--r--xsd/libxsd/xsd/cxx/parser/validating/exceptions.ixx3
-rw-r--r--xsd/libxsd/xsd/cxx/parser/validating/exceptions.txx3
-rw-r--r--xsd/libxsd/xsd/cxx/parser/validating/inheritance-map.hxx3
-rw-r--r--xsd/libxsd/xsd/cxx/parser/validating/inheritance-map.txx3
-rw-r--r--xsd/libxsd/xsd/cxx/parser/validating/parser.hxx3
-rw-r--r--xsd/libxsd/xsd/cxx/parser/validating/parser.txx3
-rw-r--r--xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.hxx13
-rw-r--r--xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.ixx3
-rw-r--r--xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.txx19
-rw-r--r--xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pskel.hxx11
-rw-r--r--xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pskel.ixx3
-rw-r--r--xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pskel.txx3
-rw-r--r--xsd/libxsd/xsd/cxx/parser/xerces/elements.hxx26
-rw-r--r--xsd/libxsd/xsd/cxx/parser/xerces/elements.txx73
-rw-r--r--xsd/libxsd/xsd/cxx/parser/xml-schema.hxx3
-rw-r--r--xsd/libxsd/xsd/cxx/parser/xml-schema.ixx3
-rw-r--r--xsd/libxsd/xsd/cxx/parser/xml-schema.txx3
45 files changed, 149 insertions, 170 deletions
diff --git a/xsd/libxsd/xsd/cxx/parser/document.hxx b/xsd/libxsd/xsd/cxx/parser/document.hxx
index 992b800..731808b 100644
--- a/xsd/libxsd/xsd/cxx/parser/document.hxx
+++ b/xsd/libxsd/xsd/cxx/parser/document.hxx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/document.hxx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#ifndef XSD_CXX_PARSER_DOCUMENT_HXX
diff --git a/xsd/libxsd/xsd/cxx/parser/document.txx b/xsd/libxsd/xsd/cxx/parser/document.txx
index cad49ce..3c25574 100644
--- a/xsd/libxsd/xsd/cxx/parser/document.txx
+++ b/xsd/libxsd/xsd/cxx/parser/document.txx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/document.txx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#include <cassert>
diff --git a/xsd/libxsd/xsd/cxx/parser/elements.hxx b/xsd/libxsd/xsd/cxx/parser/elements.hxx
index 5f0bead..2f814d1 100644
--- a/xsd/libxsd/xsd/cxx/parser/elements.hxx
+++ b/xsd/libxsd/xsd/cxx/parser/elements.hxx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/elements.hxx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#ifndef XSD_CXX_PARSER_ELEMENTS_HXX
diff --git a/xsd/libxsd/xsd/cxx/parser/elements.txx b/xsd/libxsd/xsd/cxx/parser/elements.txx
index 5706107..3aaf017 100644
--- a/xsd/libxsd/xsd/cxx/parser/elements.txx
+++ b/xsd/libxsd/xsd/cxx/parser/elements.txx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/elements.txx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
namespace xsd
diff --git a/xsd/libxsd/xsd/cxx/parser/error-handler.hxx b/xsd/libxsd/xsd/cxx/parser/error-handler.hxx
index b83c0a8..1352bec 100644
--- a/xsd/libxsd/xsd/cxx/parser/error-handler.hxx
+++ b/xsd/libxsd/xsd/cxx/parser/error-handler.hxx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/error-handler.hxx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#ifndef XSD_CXX_PARSER_ERROR_HANDLER_HXX
diff --git a/xsd/libxsd/xsd/cxx/parser/error-handler.txx b/xsd/libxsd/xsd/cxx/parser/error-handler.txx
index 23751d2..db247a7 100644
--- a/xsd/libxsd/xsd/cxx/parser/error-handler.txx
+++ b/xsd/libxsd/xsd/cxx/parser/error-handler.txx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/error-handler.txx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
namespace xsd
diff --git a/xsd/libxsd/xsd/cxx/parser/exceptions.hxx b/xsd/libxsd/xsd/cxx/parser/exceptions.hxx
index c0e90dd..04cf30f 100644
--- a/xsd/libxsd/xsd/cxx/parser/exceptions.hxx
+++ b/xsd/libxsd/xsd/cxx/parser/exceptions.hxx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/exceptions.hxx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#ifndef XSD_CXX_PARSER_EXCEPTIONS_HXX
diff --git a/xsd/libxsd/xsd/cxx/parser/exceptions.ixx b/xsd/libxsd/xsd/cxx/parser/exceptions.ixx
index d4e13f3..f7489f3 100644
--- a/xsd/libxsd/xsd/cxx/parser/exceptions.ixx
+++ b/xsd/libxsd/xsd/cxx/parser/exceptions.ixx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/exceptions.ixx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#if defined(XSD_CXX_PARSER_USE_CHAR) || !defined(XSD_CXX_PARSER_USE_WCHAR)
diff --git a/xsd/libxsd/xsd/cxx/parser/exceptions.txx b/xsd/libxsd/xsd/cxx/parser/exceptions.txx
index 5423cdd..d0e52b6 100644
--- a/xsd/libxsd/xsd/cxx/parser/exceptions.txx
+++ b/xsd/libxsd/xsd/cxx/parser/exceptions.txx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/exceptions.txx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
namespace xsd
diff --git a/xsd/libxsd/xsd/cxx/parser/expat/elements.hxx b/xsd/libxsd/xsd/cxx/parser/expat/elements.hxx
index c9f3de0..86e7a73 100644
--- a/xsd/libxsd/xsd/cxx/parser/expat/elements.hxx
+++ b/xsd/libxsd/xsd/cxx/parser/expat/elements.hxx
@@ -1,16 +1,21 @@
// file : xsd/cxx/parser/expat/elements.hxx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#ifndef XSD_CXX_PARSER_EXPAT_ELEMENTS_HXX
#define XSD_CXX_PARSER_EXPAT_ELEMENTS_HXX
+#include <xsd/cxx/config.hxx> // XSD_CXX11
+
#include <string>
#include <iosfwd>
#include <cstddef> // std::size_t
#include <vector>
+#ifdef XSD_CXX11
+# include <memory> // std::unique_ptr
+#endif
+
#include <expat.h>
// We only support UTF-8 expat for now.
@@ -35,6 +40,19 @@ namespace xsd
{
namespace expat
{
+#ifdef XSD_CXX11
+ struct parser_deleter
+ {
+ void
+ operator() (XML_Parser p) const
+ {
+ if (p != 0)
+ XML_ParserFree (p);
+ }
+ };
+
+ typedef std::unique_ptr<XML_ParserStruct> parser_auto_ptr;
+#else
// Simple auto pointer for Expat's XML_Parser object.
//
struct parser_auto_ptr
@@ -61,8 +79,8 @@ namespace xsd
return *this;
}
- public:
- operator XML_Parser ()
+ XML_Parser
+ get () const
{
return parser_;
}
@@ -76,12 +94,12 @@ namespace xsd
private:
XML_Parser parser_;
};
-
+#endif // XSD_CXX11
//
//
template <typename C>
- struct document: cxx::parser::document<C> // VC 7.1 likes it qualified
+ struct document: cxx::parser::document<C> // VC likes it qualified
{
public:
document (parser_base<C>&,
diff --git a/xsd/libxsd/xsd/cxx/parser/expat/elements.txx b/xsd/libxsd/xsd/cxx/parser/expat/elements.txx
index 08ecf21..d3fc0d9 100644
--- a/xsd/libxsd/xsd/cxx/parser/expat/elements.txx
+++ b/xsd/libxsd/xsd/cxx/parser/expat/elements.txx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/expat/elements.txx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#include <new> // std::bad_alloc
@@ -334,18 +333,18 @@ namespace xsd
{
// First call.
//
- if (auto_xml_parser_ == 0)
+ if (auto_xml_parser_.get () == 0)
{
auto_xml_parser_ = XML_ParserCreateNS (0, XML_Char (' '));
- if (auto_xml_parser_ == 0)
+ if (auto_xml_parser_.get () == 0)
throw std::bad_alloc ();
if (system_id || public_id)
- parse_begin (auto_xml_parser_,
+ parse_begin (auto_xml_parser_.get (),
system_id ? *system_id : *public_id, eh);
else
- parse_begin (auto_xml_parser_, eh);
+ parse_begin (auto_xml_parser_.get (), eh);
}
bool r (XML_Parse (xml_parser_,
diff --git a/xsd/libxsd/xsd/cxx/parser/map.hxx b/xsd/libxsd/xsd/cxx/parser/map.hxx
index 663b178..d097f16 100644
--- a/xsd/libxsd/xsd/cxx/parser/map.hxx
+++ b/xsd/libxsd/xsd/cxx/parser/map.hxx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/map.hxx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#ifndef XSD_CXX_PARSER_MAP_HXX
diff --git a/xsd/libxsd/xsd/cxx/parser/map.ixx b/xsd/libxsd/xsd/cxx/parser/map.ixx
index 0b70680..96fc937 100644
--- a/xsd/libxsd/xsd/cxx/parser/map.ixx
+++ b/xsd/libxsd/xsd/cxx/parser/map.ixx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/map.ixx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
namespace xsd
diff --git a/xsd/libxsd/xsd/cxx/parser/map.txx b/xsd/libxsd/xsd/cxx/parser/map.txx
index aa7099d..3f85760 100644
--- a/xsd/libxsd/xsd/cxx/parser/map.txx
+++ b/xsd/libxsd/xsd/cxx/parser/map.txx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/map.txx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
namespace xsd
diff --git a/xsd/libxsd/xsd/cxx/parser/non-validating/parser.hxx b/xsd/libxsd/xsd/cxx/parser/non-validating/parser.hxx
index 9eda6f4..4ecc4f1 100644
--- a/xsd/libxsd/xsd/cxx/parser/non-validating/parser.hxx
+++ b/xsd/libxsd/xsd/cxx/parser/non-validating/parser.hxx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/non-validating/parser.hxx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#ifndef XSD_CXX_PARSER_NON_VALIDATING_PARSER_HXX
diff --git a/xsd/libxsd/xsd/cxx/parser/non-validating/parser.txx b/xsd/libxsd/xsd/cxx/parser/non-validating/parser.txx
index c95b92e..79b6568 100644
--- a/xsd/libxsd/xsd/cxx/parser/non-validating/parser.txx
+++ b/xsd/libxsd/xsd/cxx/parser/non-validating/parser.txx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/non-validating/parser.txx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#include <cassert>
diff --git a/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pimpl.hxx b/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pimpl.hxx
index 397386d..fc1f838 100644
--- a/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pimpl.hxx
+++ b/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pimpl.hxx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/non-validating/xml-schema-pimpl.hxx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#ifndef XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PIMPL_HXX
@@ -8,6 +7,8 @@
#include <string>
+#include <xsd/cxx/config.hxx> // XSD_AUTO_PTR
+
#include <xsd/cxx/parser/non-validating/xml-schema-pskel.hxx>
namespace xsd
@@ -564,7 +565,7 @@ namespace xsd
virtual void
_characters (const ro_string<C>&);
- virtual std::auto_ptr<buffer>
+ virtual XSD_AUTO_PTR<buffer>
post_base64_binary ();
protected:
@@ -582,7 +583,7 @@ namespace xsd
virtual void
_characters (const ro_string<C>&);
- virtual std::auto_ptr<buffer>
+ virtual XSD_AUTO_PTR<buffer>
post_hex_binary ();
protected:
diff --git a/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pimpl.ixx b/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pimpl.ixx
index db9a5d1..3555693 100644
--- a/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pimpl.ixx
+++ b/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pimpl.ixx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/non-validating/xml-schema-pimpl.ixx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#if defined(XSD_CXX_PARSER_USE_CHAR) || !defined(XSD_CXX_PARSER_USE_WCHAR)
diff --git a/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pimpl.txx b/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pimpl.txx
index c430f49..28280f5 100644
--- a/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pimpl.txx
+++ b/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pimpl.txx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/non-validating/xml-schema-pimpl.txx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#include <limits>
@@ -1157,7 +1156,7 @@ namespace xsd
}
template <typename C>
- std::auto_ptr<buffer> base64_binary_pimpl<C>::
+ XSD_AUTO_PTR<buffer> base64_binary_pimpl<C>::
post_base64_binary ()
{
typedef typename std::basic_string<C>::size_type size_type;
@@ -1199,7 +1198,7 @@ namespace xsd
size_type quad_count (size / 4);
size_type capacity (quad_count * 3 + 1);
- std::auto_ptr<buffer> buf (new buffer (capacity, capacity));
+ XSD_AUTO_PTR<buffer> buf (new buffer (capacity, capacity));
char* dst (buf->data ());
size_type si (0), di (0); // Source and destination indexes.
@@ -1309,7 +1308,7 @@ namespace xsd
}
template <typename C>
- std::auto_ptr<buffer> hex_binary_pimpl<C>::
+ XSD_AUTO_PTR<buffer> hex_binary_pimpl<C>::
post_hex_binary ()
{
typedef typename ro_string<C>::size_type size_type;
@@ -1318,7 +1317,7 @@ namespace xsd
size_type size (trim_right (tmp));
buffer::size_t n (size / 2);
- std::auto_ptr<buffer> buf (new buffer (n));
+ XSD_AUTO_PTR<buffer> buf (new buffer (n));
const C* src (tmp.data ());
char* dst (buf->data ());
diff --git a/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pskel.hxx b/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pskel.hxx
index 8e4972a..334be01 100644
--- a/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pskel.hxx
+++ b/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pskel.hxx
@@ -1,13 +1,14 @@
// file : xsd/cxx/parser/non-validating/xml-schema-pskel.hxx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#ifndef XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PSKEL_HXX
#define XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PSKEL_HXX
#include <string>
-#include <memory> // auto_ptr
+#include <memory> // std::auto_ptr/unique_ptr
+
+#include <xsd/cxx/config.hxx> // XSD_AUTO_PTR
#include <xsd/cxx/parser/xml-schema.hxx>
#include <xsd/cxx/parser/non-validating/parser.hxx>
@@ -494,7 +495,7 @@ namespace xsd
template <typename C>
struct base64_binary_pskel: simple_content<C>
{
- virtual std::auto_ptr<buffer>
+ virtual XSD_AUTO_PTR<buffer>
post_base64_binary () = 0;
static const C*
@@ -507,7 +508,7 @@ namespace xsd
template <typename C>
struct hex_binary_pskel: simple_content<C>
{
- virtual std::auto_ptr<buffer>
+ virtual XSD_AUTO_PTR<buffer>
post_hex_binary () = 0;
static const C*
diff --git a/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pskel.ixx b/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pskel.ixx
index 13b1fab..44cc6e4 100644
--- a/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pskel.ixx
+++ b/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pskel.ixx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/non-validating/xml-schema-pskel.ixx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#if defined(XSD_CXX_PARSER_USE_CHAR) || !defined(XSD_CXX_PARSER_USE_WCHAR)
diff --git a/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pskel.txx b/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pskel.txx
index b6352df..e2fd1b3 100644
--- a/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pskel.txx
+++ b/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pskel.txx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/non-validating/xml-schema-pskel.txx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
namespace xsd
diff --git a/xsd/libxsd/xsd/cxx/parser/schema-exceptions.hxx b/xsd/libxsd/xsd/cxx/parser/schema-exceptions.hxx
index 9af39d7..8fd2def 100644
--- a/xsd/libxsd/xsd/cxx/parser/schema-exceptions.hxx
+++ b/xsd/libxsd/xsd/cxx/parser/schema-exceptions.hxx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/schema-exceptions.hxx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#ifndef XSD_CXX_PARSER_SCHEMA_EXCEPTIONS_HXX
diff --git a/xsd/libxsd/xsd/cxx/parser/schema-exceptions.ixx b/xsd/libxsd/xsd/cxx/parser/schema-exceptions.ixx
index cfd2d18..71be381 100644
--- a/xsd/libxsd/xsd/cxx/parser/schema-exceptions.ixx
+++ b/xsd/libxsd/xsd/cxx/parser/schema-exceptions.ixx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/schema-exceptions.ixx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#if defined(XSD_CXX_PARSER_USE_CHAR) || !defined(XSD_CXX_PARSER_USE_WCHAR)
diff --git a/xsd/libxsd/xsd/cxx/parser/schema-exceptions.txx b/xsd/libxsd/xsd/cxx/parser/schema-exceptions.txx
index 7ac45ae..77c569a 100644
--- a/xsd/libxsd/xsd/cxx/parser/schema-exceptions.txx
+++ b/xsd/libxsd/xsd/cxx/parser/schema-exceptions.txx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/schema-exceptions.txx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
namespace xsd
diff --git a/xsd/libxsd/xsd/cxx/parser/substitution-map.hxx b/xsd/libxsd/xsd/cxx/parser/substitution-map.hxx
index 416d1ec..d191e28 100644
--- a/xsd/libxsd/xsd/cxx/parser/substitution-map.hxx
+++ b/xsd/libxsd/xsd/cxx/parser/substitution-map.hxx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/substitution-map.hxx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#ifndef XSD_CXX_PARSER_SUBSTITUTION_MAP_HXX
diff --git a/xsd/libxsd/xsd/cxx/parser/substitution-map.txx b/xsd/libxsd/xsd/cxx/parser/substitution-map.txx
index dad0ec6..45216cd 100644
--- a/xsd/libxsd/xsd/cxx/parser/substitution-map.txx
+++ b/xsd/libxsd/xsd/cxx/parser/substitution-map.txx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/substitution-map.txx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
namespace xsd
diff --git a/xsd/libxsd/xsd/cxx/parser/validating/exceptions.hxx b/xsd/libxsd/xsd/cxx/parser/validating/exceptions.hxx
index c0efda8..07086e3 100644
--- a/xsd/libxsd/xsd/cxx/parser/validating/exceptions.hxx
+++ b/xsd/libxsd/xsd/cxx/parser/validating/exceptions.hxx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/validating/exceptions.hxx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#ifndef XSD_CXX_PARSER_VALIDATING_EXCEPTIONS_HXX
diff --git a/xsd/libxsd/xsd/cxx/parser/validating/exceptions.ixx b/xsd/libxsd/xsd/cxx/parser/validating/exceptions.ixx
index 74bb909..72bfe8d 100644
--- a/xsd/libxsd/xsd/cxx/parser/validating/exceptions.ixx
+++ b/xsd/libxsd/xsd/cxx/parser/validating/exceptions.ixx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/validating/exceptions.ixx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#if defined(XSD_CXX_PARSER_USE_CHAR) || !defined(XSD_CXX_PARSER_USE_WCHAR)
diff --git a/xsd/libxsd/xsd/cxx/parser/validating/exceptions.txx b/xsd/libxsd/xsd/cxx/parser/validating/exceptions.txx
index 6205215..c2b8928 100644
--- a/xsd/libxsd/xsd/cxx/parser/validating/exceptions.txx
+++ b/xsd/libxsd/xsd/cxx/parser/validating/exceptions.txx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/validating/exceptions.txx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
namespace xsd
diff --git a/xsd/libxsd/xsd/cxx/parser/validating/inheritance-map.hxx b/xsd/libxsd/xsd/cxx/parser/validating/inheritance-map.hxx
index d9307b4..b8ae938 100644
--- a/xsd/libxsd/xsd/cxx/parser/validating/inheritance-map.hxx
+++ b/xsd/libxsd/xsd/cxx/parser/validating/inheritance-map.hxx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/validating/inheritance-map.hxx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#ifndef XSD_CXX_PARSER_VALIDATING_INHERITANCE_MAP_HXX
diff --git a/xsd/libxsd/xsd/cxx/parser/validating/inheritance-map.txx b/xsd/libxsd/xsd/cxx/parser/validating/inheritance-map.txx
index 1a63e65..ba4803e 100644
--- a/xsd/libxsd/xsd/cxx/parser/validating/inheritance-map.txx
+++ b/xsd/libxsd/xsd/cxx/parser/validating/inheritance-map.txx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/validating/inheritance-map.txx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
namespace xsd
diff --git a/xsd/libxsd/xsd/cxx/parser/validating/parser.hxx b/xsd/libxsd/xsd/cxx/parser/validating/parser.hxx
index da297d9..c305fe1 100644
--- a/xsd/libxsd/xsd/cxx/parser/validating/parser.hxx
+++ b/xsd/libxsd/xsd/cxx/parser/validating/parser.hxx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/validating/parser.hxx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#ifndef XSD_CXX_PARSER_VALIDATING_PARSER_HXX
diff --git a/xsd/libxsd/xsd/cxx/parser/validating/parser.txx b/xsd/libxsd/xsd/cxx/parser/validating/parser.txx
index d447725..9a5800a 100644
--- a/xsd/libxsd/xsd/cxx/parser/validating/parser.txx
+++ b/xsd/libxsd/xsd/cxx/parser/validating/parser.txx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/validating/parser.txx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#include <cassert>
diff --git a/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.hxx b/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.hxx
index 619a8c7..ae64d2b 100644
--- a/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.hxx
+++ b/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.hxx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/validating/xml-schema-pimpl.hxx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#ifndef XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PIMPL_HXX
@@ -8,6 +7,8 @@
#include <string>
+#include <xsd/cxx/config.hxx> // XSD_AUTO_PTR
+
#include <xsd/cxx/parser/validating/xml-schema-pskel.hxx>
namespace xsd
@@ -664,12 +665,12 @@ namespace xsd
virtual void
_post ();
- virtual std::auto_ptr<buffer>
+ virtual XSD_AUTO_PTR<buffer>
post_base64_binary ();
protected:
std::basic_string<C> str_;
- std::auto_ptr<buffer> buf_;
+ XSD_AUTO_PTR<buffer> buf_;
};
// hexBinary
@@ -686,12 +687,12 @@ namespace xsd
virtual void
_post ();
- virtual std::auto_ptr<buffer>
+ virtual XSD_AUTO_PTR<buffer>
post_hex_binary ();
protected:
std::basic_string<C> str_;
- std::auto_ptr<buffer> buf_;
+ XSD_AUTO_PTR<buffer> buf_;
};
// gday
diff --git a/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.ixx b/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.ixx
index c6f8127..94a9b8e 100644
--- a/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.ixx
+++ b/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.ixx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/validating/xml-schema-pimpl.ixx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#if defined(XSD_CXX_PARSER_USE_CHAR) || !defined(XSD_CXX_PARSER_USE_WCHAR)
diff --git a/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.txx b/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.txx
index 55121c2..ad587c5 100644
--- a/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.txx
+++ b/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.txx
@@ -1,11 +1,14 @@
// file : xsd/cxx/parser/validating/xml-schema-pimpl.txx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#include <limits>
#include <locale>
+#ifdef XSD_CXX11
+# include <utility> // std::move
+#endif
+
#include <xsd/cxx/zc-istream.hxx>
#include <xsd/cxx/parser/validating/exceptions.hxx>
@@ -1634,10 +1637,14 @@ namespace xsd
}
template <typename C>
- std::auto_ptr<buffer> base64_binary_pimpl<C>::
+ XSD_AUTO_PTR<buffer> base64_binary_pimpl<C>::
post_base64_binary ()
{
+#ifdef XSD_CXX11
+ return std::move (buf_);
+#else
return buf_;
+#endif
}
// hex_binary
@@ -1721,10 +1728,14 @@ namespace xsd
}
template <typename C>
- std::auto_ptr<buffer> hex_binary_pimpl<C>::
+ XSD_AUTO_PTR<buffer> hex_binary_pimpl<C>::
post_hex_binary ()
{
+#ifdef XSD_CXX11
+ return std::move (buf_);
+#else
return buf_;
+#endif
}
// time_zone
diff --git a/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pskel.hxx b/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pskel.hxx
index 67c8057..ffc7de3 100644
--- a/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pskel.hxx
+++ b/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pskel.hxx
@@ -1,13 +1,14 @@
// file : xsd/cxx/parser/validating/xml-schema-pskel.hxx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#ifndef XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PSKEL_HXX
#define XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PSKEL_HXX
#include <string>
-#include <memory> // auto_ptr
+#include <memory> // std::auto_ptr/unique_ptr
+
+#include <xsd/cxx/config.hxx> // XSD_AUTO_PTR
#include <xsd/cxx/parser/xml-schema.hxx>
#include <xsd/cxx/parser/validating/parser.hxx>
@@ -494,7 +495,7 @@ namespace xsd
template <typename C>
struct base64_binary_pskel: simple_content<C>
{
- virtual std::auto_ptr<buffer>
+ virtual XSD_AUTO_PTR<buffer>
post_base64_binary () = 0;
static const C*
@@ -507,7 +508,7 @@ namespace xsd
template <typename C>
struct hex_binary_pskel: simple_content<C>
{
- virtual std::auto_ptr<buffer>
+ virtual XSD_AUTO_PTR<buffer>
post_hex_binary () = 0;
static const C*
diff --git a/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pskel.ixx b/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pskel.ixx
index 6958bea..b6da227 100644
--- a/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pskel.ixx
+++ b/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pskel.ixx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/validating/xml-schema-pskel.ixx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#if defined(XSD_CXX_PARSER_USE_CHAR) || !defined(XSD_CXX_PARSER_USE_WCHAR)
diff --git a/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pskel.txx b/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pskel.txx
index 4ae50e3..49d53c5 100644
--- a/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pskel.txx
+++ b/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pskel.txx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/validating/xml-schema-pskel.txx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
namespace xsd
diff --git a/xsd/libxsd/xsd/cxx/parser/xerces/elements.hxx b/xsd/libxsd/xsd/cxx/parser/xerces/elements.hxx
index e0439f3..da493f9 100644
--- a/xsd/libxsd/xsd/cxx/parser/xerces/elements.hxx
+++ b/xsd/libxsd/xsd/cxx/parser/xerces/elements.hxx
@@ -1,12 +1,11 @@
// file : xsd/cxx/parser/xerces/elements.hxx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#ifndef XSD_CXX_PARSER_XERCES_ELEMENTS_HXX
#define XSD_CXX_PARSER_XERCES_ELEMENTS_HXX
-#include <memory> // std::auto_ptr
+#include <memory> // std::auto_ptr/unique_ptr
#include <string>
#include <iosfwd>
#include <vector>
@@ -16,6 +15,10 @@
#include <xercesc/sax2/SAX2XMLReader.hpp>
#include <xercesc/sax2/DefaultHandler.hpp>
+#include <xercesc/util/XercesVersion.hpp>
+
+#include <xsd/cxx/config.hxx> // XSD_AUTO_PTR
+
#include <xsd/cxx/xml/elements.hxx>
#include <xsd/cxx/xml/error-handler.hxx>
@@ -23,6 +26,10 @@
#include <xsd/cxx/parser/elements.hxx>
#include <xsd/cxx/parser/document.hxx>
+#if _XERCES_VERSION < 30000
+# error Xerces-C++ 2-series is not supported
+#endif
+
namespace xsd
{
namespace cxx
@@ -79,7 +86,7 @@ namespace xsd
//
//
template <typename C>
- struct document: cxx::parser::document<C> // VC 7.1 likes it qualified
+ struct document: cxx::parser::document<C> // VC likes it qualified
{
public:
document (parser_base<C>& root,
@@ -371,7 +378,7 @@ namespace xsd
const properties<C>&);
private:
- std::auto_ptr<xercesc::SAX2XMLReader>
+ XSD_AUTO_PTR<xercesc::SAX2XMLReader>
create_sax_ (flags, const properties<C>&);
private:
@@ -386,8 +393,8 @@ namespace xsd
event_router (cxx::parser::document<C>&, bool polymorphic);
// I know, some of those consts are stupid. But that's what
- // Xerces folks put into their interfaces and VC 7.1 thinks
- // there are different signatures if one strips this fluff off.
+ // Xerces folks put into their interfaces and VC thinks there
+ // are different signatures if one strips this fluff off.
//
virtual void
setDocumentLocator (const xercesc::Locator* const);
@@ -403,13 +410,8 @@ namespace xsd
const XMLCh* const lname,
const XMLCh* const qname);
-#if _XERCES_VERSION >= 30000
virtual void
characters (const XMLCh* const s, const XMLSize_t length);
-#else
- virtual void
- characters (const XMLCh* const s, const unsigned int length);
-#endif
virtual void
startPrefixMapping (const XMLCh* const prefix,
diff --git a/xsd/libxsd/xsd/cxx/parser/xerces/elements.txx b/xsd/libxsd/xsd/cxx/parser/xerces/elements.txx
index 2c1e2a1..f41b074 100644
--- a/xsd/libxsd/xsd/cxx/parser/xerces/elements.txx
+++ b/xsd/libxsd/xsd/cxx/parser/xerces/elements.txx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/xerces/elements.txx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#include <istream>
@@ -12,6 +11,7 @@
#include <xercesc/sax2/XMLReaderFactory.hpp>
#include <xercesc/validators/schema/SchemaSymbols.hpp>
#include <xercesc/util/XMLUni.hpp>
+#include <xercesc/util/XMLString.hpp>
#include <xsd/cxx/xml/string.hxx>
#include <xsd/cxx/xml/sax/std-input-source.hxx>
@@ -94,7 +94,7 @@ namespace xsd
error_handler<C> eh;
xml::sax::bits::error_handler_proxy<C> eh_proxy (eh);
- std::auto_ptr<xercesc::SAX2XMLReader> sax (create_sax_ (f, p));
+ XSD_AUTO_PTR<xercesc::SAX2XMLReader> sax (create_sax_ (f, p));
parse (uri, eh_proxy, *sax, f, p);
@@ -123,7 +123,7 @@ namespace xsd
xml::auto_initializer init ((f & flags::dont_initialize) == 0);
xml::sax::bits::error_handler_proxy<C> eh_proxy (eh);
- std::auto_ptr<xercesc::SAX2XMLReader> sax (create_sax_ (f, p));
+ XSD_AUTO_PTR<xercesc::SAX2XMLReader> sax (create_sax_ (f, p));
parse (uri, eh_proxy, *sax, f, p);
@@ -152,7 +152,7 @@ namespace xsd
const properties<C>& p)
{
xml::sax::bits::error_handler_proxy<C> eh_proxy (eh);
- std::auto_ptr<xercesc::SAX2XMLReader> sax (create_sax_ (f, p));
+ XSD_AUTO_PTR<xercesc::SAX2XMLReader> sax (create_sax_ (f, p));
parse (uri, eh_proxy, *sax, f, p);
@@ -389,7 +389,7 @@ namespace xsd
{
error_handler<C> eh;
xml::sax::bits::error_handler_proxy<C> eh_proxy (eh);
- std::auto_ptr<xercesc::SAX2XMLReader> sax (create_sax_ (f, p));
+ XSD_AUTO_PTR<xercesc::SAX2XMLReader> sax (create_sax_ (f, p));
parse (is, eh_proxy, *sax, f, p);
@@ -404,7 +404,7 @@ namespace xsd
const properties<C>& p)
{
xml::sax::bits::error_handler_proxy<C> eh_proxy (eh);
- std::auto_ptr<xercesc::SAX2XMLReader> sax (create_sax_ (f, p));
+ XSD_AUTO_PTR<xercesc::SAX2XMLReader> sax (create_sax_ (f, p));
parse (is, eh_proxy, *sax, f, p);
@@ -420,7 +420,7 @@ namespace xsd
const properties<C>& p)
{
xml::sax::bits::error_handler_proxy<C> eh_proxy (eh);
- std::auto_ptr<xercesc::SAX2XMLReader> sax (create_sax_ (f, p));
+ XSD_AUTO_PTR<xercesc::SAX2XMLReader> sax (create_sax_ (f, p));
parse (is, eh_proxy, *sax, f, p);
@@ -527,14 +527,8 @@ namespace xsd
xml::string (e.message ()).c_str (),
id.c_str (),
id.c_str (),
-#if _XERCES_VERSION >= 30000
static_cast<XMLFileLoc> (e.line ()),
- static_cast<XMLFileLoc> (e.column ())
-#else
- static_cast<XMLSSize_t> (e.line ()),
- static_cast<XMLSSize_t> (e.column ())
-#endif
- );
+ static_cast<XMLFileLoc> (e.column ()));
eh.fatalError (se);
}
@@ -565,14 +559,8 @@ namespace xsd
xml::string (e.message ()).c_str (),
id.c_str (),
id.c_str (),
-#if _XERCES_VERSION >= 30000
static_cast<XMLFileLoc> (e.line ()),
- static_cast<XMLFileLoc> (e.column ())
-#else
- static_cast<XMLSSize_t> (e.line ()),
- static_cast<XMLSSize_t> (e.column ())
-#endif
- );
+ static_cast<XMLFileLoc> (e.column ()));
eh.fatalError (se);
}
@@ -580,16 +568,12 @@ namespace xsd
template <typename C>
- std::auto_ptr<xercesc::SAX2XMLReader> document<C>::
+ XSD_AUTO_PTR<xercesc::SAX2XMLReader> document<C>::
create_sax_ (flags f, const properties<C>& p)
{
- // HP aCC cannot handle using namespace xercesc;
- //
- using xercesc::SAX2XMLReader;
- using xercesc::XMLReaderFactory;
- using xercesc::XMLUni;
+ using namespace xercesc;
- std::auto_ptr<SAX2XMLReader> sax (
+ XSD_AUTO_PTR<SAX2XMLReader> sax (
XMLReaderFactory::createXMLReader ());
sax->setFeature (XMLUni::fgSAX2CoreNameSpaces, true);
@@ -670,6 +654,9 @@ namespace xsd
const XMLCh* const /*qname*/,
const xercesc::Attributes& attributes)
{
+ using xercesc::XMLUni;
+ using xercesc::XMLString;
+
typedef std::basic_string<C> string;
{
@@ -792,13 +779,19 @@ namespace xsd
}
}
-#if _XERCES_VERSION >= 30000
for (XMLSize_t i (0), end (attributes.getLength()); i < end; ++i)
-#else
- for (unsigned int i (0), end (attributes.getLength()); i < end; ++i)
-#endif
{
- string ns (xml::transcode<C> (attributes.getURI (i)));
+ const XMLCh* xns (attributes.getURI (i));
+
+ // When SAX2 reports the xmlns attribute, it does not include
+ // the proper attribute namespace. So we have to detect and
+ // rectify this case.
+ //
+ if (XMLString::equals (attributes.getQName (i),
+ XMLUni::fgXMLNSString))
+ xns = XMLUni::fgXMLNSURIName;
+
+ string ns (xml::transcode<C> (xns));
string name (xml::transcode<C> (attributes.getLocalName (i)));
string value (xml::transcode<C> (attributes.getValue (i)));
@@ -868,11 +861,7 @@ namespace xsd
template <typename C>
void event_router<C>::
-#if _XERCES_VERSION >= 30000
characters (const XMLCh* const s, const XMLSize_t n)
-#else
- characters (const XMLCh* const s, const unsigned int n)
-#endif
{
typedef std::basic_string<C> string;
@@ -949,16 +938,8 @@ namespace xsd
if (id != 0)
e.id (xml::transcode<C> (id));
-#if _XERCES_VERSION >= 30000
e.line (static_cast<unsigned long> (loc_->getLineNumber ()));
e.column (static_cast<unsigned long> (loc_->getColumnNumber ()));
-#else
- XMLSSize_t l (loc_->getLineNumber ());
- XMLSSize_t c (loc_->getColumnNumber ());
-
- e.line (l == -1 ? 0 : static_cast<unsigned long> (l));
- e.column (c == -1 ? 0: static_cast<unsigned long> (c));
-#endif
}
}
}
diff --git a/xsd/libxsd/xsd/cxx/parser/xml-schema.hxx b/xsd/libxsd/xsd/cxx/parser/xml-schema.hxx
index 5d1f1c6..cc3dd5f 100644
--- a/xsd/libxsd/xsd/cxx/parser/xml-schema.hxx
+++ b/xsd/libxsd/xsd/cxx/parser/xml-schema.hxx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/xml-schema.hxx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#ifndef XSD_CXX_PARSER_XML_SCHEMA_HXX
diff --git a/xsd/libxsd/xsd/cxx/parser/xml-schema.ixx b/xsd/libxsd/xsd/cxx/parser/xml-schema.ixx
index 891bc6f..06ead34 100644
--- a/xsd/libxsd/xsd/cxx/parser/xml-schema.ixx
+++ b/xsd/libxsd/xsd/cxx/parser/xml-schema.ixx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/xml-schema.ixx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#include <new> // operator new/delete
diff --git a/xsd/libxsd/xsd/cxx/parser/xml-schema.txx b/xsd/libxsd/xsd/cxx/parser/xml-schema.txx
index 5f41a18..90e558d 100644
--- a/xsd/libxsd/xsd/cxx/parser/xml-schema.txx
+++ b/xsd/libxsd/xsd/cxx/parser/xml-schema.txx
@@ -1,6 +1,5 @@
// file : xsd/cxx/parser/xml-schema.txx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
namespace xsd