You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by ja...@apache.org on 2005/12/03 16:31:06 UTC

svn commit: r351957 [2/3] - in /xerces/xerces-p/trunk: Xerces.cpp Xerces.pm

Modified: xerces/xerces-p/trunk/Xerces.cpp
URL: http://svn.apache.org/viewcvs/xerces/xerces-p/trunk/Xerces.cpp?rev=351957&r1=351956&r2=351957&view=diff
==============================================================================
--- xerces/xerces-p/trunk/Xerces.cpp (original)
+++ xerces/xerces-p/trunk/Xerces.cpp Sat Dec  3 07:29:16 2005
@@ -1,6 +1,22 @@
+/*
+ * Copyright 2002,2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.22
+ * Version 1.3.25
  * 
  * This file is not intended to be easily readable and contains a number of 
  * coding conventions designed to improve portability and efficiency. Do not make
@@ -22,75 +38,125 @@
     T *operator&() { return tt; }
 private:
     SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
-};                                                    
+};
 #endif
 
-/*************************************************************** -*- c -*-
- * perl5/precommon.swg
+/***********************************************************************
  *
- * Rename all exported symbols from common.swg, to avoid symbol
- * clashes if multiple interpreters are included
+ *  This section contains generic SWIG labels for method/variable
+ *  declarations/attributes, and other compiler dependent labels.
  *
  ************************************************************************/
 
-#define SWIG_TypeRegister    SWIG_Perl_TypeRegister
-#define SWIG_TypeCheck       SWIG_Perl_TypeCheck
-#define SWIG_TypeCast        SWIG_Perl_TypeCast
-#define SWIG_TypeDynamicCast SWIG_Perl_TypeDynamicCast
-#define SWIG_TypeName        SWIG_Perl_TypeName
-#define SWIG_TypePrettyName  SWIG_Perl_TypePrettyName
-#define SWIG_TypeQuery       SWIG_Perl_TypeQuery
-#define SWIG_TypeClientData  SWIG_Perl_TypeClientData
-#define SWIG_PackData        SWIG_Perl_PackData 
-#define SWIG_UnpackData      SWIG_Perl_UnpackData 
+/* 
+   SWIGTEMPLATEDISAMBIGUATOR is needed when wrapping template calls
+   (cwrap.c:Swig_cfunction_call/Swig_cmethod_call), as in
+
+     result = nspace::template function<int >(arg1);
+     result = arg1->template method<int >(arg2);
+
+    SWIGTEMPLATEDISAMBIGUATOR is compiler dependent (common.swg),
+      - SUN Studio requires 'template', 
+      - gcc-3.4 forbids the use of 'template'.
+      - gcc-3.2.3 produces internal errors if you use 'template'
+*/
+#ifndef SWIGTEMPLATEDISAMBIGUATOR
+#  if defined(__SUNPRO_CC) 
+#    define SWIGTEMPLATEDISAMBIGUATOR template
+#  else
+#    define SWIGTEMPLATEDISAMBIGUATOR 
+#  endif
+#endif
+
+/* inline attribute */
+#ifndef SWIGINLINE
+# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
+#   define SWIGINLINE inline
+# else
+#   define SWIGINLINE
+# endif
+#endif
+
+/* attritbute passed for some compilers to avoid 'unused' warnings */
+#ifndef SWIGUNUSED
+# if defined(__GNUC__) || defined(__ICC)
+#   define SWIGUNUSED __attribute__ ((unused)) 
+# else
+#   define SWIGUNUSED 
+# endif
+#endif
+
+/* internal SWIG method */
+#ifndef SWIGINTERN
+# define SWIGINTERN static SWIGUNUSED
+#endif
+
+/* internal inline SWIG method */
+#ifndef SWIGINTERNINLINE
+# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
+#endif
 
+/* how we export a method such that it can go in to a shared or dll library */
+#ifndef SWIGEXPORT
+# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
+#   if defined(_MSC_VER) || defined(__GNUC__)
+#     if defined(STATIC_LINKED)
+#       define SWIGEXPORT(a) a
+#     else
+#       define SWIGEXPORT(a) __declspec(dllexport) a
+#     endif
+#   else
+#     if defined(__BORLANDC__)
+#       define SWIGEXPORT(a) a _export
+#     else
+#       define SWIGEXPORT(a) a
+#     endif
+#   endif
+# else
+#   define SWIGEXPORT(a) a
+# endif
+#endif
 
 /***********************************************************************
- * common.swg
- *
- *     This file contains generic SWIG runtime support for pointer
- *     type checking as well as a few commonly used macros to control
- *     external linkage.
+ * swigrun.swg
  *
- * Author : David Beazley (beazley@cs.uchicago.edu)
+ *     This file contains generic CAPI SWIG runtime support for pointer
+ *     type checking.
  *
- * Copyright (c) 1999-2000, The University of Chicago
- * 
- * This file may be freely redistributed without license or fee provided
- * this copyright message remains intact.
  ************************************************************************/
 
-#include <string.h>
-
-#if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
-#  if defined(_MSC_VER) || defined(__GNUC__)
-#    if defined(STATIC_LINKED)
-#      define SWIGEXPORT(a) a
-#      define SWIGIMPORT(a) extern a
-#    else
-#      define SWIGEXPORT(a) __declspec(dllexport) a
-#      define SWIGIMPORT(a) extern a
-#    endif
-#  else
-#    if defined(__BORLANDC__)
-#      define SWIGEXPORT(a) a _export
-#      define SWIGIMPORT(a) a _export
-#    else
-#      define SWIGEXPORT(a) a
-#      define SWIGIMPORT(a) a
-#    endif
-#  endif
+/* This should only be incremented when either the layout of swig_type_info changes,
+   or for whatever reason, the runtime changes incompatibly */
+#define SWIG_RUNTIME_VERSION "2"
+
+/* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
+#ifdef SWIG_TYPE_TABLE
+# define SWIG_QUOTE_STRING(x) #x
+# define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x)
+# define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE)
 #else
-#  define SWIGEXPORT(a) a
-#  define SWIGIMPORT(a) a
+# define SWIG_TYPE_TABLE_NAME
 #endif
 
-#ifdef SWIG_GLOBAL
-#  define SWIGRUNTIME(a) SWIGEXPORT(a)
-#else
-#  define SWIGRUNTIME(a) static a
+/*
+  You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for
+  creating a static or dynamic library from the swig runtime code.
+  In 99.9% of the cases, swig just needs to declare them as 'static'.
+  
+  But only do this if is strictly necessary, ie, if you have problems
+  with your compiler or so.
+*/
+
+#ifndef SWIGRUNTIME
+# define SWIGRUNTIME SWIGINTERN
+#endif
+
+#ifndef SWIGRUNTIMEINLINE
+# define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE
 #endif
 
+#include <string.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -98,107 +164,141 @@
 typedef void *(*swig_converter_func)(void *);
 typedef struct swig_type_info *(*swig_dycast_func)(void **);
 
+/* Structure to store inforomation on one type */
 typedef struct swig_type_info {
-  const char             *name;
-  swig_converter_func     converter;
-  const char             *str;
-  void                   *clientdata;
-  swig_dycast_func        dcast;
-  struct swig_type_info  *next;
-  struct swig_type_info  *prev;
+  const char             *name;			/* mangled name of this type */
+  const char             *str;			/* human readable name of this type */
+  swig_dycast_func        dcast;		/* dynamic cast function down a hierarchy */
+  struct swig_cast_info  *cast;			/* linked list of types that can cast into this type */
+  void                   *clientdata;		/* language specific type data */
 } swig_type_info;
 
-#ifdef SWIG_NOINCLUDE
+/* Structure to store a type and conversion function used for casting */
+typedef struct swig_cast_info {
+  swig_type_info         *type;			/* pointer to type that is equivalent to this type */
+  swig_converter_func     converter;		/* function to cast the void pointers */
+  struct swig_cast_info  *next;			/* pointer to next cast in linked list */
+  struct swig_cast_info  *prev;			/* pointer to the previous cast */
+} swig_cast_info;
+
+/* Structure used to store module information
+ * Each module generates one structure like this, and the runtime collects
+ * all of these structures and stores them in a circularly linked list.*/
+typedef struct swig_module_info {
+  swig_type_info         **types;		/* Array of pointers to swig_type_info structures that are in this module */
+  size_t                 size;		        /* Number of types in this module */
+  struct swig_module_info *next;		/* Pointer to next element in circularly linked list */
+  swig_type_info         **type_initial;	/* Array of initially generated type structures */
+  swig_cast_info         **cast_initial;	/* Array of initially generated casting structures */
+  void                    *clientdata;		/* Language specific module data */
+} swig_module_info;
 
-SWIGIMPORT(swig_type_info *) SWIG_TypeRegister(swig_type_info *);
-SWIGIMPORT(swig_type_info *) SWIG_TypeCheck(char *c, swig_type_info *);
-SWIGIMPORT(void *)           SWIG_TypeCast(swig_type_info *, void *);
-SWIGIMPORT(swig_type_info *) SWIG_TypeDynamicCast(swig_type_info *, void **);
-SWIGIMPORT(const char *)     SWIG_TypeName(const swig_type_info *);
-SWIGIMPORT(const char *)     SWIG_TypePrettyName(const swig_type_info *);
-SWIGIMPORT(swig_type_info *) SWIG_TypeQuery(const char *);
-SWIGIMPORT(void)             SWIG_TypeClientData(swig_type_info *, void *);
-SWIGIMPORT(char *)           SWIG_PackData(char *, void *, int);
-SWIGIMPORT(char *)           SWIG_UnpackData(char *, void *, int);
 
-#else
+/* 
+  Compare two type names skipping the space characters, therefore
+  "char*" == "char *" and "Class<int>" == "Class<int >", etc.
 
-static swig_type_info *swig_type_list = 0;
+  Return 0 when the two name types are equivalent, as in
+  strncmp, but skipping ' '.
+*/
+SWIGRUNTIME int
+SWIG_TypeNameComp(const char *f1, const char *l1,
+		  const char *f2, const char *l2) {
+  for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) {
+    while ((*f1 == ' ') && (f1 != l1)) ++f1;
+    while ((*f2 == ' ') && (f2 != l2)) ++f2;
+    if (*f1 != *f2) return (int)(*f1 - *f2);
+  }
+  return (l1 - f1) - (l2 - f2);
+}
 
-/* Register a type mapping with the type-checking */
-SWIGRUNTIME(swig_type_info *)
-SWIG_TypeRegister(swig_type_info *ti) {
-  swig_type_info *tc, *head, *ret, *next;
-  /* Check to see if this type has already been registered */
-  tc = swig_type_list;
-  while (tc) {
-    if (strcmp(tc->name, ti->name) == 0) {
-      /* Already exists in the table.  Just add additional types to the list */
-      if (tc->clientdata) ti->clientdata = tc->clientdata;
-      head = tc;
-      next = tc->next;
-      goto l1;
+/*
+  Check type equivalence in a name list like <name1>|<name2>|...
+  Return 0 if not equal, 1 if equal
+*/
+SWIGRUNTIME int
+SWIG_TypeEquiv(const char *nb, const char *tb) {
+  int equiv = 0;
+  const char* te = tb + strlen(tb);
+  const char* ne = nb;
+  while (!equiv && *ne) {
+    for (nb = ne; *ne; ++ne) {
+      if (*ne == '|') break;
     }
-    tc = tc->prev;
+    equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0;
+    if (*ne) ++ne;
   }
-  head = ti;
-  next = 0;
+  return equiv;
+}
 
-  /* Place in list */
-  ti->prev = swig_type_list;
-  swig_type_list = ti;
-
-  /* Build linked lists */
-  l1:
-  ret = head;
-  tc = ti + 1;
-  /* Patch up the rest of the links */
-  while (tc->name) {
-    head->next = tc;
-    tc->prev = head;
-    head = tc;
-    tc++;
+/*
+  Check type equivalence in a name list like <name1>|<name2>|...
+  Return 0 if equal, -1 if nb < tb, 1 if nb > tb
+*/
+SWIGRUNTIME int
+SWIG_TypeCompare(const char *nb, const char *tb) {
+  int equiv = 0;
+  const char* te = tb + strlen(tb);
+  const char* ne = nb;
+  while (!equiv && *ne) {
+    for (nb = ne; *ne; ++ne) {
+      if (*ne == '|') break;
+    }
+    equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0;
+    if (*ne) ++ne;
   }
-  if (next) next->prev = head;
-  head->next = next;
-  return ret;
+  return equiv;
 }
 
-/* Check the typename */
-SWIGRUNTIME(swig_type_info *) 
-SWIG_TypeCheck(char *c, swig_type_info *ty) {
-  swig_type_info *s;
-  if (!ty) return 0;        /* Void pointer */
-  s = ty->next;             /* First element always just a name */
-  do {
-    if (strcmp(s->name,c) == 0) {
-      if (s == ty->next) return s;
-      /* Move s to the top of the linked list */
-      s->prev->next = s->next;
-      if (s->next) {
-        s->next->prev = s->prev;
-      }
-      /* Insert s as second element in the list */
-      s->next = ty->next;
-      if (ty->next) ty->next->prev = s;
-      ty->next = s;
-      s->prev = ty;
-      return s;
-    }
-    s = s->next;
-  } while (s && (s != ty->next));
-  return 0;
+
+/* think of this as a c++ template<> or a scheme macro */
+#define SWIG_TypeCheck_Template(comparison, ty)         \
+  if (ty) {                                             \
+    swig_cast_info *iter = ty->cast;                    \
+    while (iter) {                                      \
+      if (comparison) {                                 \
+        if (iter == ty->cast) return iter;              \
+        /* Move iter to the top of the linked list */   \
+        iter->prev->next = iter->next;                  \
+        if (iter->next)                                 \
+          iter->next->prev = iter->prev;                \
+        iter->next = ty->cast;                          \
+        iter->prev = 0;                                 \
+        if (ty->cast) ty->cast->prev = iter;            \
+        ty->cast = iter;                                \
+        return iter;                                    \
+      }                                                 \
+      iter = iter->next;                                \
+    }                                                   \
+  }                                                     \
+  return 0
+
+/*
+  Check the typename
+*/
+SWIGRUNTIME swig_cast_info *
+SWIG_TypeCheck(const char *c, swig_type_info *ty) {
+  SWIG_TypeCheck_Template(strcmp(iter->type->name, c) == 0, ty);
+}
+
+/* Same as previous function, except strcmp is replaced with a pointer comparison */
+SWIGRUNTIME swig_cast_info *
+SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *into) {
+  SWIG_TypeCheck_Template(iter->type == from, into);
 }
 
-/* Cast a pointer up an inheritance hierarchy */
-SWIGRUNTIME(void *) 
-SWIG_TypeCast(swig_type_info *ty, void *ptr) {
-  if ((!ty) || (!ty->converter)) return ptr;
-  return (*ty->converter)(ptr);
+/*
+  Cast a pointer up an inheritance hierarchy
+*/
+SWIGRUNTIMEINLINE void *
+SWIG_TypeCast(swig_cast_info *ty, void *ptr) {
+  return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr);
 }
 
-/* Dynamic pointer casting. Down an inheritance hierarchy */
-SWIGRUNTIME(swig_type_info *) 
+/* 
+   Dynamic pointer casting. Down an inheritance hierarchy
+*/
+SWIGRUNTIME swig_type_info *
 SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) {
   swig_type_info *lastty = ty;
   if (!ty || !ty->dcast) return ty;
@@ -209,16 +309,19 @@
   return lastty;
 }
 
-/* Return the name associated with this type */
-SWIGRUNTIME(const char *)
+/*
+  Return the name associated with this type
+*/
+SWIGRUNTIMEINLINE const char *
 SWIG_TypeName(const swig_type_info *ty) {
   return ty->name;
 }
 
-/* Return the pretty name associated with this type,
-   that is an unmangled type name in a form presentable to the user.
+/*
+  Return the pretty name associated with this type,
+  that is an unmangled type name in a form presentable to the user.
 */
-SWIGRUNTIME(const char *)
+SWIGRUNTIME const char *
 SWIG_TypePrettyName(const swig_type_info *type) {
   /* The "str" field contains the equivalent pretty names of the
      type, separated by vertical-bar characters.  We choose
@@ -236,113 +339,201 @@
 }
 
 /* 
-   Compare two type names skipping the space characters, therefore
-   "char*" == "char *" and "Class<int>" == "Class<int >", etc.
-
-   Return 0 when the two name types are equivalent, as in
-   strncmp, but skipping ' '.
+   Set the clientdata field for a type
 */
-static int
-SWIG_TypeNameComp(const char *f1, const char *l1,
-		  const char *f2, const char *l2) {
-  for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) {
-    while ((*f1 == ' ') && (f1 != l1)) ++f1;
-    while ((*f2 == ' ') && (f2 != l2)) ++f2;
-    if (*f1 != *f2) return *f1 - *f2;
+SWIGRUNTIME void
+SWIG_TypeClientData(swig_type_info *ti, void *clientdata) {
+  if (!ti->clientdata) {
+    swig_cast_info *cast = ti->cast;
+    /* if (ti->clientdata == clientdata) return; */
+    ti->clientdata = clientdata;
+    
+    while (cast) {
+      if (!cast->converter)
+	SWIG_TypeClientData(cast->type, clientdata);
+      cast = cast->next;
+    }
   }
-  return (l1 - f1) - (l2 - f2);
 }
 
 /*
-  Check type equivalence in a name list like <name1>|<name2>|...
+  Search for a swig_type_info structure only by mangled name
+  Search is a O(log #types)
+  
+  We start searching at module start, and finish searching when start == end.  
+  Note: if start == end at the beginning of the function, we go all the way around
+  the circular list.
 */
-static int
-SWIG_TypeEquiv(const char *nb, const char *tb) {
-  int equiv = 0;
-  const char* te = tb + strlen(tb);
-  const char* ne = nb;
-  while (!equiv && *ne) {
-    for (nb = ne; *ne; ++ne) {
-      if (*ne == '|') break;
+SWIGRUNTIME swig_type_info *
+SWIG_MangledTypeQueryModule(swig_module_info *start, 
+                            swig_module_info *end, 
+		            const char *name) {
+  swig_module_info *iter = start;
+  do {
+    if (iter->size) {
+      register size_t l = 0;
+      register size_t r = iter->size - 1;
+      do {
+	/* since l+r >= 0, we can (>> 1) instead (/ 2) */
+	register size_t i = (l + r) >> 1; 
+	const char *iname = iter->types[i]->name;
+	if (iname) {
+	  register int compare = strcmp(name, iname);
+	  if (compare == 0) {	    
+	    return iter->types[i];
+	  } else if (compare < 0) {
+	    if (i) {
+	      r = i - 1;
+	    } else {
+	      break;
+	    }
+	  } else if (compare > 0) {
+	    l = i + 1;
+	  }
+	} else {
+	  break; /* should never happen */
+	}
+      } while (l <= r);
     }
-    equiv = SWIG_TypeNameComp(nb, ne, tb, te) == 0;
-    if (*ne) ++ne;
-  }
-  return equiv;
-}
-  
-
-/* Search for a swig_type_info structure */
-SWIGRUNTIME(swig_type_info *)
-SWIG_TypeQuery(const char *name) {
-  swig_type_info *ty = swig_type_list;
-  while (ty) {
-    if (ty->str && (SWIG_TypeEquiv(ty->str,name))) return ty;
-    if (ty->name && (strcmp(name,ty->name) == 0)) return ty;
-    ty = ty->prev;
-  }
+    iter = iter->next;
+  } while (iter != end);
   return 0;
 }
 
-/* Set the clientdata field for a type */
-SWIGRUNTIME(void)
-SWIG_TypeClientData(swig_type_info *ti, void *clientdata) {
-  swig_type_info *tc, *equiv;
-  if (ti->clientdata == clientdata) return;
-  ti->clientdata = clientdata;
-  equiv = ti->next;
-  while (equiv) {
-    if (!equiv->converter) {
-      tc = swig_type_list;
-      while (tc) {
-        if ((strcmp(tc->name, equiv->name) == 0))
-          SWIG_TypeClientData(tc,clientdata);
-        tc = tc->prev;
+/*
+  Search for a swig_type_info structure for either a mangled name or a human readable name.
+  It first searches the mangled names of the types, which is a O(log #types)
+  If a type is not found it then searches the human readable names, which is O(#types).
+  
+  We start searching at module start, and finish searching when start == end.  
+  Note: if start == end at the beginning of the function, we go all the way around
+  the circular list.
+*/
+SWIGRUNTIME swig_type_info *
+SWIG_TypeQueryModule(swig_module_info *start, 
+                     swig_module_info *end, 
+		     const char *name) {
+  /* STEP 1: Search the name field using binary search */
+  swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name);
+  if (ret) {
+    return ret;
+  } else {
+    /* STEP 2: If the type hasn't been found, do a complete search
+       of the str field (the human readable name) */
+    swig_module_info *iter = start;
+    do {
+      register size_t i = 0;
+      for (; i < iter->size; ++i) {
+	if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name)))
+	  return iter->types[i];
       }
-    }
-    equiv = equiv->next;
+      iter = iter->next;
+    } while (iter != end);
   }
+  
+  /* neither found a match */
+  return 0;
 }
 
-/* Pack binary data into a string */
-SWIGRUNTIME(char *)
-SWIG_PackData(char *c, void *ptr, int sz) {
-  static char hex[17] = "0123456789abcdef";
-  int i;
-  unsigned char *u = (unsigned char *) ptr;
-  register unsigned char uu;
-  for (i = 0; i < sz; i++,u++) {
-    uu = *u;
+
+/* 
+   Pack binary data into a string
+*/
+SWIGRUNTIME char *
+SWIG_PackData(char *c, void *ptr, size_t sz) {
+  static const char hex[17] = "0123456789abcdef";
+  register const unsigned char *u = (unsigned char *) ptr;
+  register const unsigned char *eu =  u + sz;
+  for (; u != eu; ++u) {
+    register unsigned char uu = *u;
     *(c++) = hex[(uu & 0xf0) >> 4];
     *(c++) = hex[uu & 0xf];
   }
   return c;
 }
 
-/* Unpack binary data from a string */
-SWIGRUNTIME(char *)
-SWIG_UnpackData(char *c, void *ptr, int sz) {
-  register unsigned char uu = 0;
-  register int d;
-  unsigned char *u = (unsigned char *) ptr;
-  int i;
-  for (i = 0; i < sz; i++, u++) {
-    d = *(c++);
+/* 
+   Unpack binary data from a string
+*/
+SWIGRUNTIME const char *
+SWIG_UnpackData(const char *c, void *ptr, size_t sz) {
+  register unsigned char *u = (unsigned char *) ptr;
+  register const unsigned char *eu = u + sz;
+  for (; u != eu; ++u) {
+    register char d = *(c++);
+    register unsigned char uu = 0;
     if ((d >= '0') && (d <= '9'))
       uu = ((d - '0') << 4);
     else if ((d >= 'a') && (d <= 'f'))
       uu = ((d - ('a'-10)) << 4);
+    else 
+      return (char *) 0;
     d = *(c++);
     if ((d >= '0') && (d <= '9'))
       uu |= (d - '0');
     else if ((d >= 'a') && (d <= 'f'))
       uu |= (d - ('a'-10));
+    else 
+      return (char *) 0;
     *u = uu;
   }
   return c;
 }
 
-#endif
+/* 
+   Pack 'void *' into a string buffer.
+*/
+SWIGRUNTIME char *
+SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) {
+  char *r = buff;
+  if ((2*sizeof(void *) + 2) > bsz) return 0;
+  *(r++) = '_';
+  r = SWIG_PackData(r,&ptr,sizeof(void *));
+  if (strlen(name) + 1 > (bsz - (r - buff))) return 0;
+  strcpy(r,name);
+  return buff;
+}
+
+SWIGRUNTIME const char *
+SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) {
+  if (*c != '_') {
+    if (strcmp(c,"NULL") == 0) {
+      *ptr = (void *) 0;
+      return name;
+    } else {
+      return 0;
+    }
+  }
+  return SWIG_UnpackData(++c,ptr,sizeof(void *));
+}
+
+SWIGRUNTIME char *
+SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) {
+  char *r = buff;
+  size_t lname = (name ? strlen(name) : 0);
+  if ((2*sz + 2 + lname) > bsz) return 0;
+  *(r++) = '_';
+  r = SWIG_PackData(r,ptr,sz);
+  if (lname) {
+    strncpy(r,name,lname+1);
+  } else {
+    *r = 0;
+  }
+  return buff;
+}
+
+SWIGRUNTIME const char *
+SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
+  if (*c != '_') {
+    if (strcmp(c,"NULL") == 0) {
+      memset(ptr,0,sz);
+      return name;
+    } else {
+      return 0;
+    }
+  }
+  return SWIG_UnpackData(++c,ptr,sz);
+}
 
 #ifdef __cplusplus
 }
@@ -352,7 +543,7 @@
  * perl5.swg
  *
  * Perl5 runtime library
- * $Header: /cvsroot/swig/SWIG/Lib/perl5/perlrun.swg,v 1.14 2003/12/04 19:14:14 beazley Exp $
+ * $Header: /cvsroot/swig/SWIG/Lib/perl5/perlrun.swg,v 1.21 2005/02/01 00:08:17 wuzzeb Exp $
  * ----------------------------------------------------------------------------- */
 
 #define SWIGPERL
@@ -492,19 +683,19 @@
      SWIG_Perl_ConvertPacked(obj, p, s, type, flags)
 #endif
 
+/* Runtime API */
+#define SWIG_GetModule(clientdata) SWIG_Perl_GetModule()
+#define SWIG_SetModule(clientdata, pointer) SWIG_Perl_SetModule(pointer)
+
 /* Perl-specific API */
 #ifdef PERL_OBJECT
 #  define SWIG_MakePtr(sv, ptr, type, flags) \
      SWIG_Perl_MakePtr(pPerl, sv, ptr, type, flags)
-#  define SWIG_TypeCheckRV(rv, ty) \
-     SWIG_Perl_TypeCheckRV(pPerl, rv, ty)
 #  define SWIG_SetError(str) \
      SWIG_Perl_SetError(pPerl, str)
 #else
 #  define SWIG_MakePtr(sv, ptr, type, flags) \
      SWIG_Perl_MakePtr(sv, ptr, type, flags)
-#  define SWIG_TypeCheckRV(rv, ty) \
-     SWIG_Perl_TypeCheckRV(rv, ty)
 #  define SWIG_SetError(str) \
      SWIG_Perl_SetError(str)
 #  define SWIG_SetErrorSV(str) \
@@ -520,50 +711,21 @@
 #  define SWIG_MAYBE_PERL_OBJECT
 #endif
 
-#ifdef SWIG_NOINCLUDE
-
-SWIGIMPORT(int)               SWIG_Perl_ConvertPtr(SWIG_MAYBE_PERL_OBJECT SV *, void **, swig_type_info *, int flags);
-SWIGIMPORT(void)              SWIG_Perl_MakePtr(SWIG_MAYBE_PERL_OBJECT SV *, void *, swig_type_info *, int flags);
-SWIGIMPORT(SV *)              SWIG_Perl_NewPointerObj(SWIG_MAYBE_PERL_OBJECT void *, swig_type_info *, int flags);
-SWIGIMPORT(void)              SWIG_Perl_MakePackedObj(SWIG_MAYBE_PERL_OBJECT SV *, void *, int, swig_type_info *);
-SWIGIMPORT(int)               SWIG_Perl_ConvertPacked(SWIG_MAYBE_PERL_OBJECT SV *, void *, int, swig_type_info *, int flags);
-SWIGIMPORT(swig_type_info *)  SWIG_Perl_TypeCheckRV(SWIG_MAYBE_PERL_OBJECT SV *rv, swig_type_info *ty);
-SWIGIMPORT(SV *)              SWIG_Perl_SetError(SWIG_MAYBE_PERL_OBJECT char *);
-
-#else
-
-SWIGRUNTIME(swig_type_info *)
+static swig_cast_info *
 SWIG_Perl_TypeCheckRV(SWIG_MAYBE_PERL_OBJECT SV *rv, swig_type_info *ty) {
-  swig_type_info *s;
-  if (!ty) return 0;        /* Void pointer */
-  s = ty->next;             /* First element always just a name */
-  do {
-    if (sv_derived_from(rv, (char *) s->name)) {
-      if (s == ty->next) return s;
-      /* Move s to the top of the linked list */
-      s->prev->next = s->next;
-      if (s->next) {
-        s->next->prev = s->prev;
-      }
-      /* Insert s as second element in the list */
-      s->next = ty->next;
-      if (ty->next) ty->next->prev = s;
-      ty->next = s;
-      s->prev = ty;
-      return s;
-    }
-    s = s->next;
-  } while (s && (s != ty->next));
-  return 0;
+  SWIG_TypeCheck_Template(sv_derived_from(rv, (char *) iter->type->name), ty);
 }
 
 /* Function for getting a pointer value */
 
-SWIGRUNTIME(int) 
+static int
 SWIG_Perl_ConvertPtr(SWIG_MAYBE_PERL_OBJECT SV *sv, void **ptr, swig_type_info *_t, int flags) {
-  swig_type_info *tc;
+  swig_cast_info *tc;
   void *voidptr = (void *)0;
-
+  int FAIL = -1;
+  int SUCCEED = 0;
+  
+  
   /* If magical, apply more magic */
   if (SvGMAGICAL(sv))
     mg_get(sv);
@@ -577,13 +739,13 @@
       if (SvMAGICAL(tsv)) {
         mg = mg_find(tsv,'P');
         if (mg) {
-          SV *rsv = mg->mg_obj;
-          if (sv_isobject(rsv)) {
-            tmp = SvIV((SV*)SvRV(rsv));
+          sv = mg->mg_obj;
+          if (sv_isobject(sv)) {
+            tmp = SvIV((SV*)SvRV(sv));
           }
         }
       } else {
-        return -1;
+        return FAIL;
       }
     } else {
       tmp = SvIV((SV*)SvRV(sv));
@@ -591,36 +753,37 @@
     voidptr = (void *)tmp;
     if (!_t) {
       *(ptr) = voidptr;
-      return 0;
+      return SUCCEED;
     }
   } else if (! SvOK(sv)) {            /* Check for undef */
     *(ptr) = (void *) 0;
-    return 0;
+    return SUCCEED;
   } else if (SvTYPE(sv) == SVt_RV) {  /* Check for NULL pointer */
     *(ptr) = (void *) 0;
     if (!SvROK(sv))
-      return 0;
+      return SUCCEED;
     else
-      return -1;
+      return FAIL;
   } else {                            /* Don't know what it is */
     *(ptr) = (void *) 0;
-    return -1;
+    return FAIL;
   }
   if (_t) {
     /* Now see if the types match */
-    tc = SWIG_TypeCheckRV(sv,_t);
+    char *_c = HvNAME(SvSTASH(SvRV(sv)));
+    tc = SWIG_TypeCheck(_c,_t);
     if (!tc) {
       *ptr = voidptr;
-      return -1;
+      return FAIL;
     }
     *ptr = SWIG_TypeCast(tc,voidptr);
-    return 0;
+    return SUCCEED;
   }
   *ptr = voidptr;
-  return 0;
+  return SUCCEED;
 }
 
-SWIGRUNTIME(void)
+static void
 SWIG_Perl_MakePtr(SWIG_MAYBE_PERL_OBJECT SV *sv, void *ptr, swig_type_info *t, int flags) {
   if (ptr && (flags & SWIG_SHADOW)) {
     SV *self;
@@ -649,14 +812,14 @@
   }
 }
 
-SWIGRUNTIME(SV *)
+static SWIGINLINE SV *
 SWIG_Perl_NewPointerObj(SWIG_MAYBE_PERL_OBJECT void *ptr, swig_type_info *t, int flags) {
   SV *result = sv_newmortal();
   SWIG_MakePtr(result, ptr, t, flags);
   return result;
 }
 
-SWIGRUNTIME(void)
+static void
   SWIG_Perl_MakePackedObj(SWIG_MAYBE_PERL_OBJECT SV *sv, void *ptr, int sz, swig_type_info *type) {
   char result[1024];
   char *r = result;
@@ -668,10 +831,10 @@
 }
 
 /* Convert a packed value value */
-SWIGRUNTIME(int)
+static int
 SWIG_Perl_ConvertPacked(SWIG_MAYBE_PERL_OBJECT SV *obj, void *ptr, int sz, swig_type_info *ty, int flags) {
-  swig_type_info *tc;
-  char  *c = 0;
+  swig_cast_info *tc;
+  const char  *c = 0;
 
   if ((!obj) || (!SvOK(obj))) return -1;
   c = SvPV(obj, PL_na);
@@ -686,17 +849,17 @@
   return 0;
 }
 
-SWIGRUNTIME(void)
+static SWIGINLINE void
 SWIG_Perl_SetError(SWIG_MAYBE_PERL_OBJECT const char *error) {
   if (error) sv_setpv(perl_get_sv("@", TRUE), error);
 }
 
-SWIGRUNTIME(void)
+static SWIGINLINE void
 SWIG_Perl_SetErrorSV(SWIG_MAYBE_PERL_OBJECT SV *error) {
   if (error) sv_setsv(perl_get_sv("@", TRUE), error);
 }
 
-SWIGRUNTIME(void)
+static void
 SWIG_Perl_SetErrorf(const char *fmt, ...) {
   va_list args;
   va_start(args, fmt);
@@ -704,7 +867,97 @@
   va_end(args);
 }
 
-#endif
+static void
+SWIG_Disown(SV *sv) {
+  
+  /* If magical, apply more magic */
+    if (SvGMAGICAL(sv))
+    {
+        mg_get(sv);
+            // fprintf(stderr,"Found initial magic\n");
+    }
+    
+
+  /* Check to see if this is an object */
+  if (sv_isobject(sv)) {
+    SV *tsv = (SV*) SvRV(sv);
+    if ((SvTYPE(tsv) == SVt_PVHV)) {
+      MAGIC *mg;
+      if (SvMAGICAL(tsv)) {
+        mg = mg_find(tsv,'P');
+        if (mg) {
+          sv = mg->mg_obj;
+          if (sv_isobject(sv)) {
+              fprintf(stderr,"Found object for disown\n");
+
+	      HV *stash;
+	      stash=SvSTASH(SvRV(sv));
+
+	      if (stash != 0)
+              {
+                  fprintf(stderr,"Found stash: %x\n",stash);
+                  HV *hv;
+                  GV *gv=*(GV**)hv_fetch(stash, "OWNER", 5, TRUE);
+                  if (isGV(gv))
+                  {
+                      fprintf(stderr,"Found OWNER glob: %x\n",gv);
+                      fprintf(stderr,"Found object: %x\n",sv);
+                      fprintf(stderr,"Found ref object: %x\n",SvRV(sv));
+                      hv=GvHVn(gv);
+
+                      HE *entry;
+                      char *key;
+                      I32 klen;
+                      SV *hval;
+	    
+                      (void)hv_iterinit(hv);
+                      while ((entry = hv_iternext(hv)))  {
+                          key = hv_iterkey(entry, &klen);
+                          fprintf(stderr,"Found hash entry: %s\n",key);
+                      }
+            
+		      if (hv_exists_ent(hv, sv, 0))
+                      {
+                          fprintf(stderr,"Found key in OWNER hash!\n");
+                          if (hv_delete_ent(hv,sv,0,0))
+                          {
+                              fprintf(stderr,"Deleted key in OWNER hash!\n");
+                          }
+                          else 
+                          {
+                              SWIG_SetError("Couldn't delete key from OWNER hash :-<\n");
+                          }
+                      }
+                      else
+                      {
+                          SWIG_SetError("no key in OWNER hash :-<\n");
+                      }
+                  }
+                  else
+                  {
+                      SWIG_SetError("no GV\n");
+                  }
+              }
+              else
+              {
+                  SWIG_SetError("no stash found\n");
+              }
+          } else {
+              SWIG_SetError("SWIG_Disown: mg is not object");
+          }
+        } else {
+            SWIG_SetError("SWIG_Disown: no mg");
+        }
+      } else {
+          SWIG_SetError("SWIG_Disown: not magical");
+      }
+    } else {
+      SWIG_SetError("SWIG_Disown: not PVHV");
+    }
+  } else {            /* not an object */
+      SWIG_SetError("SWIG_Disown: not an object");
+  }
+}
 
 /* Macros for low-level exception handling */
 #define SWIG_fail       goto fail
@@ -777,9 +1030,30 @@
 }
 
 
+static swig_module_info *
+SWIG_Perl_GetModule() {
+  static void *type_pointer = (void *)0;
+  SV *pointer;
+
+  /* first check if pointer already created */
+  if (!type_pointer) {
+    pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, FALSE);
+    if (pointer && SvOK(pointer)) {
+      type_pointer = INT2PTR(swig_type_info **, SvIV(pointer));
+    }
+  }
 
+  return (swig_module_info *) type_pointer;
+}
 
+static void
+SWIG_Perl_SetModule(swig_module_info *module) {
+  SV *pointer;
 
+  /* create a new pointer */
+  pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, TRUE);
+  sv_setiv(pointer, PTR2IV(module));
+}
 
 #ifdef do_open
   #undef do_open
@@ -837,193 +1111,216 @@
   #undef ENTER
 #endif
 #endif
+#ifdef read
+  #undef read
+#endif
+#ifdef write
+  #undef write
+#endif
+#ifdef eof
+  #undef eof
+#endif
+
+
+SWIGRUNTIMEINLINE void
+SWIG_Perl_NullRef(const char *type, int argnum, const char *symname)
+{
+  if (type) {
+    SWIG_Perl_SetErrorf("null reference of type: '%s' was received as argumnent: %d of %s",type,argnum,symname);
+  } else {
+    SWIG_Perl_SetErrorf("null reference was received");
+  }
+}
+
+SWIGRUNTIME void
+SWIG_Perl_TypeError(const char *type, int argnum, const char *symname)
+{
+  if (type) {
+    SWIG_Perl_SetErrorf("Type error in argument %d of %s. Expected %s", argnum, symname, type);
+  } else {
+    SWIG_Perl_SetErrorf("Type error in argument $argnum of $symname", argnum, symname);
+  }
+}
 
 
 /* -------- TYPES TABLE (BEGIN) -------- */
 
-#define  SWIGTYPE_p_void swig_types[0] 
-#define  SWIGTYPE_p_p_void swig_types[1] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLPlatformUtils swig_types[2] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeList swig_types[3] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNamedNodeMap swig_types[4] 
-#define  SWIGTYPE_p_IdentityConstraint swig_types[5] 
-#define  SWIGTYPE_p_PSVIDefs__Complexity swig_types[6] 
-#define  SWIGTYPE_p_RefHashTableOfTXERCES_CPP_NAMESPACE__ComplexTypeInfo_t swig_types[7] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLContentModel swig_types[8] 
-#define  SWIGTYPE_FileHandle swig_types[9] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__RefHash3KeysIdPoolTXERCES_CPP_NAMESPACE__SchemaElementDecl_t swig_types[10] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__XSAnnotation swig_types[11] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNotation swig_types[12] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMText swig_types[13] 
-#define  SWIGTYPE_p_XMLBuffer swig_types[14] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMBuilderFilter swig_types[15] 
-#define  SWIGTYPE_p_DOMWriterFilter swig_types[16] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMWriterFilter swig_types[17] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLEnumeratorTXERCES_CPP_NAMESPACE__DTDElementDecl_t swig_types[18] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLEnumeratorTXERCES_CPP_NAMESPACE__DTDEntityDecl_t swig_types[19] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLEnumeratorTXERCES_CPP_NAMESPACE__SchemaElementDecl_t swig_types[20] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__Base64 swig_types[21] 
-#define  SWIGTYPE_p_PSVIDefs__PSVIScope swig_types[22] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLAttr swig_types[23] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLUni swig_types[24] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS swig_types[25] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__HexBin swig_types[26] 
-#define  SWIGTYPE_p_XSerializeEngine swig_types[27] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DatatypeValidator swig_types[28] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__SchemaValidator swig_types[29] 
-#define  SWIGTYPE_p_DatatypeValidator swig_types[30] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DTDValidator swig_types[31] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLValidator swig_types[32] 
-#define  SWIGTYPE_p_PSVIDefs__Validity swig_types[33] 
-#define  SWIGTYPE_p_unsigned_int swig_types[34] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMElement swig_types[35] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLExcepts swig_types[36] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument swig_types[37] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementation swig_types[38] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__SAX2XMLReader swig_types[39] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeFilter swig_types[40] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__SAXParser swig_types[41] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMConfiguration swig_types[42] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMemory swig_types[43] 
-#define  SWIGTYPE_p_ValueVectorOfTunsigned_int_t swig_types[44] 
-#define  SWIGTYPE_p_RefHashTableOfTXERCES_CPP_NAMESPACE__XMLAttDef_t swig_types[45] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLTranscoder swig_types[46] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLErrorReporter swig_types[47] 
-#define  SWIGTYPE_p_XMLErrorReporter swig_types[48] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMEntityReference swig_types[49] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__SchemaElementDecl swig_types[50] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLElementDecl swig_types[51] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DTDElementDecl swig_types[52] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLPScanToken swig_types[53] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMComment swig_types[54] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeIterator swig_types[55] 
-#define  SWIGTYPE_p_SV swig_types[56] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationRegistry swig_types[57] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__ContentSpecNode swig_types[58] 
-#define  SWIGTYPE_p_RefHash2KeysTableOfTSchemaAttDef_t swig_types[59] 
-#define  SWIGTYPE_p_RefHashTableOfTDTDAttDef_t swig_types[60] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__BinInputStream swig_types[61] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLScanner swig_types[62] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__NameIdPoolTXERCES_CPP_NAMESPACE__DTDEntityDecl_t swig_types[63] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__NameIdPoolTXERCES_CPP_NAMESPACE__DTDElementDecl_t swig_types[64] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__Parser swig_types[65] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__AbstractDOMParser swig_types[66] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__RefHash3KeysIdPoolEnumeratorTXERCES_CPP_NAMESPACE__SchemaElementDecl_t swig_types[67] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser swig_types[68] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLGrammarDescription swig_types[69] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__SchemaGrammar swig_types[70] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DTDGrammar swig_types[71] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__Grammar swig_types[72] 
-#define  SWIGTYPE_p_ValidationContext swig_types[73] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DTDAttDef swig_types[74] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLAttDef swig_types[75] 
-#define  SWIGTYPE_p_XMLAttDef swig_types[76] 
-#define  SWIGTYPE_p_DTDAttDef swig_types[77] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLURL swig_types[78] 
-#define  SWIGTYPE_p_size_t swig_types[79] 
-#define  SWIGTYPE_p_RefHashTableOfTXMLRefInfo_t swig_types[80] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__NamespaceScope swig_types[81] 
-#define  SWIGTYPE_p_XMLValid__Codes swig_types[82] 
-#define  SWIGTYPE_p_PSVIDefs__Validation swig_types[83] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__NameIdPoolEnumeratorTXERCES_CPP_NAMESPACE__XMLNotationDecl_t swig_types[84] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__NameIdPoolEnumeratorTXERCES_CPP_NAMESPACE__DTDEntityDecl_t swig_types[85] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__NameIdPoolEnumeratorTXERCES_CPP_NAMESPACE__DTDElementDecl_t swig_types[86] 
-#define  SWIGTYPE_p_int swig_types[87] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLFormatter swig_types[88] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__StdOutFormatTarget swig_types[89] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__LocalFileFormatTarget swig_types[90] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemBufFormatTarget swig_types[91] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLFormatTarget swig_types[92] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLGrammarPool swig_types[93] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLMutex swig_types[94] 
-#define  SWIGTYPE_p_PanicHandler__PanicReasons swig_types[95] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__URLInputSource swig_types[96] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__LocalFileInputSource swig_types[97] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__StdInInputSource swig_types[98] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemBufInputSource swig_types[99] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMInputSource swig_types[100] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__InputSource swig_types[101] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLDeleter swig_types[102] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__SchemaAttDefList swig_types[103] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DTDAttDefList swig_types[104] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLAttDefList swig_types[105] 
-#define  SWIGTYPE_p_XMLAttDefList swig_types[106] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource swig_types[107] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4DOMInputSource swig_types[108] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationSource swig_types[109] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMUserDataHandler swig_types[110] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__PSVIHandler swig_types[111] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DefaultHandler swig_types[112] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DocTypeHandler swig_types[113] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLEntityHandler swig_types[114] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLDocumentHandler swig_types[115] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DeclHandler swig_types[116] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__LexicalHandler swig_types[117] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__ContentHandler swig_types[118] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__ErrorHandler swig_types[119] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DTDHandler swig_types[120] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DocumentHandler swig_types[121] 
-#define  SWIGTYPE_p_PerlCallbackHandler swig_types[122] 
-#define  SWIGTYPE_p_PanicHandler swig_types[123] 
-#define  SWIGTYPE_p_bool swig_types[124] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__AttributeList swig_types[125] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMErrorHandler swig_types[126] 
-#define  SWIGTYPE_p_PerlErrorCallbackHandler swig_types[127] 
-#define  SWIGTYPE_p_PerlDocumentCallbackHandler swig_types[128] 
-#define  SWIGTYPE_p_PerlContentCallbackHandler swig_types[129] 
-#define  SWIGTYPE_p_PerlEntityResolverHandler swig_types[130] 
-#define  SWIGTYPE_p_PerlNodeFilterCallbackHandler swig_types[131] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMProcessingInstruction swig_types[132] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__SchemaAttDef swig_types[133] 
-#define  SWIGTYPE_p_SchemaAttDef swig_types[134] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRangeException swig_types[135] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__SAXParseException swig_types[136] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__SAXNotRecognizedException swig_types[137] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__SAXNotSupportedException swig_types[138] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMException swig_types[139] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__SAXException swig_types[140] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLException swig_types[141] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DTDEntityDecl swig_types[142] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLEntityDecl swig_types[143] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__Locator swig_types[144] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLocator swig_types[145] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__HandlerBase swig_types[146] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTypeInfo swig_types[147] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__ComplexTypeInfo swig_types[148] 
-#define  SWIGTYPE_p_ComplexTypeInfo swig_types[149] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode swig_types[150] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentRange swig_types[151] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLReaderFactory swig_types[152] 
-#define  SWIGTYPE_p_DatatypeValidatorFactory swig_types[153] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLMsgLoader swig_types[154] 
-#define  SWIGTYPE_p_RefHashTableOfTXERCES_CPP_NAMESPACE__XercesGroupInfo_t swig_types[155] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentFragment swig_types[156] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLNotationDecl swig_types[157] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentTraversal swig_types[158] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange swig_types[159] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker swig_types[160] 
-#define  SWIGTYPE_p_RefHashTableOfTXERCES_CPP_NAMESPACE__XercesAttGroupInfo_t swig_types[161] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__QName swig_types[162] 
-#define  SWIGTYPE_p_p_XERCES_CPP_NAMESPACE__QName swig_types[163] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMCDATASection swig_types[164] 
-#define  SWIGTYPE_p_RefHash2KeysTableOfTValueVectorOfTXERCES_CPP_NAMESPACE__SchemaElementDecl_p_t_t swig_types[165] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMEntity swig_types[166] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLBufferMgr swig_types[167] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLEntityResolver swig_types[168] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__GrammarResolver swig_types[169] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__EntityResolver swig_types[170] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__Attributes swig_types[171] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMEntityResolver swig_types[172] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMBuilder swig_types[173] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__ReaderMgr swig_types[174] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMCharacterData swig_types[175] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLUri swig_types[176] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMAttr swig_types[177] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentType swig_types[178] 
-#define  SWIGTYPE_p_SecurityManager swig_types[179] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemoryManager swig_types[180] 
-#define  SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMWriter swig_types[181] 
-static swig_type_info *swig_types[183];
+#define SWIGTYPE_p_DatatypeValidatorFactory swig_types[0]
+#define SWIGTYPE_p_IdentityConstraint swig_types[1]
+#define SWIGTYPE_p_PSVIAttributeList swig_types[2]
+#define SWIGTYPE_p_PSVIDefs__Complexity swig_types[3]
+#define SWIGTYPE_p_PSVIDefs__PSVIScope swig_types[4]
+#define SWIGTYPE_p_PSVIDefs__Validation swig_types[5]
+#define SWIGTYPE_p_PSVIDefs__Validity swig_types[6]
+#define SWIGTYPE_p_PSVIElement swig_types[7]
+#define SWIGTYPE_p_PanicHandler__PanicReasons swig_types[8]
+#define SWIGTYPE_p_PerlCallbackHandler swig_types[9]
+#define SWIGTYPE_p_PerlContentCallbackHandler swig_types[10]
+#define SWIGTYPE_p_PerlDocumentCallbackHandler swig_types[11]
+#define SWIGTYPE_p_PerlEntityResolverHandler swig_types[12]
+#define SWIGTYPE_p_PerlErrorCallbackHandler swig_types[13]
+#define SWIGTYPE_p_PerlNodeFilterCallbackHandler swig_types[14]
+#define SWIGTYPE_p_RefArrayVectorOfTunsigned_short_t swig_types[15]
+#define SWIGTYPE_p_RefHash2KeysTableOfTValueVectorOfTXERCES_CPP_NAMESPACE__SchemaElementDecl_p_t_t swig_types[16]
+#define SWIGTYPE_p_RefHashTableOfTXERCES_CPP_NAMESPACE__ComplexTypeInfo_t swig_types[17]
+#define SWIGTYPE_p_RefHashTableOfTXERCES_CPP_NAMESPACE__XMLAttDef_t swig_types[18]
+#define SWIGTYPE_p_RefHashTableOfTXERCES_CPP_NAMESPACE__XSAnnotation_t swig_types[19]
+#define SWIGTYPE_p_RefHashTableOfTXERCES_CPP_NAMESPACE__XercesAttGroupInfo_t swig_types[20]
+#define SWIGTYPE_p_RefHashTableOfTXERCES_CPP_NAMESPACE__XercesGroupInfo_t swig_types[21]
+#define SWIGTYPE_p_RefHashTableOfTXMLRefInfo_t swig_types[22]
+#define SWIGTYPE_p_SV swig_types[23]
+#define SWIGTYPE_p_SecurityManager swig_types[24]
+#define SWIGTYPE_p_ValidationContext swig_types[25]
+#define SWIGTYPE_p_ValueVectorOfTXERCES_CPP_NAMESPACE__SchemaElementDecl_p_t swig_types[26]
+#define SWIGTYPE_p_ValueVectorOfTunsigned_int_t swig_types[27]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__AbstractDOMParser swig_types[28]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__AttributeList swig_types[29]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__Attributes swig_types[30]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__BinInputStream swig_types[31]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__ComplexTypeInfo swig_types[32]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__ContentHandler swig_types[33]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__ContentSpecNode swig_types[34]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMAttr swig_types[35]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMBuilder swig_types[36]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMBuilderFilter swig_types[37]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMCDATASection swig_types[38]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMCharacterData swig_types[39]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMComment swig_types[40]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMConfiguration swig_types[41]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument swig_types[42]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentFragment swig_types[43]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentRange swig_types[44]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentTraversal swig_types[45]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentType swig_types[46]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMElement swig_types[47]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMEntity swig_types[48]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMEntityReference swig_types[49]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMEntityResolver swig_types[50]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMError swig_types[51]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMErrorHandler swig_types[52]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMException swig_types[53]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementation swig_types[54]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS swig_types[55]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationRegistry swig_types[56]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationSource swig_types[57]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMInputSource swig_types[58]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLocator swig_types[59]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNamedNodeMap swig_types[60]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode swig_types[61]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeFilter swig_types[62]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeIterator swig_types[63]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeList swig_types[64]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNotation swig_types[65]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMProcessingInstruction swig_types[66]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange swig_types[67]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRangeException swig_types[68]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMText swig_types[69]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker swig_types[70]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTypeInfo swig_types[71]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMUserDataHandler swig_types[72]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMWriter swig_types[73]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMWriterFilter swig_types[74]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DTDAttDef swig_types[75]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DTDAttDefList swig_types[76]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DTDElementDecl swig_types[77]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DTDEntityDecl swig_types[78]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DTDGrammar swig_types[79]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DTDHandler swig_types[80]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DTDValidator swig_types[81]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DatatypeValidator swig_types[82]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DeclHandler swig_types[83]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DefaultHandler swig_types[84]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DocumentHandler swig_types[85]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__EntityResolver swig_types[86]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__ErrorHandler swig_types[87]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__Grammar swig_types[88]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__GrammarResolver swig_types[89]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__HandlerBase swig_types[90]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__InputSource swig_types[91]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__LexicalHandler swig_types[92]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__LocalFileFormatTarget swig_types[93]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__LocalFileInputSource swig_types[94]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__Locator swig_types[95]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemBufFormatTarget swig_types[96]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemBufInputSource swig_types[97]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemoryManager swig_types[98]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__NameIdPoolEnumeratorTXERCES_CPP_NAMESPACE__DTDElementDecl_t swig_types[99]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__NameIdPoolEnumeratorTXERCES_CPP_NAMESPACE__DTDEntityDecl_t swig_types[100]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__NameIdPoolEnumeratorTXERCES_CPP_NAMESPACE__XMLNotationDecl_t swig_types[101]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__NameIdPoolTXERCES_CPP_NAMESPACE__DTDElementDecl_t swig_types[102]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__NameIdPoolTXERCES_CPP_NAMESPACE__DTDEntityDecl_t swig_types[103]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__NamespaceScope swig_types[104]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__PSVIHandler swig_types[105]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__Parser swig_types[106]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__QName swig_types[107]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__RefHash3KeysIdPoolEnumeratorTXERCES_CPP_NAMESPACE__SchemaElementDecl_t swig_types[108]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__RefHash3KeysIdPoolTXERCES_CPP_NAMESPACE__SchemaElementDecl_t swig_types[109]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SAX2XMLReader swig_types[110]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SAXException swig_types[111]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SAXNotRecognizedException swig_types[112]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SAXNotSupportedException swig_types[113]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SAXParseException swig_types[114]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SAXParser swig_types[115]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SchemaAttDef swig_types[116]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SchemaAttDefList swig_types[117]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SchemaElementDecl swig_types[118]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SchemaGrammar swig_types[119]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SchemaValidator swig_types[120]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__StdInInputSource swig_types[121]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__StdOutFormatTarget swig_types[122]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__URLInputSource swig_types[123]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4DOMInputSource swig_types[124]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource swig_types[125]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLAttDef swig_types[126]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLAttDefList swig_types[127]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLContentModel swig_types[128]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLDTDDescription swig_types[129]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLDeleter swig_types[130]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLDocumentHandler swig_types[131]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLElementDecl swig_types[132]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLEntityDecl swig_types[133]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLEntityResolver swig_types[134]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLEnumeratorTXERCES_CPP_NAMESPACE__DTDElementDecl_t swig_types[135]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLEnumeratorTXERCES_CPP_NAMESPACE__DTDEntityDecl_t swig_types[136]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLEnumeratorTXERCES_CPP_NAMESPACE__SchemaElementDecl_t swig_types[137]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLException swig_types[138]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLExcepts swig_types[139]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLFormatTarget swig_types[140]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLFormatter swig_types[141]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLGrammarDescription swig_types[142]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLGrammarPool swig_types[143]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLNotationDecl swig_types[144]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLPScanToken swig_types[145]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLPlatformUtils swig_types[146]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLReaderFactory swig_types[147]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLSchemaDescription swig_types[148]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLURL swig_types[149]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLUni swig_types[150]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLUri swig_types[151]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLValidator swig_types[152]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMemory swig_types[153]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__RefHash3KeysTableBucketElemTXERCES_CPP_NAMESPACE__SchemaElementDecl_t swig_types[154]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XSAnnotation swig_types[155]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser swig_types[156]
+#define SWIGTYPE_p_XMLBuffer swig_types[157]
+#define SWIGTYPE_p_XMLErrorReporter swig_types[158]
+#define SWIGTYPE_p_XMLErrorReporter__ErrTypes swig_types[159]
+#define SWIGTYPE_p_XSerializeEngine swig_types[160]
+#define SWIGTYPE_p_a_32__unsigned_short swig_types[161]
+#define SWIGTYPE_p_bool swig_types[162]
+#define SWIGTYPE_p_int swig_types[163]
+#define SWIGTYPE_p_long swig_types[164]
+#define SWIGTYPE_p_p_void swig_types[165]
+#define SWIGTYPE_p_size_t swig_types[166]
+#define SWIGTYPE_p_unsigned_char swig_types[167]
+#define SWIGTYPE_p_unsigned_int swig_types[168]
+#define SWIGTYPE_p_unsigned_long swig_types[169]
+#define SWIGTYPE_p_unsigned_short swig_types[170]
+#define SWIGTYPE_p_void swig_types[171]
+static swig_type_info *swig_types[172];
+static swig_module_info swig_module = {swig_types, 172, 0, 0, 0, 0};
+#define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
+#define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
 
 /* -------- TYPES TABLE (END) -------- */
 
@@ -1046,8 +1343,6 @@
 #endif
 
 
-#include "stdio.h"
-#include "string.h"
 #include "xercesc/sax/InputSource.hpp"
 #include "xercesc/sax/SAXException.hpp"
 #include "xercesc/sax/SAXParseException.hpp"
@@ -1074,6 +1369,9 @@
 #include "xercesc/framework/MemBufInputSource.hpp"
 #include "xercesc/framework/StdInInputSource.hpp"
 #include "xercesc/framework/URLInputSource.hpp"
+#include "xercesc/framework/XMLGrammarDescription.hpp"
+#include "xercesc/framework/XMLDTDDescription.hpp"
+#include "xercesc/framework/XMLSchemaDescription.hpp"
 #include "xercesc/util/NameIdPool.hpp"
 #include "xercesc/util/XMLEnumerator.hpp"
 #include "xercesc/framework/XMLValidator.hpp"
@@ -1092,12 +1390,34 @@
 #include "xercesc/framework/StdOutFormatTarget.hpp"
 #include "xercesc/framework/Wrapper4InputSource.hpp"
 #include "xercesc/framework/Wrapper4DOMInputSource.hpp"
+#include "xercesc/framework/psvi/PSVIHandler.hpp"
+
+// for resolving XMLExceptions
+#include "xercesc/util/ArrayIndexOutOfBoundsException.hpp"
+#include "xercesc/util/EmptyStackException.hpp"
+#include "xercesc/util/IllegalArgumentException.hpp"
+#include "xercesc/util/InvalidCastException.hpp"
+#include "xercesc/util/IOException.hpp"
+#include "xercesc/util/NoSuchElementException.hpp"
+#include "xercesc/util/NullPointerException.hpp"
+#include "xercesc/util/NumberFormatException.hpp"
+#include "xercesc/util/ParseException.hpp"
+#include "xercesc/util/RuntimeException.hpp"
+#include "xercesc/util/SchemaDateTimeException.hpp"
+#include "xercesc/util/TranscodingException.hpp"
+#include "xercesc/util/UnexpectedEOFException.hpp"
+#include "xercesc/util/UnsupportedEncodingException.hpp"
+#include "xercesc/util/UTFDataFormatException.hpp"
+#include "xercesc/util/XMLNetAccessor.hpp"
+#include "xercesc/internal/XSerializationException.hpp"
+#include "xercesc/validators/datatype/InvalidDatatypeFacetException.hpp"
+#include "xercesc/validators/datatype/InvalidDatatypeValueException.hpp"
+#include "xercesc/validators/schema/identity/XPathException.hpp"
 
 #include "PerlCallbackHandler.hpp"
 #include "PerlErrorCallbackHandler.hpp"
 #include "PerlDocumentCallbackHandler.hpp"
 #include "PerlContentCallbackHandler.hpp"
-
 #include "PerlEntityResolverHandler.i"
 #include "PerlNodeFilterCallbackHandler.i"
 
@@ -1109,91 +1429,9 @@
 static XMLCh* UTF8_ENCODING = NULL; 
 static XMLTranscoder* UTF8_TRANSCODER  = NULL;
 
-static XMLCh* ISO_8859_1_ENCODING = NULL; 
-static XMLTranscoder* ISO_8859_1_TRANSCODER  = NULL;
-
 static bool DEBUG_UTF8_OUT = 0;
 static bool DEBUG_UTF8_IN = 0;
 
-static char debug_char[2048];
-static XMLCh debug_xml[2048];
-
-char*
-debugPrint(const XMLCh* str){
-    return (char*)XMLString::transcode(str);
-}
-
-// These exception creation methods make the Xerces.C code *much* smaller
-void
-makeXMLException(const XMLException& e){
-    SV *tmpsv;
-    HV *hash = newHV();
-    char *XML_EXCEPTION = "XML::Xerces::XMLException";
-    HV *XML_EXCEPTION_STASH = gv_stashpv(XML_EXCEPTION, FALSE);
-    hv_magic(hash, 
-	     (GV *)sv_setref_pv(sv_newmortal(), 
-				XML_EXCEPTION, (void *)&e), 
-	     'P');
-    tmpsv = sv_bless(newRV_noinc((SV *)hash), XML_EXCEPTION_STASH);
-    SV *error = ERRSV;
-    SvSetSV(error,tmpsv);
-    (void)SvUPGRADE(error, SVt_PV);
-    croak(Nullch);
-}
-
-void
-makeDOMException(const DOMException& e){
-    SV *tmpsv;
-    HV *hash = newHV();
-    char *DOM_EXCEPTION = "XML::Xerces::DOMException";
-    HV *DOM_EXCEPTION_STASH = gv_stashpv(DOM_EXCEPTION, FALSE);
-    hv_magic(hash, 
-	     (GV *)sv_setref_pv(sv_newmortal(), 
-				DOM_EXCEPTION, (void *)&e), 
-	     'P');
-    tmpsv = sv_bless(newRV_noinc((SV *)hash), DOM_EXCEPTION_STASH);
-    SV *error = ERRSV;
-    SvSetSV(error,tmpsv);
-    (void)SvUPGRADE(error, SVt_PV);
-    croak(Nullch);
-}
-
-void
-makeSAXNotRecognizedException(const SAXNotRecognizedException& e){
-    SV *tmpsv;
-    HV *hash = newHV();
-    char *SAX_NOT_RECOGNIZED_EXCEPTION = "XML::Xerces::SAXNotRecognizedException";
-    HV *SAX_NOT_RECOGNIZED_EXCEPTION_STASH = gv_stashpv(SAX_NOT_RECOGNIZED_EXCEPTION, FALSE);
-    hv_magic(hash, 
-	     (GV *)sv_setref_pv(sv_newmortal(), 
-				SAX_NOT_RECOGNIZED_EXCEPTION, (void *)&e), 
-	     'P');
-    tmpsv = sv_bless(newRV_noinc((SV *)hash), SAX_NOT_RECOGNIZED_EXCEPTION_STASH);
-    SV *error = ERRSV;
-    SvSetSV(error,tmpsv);
-    (void)SvUPGRADE(error, SVt_PV);
-    croak(Nullch);
-}
-
-void
-makeSAXNotSupportedException(const SAXNotSupportedException& e){
-    SV *tmpsv;
-    HV *hash = newHV();
-    char *SAX_NOT_SUPPORTED_EXCEPTION = "XML::Xerces::SAXNotSupportedException";
-    HV *SAX_NOT_SUPPORTED_EXCEPTION_STASH = gv_stashpv(SAX_NOT_SUPPORTED_EXCEPTION, FALSE);
-    hv_magic(hash, 
-	     (GV *)sv_setref_pv(sv_newmortal(), 
-				SAX_NOT_SUPPORTED_EXCEPTION, (void *)&e), 
-	     'P');
-    tmpsv = sv_bless(newRV_noinc((SV *)hash), SAX_NOT_SUPPORTED_EXCEPTION_STASH);
-    SV *error = ERRSV;
-    SvSetSV(error,tmpsv);
-    (void)SvUPGRADE(error, SVt_PV);
-    croak(Nullch);
-}
-
-
-
 SV*
 XMLString2Perl(const XMLCh* input) {
     SV *output;
@@ -1204,11 +1442,13 @@
     UTF8_TRANSCODER->transcodeTo((const XMLCh*) input, 
 				   (unsigned int) length,
 				   (XMLByte*) res,
-				   (unsigned int) length*UTF8_MAXLEN,
+				   (unsigned int) (length*UTF8_MAXLEN)+1,
 				   charsEaten,
 				   XMLTranscoder::UnRep_Throw
 				   );
   res[total_chars] = '\0';
+
+#if (0) 
   if (DEBUG_UTF8_OUT) {
       printf("Xerces out length = %d: ",total_chars);
       for (int i=0;i<length;i++){
@@ -1216,6 +1456,8 @@
       }
       printf("\n");
   }
+#endif
+
   output = sv_newmortal();
   sv_setpv((SV*)output, (char *)res );
   SvUTF8_on((SV*)output);
@@ -1228,7 +1470,9 @@
     XMLCh* output;
 
     STRLEN length;
-    char *ptr = (char *)SvPV(input,length);
+    char *ptr = (char *)SvPVutf8(input,length);
+
+#if (0) 
     if (DEBUG_UTF8_IN) {
 	printf("Perl in length = %d: ",length);
 	for (unsigned int i=0;i<length;i++){
@@ -1236,6 +1480,8 @@
 	}
 	printf("\n");
     }
+#endif
+
     if (SvUTF8(input)) {
 	unsigned int charsEaten = 0;
         unsigned char* sizes = new unsigned char[length+1];
@@ -1249,6 +1495,8 @@
 					   (unsigned char*)sizes
 					   );
 	delete [] sizes;
+
+#if (0) 
 	if (DEBUG_UTF8_IN) {
 	    printf("Xerces in length = %d: ",chars_stored);
 	    for (unsigned int i=0;i<chars_stored;i++){
@@ -1256,10 +1504,14 @@
 	    }
 	    printf("\n");
 	}
-	    // indicate the end of the string
+#endif
+
+	// indicate the end of the string
 	output[chars_stored] = '\0';
     } else {
 	output = XMLString::transcode(ptr);
+
+#if (0) 
 	if (DEBUG_UTF8_IN) {
 	    printf("Xerces: ");
 	    for (int i=0;output[i];i++){
@@ -1267,10 +1519,131 @@
 	    }
 	    printf("\n");
 	}
+#endif
+
     }
     return(output);
 }
 
+XMLException*
+copyXMLException(const XMLException& e)
+{
+    if(e.getType() == XERCES_CPP_NAMESPACE::XMLUni::fgArrayIndexOutOfBoundsException_Name)
+    {
+        return (XMLException*)((ArrayIndexOutOfBoundsException*)&e)->duplicate();
+    }
+    else if(e.getType() == XERCES_CPP_NAMESPACE::XMLUni::fgEmptyStackException_Name)
+    {
+        return (XMLException*)((EmptyStackException*)&e)->duplicate();
+    }
+    else if(e.getType() == XERCES_CPP_NAMESPACE::XMLUni::fgIllegalArgumentException_Name)
+    {
+        return (XMLException*)((IllegalArgumentException*)&e)->duplicate();
+    }
+    else if(e.getType() == XERCES_CPP_NAMESPACE::XMLUni::fgInvalidCastException_Name)
+    {
+        return (XMLException*)((InvalidCastException*)&e)->duplicate();
+    }
+    else if(e.getType() == XERCES_CPP_NAMESPACE::XMLUni::fgIOException_Name)
+    {
+        return (XMLException*)((IOException*)&e)->duplicate();
+    }
+    else if(e.getType() == XERCES_CPP_NAMESPACE::XMLUni::fgNoSuchElementException_Name)
+    {
+        return (XMLException*)((NoSuchElementException*)&e)->duplicate();
+    }
+    else if(e.getType() == XERCES_CPP_NAMESPACE::XMLUni::fgNullPointerException_Name)
+    {
+        return (XMLException*)((NullPointerException*)&e)->duplicate();
+    }
+    else if(e.getType() == XERCES_CPP_NAMESPACE::XMLUni::fgNumberFormatException_Name)
+    {
+        return (XMLException*)((NumberFormatException*)&e)->duplicate();
+    }
+    else if(e.getType() == XERCES_CPP_NAMESPACE::XMLUni::fgParseException_Name)
+    {
+        return (XMLException*)((ParseException*)&e)->duplicate();
+    }
+    else if(e.getType() == XERCES_CPP_NAMESPACE::XMLUni::fgXMLPlatformUtilsException_Name)
+    {
+        return (XMLException*)((XMLPlatformUtilsException*)&e)->duplicate();
+    }
+    else if(e.getType() == XERCES_CPP_NAMESPACE::XMLUni::fgRuntimeException_Name)
+    {
+        return (XMLException*)((RuntimeException*)&e)->duplicate();
+    }
+    else if(e.getType() == XERCES_CPP_NAMESPACE::XMLUni::fgSchemaDateTimeException_Name)
+    {
+        return (XMLException*)((SchemaDateTimeException*)&e)->duplicate();
+    }
+    else if(e.getType() == XERCES_CPP_NAMESPACE::XMLUni::fgTranscodingException_Name)
+    {
+        return (XMLException*)((TranscodingException*)&e)->duplicate();
+    }
+    else if(e.getType() == XERCES_CPP_NAMESPACE::XMLUni::fgUnexpectedEOFException_Name)
+    {
+        return (XMLException*)((UnexpectedEOFException*)&e)->duplicate();
+    }
+    else if(e.getType() == XERCES_CPP_NAMESPACE::XMLUni::fgUnsupportedEncodingException_Name)
+    {
+        return (XMLException*)((UnsupportedEncodingException*)&e)->duplicate();
+    }
+    else if(e.getType() == XERCES_CPP_NAMESPACE::XMLUni::fgUTFDataFormatException_Name)
+    {
+        return (XMLException*)((UTFDataFormatException*)&e)->duplicate();
+    }
+    else if(e.getType() == XERCES_CPP_NAMESPACE::XMLUni::fgNetAccessorException_Name)
+    {
+        return (XMLException*)((NetAccessorException*)&e)->duplicate();
+    }
+    else if(e.getType() == XERCES_CPP_NAMESPACE::XMLUni::fgMalformedURLException_Name)
+    {
+        return (XMLException*)((MalformedURLException*)&e)->duplicate();
+    }
+    else if(e.getType() == XERCES_CPP_NAMESPACE::XMLUni::fgXSerializationException_Name)
+    {
+        return (XMLException*)((XSerializationException*)&e)->duplicate();
+    }
+    else if(e.getType() == XERCES_CPP_NAMESPACE::XMLUni::fgInvalidDatatypeFacetException_Name)
+    {
+        return (XMLException*)((InvalidDatatypeFacetException*)&e)->duplicate();
+    }
+    else if(e.getType() == XERCES_CPP_NAMESPACE::XMLUni::fgInvalidDatatypeValueException_Name)
+    {
+        return (XMLException*)((InvalidDatatypeValueException*)&e)->duplicate();
+    }
+    else if(e.getType() == XERCES_CPP_NAMESPACE::XMLUni::fgXPathException_Name)
+    {
+        return (XMLException*)((XPathException*)&e)->duplicate();
+    }
+}
+
+// These exception creation methods make the Xerces.cpp code *much* smaller
+void
+makeXMLException(const XMLException& e){
+    SV *error = ERRSV;
+    SWIG_MakePtr(error, (void *) copyXMLException(e), SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLException, SWIG_SHADOW|SWIG_OWNER);
+}
+
+void
+makeDOMException(const DOMException& e){
+    SV *error = ERRSV;
+    SWIG_MakePtr(error, (void *) new DOMException(e), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMException, SWIG_SHADOW|SWIG_OWNER);
+}
+
+void
+makeSAXNotRecognizedException(const SAXNotRecognizedException& e){
+    SV *error = ERRSV;
+    SWIG_MakePtr(error, (void *) new SAXNotRecognizedException(e), SWIGTYPE_p_XERCES_CPP_NAMESPACE__SAXNotRecognizedException, SWIG_SHADOW|SWIG_OWNER);
+}
+
+void
+makeSAXNotSupportedException(const SAXNotSupportedException& e){
+    SV *error = ERRSV;
+    SWIG_MakePtr(error, (void *) new SAXNotSupportedException(e), SWIGTYPE_p_XERCES_CPP_NAMESPACE__SAXNotSupportedException, SWIG_SHADOW|SWIG_OWNER);
+}
+
+
 
 static swig_type_info *
 Grammar_dynamic_cast(void **ptr) {
@@ -1364,18 +1737,12 @@
    return NULL;
 }
 
-bool XERCES_CPP_NAMESPACE_DOMNode_operator_Se__Se_(XERCES_CPP_NAMESPACE::DOMNode *self,XERCES_CPP_NAMESPACE::DOMNode const *other){
+static bool XERCES_CPP_NAMESPACE_DOMNode_operator_Se__Se_(XERCES_CPP_NAMESPACE::DOMNode *self,XERCES_CPP_NAMESPACE::DOMNode const *other){
        return self->isSameNode(other);
    }
-bool XERCES_CPP_NAMESPACE_DOMNode_operator_SN__Se_(XERCES_CPP_NAMESPACE::DOMNode *self,XERCES_CPP_NAMESPACE::DOMNode const *other){
+static bool XERCES_CPP_NAMESPACE_DOMNode_operator_SN__Se_(XERCES_CPP_NAMESPACE::DOMNode *self,XERCES_CPP_NAMESPACE::DOMNode const *other){
        return !self->isSameNode(other);
    }
-XERCES_CPP_NAMESPACE::DOMNode *XERCES_CPP_NAMESPACE_DOMDocument_toDOMNode(XERCES_CPP_NAMESPACE::DOMDocument *self){
-     return (DOMNode*) self;
-   }
-XERCES_CPP_NAMESPACE::DOMDocumentTraversal *XERCES_CPP_NAMESPACE_DOMDocument_toDOMDocumentTraversal(XERCES_CPP_NAMESPACE::DOMDocument *self){
-     return (DOMDocumentTraversal*) self;
-   }
 #ifdef PERL_OBJECT
 #define MAGIC_CLASS _wrap_XML::Xerces_var::
 class _wrap_XML::Xerces_var : public CPerlObj {
@@ -1421,86 +1788,12 @@
 }
 
 
-SWIGCLASS_STATIC int _wrap_set_XMLPlatformUtils_fgArrayMemoryManager(pTHX_ SV* sv, MAGIC *mg) {
-    MAGIC_PPERL
-    mg = mg;
-    {
-        if (SWIG_ConvertPtr(sv, (void **) &XERCES_CPP_NAMESPACE::XMLPlatformUtils::fgArrayMemoryManager, SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemoryManager,0) < 0) {
-            croak("Type error in argument $argnum of XMLPlatformUtils_fgArrayMemoryManager. Expected _p_XERCES_CPP_NAMESPACE__MemoryManager");
-        }
-    }
-    return 1;
-}
-
-
-SWIGCLASS_STATIC int _wrap_val_XMLPlatformUtils_fgArrayMemoryManager(pTHX_ SV *sv, MAGIC *mg) {
-    MAGIC_PPERL
-    mg = mg;
-    sv_setiv(SvRV(sv),(IV) XERCES_CPP_NAMESPACE::XMLPlatformUtils::fgArrayMemoryManager);
-    return 1;
-}
-
-
-SWIGCLASS_STATIC int _wrap_set_XMLPlatformUtils_fgAtomicMutex(pTHX_ SV* sv, MAGIC *mg) {
-    MAGIC_PPERL
-    mg = mg;
-    {
-        if (SWIG_ConvertPtr(sv, (void **) &XERCES_CPP_NAMESPACE::XMLPlatformUtils::fgAtomicMutex, SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLMutex,0) < 0) {
-            croak("Type error in argument $argnum of XMLPlatformUtils_fgAtomicMutex. Expected _p_XERCES_CPP_NAMESPACE__XMLMutex");
-        }
-    }
-    return 1;
-}
-
-
-SWIGCLASS_STATIC int _wrap_val_XMLPlatformUtils_fgAtomicMutex(pTHX_ SV *sv, MAGIC *mg) {
-    MAGIC_PPERL
-    mg = mg;
-    sv_setiv(SvRV(sv),(IV) XERCES_CPP_NAMESPACE::XMLPlatformUtils::fgAtomicMutex);
-    return 1;
-}
-
-
-SWIGCLASS_STATIC int _wrap_val_XMLElementDecl_fgInvalidElemId(pTHX_ SV *sv, MAGIC *mg) {
-    MAGIC_PPERL
-    mg = mg;
-    sv_setuv(sv, (UV) XERCES_CPP_NAMESPACE::XMLElementDecl::fgInvalidElemId);
-    return 1;
-}
-
-
-SWIGCLASS_STATIC int _wrap_val_XMLElementDecl_fgPCDataElemId(pTHX_ SV *sv, MAGIC *mg) {
-    MAGIC_PPERL
-    mg = mg;
-    sv_setuv(sv, (UV) XERCES_CPP_NAMESPACE::XMLElementDecl::fgPCDataElemId);
-    return 1;
-}
-
-
-SWIGCLASS_STATIC int _wrap_val_XMLElementDecl_fgPCDataElemName(pTHX_ SV *sv, MAGIC *mg) {
-    MAGIC_PPERL
-    mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLElementDecl::fgPCDataElemName));
-    }
-    return 1;
-}
-
-
-SWIGCLASS_STATIC int _wrap_val_XMLAttDef_fgInvalidAttrId(pTHX_ SV *sv, MAGIC *mg) {
-    MAGIC_PPERL
-    mg = mg;
-    sv_setuv(sv, (UV) XERCES_CPP_NAMESPACE::XMLAttDef::fgInvalidAttrId);
-    return 1;
-}
-
-
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgAnyString(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgAnyString));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgAnyString));
+    
     return 1;
 }
 
@@ -1508,9 +1801,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgAttListString(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgAttListString));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgAttListString));
+    
     return 1;
 }
 
@@ -1518,9 +1811,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgCommentString(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgCommentString));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgCommentString));
+    
     return 1;
 }
 
@@ -1528,9 +1821,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgCDATAString(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgCDATAString));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgCDATAString));
+    
     return 1;
 }
 
@@ -1538,9 +1831,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgDefaultString(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgDefaultString));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgDefaultString));
+    
     return 1;
 }
 
@@ -1548,9 +1841,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgDocTypeString(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgDocTypeString));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgDocTypeString));
+    
     return 1;
 }
 
@@ -1558,9 +1851,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgEBCDICEncodingString(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgEBCDICEncodingString));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgEBCDICEncodingString));
+    
     return 1;
 }
 
@@ -1568,9 +1861,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgElemString(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgElemString));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgElemString));
+    
     return 1;
 }
 
@@ -1578,9 +1871,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgEmptyString(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgEmptyString));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgEmptyString));
+    
     return 1;
 }
 
@@ -1588,9 +1881,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgEncodingString(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgEncodingString));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgEncodingString));
+    
     return 1;
 }
 
@@ -1598,9 +1891,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgEntitString(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgEntitString));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgEntitString));
+    
     return 1;
 }
 
@@ -1608,9 +1901,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgEntityString(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgEntityString));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgEntityString));
+    
     return 1;
 }
 
@@ -1618,9 +1911,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgEntitiesString(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgEntitiesString));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgEntitiesString));
+    
     return 1;
 }
 
@@ -1628,9 +1921,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgEnumerationString(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgEnumerationString));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgEnumerationString));
+    
     return 1;
 }
 
@@ -1638,9 +1931,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgExceptDomain(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgExceptDomain));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgExceptDomain));
+    
     return 1;
 }
 
@@ -1648,9 +1941,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgFixedString(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgFixedString));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgFixedString));
+    
     return 1;
 }
 
@@ -1658,9 +1951,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgIBM037EncodingString(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgIBM037EncodingString));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgIBM037EncodingString));
+    
     return 1;
 }
 
@@ -1668,9 +1961,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgIBM037EncodingString2(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgIBM037EncodingString2));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgIBM037EncodingString2));
+    
     return 1;
 }
 
@@ -1678,9 +1971,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgIBM1047EncodingString(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgIBM1047EncodingString));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgIBM1047EncodingString));
+    
     return 1;
 }
 
@@ -1688,9 +1981,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgIBM1047EncodingString2(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgIBM1047EncodingString2));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgIBM1047EncodingString2));
+    
     return 1;
 }
 
@@ -1698,9 +1991,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgIBM1140EncodingString(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgIBM1140EncodingString));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgIBM1140EncodingString));
+    
     return 1;
 }
 
@@ -1708,9 +2001,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgIBM1140EncodingString2(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgIBM1140EncodingString2));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgIBM1140EncodingString2));
+    
     return 1;
 }
 
@@ -1718,9 +2011,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgIBM1140EncodingString3(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgIBM1140EncodingString3));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgIBM1140EncodingString3));
+    
     return 1;
 }
 
@@ -1728,9 +2021,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgIBM1140EncodingString4(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgIBM1140EncodingString4));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgIBM1140EncodingString4));
+    
     return 1;
 }
 
@@ -1738,9 +2031,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgIESString(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgIESString));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgIESString));
+    
     return 1;
 }
 
@@ -1748,9 +2041,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgIDString(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgIDString));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgIDString));
+    
     return 1;
 }
 
@@ -1758,9 +2051,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgIDRefString(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgIDRefString));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgIDRefString));
+    
     return 1;
 }
 
@@ -1768,9 +2061,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgIDRefsString(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgIDRefsString));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgIDRefsString));
+    
     return 1;
 }
 
@@ -1778,9 +2071,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgImpliedString(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgImpliedString));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgImpliedString));
+    
     return 1;
 }
 
@@ -1788,9 +2081,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgIgnoreString(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgIgnoreString));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgIgnoreString));
+    
     return 1;
 }
 
@@ -1798,9 +2091,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgIncludeString(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgIncludeString));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgIncludeString));
+    
     return 1;
 }
 
@@ -1808,9 +2101,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgISO88591EncodingString(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgISO88591EncodingString));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgISO88591EncodingString));
+    
     return 1;
 }
 
@@ -1818,9 +2111,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgISO88591EncodingString2(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgISO88591EncodingString2));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgISO88591EncodingString2));
+    
     return 1;
 }
 
@@ -1828,9 +2121,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgISO88591EncodingString3(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgISO88591EncodingString3));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgISO88591EncodingString3));
+    
     return 1;
 }
 
@@ -1838,9 +2131,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgISO88591EncodingString4(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgISO88591EncodingString4));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgISO88591EncodingString4));
+    
     return 1;
 }
 
@@ -1848,9 +2141,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgISO88591EncodingString5(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgISO88591EncodingString5));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgISO88591EncodingString5));
+    
     return 1;
 }
 
@@ -1858,9 +2151,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgISO88591EncodingString6(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgISO88591EncodingString6));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgISO88591EncodingString6));
+    
     return 1;
 }
 
@@ -1868,9 +2161,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgISO88591EncodingString7(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgISO88591EncodingString7));
-    }
+    
+    sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgISO88591EncodingString7));
+    
     return 1;
 }
 
@@ -1878,9 +2171,9 @@
 SWIGCLASS_STATIC int _wrap_val_XMLUni_fgISO88591EncodingString8(pTHX_ SV *sv, MAGIC *mg) {
     MAGIC_PPERL
     mg = mg;
-    {
-        sv_setsv((SV*)sv, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgISO88591EncodingString8));
-    }

[... 105802 lines stripped ...]


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org