diff --git a/swig/perl/Xerces.cpp b/swig/perl/Xerces.cpp
index 24bd6c49ad2d1676460b2aebd01a73a71aef679d..9396e66b6a464ec501e9a493c63da0d43c70d8ac 100644
--- a/swig/perl/Xerces.cpp
+++ b/swig/perl/Xerces.cpp
@@ -16,7 +16,7 @@
 
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.29
+ * Version 1.3.30
  * 
  * 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
@@ -136,7 +136,7 @@ private:
 #endif
 
 /* Deal with Microsoft's attempt at deprecating C standard runtime functions */
-#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER)
+#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
 # define _CRT_SECURE_NO_DEPRECATE
 #endif
 
@@ -149,7 +149,7 @@ private:
 
 /* 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_RUNTIME_VERSION "3"
 
 /* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
 #ifdef SWIG_TYPE_TABLE
@@ -1035,6 +1035,35 @@ static void SWIG_croak_null()
 #endif
 
 
+/* 
+   Define how strict is the cast between strings an integers/doubles
+   when overloading between these types occurs.
+   
+   The default is making it as strict as possible by using SWIG_AddCast
+   when needed.
+   
+   You can use -DSWIG_PERL_NO_STRICT_STR2NUM at compilation time to
+   disable the SWIG_AddCast, making the casting between string and
+   numbers less strict.
+
+   In the end, we try to solve the overloading between strings and
+   numerical types in the more natural way, but if you can avoid it,
+   well, avoid it using %rename, for example.
+*/
+#ifndef SWIG_PERL_NO_STRICT_STR2NUM
+# ifndef SWIG_PERL_STRICT_STR2NUM
+#  define SWIG_PERL_STRICT_STR2NUM
+# endif
+#endif
+#ifdef SWIG_PERL_STRICT_STR2NUM
+/* string takes precedence */
+#define SWIG_Str2NumCast(x) SWIG_AddCast(x)  
+#else
+/* number takes precedence */
+#define SWIG_Str2NumCast(x) x
+#endif
+
+
 
 #include <stdlib.h>
 
@@ -1393,6 +1422,12 @@ SWIG_Perl_SetModule(swig_module_info *module) {
 #ifdef check
   #undef check
 #endif
+#ifdef seekdir
+  #undef seekdir
+#endif
+#ifdef open
+  #undef open
+#endif
 
 
 
@@ -1404,59 +1439,59 @@ SWIG_Perl_SetModule(swig_module_info *module) {
 
 /* -------- TYPES TABLE (BEGIN) -------- */
 
-#define SWIGTYPE_p_DOMStringList swig_types[0]
-#define SWIGTYPE_p_DatatypeValidatorFactory swig_types[1]
-#define SWIGTYPE_p_IdentityConstraint swig_types[2]
-#define SWIGTYPE_p_PSVIAttributeList swig_types[3]
-#define SWIGTYPE_p_PSVIDefs__PSVIScope swig_types[4]
-#define SWIGTYPE_p_PSVIElement swig_types[5]
-#define SWIGTYPE_p_PanicHandler swig_types[6]
-#define SWIGTYPE_p_PanicHandler__PanicReasons swig_types[7]
-#define SWIGTYPE_p_PerlCallbackHandler swig_types[8]
-#define SWIGTYPE_p_PerlContentCallbackHandler swig_types[9]
-#define SWIGTYPE_p_PerlDocumentCallbackHandler swig_types[10]
-#define SWIGTYPE_p_PerlEntityResolverHandler swig_types[11]
-#define SWIGTYPE_p_PerlErrorCallbackHandler swig_types[12]
-#define SWIGTYPE_p_PerlNodeFilterCallbackHandler swig_types[13]
-#define SWIGTYPE_p_RefArrayVectorOfTuint16_t_t swig_types[14]
-#define SWIGTYPE_p_RefHash2KeysTableOfTValueVectorOfTXERCES_CPP_NAMESPACE__SchemaElementDecl_p_t_t swig_types[15]
-#define SWIGTYPE_p_RefHashTableOfTXERCES_CPP_NAMESPACE__ComplexTypeInfo_t swig_types[16]
-#define SWIGTYPE_p_RefHashTableOfTXERCES_CPP_NAMESPACE__XMLAttDef_t swig_types[17]
-#define SWIGTYPE_p_RefHashTableOfTXERCES_CPP_NAMESPACE__XSAnnotation_t swig_types[18]
-#define SWIGTYPE_p_RefHashTableOfTXERCES_CPP_NAMESPACE__XercesAttGroupInfo_t swig_types[19]
-#define SWIGTYPE_p_RefHashTableOfTXERCES_CPP_NAMESPACE__XercesGroupInfo_t swig_types[20]
-#define SWIGTYPE_p_SecurityManager swig_types[21]
-#define SWIGTYPE_p_ValidationContext swig_types[22]
-#define SWIGTYPE_p_ValueVectorOfTXERCES_CPP_NAMESPACE__SchemaElementDecl_p_t swig_types[23]
-#define SWIGTYPE_p_ValueVectorOfTunsigned_int_t swig_types[24]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__AbstractDOMParser swig_types[25]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__AttributeList swig_types[26]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__Attributes swig_types[27]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__BinInputStream swig_types[28]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__ComplexTypeInfo swig_types[29]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__ContentHandler swig_types[30]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__ContentSpecNode swig_types[31]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMAttr swig_types[32]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMCDATASection swig_types[33]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMCharacterData swig_types[34]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMComment swig_types[35]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMConfiguration swig_types[36]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument swig_types[37]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentFragment swig_types[38]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentRange swig_types[39]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentTraversal swig_types[40]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentType swig_types[41]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMElement swig_types[42]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMEntity swig_types[43]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMEntityReference swig_types[44]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMError swig_types[45]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMErrorHandler swig_types[46]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMException swig_types[47]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementation swig_types[48]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS swig_types[49]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationList swig_types[50]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationRegistry swig_types[51]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationSource swig_types[52]
+#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__PSVIScope swig_types[3]
+#define SWIGTYPE_p_PSVIElement swig_types[4]
+#define SWIGTYPE_p_PanicHandler swig_types[5]
+#define SWIGTYPE_p_PanicHandler__PanicReasons swig_types[6]
+#define SWIGTYPE_p_PerlCallbackHandler swig_types[7]
+#define SWIGTYPE_p_PerlContentCallbackHandler swig_types[8]
+#define SWIGTYPE_p_PerlDocumentCallbackHandler swig_types[9]
+#define SWIGTYPE_p_PerlEntityResolverHandler swig_types[10]
+#define SWIGTYPE_p_PerlErrorCallbackHandler swig_types[11]
+#define SWIGTYPE_p_PerlNodeFilterCallbackHandler swig_types[12]
+#define SWIGTYPE_p_RefArrayVectorOfTuint16_t_t swig_types[13]
+#define SWIGTYPE_p_RefHash2KeysTableOfTValueVectorOfTXERCES_CPP_NAMESPACE__SchemaElementDecl_p_t_t swig_types[14]
+#define SWIGTYPE_p_RefHashTableOfTXERCES_CPP_NAMESPACE__ComplexTypeInfo_t swig_types[15]
+#define SWIGTYPE_p_RefHashTableOfTXERCES_CPP_NAMESPACE__XMLAttDef_t swig_types[16]
+#define SWIGTYPE_p_RefHashTableOfTXERCES_CPP_NAMESPACE__XSAnnotation_t swig_types[17]
+#define SWIGTYPE_p_RefHashTableOfTXERCES_CPP_NAMESPACE__XercesAttGroupInfo_t swig_types[18]
+#define SWIGTYPE_p_RefHashTableOfTXERCES_CPP_NAMESPACE__XercesGroupInfo_t swig_types[19]
+#define SWIGTYPE_p_SecurityManager swig_types[20]
+#define SWIGTYPE_p_ValidationContext swig_types[21]
+#define SWIGTYPE_p_ValueVectorOfTXERCES_CPP_NAMESPACE__SchemaElementDecl_p_t swig_types[22]
+#define SWIGTYPE_p_ValueVectorOfTunsigned_int_t swig_types[23]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__AbstractDOMParser swig_types[24]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__AttributeList swig_types[25]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__Attributes swig_types[26]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__BinInputStream swig_types[27]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__ComplexTypeInfo swig_types[28]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__ContentHandler swig_types[29]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__ContentSpecNode swig_types[30]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMAttr swig_types[31]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMCDATASection swig_types[32]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMCharacterData swig_types[33]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMComment swig_types[34]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMConfiguration swig_types[35]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument swig_types[36]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentFragment swig_types[37]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentRange swig_types[38]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentTraversal swig_types[39]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentType swig_types[40]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMElement swig_types[41]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMEntity swig_types[42]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMEntityReference swig_types[43]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMError swig_types[44]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMErrorHandler swig_types[45]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMException swig_types[46]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementation swig_types[47]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS swig_types[48]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationList swig_types[49]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationRegistry swig_types[50]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationSource swig_types[51]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSException swig_types[52]
 #define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput swig_types[53]
 #define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSOutput swig_types[54]
 #define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSParser swig_types[55]
@@ -1471,115 +1506,122 @@ SWIG_Perl_SetModule(swig_module_info *module) {
 #define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeIterator swig_types[64]
 #define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeList swig_types[65]
 #define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNotation swig_types[66]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMProcessingInstruction swig_types[67]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange swig_types[68]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRangeException swig_types[69]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMText swig_types[70]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker swig_types[71]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTypeInfo swig_types[72]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMUserDataHandler swig_types[73]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DTDAttDef swig_types[74]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DTDAttDefList swig_types[75]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DTDElementDecl swig_types[76]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DTDEntityDecl swig_types[77]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DTDGrammar swig_types[78]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DTDHandler swig_types[79]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DTDValidator swig_types[80]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DatatypeValidator swig_types[81]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DeclHandler swig_types[82]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DefaultHandler swig_types[83]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DocumentHandler swig_types[84]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__EntityResolver swig_types[85]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__ErrorHandler swig_types[86]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__Grammar swig_types[87]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__GrammarResolver swig_types[88]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__HandlerBase swig_types[89]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__InputSource swig_types[90]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__LexicalHandler swig_types[91]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__LocalFileFormatTarget swig_types[92]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__LocalFileInputSource swig_types[93]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__Locator swig_types[94]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemBufFormatTarget swig_types[95]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemBufInputSource swig_types[96]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemoryManager swig_types[97]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__NameIdPoolEnumeratorTXERCES_CPP_NAMESPACE__DTDElementDecl_t swig_types[98]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__NameIdPoolEnumeratorTXERCES_CPP_NAMESPACE__DTDEntityDecl_t swig_types[99]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__NameIdPoolEnumeratorTXERCES_CPP_NAMESPACE__XMLNotationDecl_t swig_types[100]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__NameIdPoolTXERCES_CPP_NAMESPACE__DTDElementDecl_t swig_types[101]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__NameIdPoolTXERCES_CPP_NAMESPACE__DTDEntityDecl_t swig_types[102]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__NamespaceScope swig_types[103]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__PSVIHandler swig_types[104]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__Parser swig_types[105]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__QName swig_types[106]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__RefHash3KeysIdPoolEnumeratorTXERCES_CPP_NAMESPACE__SchemaElementDecl_t swig_types[107]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__RefHash3KeysIdPoolTXERCES_CPP_NAMESPACE__SchemaElementDecl_t swig_types[108]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SAX2XMLReader swig_types[109]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SAXException swig_types[110]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SAXNotRecognizedException swig_types[111]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SAXNotSupportedException swig_types[112]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SAXParseException swig_types[113]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SAXParser swig_types[114]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SchemaAttDef swig_types[115]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SchemaAttDefList swig_types[116]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SchemaElementDecl swig_types[117]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SchemaGrammar swig_types[118]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SchemaValidator swig_types[119]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__StdInInputSource swig_types[120]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__StdOutFormatTarget swig_types[121]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__URLInputSource swig_types[122]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4DOMLSInput swig_types[123]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource swig_types[124]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLAttDef swig_types[125]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLAttDefList swig_types[126]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLContentModel swig_types[127]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLDTDDescription swig_types[128]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLDeleter swig_types[129]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLDocumentHandler swig_types[130]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLElementDecl swig_types[131]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLEntityDecl swig_types[132]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLEntityResolver swig_types[133]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLEnumeratorTXERCES_CPP_NAMESPACE__DTDElementDecl_t swig_types[134]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLEnumeratorTXERCES_CPP_NAMESPACE__DTDEntityDecl_t swig_types[135]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLEnumeratorTXERCES_CPP_NAMESPACE__SchemaElementDecl_t swig_types[136]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLException swig_types[137]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLExcepts swig_types[138]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLFormatTarget swig_types[139]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLFormatter swig_types[140]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLGrammarDescription swig_types[141]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLGrammarPool swig_types[142]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLNotationDecl swig_types[143]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLPScanToken swig_types[144]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLPlatformUtils swig_types[145]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLReaderFactory swig_types[146]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLSchemaDescription swig_types[147]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLURL swig_types[148]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLUni swig_types[149]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLUri swig_types[150]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLValidator swig_types[151]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMemory swig_types[152]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XSAnnotation swig_types[153]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser swig_types[154]
-#define SWIGTYPE_p_XMLAtomicOpMgr swig_types[155]
-#define SWIGTYPE_p_XMLBuffer swig_types[156]
-#define SWIGTYPE_p_XMLErrorReporter swig_types[157]
-#define SWIGTYPE_p_XMLErrorReporter__ErrTypes swig_types[158]
-#define SWIGTYPE_p_XMLFileMgr swig_types[159]
-#define SWIGTYPE_p_XMLMutexMgr swig_types[160]
-#define SWIGTYPE_p_XSerializeEngine swig_types[161]
-#define SWIGTYPE_p_a_8__uint16_t swig_types[162]
-#define SWIGTYPE_p_bool swig_types[163]
-#define SWIGTYPE_p_char swig_types[164]
-#define SWIGTYPE_p_int swig_types[165]
-#define SWIGTYPE_p_int32_t swig_types[166]
-#define SWIGTYPE_p_p_void swig_types[167]
-#define SWIGTYPE_p_size_t swig_types[168]
-#define SWIGTYPE_p_ssize_t swig_types[169]
-#define SWIGTYPE_p_uint16_t swig_types[170]
-#define SWIGTYPE_p_uint32_t swig_types[171]
-#define SWIGTYPE_p_unsigned_char swig_types[172]
-#define SWIGTYPE_p_void swig_types[173]
-static swig_type_info *swig_types[175];
-static swig_module_info swig_module = {swig_types, 174, 0, 0, 0, 0};
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMPSVITypeInfo swig_types[67]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMProcessingInstruction swig_types[68]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange swig_types[69]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRangeException swig_types[70]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMStringList swig_types[71]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMText swig_types[72]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker swig_types[73]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTypeInfo swig_types[74]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMUserDataHandler swig_types[75]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathEvaluator swig_types[76]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathException swig_types[77]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathExpression swig_types[78]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathNSResolver swig_types[79]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathNamespace swig_types[80]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathResult swig_types[81]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DTDAttDef swig_types[82]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DTDAttDefList swig_types[83]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DTDElementDecl swig_types[84]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DTDEntityDecl swig_types[85]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DTDGrammar swig_types[86]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DTDHandler swig_types[87]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DTDValidator swig_types[88]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DatatypeValidator swig_types[89]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DeclHandler swig_types[90]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DefaultHandler swig_types[91]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DocumentHandler swig_types[92]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__EntityResolver swig_types[93]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__ErrorHandler swig_types[94]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__Grammar swig_types[95]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__GrammarResolver swig_types[96]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__HandlerBase swig_types[97]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__InputSource swig_types[98]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__LexicalHandler swig_types[99]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__LocalFileFormatTarget swig_types[100]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__LocalFileInputSource swig_types[101]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__Locator swig_types[102]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemBufFormatTarget swig_types[103]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemBufInputSource swig_types[104]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemoryManager swig_types[105]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__NameIdPoolEnumeratorTXERCES_CPP_NAMESPACE__DTDElementDecl_t swig_types[106]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__NameIdPoolEnumeratorTXERCES_CPP_NAMESPACE__DTDEntityDecl_t swig_types[107]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__NameIdPoolEnumeratorTXERCES_CPP_NAMESPACE__XMLNotationDecl_t swig_types[108]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__NameIdPoolTXERCES_CPP_NAMESPACE__DTDElementDecl_t swig_types[109]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__NameIdPoolTXERCES_CPP_NAMESPACE__DTDEntityDecl_t swig_types[110]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__NamespaceScope swig_types[111]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__PSVIHandler swig_types[112]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__Parser swig_types[113]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__QName swig_types[114]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__RefHash3KeysIdPoolEnumeratorTXERCES_CPP_NAMESPACE__SchemaElementDecl_t swig_types[115]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__RefHash3KeysIdPoolTXERCES_CPP_NAMESPACE__SchemaElementDecl_t swig_types[116]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SAX2XMLReader swig_types[117]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SAXException swig_types[118]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SAXNotRecognizedException swig_types[119]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SAXNotSupportedException swig_types[120]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SAXParseException swig_types[121]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SAXParser swig_types[122]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SchemaAttDef swig_types[123]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SchemaAttDefList swig_types[124]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SchemaElementDecl swig_types[125]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SchemaGrammar swig_types[126]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SchemaValidator swig_types[127]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__StdInInputSource swig_types[128]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__StdOutFormatTarget swig_types[129]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__URLInputSource swig_types[130]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4DOMLSInput swig_types[131]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource swig_types[132]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLAttDef swig_types[133]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLAttDefList swig_types[134]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLContentModel swig_types[135]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLDTDDescription swig_types[136]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLDeleter swig_types[137]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLDocumentHandler swig_types[138]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLElementDecl swig_types[139]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLEntityDecl swig_types[140]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLEntityResolver swig_types[141]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLEnumeratorTXERCES_CPP_NAMESPACE__DTDElementDecl_t swig_types[142]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLEnumeratorTXERCES_CPP_NAMESPACE__DTDEntityDecl_t swig_types[143]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLEnumeratorTXERCES_CPP_NAMESPACE__SchemaElementDecl_t swig_types[144]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLException swig_types[145]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLExcepts swig_types[146]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLFormatTarget swig_types[147]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLFormatter swig_types[148]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLGrammarDescription swig_types[149]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLGrammarPool swig_types[150]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLNotationDecl swig_types[151]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLPScanToken swig_types[152]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLPlatformUtils swig_types[153]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLReaderFactory swig_types[154]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLSchemaDescription swig_types[155]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLURL swig_types[156]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLUni swig_types[157]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLUri swig_types[158]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLValidator swig_types[159]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMemory swig_types[160]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XSAnnotation swig_types[161]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser swig_types[162]
+#define SWIGTYPE_p_XMLAtomicOpMgr swig_types[163]
+#define SWIGTYPE_p_XMLBuffer swig_types[164]
+#define SWIGTYPE_p_XMLErrorReporter swig_types[165]
+#define SWIGTYPE_p_XMLErrorReporter__ErrTypes swig_types[166]
+#define SWIGTYPE_p_XMLFileMgr swig_types[167]
+#define SWIGTYPE_p_XMLMutexMgr swig_types[168]
+#define SWIGTYPE_p_XSerializeEngine swig_types[169]
+#define SWIGTYPE_p_bool swig_types[170]
+#define SWIGTYPE_p_char swig_types[171]
+#define SWIGTYPE_p_int swig_types[172]
+#define SWIGTYPE_p_int32_t swig_types[173]
+#define SWIGTYPE_p_p_void swig_types[174]
+#define SWIGTYPE_p_size_t swig_types[175]
+#define SWIGTYPE_p_ssize_t swig_types[176]
+#define SWIGTYPE_p_uint16_t swig_types[177]
+#define SWIGTYPE_p_uint32_t swig_types[178]
+#define SWIGTYPE_p_unsigned_char swig_types[179]
+#define SWIGTYPE_p_void swig_types[180]
+static swig_type_info *swig_types[182];
+static swig_module_info swig_module = {swig_types, 181, 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)
 
@@ -1590,7 +1632,8 @@ static swig_module_info swig_module = {swig_types, 174, 0, 0, 0, 0};
 #define SWIG_name   "XML::Xercesc::boot_XML__Xerces"
 #define SWIG_prefix "XML::Xercesc::"
 
-#define SWIGVERSION 0x010329 
+#define SWIGVERSION 0x010330 
+#define SWIG_VERSION SWIGVERSION
 
 
 #define SWIG_as_voidptr(a) const_cast< void * >(static_cast< const void * >(a)) 
@@ -1632,10 +1675,7 @@ SWIGEXPORT void SWIG_init (CV *cv, CPerlObj *);
 #include "xercesc/util/QName.hpp"
 #include "xercesc/util/HexBin.hpp"
 #include "xercesc/util/Base64.hpp"
-#include "xercesc/parsers/AbstractDOMParser.hpp"
-#include "xercesc/parsers/XercesDOMParser.hpp"
 #include "xercesc/parsers/SAXParser.hpp"
-#include "xercesc/dom/DOM.hpp"
 #include "xercesc/framework/LocalFileInputSource.hpp"
 #include "xercesc/framework/MemBufInputSource.hpp"
 #include "xercesc/framework/StdInInputSource.hpp"
@@ -1659,8 +1699,6 @@ SWIGEXPORT void SWIG_init (CV *cv, CPerlObj *);
 #include "xercesc/framework/MemBufFormatTarget.hpp"
 #include "xercesc/framework/LocalFileFormatTarget.hpp"
 #include "xercesc/framework/StdOutFormatTarget.hpp"
-#include "xercesc/framework/Wrapper4InputSource.hpp"
-#include "xercesc/framework/Wrapper4DOMLSInput.hpp"
 #include "xercesc/framework/psvi/PSVIHandler.hpp"
 
 // for resolving XMLExceptions
@@ -1685,6 +1723,18 @@ SWIGEXPORT void SWIG_init (CV *cv, CPerlObj *);
 #include "xercesc/validators/datatype/InvalidDatatypeValueException.hpp"
 #include "xercesc/validators/schema/identity/XPathException.hpp"
 
+//
+// DOM stuff - wants to be moved to seperate module
+//
+#include "xercesc/dom/DOM.hpp"
+#include "xercesc/framework/Wrapper4InputSource.hpp"
+#include "xercesc/framework/Wrapper4DOMLSInput.hpp"
+#include "xercesc/parsers/AbstractDOMParser.hpp"
+#include "xercesc/parsers/XercesDOMParser.hpp"
+
+// need this for PerlNodeFilterCallbackHandler
+// #include "xercesc/dom/DOMNode.hpp"
+
 XERCES_CPP_NAMESPACE_USE
 
 // we initialize the static UTF-8 transcoding info
@@ -1956,7 +2006,7 @@ SWIG_AsVal_double SWIG_PERL_DECL_ARGS_2(SV *obj, double *val)
       } else {
 	if (*endptr == '\0') {
 	  if (val) *val = v;
-	  return SWIG_AddCast(SWIG_OK);
+	  return SWIG_Str2NumCast(SWIG_OK);
 	}
       }
     }
@@ -2134,12 +2184,6 @@ makeXMLException(const XMLException& e){
     SWIG_MakePtr(error, (void *) copyXMLException(e), SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLException, SWIG_SHADOW|0);
 }
 
-void
-makeDOMException(const DOMException& e){
-    SV *error = ERRSV;
-    SWIG_MakePtr(error, (void *) new DOMException(e), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMException, SWIG_SHADOW|0);
-}
-
 void
 makeSAXNotRecognizedException(const SAXNotRecognizedException& e){
     SV *error = ERRSV;
@@ -2152,6 +2196,12 @@ makeSAXNotSupportedException(const SAXNotSupportedException& e){
     SWIG_MakePtr(error, (void *) new SAXNotSupportedException(e), SWIGTYPE_p_XERCES_CPP_NAMESPACE__SAXNotSupportedException, SWIG_SHADOW|0);
 }
 
+void
+makeDOMException(const DOMException& e){
+    SV *error = ERRSV;
+    SWIG_MakePtr(error, (void *) new DOMException(e), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMException, SWIG_SHADOW|0);
+}
+
 
 
 static swig_type_info *
@@ -2218,37 +2268,6 @@ DOMNode_dynamic_cast(void **ptr) {
 }
 
 
-
-static swig_type_info *
-PerlCallbackHandler_dynamic_cast(void **ptr) {
-   PerlCallbackHandler **nptr = (PerlCallbackHandler **) ptr;
-   if (*nptr == NULL) {
-       return NULL;
-   }
-   short int type = (*nptr)->type();
-   if (type == PERLCALLBACKHANDLER_BASE_TYPE) {
-      die("Can't cast a PerlCallbackHandler base type node\n");
-   }
-   if (type == PERLCALLBACKHANDLER_ERROR_TYPE) {
-      return SWIGTYPE_p_PerlErrorCallbackHandler;
-   }
-   if (type == PERLCALLBACKHANDLER_ENTITY_TYPE) {
-      return SWIGTYPE_p_PerlEntityResolverHandler;
-   }
-   if (type == PERLCALLBACKHANDLER_CONTENT_TYPE) {
-      return SWIGTYPE_p_PerlContentCallbackHandler;
-   }
-   if (type == PERLCALLBACKHANDLER_DOCUMENT_TYPE) {
-      return SWIGTYPE_p_PerlDocumentCallbackHandler;
-   }
-   if (type == PERLCALLBACKHANDLER_NODE_TYPE) {
-      return SWIGTYPE_p_PerlNodeFilterCallbackHandler;
-   }
-   return NULL;
-}
-
-
-
 #define CATCH_XML_EXCEPTION       \
     catch (const XMLException& e) \
     {                             \
@@ -2263,7 +2282,7 @@ PerlCallbackHandler_dynamic_cast(void **ptr) {
 
 
 SWIGINTERN swig_type_info*
-SWIG_pchar_descriptor()
+SWIG_pchar_descriptor(void)
 {
   static int init = 0;
   static swig_type_info* info = 0;
@@ -2375,7 +2394,7 @@ SWIG_AsVal_long SWIG_PERL_DECL_ARGS_2(SV *obj, long* val)
       } else {
 	if (*endptr == '\0') {
 	  if (val) *val = v;
-	  return SWIG_AddCast(SWIG_OK);
+	  return SWIG_Str2NumCast(SWIG_OK);
 	}
       }
     }
@@ -2412,8 +2431,8 @@ SWIGINTERNINLINE SV *
 SWIG_FromCharPtrAndSize(const char* carray, size_t size)
 {
   SV *obj = sv_newmortal();
-  if (size && carray) {
-    if (carray[size - 1] == 0) {
+  if (carray) {
+    if (size && (carray[size - 1] == 0)) {
       sv_setpv(obj, carray);
     } else {
       char *tmp = (new char[size + 1]);
@@ -2462,7 +2481,7 @@ SWIG_AsVal_unsigned_SS_long SWIG_PERL_DECL_ARGS_2(SV *obj, unsigned long *val)
       } else {
 	if (*endptr == '\0') {
 	  if (val) *val = v;
-	  return SWIG_AddCast(SWIG_OK);
+	  return SWIG_Str2NumCast(SWIG_OK);
 	}
       }
     }
@@ -2575,6 +2594,15 @@ SWIG_AsVal_unsigned_SS_short SWIG_PERL_DECL_ARGS_2(SV * obj, unsigned short *val
 }
 
 
+SWIGINTERNINLINE SV *
+SWIG_From_double  SWIG_PERL_DECL_ARGS_1(double value)
+{    
+  SV *obj = sv_newmortal();
+  sv_setnv(obj, value);
+  return obj;
+}
+
+
 #define CATCH_SAX_EXCEPTION                           \
     catch (const XMLException& e)                     \
         {                                             \
@@ -4919,7 +4947,15 @@ SWIGCLASS_STATIC int _wrap_XMLUni_fgLangPattern_get(pTHX_ SV *sv, MAGIC *SWIGUNU
 
 SWIGCLASS_STATIC int _wrap_XMLUni_fgBooleanValueSpace_get(pTHX_ SV *sv, MAGIC *SWIGUNUSEDPARM(mg)) {
   MAGIC_PPERL
-  sv_setiv(SvRV(sv),PTR2IV(XERCES_CPP_NAMESPACE::XMLUni::fgBooleanValueSpace));
+  
+  AV *myav = newAV();
+  for (int i=0;i<4;i++) {
+    av_push(myav, XMLString2Perl(XERCES_CPP_NAMESPACE::XMLUni::fgBooleanValueSpace[i]));
+  }
+  
+  SV* rv = newRV((SV*)myav);
+  sv_setsv((SV*)sv, rv);
+  
   return 1;
 }
 
@@ -5033,12 +5069,12 @@ XS(_wrap_XMLPlatformUtils_Initialize__SWIG_0) {
     if (!SWIG_IsOK(res1)) {
       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XMLPlatformUtils_Initialize" "', argument " "1"" of type '" "char const *const""'");
     }
-    arg1 = buf1;
+    arg1 = reinterpret_cast< char * >(buf1);
     res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
     if (!SWIG_IsOK(res2)) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "XMLPlatformUtils_Initialize" "', argument " "2"" of type '" "char const *const""'");
     }
-    arg2 = buf2;
+    arg2 = reinterpret_cast< char * >(buf2);
     res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_PanicHandler, 0 |  0 );
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "XMLPlatformUtils_Initialize" "', argument " "3"" of type '" "PanicHandler *const""'"); 
@@ -5099,12 +5135,12 @@ XS(_wrap_XMLPlatformUtils_Initialize__SWIG_1) {
     if (!SWIG_IsOK(res1)) {
       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XMLPlatformUtils_Initialize" "', argument " "1"" of type '" "char const *const""'");
     }
-    arg1 = buf1;
+    arg1 = reinterpret_cast< char * >(buf1);
     res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
     if (!SWIG_IsOK(res2)) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "XMLPlatformUtils_Initialize" "', argument " "2"" of type '" "char const *const""'");
     }
-    arg2 = buf2;
+    arg2 = reinterpret_cast< char * >(buf2);
     {
       try 
       {
@@ -5140,7 +5176,7 @@ XS(_wrap_XMLPlatformUtils_Initialize__SWIG_2) {
     if (!SWIG_IsOK(res1)) {
       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XMLPlatformUtils_Initialize" "', argument " "1"" of type '" "char const *const""'");
     }
-    arg1 = buf1;
+    arg1 = reinterpret_cast< char * >(buf1);
     {
       try 
       {
@@ -8882,7 +8918,7 @@ XS(_wrap_XMLException_getSrcFile) {
       } 
       CATCH_XML_EXCEPTION
     }
-    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
+    ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
     
     XSRETURN(argvi);
   fail:
@@ -8987,7 +9023,7 @@ XS(_wrap_XMLException_setPosition) {
     if (!SWIG_IsOK(res2)) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "XMLException_setPosition" "', argument " "2"" of type '" "char const *const""'");
     }
-    arg2 = buf2;
+    arg2 = reinterpret_cast< char * >(buf2);
     ecode3 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
     if (!SWIG_IsOK(ecode3)) {
       SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "XMLException_setPosition" "', argument " "3"" of type '" "unsigned int""'");
@@ -31325,7 +31361,7 @@ XS(_wrap_DOMAttr_getSchemaTypeInfo) {
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTypeInfo, 0 | 0); argvi++ ;
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTypeInfo, 0 | SWIG_SHADOW); argvi++ ;
     
     XSRETURN(argvi);
   fail:
@@ -32479,7 +32515,7 @@ XS(_wrap_DOMElement_getSchemaTypeInfo) {
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTypeInfo, 0 | 0); argvi++ ;
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTypeInfo, 0 | SWIG_SHADOW); argvi++ ;
     
     XSRETURN(argvi);
   fail:
@@ -34614,22 +34650,22 @@ XS(_wrap_DOMProcessingInstruction_setData) {
 }
 
 
-XS(_wrap_delete_DOMDocumentRange) {
+XS(_wrap_delete_DOMTypeInfo) {
   {
-    XERCES_CPP_NAMESPACE::DOMDocumentRange *arg1 = (XERCES_CPP_NAMESPACE::DOMDocumentRange *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMTypeInfo *arg1 = (XERCES_CPP_NAMESPACE::DOMTypeInfo *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: delete_DOMDocumentRange(self);");
+      SWIG_croak("Usage: delete_DOMTypeInfo(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentRange, SWIG_POINTER_DISOWN |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTypeInfo, SWIG_POINTER_DISOWN |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMDocumentRange" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocumentRange *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMTypeInfo" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMTypeInfo *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocumentRange * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMTypeInfo * >(argp1);
     {
       try 
       {
@@ -34648,64 +34684,33 @@ XS(_wrap_delete_DOMDocumentRange) {
 }
 
 
-XS(_wrap_DOMDocumentRange_createRange) {
+XS(_wrap_DOMTypeInfo_getTypeName) {
   {
-    XERCES_CPP_NAMESPACE::DOMDocumentRange *arg1 = (XERCES_CPP_NAMESPACE::DOMDocumentRange *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMRange *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMTypeInfo *arg1 = (XERCES_CPP_NAMESPACE::DOMTypeInfo *) 0 ;
+    XMLCh *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMDocumentRange_createRange(self);");
+      SWIG_croak("Usage: DOMTypeInfo_getTypeName(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentRange, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTypeInfo, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocumentRange_createRange" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocumentRange *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMTypeInfo_getTypeName" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMTypeInfo const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocumentRange * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMTypeInfo * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMRange *)(arg1)->createRange();
+        result = (XMLCh *)((XERCES_CPP_NAMESPACE::DOMTypeInfo const *)arg1)->getTypeName();
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 | SWIG_SHADOW); argvi++ ;
-    
-    XSRETURN(argvi);
-  fail:
-    
-    SWIG_croak_null();
-  }
-}
-
-
-XS(_wrap_delete_DOMDocumentTraversal) {
-  {
-    XERCES_CPP_NAMESPACE::DOMDocumentTraversal *arg1 = (XERCES_CPP_NAMESPACE::DOMDocumentTraversal *) 0 ;
-    void *argp1 = 0 ;
-    int res1 = 0 ;
-    int argvi = 0;
-    dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: delete_DOMDocumentTraversal(self);");
-    }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentTraversal, SWIG_POINTER_DISOWN |  0 );
-    if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMDocumentTraversal" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocumentTraversal *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocumentTraversal * >(argp1);
-    {
-      try 
-      {
-        delete arg1;
-        
-      } 
-      CATCH_DOM_EXCEPTION
-    }
+    ST(argvi) = XMLString2Perl(result);
+    ++argvi;
     
     
     XSRETURN(argvi);
@@ -34716,147 +34721,112 @@ XS(_wrap_delete_DOMDocumentTraversal) {
 }
 
 
-XS(_wrap_DOMDocumentTraversal_createNodeIterator) {
+XS(_wrap_DOMTypeInfo_getTypeNamespace) {
   {
-    XERCES_CPP_NAMESPACE::DOMDocumentTraversal *arg1 = (XERCES_CPP_NAMESPACE::DOMDocumentTraversal *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMNode *arg2 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
-    unsigned long arg3 ;
-    XERCES_CPP_NAMESPACE::DOMNodeFilter *arg4 = (XERCES_CPP_NAMESPACE::DOMNodeFilter *) 0 ;
-    bool arg5 ;
-    XERCES_CPP_NAMESPACE::DOMNodeIterator *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMTypeInfo *arg1 = (XERCES_CPP_NAMESPACE::DOMTypeInfo *) 0 ;
+    XMLCh *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    void *argp2 = 0 ;
-    int res2 = 0 ;
-    unsigned long val3 ;
-    int ecode3 = 0 ;
-    void *argp4 = 0 ;
-    int res4 = 0 ;
-    bool val5 ;
-    int ecode5 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 5) || (items > 5)) {
-      SWIG_croak("Usage: DOMDocumentTraversal_createNodeIterator(self,root,whatToShow,filter,entityReferenceExpansion);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMTypeInfo_getTypeNamespace(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentTraversal, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTypeInfo, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocumentTraversal_createNodeIterator" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocumentTraversal *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocumentTraversal * >(argp1);
-    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
-    if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMDocumentTraversal_createNodeIterator" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMNode *""'"); 
-    }
-    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp2);
-    ecode3 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
-    if (!SWIG_IsOK(ecode3)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "DOMDocumentTraversal_createNodeIterator" "', argument " "3"" of type '" "unsigned long""'");
-    } 
-    arg3 = static_cast< unsigned long >(val3);
-    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeFilter, 0 |  0 );
-    if (!SWIG_IsOK(res4)) {
-      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "DOMDocumentTraversal_createNodeIterator" "', argument " "4"" of type '" "XERCES_CPP_NAMESPACE::DOMNodeFilter *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMTypeInfo_getTypeNamespace" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMTypeInfo const *""'"); 
     }
-    arg4 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNodeFilter * >(argp4);
-    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
-    if (!SWIG_IsOK(ecode5)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "DOMDocumentTraversal_createNodeIterator" "', argument " "5"" of type '" "bool""'");
-    } 
-    arg5 = static_cast< bool >(val5);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMTypeInfo * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMNodeIterator *)(arg1)->createNodeIterator(arg2,arg3,arg4,arg5);
+        result = (XMLCh *)((XERCES_CPP_NAMESPACE::DOMTypeInfo const *)arg1)->getTypeNamespace();
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeIterator, 0 | SWIG_SHADOW); argvi++ ;
-    
-    
     
+    ST(argvi) = XMLString2Perl(result);
+    ++argvi;
     
     
     XSRETURN(argvi);
   fail:
     
-    
-    
-    
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMDocumentTraversal_createTreeWalker) {
+XS(_wrap_DOMTypeInfo_isDerivedFrom) {
   {
-    XERCES_CPP_NAMESPACE::DOMDocumentTraversal *arg1 = (XERCES_CPP_NAMESPACE::DOMDocumentTraversal *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMNode *arg2 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
-    unsigned long arg3 ;
-    XERCES_CPP_NAMESPACE::DOMNodeFilter *arg4 = (XERCES_CPP_NAMESPACE::DOMNodeFilter *) 0 ;
-    bool arg5 ;
-    XERCES_CPP_NAMESPACE::DOMTreeWalker *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMTypeInfo *arg1 = (XERCES_CPP_NAMESPACE::DOMTypeInfo *) 0 ;
+    XMLCh *arg2 = (XMLCh *) 0 ;
+    XMLCh *arg3 = (XMLCh *) 0 ;
+    unsigned long arg4 ;
+    bool result;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    void *argp2 = 0 ;
-    int res2 = 0 ;
-    unsigned long val3 ;
-    int ecode3 = 0 ;
-    void *argp4 = 0 ;
-    int res4 = 0 ;
-    bool val5 ;
-    int ecode5 = 0 ;
+    unsigned long val4 ;
+    int ecode4 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 5) || (items > 5)) {
-      SWIG_croak("Usage: DOMDocumentTraversal_createTreeWalker(self,root,whatToShow,filter,entityReferenceExpansion);");
+    if ((items < 4) || (items > 4)) {
+      SWIG_croak("Usage: DOMTypeInfo_isDerivedFrom(self,typeNamespaceArg,typeNameArg,derivationMethod);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentTraversal, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTypeInfo, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocumentTraversal_createTreeWalker" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocumentTraversal *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMTypeInfo_isDerivedFrom" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMTypeInfo const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocumentTraversal * >(argp1);
-    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
-    if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMDocumentTraversal_createTreeWalker" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMNode *""'"); 
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMTypeInfo * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"DOMTypeInfo_isDerivedFrom");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
     }
-    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp2);
-    ecode3 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
-    if (!SWIG_IsOK(ecode3)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "DOMDocumentTraversal_createTreeWalker" "', argument " "3"" of type '" "unsigned long""'");
-    } 
-    arg3 = static_cast< unsigned long >(val3);
-    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeFilter, 0 |  0 );
-    if (!SWIG_IsOK(res4)) {
-      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "DOMDocumentTraversal_createTreeWalker" "', argument " "4"" of type '" "XERCES_CPP_NAMESPACE::DOMNodeFilter *""'"); 
+    
+    
+    if (ST(2) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",3,"DOMTypeInfo_isDerivedFrom");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg3 = Perl2XMLString(ST(2));
     }
-    arg4 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNodeFilter * >(argp4);
-    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
-    if (!SWIG_IsOK(ecode5)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "DOMDocumentTraversal_createTreeWalker" "', argument " "5"" of type '" "bool""'");
+    
+    ecode4 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
+    if (!SWIG_IsOK(ecode4)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "DOMTypeInfo_isDerivedFrom" "', argument " "4"" of type '" "unsigned long""'");
     } 
-    arg5 = static_cast< bool >(val5);
+    arg4 = static_cast< unsigned long >(val4);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMTreeWalker *)(arg1)->createTreeWalker(arg2,arg3,arg4,arg5);
+        result = (bool)((XERCES_CPP_NAMESPACE::DOMTypeInfo const *)arg1)->isDerivedFrom((XMLCh const *)arg2,(XMLCh const *)arg3,arg4);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker, 0 | SWIG_SHADOW); argvi++ ;
+    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
     
     
+    delete[] arg2;
+    
     
+    delete[] arg3;
     
     
     XSRETURN(argvi);
   fail:
     
     
+    delete[] arg2;
+    
     
+    delete[] arg3;
     
     
     SWIG_croak_null();
@@ -34864,22 +34834,22 @@ XS(_wrap_DOMDocumentTraversal_createTreeWalker) {
 }
 
 
-XS(_wrap_delete_DOMNodeIterator) {
+XS(_wrap_delete_DOMPSVITypeInfo) {
   {
-    XERCES_CPP_NAMESPACE::DOMNodeIterator *arg1 = (XERCES_CPP_NAMESPACE::DOMNodeIterator *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMPSVITypeInfo *arg1 = (XERCES_CPP_NAMESPACE::DOMPSVITypeInfo *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: delete_DOMNodeIterator(self);");
+      SWIG_croak("Usage: delete_DOMPSVITypeInfo(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeIterator, SWIG_POINTER_DISOWN |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMPSVITypeInfo, SWIG_POINTER_DISOWN |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMNodeIterator" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMNodeIterator *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMPSVITypeInfo" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMPSVITypeInfo *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNodeIterator * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMPSVITypeInfo * >(argp1);
     {
       try 
       {
@@ -34898,99 +34868,122 @@ XS(_wrap_delete_DOMNodeIterator) {
 }
 
 
-XS(_wrap_DOMNodeIterator_getRoot) {
+XS(_wrap_DOMPSVITypeInfo_getStringProperty) {
   {
-    XERCES_CPP_NAMESPACE::DOMNodeIterator *arg1 = (XERCES_CPP_NAMESPACE::DOMNodeIterator *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMPSVITypeInfo *arg1 = (XERCES_CPP_NAMESPACE::DOMPSVITypeInfo *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMPSVITypeInfo::PSVIProperty arg2 ;
+    XMLCh *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
+    int val2 ;
+    int ecode2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMNodeIterator_getRoot(self);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMPSVITypeInfo_getStringProperty(self,prop);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeIterator, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMPSVITypeInfo, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMNodeIterator_getRoot" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMNodeIterator *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMPSVITypeInfo_getStringProperty" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMPSVITypeInfo const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNodeIterator * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMPSVITypeInfo * >(argp1);
+    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
+    if (!SWIG_IsOK(ecode2)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DOMPSVITypeInfo_getStringProperty" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMPSVITypeInfo::PSVIProperty""'");
+    } 
+    arg2 = static_cast< XERCES_CPP_NAMESPACE::DOMPSVITypeInfo::PSVIProperty >(val2);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMNode *)(arg1)->getRoot();
+        result = (XMLCh *)((XERCES_CPP_NAMESPACE::DOMPSVITypeInfo const *)arg1)->getStringProperty(arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
+    
+    ST(argvi) = XMLString2Perl(result);
+    ++argvi;
+    
+    
     
     XSRETURN(argvi);
   fail:
     
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMNodeIterator_getWhatToShow) {
+XS(_wrap_DOMPSVITypeInfo_getNumericProperty) {
   {
-    XERCES_CPP_NAMESPACE::DOMNodeIterator *arg1 = (XERCES_CPP_NAMESPACE::DOMNodeIterator *) 0 ;
-    unsigned long result;
+    XERCES_CPP_NAMESPACE::DOMPSVITypeInfo *arg1 = (XERCES_CPP_NAMESPACE::DOMPSVITypeInfo *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMPSVITypeInfo::PSVIProperty arg2 ;
+    int result;
     void *argp1 = 0 ;
     int res1 = 0 ;
+    int val2 ;
+    int ecode2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMNodeIterator_getWhatToShow(self);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMPSVITypeInfo_getNumericProperty(self,prop);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeIterator, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMPSVITypeInfo, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMNodeIterator_getWhatToShow" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMNodeIterator *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMPSVITypeInfo_getNumericProperty" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMPSVITypeInfo const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNodeIterator * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMPSVITypeInfo * >(argp1);
+    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
+    if (!SWIG_IsOK(ecode2)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DOMPSVITypeInfo_getNumericProperty" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMPSVITypeInfo::PSVIProperty""'");
+    } 
+    arg2 = static_cast< XERCES_CPP_NAMESPACE::DOMPSVITypeInfo::PSVIProperty >(val2);
     {
       try 
       {
-        result = (unsigned long)(arg1)->getWhatToShow();
+        result = (int)((XERCES_CPP_NAMESPACE::DOMPSVITypeInfo const *)arg1)->getNumericProperty(arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
+    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
+    
     
     XSRETURN(argvi);
   fail:
     
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMNodeIterator_getFilter) {
+XS(_wrap_delete_DOMXPathEvaluator) {
   {
-    XERCES_CPP_NAMESPACE::DOMNodeIterator *arg1 = (XERCES_CPP_NAMESPACE::DOMNodeIterator *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMNodeFilter *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMXPathEvaluator *arg1 = (XERCES_CPP_NAMESPACE::DOMXPathEvaluator *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMNodeIterator_getFilter(self);");
+      SWIG_croak("Usage: delete_DOMXPathEvaluator(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeIterator, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathEvaluator, SWIG_POINTER_DISOWN |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMNodeIterator_getFilter" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMNodeIterator *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMXPathEvaluator" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMXPathEvaluator *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNodeIterator * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMXPathEvaluator * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMNodeFilter *)(arg1)->getFilter();
+        delete arg1;
+        
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeFilter, 0 | SWIG_SHADOW); argvi++ ;
+    
     
     XSRETURN(argvi);
   fail:
@@ -35000,311 +34993,418 @@ XS(_wrap_DOMNodeIterator_getFilter) {
 }
 
 
-XS(_wrap_DOMNodeIterator_getExpandEntityReferences) {
+XS(_wrap_DOMXPathEvaluator_createExpression) {
   {
-    XERCES_CPP_NAMESPACE::DOMNodeIterator *arg1 = (XERCES_CPP_NAMESPACE::DOMNodeIterator *) 0 ;
-    bool result;
+    XERCES_CPP_NAMESPACE::DOMXPathEvaluator *arg1 = (XERCES_CPP_NAMESPACE::DOMXPathEvaluator *) 0 ;
+    XMLCh *arg2 = (XMLCh *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMXPathNSResolver *arg3 = (XERCES_CPP_NAMESPACE::DOMXPathNSResolver *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMXPathExpression *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
+    void *argp3 = 0 ;
+    int res3 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMNodeIterator_getExpandEntityReferences(self);");
+    if ((items < 3) || (items > 3)) {
+      SWIG_croak("Usage: DOMXPathEvaluator_createExpression(self,expression,resolver);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeIterator, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathEvaluator, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMNodeIterator_getExpandEntityReferences" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMNodeIterator *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMXPathEvaluator_createExpression" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMXPathEvaluator *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNodeIterator * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMXPathEvaluator * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"DOMXPathEvaluator_createExpression");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
+    
+    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathNSResolver, 0 |  0 );
+    if (!SWIG_IsOK(res3)) {
+      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "DOMXPathEvaluator_createExpression" "', argument " "3"" of type '" "XERCES_CPP_NAMESPACE::DOMXPathNSResolver const *""'"); 
+    }
+    arg3 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMXPathNSResolver * >(argp3);
     {
       try 
       {
-        result = (bool)(arg1)->getExpandEntityReferences();
+        result = (XERCES_CPP_NAMESPACE::DOMXPathExpression *)(arg1)->createExpression((XMLCh const *)arg2,(XERCES_CPP_NAMESPACE::DOMXPathNSResolver const *)arg3);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathExpression, 0 | SWIG_SHADOW); argvi++ ;
+    
+    
+    delete[] arg2;
+    
     
     XSRETURN(argvi);
   fail:
     
+    
+    delete[] arg2;
+    
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMNodeIterator_nextNode) {
+XS(_wrap_DOMXPathEvaluator_createNSResolver) {
   {
-    XERCES_CPP_NAMESPACE::DOMNodeIterator *arg1 = (XERCES_CPP_NAMESPACE::DOMNodeIterator *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMXPathEvaluator *arg1 = (XERCES_CPP_NAMESPACE::DOMXPathEvaluator *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *arg2 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMXPathNSResolver *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
+    void *argp2 = 0 ;
+    int res2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMNodeIterator_nextNode(self);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMXPathEvaluator_createNSResolver(self,nodeResolver);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeIterator, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathEvaluator, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMNodeIterator_nextNode" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMNodeIterator *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMXPathEvaluator_createNSResolver" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMXPathEvaluator *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNodeIterator * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMXPathEvaluator * >(argp1);
+    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMXPathEvaluator_createNSResolver" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMNode *""'"); 
+    }
+    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp2);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMNode *)(arg1)->nextNode();
+        result = (XERCES_CPP_NAMESPACE::DOMXPathNSResolver *)(arg1)->createNSResolver(arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathNSResolver, 0 | SWIG_SHADOW); argvi++ ;
+    
     
     XSRETURN(argvi);
   fail:
     
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMNodeIterator_previousNode) {
+XS(_wrap_DOMXPathEvaluator_evaluate) {
   {
-    XERCES_CPP_NAMESPACE::DOMNodeIterator *arg1 = (XERCES_CPP_NAMESPACE::DOMNodeIterator *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMXPathEvaluator *arg1 = (XERCES_CPP_NAMESPACE::DOMXPathEvaluator *) 0 ;
+    XMLCh *arg2 = (XMLCh *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *arg3 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMXPathNSResolver *arg4 = (XERCES_CPP_NAMESPACE::DOMXPathNSResolver *) 0 ;
+    unsigned short arg5 ;
+    void *arg6 = (void *) 0 ;
+    void *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
+    void *argp3 = 0 ;
+    int res3 = 0 ;
+    void *argp4 = 0 ;
+    int res4 = 0 ;
+    unsigned short val5 ;
+    int ecode5 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMNodeIterator_previousNode(self);");
+    if ((items < 6) || (items > 6)) {
+      SWIG_croak("Usage: DOMXPathEvaluator_evaluate(self,expression,contextNode,resolver,type,result);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeIterator, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathEvaluator, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMNodeIterator_previousNode" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMNodeIterator *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNodeIterator * >(argp1);
-    {
-      try 
-      {
-        result = (XERCES_CPP_NAMESPACE::DOMNode *)(arg1)->previousNode();
-      } 
-      CATCH_DOM_EXCEPTION
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMXPathEvaluator_evaluate" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMXPathEvaluator *""'"); 
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
-    
-    XSRETURN(argvi);
-  fail:
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMXPathEvaluator * >(argp1);
     
-    SWIG_croak_null();
-  }
-}
-
-
-XS(_wrap_DOMNodeIterator_detach) {
-  {
-    XERCES_CPP_NAMESPACE::DOMNodeIterator *arg1 = (XERCES_CPP_NAMESPACE::DOMNodeIterator *) 0 ;
-    void *argp1 = 0 ;
-    int res1 = 0 ;
-    int argvi = 0;
-    dXSARGS;
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"DOMXPathEvaluator_evaluate");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMNodeIterator_detach(self);");
+    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
+    if (!SWIG_IsOK(res3)) {
+      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "DOMXPathEvaluator_evaluate" "', argument " "3"" of type '" "XERCES_CPP_NAMESPACE::DOMNode *""'"); 
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeIterator, 0 |  0 );
-    if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMNodeIterator_detach" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMNodeIterator *""'"); 
+    arg3 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp3);
+    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathNSResolver, 0 |  0 );
+    if (!SWIG_IsOK(res4)) {
+      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "DOMXPathEvaluator_evaluate" "', argument " "4"" of type '" "XERCES_CPP_NAMESPACE::DOMXPathNSResolver const *""'"); 
+    }
+    arg4 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMXPathNSResolver * >(argp4);
+    ecode5 = SWIG_AsVal_unsigned_SS_short SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
+    if (!SWIG_IsOK(ecode5)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "DOMXPathEvaluator_evaluate" "', argument " "5"" of type '" "unsigned short""'");
+    } 
+    arg5 = static_cast< unsigned short >(val5);
+    {
+      arg6 = (void*) ST(5);
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNodeIterator * >(argp1);
     {
       try 
       {
-        (arg1)->detach();
+        result = (void *)(arg1)->evaluate((XMLCh const *)arg2,arg3,(XERCES_CPP_NAMESPACE::DOMXPathNSResolver const *)arg4,arg5,arg6);
       } 
       CATCH_DOM_EXCEPTION
     }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 | 0); argvi++ ;
+    
+    
+    delete[] arg2;
+    
+    
     
     
+    
+    delete[] arg6;
+    
     XSRETURN(argvi);
   fail:
     
+    
+    delete[] arg2;
+    
+    
+    
+    
+    
+    delete[] arg6;
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMNodeIterator_release) {
+XS(_wrap_new_DOMXPathException__SWIG_0) {
   {
-    XERCES_CPP_NAMESPACE::DOMNodeIterator *arg1 = (XERCES_CPP_NAMESPACE::DOMNodeIterator *) 0 ;
-    void *argp1 = 0 ;
-    int res1 = 0 ;
+    XERCES_CPP_NAMESPACE::DOMXPathException *result = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMNodeIterator_release(self);");
-    }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeIterator, 0 |  0 );
-    if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMNodeIterator_release" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMNodeIterator *""'"); 
+    if ((items < 0) || (items > 0)) {
+      SWIG_croak("Usage: new_DOMXPathException();");
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNodeIterator * >(argp1);
     {
       try 
       {
-        (arg1)->release();
+        result = (XERCES_CPP_NAMESPACE::DOMXPathException *)new XERCES_CPP_NAMESPACE::DOMXPathException();
       } 
       CATCH_DOM_EXCEPTION
     }
-    
-    
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathException, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
     XSRETURN(argvi);
   fail:
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_delete_DOMNodeFilter) {
+XS(_wrap_new_DOMXPathException__SWIG_1) {
   {
-    XERCES_CPP_NAMESPACE::DOMNodeFilter *arg1 = (XERCES_CPP_NAMESPACE::DOMNodeFilter *) 0 ;
-    void *argp1 = 0 ;
-    int res1 = 0 ;
+    short arg1 ;
+    XMLCh *arg2 = (XMLCh *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMXPathException *result = 0 ;
+    short val1 ;
+    int ecode1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: delete_DOMNodeFilter(self);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: new_DOMXPathException(code,message);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeFilter, SWIG_POINTER_DISOWN |  0 );
-    if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMNodeFilter" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMNodeFilter *""'"); 
+    ecode1 = SWIG_AsVal_short SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
+    if (!SWIG_IsOK(ecode1)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_DOMXPathException" "', argument " "1"" of type '" "short""'");
+    } 
+    arg1 = static_cast< short >(val1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"new_DOMXPathException");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNodeFilter * >(argp1);
+    
     {
       try 
       {
-        delete arg1;
-        
+        result = (XERCES_CPP_NAMESPACE::DOMXPathException *)new XERCES_CPP_NAMESPACE::DOMXPathException(arg1,(XMLCh const *)arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathException, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
     
     
+    delete[] arg2;
+    
     XSRETURN(argvi);
   fail:
     
+    
+    delete[] arg2;
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMNodeFilter_acceptNode) {
+XS(_wrap_new_DOMXPathException__SWIG_2) {
   {
-    XERCES_CPP_NAMESPACE::DOMNodeFilter *arg1 = (XERCES_CPP_NAMESPACE::DOMNodeFilter *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMNode *arg2 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
-    short result;
-    void *argp1 = 0 ;
+    XERCES_CPP_NAMESPACE::DOMXPathException *arg1 = 0 ;
+    XERCES_CPP_NAMESPACE::DOMXPathException *result = 0 ;
+    void *argp1 ;
     int res1 = 0 ;
-    void *argp2 = 0 ;
-    int res2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMNodeFilter_acceptNode(self,node);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: new_DOMXPathException(other);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeFilter, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathException,  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMNodeFilter_acceptNode" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMNodeFilter const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_DOMXPathException" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMXPathException const &""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNodeFilter * >(argp1);
-    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
-    if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMNodeFilter_acceptNode" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMNode const *""'"); 
+    if (!argp1) {
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_DOMXPathException" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMXPathException const &""'"); 
     }
-    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp2);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMXPathException * >(argp1);
     {
       try 
       {
-        result = (short)((XERCES_CPP_NAMESPACE::DOMNodeFilter const *)arg1)->acceptNode((XERCES_CPP_NAMESPACE::DOMNode const *)arg2);
+        result = (XERCES_CPP_NAMESPACE::DOMXPathException *)new XERCES_CPP_NAMESPACE::DOMXPathException((XERCES_CPP_NAMESPACE::DOMXPathException const &)*arg1);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_From_short  SWIG_PERL_CALL_ARGS_1(static_cast< short >(result)); argvi++ ;
-    
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathException, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
     
     XSRETURN(argvi);
   fail:
     
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_delete_DOMRange) {
+XS(_wrap_new_DOMXPathException) {
+  dXSARGS;
+  
   {
-    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
-    void *argp1 = 0 ;
-    int res1 = 0 ;
-    int argvi = 0;
-    dXSARGS;
-    
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: delete_DOMRange(self);");
-    }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, SWIG_POINTER_DISOWN |  0 );
-    if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMRange" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
-    {
-      try 
+    unsigned long _index = 0;
+    SWIG_TypeRank _rank = 0; 
+    if (items == 0) {
+      SWIG_TypeRank _ranki = 0;
+      SWIG_TypeRank _rankm = 0;
+      if (!_index || (_ranki < _rank)) {
+        _rank = _ranki; _index = 1;
+        if (_rank == _rankm) goto dispatch;
+      }
+    }
+    if (items == 1) {
+      SWIG_TypeRank _ranki = 0;
+      SWIG_TypeRank _rankm = 0;
+      SWIG_TypeRank _pi = 1;
+      int _v = 0;
       {
-        delete arg1;
-        
-      } 
-      CATCH_DOM_EXCEPTION
+        void *vptr = 0;
+        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathException, 0);
+        _v = SWIG_CheckState(res);
+      }
+      if (!_v) goto check_2;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      if (!_index || (_ranki < _rank)) {
+        _rank = _ranki; _index = 2;
+        if (_rank == _rankm) goto dispatch;
+      }
     }
+  check_2:
     
+    if (items == 2) {
+      SWIG_TypeRank _ranki = 0;
+      SWIG_TypeRank _rankm = 0;
+      SWIG_TypeRank _pi = 1;
+      int _v = 0;
+      {
+        {
+          int res = SWIG_AsVal_short SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
+          _v = SWIG_CheckState(res);
+        }
+      }
+      if (!_v) goto check_3;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        {
+          _v = SvOK(ST(1)) ? 1 : 0; 
+        }
+      }
+      if (!_v) goto check_3;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      if (!_index || (_ranki < _rank)) {
+        _rank = _ranki; _index = 3;
+        if (_rank == _rankm) goto dispatch;
+      }
+    }
+  check_3:
     
-    XSRETURN(argvi);
-  fail:
-    
-    SWIG_croak_null();
+  dispatch:
+    switch(_index) {
+    case 1:
+      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_DOMXPathException__SWIG_0); return;
+    case 2:
+      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_DOMXPathException__SWIG_2); return;
+    case 3:
+      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_DOMXPathException__SWIG_1); return;
+    }
   }
+  
+  croak("No matching function for overloaded 'new_DOMXPathException'");
+  XSRETURN(0);
 }
 
 
-XS(_wrap_DOMRange_getStartContainer) {
+XS(_wrap_delete_DOMXPathException) {
   {
-    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMXPathException *arg1 = (XERCES_CPP_NAMESPACE::DOMXPathException *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMRange_getStartContainer(self);");
+      SWIG_croak("Usage: delete_DOMXPathException(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathException, SWIG_POINTER_DISOWN |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_getStartContainer" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMXPathException" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMXPathException *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMXPathException * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMNode *)((XERCES_CPP_NAMESPACE::DOMRange const *)arg1)->getStartContainer();
+        delete arg1;
+        
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
+    
     
     XSRETURN(argvi);
   fail:
@@ -35314,65 +35414,63 @@ XS(_wrap_DOMRange_getStartContainer) {
 }
 
 
-XS(_wrap_DOMRange_getStartOffset) {
+XS(_wrap_DOMXPathException_code_set) {
   {
-    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
-    XMLSize_t result;
+    XERCES_CPP_NAMESPACE::DOMXPathException *arg1 = (XERCES_CPP_NAMESPACE::DOMXPathException *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMXPathException::ExceptionCode arg2 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
+    int val2 ;
+    int ecode2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMRange_getStartOffset(self);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMXPathException_code_set(self,code);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathException, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_getStartOffset" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange const *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
-    {
-      try 
-      {
-        result = ((XERCES_CPP_NAMESPACE::DOMRange const *)arg1)->getStartOffset();
-      } 
-      CATCH_DOM_EXCEPTION
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMXPathException_code_set" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMXPathException *""'"); 
     }
-    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMXPathException * >(argp1);
+    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
+    if (!SWIG_IsOK(ecode2)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DOMXPathException_code_set" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMXPathException::ExceptionCode""'");
+    } 
+    arg2 = static_cast< XERCES_CPP_NAMESPACE::DOMXPathException::ExceptionCode >(val2);
+    if (arg1) (arg1)->code = arg2;
+    
+    
+    
     
     XSRETURN(argvi);
   fail:
     
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMRange_getEndContainer) {
+XS(_wrap_DOMXPathException_code_get) {
   {
-    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMXPathException *arg1 = (XERCES_CPP_NAMESPACE::DOMXPathException *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMXPathException::ExceptionCode result;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMRange_getEndContainer(self);");
+      SWIG_croak("Usage: DOMXPathException_code_get(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathException, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_getEndContainer" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange const *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
-    {
-      try 
-      {
-        result = (XERCES_CPP_NAMESPACE::DOMNode *)((XERCES_CPP_NAMESPACE::DOMRange const *)arg1)->getEndContainer();
-      } 
-      CATCH_DOM_EXCEPTION
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMXPathException_code_get" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMXPathException *""'"); 
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMXPathException * >(argp1);
+    result = (XERCES_CPP_NAMESPACE::DOMXPathException::ExceptionCode) ((arg1)->code);
+    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
     
     XSRETURN(argvi);
   fail:
@@ -35382,65 +35480,72 @@ XS(_wrap_DOMRange_getEndContainer) {
 }
 
 
-XS(_wrap_DOMRange_getEndOffset) {
+XS(_wrap_DOMXPathException_msg_set) {
   {
-    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
-    XMLSize_t result;
+    XERCES_CPP_NAMESPACE::DOMXPathException *arg1 = (XERCES_CPP_NAMESPACE::DOMXPathException *) 0 ;
+    XMLCh *arg2 = (XMLCh *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMRange_getEndOffset(self);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMXPathException_msg_set(self,msg);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathException, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_getEndOffset" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMXPathException_msg_set" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMXPathException *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
-    {
-      try 
-      {
-        result = ((XERCES_CPP_NAMESPACE::DOMRange const *)arg1)->getEndOffset();
-      } 
-      CATCH_DOM_EXCEPTION
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMXPathException * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"DOMXPathException_msg_set");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
     }
-    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
+    
+    if (arg1) (arg1)->msg = (XMLCh const *)arg2;
+    
+    
+    
+    
+    delete[] arg2;
     
     XSRETURN(argvi);
   fail:
     
+    
+    delete[] arg2;
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMRange_getCollapsed) {
+XS(_wrap_DOMXPathException_msg_get) {
   {
-    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
-    bool result;
+    XERCES_CPP_NAMESPACE::DOMXPathException *arg1 = (XERCES_CPP_NAMESPACE::DOMXPathException *) 0 ;
+    XMLCh *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMRange_getCollapsed(self);");
+      SWIG_croak("Usage: DOMXPathException_msg_get(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathException, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_getCollapsed" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange const *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
-    {
-      try 
-      {
-        result = (bool)((XERCES_CPP_NAMESPACE::DOMRange const *)arg1)->getCollapsed();
-      } 
-      CATCH_DOM_EXCEPTION
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMXPathException_msg_get" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMXPathException *""'"); 
     }
-    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMXPathException * >(argp1);
+    result = (XMLCh *) ((arg1)->msg);
+    
+    ST(argvi) = XMLString2Perl(result);
+    ++argvi;
+    
     
     XSRETURN(argvi);
   fail:
@@ -35450,31 +35555,31 @@ XS(_wrap_DOMRange_getCollapsed) {
 }
 
 
-XS(_wrap_DOMRange_getCommonAncestorContainer) {
+XS(_wrap_delete_DOMXPathExpression) {
   {
-    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMXPathExpression *arg1 = (XERCES_CPP_NAMESPACE::DOMXPathExpression *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMRange_getCommonAncestorContainer(self);");
+      SWIG_croak("Usage: delete_DOMXPathExpression(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathExpression, SWIG_POINTER_DISOWN |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_getCommonAncestorContainer" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMXPathExpression" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMXPathExpression *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMXPathExpression * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMNode *)((XERCES_CPP_NAMESPACE::DOMRange const *)arg1)->getCommonAncestorContainer();
+        delete arg1;
+        
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
+    
     
     XSRETURN(argvi);
   fail:
@@ -35484,491 +35589,439 @@ XS(_wrap_DOMRange_getCommonAncestorContainer) {
 }
 
 
-XS(_wrap_DOMRange_setStart) {
+XS(_wrap_DOMXPathExpression_evaluate) {
   {
-    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMXPathExpression *arg1 = (XERCES_CPP_NAMESPACE::DOMXPathExpression *) 0 ;
     XERCES_CPP_NAMESPACE::DOMNode *arg2 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
-    XMLSize_t arg3 ;
+    unsigned short arg3 ;
+    void *arg4 = (void *) 0 ;
+    void *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     void *argp2 = 0 ;
     int res2 = 0 ;
-    size_t val3 ;
+    unsigned short val3 ;
     int ecode3 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 3) || (items > 3)) {
-      SWIG_croak("Usage: DOMRange_setStart(self,refNode,offset);");
+    if ((items < 4) || (items > 4)) {
+      SWIG_croak("Usage: DOMXPathExpression_evaluate(self,contextNode,type,result);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathExpression, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_setStart" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMXPathExpression_evaluate" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMXPathExpression const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMXPathExpression * >(argp1);
     res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
     if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMRange_setStart" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMNode const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMXPathExpression_evaluate" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMNode *""'"); 
     }
     arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp2);
-    ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
+    ecode3 = SWIG_AsVal_unsigned_SS_short SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
     if (!SWIG_IsOK(ecode3)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "DOMRange_setStart" "', argument " "3"" of type '" "XMLSize_t""'");
+      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "DOMXPathExpression_evaluate" "', argument " "3"" of type '" "unsigned short""'");
     } 
-    arg3 = static_cast< XMLSize_t >(val3);
+    arg3 = static_cast< unsigned short >(val3);
+    {
+      arg4 = (void*) ST(3);
+    }
     {
       try 
       {
-        (arg1)->setStart((XERCES_CPP_NAMESPACE::DOMNode const *)arg2,arg3);
+        result = (void *)((XERCES_CPP_NAMESPACE::DOMXPathExpression const *)arg1)->evaluate(arg2,arg3,arg4);
       } 
       CATCH_DOM_EXCEPTION
     }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 | 0); argvi++ ;
     
     
     
     
+    delete[] arg4;
+    
     XSRETURN(argvi);
   fail:
     
     
     
+    
+    delete[] arg4;
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMRange_setEnd) {
+XS(_wrap_delete_DOMXPathNamespace) {
   {
-    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMNode *arg2 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
-    XMLSize_t arg3 ;
+    XERCES_CPP_NAMESPACE::DOMXPathNamespace *arg1 = (XERCES_CPP_NAMESPACE::DOMXPathNamespace *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    void *argp2 = 0 ;
-    int res2 = 0 ;
-    size_t val3 ;
-    int ecode3 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 3) || (items > 3)) {
-      SWIG_croak("Usage: DOMRange_setEnd(self,refNode,offset);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: delete_DOMXPathNamespace(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathNamespace, SWIG_POINTER_DISOWN |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_setEnd" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
-    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
-    if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMRange_setEnd" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMNode const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMXPathNamespace" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMXPathNamespace *""'"); 
     }
-    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp2);
-    ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
-    if (!SWIG_IsOK(ecode3)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "DOMRange_setEnd" "', argument " "3"" of type '" "XMLSize_t""'");
-    } 
-    arg3 = static_cast< XMLSize_t >(val3);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMXPathNamespace * >(argp1);
     {
       try 
       {
-        (arg1)->setEnd((XERCES_CPP_NAMESPACE::DOMNode const *)arg2,arg3);
+        delete arg1;
+        
       } 
       CATCH_DOM_EXCEPTION
     }
     
     
-    
-    
     XSRETURN(argvi);
   fail:
     
-    
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMRange_setStartBefore) {
+XS(_wrap_DOMXPathNamespace_getOwnerElement) {
   {
-    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMNode *arg2 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMXPathNamespace *arg1 = (XERCES_CPP_NAMESPACE::DOMXPathNamespace *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMElement *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    void *argp2 = 0 ;
-    int res2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMRange_setStartBefore(self,refNode);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMXPathNamespace_getOwnerElement(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathNamespace, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_setStartBefore" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
-    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
-    if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMRange_setStartBefore" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMNode const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMXPathNamespace_getOwnerElement" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMXPathNamespace const *""'"); 
     }
-    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp2);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMXPathNamespace * >(argp1);
     {
       try 
       {
-        (arg1)->setStartBefore((XERCES_CPP_NAMESPACE::DOMNode const *)arg2);
+        result = (XERCES_CPP_NAMESPACE::DOMElement *)((XERCES_CPP_NAMESPACE::DOMXPathNamespace const *)arg1)->getOwnerElement();
       } 
       CATCH_DOM_EXCEPTION
     }
-    
-    
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMElement, 0 | SWIG_SHADOW); argvi++ ;
     
     XSRETURN(argvi);
   fail:
     
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMRange_setStartAfter) {
+XS(_wrap_delete_DOMXPathNSResolver) {
   {
-    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMNode *arg2 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMXPathNSResolver *arg1 = (XERCES_CPP_NAMESPACE::DOMXPathNSResolver *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    void *argp2 = 0 ;
-    int res2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMRange_setStartAfter(self,refNode);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: delete_DOMXPathNSResolver(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathNSResolver, SWIG_POINTER_DISOWN |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_setStartAfter" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
-    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
-    if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMRange_setStartAfter" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMNode const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMXPathNSResolver" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMXPathNSResolver *""'"); 
     }
-    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp2);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMXPathNSResolver * >(argp1);
     {
       try 
       {
-        (arg1)->setStartAfter((XERCES_CPP_NAMESPACE::DOMNode const *)arg2);
+        delete arg1;
+        
       } 
       CATCH_DOM_EXCEPTION
     }
     
     
-    
     XSRETURN(argvi);
   fail:
     
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMRange_setEndBefore) {
+XS(_wrap_DOMXPathNSResolver_lookupNamespaceURI) {
   {
-    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMNode *arg2 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMXPathNSResolver *arg1 = (XERCES_CPP_NAMESPACE::DOMXPathNSResolver *) 0 ;
+    XMLCh *arg2 = (XMLCh *) 0 ;
+    XMLCh *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    void *argp2 = 0 ;
-    int res2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMRange_setEndBefore(self,refNode);");
+      SWIG_croak("Usage: DOMXPathNSResolver_lookupNamespaceURI(self,prefix);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathNSResolver, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_setEndBefore" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMXPathNSResolver_lookupNamespaceURI" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMXPathNSResolver const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
-    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
-    if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMRange_setEndBefore" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMNode const *""'"); 
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMXPathNSResolver * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"DOMXPathNSResolver_lookupNamespaceURI");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
     }
-    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp2);
+    
     {
       try 
       {
-        (arg1)->setEndBefore((XERCES_CPP_NAMESPACE::DOMNode const *)arg2);
+        result = (XMLCh *)((XERCES_CPP_NAMESPACE::DOMXPathNSResolver const *)arg1)->lookupNamespaceURI((XMLCh const *)arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
     
+    ST(argvi) = XMLString2Perl(result);
+    ++argvi;
+    
+    
     
+    delete[] arg2;
     
     XSRETURN(argvi);
   fail:
     
     
+    delete[] arg2;
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMRange_setEndAfter) {
+XS(_wrap_DOMXPathNSResolver_lookupPrefix) {
   {
-    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMNode *arg2 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMXPathNSResolver *arg1 = (XERCES_CPP_NAMESPACE::DOMXPathNSResolver *) 0 ;
+    XMLCh *arg2 = (XMLCh *) 0 ;
+    XMLCh *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    void *argp2 = 0 ;
-    int res2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMRange_setEndAfter(self,refNode);");
+      SWIG_croak("Usage: DOMXPathNSResolver_lookupPrefix(self,URI);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathNSResolver, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_setEndAfter" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMXPathNSResolver_lookupPrefix" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMXPathNSResolver const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
-    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
-    if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMRange_setEndAfter" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMNode const *""'"); 
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMXPathNSResolver * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"DOMXPathNSResolver_lookupPrefix");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
     }
-    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp2);
+    
     {
       try 
       {
-        (arg1)->setEndAfter((XERCES_CPP_NAMESPACE::DOMNode const *)arg2);
+        result = (XMLCh *)((XERCES_CPP_NAMESPACE::DOMXPathNSResolver const *)arg1)->lookupPrefix((XMLCh const *)arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
     
+    ST(argvi) = XMLString2Perl(result);
+    ++argvi;
+    
+    
     
+    delete[] arg2;
     
     XSRETURN(argvi);
   fail:
     
     
+    delete[] arg2;
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMRange_collapse) {
+XS(_wrap_delete_DOMXPathResult) {
   {
-    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
-    bool arg2 ;
+    XERCES_CPP_NAMESPACE::DOMXPathResult *arg1 = (XERCES_CPP_NAMESPACE::DOMXPathResult *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    bool val2 ;
-    int ecode2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMRange_collapse(self,toStart);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: delete_DOMXPathResult(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathResult, SWIG_POINTER_DISOWN |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_collapse" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMXPathResult" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMXPathResult *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
-    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
-    if (!SWIG_IsOK(ecode2)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DOMRange_collapse" "', argument " "2"" of type '" "bool""'");
-    } 
-    arg2 = static_cast< bool >(val2);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMXPathResult * >(argp1);
     {
       try 
       {
-        (arg1)->collapse(arg2);
+        delete arg1;
+        
       } 
       CATCH_DOM_EXCEPTION
     }
     
     
-    
     XSRETURN(argvi);
   fail:
     
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMRange_selectNode) {
+XS(_wrap_DOMXPathResult_getBooleanValue) {
   {
-    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMNode *arg2 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMXPathResult *arg1 = (XERCES_CPP_NAMESPACE::DOMXPathResult *) 0 ;
+    bool result;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    void *argp2 = 0 ;
-    int res2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMRange_selectNode(self,refNode);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMXPathResult_getBooleanValue(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathResult, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_selectNode" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
-    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
-    if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMRange_selectNode" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMNode const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMXPathResult_getBooleanValue" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMXPathResult const *""'"); 
     }
-    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp2);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMXPathResult * >(argp1);
     {
       try 
       {
-        (arg1)->selectNode((XERCES_CPP_NAMESPACE::DOMNode const *)arg2);
+        result = (bool)((XERCES_CPP_NAMESPACE::DOMXPathResult const *)arg1)->getBooleanValue();
       } 
       CATCH_DOM_EXCEPTION
     }
-    
-    
+    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
     
     XSRETURN(argvi);
   fail:
     
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMRange_selectNodeContents) {
+XS(_wrap_DOMXPathResult_getInvalidIteratorState) {
   {
-    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMNode *arg2 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMXPathResult *arg1 = (XERCES_CPP_NAMESPACE::DOMXPathResult *) 0 ;
+    bool result;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    void *argp2 = 0 ;
-    int res2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMRange_selectNodeContents(self,refNode);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMXPathResult_getInvalidIteratorState(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathResult, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_selectNodeContents" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
-    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
-    if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMRange_selectNodeContents" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMNode const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMXPathResult_getInvalidIteratorState" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMXPathResult const *""'"); 
     }
-    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp2);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMXPathResult * >(argp1);
     {
       try 
       {
-        (arg1)->selectNodeContents((XERCES_CPP_NAMESPACE::DOMNode const *)arg2);
+        result = (bool)((XERCES_CPP_NAMESPACE::DOMXPathResult const *)arg1)->getInvalidIteratorState();
       } 
       CATCH_DOM_EXCEPTION
     }
-    
-    
+    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
     
     XSRETURN(argvi);
   fail:
     
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMRange_compareBoundaryPoints) {
+XS(_wrap_DOMXPathResult_getNumberValue) {
   {
-    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMRange::CompareHow arg2 ;
-    XERCES_CPP_NAMESPACE::DOMRange *arg3 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
-    short result;
+    XERCES_CPP_NAMESPACE::DOMXPathResult *arg1 = (XERCES_CPP_NAMESPACE::DOMXPathResult *) 0 ;
+    double result;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    int val2 ;
-    int ecode2 = 0 ;
-    void *argp3 = 0 ;
-    int res3 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 3) || (items > 3)) {
-      SWIG_croak("Usage: DOMRange_compareBoundaryPoints(self,how,sourceRange);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMXPathResult_getNumberValue(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathResult, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_compareBoundaryPoints" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange const *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
-    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
-    if (!SWIG_IsOK(ecode2)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DOMRange_compareBoundaryPoints" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMRange::CompareHow""'");
-    } 
-    arg2 = static_cast< XERCES_CPP_NAMESPACE::DOMRange::CompareHow >(val2);
-    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
-    if (!SWIG_IsOK(res3)) {
-      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "DOMRange_compareBoundaryPoints" "', argument " "3"" of type '" "XERCES_CPP_NAMESPACE::DOMRange const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMXPathResult_getNumberValue" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMXPathResult const *""'"); 
     }
-    arg3 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp3);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMXPathResult * >(argp1);
     {
       try 
       {
-        result = (short)((XERCES_CPP_NAMESPACE::DOMRange const *)arg1)->compareBoundaryPoints(arg2,(XERCES_CPP_NAMESPACE::DOMRange const *)arg3);
+        result = (double)((XERCES_CPP_NAMESPACE::DOMXPathResult const *)arg1)->getNumberValue();
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_From_short  SWIG_PERL_CALL_ARGS_1(static_cast< short >(result)); argvi++ ;
-    
-    
+    ST(argvi) = SWIG_From_double  SWIG_PERL_CALL_ARGS_1(static_cast< double >(result)); argvi++ ;
     
     XSRETURN(argvi);
   fail:
     
-    
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMRange_deleteContents) {
+XS(_wrap_DOMXPathResult_getResultType) {
   {
-    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMXPathResult *arg1 = (XERCES_CPP_NAMESPACE::DOMXPathResult *) 0 ;
+    short result;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMRange_deleteContents(self);");
+      SWIG_croak("Usage: DOMXPathResult_getResultType(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathResult, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_deleteContents" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMXPathResult_getResultType" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMXPathResult const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMXPathResult * >(argp1);
     {
       try 
       {
-        (arg1)->deleteContents();
+        result = (short)((XERCES_CPP_NAMESPACE::DOMXPathResult const *)arg1)->getResultType();
       } 
       CATCH_DOM_EXCEPTION
     }
-    
+    ST(argvi) = SWIG_From_short  SWIG_PERL_CALL_ARGS_1(static_cast< short >(result)); argvi++ ;
     
     XSRETURN(argvi);
   fail:
@@ -35978,31 +36031,31 @@ XS(_wrap_DOMRange_deleteContents) {
 }
 
 
-XS(_wrap_DOMRange_extractContents) {
+XS(_wrap_DOMXPathResult_getSingleNodeValue) {
   {
-    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMDocumentFragment *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMXPathResult *arg1 = (XERCES_CPP_NAMESPACE::DOMXPathResult *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMRange_extractContents(self);");
+      SWIG_croak("Usage: DOMXPathResult_getSingleNodeValue(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathResult, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_extractContents" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMXPathResult_getSingleNodeValue" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMXPathResult const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMXPathResult * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMDocumentFragment *)(arg1)->extractContents();
+        result = (XERCES_CPP_NAMESPACE::DOMNode *)((XERCES_CPP_NAMESPACE::DOMXPathResult const *)arg1)->getSingleNodeValue();
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentFragment, 0 | SWIG_SHADOW); argvi++ ;
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
     
     XSRETURN(argvi);
   fail:
@@ -36012,31 +36065,31 @@ XS(_wrap_DOMRange_extractContents) {
 }
 
 
-XS(_wrap_DOMRange_cloneContents) {
+XS(_wrap_DOMXPathResult_getSnapshotLength) {
   {
-    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMDocumentFragment *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMXPathResult *arg1 = (XERCES_CPP_NAMESPACE::DOMXPathResult *) 0 ;
+    unsigned long result;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMRange_cloneContents(self);");
+      SWIG_croak("Usage: DOMXPathResult_getSnapshotLength(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathResult, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_cloneContents" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMXPathResult_getSnapshotLength" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMXPathResult const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMXPathResult * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMDocumentFragment *)((XERCES_CPP_NAMESPACE::DOMRange const *)arg1)->cloneContents();
+        result = (unsigned long)((XERCES_CPP_NAMESPACE::DOMXPathResult const *)arg1)->getSnapshotLength();
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentFragment, 0 | SWIG_SHADOW); argvi++ ;
+    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
     
     XSRETURN(argvi);
   fail:
@@ -36046,154 +36099,146 @@ XS(_wrap_DOMRange_cloneContents) {
 }
 
 
-XS(_wrap_DOMRange_insertNode) {
+XS(_wrap_DOMXPathResult_getStringValue) {
   {
-    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMNode *arg2 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMXPathResult *arg1 = (XERCES_CPP_NAMESPACE::DOMXPathResult *) 0 ;
+    XMLCh *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    void *argp2 = 0 ;
-    int res2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMRange_insertNode(self,newNode);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMXPathResult_getStringValue(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathResult, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_insertNode" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
-    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
-    if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMRange_insertNode" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMNode *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMXPathResult_getStringValue" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMXPathResult const *""'"); 
     }
-    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp2);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMXPathResult * >(argp1);
     {
       try 
       {
-        (arg1)->insertNode(arg2);
+        result = (XMLCh *)((XERCES_CPP_NAMESPACE::DOMXPathResult const *)arg1)->getStringValue();
       } 
       CATCH_DOM_EXCEPTION
     }
     
+    ST(argvi) = XMLString2Perl(result);
+    ++argvi;
     
     
     XSRETURN(argvi);
   fail:
     
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMRange_surroundContents) {
+XS(_wrap_DOMXPathResult_iterateNext) {
   {
-    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMNode *arg2 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMXPathResult *arg1 = (XERCES_CPP_NAMESPACE::DOMXPathResult *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    void *argp2 = 0 ;
-    int res2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMRange_surroundContents(self,newParent);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMXPathResult_iterateNext(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathResult, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_surroundContents" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
-    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
-    if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMRange_surroundContents" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMNode *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMXPathResult_iterateNext" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMXPathResult const *""'"); 
     }
-    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp2);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMXPathResult * >(argp1);
     {
       try 
       {
-        (arg1)->surroundContents(arg2);
+        result = (XERCES_CPP_NAMESPACE::DOMNode *)((XERCES_CPP_NAMESPACE::DOMXPathResult const *)arg1)->iterateNext();
       } 
       CATCH_DOM_EXCEPTION
     }
-    
-    
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
     
     XSRETURN(argvi);
   fail:
     
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMRange_cloneRange) {
+XS(_wrap_DOMXPathResult_snapshotItem) {
   {
-    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMRange *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMXPathResult *arg1 = (XERCES_CPP_NAMESPACE::DOMXPathResult *) 0 ;
+    unsigned long arg2 ;
+    XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
+    unsigned long val2 ;
+    int ecode2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMRange_cloneRange(self);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMXPathResult_snapshotItem(self,index);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathResult, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_cloneRange" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMXPathResult_snapshotItem" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMXPathResult const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMXPathResult * >(argp1);
+    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
+    if (!SWIG_IsOK(ecode2)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DOMXPathResult_snapshotItem" "', argument " "2"" of type '" "unsigned long""'");
+    } 
+    arg2 = static_cast< unsigned long >(val2);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMRange *)((XERCES_CPP_NAMESPACE::DOMRange const *)arg1)->cloneRange();
+        result = (XERCES_CPP_NAMESPACE::DOMNode *)((XERCES_CPP_NAMESPACE::DOMXPathResult const *)arg1)->snapshotItem(arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 | SWIG_SHADOW); argvi++ ;
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
+    
     
     XSRETURN(argvi);
   fail:
     
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMRange_toString) {
+XS(_wrap_delete_DOMDocumentRange) {
   {
-    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
-    XMLCh *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMDocumentRange *arg1 = (XERCES_CPP_NAMESPACE::DOMDocumentRange *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMRange_toString(self);");
+      SWIG_croak("Usage: delete_DOMDocumentRange(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentRange, SWIG_POINTER_DISOWN |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_toString" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMDocumentRange" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocumentRange *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocumentRange * >(argp1);
     {
       try 
       {
-        result = (XMLCh *)((XERCES_CPP_NAMESPACE::DOMRange const *)arg1)->toString();
+        delete arg1;
+        
       } 
       CATCH_DOM_EXCEPTION
     }
     
-    ST(argvi) = XMLString2Perl(result);
-    ++argvi;
-    
     
     XSRETURN(argvi);
   fail:
@@ -36203,30 +36248,31 @@ XS(_wrap_DOMRange_toString) {
 }
 
 
-XS(_wrap_DOMRange_detach) {
+XS(_wrap_DOMDocumentRange_createRange) {
   {
-    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMDocumentRange *arg1 = (XERCES_CPP_NAMESPACE::DOMDocumentRange *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMRange *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMRange_detach(self);");
+      SWIG_croak("Usage: DOMDocumentRange_createRange(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentRange, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_detach" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocumentRange_createRange" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocumentRange *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocumentRange * >(argp1);
     {
       try 
       {
-        (arg1)->detach();
+        result = (XERCES_CPP_NAMESPACE::DOMRange *)(arg1)->createRange();
       } 
       CATCH_DOM_EXCEPTION
     }
-    
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 | SWIG_SHADOW); argvi++ ;
     
     XSRETURN(argvi);
   fail:
@@ -36236,26 +36282,27 @@ XS(_wrap_DOMRange_detach) {
 }
 
 
-XS(_wrap_DOMRange_release) {
+XS(_wrap_delete_DOMDocumentTraversal) {
   {
-    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMDocumentTraversal *arg1 = (XERCES_CPP_NAMESPACE::DOMDocumentTraversal *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMRange_release(self);");
+      SWIG_croak("Usage: delete_DOMDocumentTraversal(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentTraversal, SWIG_POINTER_DISOWN |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_release" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMDocumentTraversal" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocumentTraversal *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocumentTraversal * >(argp1);
     {
       try 
       {
-        (arg1)->release();
+        delete arg1;
+        
       } 
       CATCH_DOM_EXCEPTION
     }
@@ -36269,47 +36316,65 @@ XS(_wrap_DOMRange_release) {
 }
 
 
-XS(_wrap_new_DOMRangeException) {
+XS(_wrap_DOMDocumentTraversal_createNodeIterator) {
   {
-    XERCES_CPP_NAMESPACE::DOMRangeException::RangeExceptionCode arg1 ;
-    short arg2 ;
-    XERCES_CPP_NAMESPACE::MemoryManager *arg3 = (XERCES_CPP_NAMESPACE::MemoryManager *) (XERCES_CPP_NAMESPACE::MemoryManager *)0 ;
-    XERCES_CPP_NAMESPACE::DOMRangeException *result = 0 ;
-    int val1 ;
-    int ecode1 = 0 ;
-    short val2 ;
-    int ecode2 = 0 ;
-    void *argp3 = 0 ;
-    int res3 = 0 ;
+    XERCES_CPP_NAMESPACE::DOMDocumentTraversal *arg1 = (XERCES_CPP_NAMESPACE::DOMDocumentTraversal *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *arg2 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
+    unsigned long arg3 ;
+    XERCES_CPP_NAMESPACE::DOMNodeFilter *arg4 = (XERCES_CPP_NAMESPACE::DOMNodeFilter *) 0 ;
+    bool arg5 ;
+    XERCES_CPP_NAMESPACE::DOMNodeIterator *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    void *argp2 = 0 ;
+    int res2 = 0 ;
+    unsigned long val3 ;
+    int ecode3 = 0 ;
+    void *argp4 = 0 ;
+    int res4 = 0 ;
+    bool val5 ;
+    int ecode5 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 3) || (items > 3)) {
-      SWIG_croak("Usage: new_DOMRangeException(code,messageCode,memoryManager);");
+    if ((items < 5) || (items > 5)) {
+      SWIG_croak("Usage: DOMDocumentTraversal_createNodeIterator(self,root,whatToShow,filter,entityReferenceExpansion);");
     }
-    ecode1 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
-    if (!SWIG_IsOK(ecode1)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_DOMRangeException" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRangeException::RangeExceptionCode""'");
-    } 
-    arg1 = static_cast< XERCES_CPP_NAMESPACE::DOMRangeException::RangeExceptionCode >(val1);
-    ecode2 = SWIG_AsVal_short SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
-    if (!SWIG_IsOK(ecode2)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_DOMRangeException" "', argument " "2"" of type '" "short""'");
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentTraversal, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocumentTraversal_createNodeIterator" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocumentTraversal *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocumentTraversal * >(argp1);
+    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMDocumentTraversal_createNodeIterator" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMNode *""'"); 
+    }
+    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp2);
+    ecode3 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
+    if (!SWIG_IsOK(ecode3)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "DOMDocumentTraversal_createNodeIterator" "', argument " "3"" of type '" "unsigned long""'");
     } 
-    arg2 = static_cast< short >(val2);
-    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemoryManager, 0 |  0 );
-    if (!SWIG_IsOK(res3)) {
-      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_DOMRangeException" "', argument " "3"" of type '" "XERCES_CPP_NAMESPACE::MemoryManager *const""'"); 
+    arg3 = static_cast< unsigned long >(val3);
+    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeFilter, 0 |  0 );
+    if (!SWIG_IsOK(res4)) {
+      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "DOMDocumentTraversal_createNodeIterator" "', argument " "4"" of type '" "XERCES_CPP_NAMESPACE::DOMNodeFilter *""'"); 
     }
-    arg3 = reinterpret_cast< XERCES_CPP_NAMESPACE::MemoryManager * >(argp3);
+    arg4 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNodeFilter * >(argp4);
+    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
+    if (!SWIG_IsOK(ecode5)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "DOMDocumentTraversal_createNodeIterator" "', argument " "5"" of type '" "bool""'");
+    } 
+    arg5 = static_cast< bool >(val5);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMRangeException *)new XERCES_CPP_NAMESPACE::DOMRangeException(arg1,arg2,arg3);
+        result = (XERCES_CPP_NAMESPACE::DOMNodeIterator *)(arg1)->createNodeIterator(arg2,arg3,arg4,arg5);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRangeException, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeIterator, 0 | SWIG_SHADOW); argvi++ ;
+    
+    
     
     
     
@@ -36318,71 +36383,72 @@ XS(_wrap_new_DOMRangeException) {
     
     
     
+    
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_delete_DOMRangeException) {
+XS(_wrap_DOMDocumentTraversal_createTreeWalker) {
   {
-    XERCES_CPP_NAMESPACE::DOMRangeException *arg1 = (XERCES_CPP_NAMESPACE::DOMRangeException *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMDocumentTraversal *arg1 = (XERCES_CPP_NAMESPACE::DOMDocumentTraversal *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *arg2 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
+    unsigned long arg3 ;
+    XERCES_CPP_NAMESPACE::DOMNodeFilter *arg4 = (XERCES_CPP_NAMESPACE::DOMNodeFilter *) 0 ;
+    bool arg5 ;
+    XERCES_CPP_NAMESPACE::DOMTreeWalker *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
+    void *argp2 = 0 ;
+    int res2 = 0 ;
+    unsigned long val3 ;
+    int ecode3 = 0 ;
+    void *argp4 = 0 ;
+    int res4 = 0 ;
+    bool val5 ;
+    int ecode5 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: delete_DOMRangeException(self);");
+    if ((items < 5) || (items > 5)) {
+      SWIG_croak("Usage: DOMDocumentTraversal_createTreeWalker(self,root,whatToShow,filter,entityReferenceExpansion);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRangeException, SWIG_POINTER_DISOWN |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentTraversal, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMRangeException" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRangeException *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocumentTraversal_createTreeWalker" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocumentTraversal *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRangeException * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocumentTraversal * >(argp1);
+    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMDocumentTraversal_createTreeWalker" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMNode *""'"); 
+    }
+    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp2);
+    ecode3 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
+    if (!SWIG_IsOK(ecode3)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "DOMDocumentTraversal_createTreeWalker" "', argument " "3"" of type '" "unsigned long""'");
+    } 
+    arg3 = static_cast< unsigned long >(val3);
+    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeFilter, 0 |  0 );
+    if (!SWIG_IsOK(res4)) {
+      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "DOMDocumentTraversal_createTreeWalker" "', argument " "4"" of type '" "XERCES_CPP_NAMESPACE::DOMNodeFilter *""'"); 
+    }
+    arg4 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNodeFilter * >(argp4);
+    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
+    if (!SWIG_IsOK(ecode5)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "DOMDocumentTraversal_createTreeWalker" "', argument " "5"" of type '" "bool""'");
+    } 
+    arg5 = static_cast< bool >(val5);
     {
       try 
       {
-        delete arg1;
-        
+        result = (XERCES_CPP_NAMESPACE::DOMTreeWalker *)(arg1)->createTreeWalker(arg2,arg3,arg4,arg5);
       } 
       CATCH_DOM_EXCEPTION
     }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker, 0 | SWIG_SHADOW); argvi++ ;
     
     
-    XSRETURN(argvi);
-  fail:
-    
-    SWIG_croak_null();
-  }
-}
-
-
-XS(_wrap_DOMRangeException_code_set) {
-  {
-    XERCES_CPP_NAMESPACE::DOMRangeException *arg1 = (XERCES_CPP_NAMESPACE::DOMRangeException *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMRangeException::RangeExceptionCode arg2 ;
-    void *argp1 = 0 ;
-    int res1 = 0 ;
-    int val2 ;
-    int ecode2 = 0 ;
-    int argvi = 0;
-    dXSARGS;
-    
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMRangeException_code_set(self,code);");
-    }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRangeException, 0 |  0 );
-    if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRangeException_code_set" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRangeException *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRangeException * >(argp1);
-    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
-    if (!SWIG_IsOK(ecode2)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DOMRangeException_code_set" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMRangeException::RangeExceptionCode""'");
-    } 
-    arg2 = static_cast< XERCES_CPP_NAMESPACE::DOMRangeException::RangeExceptionCode >(val2);
-    if (arg1) (arg1)->code = arg2;
-    
     
     
     
@@ -36390,55 +36456,30 @@ XS(_wrap_DOMRangeException_code_set) {
   fail:
     
     
-    SWIG_croak_null();
-  }
-}
-
-
-XS(_wrap_DOMRangeException_code_get) {
-  {
-    XERCES_CPP_NAMESPACE::DOMRangeException *arg1 = (XERCES_CPP_NAMESPACE::DOMRangeException *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMRangeException::RangeExceptionCode result;
-    void *argp1 = 0 ;
-    int res1 = 0 ;
-    int argvi = 0;
-    dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMRangeException_code_get(self);");
-    }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRangeException, 0 |  0 );
-    if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRangeException_code_get" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRangeException *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRangeException * >(argp1);
-    result = (XERCES_CPP_NAMESPACE::DOMRangeException::RangeExceptionCode) ((arg1)->code);
-    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
     
-    XSRETURN(argvi);
-  fail:
     
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_delete_DOMTreeWalker) {
+XS(_wrap_delete_DOMNodeIterator) {
   {
-    XERCES_CPP_NAMESPACE::DOMTreeWalker *arg1 = (XERCES_CPP_NAMESPACE::DOMTreeWalker *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNodeIterator *arg1 = (XERCES_CPP_NAMESPACE::DOMNodeIterator *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: delete_DOMTreeWalker(self);");
+      SWIG_croak("Usage: delete_DOMNodeIterator(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker, SWIG_POINTER_DISOWN |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeIterator, SWIG_POINTER_DISOWN |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMTreeWalker" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMTreeWalker *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMNodeIterator" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMNodeIterator *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMTreeWalker * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNodeIterator * >(argp1);
     {
       try 
       {
@@ -36457,9 +36498,9 @@ XS(_wrap_delete_DOMTreeWalker) {
 }
 
 
-XS(_wrap_DOMTreeWalker_getRoot) {
+XS(_wrap_DOMNodeIterator_getRoot) {
   {
-    XERCES_CPP_NAMESPACE::DOMTreeWalker *arg1 = (XERCES_CPP_NAMESPACE::DOMTreeWalker *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNodeIterator *arg1 = (XERCES_CPP_NAMESPACE::DOMNodeIterator *) 0 ;
     XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
@@ -36467,13 +36508,13 @@ XS(_wrap_DOMTreeWalker_getRoot) {
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMTreeWalker_getRoot(self);");
+      SWIG_croak("Usage: DOMNodeIterator_getRoot(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeIterator, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMTreeWalker_getRoot" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMTreeWalker *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMNodeIterator_getRoot" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMNodeIterator *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMTreeWalker * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNodeIterator * >(argp1);
     {
       try 
       {
@@ -36491,9 +36532,9 @@ XS(_wrap_DOMTreeWalker_getRoot) {
 }
 
 
-XS(_wrap_DOMTreeWalker_getWhatToShow) {
+XS(_wrap_DOMNodeIterator_getWhatToShow) {
   {
-    XERCES_CPP_NAMESPACE::DOMTreeWalker *arg1 = (XERCES_CPP_NAMESPACE::DOMTreeWalker *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNodeIterator *arg1 = (XERCES_CPP_NAMESPACE::DOMNodeIterator *) 0 ;
     unsigned long result;
     void *argp1 = 0 ;
     int res1 = 0 ;
@@ -36501,13 +36542,13 @@ XS(_wrap_DOMTreeWalker_getWhatToShow) {
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMTreeWalker_getWhatToShow(self);");
+      SWIG_croak("Usage: DOMNodeIterator_getWhatToShow(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeIterator, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMTreeWalker_getWhatToShow" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMTreeWalker *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMNodeIterator_getWhatToShow" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMNodeIterator *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMTreeWalker * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNodeIterator * >(argp1);
     {
       try 
       {
@@ -36525,9 +36566,9 @@ XS(_wrap_DOMTreeWalker_getWhatToShow) {
 }
 
 
-XS(_wrap_DOMTreeWalker_getFilter) {
+XS(_wrap_DOMNodeIterator_getFilter) {
   {
-    XERCES_CPP_NAMESPACE::DOMTreeWalker *arg1 = (XERCES_CPP_NAMESPACE::DOMTreeWalker *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNodeIterator *arg1 = (XERCES_CPP_NAMESPACE::DOMNodeIterator *) 0 ;
     XERCES_CPP_NAMESPACE::DOMNodeFilter *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
@@ -36535,13 +36576,13 @@ XS(_wrap_DOMTreeWalker_getFilter) {
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMTreeWalker_getFilter(self);");
+      SWIG_croak("Usage: DOMNodeIterator_getFilter(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeIterator, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMTreeWalker_getFilter" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMTreeWalker *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMNodeIterator_getFilter" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMNodeIterator *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMTreeWalker * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNodeIterator * >(argp1);
     {
       try 
       {
@@ -36559,9 +36600,9 @@ XS(_wrap_DOMTreeWalker_getFilter) {
 }
 
 
-XS(_wrap_DOMTreeWalker_getExpandEntityReferences) {
+XS(_wrap_DOMNodeIterator_getExpandEntityReferences) {
   {
-    XERCES_CPP_NAMESPACE::DOMTreeWalker *arg1 = (XERCES_CPP_NAMESPACE::DOMTreeWalker *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNodeIterator *arg1 = (XERCES_CPP_NAMESPACE::DOMNodeIterator *) 0 ;
     bool result;
     void *argp1 = 0 ;
     int res1 = 0 ;
@@ -36569,13 +36610,13 @@ XS(_wrap_DOMTreeWalker_getExpandEntityReferences) {
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMTreeWalker_getExpandEntityReferences(self);");
+      SWIG_croak("Usage: DOMNodeIterator_getExpandEntityReferences(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeIterator, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMTreeWalker_getExpandEntityReferences" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMTreeWalker *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMNodeIterator_getExpandEntityReferences" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMNodeIterator *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMTreeWalker * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNodeIterator * >(argp1);
     {
       try 
       {
@@ -36593,9 +36634,9 @@ XS(_wrap_DOMTreeWalker_getExpandEntityReferences) {
 }
 
 
-XS(_wrap_DOMTreeWalker_getCurrentNode) {
+XS(_wrap_DOMNodeIterator_nextNode) {
   {
-    XERCES_CPP_NAMESPACE::DOMTreeWalker *arg1 = (XERCES_CPP_NAMESPACE::DOMTreeWalker *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNodeIterator *arg1 = (XERCES_CPP_NAMESPACE::DOMNodeIterator *) 0 ;
     XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
@@ -36603,17 +36644,17 @@ XS(_wrap_DOMTreeWalker_getCurrentNode) {
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMTreeWalker_getCurrentNode(self);");
+      SWIG_croak("Usage: DOMNodeIterator_nextNode(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeIterator, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMTreeWalker_getCurrentNode" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMTreeWalker *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMNodeIterator_nextNode" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMNodeIterator *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMTreeWalker * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNodeIterator * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMNode *)(arg1)->getCurrentNode();
+        result = (XERCES_CPP_NAMESPACE::DOMNode *)(arg1)->nextNode();
       } 
       CATCH_DOM_EXCEPTION
     }
@@ -36627,9 +36668,9 @@ XS(_wrap_DOMTreeWalker_getCurrentNode) {
 }
 
 
-XS(_wrap_DOMTreeWalker_parentNode) {
+XS(_wrap_DOMNodeIterator_previousNode) {
   {
-    XERCES_CPP_NAMESPACE::DOMTreeWalker *arg1 = (XERCES_CPP_NAMESPACE::DOMTreeWalker *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNodeIterator *arg1 = (XERCES_CPP_NAMESPACE::DOMNodeIterator *) 0 ;
     XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
@@ -36637,17 +36678,17 @@ XS(_wrap_DOMTreeWalker_parentNode) {
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMTreeWalker_parentNode(self);");
+      SWIG_croak("Usage: DOMNodeIterator_previousNode(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeIterator, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMTreeWalker_parentNode" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMTreeWalker *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMNodeIterator_previousNode" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMNodeIterator *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMTreeWalker * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNodeIterator * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMNode *)(arg1)->parentNode();
+        result = (XERCES_CPP_NAMESPACE::DOMNode *)(arg1)->previousNode();
       } 
       CATCH_DOM_EXCEPTION
     }
@@ -36661,31 +36702,30 @@ XS(_wrap_DOMTreeWalker_parentNode) {
 }
 
 
-XS(_wrap_DOMTreeWalker_firstChild) {
+XS(_wrap_DOMNodeIterator_detach) {
   {
-    XERCES_CPP_NAMESPACE::DOMTreeWalker *arg1 = (XERCES_CPP_NAMESPACE::DOMTreeWalker *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMNodeIterator *arg1 = (XERCES_CPP_NAMESPACE::DOMNodeIterator *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMTreeWalker_firstChild(self);");
+      SWIG_croak("Usage: DOMNodeIterator_detach(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeIterator, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMTreeWalker_firstChild" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMTreeWalker *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMNodeIterator_detach" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMNodeIterator *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMTreeWalker * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNodeIterator * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMNode *)(arg1)->firstChild();
+        (arg1)->detach();
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
+    
     
     XSRETURN(argvi);
   fail:
@@ -36695,31 +36735,30 @@ XS(_wrap_DOMTreeWalker_firstChild) {
 }
 
 
-XS(_wrap_DOMTreeWalker_lastChild) {
+XS(_wrap_DOMNodeIterator_release) {
   {
-    XERCES_CPP_NAMESPACE::DOMTreeWalker *arg1 = (XERCES_CPP_NAMESPACE::DOMTreeWalker *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMNodeIterator *arg1 = (XERCES_CPP_NAMESPACE::DOMNodeIterator *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMTreeWalker_lastChild(self);");
+      SWIG_croak("Usage: DOMNodeIterator_release(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeIterator, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMTreeWalker_lastChild" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMTreeWalker *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMNodeIterator_release" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMNodeIterator *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMTreeWalker * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNodeIterator * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMNode *)(arg1)->lastChild();
+        (arg1)->release();
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
+    
     
     XSRETURN(argvi);
   fail:
@@ -36729,31 +36768,31 @@ XS(_wrap_DOMTreeWalker_lastChild) {
 }
 
 
-XS(_wrap_DOMTreeWalker_previousSibling) {
+XS(_wrap_delete_DOMNodeFilter) {
   {
-    XERCES_CPP_NAMESPACE::DOMTreeWalker *arg1 = (XERCES_CPP_NAMESPACE::DOMTreeWalker *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMNodeFilter *arg1 = (XERCES_CPP_NAMESPACE::DOMNodeFilter *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMTreeWalker_previousSibling(self);");
+      SWIG_croak("Usage: delete_DOMNodeFilter(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeFilter, SWIG_POINTER_DISOWN |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMTreeWalker_previousSibling" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMTreeWalker *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMNodeFilter" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMNodeFilter *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMTreeWalker * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNodeFilter * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMNode *)(arg1)->previousSibling();
+        delete arg1;
+        
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
+    
     
     XSRETURN(argvi);
   fail:
@@ -36763,65 +36802,75 @@ XS(_wrap_DOMTreeWalker_previousSibling) {
 }
 
 
-XS(_wrap_DOMTreeWalker_nextSibling) {
+XS(_wrap_DOMNodeFilter_acceptNode) {
   {
-    XERCES_CPP_NAMESPACE::DOMTreeWalker *arg1 = (XERCES_CPP_NAMESPACE::DOMTreeWalker *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMNodeFilter *arg1 = (XERCES_CPP_NAMESPACE::DOMNodeFilter *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *arg2 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
+    short result;
     void *argp1 = 0 ;
     int res1 = 0 ;
+    void *argp2 = 0 ;
+    int res2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMTreeWalker_nextSibling(self);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMNodeFilter_acceptNode(self,node);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeFilter, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMTreeWalker_nextSibling" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMTreeWalker *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMNodeFilter_acceptNode" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMNodeFilter const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMTreeWalker * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNodeFilter * >(argp1);
+    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMNodeFilter_acceptNode" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMNode const *""'"); 
+    }
+    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp2);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMNode *)(arg1)->nextSibling();
+        result = (short)((XERCES_CPP_NAMESPACE::DOMNodeFilter const *)arg1)->acceptNode((XERCES_CPP_NAMESPACE::DOMNode const *)arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
+    ST(argvi) = SWIG_From_short  SWIG_PERL_CALL_ARGS_1(static_cast< short >(result)); argvi++ ;
+    
     
     XSRETURN(argvi);
   fail:
     
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMTreeWalker_previousNode) {
+XS(_wrap_delete_DOMRange) {
   {
-    XERCES_CPP_NAMESPACE::DOMTreeWalker *arg1 = (XERCES_CPP_NAMESPACE::DOMTreeWalker *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMTreeWalker_previousNode(self);");
+      SWIG_croak("Usage: delete_DOMRange(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, SWIG_POINTER_DISOWN |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMTreeWalker_previousNode" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMTreeWalker *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMRange" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMTreeWalker * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMNode *)(arg1)->previousNode();
+        delete arg1;
+        
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
+    
     
     XSRETURN(argvi);
   fail:
@@ -36831,9 +36880,9 @@ XS(_wrap_DOMTreeWalker_previousNode) {
 }
 
 
-XS(_wrap_DOMTreeWalker_nextNode) {
+XS(_wrap_DOMRange_getStartContainer) {
   {
-    XERCES_CPP_NAMESPACE::DOMTreeWalker *arg1 = (XERCES_CPP_NAMESPACE::DOMTreeWalker *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
     XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
@@ -36841,17 +36890,17 @@ XS(_wrap_DOMTreeWalker_nextNode) {
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMTreeWalker_nextNode(self);");
+      SWIG_croak("Usage: DOMRange_getStartContainer(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMTreeWalker_nextNode" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMTreeWalker *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_getStartContainer" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMTreeWalker * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMNode *)(arg1)->nextNode();
+        result = (XERCES_CPP_NAMESPACE::DOMNode *)((XERCES_CPP_NAMESPACE::DOMRange const *)arg1)->getStartContainer();
       } 
       CATCH_DOM_EXCEPTION
     }
@@ -36865,73 +36914,65 @@ XS(_wrap_DOMTreeWalker_nextNode) {
 }
 
 
-XS(_wrap_DOMTreeWalker_setCurrentNode) {
+XS(_wrap_DOMRange_getStartOffset) {
   {
-    XERCES_CPP_NAMESPACE::DOMTreeWalker *arg1 = (XERCES_CPP_NAMESPACE::DOMTreeWalker *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMNode *arg2 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
+    XMLSize_t result;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    void *argp2 = 0 ;
-    int res2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMTreeWalker_setCurrentNode(self,currentNode);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMRange_getStartOffset(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMTreeWalker_setCurrentNode" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMTreeWalker *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMTreeWalker * >(argp1);
-    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
-    if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMTreeWalker_setCurrentNode" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMNode *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_getStartOffset" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange const *""'"); 
     }
-    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp2);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
     {
       try 
       {
-        (arg1)->setCurrentNode(arg2);
+        result = ((XERCES_CPP_NAMESPACE::DOMRange const *)arg1)->getStartOffset();
       } 
       CATCH_DOM_EXCEPTION
     }
-    
-    
+    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
     
     XSRETURN(argvi);
   fail:
     
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMTreeWalker_release) {
+XS(_wrap_DOMRange_getEndContainer) {
   {
-    XERCES_CPP_NAMESPACE::DOMTreeWalker *arg1 = (XERCES_CPP_NAMESPACE::DOMTreeWalker *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMTreeWalker_release(self);");
+      SWIG_croak("Usage: DOMRange_getEndContainer(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMTreeWalker_release" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMTreeWalker *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_getEndContainer" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMTreeWalker * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
     {
       try 
       {
-        (arg1)->release();
+        result = (XERCES_CPP_NAMESPACE::DOMNode *)((XERCES_CPP_NAMESPACE::DOMRange const *)arg1)->getEndContainer();
       } 
       CATCH_DOM_EXCEPTION
     }
-    
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
     
     XSRETURN(argvi);
   fail:
@@ -36941,676 +36982,374 @@ XS(_wrap_DOMTreeWalker_release) {
 }
 
 
-XS(_wrap_DOMConfiguration_setParameter__SWIG_0) {
+XS(_wrap_DOMRange_getEndOffset) {
   {
-    XERCES_CPP_NAMESPACE::DOMConfiguration *arg1 = (XERCES_CPP_NAMESPACE::DOMConfiguration *) 0 ;
-    XMLCh *arg2 = (XMLCh *) 0 ;
-    void *arg3 = (void *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
+    XMLSize_t result;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 3) || (items > 3)) {
-      SWIG_croak("Usage: DOMConfiguration_setParameter(self,name,value);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMRange_getEndOffset(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMConfiguration, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMConfiguration_setParameter" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMConfiguration *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMConfiguration * >(argp1);
-    
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMConfiguration_setParameter");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
-    }
-    
-    {
-      // now check the value
-      if (ST(2) == &PL_sv_undef) {
-        SWIG_Perl_NullRef("perl-string",3,"DOMConfiguration_setParameter");
-        goto fail;
-      } else {
-        // we convert *everything* into a string that isn't undef
-        arg3 = Perl2XMLString(ST(2));
-      }
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_getEndOffset" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange const *""'"); 
     }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
     {
       try 
       {
-        (arg1)->setParameter((XMLCh const *)arg2,(void const *)arg3);
+        result = ((XERCES_CPP_NAMESPACE::DOMRange const *)arg1)->getEndOffset();
       } 
       CATCH_DOM_EXCEPTION
     }
-    
-    
-    
-    delete[] arg2;
-    
-    
-    delete[] arg3;
+    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
     
     XSRETURN(argvi);
   fail:
     
-    
-    delete[] arg2;
-    
-    
-    delete[] arg3;
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMConfiguration_setParameter__SWIG_1) {
+XS(_wrap_DOMRange_getCollapsed) {
   {
-    XERCES_CPP_NAMESPACE::DOMConfiguration *arg1 = (XERCES_CPP_NAMESPACE::DOMConfiguration *) 0 ;
-    XMLCh *arg2 = (XMLCh *) 0 ;
-    bool arg3 ;
+    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
+    bool result;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    bool val3 ;
-    int ecode3 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 3) || (items > 3)) {
-      SWIG_croak("Usage: DOMConfiguration_setParameter(self,name,value);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMRange_getCollapsed(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMConfiguration, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMConfiguration_setParameter" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMConfiguration *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMConfiguration * >(argp1);
-    
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMConfiguration_setParameter");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_getCollapsed" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange const *""'"); 
     }
-    
-    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
-    if (!SWIG_IsOK(ecode3)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "DOMConfiguration_setParameter" "', argument " "3"" of type '" "bool""'");
-    } 
-    arg3 = static_cast< bool >(val3);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
     {
       try 
       {
-        (arg1)->setParameter((XMLCh const *)arg2,arg3);
+        result = (bool)((XERCES_CPP_NAMESPACE::DOMRange const *)arg1)->getCollapsed();
       } 
       CATCH_DOM_EXCEPTION
     }
-    
-    
-    
-    delete[] arg2;
-    
+    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
     
     XSRETURN(argvi);
   fail:
     
-    
-    delete[] arg2;
-    
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMConfiguration_setParameter) {
-  dXSARGS;
-  
-  {
-    unsigned long _index = 0;
-    SWIG_TypeRank _rank = 0; 
-    if (items == 3) {
-      SWIG_TypeRank _ranki = 0;
-      SWIG_TypeRank _rankm = 0;
-      SWIG_TypeRank _pi = 1;
-      int _v = 0;
-      {
-        void *vptr = 0;
-        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMConfiguration, 0);
-        _v = SWIG_CheckState(res);
-      }
-      if (!_v) goto check_1;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      {
-        {
-          _v = SvOK(ST(1)) ? 1 : 0; 
-        }
-      }
-      if (!_v) goto check_1;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      {
-        void *ptr = 0;
-        int res = SWIG_ConvertPtr(ST(2), &ptr, 0, 0);
-        _v = SWIG_CheckState(res);
-      }
-      if (!_v) goto check_1;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      if (!_index || (_ranki < _rank)) {
-        _rank = _ranki; _index = 1;
-        if (_rank == _rankm) goto dispatch;
-      }
-    }
-  check_1:
-    
-    if (items == 3) {
-      SWIG_TypeRank _ranki = 0;
-      SWIG_TypeRank _rankm = 0;
-      SWIG_TypeRank _pi = 1;
-      int _v = 0;
-      {
-        void *vptr = 0;
-        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMConfiguration, 0);
-        _v = SWIG_CheckState(res);
-      }
-      if (!_v) goto check_2;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      {
-        {
-          _v = SvOK(ST(1)) ? 1 : 0; 
-        }
-      }
-      if (!_v) goto check_2;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      {
-        {
-          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
-          _v = SWIG_CheckState(res);
-        }
-      }
-      if (!_v) goto check_2;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      if (!_index || (_ranki < _rank)) {
-        _rank = _ranki; _index = 2;
-        if (_rank == _rankm) goto dispatch;
-      }
-    }
-  check_2:
-    
-  dispatch:
-    switch(_index) {
-    case 1:
-      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_DOMConfiguration_setParameter__SWIG_0); return;
-    case 2:
-      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_DOMConfiguration_setParameter__SWIG_1); return;
-    }
-  }
-  
-  croak("No matching function for overloaded 'DOMConfiguration_setParameter'");
-  XSRETURN(0);
-}
-
-
-XS(_wrap_DOMConfiguration_getParameter) {
+XS(_wrap_DOMRange_getCommonAncestorContainer) {
   {
-    XERCES_CPP_NAMESPACE::DOMConfiguration *arg1 = (XERCES_CPP_NAMESPACE::DOMConfiguration *) 0 ;
-    XMLCh *arg2 = (XMLCh *) 0 ;
-    void *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMConfiguration_getParameter(self,name);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMRange_getCommonAncestorContainer(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMConfiguration, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMConfiguration_getParameter" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMConfiguration const *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMConfiguration * >(argp1);
-    
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMConfiguration_getParameter");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_getCommonAncestorContainer" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange const *""'"); 
     }
-    
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
     {
       try 
       {
-        result = (void *)((XERCES_CPP_NAMESPACE::DOMConfiguration const *)arg1)->getParameter((XMLCh const *)arg2);
+        result = (XERCES_CPP_NAMESPACE::DOMNode *)((XERCES_CPP_NAMESPACE::DOMRange const *)arg1)->getCommonAncestorContainer();
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 | 0); argvi++ ;
-    
-    
-    delete[] arg2;
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
     
     XSRETURN(argvi);
   fail:
     
-    
-    delete[] arg2;
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMConfiguration_canSetParameter__SWIG_0) {
+XS(_wrap_DOMRange_setStart) {
   {
-    XERCES_CPP_NAMESPACE::DOMConfiguration *arg1 = (XERCES_CPP_NAMESPACE::DOMConfiguration *) 0 ;
-    XMLCh *arg2 = (XMLCh *) 0 ;
-    void *arg3 = (void *) 0 ;
-    bool result;
+    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *arg2 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
+    XMLSize_t arg3 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
+    void *argp2 = 0 ;
+    int res2 = 0 ;
+    size_t val3 ;
+    int ecode3 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 3) || (items > 3)) {
-      SWIG_croak("Usage: DOMConfiguration_canSetParameter(self,name,value);");
+      SWIG_croak("Usage: DOMRange_setStart(self,refNode,offset);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMConfiguration, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMConfiguration_canSetParameter" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMConfiguration const *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMConfiguration * >(argp1);
-    
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMConfiguration_canSetParameter");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_setStart" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange *""'"); 
     }
-    
-    {
-      // now check the value
-      if (ST(2) == &PL_sv_undef) {
-        SWIG_Perl_NullRef("perl-string",3,"DOMConfiguration_canSetParameter");
-        goto fail;
-      } else {
-        // we convert *everything* into a string that isn't undef
-        arg3 = Perl2XMLString(ST(2));
-      }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
+    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMRange_setStart" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMNode const *""'"); 
     }
+    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp2);
+    ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
+    if (!SWIG_IsOK(ecode3)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "DOMRange_setStart" "', argument " "3"" of type '" "XMLSize_t""'");
+    } 
+    arg3 = static_cast< XMLSize_t >(val3);
     {
       try 
       {
-        result = (bool)((XERCES_CPP_NAMESPACE::DOMConfiguration const *)arg1)->canSetParameter((XMLCh const *)arg2,(void const *)arg3);
+        (arg1)->setStart((XERCES_CPP_NAMESPACE::DOMNode const *)arg2,arg3);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
     
     
-    delete[] arg2;
-    
     
-    delete[] arg3;
     
     XSRETURN(argvi);
   fail:
     
     
-    delete[] arg2;
-    
-    
-    delete[] arg3;
     
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMConfiguration_canSetParameter__SWIG_1) {
+XS(_wrap_DOMRange_setEnd) {
   {
-    XERCES_CPP_NAMESPACE::DOMConfiguration *arg1 = (XERCES_CPP_NAMESPACE::DOMConfiguration *) 0 ;
-    XMLCh *arg2 = (XMLCh *) 0 ;
-    bool arg3 ;
-    bool result;
+    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *arg2 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
+    XMLSize_t arg3 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    bool val3 ;
+    void *argp2 = 0 ;
+    int res2 = 0 ;
+    size_t val3 ;
     int ecode3 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 3) || (items > 3)) {
-      SWIG_croak("Usage: DOMConfiguration_canSetParameter(self,name,value);");
+      SWIG_croak("Usage: DOMRange_setEnd(self,refNode,offset);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMConfiguration, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMConfiguration_canSetParameter" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMConfiguration const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_setEnd" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMConfiguration * >(argp1);
-    
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMConfiguration_canSetParameter");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
+    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMRange_setEnd" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMNode const *""'"); 
     }
-    
-    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
+    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp2);
+    ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
     if (!SWIG_IsOK(ecode3)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "DOMConfiguration_canSetParameter" "', argument " "3"" of type '" "bool""'");
+      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "DOMRange_setEnd" "', argument " "3"" of type '" "XMLSize_t""'");
     } 
-    arg3 = static_cast< bool >(val3);
+    arg3 = static_cast< XMLSize_t >(val3);
     {
       try 
       {
-        result = (bool)((XERCES_CPP_NAMESPACE::DOMConfiguration const *)arg1)->canSetParameter((XMLCh const *)arg2,arg3);
+        (arg1)->setEnd((XERCES_CPP_NAMESPACE::DOMNode const *)arg2,arg3);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
     
     
-    delete[] arg2;
     
     
     XSRETURN(argvi);
   fail:
     
     
-    delete[] arg2;
-    
     
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMConfiguration_canSetParameter) {
-  dXSARGS;
-  
-  {
-    unsigned long _index = 0;
-    SWIG_TypeRank _rank = 0; 
-    if (items == 3) {
-      SWIG_TypeRank _ranki = 0;
-      SWIG_TypeRank _rankm = 0;
-      SWIG_TypeRank _pi = 1;
-      int _v = 0;
-      {
-        void *vptr = 0;
-        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMConfiguration, 0);
-        _v = SWIG_CheckState(res);
-      }
-      if (!_v) goto check_1;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      {
-        {
-          _v = SvOK(ST(1)) ? 1 : 0; 
-        }
-      }
-      if (!_v) goto check_1;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      {
-        void *ptr = 0;
-        int res = SWIG_ConvertPtr(ST(2), &ptr, 0, 0);
-        _v = SWIG_CheckState(res);
-      }
-      if (!_v) goto check_1;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      if (!_index || (_ranki < _rank)) {
-        _rank = _ranki; _index = 1;
-        if (_rank == _rankm) goto dispatch;
-      }
-    }
-  check_1:
-    
-    if (items == 3) {
-      SWIG_TypeRank _ranki = 0;
-      SWIG_TypeRank _rankm = 0;
-      SWIG_TypeRank _pi = 1;
-      int _v = 0;
-      {
-        void *vptr = 0;
-        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMConfiguration, 0);
-        _v = SWIG_CheckState(res);
-      }
-      if (!_v) goto check_2;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      {
-        {
-          _v = SvOK(ST(1)) ? 1 : 0; 
-        }
-      }
-      if (!_v) goto check_2;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      {
-        {
-          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
-          _v = SWIG_CheckState(res);
-        }
-      }
-      if (!_v) goto check_2;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      if (!_index || (_ranki < _rank)) {
-        _rank = _ranki; _index = 2;
-        if (_rank == _rankm) goto dispatch;
-      }
-    }
-  check_2:
-    
-  dispatch:
-    switch(_index) {
-    case 1:
-      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_DOMConfiguration_canSetParameter__SWIG_0); return;
-    case 2:
-      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_DOMConfiguration_canSetParameter__SWIG_1); return;
-    }
-  }
-  
-  croak("No matching function for overloaded 'DOMConfiguration_canSetParameter'");
-  XSRETURN(0);
-}
-
-
-XS(_wrap_DOMConfiguration_getParameterNames) {
+XS(_wrap_DOMRange_setStartBefore) {
   {
-    XERCES_CPP_NAMESPACE::DOMConfiguration *arg1 = (XERCES_CPP_NAMESPACE::DOMConfiguration *) 0 ;
-    DOMStringList *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *arg2 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
+    void *argp2 = 0 ;
+    int res2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMConfiguration_getParameterNames(self);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMRange_setStartBefore(self,refNode);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMConfiguration, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMConfiguration_getParameterNames" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMConfiguration const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_setStartBefore" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMConfiguration * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
+    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMRange_setStartBefore" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMNode const *""'"); 
+    }
+    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp2);
     {
       try 
       {
-        result = (DOMStringList *)((XERCES_CPP_NAMESPACE::DOMConfiguration const *)arg1)->getParameterNames();
+        (arg1)->setStartBefore((XERCES_CPP_NAMESPACE::DOMNode const *)arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_DOMStringList, 0 | 0); argvi++ ;
+    
+    
     
     XSRETURN(argvi);
   fail:
     
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_delete_DOMConfiguration) {
+XS(_wrap_DOMRange_setStartAfter) {
   {
-    XERCES_CPP_NAMESPACE::DOMConfiguration *arg1 = (XERCES_CPP_NAMESPACE::DOMConfiguration *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *arg2 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
+    void *argp2 = 0 ;
+    int res2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: delete_DOMConfiguration(self);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMRange_setStartAfter(self,refNode);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMConfiguration, SWIG_POINTER_DISOWN |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMConfiguration" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMConfiguration *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_setStartAfter" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMConfiguration * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
+    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMRange_setStartAfter" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMNode const *""'"); 
+    }
+    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp2);
     {
       try 
       {
-        delete arg1;
-        
+        (arg1)->setStartAfter((XERCES_CPP_NAMESPACE::DOMNode const *)arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
     
     
+    
     XSRETURN(argvi);
   fail:
     
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_delete_DOMImplementationLS) {
+XS(_wrap_DOMRange_setEndBefore) {
   {
-    XERCES_CPP_NAMESPACE::DOMImplementationLS *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementationLS *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *arg2 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
+    void *argp2 = 0 ;
+    int res2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: delete_DOMImplementationLS(self);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMRange_setEndBefore(self,refNode);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS, SWIG_POINTER_DISOWN |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMImplementationLS" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementationLS *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_setEndBefore" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementationLS * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
+    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMRange_setEndBefore" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMNode const *""'"); 
+    }
+    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp2);
     {
       try 
       {
-        delete arg1;
-        
+        (arg1)->setEndBefore((XERCES_CPP_NAMESPACE::DOMNode const *)arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
     
     
+    
     XSRETURN(argvi);
   fail:
     
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMImplementationLS_createLSParser__SWIG_0) {
+XS(_wrap_DOMRange_setEndAfter) {
   {
-    XERCES_CPP_NAMESPACE::DOMImplementationLS *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementationLS *) 0 ;
-    unsigned short arg2 ;
-    XMLCh *arg3 = (XMLCh *) (XMLCh *)0 ;
-    XERCES_CPP_NAMESPACE::MemoryManager *arg4 = (XERCES_CPP_NAMESPACE::MemoryManager *) (XERCES_CPP_NAMESPACE::MemoryManager *)0 ;
-    XERCES_CPP_NAMESPACE::XMLGrammarPool *arg5 = (XERCES_CPP_NAMESPACE::XMLGrammarPool *) (XERCES_CPP_NAMESPACE::XMLGrammarPool *)0 ;
-    XERCES_CPP_NAMESPACE::DOMLSParser *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *arg2 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    unsigned short val2 ;
-    int ecode2 = 0 ;
-    void *argp4 = 0 ;
-    int res4 = 0 ;
-    void *argp5 = 0 ;
-    int res5 = 0 ;
+    void *argp2 = 0 ;
+    int res2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    arg4 = XERCES_CPP_NAMESPACE::XMLPlatformUtils::fgMemoryManager;
-    if ((items < 3) || (items > 5)) {
-      SWIG_croak("Usage: DOMImplementationLS_createLSParser(self,mode,schemaType,manager,gramPool);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMRange_setEndAfter(self,refNode);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMImplementationLS_createLSParser" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementationLS *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementationLS * >(argp1);
-    ecode2 = SWIG_AsVal_unsigned_SS_short SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
-    if (!SWIG_IsOK(ecode2)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DOMImplementationLS_createLSParser" "', argument " "2"" of type '" "unsigned short""'");
-    } 
-    arg2 = static_cast< unsigned short >(val2);
-    
-    if (ST(2) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",3,"DOMImplementationLS_createLSParser");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg3 = Perl2XMLString(ST(2));
-    }
-    
-    if (items > 3) {
-      res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemoryManager, 0 |  0 );
-      if (!SWIG_IsOK(res4)) {
-        SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "DOMImplementationLS_createLSParser" "', argument " "4"" of type '" "XERCES_CPP_NAMESPACE::MemoryManager *const""'"); 
-      }
-      arg4 = reinterpret_cast< XERCES_CPP_NAMESPACE::MemoryManager * >(argp4);
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_setEndAfter" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange *""'"); 
     }
-    if (items > 4) {
-      res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLGrammarPool, 0 |  0 );
-      if (!SWIG_IsOK(res5)) {
-        SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "DOMImplementationLS_createLSParser" "', argument " "5"" of type '" "XERCES_CPP_NAMESPACE::XMLGrammarPool *const""'"); 
-      }
-      arg5 = reinterpret_cast< XERCES_CPP_NAMESPACE::XMLGrammarPool * >(argp5);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
+    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMRange_setEndAfter" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMNode const *""'"); 
     }
+    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp2);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMLSParser *)(arg1)->createLSParser(arg2,(XMLCh const *)arg3,arg4,arg5);
+        (arg1)->setEndAfter((XERCES_CPP_NAMESPACE::DOMNode const *)arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSParser, 0 | SWIG_SHADOW); argvi++ ;
-    
-    
-    
-    delete[] arg3;
     
     
     
@@ -37618,82 +37357,90 @@ XS(_wrap_DOMImplementationLS_createLSParser__SWIG_0) {
   fail:
     
     
-    
-    delete[] arg3;
-    
-    
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMImplementationLS_createLSParser__SWIG_1) {
+XS(_wrap_DOMRange_collapse) {
   {
-    XERCES_CPP_NAMESPACE::DOMImplementationLS *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementationLS *) 0 ;
-    unsigned short arg2 ;
-    XMLCh *arg3 = (XMLCh *) (XMLCh *)0 ;
-    XERCES_CPP_NAMESPACE::MemoryManager *arg4 = (XERCES_CPP_NAMESPACE::MemoryManager *) (XERCES_CPP_NAMESPACE::MemoryManager *)0 ;
-    XERCES_CPP_NAMESPACE::DOMLSParser *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
+    bool arg2 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    unsigned short val2 ;
+    bool val2 ;
     int ecode2 = 0 ;
-    void *argp4 = 0 ;
-    int res4 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    arg4 = XERCES_CPP_NAMESPACE::XMLPlatformUtils::fgMemoryManager;
-    if ((items < 3) || (items > 4)) {
-      SWIG_croak("Usage: DOMImplementationLS_createLSParser(self,mode,schemaType,manager);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMRange_collapse(self,toStart);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMImplementationLS_createLSParser" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementationLS *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_collapse" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementationLS * >(argp1);
-    ecode2 = SWIG_AsVal_unsigned_SS_short SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
+    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
     if (!SWIG_IsOK(ecode2)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DOMImplementationLS_createLSParser" "', argument " "2"" of type '" "unsigned short""'");
+      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DOMRange_collapse" "', argument " "2"" of type '" "bool""'");
     } 
-    arg2 = static_cast< unsigned short >(val2);
-    
-    if (ST(2) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",3,"DOMImplementationLS_createLSParser");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg3 = Perl2XMLString(ST(2));
-    }
-    
-    if (items > 3) {
-      res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemoryManager, 0 |  0 );
-      if (!SWIG_IsOK(res4)) {
-        SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "DOMImplementationLS_createLSParser" "', argument " "4"" of type '" "XERCES_CPP_NAMESPACE::MemoryManager *const""'"); 
-      }
-      arg4 = reinterpret_cast< XERCES_CPP_NAMESPACE::MemoryManager * >(argp4);
-    }
+    arg2 = static_cast< bool >(val2);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMLSParser *)(arg1)->createLSParser(arg2,(XMLCh const *)arg3,arg4);
+        (arg1)->collapse(arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSParser, 0 | SWIG_SHADOW); argvi++ ;
-    
-    
     
-    delete[] arg3;
     
     
     XSRETURN(argvi);
   fail:
     
     
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMRange_selectNode) {
+  {
+    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *arg2 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    void *argp2 = 0 ;
+    int res2 = 0 ;
+    int argvi = 0;
+    dXSARGS;
     
-    delete[] arg3;
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMRange_selectNode(self,refNode);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_selectNode" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
+    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMRange_selectNode" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMNode const *""'"); 
+    }
+    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp2);
+    {
+      try 
+      {
+        (arg1)->selectNode((XERCES_CPP_NAMESPACE::DOMNode const *)arg2);
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    
+    
+    XSRETURN(argvi);
+  fail:
     
     
     SWIG_croak_null();
@@ -37701,266 +37448,127 @@ XS(_wrap_DOMImplementationLS_createLSParser__SWIG_1) {
 }
 
 
-XS(_wrap_DOMImplementationLS_createLSParser__SWIG_2) {
+XS(_wrap_DOMRange_selectNodeContents) {
   {
-    XERCES_CPP_NAMESPACE::DOMImplementationLS *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementationLS *) 0 ;
-    unsigned short arg2 ;
-    XMLCh *arg3 = (XMLCh *) (XMLCh *)0 ;
-    XERCES_CPP_NAMESPACE::DOMLSParser *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *arg2 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    unsigned short val2 ;
-    int ecode2 = 0 ;
+    void *argp2 = 0 ;
+    int res2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 3) || (items > 3)) {
-      SWIG_croak("Usage: DOMImplementationLS_createLSParser(self,mode,schemaType);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMRange_selectNodeContents(self,refNode);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMImplementationLS_createLSParser" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementationLS *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_selectNodeContents" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementationLS * >(argp1);
-    ecode2 = SWIG_AsVal_unsigned_SS_short SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
-    if (!SWIG_IsOK(ecode2)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DOMImplementationLS_createLSParser" "', argument " "2"" of type '" "unsigned short""'");
-    } 
-    arg2 = static_cast< unsigned short >(val2);
-    
-    if (ST(2) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",3,"DOMImplementationLS_createLSParser");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg3 = Perl2XMLString(ST(2));
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
+    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMRange_selectNodeContents" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMNode const *""'"); 
     }
-    
+    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp2);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMLSParser *)(arg1)->createLSParser(arg2,(XMLCh const *)arg3);
+        (arg1)->selectNodeContents((XERCES_CPP_NAMESPACE::DOMNode const *)arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSParser, 0 | SWIG_SHADOW); argvi++ ;
     
     
     
-    delete[] arg3;
-    
     XSRETURN(argvi);
   fail:
     
     
-    
-    delete[] arg3;
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMImplementationLS_createLSParser) {
-  dXSARGS;
-  
+XS(_wrap_DOMRange_compareBoundaryPoints) {
   {
-    unsigned long _index = 0;
-    SWIG_TypeRank _rank = 0; 
-    if ((items >= 3) && (items <= 5)) {
-      SWIG_TypeRank _ranki = 0;
-      SWIG_TypeRank _rankm = 0;
-      SWIG_TypeRank _pi = 1;
-      int _v = 0;
-      {
-        void *vptr = 0;
-        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS, 0);
-        _v = SWIG_CheckState(res);
-      }
-      if (!_v) goto check_1;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      {
-        {
-          int res = SWIG_AsVal_unsigned_SS_short SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
-          _v = SWIG_CheckState(res);
-        }
-      }
-      if (!_v) goto check_1;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      {
-        {
-          _v = SvOK(ST(2)) ? 1 : 0; 
-        }
-      }
-      if (!_v) goto check_1;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      if (items > 3) {
-        {
-          void *vptr = 0;
-          int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemoryManager, 0);
-          _v = SWIG_CheckState(res);
-        }
-        if (!_v) goto check_1;
-        _ranki += _v*_pi;
-        _rankm += _pi;
-        _pi *= SWIG_MAXCASTRANK;
-        if (items > 4) {
-          {
-            void *vptr = 0;
-            int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLGrammarPool, 0);
-            _v = SWIG_CheckState(res);
-          }
-          if (!_v) goto check_1;
-          _ranki += _v*_pi;
-          _rankm += _pi;
-          _pi *= SWIG_MAXCASTRANK;
-        }
-      }
-      if (!_index || (_ranki < _rank)) {
-        _rank = _ranki; _index = 1;
-        if (_rank == _rankm) goto dispatch;
-      }
-    }
-  check_1:
+    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMRange::CompareHow arg2 ;
+    XERCES_CPP_NAMESPACE::DOMRange *arg3 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
+    short result;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int val2 ;
+    int ecode2 = 0 ;
+    void *argp3 = 0 ;
+    int res3 = 0 ;
+    int argvi = 0;
+    dXSARGS;
     
-    if ((items >= 3) && (items <= 4)) {
-      SWIG_TypeRank _ranki = 0;
-      SWIG_TypeRank _rankm = 0;
-      SWIG_TypeRank _pi = 1;
-      int _v = 0;
-      {
-        void *vptr = 0;
-        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS, 0);
-        _v = SWIG_CheckState(res);
-      }
-      if (!_v) goto check_2;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      {
-        {
-          int res = SWIG_AsVal_unsigned_SS_short SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
-          _v = SWIG_CheckState(res);
-        }
-      }
-      if (!_v) goto check_2;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      {
-        {
-          _v = SvOK(ST(2)) ? 1 : 0; 
-        }
-      }
-      if (!_v) goto check_2;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      if (items > 3) {
-        {
-          void *vptr = 0;
-          int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemoryManager, 0);
-          _v = SWIG_CheckState(res);
-        }
-        if (!_v) goto check_2;
-        _ranki += _v*_pi;
-        _rankm += _pi;
-        _pi *= SWIG_MAXCASTRANK;
-      }
-      if (!_index || (_ranki < _rank)) {
-        _rank = _ranki; _index = 2;
-        if (_rank == _rankm) goto dispatch;
-      }
+    if ((items < 3) || (items > 3)) {
+      SWIG_croak("Usage: DOMRange_compareBoundaryPoints(self,how,sourceRange);");
     }
-  check_2:
-    
-    if (items == 3) {
-      SWIG_TypeRank _ranki = 0;
-      SWIG_TypeRank _rankm = 0;
-      SWIG_TypeRank _pi = 1;
-      int _v = 0;
-      {
-        void *vptr = 0;
-        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS, 0);
-        _v = SWIG_CheckState(res);
-      }
-      if (!_v) goto check_3;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      {
-        {
-          int res = SWIG_AsVal_unsigned_SS_short SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
-          _v = SWIG_CheckState(res);
-        }
-      }
-      if (!_v) goto check_3;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_compareBoundaryPoints" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange const *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
+    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
+    if (!SWIG_IsOK(ecode2)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DOMRange_compareBoundaryPoints" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMRange::CompareHow""'");
+    } 
+    arg2 = static_cast< XERCES_CPP_NAMESPACE::DOMRange::CompareHow >(val2);
+    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
+    if (!SWIG_IsOK(res3)) {
+      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "DOMRange_compareBoundaryPoints" "', argument " "3"" of type '" "XERCES_CPP_NAMESPACE::DOMRange const *""'"); 
+    }
+    arg3 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp3);
+    {
+      try 
       {
-        {
-          _v = SvOK(ST(2)) ? 1 : 0; 
-        }
-      }
-      if (!_v) goto check_3;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      if (!_index || (_ranki < _rank)) {
-        _rank = _ranki; _index = 3;
-        if (_rank == _rankm) goto dispatch;
-      }
+        result = (short)((XERCES_CPP_NAMESPACE::DOMRange const *)arg1)->compareBoundaryPoints(arg2,(XERCES_CPP_NAMESPACE::DOMRange const *)arg3);
+      } 
+      CATCH_DOM_EXCEPTION
     }
-  check_3:
+    ST(argvi) = SWIG_From_short  SWIG_PERL_CALL_ARGS_1(static_cast< short >(result)); argvi++ ;
     
-  dispatch:
-    switch(_index) {
-    case 1:
-      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_DOMImplementationLS_createLSParser__SWIG_0); return;
-    case 2:
-      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_DOMImplementationLS_createLSParser__SWIG_1); return;
-    case 3:
-      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_DOMImplementationLS_createLSParser__SWIG_2); return;
-    }
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    
+    SWIG_croak_null();
   }
-  
-  croak("No matching function for overloaded 'DOMImplementationLS_createLSParser'");
-  XSRETURN(0);
 }
 
 
-XS(_wrap_DOMImplementationLS_createLSSerializer) {
+XS(_wrap_DOMRange_deleteContents) {
   {
-    XERCES_CPP_NAMESPACE::DOMImplementationLS *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementationLS *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMLSSerializer *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMImplementationLS_createLSSerializer(self);");
+      SWIG_croak("Usage: DOMRange_deleteContents(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMImplementationLS_createLSSerializer" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementationLS *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_deleteContents" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementationLS * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMLSSerializer *)(arg1)->createLSSerializer();
+        (arg1)->deleteContents();
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSSerializer, 0 | SWIG_SHADOW); argvi++ ;
+    
     
     XSRETURN(argvi);
   fail:
@@ -37970,78 +37578,65 @@ XS(_wrap_DOMImplementationLS_createLSSerializer) {
 }
 
 
-XS(_wrap_DOMImplementationLS_createLSInput__SWIG_0) {
+XS(_wrap_DOMRange_extractContents) {
   {
-    XERCES_CPP_NAMESPACE::DOMImplementationLS *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementationLS *) 0 ;
-    XERCES_CPP_NAMESPACE::MemoryManager *arg2 = (XERCES_CPP_NAMESPACE::MemoryManager *) (XERCES_CPP_NAMESPACE::MemoryManager *)0 ;
-    XERCES_CPP_NAMESPACE::DOMLSInput *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMDocumentFragment *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    void *argp2 = 0 ;
-    int res2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    arg2 = XERCES_CPP_NAMESPACE::XMLPlatformUtils::fgMemoryManager;
-    if ((items < 1) || (items > 2)) {
-      SWIG_croak("Usage: DOMImplementationLS_createLSInput(self,manager);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMRange_extractContents(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMImplementationLS_createLSInput" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementationLS *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementationLS * >(argp1);
-    if (items > 1) {
-      res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemoryManager, 0 |  0 );
-      if (!SWIG_IsOK(res2)) {
-        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMImplementationLS_createLSInput" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::MemoryManager *const""'"); 
-      }
-      arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::MemoryManager * >(argp2);
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_extractContents" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange *""'"); 
     }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMLSInput *)(arg1)->createLSInput(arg2);
+        result = (XERCES_CPP_NAMESPACE::DOMDocumentFragment *)(arg1)->extractContents();
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 | SWIG_SHADOW); argvi++ ;
-    
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentFragment, 0 | SWIG_SHADOW); argvi++ ;
     
     XSRETURN(argvi);
   fail:
     
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMImplementationLS_createLSInput__SWIG_1) {
+XS(_wrap_DOMRange_cloneContents) {
   {
-    XERCES_CPP_NAMESPACE::DOMImplementationLS *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementationLS *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMLSInput *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMDocumentFragment *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMImplementationLS_createLSInput(self);");
+      SWIG_croak("Usage: DOMRange_cloneContents(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMImplementationLS_createLSInput" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementationLS *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_cloneContents" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementationLS * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMLSInput *)(arg1)->createLSInput();
+        result = (XERCES_CPP_NAMESPACE::DOMDocumentFragment *)((XERCES_CPP_NAMESPACE::DOMRange const *)arg1)->cloneContents();
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 | SWIG_SHADOW); argvi++ ;
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentFragment, 0 | SWIG_SHADOW); argvi++ ;
     
     XSRETURN(argvi);
   fail:
@@ -38051,84 +37646,10 @@ XS(_wrap_DOMImplementationLS_createLSInput__SWIG_1) {
 }
 
 
-XS(_wrap_DOMImplementationLS_createLSInput) {
-  dXSARGS;
-  
+XS(_wrap_DOMRange_insertNode) {
   {
-    unsigned long _index = 0;
-    SWIG_TypeRank _rank = 0; 
-    if ((items >= 1) && (items <= 2)) {
-      SWIG_TypeRank _ranki = 0;
-      SWIG_TypeRank _rankm = 0;
-      SWIG_TypeRank _pi = 1;
-      int _v = 0;
-      {
-        void *vptr = 0;
-        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS, 0);
-        _v = SWIG_CheckState(res);
-      }
-      if (!_v) goto check_1;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      if (items > 1) {
-        {
-          void *vptr = 0;
-          int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemoryManager, 0);
-          _v = SWIG_CheckState(res);
-        }
-        if (!_v) goto check_1;
-        _ranki += _v*_pi;
-        _rankm += _pi;
-        _pi *= SWIG_MAXCASTRANK;
-      }
-      if (!_index || (_ranki < _rank)) {
-        _rank = _ranki; _index = 1;
-        if (_rank == _rankm) goto dispatch;
-      }
-    }
-  check_1:
-    
-    if (items == 1) {
-      SWIG_TypeRank _ranki = 0;
-      SWIG_TypeRank _rankm = 0;
-      SWIG_TypeRank _pi = 1;
-      int _v = 0;
-      {
-        void *vptr = 0;
-        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS, 0);
-        _v = SWIG_CheckState(res);
-      }
-      if (!_v) goto check_2;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      if (!_index || (_ranki < _rank)) {
-        _rank = _ranki; _index = 2;
-        if (_rank == _rankm) goto dispatch;
-      }
-    }
-  check_2:
-    
-  dispatch:
-    switch(_index) {
-    case 1:
-      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_DOMImplementationLS_createLSInput__SWIG_0); return;
-    case 2:
-      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_DOMImplementationLS_createLSInput__SWIG_1); return;
-    }
-  }
-  
-  croak("No matching function for overloaded 'DOMImplementationLS_createLSInput'");
-  XSRETURN(0);
-}
-
-
-XS(_wrap_DOMImplementationLS_createLSOutput__SWIG_0) {
-  {
-    XERCES_CPP_NAMESPACE::DOMImplementationLS *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementationLS *) 0 ;
-    XERCES_CPP_NAMESPACE::MemoryManager *arg2 = (XERCES_CPP_NAMESPACE::MemoryManager *) (XERCES_CPP_NAMESPACE::MemoryManager *)0 ;
-    XERCES_CPP_NAMESPACE::DOMLSOutput *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *arg2 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     void *argp2 = 0 ;
@@ -38136,30 +37657,27 @@ XS(_wrap_DOMImplementationLS_createLSOutput__SWIG_0) {
     int argvi = 0;
     dXSARGS;
     
-    arg2 = XERCES_CPP_NAMESPACE::XMLPlatformUtils::fgMemoryManager;
-    if ((items < 1) || (items > 2)) {
-      SWIG_croak("Usage: DOMImplementationLS_createLSOutput(self,manager);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMRange_insertNode(self,newNode);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMImplementationLS_createLSOutput" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementationLS *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_insertNode" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementationLS * >(argp1);
-    if (items > 1) {
-      res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemoryManager, 0 |  0 );
-      if (!SWIG_IsOK(res2)) {
-        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMImplementationLS_createLSOutput" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::MemoryManager *const""'"); 
-      }
-      arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::MemoryManager * >(argp2);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
+    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMRange_insertNode" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMNode *""'"); 
     }
+    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp2);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMLSOutput *)(arg1)->createLSOutput(arg2);
+        (arg1)->insertNode(arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSOutput, 0 | SWIG_SHADOW); argvi++ ;
+    
     
     
     XSRETURN(argvi);
@@ -38171,138 +37689,74 @@ XS(_wrap_DOMImplementationLS_createLSOutput__SWIG_0) {
 }
 
 
-XS(_wrap_DOMImplementationLS_createLSOutput__SWIG_1) {
+XS(_wrap_DOMRange_surroundContents) {
   {
-    XERCES_CPP_NAMESPACE::DOMImplementationLS *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementationLS *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMLSOutput *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *arg2 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
+    void *argp2 = 0 ;
+    int res2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMImplementationLS_createLSOutput(self);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMRange_surroundContents(self,newParent);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMImplementationLS_createLSOutput" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementationLS *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_surroundContents" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementationLS * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
+    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMRange_surroundContents" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMNode *""'"); 
+    }
+    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp2);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMLSOutput *)(arg1)->createLSOutput();
+        (arg1)->surroundContents(arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSOutput, 0 | SWIG_SHADOW); argvi++ ;
+    
+    
     
     XSRETURN(argvi);
   fail:
     
-    SWIG_croak_null();
-  }
-}
-
-
-XS(_wrap_DOMImplementationLS_createLSOutput) {
-  dXSARGS;
-  
-  {
-    unsigned long _index = 0;
-    SWIG_TypeRank _rank = 0; 
-    if ((items >= 1) && (items <= 2)) {
-      SWIG_TypeRank _ranki = 0;
-      SWIG_TypeRank _rankm = 0;
-      SWIG_TypeRank _pi = 1;
-      int _v = 0;
-      {
-        void *vptr = 0;
-        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS, 0);
-        _v = SWIG_CheckState(res);
-      }
-      if (!_v) goto check_1;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      if (items > 1) {
-        {
-          void *vptr = 0;
-          int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemoryManager, 0);
-          _v = SWIG_CheckState(res);
-        }
-        if (!_v) goto check_1;
-        _ranki += _v*_pi;
-        _rankm += _pi;
-        _pi *= SWIG_MAXCASTRANK;
-      }
-      if (!_index || (_ranki < _rank)) {
-        _rank = _ranki; _index = 1;
-        if (_rank == _rankm) goto dispatch;
-      }
-    }
-  check_1:
-    
-    if (items == 1) {
-      SWIG_TypeRank _ranki = 0;
-      SWIG_TypeRank _rankm = 0;
-      SWIG_TypeRank _pi = 1;
-      int _v = 0;
-      {
-        void *vptr = 0;
-        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS, 0);
-        _v = SWIG_CheckState(res);
-      }
-      if (!_v) goto check_2;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      if (!_index || (_ranki < _rank)) {
-        _rank = _ranki; _index = 2;
-        if (_rank == _rankm) goto dispatch;
-      }
-    }
-  check_2:
     
-  dispatch:
-    switch(_index) {
-    case 1:
-      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_DOMImplementationLS_createLSOutput__SWIG_0); return;
-    case 2:
-      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_DOMImplementationLS_createLSOutput__SWIG_1); return;
-    }
+    SWIG_croak_null();
   }
-  
-  croak("No matching function for overloaded 'DOMImplementationLS_createLSOutput'");
-  XSRETURN(0);
 }
 
 
-XS(_wrap_delete_DOMImplementation) {
+XS(_wrap_DOMRange_cloneRange) {
   {
-    XERCES_CPP_NAMESPACE::DOMImplementation *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementation *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMRange *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: delete_DOMImplementation(self);");
+      SWIG_croak("Usage: DOMRange_cloneRange(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementation, SWIG_POINTER_DISOWN |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMImplementation" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementation *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_cloneRange" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementation * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
     {
       try 
       {
-        delete arg1;
-        
+        result = (XERCES_CPP_NAMESPACE::DOMRange *)((XERCES_CPP_NAMESPACE::DOMRange const *)arg1)->cloneRange();
       } 
       CATCH_DOM_EXCEPTION
     }
-    
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 | SWIG_SHADOW); argvi++ ;
     
     XSRETURN(argvi);
   fail:
@@ -38312,321 +37766,188 @@ XS(_wrap_delete_DOMImplementation) {
 }
 
 
-XS(_wrap_DOMImplementation_hasFeature) {
+XS(_wrap_DOMRange_toString) {
   {
-    XERCES_CPP_NAMESPACE::DOMImplementation *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementation *) 0 ;
-    XMLCh *arg2 = (XMLCh *) 0 ;
-    XMLCh *arg3 = (XMLCh *) 0 ;
-    bool result;
+    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
+    XMLCh *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 3) || (items > 3)) {
-      SWIG_croak("Usage: DOMImplementation_hasFeature(self,feature,version);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMRange_toString(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementation, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMImplementation_hasFeature" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementation const *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementation * >(argp1);
-    
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMImplementation_hasFeature");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
-    }
-    
-    
-    if (ST(2) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",3,"DOMImplementation_hasFeature");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg3 = Perl2XMLString(ST(2));
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_toString" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange const *""'"); 
     }
-    
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
     {
       try 
       {
-        result = (bool)((XERCES_CPP_NAMESPACE::DOMImplementation const *)arg1)->hasFeature((XMLCh const *)arg2,(XMLCh const *)arg3);
+        result = (XMLCh *)((XERCES_CPP_NAMESPACE::DOMRange const *)arg1)->toString();
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
-    
-    
-    delete[] arg2;
     
+    ST(argvi) = XMLString2Perl(result);
+    ++argvi;
     
-    delete[] arg3;
     
     XSRETURN(argvi);
   fail:
     
-    
-    delete[] arg2;
-    
-    
-    delete[] arg3;
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMImplementation_createDocumentType) {
+XS(_wrap_DOMRange_detach) {
   {
-    XERCES_CPP_NAMESPACE::DOMImplementation *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementation *) 0 ;
-    XMLCh *arg2 = (XMLCh *) 0 ;
-    XMLCh *arg3 = (XMLCh *) 0 ;
-    XMLCh *arg4 = (XMLCh *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMDocumentType *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 4) || (items > 4)) {
-      SWIG_croak("Usage: DOMImplementation_createDocumentType(self,qualifiedName,publicId,systemId);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMRange_detach(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementation, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMImplementation_createDocumentType" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementation *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementation * >(argp1);
-    
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMImplementation_createDocumentType");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
-    }
-    
-    
-    if (ST(2) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",3,"DOMImplementation_createDocumentType");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg3 = Perl2XMLString(ST(2));
-    }
-    
-    
-    if (ST(3) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",4,"DOMImplementation_createDocumentType");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg4 = Perl2XMLString(ST(3));
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_detach" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange *""'"); 
     }
-    
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMDocumentType *)(arg1)->createDocumentType((XMLCh const *)arg2,(XMLCh const *)arg3,(XMLCh const *)arg4);
+        (arg1)->detach();
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentType, 0 | SWIG_SHADOW); argvi++ ;
-    
-    
-    delete[] arg2;
-    
-    
-    delete[] arg3;
     
     
-    delete[] arg4;
-    
     XSRETURN(argvi);
   fail:
     
-    
-    delete[] arg2;
-    
-    
-    delete[] arg3;
-    
-    
-    delete[] arg4;
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMImplementation_createDocument__SWIG_0) {
+XS(_wrap_DOMRange_release) {
   {
-    XERCES_CPP_NAMESPACE::DOMImplementation *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementation *) 0 ;
-    XMLCh *arg2 = (XMLCh *) 0 ;
-    XMLCh *arg3 = (XMLCh *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMDocumentType *arg4 = (XERCES_CPP_NAMESPACE::DOMDocumentType *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMDocument *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMRange *arg1 = (XERCES_CPP_NAMESPACE::DOMRange *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    void *argp4 = 0 ;
-    int res4 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 4) || (items > 4)) {
-      SWIG_croak("Usage: DOMImplementation_createDocument(self,namespaceURI,qualifiedName,doctype);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMRange_release(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementation, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRange, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMImplementation_createDocument" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementation *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementation * >(argp1);
-    
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMImplementation_createDocument");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
-    }
-    
-    
-    if (ST(2) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",3,"DOMImplementation_createDocument");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg3 = Perl2XMLString(ST(2));
-    }
-    
-    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentType, 0 |  0 );
-    if (!SWIG_IsOK(res4)) {
-      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "DOMImplementation_createDocument" "', argument " "4"" of type '" "XERCES_CPP_NAMESPACE::DOMDocumentType *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRange_release" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRange *""'"); 
     }
-    arg4 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocumentType * >(argp4);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRange * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMDocument *)(arg1)->createDocument((XMLCh const *)arg2,(XMLCh const *)arg3,arg4);
+        (arg1)->release();
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 | SWIG_SHADOW); argvi++ ;
-    
-    
-    delete[] arg2;
-    
-    
-    delete[] arg3;
     
     
     XSRETURN(argvi);
   fail:
     
-    
-    delete[] arg2;
-    
-    
-    delete[] arg3;
-    
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMImplementation_getFeature) {
+XS(_wrap_new_DOMRangeException) {
   {
-    XERCES_CPP_NAMESPACE::DOMImplementation *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementation *) 0 ;
-    XMLCh *arg2 = (XMLCh *) 0 ;
-    XMLCh *arg3 = (XMLCh *) 0 ;
-    void *result = 0 ;
-    void *argp1 = 0 ;
-    int res1 = 0 ;
+    XERCES_CPP_NAMESPACE::DOMRangeException::RangeExceptionCode arg1 ;
+    short arg2 ;
+    XERCES_CPP_NAMESPACE::MemoryManager *arg3 = (XERCES_CPP_NAMESPACE::MemoryManager *) (XERCES_CPP_NAMESPACE::MemoryManager *)0 ;
+    XERCES_CPP_NAMESPACE::DOMRangeException *result = 0 ;
+    int val1 ;
+    int ecode1 = 0 ;
+    short val2 ;
+    int ecode2 = 0 ;
+    void *argp3 = 0 ;
+    int res3 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 3) || (items > 3)) {
-      SWIG_croak("Usage: DOMImplementation_getFeature(self,feature,version);");
-    }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementation, 0 |  0 );
-    if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMImplementation_getFeature" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementation const *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementation * >(argp1);
-    
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMImplementation_getFeature");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
+      SWIG_croak("Usage: new_DOMRangeException(code,messageCode,memoryManager);");
     }
-    
-    
-    if (ST(2) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",3,"DOMImplementation_getFeature");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg3 = Perl2XMLString(ST(2));
+    ecode1 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
+    if (!SWIG_IsOK(ecode1)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_DOMRangeException" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRangeException::RangeExceptionCode""'");
+    } 
+    arg1 = static_cast< XERCES_CPP_NAMESPACE::DOMRangeException::RangeExceptionCode >(val1);
+    ecode2 = SWIG_AsVal_short SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
+    if (!SWIG_IsOK(ecode2)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_DOMRangeException" "', argument " "2"" of type '" "short""'");
+    } 
+    arg2 = static_cast< short >(val2);
+    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemoryManager, 0 |  0 );
+    if (!SWIG_IsOK(res3)) {
+      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_DOMRangeException" "', argument " "3"" of type '" "XERCES_CPP_NAMESPACE::MemoryManager *const""'"); 
     }
-    
+    arg3 = reinterpret_cast< XERCES_CPP_NAMESPACE::MemoryManager * >(argp3);
     {
       try 
       {
-        result = (void *)((XERCES_CPP_NAMESPACE::DOMImplementation const *)arg1)->getFeature((XMLCh const *)arg2,(XMLCh const *)arg3);
+        result = (XERCES_CPP_NAMESPACE::DOMRangeException *)new XERCES_CPP_NAMESPACE::DOMRangeException(arg1,arg2,arg3);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 | 0); argvi++ ;
-    
-    
-    delete[] arg2;
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRangeException, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
     
     
-    delete[] arg3;
     
     XSRETURN(argvi);
   fail:
     
     
-    delete[] arg2;
-    
-    
-    delete[] arg3;
     
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMImplementation_createDocument__SWIG_1) {
+XS(_wrap_delete_DOMRangeException) {
   {
-    XERCES_CPP_NAMESPACE::DOMImplementation *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementation *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMDocument *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMRangeException *arg1 = (XERCES_CPP_NAMESPACE::DOMRangeException *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMImplementation_createDocument(self);");
+      SWIG_croak("Usage: delete_DOMRangeException(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementation, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRangeException, SWIG_POINTER_DISOWN |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMImplementation_createDocument" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementation *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMRangeException" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRangeException *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementation * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRangeException * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMDocument *)(arg1)->createDocument();
+        delete arg1;
+        
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 | SWIG_SHADOW); argvi++ ;
+    
     
     XSRETURN(argvi);
   fail:
@@ -38636,135 +37957,88 @@ XS(_wrap_DOMImplementation_createDocument__SWIG_1) {
 }
 
 
-XS(_wrap_DOMImplementation_createDocument) {
-  dXSARGS;
-  
+XS(_wrap_DOMRangeException_code_set) {
   {
-    unsigned long _index = 0;
-    SWIG_TypeRank _rank = 0; 
-    if (items == 1) {
-      SWIG_TypeRank _ranki = 0;
-      SWIG_TypeRank _rankm = 0;
-      SWIG_TypeRank _pi = 1;
-      int _v = 0;
-      {
-        void *vptr = 0;
-        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementation, 0);
-        _v = SWIG_CheckState(res);
-      }
-      if (!_v) goto check_1;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      if (!_index || (_ranki < _rank)) {
-        _rank = _ranki; _index = 1;
-        if (_rank == _rankm) goto dispatch;
-      }
-    }
-  check_1:
+    XERCES_CPP_NAMESPACE::DOMRangeException *arg1 = (XERCES_CPP_NAMESPACE::DOMRangeException *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMRangeException::RangeExceptionCode arg2 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int val2 ;
+    int ecode2 = 0 ;
+    int argvi = 0;
+    dXSARGS;
     
-    if (items == 4) {
-      SWIG_TypeRank _ranki = 0;
-      SWIG_TypeRank _rankm = 0;
-      SWIG_TypeRank _pi = 1;
-      int _v = 0;
-      {
-        void *vptr = 0;
-        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementation, 0);
-        _v = SWIG_CheckState(res);
-      }
-      if (!_v) goto check_2;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      {
-        {
-          _v = SvOK(ST(1)) ? 1 : 0; 
-        }
-      }
-      if (!_v) goto check_2;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      {
-        {
-          _v = SvOK(ST(2)) ? 1 : 0; 
-        }
-      }
-      if (!_v) goto check_2;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      {
-        void *vptr = 0;
-        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentType, 0);
-        _v = SWIG_CheckState(res);
-      }
-      if (!_v) goto check_2;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      if (!_index || (_ranki < _rank)) {
-        _rank = _ranki; _index = 2;
-        if (_rank == _rankm) goto dispatch;
-      }
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMRangeException_code_set(self,code);");
     }
-  check_2:
-    
-  dispatch:
-    switch(_index) {
-    case 1:
-      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_DOMImplementation_createDocument__SWIG_1); return;
-    case 2:
-      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_DOMImplementation_createDocument__SWIG_0); return;
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRangeException, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRangeException_code_set" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRangeException *""'"); 
     }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRangeException * >(argp1);
+    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
+    if (!SWIG_IsOK(ecode2)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DOMRangeException_code_set" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMRangeException::RangeExceptionCode""'");
+    } 
+    arg2 = static_cast< XERCES_CPP_NAMESPACE::DOMRangeException::RangeExceptionCode >(val2);
+    if (arg1) (arg1)->code = arg2;
+    
+    
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    SWIG_croak_null();
   }
-  
-  croak("No matching function for overloaded 'DOMImplementation_createDocument'");
-  XSRETURN(0);
 }
 
 
-XS(_wrap_DOMImplementation_getImplementation) {
+XS(_wrap_DOMRangeException_code_get) {
   {
-    XERCES_CPP_NAMESPACE::DOMImplementation *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMRangeException *arg1 = (XERCES_CPP_NAMESPACE::DOMRangeException *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMRangeException::RangeExceptionCode result;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 0) || (items > 0)) {
-      SWIG_croak("Usage: DOMImplementation_getImplementation();");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMRangeException_code_get(self);");
     }
-    {
-      try 
-      {
-        result = (XERCES_CPP_NAMESPACE::DOMImplementation *)XERCES_CPP_NAMESPACE::DOMImplementation::getImplementation();
-      } 
-      CATCH_DOM_EXCEPTION
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRangeException, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMRangeException_code_get" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMRangeException *""'"); 
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementation, 0 | SWIG_SHADOW); argvi++ ;
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMRangeException * >(argp1);
+    result = (XERCES_CPP_NAMESPACE::DOMRangeException::RangeExceptionCode) ((arg1)->code);
+    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
+    
     XSRETURN(argvi);
   fail:
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_delete_DOMImplementationSource) {
+XS(_wrap_delete_DOMTreeWalker) {
   {
-    XERCES_CPP_NAMESPACE::DOMImplementationSource *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementationSource *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMTreeWalker *arg1 = (XERCES_CPP_NAMESPACE::DOMTreeWalker *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: delete_DOMImplementationSource(self);");
+      SWIG_croak("Usage: delete_DOMTreeWalker(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationSource, SWIG_POINTER_DISOWN |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker, SWIG_POINTER_DISOWN |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMImplementationSource" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementationSource *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMTreeWalker" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMTreeWalker *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementationSource * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMTreeWalker * >(argp1);
     {
       try 
       {
@@ -38783,210 +38057,167 @@ XS(_wrap_delete_DOMImplementationSource) {
 }
 
 
-XS(_wrap_DOMImplementationSource_getDOMImplementation) {
+XS(_wrap_DOMTreeWalker_getRoot) {
   {
-    XERCES_CPP_NAMESPACE::DOMImplementationSource *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementationSource *) 0 ;
-    XMLCh *arg2 = (XMLCh *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMImplementation *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMTreeWalker *arg1 = (XERCES_CPP_NAMESPACE::DOMTreeWalker *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMImplementationSource_getDOMImplementation(self,features);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMTreeWalker_getRoot(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationSource, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMImplementationSource_getDOMImplementation" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementationSource const *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementationSource * >(argp1);
-    
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMImplementationSource_getDOMImplementation");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMTreeWalker_getRoot" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMTreeWalker *""'"); 
     }
-    
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMTreeWalker * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMImplementation *)((XERCES_CPP_NAMESPACE::DOMImplementationSource const *)arg1)->getDOMImplementation((XMLCh const *)arg2);
+        result = (XERCES_CPP_NAMESPACE::DOMNode *)(arg1)->getRoot();
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementation, 0 | SWIG_SHADOW); argvi++ ;
-    
-    
-    delete[] arg2;
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
     
     XSRETURN(argvi);
   fail:
     
-    
-    delete[] arg2;
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMImplementationSource_getDOMImplementationList) {
+XS(_wrap_DOMTreeWalker_getWhatToShow) {
   {
-    XERCES_CPP_NAMESPACE::DOMImplementationSource *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementationSource *) 0 ;
-    XMLCh *arg2 = (XMLCh *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMImplementationList *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMTreeWalker *arg1 = (XERCES_CPP_NAMESPACE::DOMTreeWalker *) 0 ;
+    unsigned long result;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMImplementationSource_getDOMImplementationList(self,features);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMTreeWalker_getWhatToShow(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationSource, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMImplementationSource_getDOMImplementationList" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementationSource const *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementationSource * >(argp1);
-    
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMImplementationSource_getDOMImplementationList");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMTreeWalker_getWhatToShow" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMTreeWalker *""'"); 
     }
-    
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMTreeWalker * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMImplementationList *)((XERCES_CPP_NAMESPACE::DOMImplementationSource const *)arg1)->getDOMImplementationList((XMLCh const *)arg2);
+        result = (unsigned long)(arg1)->getWhatToShow();
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationList, 0 | 0); argvi++ ;
-    
-    
-    delete[] arg2;
+    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
     
     XSRETURN(argvi);
   fail:
     
-    
-    delete[] arg2;
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMImplementationRegistry_getDOMImplementation) {
+XS(_wrap_DOMTreeWalker_getFilter) {
   {
-    XMLCh *arg1 = (XMLCh *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMImplementation *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMTreeWalker *arg1 = (XERCES_CPP_NAMESPACE::DOMTreeWalker *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNodeFilter *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMImplementationRegistry_getDOMImplementation(features);");
+      SWIG_croak("Usage: DOMTreeWalker_getFilter(self);");
     }
-    
-    if (ST(0) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",1,"DOMImplementationRegistry_getDOMImplementation");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg1 = Perl2XMLString(ST(0));
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMTreeWalker_getFilter" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMTreeWalker *""'"); 
     }
-    
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMTreeWalker * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMImplementation *)XERCES_CPP_NAMESPACE::DOMImplementationRegistry::getDOMImplementation((uint16_t const *)arg1);
+        result = (XERCES_CPP_NAMESPACE::DOMNodeFilter *)(arg1)->getFilter();
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementation, 0 | SWIG_SHADOW); argvi++ ;
-    
-    delete[] arg1;
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeFilter, 0 | SWIG_SHADOW); argvi++ ;
     
     XSRETURN(argvi);
   fail:
     
-    delete[] arg1;
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMImplementationRegistry_getDOMImplementationList) {
+XS(_wrap_DOMTreeWalker_getExpandEntityReferences) {
   {
-    XMLCh *arg1 = (XMLCh *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMImplementationList *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMTreeWalker *arg1 = (XERCES_CPP_NAMESPACE::DOMTreeWalker *) 0 ;
+    bool result;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMImplementationRegistry_getDOMImplementationList(features);");
+      SWIG_croak("Usage: DOMTreeWalker_getExpandEntityReferences(self);");
     }
-    
-    if (ST(0) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",1,"DOMImplementationRegistry_getDOMImplementationList");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg1 = Perl2XMLString(ST(0));
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMTreeWalker_getExpandEntityReferences" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMTreeWalker *""'"); 
     }
-    
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMTreeWalker * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMImplementationList *)XERCES_CPP_NAMESPACE::DOMImplementationRegistry::getDOMImplementationList((uint16_t const *)arg1);
+        result = (bool)(arg1)->getExpandEntityReferences();
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationList, 0 | 0); argvi++ ;
-    
-    delete[] arg1;
+    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
     
     XSRETURN(argvi);
   fail:
     
-    delete[] arg1;
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMImplementationRegistry_addSource) {
+XS(_wrap_DOMTreeWalker_getCurrentNode) {
   {
-    XERCES_CPP_NAMESPACE::DOMImplementationSource *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementationSource *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMTreeWalker *arg1 = (XERCES_CPP_NAMESPACE::DOMTreeWalker *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMImplementationRegistry_addSource(source);");
+      SWIG_croak("Usage: DOMTreeWalker_getCurrentNode(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationSource, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMImplementationRegistry_addSource" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementationSource *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMTreeWalker_getCurrentNode" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMTreeWalker *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementationSource * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMTreeWalker * >(argp1);
     {
       try 
       {
-        XERCES_CPP_NAMESPACE::DOMImplementationRegistry::addSource(arg1);
+        result = (XERCES_CPP_NAMESPACE::DOMNode *)(arg1)->getCurrentNode();
       } 
       CATCH_DOM_EXCEPTION
     }
-    
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
     
     XSRETURN(argvi);
   fail:
@@ -38996,31 +38227,31 @@ XS(_wrap_DOMImplementationRegistry_addSource) {
 }
 
 
-XS(_wrap_delete_DOMImplementationRegistry) {
+XS(_wrap_DOMTreeWalker_parentNode) {
   {
-    XERCES_CPP_NAMESPACE::DOMImplementationRegistry *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementationRegistry *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMTreeWalker *arg1 = (XERCES_CPP_NAMESPACE::DOMTreeWalker *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: delete_DOMImplementationRegistry(self);");
+      SWIG_croak("Usage: DOMTreeWalker_parentNode(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationRegistry, SWIG_POINTER_DISOWN |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMImplementationRegistry" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementationRegistry *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMTreeWalker_parentNode" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMTreeWalker *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementationRegistry * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMTreeWalker * >(argp1);
     {
       try 
       {
-        delete arg1;
-        
+        result = (XERCES_CPP_NAMESPACE::DOMNode *)(arg1)->parentNode();
       } 
       CATCH_DOM_EXCEPTION
     }
-    
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
     
     XSRETURN(argvi);
   fail:
@@ -39030,31 +38261,31 @@ XS(_wrap_delete_DOMImplementationRegistry) {
 }
 
 
-XS(_wrap_delete_DOMErrorHandler) {
+XS(_wrap_DOMTreeWalker_firstChild) {
   {
-    XERCES_CPP_NAMESPACE::DOMErrorHandler *arg1 = (XERCES_CPP_NAMESPACE::DOMErrorHandler *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMTreeWalker *arg1 = (XERCES_CPP_NAMESPACE::DOMTreeWalker *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: delete_DOMErrorHandler(self);");
+      SWIG_croak("Usage: DOMTreeWalker_firstChild(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMErrorHandler, SWIG_POINTER_DISOWN |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMErrorHandler" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMErrorHandler *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMTreeWalker_firstChild" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMTreeWalker *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMErrorHandler * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMTreeWalker * >(argp1);
     {
       try 
       {
-        delete arg1;
-        
+        result = (XERCES_CPP_NAMESPACE::DOMNode *)(arg1)->firstChild();
       } 
       CATCH_DOM_EXCEPTION
     }
-    
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
     
     XSRETURN(argvi);
   fail:
@@ -39064,78 +38295,65 @@ XS(_wrap_delete_DOMErrorHandler) {
 }
 
 
-XS(_wrap_DOMErrorHandler_handleError) {
+XS(_wrap_DOMTreeWalker_lastChild) {
   {
-    XERCES_CPP_NAMESPACE::DOMErrorHandler *arg1 = (XERCES_CPP_NAMESPACE::DOMErrorHandler *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMError *arg2 = 0 ;
-    bool result;
+    XERCES_CPP_NAMESPACE::DOMTreeWalker *arg1 = (XERCES_CPP_NAMESPACE::DOMTreeWalker *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    void *argp2 ;
-    int res2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMErrorHandler_handleError(self,domError);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMTreeWalker_lastChild(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMErrorHandler, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMErrorHandler_handleError" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMErrorHandler *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMErrorHandler * >(argp1);
-    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMError,  0 );
-    if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMErrorHandler_handleError" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMError const &""'"); 
-    }
-    if (!argp2) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "DOMErrorHandler_handleError" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMError const &""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMTreeWalker_lastChild" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMTreeWalker *""'"); 
     }
-    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMError * >(argp2);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMTreeWalker * >(argp1);
     {
       try 
       {
-        result = (bool)(arg1)->handleError((XERCES_CPP_NAMESPACE::DOMError const &)*arg2);
+        result = (XERCES_CPP_NAMESPACE::DOMNode *)(arg1)->lastChild();
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
-    
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
     
     XSRETURN(argvi);
   fail:
     
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_delete_DOMDocument) {
+XS(_wrap_DOMTreeWalker_previousSibling) {
   {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMTreeWalker *arg1 = (XERCES_CPP_NAMESPACE::DOMTreeWalker *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: delete_DOMDocument(self);");
+      SWIG_croak("Usage: DOMTreeWalker_previousSibling(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, SWIG_POINTER_DISOWN |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMDocument" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMTreeWalker_previousSibling" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMTreeWalker *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMTreeWalker * >(argp1);
     {
       try 
       {
-        delete arg1;
-        
+        result = (XERCES_CPP_NAMESPACE::DOMNode *)(arg1)->previousSibling();
       } 
       CATCH_DOM_EXCEPTION
     }
-    
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
     
     XSRETURN(argvi);
   fail:
@@ -39145,81 +38363,65 @@ XS(_wrap_delete_DOMDocument) {
 }
 
 
-XS(_wrap_DOMDocument_createElement) {
+XS(_wrap_DOMTreeWalker_nextSibling) {
   {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
-    XMLCh *arg2 = (XMLCh *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMElement *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMTreeWalker *arg1 = (XERCES_CPP_NAMESPACE::DOMTreeWalker *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMDocument_createElement(self,tagName);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMTreeWalker_nextSibling(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_createElement" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
-    
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_createElement");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMTreeWalker_nextSibling" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMTreeWalker *""'"); 
     }
-    
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMTreeWalker * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMElement *)(arg1)->createElement((XMLCh const *)arg2);
+        result = (XERCES_CPP_NAMESPACE::DOMNode *)(arg1)->nextSibling();
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMElement, 0 | SWIG_SHADOW); argvi++ ;
-    
-    
-    delete[] arg2;
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
     
     XSRETURN(argvi);
   fail:
     
-    
-    delete[] arg2;
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMDocument_createDocumentFragment) {
+XS(_wrap_DOMTreeWalker_previousNode) {
   {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMDocumentFragment *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMTreeWalker *arg1 = (XERCES_CPP_NAMESPACE::DOMTreeWalker *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMDocument_createDocumentFragment(self);");
+      SWIG_croak("Usage: DOMTreeWalker_previousNode(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_createDocumentFragment" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMTreeWalker_previousNode" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMTreeWalker *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMTreeWalker * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMDocumentFragment *)(arg1)->createDocumentFragment();
+        result = (XERCES_CPP_NAMESPACE::DOMNode *)(arg1)->previousNode();
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentFragment, 0 | SWIG_SHADOW); argvi++ ;
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
     
     XSRETURN(argvi);
   fail:
@@ -39229,639 +38431,559 @@ XS(_wrap_DOMDocument_createDocumentFragment) {
 }
 
 
-XS(_wrap_DOMDocument_createTextNode) {
+XS(_wrap_DOMTreeWalker_nextNode) {
   {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
-    XMLCh *arg2 = (XMLCh *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMText *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMTreeWalker *arg1 = (XERCES_CPP_NAMESPACE::DOMTreeWalker *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMDocument_createTextNode(self,data);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMTreeWalker_nextNode(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_createTextNode" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
-    
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_createTextNode");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMTreeWalker_nextNode" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMTreeWalker *""'"); 
     }
-    
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMTreeWalker * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMText *)(arg1)->createTextNode((XMLCh const *)arg2);
+        result = (XERCES_CPP_NAMESPACE::DOMNode *)(arg1)->nextNode();
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMText, 0 | SWIG_SHADOW); argvi++ ;
-    
-    
-    delete[] arg2;
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
     
     XSRETURN(argvi);
   fail:
     
-    
-    delete[] arg2;
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMDocument_createComment) {
+XS(_wrap_DOMTreeWalker_setCurrentNode) {
   {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
-    XMLCh *arg2 = (XMLCh *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMComment *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMTreeWalker *arg1 = (XERCES_CPP_NAMESPACE::DOMTreeWalker *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *arg2 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
+    void *argp2 = 0 ;
+    int res2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMDocument_createComment(self,data);");
+      SWIG_croak("Usage: DOMTreeWalker_setCurrentNode(self,currentNode);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_createComment" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMTreeWalker_setCurrentNode" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMTreeWalker *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
-    
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_createComment");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMTreeWalker * >(argp1);
+    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMTreeWalker_setCurrentNode" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMNode *""'"); 
     }
-    
+    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp2);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMComment *)(arg1)->createComment((XMLCh const *)arg2);
+        (arg1)->setCurrentNode(arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMComment, 0 | SWIG_SHADOW); argvi++ ;
     
     
-    delete[] arg2;
     
     XSRETURN(argvi);
   fail:
     
     
-    delete[] arg2;
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMDocument_createCDATASection) {
+XS(_wrap_DOMTreeWalker_release) {
   {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
-    XMLCh *arg2 = (XMLCh *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMCDATASection *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMTreeWalker *arg1 = (XERCES_CPP_NAMESPACE::DOMTreeWalker *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMDocument_createCDATASection(self,data);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMTreeWalker_release(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_createCDATASection" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
-    
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_createCDATASection");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMTreeWalker_release" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMTreeWalker *""'"); 
     }
-    
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMTreeWalker * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMCDATASection *)(arg1)->createCDATASection((XMLCh const *)arg2);
+        (arg1)->release();
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMCDATASection, 0 | SWIG_SHADOW); argvi++ ;
     
     
-    delete[] arg2;
-    
     XSRETURN(argvi);
   fail:
     
-    
-    delete[] arg2;
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMDocument_createProcessingInstruction) {
+XS(_wrap_delete_DOMUserDataHandler) {
   {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
-    XMLCh *arg2 = (XMLCh *) 0 ;
-    XMLCh *arg3 = (XMLCh *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMProcessingInstruction *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMUserDataHandler *arg1 = (XERCES_CPP_NAMESPACE::DOMUserDataHandler *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 3) || (items > 3)) {
-      SWIG_croak("Usage: DOMDocument_createProcessingInstruction(self,target,data);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: delete_DOMUserDataHandler(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMUserDataHandler, SWIG_POINTER_DISOWN |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_createProcessingInstruction" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
-    
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_createProcessingInstruction");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
-    }
-    
-    
-    if (ST(2) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",3,"DOMDocument_createProcessingInstruction");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg3 = Perl2XMLString(ST(2));
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMUserDataHandler" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMUserDataHandler *""'"); 
     }
-    
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMUserDataHandler * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMProcessingInstruction *)(arg1)->createProcessingInstruction((XMLCh const *)arg2,(XMLCh const *)arg3);
+        delete arg1;
+        
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMProcessingInstruction, 0 | SWIG_SHADOW); argvi++ ;
-    
-    
-    delete[] arg2;
-    
     
-    delete[] arg3;
     
     XSRETURN(argvi);
   fail:
     
-    
-    delete[] arg2;
-    
-    
-    delete[] arg3;
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMDocument_createAttribute) {
+XS(_wrap_DOMUserDataHandler_handle) {
   {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
-    XMLCh *arg2 = (XMLCh *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMAttr *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMUserDataHandler *arg1 = (XERCES_CPP_NAMESPACE::DOMUserDataHandler *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMUserDataHandler::DOMOperationType arg2 ;
+    XMLCh *arg3 = (XMLCh *) (XMLCh *)0 ;
+    void *arg4 = (void *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *arg5 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *arg6 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
+    int val2 ;
+    int ecode2 = 0 ;
+    void *argp5 = 0 ;
+    int res5 = 0 ;
+    void *argp6 = 0 ;
+    int res6 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMDocument_createAttribute(self,name);");
+    if ((items < 6) || (items > 6)) {
+      SWIG_croak("Usage: DOMUserDataHandler_handle(self,operation,key,data,src,dst);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMUserDataHandler, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_createAttribute" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMUserDataHandler_handle" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMUserDataHandler *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMUserDataHandler * >(argp1);
+    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
+    if (!SWIG_IsOK(ecode2)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DOMUserDataHandler_handle" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMUserDataHandler::DOMOperationType""'");
+    } 
+    arg2 = static_cast< XERCES_CPP_NAMESPACE::DOMUserDataHandler::DOMOperationType >(val2);
     
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_createAttribute");
+    if (ST(2) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",3,"DOMUserDataHandler_handle");
       goto fail;
     } else {
       // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
+      arg3 = Perl2XMLString(ST(2));
     }
     
+    {
+      arg4 = (void*) ST(3);
+    }
+    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
+    if (!SWIG_IsOK(res5)) {
+      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "DOMUserDataHandler_handle" "', argument " "5"" of type '" "XERCES_CPP_NAMESPACE::DOMNode const *""'"); 
+    }
+    arg5 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp5);
+    res6 = SWIG_ConvertPtr(ST(5), &argp6,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
+    if (!SWIG_IsOK(res6)) {
+      SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "DOMUserDataHandler_handle" "', argument " "6"" of type '" "XERCES_CPP_NAMESPACE::DOMNode const *""'"); 
+    }
+    arg6 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp6);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMAttr *)(arg1)->createAttribute((XMLCh const *)arg2);
+        (arg1)->handle(arg2,(XMLCh const *)arg3,arg4,(XERCES_CPP_NAMESPACE::DOMNode const *)arg5,(XERCES_CPP_NAMESPACE::DOMNode const *)arg6);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMAttr, 0 | SWIG_SHADOW); argvi++ ;
     
     
-    delete[] arg2;
+    
+    
+    delete[] arg3;
+    
+    
+    delete[] arg4;
+    
+    
     
     XSRETURN(argvi);
   fail:
     
     
-    delete[] arg2;
+    
+    delete[] arg3;
+    
+    
+    delete[] arg4;
+    
+    
     
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMDocument_createEntityReference) {
+XS(_wrap_DOMConfiguration_setParameter__SWIG_0) {
   {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMConfiguration *arg1 = (XERCES_CPP_NAMESPACE::DOMConfiguration *) 0 ;
     XMLCh *arg2 = (XMLCh *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMEntityReference *result = 0 ;
+    void *arg3 = (void *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMDocument_createEntityReference(self,name);");
+    if ((items < 3) || (items > 3)) {
+      SWIG_croak("Usage: DOMConfiguration_setParameter(self,name,value);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMConfiguration, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_createEntityReference" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMConfiguration_setParameter" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMConfiguration *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMConfiguration * >(argp1);
     
     if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_createEntityReference");
+      SWIG_Perl_NullRef("perl-string",2,"DOMConfiguration_setParameter");
       goto fail;
     } else {
       // we convert *everything* into a string that isn't undef
       arg2 = Perl2XMLString(ST(1));
     }
     
+    {
+      // now check the value
+      if (ST(2) == &PL_sv_undef) {
+        SWIG_Perl_NullRef("perl-string",3,"DOMConfiguration_setParameter");
+        goto fail;
+      } else {
+        // we convert *everything* into a string that isn't undef
+        arg3 = Perl2XMLString(ST(2));
+      }
+    }
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMEntityReference *)(arg1)->createEntityReference((XMLCh const *)arg2);
+        (arg1)->setParameter((XMLCh const *)arg2,(void const *)arg3);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMEntityReference, 0 | SWIG_SHADOW); argvi++ ;
-    
-    
-    delete[] arg2;
     
-    XSRETURN(argvi);
-  fail:
     
     
     delete[] arg2;
     
-    SWIG_croak_null();
-  }
-}
-
-
-XS(_wrap_DOMDocument_getDoctype) {
-  {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMDocumentType *result = 0 ;
-    void *argp1 = 0 ;
-    int res1 = 0 ;
-    int argvi = 0;
-    dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMDocument_getDoctype(self);");
-    }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
-    if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_getDoctype" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument const *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
-    {
-      try 
-      {
-        result = (XERCES_CPP_NAMESPACE::DOMDocumentType *)((XERCES_CPP_NAMESPACE::DOMDocument const *)arg1)->getDoctype();
-      } 
-      CATCH_DOM_EXCEPTION
-    }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentType, 0 | SWIG_SHADOW); argvi++ ;
+    delete[] arg3;
     
     XSRETURN(argvi);
   fail:
     
-    SWIG_croak_null();
-  }
-}
-
-
-XS(_wrap_DOMDocument_getImplementation) {
-  {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMImplementation *result = 0 ;
-    void *argp1 = 0 ;
-    int res1 = 0 ;
-    int argvi = 0;
-    dXSARGS;
-    
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMDocument_getImplementation(self);");
-    }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
-    if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_getImplementation" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument const *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
-    {
-      try 
-      {
-        result = (XERCES_CPP_NAMESPACE::DOMImplementation *)((XERCES_CPP_NAMESPACE::DOMDocument const *)arg1)->getImplementation();
-      } 
-      CATCH_DOM_EXCEPTION
-    }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementation, 0 | SWIG_SHADOW); argvi++ ;
-    
-    XSRETURN(argvi);
-  fail:
     
-    SWIG_croak_null();
-  }
-}
-
-
-XS(_wrap_DOMDocument_getDocumentElement) {
-  {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMElement *result = 0 ;
-    void *argp1 = 0 ;
-    int res1 = 0 ;
-    int argvi = 0;
-    dXSARGS;
+    delete[] arg2;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMDocument_getDocumentElement(self);");
-    }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
-    if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_getDocumentElement" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument const *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
-    {
-      try 
-      {
-        result = (XERCES_CPP_NAMESPACE::DOMElement *)((XERCES_CPP_NAMESPACE::DOMDocument const *)arg1)->getDocumentElement();
-      } 
-      CATCH_DOM_EXCEPTION
-    }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMElement, 0 | SWIG_SHADOW); argvi++ ;
     
-    XSRETURN(argvi);
-  fail:
+    delete[] arg3;
     
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMDocument_getElementsByTagName) {
+XS(_wrap_DOMConfiguration_setParameter__SWIG_1) {
   {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMConfiguration *arg1 = (XERCES_CPP_NAMESPACE::DOMConfiguration *) 0 ;
     XMLCh *arg2 = (XMLCh *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMNodeList *result = 0 ;
+    bool arg3 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
+    bool val3 ;
+    int ecode3 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMDocument_getElementsByTagName(self,tagname);");
+    if ((items < 3) || (items > 3)) {
+      SWIG_croak("Usage: DOMConfiguration_setParameter(self,name,value);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMConfiguration, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_getElementsByTagName" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMConfiguration_setParameter" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMConfiguration *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMConfiguration * >(argp1);
     
     if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_getElementsByTagName");
+      SWIG_Perl_NullRef("perl-string",2,"DOMConfiguration_setParameter");
       goto fail;
     } else {
       // we convert *everything* into a string that isn't undef
       arg2 = Perl2XMLString(ST(1));
     }
     
+    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
+    if (!SWIG_IsOK(ecode3)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "DOMConfiguration_setParameter" "', argument " "3"" of type '" "bool""'");
+    } 
+    arg3 = static_cast< bool >(val3);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMNodeList *)((XERCES_CPP_NAMESPACE::DOMDocument const *)arg1)->getElementsByTagName((XMLCh const *)arg2);
+        (arg1)->setParameter((XMLCh const *)arg2,arg3);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeList, 0 | SWIG_SHADOW); argvi++ ;
+    
     
     
     delete[] arg2;
     
+    
     XSRETURN(argvi);
   fail:
     
     
     delete[] arg2;
     
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMDocument_importNode) {
+XS(_wrap_DOMConfiguration_setParameter) {
+  dXSARGS;
+  
   {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMNode *arg2 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
-    bool arg3 ;
-    XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
-    void *argp1 = 0 ;
-    int res1 = 0 ;
-    void *argp2 = 0 ;
-    int res2 = 0 ;
-    bool val3 ;
-    int ecode3 = 0 ;
-    int argvi = 0;
-    dXSARGS;
-    
-    if ((items < 3) || (items > 3)) {
-      SWIG_croak("Usage: DOMDocument_importNode(self,importedNode,deep);");
-    }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
-    if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_importNode" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
-    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
-    if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMDocument_importNode" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMNode const *""'"); 
-    }
-    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp2);
-    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
-    if (!SWIG_IsOK(ecode3)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "DOMDocument_importNode" "', argument " "3"" of type '" "bool""'");
-    } 
-    arg3 = static_cast< bool >(val3);
-    {
-      try 
+    unsigned long _index = 0;
+    SWIG_TypeRank _rank = 0; 
+    if (items == 3) {
+      SWIG_TypeRank _ranki = 0;
+      SWIG_TypeRank _rankm = 0;
+      SWIG_TypeRank _pi = 1;
+      int _v = 0;
       {
-        result = (XERCES_CPP_NAMESPACE::DOMNode *)(arg1)->importNode((XERCES_CPP_NAMESPACE::DOMNode const *)arg2,arg3);
-      } 
-      CATCH_DOM_EXCEPTION
+        void *vptr = 0;
+        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMConfiguration, 0);
+        _v = SWIG_CheckState(res);
+      }
+      if (!_v) goto check_1;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        {
+          _v = SvOK(ST(1)) ? 1 : 0; 
+        }
+      }
+      if (!_v) goto check_1;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        void *ptr = 0;
+        int res = SWIG_ConvertPtr(ST(2), &ptr, 0, 0);
+        _v = SWIG_CheckState(res);
+      }
+      if (!_v) goto check_1;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      if (!_index || (_ranki < _rank)) {
+        _rank = _ranki; _index = 1;
+        if (_rank == _rankm) goto dispatch;
+      }
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
-    
-    
-    
-    XSRETURN(argvi);
-  fail:
-    
+  check_1:
     
+    if (items == 3) {
+      SWIG_TypeRank _ranki = 0;
+      SWIG_TypeRank _rankm = 0;
+      SWIG_TypeRank _pi = 1;
+      int _v = 0;
+      {
+        void *vptr = 0;
+        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMConfiguration, 0);
+        _v = SWIG_CheckState(res);
+      }
+      if (!_v) goto check_2;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        {
+          _v = SvOK(ST(1)) ? 1 : 0; 
+        }
+      }
+      if (!_v) goto check_2;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        {
+          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
+          _v = SWIG_CheckState(res);
+        }
+      }
+      if (!_v) goto check_2;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      if (!_index || (_ranki < _rank)) {
+        _rank = _ranki; _index = 2;
+        if (_rank == _rankm) goto dispatch;
+      }
+    }
+  check_2:
     
-    SWIG_croak_null();
+  dispatch:
+    switch(_index) {
+    case 1:
+      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_DOMConfiguration_setParameter__SWIG_0); return;
+    case 2:
+      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_DOMConfiguration_setParameter__SWIG_1); return;
+    }
   }
+  
+  croak("No matching function for overloaded 'DOMConfiguration_setParameter'");
+  XSRETURN(0);
 }
 
 
-XS(_wrap_DOMDocument_createElementNS__SWIG_0) {
+XS(_wrap_DOMConfiguration_getParameter) {
   {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMConfiguration *arg1 = (XERCES_CPP_NAMESPACE::DOMConfiguration *) 0 ;
     XMLCh *arg2 = (XMLCh *) 0 ;
-    XMLCh *arg3 = (XMLCh *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMElement *result = 0 ;
+    void *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 3) || (items > 3)) {
-      SWIG_croak("Usage: DOMDocument_createElementNS(self,namespaceURI,qualifiedName);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMConfiguration_getParameter(self,name);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMConfiguration, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_createElementNS" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMConfiguration_getParameter" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMConfiguration const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMConfiguration * >(argp1);
     
     if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_createElementNS");
+      SWIG_Perl_NullRef("perl-string",2,"DOMConfiguration_getParameter");
       goto fail;
     } else {
       // we convert *everything* into a string that isn't undef
       arg2 = Perl2XMLString(ST(1));
     }
     
-    
-    if (ST(2) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",3,"DOMDocument_createElementNS");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg3 = Perl2XMLString(ST(2));
-    }
-    
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMElement *)(arg1)->createElementNS((XMLCh const *)arg2,(XMLCh const *)arg3);
+        result = (void *)((XERCES_CPP_NAMESPACE::DOMConfiguration const *)arg1)->getParameter((XMLCh const *)arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMElement, 0 | SWIG_SHADOW); argvi++ ;
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 | 0); argvi++ ;
     
     
     delete[] arg2;
     
-    
-    delete[] arg3;
-    
     XSRETURN(argvi);
   fail:
     
     
     delete[] arg2;
     
-    
-    delete[] arg3;
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMDocument_createAttributeNS) {
+XS(_wrap_DOMConfiguration_canSetParameter__SWIG_0) {
   {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMConfiguration *arg1 = (XERCES_CPP_NAMESPACE::DOMConfiguration *) 0 ;
     XMLCh *arg2 = (XMLCh *) 0 ;
-    XMLCh *arg3 = (XMLCh *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMAttr *result = 0 ;
+    void *arg3 = (void *) 0 ;
+    bool result;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 3) || (items > 3)) {
-      SWIG_croak("Usage: DOMDocument_createAttributeNS(self,namespaceURI,qualifiedName);");
+      SWIG_croak("Usage: DOMConfiguration_canSetParameter(self,name,value);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMConfiguration, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_createAttributeNS" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMConfiguration_canSetParameter" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMConfiguration const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMConfiguration * >(argp1);
     
     if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_createAttributeNS");
+      SWIG_Perl_NullRef("perl-string",2,"DOMConfiguration_canSetParameter");
       goto fail;
     } else {
       // we convert *everything* into a string that isn't undef
       arg2 = Perl2XMLString(ST(1));
     }
     
-    
-    if (ST(2) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",3,"DOMDocument_createAttributeNS");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg3 = Perl2XMLString(ST(2));
+    {
+      // now check the value
+      if (ST(2) == &PL_sv_undef) {
+        SWIG_Perl_NullRef("perl-string",3,"DOMConfiguration_canSetParameter");
+        goto fail;
+      } else {
+        // we convert *everything* into a string that isn't undef
+        arg3 = Perl2XMLString(ST(2));
+      }
     }
-    
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMAttr *)(arg1)->createAttributeNS((XMLCh const *)arg2,(XMLCh const *)arg3);
+        result = (bool)((XERCES_CPP_NAMESPACE::DOMConfiguration const *)arg1)->canSetParameter((XMLCh const *)arg2,(void const *)arg3);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMAttr, 0 | SWIG_SHADOW); argvi++ ;
+    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
     
     
     delete[] arg2;
@@ -39883,58 +39005,54 @@ XS(_wrap_DOMDocument_createAttributeNS) {
 }
 
 
-XS(_wrap_DOMDocument_getElementsByTagNameNS) {
+XS(_wrap_DOMConfiguration_canSetParameter__SWIG_1) {
   {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMConfiguration *arg1 = (XERCES_CPP_NAMESPACE::DOMConfiguration *) 0 ;
     XMLCh *arg2 = (XMLCh *) 0 ;
-    XMLCh *arg3 = (XMLCh *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMNodeList *result = 0 ;
+    bool arg3 ;
+    bool result;
     void *argp1 = 0 ;
     int res1 = 0 ;
+    bool val3 ;
+    int ecode3 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 3) || (items > 3)) {
-      SWIG_croak("Usage: DOMDocument_getElementsByTagNameNS(self,namespaceURI,localName);");
+      SWIG_croak("Usage: DOMConfiguration_canSetParameter(self,name,value);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMConfiguration, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_getElementsByTagNameNS" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMConfiguration_canSetParameter" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMConfiguration const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMConfiguration * >(argp1);
     
     if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_getElementsByTagNameNS");
+      SWIG_Perl_NullRef("perl-string",2,"DOMConfiguration_canSetParameter");
       goto fail;
     } else {
       // we convert *everything* into a string that isn't undef
       arg2 = Perl2XMLString(ST(1));
     }
     
-    
-    if (ST(2) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",3,"DOMDocument_getElementsByTagNameNS");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg3 = Perl2XMLString(ST(2));
-    }
-    
+    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
+    if (!SWIG_IsOK(ecode3)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "DOMConfiguration_canSetParameter" "', argument " "3"" of type '" "bool""'");
+    } 
+    arg3 = static_cast< bool >(val3);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMNodeList *)((XERCES_CPP_NAMESPACE::DOMDocument const *)arg1)->getElementsByTagNameNS((XMLCh const *)arg2,(XMLCh const *)arg3);
+        result = (bool)((XERCES_CPP_NAMESPACE::DOMConfiguration const *)arg1)->canSetParameter((XMLCh const *)arg2,arg3);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeList, 0 | SWIG_SHADOW); argvi++ ;
+    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
     
     
     delete[] arg2;
     
     
-    delete[] arg3;
-    
     XSRETURN(argvi);
   fail:
     
@@ -39942,91 +39060,135 @@ XS(_wrap_DOMDocument_getElementsByTagNameNS) {
     delete[] arg2;
     
     
-    delete[] arg3;
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMDocument_getElementById) {
+XS(_wrap_DOMConfiguration_canSetParameter) {
+  dXSARGS;
+  
   {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
-    XMLCh *arg2 = (XMLCh *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMElement *result = 0 ;
-    void *argp1 = 0 ;
-    int res1 = 0 ;
-    int argvi = 0;
-    dXSARGS;
-    
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMDocument_getElementById(self,elementId);");
-    }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
-    if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_getElementById" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument const *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
-    
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_getElementById");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
+    unsigned long _index = 0;
+    SWIG_TypeRank _rank = 0; 
+    if (items == 3) {
+      SWIG_TypeRank _ranki = 0;
+      SWIG_TypeRank _rankm = 0;
+      SWIG_TypeRank _pi = 1;
+      int _v = 0;
+      {
+        void *vptr = 0;
+        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMConfiguration, 0);
+        _v = SWIG_CheckState(res);
+      }
+      if (!_v) goto check_1;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        {
+          _v = SvOK(ST(1)) ? 1 : 0; 
+        }
+      }
+      if (!_v) goto check_1;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        void *ptr = 0;
+        int res = SWIG_ConvertPtr(ST(2), &ptr, 0, 0);
+        _v = SWIG_CheckState(res);
+      }
+      if (!_v) goto check_1;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      if (!_index || (_ranki < _rank)) {
+        _rank = _ranki; _index = 1;
+        if (_rank == _rankm) goto dispatch;
+      }
     }
+  check_1:
     
-    {
-      try 
+    if (items == 3) {
+      SWIG_TypeRank _ranki = 0;
+      SWIG_TypeRank _rankm = 0;
+      SWIG_TypeRank _pi = 1;
+      int _v = 0;
       {
-        result = (XERCES_CPP_NAMESPACE::DOMElement *)((XERCES_CPP_NAMESPACE::DOMDocument const *)arg1)->getElementById((XMLCh const *)arg2);
-      } 
-      CATCH_DOM_EXCEPTION
+        void *vptr = 0;
+        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMConfiguration, 0);
+        _v = SWIG_CheckState(res);
+      }
+      if (!_v) goto check_2;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        {
+          _v = SvOK(ST(1)) ? 1 : 0; 
+        }
+      }
+      if (!_v) goto check_2;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        {
+          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
+          _v = SWIG_CheckState(res);
+        }
+      }
+      if (!_v) goto check_2;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      if (!_index || (_ranki < _rank)) {
+        _rank = _ranki; _index = 2;
+        if (_rank == _rankm) goto dispatch;
+      }
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMElement, 0 | SWIG_SHADOW); argvi++ ;
-    
-    
-    delete[] arg2;
-    
-    XSRETURN(argvi);
-  fail:
-    
-    
-    delete[] arg2;
+  check_2:
     
-    SWIG_croak_null();
+  dispatch:
+    switch(_index) {
+    case 1:
+      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_DOMConfiguration_canSetParameter__SWIG_0); return;
+    case 2:
+      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_DOMConfiguration_canSetParameter__SWIG_1); return;
+    }
   }
+  
+  croak("No matching function for overloaded 'DOMConfiguration_canSetParameter'");
+  XSRETURN(0);
 }
 
 
-XS(_wrap_DOMDocument_getInputEncoding) {
+XS(_wrap_DOMConfiguration_getParameterNames) {
   {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
-    XMLCh *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMConfiguration *arg1 = (XERCES_CPP_NAMESPACE::DOMConfiguration *) 0 ;
+    DOMStringList *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMDocument_getInputEncoding(self);");
+      SWIG_croak("Usage: DOMConfiguration_getParameterNames(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMConfiguration, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_getInputEncoding" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMConfiguration_getParameterNames" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMConfiguration const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMConfiguration * >(argp1);
     {
       try 
       {
-        result = (XMLCh *)((XERCES_CPP_NAMESPACE::DOMDocument const *)arg1)->getInputEncoding();
+        result = (DOMStringList *)((XERCES_CPP_NAMESPACE::DOMConfiguration const *)arg1)->getParameterNames();
       } 
       CATCH_DOM_EXCEPTION
     }
-    
-    ST(argvi) = XMLString2Perl(result);
-    ++argvi;
-    
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMStringList, 0 | SWIG_SHADOW); argvi++ ;
     
     XSRETURN(argvi);
   fail:
@@ -40036,34 +39198,31 @@ XS(_wrap_DOMDocument_getInputEncoding) {
 }
 
 
-XS(_wrap_DOMDocument_getXmlEncoding) {
+XS(_wrap_delete_DOMConfiguration) {
   {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
-    XMLCh *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMConfiguration *arg1 = (XERCES_CPP_NAMESPACE::DOMConfiguration *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMDocument_getXmlEncoding(self);");
+      SWIG_croak("Usage: delete_DOMConfiguration(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMConfiguration, SWIG_POINTER_DISOWN |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_getXmlEncoding" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMConfiguration" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMConfiguration *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMConfiguration * >(argp1);
     {
       try 
       {
-        result = (XMLCh *)((XERCES_CPP_NAMESPACE::DOMDocument const *)arg1)->getXmlEncoding();
+        delete arg1;
+        
       } 
       CATCH_DOM_EXCEPTION
     }
     
-    ST(argvi) = XMLString2Perl(result);
-    ++argvi;
-    
     
     XSRETURN(argvi);
   fail:
@@ -40073,31 +39232,31 @@ XS(_wrap_DOMDocument_getXmlEncoding) {
 }
 
 
-XS(_wrap_DOMDocument_getXmlStandalone) {
+XS(_wrap_delete_DOMStringList) {
   {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
-    bool result;
+    XERCES_CPP_NAMESPACE::DOMStringList *arg1 = (XERCES_CPP_NAMESPACE::DOMStringList *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMDocument_getXmlStandalone(self);");
+      SWIG_croak("Usage: delete_DOMStringList(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMStringList, SWIG_POINTER_DISOWN |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_getXmlStandalone" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMStringList" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMStringList *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMStringList * >(argp1);
     {
       try 
       {
-        result = (bool)((XERCES_CPP_NAMESPACE::DOMDocument const *)arg1)->getXmlStandalone();
+        delete arg1;
+        
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
+    
     
     XSRETURN(argvi);
   fail:
@@ -40107,38 +39266,42 @@ XS(_wrap_DOMDocument_getXmlStandalone) {
 }
 
 
-XS(_wrap_DOMDocument_setXmlStandalone) {
+XS(_wrap_DOMStringList_item) {
   {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
-    bool arg2 ;
+    XERCES_CPP_NAMESPACE::DOMStringList *arg1 = (XERCES_CPP_NAMESPACE::DOMStringList *) 0 ;
+    XMLSize_t arg2 ;
+    XMLCh *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    bool val2 ;
+    size_t val2 ;
     int ecode2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMDocument_setXmlStandalone(self,standalone);");
+      SWIG_croak("Usage: DOMStringList_item(self,index);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMStringList, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_setXmlStandalone" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMStringList_item" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMStringList const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
-    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMStringList * >(argp1);
+    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
     if (!SWIG_IsOK(ecode2)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DOMDocument_setXmlStandalone" "', argument " "2"" of type '" "bool""'");
+      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DOMStringList_item" "', argument " "2"" of type '" "XMLSize_t""'");
     } 
-    arg2 = static_cast< bool >(val2);
+    arg2 = static_cast< XMLSize_t >(val2);
     {
       try 
       {
-        (arg1)->setXmlStandalone(arg2);
+        result = (XMLCh *)((XERCES_CPP_NAMESPACE::DOMStringList const *)arg1)->item(arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
     
+    ST(argvi) = XMLString2Perl(result);
+    ++argvi;
+    
     
     
     XSRETURN(argvi);
@@ -40150,34 +39313,31 @@ XS(_wrap_DOMDocument_setXmlStandalone) {
 }
 
 
-XS(_wrap_DOMDocument_getXmlVersion) {
+XS(_wrap_DOMStringList_getLength) {
   {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
-    XMLCh *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMStringList *arg1 = (XERCES_CPP_NAMESPACE::DOMStringList *) 0 ;
+    XMLSize_t result;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMDocument_getXmlVersion(self);");
+      SWIG_croak("Usage: DOMStringList_getLength(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMStringList, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_getXmlVersion" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMStringList_getLength" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMStringList const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMStringList * >(argp1);
     {
       try 
       {
-        result = (XMLCh *)((XERCES_CPP_NAMESPACE::DOMDocument const *)arg1)->getXmlVersion();
+        result = ((XERCES_CPP_NAMESPACE::DOMStringList const *)arg1)->getLength();
       } 
       CATCH_DOM_EXCEPTION
     }
-    
-    ST(argvi) = XMLString2Perl(result);
-    ++argvi;
-    
+    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
     
     XSRETURN(argvi);
   fail:
@@ -40187,26 +39347,27 @@ XS(_wrap_DOMDocument_getXmlVersion) {
 }
 
 
-XS(_wrap_DOMDocument_setXmlVersion) {
+XS(_wrap_DOMStringList_contains) {
   {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMStringList *arg1 = (XERCES_CPP_NAMESPACE::DOMStringList *) 0 ;
     XMLCh *arg2 = (XMLCh *) 0 ;
+    bool result;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMDocument_setXmlVersion(self,version);");
+      SWIG_croak("Usage: DOMStringList_contains(self,XMLCh const *);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMStringList, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_setXmlVersion" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMStringList_contains" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMStringList const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMStringList * >(argp1);
     
     if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_setXmlVersion");
+      SWIG_Perl_NullRef("perl-string",2,"DOMStringList_contains");
       goto fail;
     } else {
       // we convert *everything* into a string that isn't undef
@@ -40216,11 +39377,11 @@ XS(_wrap_DOMDocument_setXmlVersion) {
     {
       try 
       {
-        (arg1)->setXmlVersion((XMLCh const *)arg2);
+        result = (bool)((XERCES_CPP_NAMESPACE::DOMStringList const *)arg1)->contains((XMLCh const *)arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
-    
+    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
     
     
     delete[] arg2;
@@ -40236,34 +39397,30 @@ XS(_wrap_DOMDocument_setXmlVersion) {
 }
 
 
-XS(_wrap_DOMDocument_getDocumentURI) {
+XS(_wrap_DOMStringList_release) {
   {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
-    XMLCh *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMStringList *arg1 = (XERCES_CPP_NAMESPACE::DOMStringList *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMDocument_getDocumentURI(self);");
+      SWIG_croak("Usage: DOMStringList_release(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMStringList, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_getDocumentURI" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMStringList_release" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMStringList *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMStringList * >(argp1);
     {
       try 
       {
-        result = (XMLCh *)((XERCES_CPP_NAMESPACE::DOMDocument const *)arg1)->getDocumentURI();
+        (arg1)->release();
       } 
       CATCH_DOM_EXCEPTION
     }
     
-    ST(argvi) = XMLString2Perl(result);
-    ++argvi;
-    
     
     XSRETURN(argvi);
   fail:
@@ -40273,120 +39430,108 @@ XS(_wrap_DOMDocument_getDocumentURI) {
 }
 
 
-XS(_wrap_DOMDocument_setDocumentURI) {
+XS(_wrap_delete_DOMImplementationLS) {
   {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
-    XMLCh *arg2 = (XMLCh *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMImplementationLS *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementationLS *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMDocument_setDocumentURI(self,documentURI);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: delete_DOMImplementationLS(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS, SWIG_POINTER_DISOWN |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_setDocumentURI" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
-    
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_setDocumentURI");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMImplementationLS" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementationLS *""'"); 
     }
-    
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementationLS * >(argp1);
     {
       try 
       {
-        (arg1)->setDocumentURI((XMLCh const *)arg2);
+        delete arg1;
+        
       } 
       CATCH_DOM_EXCEPTION
     }
     
     
-    
-    delete[] arg2;
-    
     XSRETURN(argvi);
   fail:
     
-    
-    delete[] arg2;
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMDocument_getStrictErrorChecking) {
+XS(_wrap_DOMImplementationLS_createLSParser__SWIG_0) {
   {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
-    bool result;
+    XERCES_CPP_NAMESPACE::DOMImplementationLS *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementationLS *) 0 ;
+    unsigned short arg2 ;
+    XMLCh *arg3 = (XMLCh *) (XMLCh *)0 ;
+    XERCES_CPP_NAMESPACE::MemoryManager *arg4 = (XERCES_CPP_NAMESPACE::MemoryManager *) (XERCES_CPP_NAMESPACE::MemoryManager *)0 ;
+    XERCES_CPP_NAMESPACE::XMLGrammarPool *arg5 = (XERCES_CPP_NAMESPACE::XMLGrammarPool *) (XERCES_CPP_NAMESPACE::XMLGrammarPool *)0 ;
+    XERCES_CPP_NAMESPACE::DOMLSParser *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
+    unsigned short val2 ;
+    int ecode2 = 0 ;
+    void *argp4 = 0 ;
+    int res4 = 0 ;
+    void *argp5 = 0 ;
+    int res5 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMDocument_getStrictErrorChecking(self);");
+    arg4 = XERCES_CPP_NAMESPACE::XMLPlatformUtils::fgMemoryManager;
+    if ((items < 3) || (items > 5)) {
+      SWIG_croak("Usage: DOMImplementationLS_createLSParser(self,mode,schemaType,manager,gramPool);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_getStrictErrorChecking" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument const *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
-    {
-      try 
-      {
-        result = (bool)((XERCES_CPP_NAMESPACE::DOMDocument const *)arg1)->getStrictErrorChecking();
-      } 
-      CATCH_DOM_EXCEPTION
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMImplementationLS_createLSParser" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementationLS *""'"); 
     }
-    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
-    
-    XSRETURN(argvi);
-  fail:
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementationLS * >(argp1);
+    ecode2 = SWIG_AsVal_unsigned_SS_short SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
+    if (!SWIG_IsOK(ecode2)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DOMImplementationLS_createLSParser" "', argument " "2"" of type '" "unsigned short""'");
+    } 
+    arg2 = static_cast< unsigned short >(val2);
     
-    SWIG_croak_null();
-  }
-}
-
-
-XS(_wrap_DOMDocument_setStrictErrorChecking) {
-  {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
-    bool arg2 ;
-    void *argp1 = 0 ;
-    int res1 = 0 ;
-    bool val2 ;
-    int ecode2 = 0 ;
-    int argvi = 0;
-    dXSARGS;
+    if (ST(2) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",3,"DOMImplementationLS_createLSParser");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg3 = Perl2XMLString(ST(2));
+    }
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMDocument_setStrictErrorChecking(self,strictErrorChecking);");
+    if (items > 3) {
+      res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemoryManager, 0 |  0 );
+      if (!SWIG_IsOK(res4)) {
+        SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "DOMImplementationLS_createLSParser" "', argument " "4"" of type '" "XERCES_CPP_NAMESPACE::MemoryManager *const""'"); 
+      }
+      arg4 = reinterpret_cast< XERCES_CPP_NAMESPACE::MemoryManager * >(argp4);
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
-    if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_setStrictErrorChecking" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
+    if (items > 4) {
+      res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLGrammarPool, 0 |  0 );
+      if (!SWIG_IsOK(res5)) {
+        SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "DOMImplementationLS_createLSParser" "', argument " "5"" of type '" "XERCES_CPP_NAMESPACE::XMLGrammarPool *const""'"); 
+      }
+      arg5 = reinterpret_cast< XERCES_CPP_NAMESPACE::XMLGrammarPool * >(argp5);
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
-    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
-    if (!SWIG_IsOK(ecode2)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DOMDocument_setStrictErrorChecking" "', argument " "2"" of type '" "bool""'");
-    } 
-    arg2 = static_cast< bool >(val2);
     {
       try 
       {
-        (arg1)->setStrictErrorChecking(arg2);
+        result = (XERCES_CPP_NAMESPACE::DOMLSParser *)(arg1)->createLSParser(arg2,(XMLCh const *)arg3,arg4,arg5);
       } 
       CATCH_DOM_EXCEPTION
     }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSParser, 0 | SWIG_SHADOW); argvi++ ;
+    
+    
+    
+    delete[] arg3;
     
     
     
@@ -40394,72 +39539,76 @@ XS(_wrap_DOMDocument_setStrictErrorChecking) {
   fail:
     
     
+    
+    delete[] arg3;
+    
+    
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMDocument_renameNode) {
+XS(_wrap_DOMImplementationLS_createLSParser__SWIG_1) {
   {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMNode *arg2 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
-    XMLCh *arg3 = (XMLCh *) 0 ;
-    XMLCh *arg4 = (XMLCh *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMImplementationLS *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementationLS *) 0 ;
+    unsigned short arg2 ;
+    XMLCh *arg3 = (XMLCh *) (XMLCh *)0 ;
+    XERCES_CPP_NAMESPACE::MemoryManager *arg4 = (XERCES_CPP_NAMESPACE::MemoryManager *) (XERCES_CPP_NAMESPACE::MemoryManager *)0 ;
+    XERCES_CPP_NAMESPACE::DOMLSParser *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    void *argp2 = 0 ;
-    int res2 = 0 ;
+    unsigned short val2 ;
+    int ecode2 = 0 ;
+    void *argp4 = 0 ;
+    int res4 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 4) || (items > 4)) {
-      SWIG_croak("Usage: DOMDocument_renameNode(self,n,namespaceURI,qualifiedName);");
+    arg4 = XERCES_CPP_NAMESPACE::XMLPlatformUtils::fgMemoryManager;
+    if ((items < 3) || (items > 4)) {
+      SWIG_croak("Usage: DOMImplementationLS_createLSParser(self,mode,schemaType,manager);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_renameNode" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
-    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
-    if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMDocument_renameNode" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMNode *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMImplementationLS_createLSParser" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementationLS *""'"); 
     }
-    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp2);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementationLS * >(argp1);
+    ecode2 = SWIG_AsVal_unsigned_SS_short SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
+    if (!SWIG_IsOK(ecode2)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DOMImplementationLS_createLSParser" "', argument " "2"" of type '" "unsigned short""'");
+    } 
+    arg2 = static_cast< unsigned short >(val2);
     
     if (ST(2) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",3,"DOMDocument_renameNode");
+      SWIG_Perl_NullRef("perl-string",3,"DOMImplementationLS_createLSParser");
       goto fail;
     } else {
       // we convert *everything* into a string that isn't undef
       arg3 = Perl2XMLString(ST(2));
     }
     
-    
-    if (ST(3) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",4,"DOMDocument_renameNode");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg4 = Perl2XMLString(ST(3));
+    if (items > 3) {
+      res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemoryManager, 0 |  0 );
+      if (!SWIG_IsOK(res4)) {
+        SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "DOMImplementationLS_createLSParser" "', argument " "4"" of type '" "XERCES_CPP_NAMESPACE::MemoryManager *const""'"); 
+      }
+      arg4 = reinterpret_cast< XERCES_CPP_NAMESPACE::MemoryManager * >(argp4);
     }
-    
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMNode *)(arg1)->renameNode(arg2,(XMLCh const *)arg3,(XMLCh const *)arg4);
+        result = (XERCES_CPP_NAMESPACE::DOMLSParser *)(arg1)->createLSParser(arg2,(XMLCh const *)arg3,arg4);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSParser, 0 | SWIG_SHADOW); argvi++ ;
     
     
     
     delete[] arg3;
     
     
-    delete[] arg4;
-    
     XSRETURN(argvi);
   fail:
     
@@ -40468,335 +39617,392 @@ XS(_wrap_DOMDocument_renameNode) {
     delete[] arg3;
     
     
-    delete[] arg4;
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMDocument_adoptNode) {
+XS(_wrap_DOMImplementationLS_createLSParser__SWIG_2) {
   {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMNode *arg2 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMImplementationLS *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementationLS *) 0 ;
+    unsigned short arg2 ;
+    XMLCh *arg3 = (XMLCh *) (XMLCh *)0 ;
+    XERCES_CPP_NAMESPACE::DOMLSParser *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    void *argp2 = 0 ;
-    int res2 = 0 ;
+    unsigned short val2 ;
+    int ecode2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMDocument_adoptNode(self,source);");
+    if ((items < 3) || (items > 3)) {
+      SWIG_croak("Usage: DOMImplementationLS_createLSParser(self,mode,schemaType);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_adoptNode" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMImplementationLS_createLSParser" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementationLS *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
-    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
-    if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMDocument_adoptNode" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMNode *""'"); 
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementationLS * >(argp1);
+    ecode2 = SWIG_AsVal_unsigned_SS_short SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
+    if (!SWIG_IsOK(ecode2)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DOMImplementationLS_createLSParser" "', argument " "2"" of type '" "unsigned short""'");
+    } 
+    arg2 = static_cast< unsigned short >(val2);
+    
+    if (ST(2) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",3,"DOMImplementationLS_createLSParser");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg3 = Perl2XMLString(ST(2));
     }
-    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp2);
+    
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMNode *)(arg1)->adoptNode(arg2);
+        result = (XERCES_CPP_NAMESPACE::DOMLSParser *)(arg1)->createLSParser(arg2,(XMLCh const *)arg3);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSParser, 0 | SWIG_SHADOW); argvi++ ;
     
     
-    XSRETURN(argvi);
-  fail:
     
+    delete[] arg3;
     
-    SWIG_croak_null();
-  }
-}
-
-
-XS(_wrap_DOMDocument_normalizeDocument) {
-  {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
-    void *argp1 = 0 ;
-    int res1 = 0 ;
-    int argvi = 0;
-    dXSARGS;
+    XSRETURN(argvi);
+  fail:
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMDocument_normalizeDocument(self);");
-    }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
-    if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_normalizeDocument" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
-    {
-      try 
-      {
-        (arg1)->normalizeDocument();
-      } 
-      CATCH_DOM_EXCEPTION
-    }
     
     
-    XSRETURN(argvi);
-  fail:
+    delete[] arg3;
     
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMDocument_getDOMConfig) {
+XS(_wrap_DOMImplementationLS_createLSParser) {
+  dXSARGS;
+  
   {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMConfiguration *result = 0 ;
-    void *argp1 = 0 ;
-    int res1 = 0 ;
-    int argvi = 0;
-    dXSARGS;
-    
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMDocument_getDOMConfig(self);");
-    }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
-    if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_getDOMConfig" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument const *""'"); 
+    unsigned long _index = 0;
+    SWIG_TypeRank _rank = 0; 
+    if ((items >= 3) && (items <= 5)) {
+      SWIG_TypeRank _ranki = 0;
+      SWIG_TypeRank _rankm = 0;
+      SWIG_TypeRank _pi = 1;
+      int _v = 0;
+      {
+        void *vptr = 0;
+        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS, 0);
+        _v = SWIG_CheckState(res);
+      }
+      if (!_v) goto check_1;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        {
+          int res = SWIG_AsVal_unsigned_SS_short SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
+          _v = SWIG_CheckState(res);
+        }
+      }
+      if (!_v) goto check_1;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        {
+          _v = SvOK(ST(2)) ? 1 : 0; 
+        }
+      }
+      if (!_v) goto check_1;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      if (items > 3) {
+        {
+          void *vptr = 0;
+          int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemoryManager, 0);
+          _v = SWIG_CheckState(res);
+        }
+        if (!_v) goto check_1;
+        _ranki += _v*_pi;
+        _rankm += _pi;
+        _pi *= SWIG_MAXCASTRANK;
+        if (items > 4) {
+          {
+            void *vptr = 0;
+            int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLGrammarPool, 0);
+            _v = SWIG_CheckState(res);
+          }
+          if (!_v) goto check_1;
+          _ranki += _v*_pi;
+          _rankm += _pi;
+          _pi *= SWIG_MAXCASTRANK;
+        }
+      }
+      if (!_index || (_ranki < _rank)) {
+        _rank = _ranki; _index = 1;
+        if (_rank == _rankm) goto dispatch;
+      }
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
-    {
-      try 
+  check_1:
+    
+    if ((items >= 3) && (items <= 4)) {
+      SWIG_TypeRank _ranki = 0;
+      SWIG_TypeRank _rankm = 0;
+      SWIG_TypeRank _pi = 1;
+      int _v = 0;
       {
-        result = (XERCES_CPP_NAMESPACE::DOMConfiguration *)((XERCES_CPP_NAMESPACE::DOMDocument const *)arg1)->getDOMConfig();
-      } 
-      CATCH_DOM_EXCEPTION
+        void *vptr = 0;
+        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS, 0);
+        _v = SWIG_CheckState(res);
+      }
+      if (!_v) goto check_2;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        {
+          int res = SWIG_AsVal_unsigned_SS_short SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
+          _v = SWIG_CheckState(res);
+        }
+      }
+      if (!_v) goto check_2;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        {
+          _v = SvOK(ST(2)) ? 1 : 0; 
+        }
+      }
+      if (!_v) goto check_2;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      if (items > 3) {
+        {
+          void *vptr = 0;
+          int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemoryManager, 0);
+          _v = SWIG_CheckState(res);
+        }
+        if (!_v) goto check_2;
+        _ranki += _v*_pi;
+        _rankm += _pi;
+        _pi *= SWIG_MAXCASTRANK;
+      }
+      if (!_index || (_ranki < _rank)) {
+        _rank = _ranki; _index = 2;
+        if (_rank == _rankm) goto dispatch;
+      }
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMConfiguration, 0 | SWIG_SHADOW); argvi++ ;
+  check_2:
     
-    XSRETURN(argvi);
-  fail:
+    if (items == 3) {
+      SWIG_TypeRank _ranki = 0;
+      SWIG_TypeRank _rankm = 0;
+      SWIG_TypeRank _pi = 1;
+      int _v = 0;
+      {
+        void *vptr = 0;
+        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS, 0);
+        _v = SWIG_CheckState(res);
+      }
+      if (!_v) goto check_3;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        {
+          int res = SWIG_AsVal_unsigned_SS_short SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
+          _v = SWIG_CheckState(res);
+        }
+      }
+      if (!_v) goto check_3;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        {
+          _v = SvOK(ST(2)) ? 1 : 0; 
+        }
+      }
+      if (!_v) goto check_3;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      if (!_index || (_ranki < _rank)) {
+        _rank = _ranki; _index = 3;
+        if (_rank == _rankm) goto dispatch;
+      }
+    }
+  check_3:
     
-    SWIG_croak_null();
+  dispatch:
+    switch(_index) {
+    case 1:
+      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_DOMImplementationLS_createLSParser__SWIG_0); return;
+    case 2:
+      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_DOMImplementationLS_createLSParser__SWIG_1); return;
+    case 3:
+      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_DOMImplementationLS_createLSParser__SWIG_2); return;
+    }
   }
+  
+  croak("No matching function for overloaded 'DOMImplementationLS_createLSParser'");
+  XSRETURN(0);
 }
 
 
-XS(_wrap_DOMDocument_createEntity) {
+XS(_wrap_DOMImplementationLS_createLSSerializer) {
   {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
-    XMLCh *arg2 = (XMLCh *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMEntity *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMImplementationLS *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementationLS *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMLSSerializer *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMDocument_createEntity(self,name);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMImplementationLS_createLSSerializer(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_createEntity" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
-    
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_createEntity");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMImplementationLS_createLSSerializer" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementationLS *""'"); 
     }
-    
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementationLS * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMEntity *)(arg1)->createEntity((XMLCh const *)arg2);
+        result = (XERCES_CPP_NAMESPACE::DOMLSSerializer *)(arg1)->createLSSerializer();
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMEntity, 0 | SWIG_SHADOW); argvi++ ;
-    
-    
-    delete[] arg2;
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSSerializer, 0 | SWIG_SHADOW); argvi++ ;
     
     XSRETURN(argvi);
   fail:
     
-    
-    delete[] arg2;
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMDocument_createDocumentType__SWIG_0) {
+XS(_wrap_DOMImplementationLS_createLSInput__SWIG_0) {
   {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
-    XMLCh *arg2 = (XMLCh *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMDocumentType *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMImplementationLS *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementationLS *) 0 ;
+    XERCES_CPP_NAMESPACE::MemoryManager *arg2 = (XERCES_CPP_NAMESPACE::MemoryManager *) (XERCES_CPP_NAMESPACE::MemoryManager *)0 ;
+    XERCES_CPP_NAMESPACE::DOMLSInput *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
+    void *argp2 = 0 ;
+    int res2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMDocument_createDocumentType(self,name);");
+    arg2 = XERCES_CPP_NAMESPACE::XMLPlatformUtils::fgMemoryManager;
+    if ((items < 1) || (items > 2)) {
+      SWIG_croak("Usage: DOMImplementationLS_createLSInput(self,manager);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_createDocumentType" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMImplementationLS_createLSInput" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementationLS *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
-    
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_createDocumentType");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementationLS * >(argp1);
+    if (items > 1) {
+      res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemoryManager, 0 |  0 );
+      if (!SWIG_IsOK(res2)) {
+        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMImplementationLS_createLSInput" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::MemoryManager *const""'"); 
+      }
+      arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::MemoryManager * >(argp2);
     }
-    
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMDocumentType *)(arg1)->createDocumentType((XMLCh const *)arg2);
+        result = (XERCES_CPP_NAMESPACE::DOMLSInput *)(arg1)->createLSInput(arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentType, 0 | SWIG_SHADOW); argvi++ ;
-    
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 | SWIG_SHADOW); argvi++ ;
     
-    delete[] arg2;
     
     XSRETURN(argvi);
   fail:
     
     
-    delete[] arg2;
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMDocument_createDocumentType__SWIG_1) {
+XS(_wrap_DOMImplementationLS_createLSInput__SWIG_1) {
   {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
-    XMLCh *arg2 = (XMLCh *) 0 ;
-    XMLCh *arg3 = (XMLCh *) 0 ;
-    XMLCh *arg4 = (XMLCh *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMDocumentType *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMImplementationLS *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementationLS *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMLSInput *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 4) || (items > 4)) {
-      SWIG_croak("Usage: DOMDocument_createDocumentType(self,qName,XMLCh const *,XMLCh const *);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMImplementationLS_createLSInput(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_createDocumentType" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
-    
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_createDocumentType");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
-    }
-    
-    
-    if (ST(2) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",3,"DOMDocument_createDocumentType");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg3 = Perl2XMLString(ST(2));
-    }
-    
-    
-    if (ST(3) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",4,"DOMDocument_createDocumentType");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg4 = Perl2XMLString(ST(3));
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMImplementationLS_createLSInput" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementationLS *""'"); 
     }
-    
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementationLS * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMDocumentType *)(arg1)->createDocumentType((XMLCh const *)arg2,(XMLCh const *)arg3,(XMLCh const *)arg4);
+        result = (XERCES_CPP_NAMESPACE::DOMLSInput *)(arg1)->createLSInput();
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentType, 0 | SWIG_SHADOW); argvi++ ;
-    
-    
-    delete[] arg2;
-    
-    
-    delete[] arg3;
-    
-    
-    delete[] arg4;
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 | SWIG_SHADOW); argvi++ ;
     
     XSRETURN(argvi);
   fail:
     
-    
-    delete[] arg2;
-    
-    
-    delete[] arg3;
-    
-    
-    delete[] arg4;
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMDocument_createDocumentType) {
+XS(_wrap_DOMImplementationLS_createLSInput) {
   dXSARGS;
   
   {
     unsigned long _index = 0;
     SWIG_TypeRank _rank = 0; 
-    if (items == 2) {
+    if ((items >= 1) && (items <= 2)) {
       SWIG_TypeRank _ranki = 0;
       SWIG_TypeRank _rankm = 0;
       SWIG_TypeRank _pi = 1;
       int _v = 0;
       {
         void *vptr = 0;
-        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0);
+        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS, 0);
         _v = SWIG_CheckState(res);
       }
       if (!_v) goto check_1;
       _ranki += _v*_pi;
       _rankm += _pi;
       _pi *= SWIG_MAXCASTRANK;
-      {
+      if (items > 1) {
         {
-          _v = SvOK(ST(1)) ? 1 : 0; 
+          void *vptr = 0;
+          int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemoryManager, 0);
+          _v = SWIG_CheckState(res);
         }
+        if (!_v) goto check_1;
+        _ranki += _v*_pi;
+        _rankm += _pi;
+        _pi *= SWIG_MAXCASTRANK;
       }
-      if (!_v) goto check_1;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
       if (!_index || (_ranki < _rank)) {
         _rank = _ranki; _index = 1;
         if (_rank == _rankm) goto dispatch;
@@ -40804,47 +40010,20 @@ XS(_wrap_DOMDocument_createDocumentType) {
     }
   check_1:
     
-    if (items == 4) {
+    if (items == 1) {
       SWIG_TypeRank _ranki = 0;
       SWIG_TypeRank _rankm = 0;
       SWIG_TypeRank _pi = 1;
       int _v = 0;
       {
         void *vptr = 0;
-        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0);
+        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS, 0);
         _v = SWIG_CheckState(res);
       }
       if (!_v) goto check_2;
       _ranki += _v*_pi;
       _rankm += _pi;
       _pi *= SWIG_MAXCASTRANK;
-      {
-        {
-          _v = SvOK(ST(1)) ? 1 : 0; 
-        }
-      }
-      if (!_v) goto check_2;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      {
-        {
-          _v = SvOK(ST(2)) ? 1 : 0; 
-        }
-      }
-      if (!_v) goto check_2;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      {
-        {
-          _v = SvOK(ST(3)) ? 1 : 0; 
-        }
-      }
-      if (!_v) goto check_2;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
       if (!_index || (_ranki < _rank)) {
         _rank = _ranki; _index = 2;
         if (_rank == _rankm) goto dispatch;
@@ -40855,191 +40034,129 @@ XS(_wrap_DOMDocument_createDocumentType) {
   dispatch:
     switch(_index) {
     case 1:
-      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_DOMDocument_createDocumentType__SWIG_0); return;
+      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_DOMImplementationLS_createLSInput__SWIG_0); return;
     case 2:
-      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_DOMDocument_createDocumentType__SWIG_1); return;
+      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_DOMImplementationLS_createLSInput__SWIG_1); return;
     }
   }
   
-  croak("No matching function for overloaded 'DOMDocument_createDocumentType'");
+  croak("No matching function for overloaded 'DOMImplementationLS_createLSInput'");
   XSRETURN(0);
 }
 
 
-XS(_wrap_DOMDocument_createNotation) {
+XS(_wrap_DOMImplementationLS_createLSOutput__SWIG_0) {
   {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
-    XMLCh *arg2 = (XMLCh *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMNotation *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMImplementationLS *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementationLS *) 0 ;
+    XERCES_CPP_NAMESPACE::MemoryManager *arg2 = (XERCES_CPP_NAMESPACE::MemoryManager *) (XERCES_CPP_NAMESPACE::MemoryManager *)0 ;
+    XERCES_CPP_NAMESPACE::DOMLSOutput *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
+    void *argp2 = 0 ;
+    int res2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMDocument_createNotation(self,name);");
+    arg2 = XERCES_CPP_NAMESPACE::XMLPlatformUtils::fgMemoryManager;
+    if ((items < 1) || (items > 2)) {
+      SWIG_croak("Usage: DOMImplementationLS_createLSOutput(self,manager);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_createNotation" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMImplementationLS_createLSOutput" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementationLS *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
-    
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_createNotation");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementationLS * >(argp1);
+    if (items > 1) {
+      res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemoryManager, 0 |  0 );
+      if (!SWIG_IsOK(res2)) {
+        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMImplementationLS_createLSOutput" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::MemoryManager *const""'"); 
+      }
+      arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::MemoryManager * >(argp2);
     }
-    
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMNotation *)(arg1)->createNotation((XMLCh const *)arg2);
+        result = (XERCES_CPP_NAMESPACE::DOMLSOutput *)(arg1)->createLSOutput(arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNotation, 0 | SWIG_SHADOW); argvi++ ;
-    
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSOutput, 0 | SWIG_SHADOW); argvi++ ;
     
-    delete[] arg2;
     
     XSRETURN(argvi);
   fail:
     
     
-    delete[] arg2;
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMDocument_createElementNS__SWIG_1) {
+XS(_wrap_DOMImplementationLS_createLSOutput__SWIG_1) {
   {
-    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
-    XMLCh *arg2 = (XMLCh *) 0 ;
-    XMLCh *arg3 = (XMLCh *) 0 ;
-    XMLSSize_t arg4 ;
-    XMLSSize_t arg5 ;
-    XERCES_CPP_NAMESPACE::DOMElement *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMImplementationLS *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementationLS *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMLSOutput *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    size_t val4 ;
-    int ecode4 = 0 ;
-    size_t val5 ;
-    int ecode5 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 5) || (items > 5)) {
-      SWIG_croak("Usage: DOMDocument_createElementNS(self,namespaceURI,qualifiedName,lineNum,columnNum);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMImplementationLS_createLSOutput(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_createElementNS" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
-    
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_createElementNS");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
-    }
-    
-    
-    if (ST(2) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",3,"DOMDocument_createElementNS");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg3 = Perl2XMLString(ST(2));
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMImplementationLS_createLSOutput" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementationLS *""'"); 
     }
-    
-    ecode4 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
-    if (!SWIG_IsOK(ecode4)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "DOMDocument_createElementNS" "', argument " "4"" of type '" "XMLSSize_t""'");
-    } 
-    arg4 = static_cast< XMLSSize_t >(val4);
-    ecode5 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
-    if (!SWIG_IsOK(ecode5)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "DOMDocument_createElementNS" "', argument " "5"" of type '" "XMLSSize_t""'");
-    } 
-    arg5 = static_cast< XMLSSize_t >(val5);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementationLS * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMElement *)(arg1)->createElementNS((XMLCh const *)arg2,(XMLCh const *)arg3,arg4,arg5);
+        result = (XERCES_CPP_NAMESPACE::DOMLSOutput *)(arg1)->createLSOutput();
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMElement, 0 | SWIG_SHADOW); argvi++ ;
-    
-    
-    delete[] arg2;
-    
-    
-    delete[] arg3;
-    
-    
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSOutput, 0 | SWIG_SHADOW); argvi++ ;
     
     XSRETURN(argvi);
   fail:
     
-    
-    delete[] arg2;
-    
-    
-    delete[] arg3;
-    
-    
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMDocument_createElementNS) {
+XS(_wrap_DOMImplementationLS_createLSOutput) {
   dXSARGS;
   
   {
     unsigned long _index = 0;
     SWIG_TypeRank _rank = 0; 
-    if (items == 3) {
+    if ((items >= 1) && (items <= 2)) {
       SWIG_TypeRank _ranki = 0;
       SWIG_TypeRank _rankm = 0;
       SWIG_TypeRank _pi = 1;
       int _v = 0;
       {
         void *vptr = 0;
-        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0);
+        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS, 0);
         _v = SWIG_CheckState(res);
       }
       if (!_v) goto check_1;
       _ranki += _v*_pi;
       _rankm += _pi;
       _pi *= SWIG_MAXCASTRANK;
-      {
+      if (items > 1) {
         {
-          _v = SvOK(ST(1)) ? 1 : 0; 
+          void *vptr = 0;
+          int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemoryManager, 0);
+          _v = SWIG_CheckState(res);
         }
+        if (!_v) goto check_1;
+        _ranki += _v*_pi;
+        _rankm += _pi;
+        _pi *= SWIG_MAXCASTRANK;
       }
-      if (!_v) goto check_1;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      {
-        {
-          _v = SvOK(ST(2)) ? 1 : 0; 
-        }
-      }
-      if (!_v) goto check_1;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
       if (!_index || (_ranki < _rank)) {
         _rank = _ranki; _index = 1;
         if (_rank == _rankm) goto dispatch;
@@ -41047,58 +40164,20 @@ XS(_wrap_DOMDocument_createElementNS) {
     }
   check_1:
     
-    if (items == 5) {
+    if (items == 1) {
       SWIG_TypeRank _ranki = 0;
       SWIG_TypeRank _rankm = 0;
       SWIG_TypeRank _pi = 1;
       int _v = 0;
       {
         void *vptr = 0;
-        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0);
+        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS, 0);
         _v = SWIG_CheckState(res);
       }
       if (!_v) goto check_2;
       _ranki += _v*_pi;
       _rankm += _pi;
       _pi *= SWIG_MAXCASTRANK;
-      {
-        {
-          _v = SvOK(ST(1)) ? 1 : 0; 
-        }
-      }
-      if (!_v) goto check_2;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      {
-        {
-          _v = SvOK(ST(2)) ? 1 : 0; 
-        }
-      }
-      if (!_v) goto check_2;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      {
-        {
-          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
-          _v = SWIG_CheckState(res);
-        }
-      }
-      if (!_v) goto check_2;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      {
-        {
-          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
-          _v = SWIG_CheckState(res);
-        }
-      }
-      if (!_v) goto check_2;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
       if (!_index || (_ranki < _rank)) {
         _rank = _ranki; _index = 2;
         if (_rank == _rankm) goto dispatch;
@@ -41109,33 +40188,33 @@ XS(_wrap_DOMDocument_createElementNS) {
   dispatch:
     switch(_index) {
     case 1:
-      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_DOMDocument_createElementNS__SWIG_0); return;
+      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_DOMImplementationLS_createLSOutput__SWIG_0); return;
     case 2:
-      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_DOMDocument_createElementNS__SWIG_1); return;
+      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_DOMImplementationLS_createLSOutput__SWIG_1); return;
     }
   }
   
-  croak("No matching function for overloaded 'DOMDocument_createElementNS'");
+  croak("No matching function for overloaded 'DOMImplementationLS_createLSOutput'");
   XSRETURN(0);
 }
 
 
-XS(_wrap_delete_DOMLocator) {
+XS(_wrap_delete_DOMImplementation) {
   {
-    XERCES_CPP_NAMESPACE::DOMLocator *arg1 = (XERCES_CPP_NAMESPACE::DOMLocator *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMImplementation *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementation *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: delete_DOMLocator(self);");
+      SWIG_croak("Usage: delete_DOMImplementation(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLocator, SWIG_POINTER_DISOWN |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementation, SWIG_POINTER_DISOWN |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMLocator" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLocator *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMImplementation" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementation *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLocator * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementation * >(argp1);
     {
       try 
       {
@@ -41154,167 +40233,321 @@ XS(_wrap_delete_DOMLocator) {
 }
 
 
-XS(_wrap_DOMLocator_getLineNumber) {
+XS(_wrap_DOMImplementation_hasFeature) {
   {
-    XERCES_CPP_NAMESPACE::DOMLocator *arg1 = (XERCES_CPP_NAMESPACE::DOMLocator *) 0 ;
-    XMLSSize_t result;
+    XERCES_CPP_NAMESPACE::DOMImplementation *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementation *) 0 ;
+    XMLCh *arg2 = (XMLCh *) 0 ;
+    XMLCh *arg3 = (XMLCh *) 0 ;
+    bool result;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMLocator_getLineNumber(self);");
+    if ((items < 3) || (items > 3)) {
+      SWIG_croak("Usage: DOMImplementation_hasFeature(self,feature,version);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLocator, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementation, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLocator_getLineNumber" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLocator const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMImplementation_hasFeature" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementation const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLocator * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementation * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"DOMImplementation_hasFeature");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
+    
+    
+    if (ST(2) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",3,"DOMImplementation_hasFeature");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg3 = Perl2XMLString(ST(2));
+    }
+    
     {
       try 
       {
-        result = ((XERCES_CPP_NAMESPACE::DOMLocator const *)arg1)->getLineNumber();
+        result = (bool)((XERCES_CPP_NAMESPACE::DOMImplementation const *)arg1)->hasFeature((XMLCh const *)arg2,(XMLCh const *)arg3);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
+    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
+    
+    
+    delete[] arg2;
+    
+    
+    delete[] arg3;
     
     XSRETURN(argvi);
   fail:
     
+    
+    delete[] arg2;
+    
+    
+    delete[] arg3;
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMLocator_getColumnNumber) {
+XS(_wrap_DOMImplementation_createDocumentType) {
   {
-    XERCES_CPP_NAMESPACE::DOMLocator *arg1 = (XERCES_CPP_NAMESPACE::DOMLocator *) 0 ;
-    XMLSSize_t result;
+    XERCES_CPP_NAMESPACE::DOMImplementation *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementation *) 0 ;
+    XMLCh *arg2 = (XMLCh *) 0 ;
+    XMLCh *arg3 = (XMLCh *) 0 ;
+    XMLCh *arg4 = (XMLCh *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMDocumentType *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMLocator_getColumnNumber(self);");
+    if ((items < 4) || (items > 4)) {
+      SWIG_croak("Usage: DOMImplementation_createDocumentType(self,qualifiedName,publicId,systemId);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLocator, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementation, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLocator_getColumnNumber" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLocator const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMImplementation_createDocumentType" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementation *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLocator * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementation * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"DOMImplementation_createDocumentType");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
+    
+    
+    if (ST(2) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",3,"DOMImplementation_createDocumentType");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg3 = Perl2XMLString(ST(2));
+    }
+    
+    
+    if (ST(3) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",4,"DOMImplementation_createDocumentType");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg4 = Perl2XMLString(ST(3));
+    }
+    
     {
       try 
       {
-        result = ((XERCES_CPP_NAMESPACE::DOMLocator const *)arg1)->getColumnNumber();
+        result = (XERCES_CPP_NAMESPACE::DOMDocumentType *)(arg1)->createDocumentType((XMLCh const *)arg2,(XMLCh const *)arg3,(XMLCh const *)arg4);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentType, 0 | SWIG_SHADOW); argvi++ ;
+    
+    
+    delete[] arg2;
+    
+    
+    delete[] arg3;
+    
+    
+    delete[] arg4;
     
     XSRETURN(argvi);
   fail:
     
+    
+    delete[] arg2;
+    
+    
+    delete[] arg3;
+    
+    
+    delete[] arg4;
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMLocator_getByteOffset) {
+XS(_wrap_DOMImplementation_createDocument__SWIG_0) {
   {
-    XERCES_CPP_NAMESPACE::DOMLocator *arg1 = (XERCES_CPP_NAMESPACE::DOMLocator *) 0 ;
-    XMLSSize_t result;
+    XERCES_CPP_NAMESPACE::DOMImplementation *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementation *) 0 ;
+    XMLCh *arg2 = (XMLCh *) 0 ;
+    XMLCh *arg3 = (XMLCh *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMDocumentType *arg4 = (XERCES_CPP_NAMESPACE::DOMDocumentType *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMDocument *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
+    void *argp4 = 0 ;
+    int res4 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMLocator_getByteOffset(self);");
+    if ((items < 4) || (items > 4)) {
+      SWIG_croak("Usage: DOMImplementation_createDocument(self,namespaceURI,qualifiedName,doctype);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLocator, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementation, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLocator_getByteOffset" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLocator const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMImplementation_createDocument" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementation *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLocator * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementation * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"DOMImplementation_createDocument");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
+    
+    
+    if (ST(2) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",3,"DOMImplementation_createDocument");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg3 = Perl2XMLString(ST(2));
+    }
+    
+    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentType, 0 |  0 );
+    if (!SWIG_IsOK(res4)) {
+      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "DOMImplementation_createDocument" "', argument " "4"" of type '" "XERCES_CPP_NAMESPACE::DOMDocumentType *""'"); 
+    }
+    arg4 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocumentType * >(argp4);
     {
       try 
       {
-        result = ((XERCES_CPP_NAMESPACE::DOMLocator const *)arg1)->getByteOffset();
+        result = (XERCES_CPP_NAMESPACE::DOMDocument *)(arg1)->createDocument((XMLCh const *)arg2,(XMLCh const *)arg3,arg4);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 | SWIG_SHADOW); argvi++ ;
+    
+    
+    delete[] arg2;
+    
+    
+    delete[] arg3;
+    
     
     XSRETURN(argvi);
   fail:
     
+    
+    delete[] arg2;
+    
+    
+    delete[] arg3;
+    
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMLocator_getUtf16Offset) {
+XS(_wrap_DOMImplementation_getFeature) {
   {
-    XERCES_CPP_NAMESPACE::DOMLocator *arg1 = (XERCES_CPP_NAMESPACE::DOMLocator *) 0 ;
-    XMLSSize_t result;
+    XERCES_CPP_NAMESPACE::DOMImplementation *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementation *) 0 ;
+    XMLCh *arg2 = (XMLCh *) 0 ;
+    XMLCh *arg3 = (XMLCh *) 0 ;
+    void *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMLocator_getUtf16Offset(self);");
+    if ((items < 3) || (items > 3)) {
+      SWIG_croak("Usage: DOMImplementation_getFeature(self,feature,version);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLocator, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementation, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLocator_getUtf16Offset" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLocator const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMImplementation_getFeature" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementation const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLocator * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementation * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"DOMImplementation_getFeature");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
+    
+    
+    if (ST(2) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",3,"DOMImplementation_getFeature");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg3 = Perl2XMLString(ST(2));
+    }
+    
     {
       try 
       {
-        result = ((XERCES_CPP_NAMESPACE::DOMLocator const *)arg1)->getUtf16Offset();
+        result = (void *)((XERCES_CPP_NAMESPACE::DOMImplementation const *)arg1)->getFeature((XMLCh const *)arg2,(XMLCh const *)arg3);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 | 0); argvi++ ;
+    
+    
+    delete[] arg2;
+    
+    
+    delete[] arg3;
     
     XSRETURN(argvi);
   fail:
     
+    
+    delete[] arg2;
+    
+    
+    delete[] arg3;
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMLocator_getRelatedNode) {
+XS(_wrap_DOMImplementation_createDocument__SWIG_1) {
   {
-    XERCES_CPP_NAMESPACE::DOMLocator *arg1 = (XERCES_CPP_NAMESPACE::DOMLocator *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMImplementation *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementation *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMDocument *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMLocator_getRelatedNode(self);");
+      SWIG_croak("Usage: DOMImplementation_createDocument(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLocator, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementation, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLocator_getRelatedNode" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLocator const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMImplementation_createDocument" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementation *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLocator * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementation * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMNode *)((XERCES_CPP_NAMESPACE::DOMLocator const *)arg1)->getRelatedNode();
+        result = (XERCES_CPP_NAMESPACE::DOMDocument *)(arg1)->createDocument();
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 | SWIG_SHADOW); argvi++ ;
     
     XSRETURN(argvi);
   fail:
@@ -41324,34 +40557,144 @@ XS(_wrap_DOMLocator_getRelatedNode) {
 }
 
 
-XS(_wrap_DOMLocator_getURI) {
+XS(_wrap_DOMImplementation_createDocument) {
+  dXSARGS;
+  
   {
-    XERCES_CPP_NAMESPACE::DOMLocator *arg1 = (XERCES_CPP_NAMESPACE::DOMLocator *) 0 ;
-    XMLCh *result = 0 ;
+    unsigned long _index = 0;
+    SWIG_TypeRank _rank = 0; 
+    if (items == 1) {
+      SWIG_TypeRank _ranki = 0;
+      SWIG_TypeRank _rankm = 0;
+      SWIG_TypeRank _pi = 1;
+      int _v = 0;
+      {
+        void *vptr = 0;
+        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementation, 0);
+        _v = SWIG_CheckState(res);
+      }
+      if (!_v) goto check_1;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      if (!_index || (_ranki < _rank)) {
+        _rank = _ranki; _index = 1;
+        if (_rank == _rankm) goto dispatch;
+      }
+    }
+  check_1:
+    
+    if (items == 4) {
+      SWIG_TypeRank _ranki = 0;
+      SWIG_TypeRank _rankm = 0;
+      SWIG_TypeRank _pi = 1;
+      int _v = 0;
+      {
+        void *vptr = 0;
+        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementation, 0);
+        _v = SWIG_CheckState(res);
+      }
+      if (!_v) goto check_2;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        {
+          _v = SvOK(ST(1)) ? 1 : 0; 
+        }
+      }
+      if (!_v) goto check_2;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        {
+          _v = SvOK(ST(2)) ? 1 : 0; 
+        }
+      }
+      if (!_v) goto check_2;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        void *vptr = 0;
+        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentType, 0);
+        _v = SWIG_CheckState(res);
+      }
+      if (!_v) goto check_2;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      if (!_index || (_ranki < _rank)) {
+        _rank = _ranki; _index = 2;
+        if (_rank == _rankm) goto dispatch;
+      }
+    }
+  check_2:
+    
+  dispatch:
+    switch(_index) {
+    case 1:
+      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_DOMImplementation_createDocument__SWIG_1); return;
+    case 2:
+      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_DOMImplementation_createDocument__SWIG_0); return;
+    }
+  }
+  
+  croak("No matching function for overloaded 'DOMImplementation_createDocument'");
+  XSRETURN(0);
+}
+
+
+XS(_wrap_DOMImplementation_getImplementation) {
+  {
+    XERCES_CPP_NAMESPACE::DOMImplementation *result = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 0) || (items > 0)) {
+      SWIG_croak("Usage: DOMImplementation_getImplementation();");
+    }
+    {
+      try 
+      {
+        result = (XERCES_CPP_NAMESPACE::DOMImplementation *)XERCES_CPP_NAMESPACE::DOMImplementation::getImplementation();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementation, 0 | SWIG_SHADOW); argvi++ ;
+    XSRETURN(argvi);
+  fail:
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_delete_DOMImplementationList) {
+  {
+    XERCES_CPP_NAMESPACE::DOMImplementationList *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementationList *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMLocator_getURI(self);");
+      SWIG_croak("Usage: delete_DOMImplementationList(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLocator, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationList, SWIG_POINTER_DISOWN |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLocator_getURI" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLocator const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMImplementationList" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementationList *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLocator * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementationList * >(argp1);
     {
       try 
       {
-        result = (XMLCh *)((XERCES_CPP_NAMESPACE::DOMLocator const *)arg1)->getURI();
+        delete arg1;
+        
       } 
       CATCH_DOM_EXCEPTION
     }
     
-    ST(argvi) = XMLString2Perl(result);
-    ++argvi;
-    
     
     XSRETURN(argvi);
   fail:
@@ -41361,175 +40704,104 @@ XS(_wrap_DOMLocator_getURI) {
 }
 
 
-XS(_wrap_delete_DOMLSResourceResolver) {
+XS(_wrap_DOMImplementationList_item) {
   {
-    XERCES_CPP_NAMESPACE::DOMLSResourceResolver *arg1 = (XERCES_CPP_NAMESPACE::DOMLSResourceResolver *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMImplementationList *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementationList *) 0 ;
+    XMLSize_t arg2 ;
+    XERCES_CPP_NAMESPACE::DOMImplementation *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
+    size_t val2 ;
+    int ecode2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: delete_DOMLSResourceResolver(self);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMImplementationList_item(self,index);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSResourceResolver, SWIG_POINTER_DISOWN |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationList, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMLSResourceResolver" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSResourceResolver *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMImplementationList_item" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementationList const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSResourceResolver * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementationList * >(argp1);
+    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
+    if (!SWIG_IsOK(ecode2)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DOMImplementationList_item" "', argument " "2"" of type '" "XMLSize_t""'");
+    } 
+    arg2 = static_cast< XMLSize_t >(val2);
     {
       try 
       {
-        delete arg1;
-        
+        result = (XERCES_CPP_NAMESPACE::DOMImplementation *)((XERCES_CPP_NAMESPACE::DOMImplementationList const *)arg1)->item(arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementation, 0 | SWIG_SHADOW); argvi++ ;
     
     
     XSRETURN(argvi);
   fail:
     
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMLSResourceResolver_resolveResource) {
+XS(_wrap_DOMImplementationList_getLength) {
   {
-    XERCES_CPP_NAMESPACE::DOMLSResourceResolver *arg1 = (XERCES_CPP_NAMESPACE::DOMLSResourceResolver *) 0 ;
-    XMLCh *arg2 = (XMLCh *) (XMLCh *)0 ;
-    XMLCh *arg3 = (XMLCh *) (XMLCh *)0 ;
-    XMLCh *arg4 = (XMLCh *) (XMLCh *)0 ;
-    XMLCh *arg5 = (XMLCh *) (XMLCh *)0 ;
-    XMLCh *arg6 = (XMLCh *) (XMLCh *)0 ;
-    XERCES_CPP_NAMESPACE::DOMLSInput *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMImplementationList *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementationList *) 0 ;
+    XMLSize_t result;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 6) || (items > 6)) {
-      SWIG_croak("Usage: DOMLSResourceResolver_resolveResource(self,resourceType,namespaceUri,publicId,systemId,baseURI);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMImplementationList_getLength(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSResourceResolver, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationList, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSResourceResolver_resolveResource" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSResourceResolver *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSResourceResolver * >(argp1);
-    
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMLSResourceResolver_resolveResource");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMImplementationList_getLength" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementationList const *""'"); 
     }
-    
-    
-    if (ST(2) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",3,"DOMLSResourceResolver_resolveResource");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg3 = Perl2XMLString(ST(2));
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementationList * >(argp1);
+    {
+      try 
+      {
+        result = ((XERCES_CPP_NAMESPACE::DOMImplementationList const *)arg1)->getLength();
+      } 
+      CATCH_DOM_EXCEPTION
     }
+    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
     
-    
-    if (ST(3) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",4,"DOMLSResourceResolver_resolveResource");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg4 = Perl2XMLString(ST(3));
-    }
-    
-    
-    if (ST(4) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",5,"DOMLSResourceResolver_resolveResource");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg5 = Perl2XMLString(ST(4));
-    }
-    
-    
-    if (ST(5) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",6,"DOMLSResourceResolver_resolveResource");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg6 = Perl2XMLString(ST(5));
-    }
-    
-    {
-      try 
-      {
-        result = (XERCES_CPP_NAMESPACE::DOMLSInput *)(arg1)->resolveResource((XMLCh const *)arg2,(XMLCh const *)arg3,(XMLCh const *)arg4,(XMLCh const *)arg5,(XMLCh const *)arg6);
-      } 
-      CATCH_DOM_EXCEPTION
-    }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 | SWIG_SHADOW); argvi++ ;
-    
-    
-    delete[] arg2;
-    
-    
-    delete[] arg3;
-    
-    
-    delete[] arg4;
-    
-    
-    delete[] arg5;
-    
-    
-    delete[] arg6;
-    
-    XSRETURN(argvi);
-  fail:
-    
-    
-    delete[] arg2;
-    
-    
-    delete[] arg3;
-    
-    
-    delete[] arg4;
-    
-    
-    delete[] arg5;
-    
-    
-    delete[] arg6;
+    XSRETURN(argvi);
+  fail:
     
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_delete_DOMLSInput) {
+XS(_wrap_DOMImplementationList_release) {
   {
-    XERCES_CPP_NAMESPACE::DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::DOMLSInput *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMImplementationList *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementationList *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: delete_DOMLSInput(self);");
+      SWIG_croak("Usage: DOMImplementationList_release(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, SWIG_POINTER_DISOWN |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationList, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMLSInput" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMImplementationList_release" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementationList *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementationList * >(argp1);
     {
       try 
       {
-        delete arg1;
-        
+        (arg1)->release();
       } 
       CATCH_DOM_EXCEPTION
     }
@@ -41543,34 +40815,31 @@ XS(_wrap_delete_DOMLSInput) {
 }
 
 
-XS(_wrap_DOMLSInput_getStringData) {
+XS(_wrap_delete_DOMImplementationSource) {
   {
-    XERCES_CPP_NAMESPACE::DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::DOMLSInput *) 0 ;
-    XMLCh *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMImplementationSource *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementationSource *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMLSInput_getStringData(self);");
+      SWIG_croak("Usage: delete_DOMImplementationSource(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationSource, SWIG_POINTER_DISOWN |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSInput_getStringData" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMImplementationSource" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementationSource *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementationSource * >(argp1);
     {
       try 
       {
-        result = (XMLCh *)((XERCES_CPP_NAMESPACE::DOMLSInput const *)arg1)->getStringData();
+        delete arg1;
+        
       } 
       CATCH_DOM_EXCEPTION
     }
     
-    ST(argvi) = XMLString2Perl(result);
-    ++argvi;
-    
     
     XSRETURN(argvi);
   fail:
@@ -41580,179 +40849,210 @@ XS(_wrap_DOMLSInput_getStringData) {
 }
 
 
-XS(_wrap_DOMLSInput_getByteStream) {
+XS(_wrap_DOMImplementationSource_getDOMImplementation) {
   {
-    XERCES_CPP_NAMESPACE::DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::DOMLSInput *) 0 ;
-    XERCES_CPP_NAMESPACE::InputSource *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMImplementationSource *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementationSource *) 0 ;
+    XMLCh *arg2 = (XMLCh *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMImplementation *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMLSInput_getByteStream(self);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMImplementationSource_getDOMImplementation(self,features);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationSource, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSInput_getByteStream" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMImplementationSource_getDOMImplementation" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementationSource const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementationSource * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"DOMImplementationSource_getDOMImplementation");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
+    
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::InputSource *)((XERCES_CPP_NAMESPACE::DOMLSInput const *)arg1)->getByteStream();
+        result = (XERCES_CPP_NAMESPACE::DOMImplementation *)((XERCES_CPP_NAMESPACE::DOMImplementationSource const *)arg1)->getDOMImplementation((XMLCh const *)arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__InputSource, 0 | SWIG_SHADOW); argvi++ ;
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementation, 0 | SWIG_SHADOW); argvi++ ;
+    
+    
+    delete[] arg2;
     
     XSRETURN(argvi);
   fail:
     
+    
+    delete[] arg2;
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMLSInput_getEncoding) {
+XS(_wrap_DOMImplementationSource_getDOMImplementationList) {
   {
-    XERCES_CPP_NAMESPACE::DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::DOMLSInput *) 0 ;
-    XMLCh *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMImplementationSource *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementationSource *) 0 ;
+    XMLCh *arg2 = (XMLCh *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMImplementationList *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMLSInput_getEncoding(self);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMImplementationSource_getDOMImplementationList(self,features);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationSource, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSInput_getEncoding" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMImplementationSource_getDOMImplementationList" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementationSource const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementationSource * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"DOMImplementationSource_getDOMImplementationList");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
+    
     {
       try 
       {
-        result = (XMLCh *)((XERCES_CPP_NAMESPACE::DOMLSInput const *)arg1)->getEncoding();
+        result = (XERCES_CPP_NAMESPACE::DOMImplementationList *)((XERCES_CPP_NAMESPACE::DOMImplementationSource const *)arg1)->getDOMImplementationList((XMLCh const *)arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationList, 0 | SWIG_SHADOW); argvi++ ;
     
-    ST(argvi) = XMLString2Perl(result);
-    ++argvi;
     
+    delete[] arg2;
     
     XSRETURN(argvi);
   fail:
     
+    
+    delete[] arg2;
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMLSInput_getPublicId) {
+XS(_wrap_DOMImplementationRegistry_getDOMImplementation) {
   {
-    XERCES_CPP_NAMESPACE::DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::DOMLSInput *) 0 ;
-    XMLCh *result = 0 ;
-    void *argp1 = 0 ;
-    int res1 = 0 ;
+    XMLCh *arg1 = (XMLCh *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMImplementation *result = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMLSInput_getPublicId(self);");
+      SWIG_croak("Usage: DOMImplementationRegistry_getDOMImplementation(features);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
-    if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSInput_getPublicId" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput const *""'"); 
+    
+    if (ST(0) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",1,"DOMImplementationRegistry_getDOMImplementation");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg1 = Perl2XMLString(ST(0));
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp1);
+    
     {
       try 
       {
-        result = (XMLCh *)((XERCES_CPP_NAMESPACE::DOMLSInput const *)arg1)->getPublicId();
+        result = (XERCES_CPP_NAMESPACE::DOMImplementation *)XERCES_CPP_NAMESPACE::DOMImplementationRegistry::getDOMImplementation((uint16_t const *)arg1);
       } 
       CATCH_DOM_EXCEPTION
     }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementation, 0 | SWIG_SHADOW); argvi++ ;
     
-    ST(argvi) = XMLString2Perl(result);
-    ++argvi;
-    
+    delete[] arg1;
     
     XSRETURN(argvi);
   fail:
     
+    delete[] arg1;
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMLSInput_getSystemId) {
+XS(_wrap_DOMImplementationRegistry_getDOMImplementationList) {
   {
-    XERCES_CPP_NAMESPACE::DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::DOMLSInput *) 0 ;
-    XMLCh *result = 0 ;
-    void *argp1 = 0 ;
-    int res1 = 0 ;
+    XMLCh *arg1 = (XMLCh *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMImplementationList *result = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMLSInput_getSystemId(self);");
+      SWIG_croak("Usage: DOMImplementationRegistry_getDOMImplementationList(features);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
-    if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSInput_getSystemId" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput const *""'"); 
+    
+    if (ST(0) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",1,"DOMImplementationRegistry_getDOMImplementationList");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg1 = Perl2XMLString(ST(0));
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp1);
+    
     {
       try 
       {
-        result = (XMLCh *)((XERCES_CPP_NAMESPACE::DOMLSInput const *)arg1)->getSystemId();
+        result = (XERCES_CPP_NAMESPACE::DOMImplementationList *)XERCES_CPP_NAMESPACE::DOMImplementationRegistry::getDOMImplementationList((uint16_t const *)arg1);
       } 
       CATCH_DOM_EXCEPTION
     }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationList, 0 | SWIG_SHADOW); argvi++ ;
     
-    ST(argvi) = XMLString2Perl(result);
-    ++argvi;
-    
+    delete[] arg1;
     
     XSRETURN(argvi);
   fail:
     
+    delete[] arg1;
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMLSInput_getBaseURI) {
+XS(_wrap_DOMImplementationRegistry_addSource) {
   {
-    XERCES_CPP_NAMESPACE::DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::DOMLSInput *) 0 ;
-    XMLCh *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMImplementationSource *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementationSource *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMLSInput_getBaseURI(self);");
+      SWIG_croak("Usage: DOMImplementationRegistry_addSource(source);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationSource, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSInput_getBaseURI" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMImplementationRegistry_addSource" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementationSource *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementationSource * >(argp1);
     {
       try 
       {
-        result = (XMLCh *)((XERCES_CPP_NAMESPACE::DOMLSInput const *)arg1)->getBaseURI();
+        XERCES_CPP_NAMESPACE::DOMImplementationRegistry::addSource(arg1);
       } 
       CATCH_DOM_EXCEPTION
     }
     
-    ST(argvi) = XMLString2Perl(result);
-    ++argvi;
-    
     
     XSRETURN(argvi);
   fail:
@@ -41762,362 +41062,275 @@ XS(_wrap_DOMLSInput_getBaseURI) {
 }
 
 
-XS(_wrap_DOMLSInput_setStringData) {
+XS(_wrap_delete_DOMImplementationRegistry) {
   {
-    XERCES_CPP_NAMESPACE::DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::DOMLSInput *) 0 ;
-    XMLCh *arg2 = (XMLCh *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMImplementationRegistry *arg1 = (XERCES_CPP_NAMESPACE::DOMImplementationRegistry *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMLSInput_setStringData(self,data);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: delete_DOMImplementationRegistry(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationRegistry, SWIG_POINTER_DISOWN |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSInput_setStringData" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp1);
-    
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMLSInput_setStringData");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMImplementationRegistry" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMImplementationRegistry *""'"); 
     }
-    
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMImplementationRegistry * >(argp1);
     {
       try 
       {
-        (arg1)->setStringData((XMLCh const *)arg2);
+        delete arg1;
+        
       } 
       CATCH_DOM_EXCEPTION
     }
     
     
-    
-    delete[] arg2;
-    
     XSRETURN(argvi);
   fail:
     
-    
-    delete[] arg2;
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMLSInput_setByteStream) {
+XS(_wrap_delete_DOMError) {
   {
-    XERCES_CPP_NAMESPACE::DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::DOMLSInput *) 0 ;
-    XERCES_CPP_NAMESPACE::InputSource *arg2 = (XERCES_CPP_NAMESPACE::InputSource *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMError *arg1 = (XERCES_CPP_NAMESPACE::DOMError *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    void *argp2 = 0 ;
-    int res2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMLSInput_setByteStream(self,stream);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: delete_DOMError(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMError, SWIG_POINTER_DISOWN |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSInput_setByteStream" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp1);
-    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__InputSource, 0 |  0 );
-    if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMLSInput_setByteStream" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::InputSource *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMError" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMError *""'"); 
     }
-    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::InputSource * >(argp2);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMError * >(argp1);
     {
       try 
       {
-        (arg1)->setByteStream(arg2);
+        delete arg1;
+        
       } 
       CATCH_DOM_EXCEPTION
     }
     
     
-    
     XSRETURN(argvi);
   fail:
     
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMLSInput_setEncoding) {
+XS(_wrap_DOMError_getSeverity) {
   {
-    XERCES_CPP_NAMESPACE::DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::DOMLSInput *) 0 ;
-    XMLCh *arg2 = (XMLCh *) (XMLCh *)0 ;
+    XERCES_CPP_NAMESPACE::DOMError *arg1 = (XERCES_CPP_NAMESPACE::DOMError *) 0 ;
+    short result;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMLSInput_setEncoding(self,encodingStr);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMError_getSeverity(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMError, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSInput_setEncoding" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp1);
-    
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMLSInput_setEncoding");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMError_getSeverity" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMError const *""'"); 
     }
-    
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMError * >(argp1);
     {
       try 
       {
-        (arg1)->setEncoding((XMLCh const *)arg2);
+        result = (short)((XERCES_CPP_NAMESPACE::DOMError const *)arg1)->getSeverity();
       } 
       CATCH_DOM_EXCEPTION
     }
-    
-    
-    
-    delete[] arg2;
+    ST(argvi) = SWIG_From_short  SWIG_PERL_CALL_ARGS_1(static_cast< short >(result)); argvi++ ;
     
     XSRETURN(argvi);
   fail:
     
-    
-    delete[] arg2;
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMLSInput_setPublicId) {
+XS(_wrap_DOMError_getMessage) {
   {
-    XERCES_CPP_NAMESPACE::DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::DOMLSInput *) 0 ;
-    XMLCh *arg2 = (XMLCh *) (XMLCh *)0 ;
+    XERCES_CPP_NAMESPACE::DOMError *arg1 = (XERCES_CPP_NAMESPACE::DOMError *) 0 ;
+    XMLCh *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMLSInput_setPublicId(self,publicId);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMError_getMessage(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMError, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSInput_setPublicId" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp1);
-    
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMLSInput_setPublicId");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMError_getMessage" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMError const *""'"); 
     }
-    
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMError * >(argp1);
     {
       try 
       {
-        (arg1)->setPublicId((XMLCh const *)arg2);
+        result = (XMLCh *)((XERCES_CPP_NAMESPACE::DOMError const *)arg1)->getMessage();
       } 
       CATCH_DOM_EXCEPTION
     }
     
+    ST(argvi) = XMLString2Perl(result);
+    ++argvi;
     
     
-    delete[] arg2;
-    
     XSRETURN(argvi);
   fail:
     
-    
-    delete[] arg2;
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMLSInput_setSystemId) {
+XS(_wrap_DOMError_getLocation) {
   {
-    XERCES_CPP_NAMESPACE::DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::DOMLSInput *) 0 ;
-    XMLCh *arg2 = (XMLCh *) (XMLCh *)0 ;
+    XERCES_CPP_NAMESPACE::DOMError *arg1 = (XERCES_CPP_NAMESPACE::DOMError *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMLocator *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMLSInput_setSystemId(self,systemId);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMError_getLocation(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMError, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSInput_setSystemId" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp1);
-    
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMLSInput_setSystemId");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMError_getLocation" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMError const *""'"); 
     }
-    
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMError * >(argp1);
     {
       try 
       {
-        (arg1)->setSystemId((XMLCh const *)arg2);
+        result = (XERCES_CPP_NAMESPACE::DOMLocator *)((XERCES_CPP_NAMESPACE::DOMError const *)arg1)->getLocation();
       } 
       CATCH_DOM_EXCEPTION
     }
-    
-    
-    
-    delete[] arg2;
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLocator, 0 | SWIG_SHADOW); argvi++ ;
     
     XSRETURN(argvi);
   fail:
     
-    
-    delete[] arg2;
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMLSInput_setBaseURI) {
+XS(_wrap_DOMError_getRelatedException) {
   {
-    XERCES_CPP_NAMESPACE::DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::DOMLSInput *) 0 ;
-    XMLCh *arg2 = (XMLCh *) (XMLCh *)0 ;
+    XERCES_CPP_NAMESPACE::DOMError *arg1 = (XERCES_CPP_NAMESPACE::DOMError *) 0 ;
+    void *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMLSInput_setBaseURI(self,baseURI);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMError_getRelatedException(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMError, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSInput_setBaseURI" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp1);
-    
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMLSInput_setBaseURI");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMError_getRelatedException" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMError const *""'"); 
     }
-    
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMError * >(argp1);
     {
       try 
       {
-        (arg1)->setBaseURI((XMLCh const *)arg2);
+        result = (void *)((XERCES_CPP_NAMESPACE::DOMError const *)arg1)->getRelatedException();
       } 
       CATCH_DOM_EXCEPTION
     }
-    
-    
-    
-    delete[] arg2;
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 | 0); argvi++ ;
     
     XSRETURN(argvi);
   fail:
     
-    
-    delete[] arg2;
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMLSInput_setIssueFatalErrorIfNotFound) {
+XS(_wrap_DOMError_getType) {
   {
-    XERCES_CPP_NAMESPACE::DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::DOMLSInput *) 0 ;
-    bool arg2 ;
+    XERCES_CPP_NAMESPACE::DOMError *arg1 = (XERCES_CPP_NAMESPACE::DOMError *) 0 ;
+    XMLCh *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    bool val2 ;
-    int ecode2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMLSInput_setIssueFatalErrorIfNotFound(self,flag);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMError_getType(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMError, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSInput_setIssueFatalErrorIfNotFound" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMError_getType" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMError const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp1);
-    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
-    if (!SWIG_IsOK(ecode2)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DOMLSInput_setIssueFatalErrorIfNotFound" "', argument " "2"" of type '" "bool""'");
-    } 
-    arg2 = static_cast< bool >(val2);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMError * >(argp1);
     {
       try 
       {
-        (arg1)->setIssueFatalErrorIfNotFound(arg2);
+        result = (XMLCh *)((XERCES_CPP_NAMESPACE::DOMError const *)arg1)->getType();
       } 
       CATCH_DOM_EXCEPTION
     }
     
+    ST(argvi) = XMLString2Perl(result);
+    ++argvi;
     
     
     XSRETURN(argvi);
   fail:
     
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMLSInput_getIssueFatalErrorIfNotFound) {
+XS(_wrap_DOMError_getRelatedData) {
   {
-    XERCES_CPP_NAMESPACE::DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::DOMLSInput *) 0 ;
-    bool result;
+    XERCES_CPP_NAMESPACE::DOMError *arg1 = (XERCES_CPP_NAMESPACE::DOMError *) 0 ;
+    void *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMLSInput_getIssueFatalErrorIfNotFound(self);");
+      SWIG_croak("Usage: DOMError_getRelatedData(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMError, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSInput_getIssueFatalErrorIfNotFound" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMError_getRelatedData" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMError const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMError * >(argp1);
     {
       try 
       {
-        result = (bool)((XERCES_CPP_NAMESPACE::DOMLSInput const *)arg1)->getIssueFatalErrorIfNotFound();
+        result = (void *)((XERCES_CPP_NAMESPACE::DOMError const *)arg1)->getRelatedData();
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 | 0); argvi++ ;
     
     XSRETURN(argvi);
   fail:
@@ -42127,26 +41340,27 @@ XS(_wrap_DOMLSInput_getIssueFatalErrorIfNotFound) {
 }
 
 
-XS(_wrap_DOMLSInput_release) {
+XS(_wrap_delete_DOMErrorHandler) {
   {
-    XERCES_CPP_NAMESPACE::DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::DOMLSInput *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMErrorHandler *arg1 = (XERCES_CPP_NAMESPACE::DOMErrorHandler *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMLSInput_release(self);");
+      SWIG_croak("Usage: delete_DOMErrorHandler(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMErrorHandler, SWIG_POINTER_DISOWN |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSInput_release" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMErrorHandler" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMErrorHandler *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMErrorHandler * >(argp1);
     {
       try 
       {
-        (arg1)->release();
+        delete arg1;
+        
       } 
       CATCH_DOM_EXCEPTION
     }
@@ -42160,33 +41374,42 @@ XS(_wrap_DOMLSInput_release) {
 }
 
 
-XS(_wrap_new_Wrapper4InputSource) {
+XS(_wrap_DOMErrorHandler_handleError) {
   {
-    XERCES_CPP_NAMESPACE::InputSource *arg1 = (XERCES_CPP_NAMESPACE::InputSource *) (XERCES_CPP_NAMESPACE::InputSource *)0 ;
-    bool arg2 ;
-    XERCES_CPP_NAMESPACE::Wrapper4InputSource *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMErrorHandler *arg1 = (XERCES_CPP_NAMESPACE::DOMErrorHandler *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMError *arg2 = 0 ;
+    bool result;
     void *argp1 = 0 ;
     int res1 = 0 ;
+    void *argp2 ;
+    int res2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    arg2 = true;
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: new_Wrapper4InputSource(inputSource);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMErrorHandler_handleError(self,domError);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__InputSource, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMErrorHandler, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Wrapper4InputSource" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::InputSource *const""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMErrorHandler_handleError" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMErrorHandler *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::InputSource * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMErrorHandler * >(argp1);
+    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMError,  0 );
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMErrorHandler_handleError" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMError const &""'"); 
+    }
+    if (!argp2) {
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "DOMErrorHandler_handleError" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMError const &""'"); 
+    }
+    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMError * >(argp2);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::Wrapper4InputSource *)new XERCES_CPP_NAMESPACE::Wrapper4InputSource(arg1,arg2);
+        result = (bool)(arg1)->handleError((XERCES_CPP_NAMESPACE::DOMError const &)*arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
+    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
     
     
     XSRETURN(argvi);
@@ -42198,22 +41421,22 @@ XS(_wrap_new_Wrapper4InputSource) {
 }
 
 
-XS(_wrap_delete_Wrapper4InputSource) {
+XS(_wrap_delete_DOMDocument) {
   {
-    XERCES_CPP_NAMESPACE::Wrapper4InputSource *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4InputSource *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: delete_Wrapper4InputSource(self);");
+      SWIG_croak("Usage: delete_DOMDocument(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource, SWIG_POINTER_DISOWN |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, SWIG_POINTER_DISOWN |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Wrapper4InputSource" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4InputSource *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMDocument" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4InputSource * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
     {
       try 
       {
@@ -42232,68 +41455,81 @@ XS(_wrap_delete_Wrapper4InputSource) {
 }
 
 
-XS(_wrap_Wrapper4InputSource_getStringData) {
+XS(_wrap_DOMDocument_createElement) {
   {
-    XERCES_CPP_NAMESPACE::Wrapper4InputSource *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4InputSource *) 0 ;
-    XMLCh *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    XMLCh *arg2 = (XMLCh *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMElement *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: Wrapper4InputSource_getStringData(self);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMDocument_createElement(self,tagName);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4InputSource_getStringData" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4InputSource const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_createElement" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4InputSource * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_createElement");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
+    
     {
       try 
       {
-        result = (XMLCh *)((XERCES_CPP_NAMESPACE::Wrapper4InputSource const *)arg1)->getStringData();
+        result = (XERCES_CPP_NAMESPACE::DOMElement *)(arg1)->createElement((XMLCh const *)arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMElement, 0 | SWIG_SHADOW); argvi++ ;
     
-    ST(argvi) = XMLString2Perl(result);
-    ++argvi;
     
+    delete[] arg2;
     
     XSRETURN(argvi);
   fail:
     
+    
+    delete[] arg2;
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_Wrapper4InputSource_getByteStream) {
+XS(_wrap_DOMDocument_createDocumentFragment) {
   {
-    XERCES_CPP_NAMESPACE::Wrapper4InputSource *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4InputSource *) 0 ;
-    XERCES_CPP_NAMESPACE::InputSource *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMDocumentFragment *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: Wrapper4InputSource_getByteStream(self);");
+      SWIG_croak("Usage: DOMDocument_createDocumentFragment(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4InputSource_getByteStream" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4InputSource const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_createDocumentFragment" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4InputSource * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::InputSource *)((XERCES_CPP_NAMESPACE::Wrapper4InputSource const *)arg1)->getByteStream();
+        result = (XERCES_CPP_NAMESPACE::DOMDocumentFragment *)(arg1)->createDocumentFragment();
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__InputSource, 0 | SWIG_SHADOW); argvi++ ;
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentFragment, 0 | SWIG_SHADOW); argvi++ ;
     
     XSRETURN(argvi);
   fail:
@@ -42303,208 +41539,293 @@ XS(_wrap_Wrapper4InputSource_getByteStream) {
 }
 
 
-XS(_wrap_Wrapper4InputSource_getEncoding) {
+XS(_wrap_DOMDocument_createTextNode) {
   {
-    XERCES_CPP_NAMESPACE::Wrapper4InputSource *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4InputSource *) 0 ;
-    XMLCh *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    XMLCh *arg2 = (XMLCh *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMText *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: Wrapper4InputSource_getEncoding(self);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMDocument_createTextNode(self,data);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4InputSource_getEncoding" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4InputSource const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_createTextNode" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4InputSource * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_createTextNode");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
+    
     {
       try 
       {
-        result = (XMLCh *)((XERCES_CPP_NAMESPACE::Wrapper4InputSource const *)arg1)->getEncoding();
+        result = (XERCES_CPP_NAMESPACE::DOMText *)(arg1)->createTextNode((XMLCh const *)arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMText, 0 | SWIG_SHADOW); argvi++ ;
     
-    ST(argvi) = XMLString2Perl(result);
-    ++argvi;
     
+    delete[] arg2;
     
     XSRETURN(argvi);
   fail:
     
+    
+    delete[] arg2;
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_Wrapper4InputSource_getPublicId) {
+XS(_wrap_DOMDocument_createComment) {
   {
-    XERCES_CPP_NAMESPACE::Wrapper4InputSource *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4InputSource *) 0 ;
-    XMLCh *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    XMLCh *arg2 = (XMLCh *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMComment *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: Wrapper4InputSource_getPublicId(self);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMDocument_createComment(self,data);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4InputSource_getPublicId" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4InputSource const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_createComment" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4InputSource * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_createComment");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
+    
     {
       try 
       {
-        result = (XMLCh *)((XERCES_CPP_NAMESPACE::Wrapper4InputSource const *)arg1)->getPublicId();
+        result = (XERCES_CPP_NAMESPACE::DOMComment *)(arg1)->createComment((XMLCh const *)arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMComment, 0 | SWIG_SHADOW); argvi++ ;
     
-    ST(argvi) = XMLString2Perl(result);
-    ++argvi;
     
+    delete[] arg2;
     
     XSRETURN(argvi);
   fail:
     
+    
+    delete[] arg2;
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_Wrapper4InputSource_getSystemId) {
+XS(_wrap_DOMDocument_createCDATASection) {
   {
-    XERCES_CPP_NAMESPACE::Wrapper4InputSource *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4InputSource *) 0 ;
-    XMLCh *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    XMLCh *arg2 = (XMLCh *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMCDATASection *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: Wrapper4InputSource_getSystemId(self);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMDocument_createCDATASection(self,data);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4InputSource_getSystemId" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4InputSource const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_createCDATASection" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4InputSource * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_createCDATASection");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
+    
     {
       try 
       {
-        result = (XMLCh *)((XERCES_CPP_NAMESPACE::Wrapper4InputSource const *)arg1)->getSystemId();
+        result = (XERCES_CPP_NAMESPACE::DOMCDATASection *)(arg1)->createCDATASection((XMLCh const *)arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMCDATASection, 0 | SWIG_SHADOW); argvi++ ;
     
-    ST(argvi) = XMLString2Perl(result);
-    ++argvi;
     
+    delete[] arg2;
     
     XSRETURN(argvi);
   fail:
     
+    
+    delete[] arg2;
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_Wrapper4InputSource_getBaseURI) {
+XS(_wrap_DOMDocument_createProcessingInstruction) {
   {
-    XERCES_CPP_NAMESPACE::Wrapper4InputSource *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4InputSource *) 0 ;
-    XMLCh *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    XMLCh *arg2 = (XMLCh *) 0 ;
+    XMLCh *arg3 = (XMLCh *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMProcessingInstruction *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: Wrapper4InputSource_getBaseURI(self);");
+    if ((items < 3) || (items > 3)) {
+      SWIG_croak("Usage: DOMDocument_createProcessingInstruction(self,target,data);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4InputSource_getBaseURI" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4InputSource const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_createProcessingInstruction" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4InputSource * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_createProcessingInstruction");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
+    
+    
+    if (ST(2) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",3,"DOMDocument_createProcessingInstruction");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg3 = Perl2XMLString(ST(2));
+    }
+    
     {
       try 
       {
-        result = (XMLCh *)((XERCES_CPP_NAMESPACE::Wrapper4InputSource const *)arg1)->getBaseURI();
+        result = (XERCES_CPP_NAMESPACE::DOMProcessingInstruction *)(arg1)->createProcessingInstruction((XMLCh const *)arg2,(XMLCh const *)arg3);
       } 
       CATCH_DOM_EXCEPTION
     }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMProcessingInstruction, 0 | SWIG_SHADOW); argvi++ ;
+    
+    
+    delete[] arg2;
     
-    ST(argvi) = XMLString2Perl(result);
-    ++argvi;
     
+    delete[] arg3;
     
     XSRETURN(argvi);
   fail:
     
+    
+    delete[] arg2;
+    
+    
+    delete[] arg3;
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_Wrapper4InputSource_getIssueFatalErrorIfNotFound) {
+XS(_wrap_DOMDocument_createAttribute) {
   {
-    XERCES_CPP_NAMESPACE::Wrapper4InputSource *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4InputSource *) 0 ;
-    bool result;
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    XMLCh *arg2 = (XMLCh *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMAttr *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: Wrapper4InputSource_getIssueFatalErrorIfNotFound(self);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMDocument_createAttribute(self,name);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4InputSource_getIssueFatalErrorIfNotFound" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4InputSource const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_createAttribute" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4InputSource * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_createAttribute");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
+    
     {
       try 
       {
-        result = (bool)((XERCES_CPP_NAMESPACE::Wrapper4InputSource const *)arg1)->getIssueFatalErrorIfNotFound();
+        result = (XERCES_CPP_NAMESPACE::DOMAttr *)(arg1)->createAttribute((XMLCh const *)arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMAttr, 0 | SWIG_SHADOW); argvi++ ;
+    
+    
+    delete[] arg2;
     
     XSRETURN(argvi);
   fail:
     
+    
+    delete[] arg2;
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_Wrapper4InputSource_setStringData) {
+XS(_wrap_DOMDocument_createEntityReference) {
   {
-    XERCES_CPP_NAMESPACE::Wrapper4InputSource *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4InputSource *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
     XMLCh *arg2 = (XMLCh *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMEntityReference *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: Wrapper4InputSource_setStringData(self,data);");
+      SWIG_croak("Usage: DOMDocument_createEntityReference(self,name);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4InputSource_setStringData" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4InputSource *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_createEntityReference" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4InputSource * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
     
     if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"Wrapper4InputSource_setStringData");
+      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_createEntityReference");
       goto fail;
     } else {
       // we convert *everything* into a string that isn't undef
@@ -42514,11 +41835,11 @@ XS(_wrap_Wrapper4InputSource_setStringData) {
     {
       try 
       {
-        (arg1)->setStringData((XMLCh const *)arg2);
+        result = (XERCES_CPP_NAMESPACE::DOMEntityReference *)(arg1)->createEntityReference((XMLCh const *)arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
-    
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMEntityReference, 0 | SWIG_SHADOW); argvi++ ;
     
     
     delete[] arg2;
@@ -42534,118 +41855,129 @@ XS(_wrap_Wrapper4InputSource_setStringData) {
 }
 
 
-XS(_wrap_Wrapper4InputSource_setByteStream) {
+XS(_wrap_DOMDocument_getDoctype) {
   {
-    XERCES_CPP_NAMESPACE::Wrapper4InputSource *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4InputSource *) 0 ;
-    XERCES_CPP_NAMESPACE::InputSource *arg2 = (XERCES_CPP_NAMESPACE::InputSource *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMDocumentType *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    void *argp2 = 0 ;
-    int res2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: Wrapper4InputSource_setByteStream(self,stream);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMDocument_getDoctype(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4InputSource_setByteStream" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4InputSource *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4InputSource * >(argp1);
-    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__InputSource, 0 |  0 );
-    if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Wrapper4InputSource_setByteStream" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::InputSource *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_getDoctype" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument const *""'"); 
     }
-    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::InputSource * >(argp2);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
     {
       try 
       {
-        (arg1)->setByteStream(arg2);
+        result = (XERCES_CPP_NAMESPACE::DOMDocumentType *)((XERCES_CPP_NAMESPACE::DOMDocument const *)arg1)->getDoctype();
       } 
       CATCH_DOM_EXCEPTION
     }
-    
-    
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentType, 0 | SWIG_SHADOW); argvi++ ;
     
     XSRETURN(argvi);
   fail:
     
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_Wrapper4InputSource_setEncoding) {
+XS(_wrap_DOMDocument_getImplementation) {
   {
-    XERCES_CPP_NAMESPACE::Wrapper4InputSource *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4InputSource *) 0 ;
-    XMLCh *arg2 = (XMLCh *) (XMLCh *)0 ;
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMImplementation *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: Wrapper4InputSource_setEncoding(self,encodingStr);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMDocument_getImplementation(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4InputSource_setEncoding" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4InputSource *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4InputSource * >(argp1);
-    
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"Wrapper4InputSource_setEncoding");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_getImplementation" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument const *""'"); 
     }
-    
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
     {
       try 
       {
-        (arg1)->setEncoding((XMLCh const *)arg2);
+        result = (XERCES_CPP_NAMESPACE::DOMImplementation *)((XERCES_CPP_NAMESPACE::DOMDocument const *)arg1)->getImplementation();
       } 
       CATCH_DOM_EXCEPTION
     }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementation, 0 | SWIG_SHADOW); argvi++ ;
     
+    XSRETURN(argvi);
+  fail:
     
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMDocument_getDocumentElement) {
+  {
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMElement *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
     
-    delete[] arg2;
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMDocument_getDocumentElement(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_getDocumentElement" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument const *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
+    {
+      try 
+      {
+        result = (XERCES_CPP_NAMESPACE::DOMElement *)((XERCES_CPP_NAMESPACE::DOMDocument const *)arg1)->getDocumentElement();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMElement, 0 | SWIG_SHADOW); argvi++ ;
     
     XSRETURN(argvi);
   fail:
     
-    
-    delete[] arg2;
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_Wrapper4InputSource_setPublicId) {
+XS(_wrap_DOMDocument_getElementsByTagName) {
   {
-    XERCES_CPP_NAMESPACE::Wrapper4InputSource *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4InputSource *) 0 ;
-    XMLCh *arg2 = (XMLCh *) (XMLCh *)0 ;
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    XMLCh *arg2 = (XMLCh *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNodeList *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: Wrapper4InputSource_setPublicId(self,publicId);");
+      SWIG_croak("Usage: DOMDocument_getElementsByTagName(self,tagname);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4InputSource_setPublicId" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4InputSource *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_getElementsByTagName" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4InputSource * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
     
     if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"Wrapper4InputSource_setPublicId");
+      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_getElementsByTagName");
       goto fail;
     } else {
       // we convert *everything* into a string that isn't undef
@@ -42655,11 +41987,11 @@ XS(_wrap_Wrapper4InputSource_setPublicId) {
     {
       try 
       {
-        (arg1)->setPublicId((XMLCh const *)arg2);
+        result = (XERCES_CPP_NAMESPACE::DOMNodeList *)((XERCES_CPP_NAMESPACE::DOMDocument const *)arg1)->getElementsByTagName((XMLCh const *)arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
-    
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeList, 0 | SWIG_SHADOW); argvi++ ;
     
     
     delete[] arg2;
@@ -42675,253 +42007,336 @@ XS(_wrap_Wrapper4InputSource_setPublicId) {
 }
 
 
-XS(_wrap_Wrapper4InputSource_setSystemId) {
+XS(_wrap_DOMDocument_importNode) {
   {
-    XERCES_CPP_NAMESPACE::Wrapper4InputSource *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4InputSource *) 0 ;
-    XMLCh *arg2 = (XMLCh *) (XMLCh *)0 ;
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *arg2 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
+    bool arg3 ;
+    XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
+    void *argp2 = 0 ;
+    int res2 = 0 ;
+    bool val3 ;
+    int ecode3 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: Wrapper4InputSource_setSystemId(self,systemId);");
+    if ((items < 3) || (items > 3)) {
+      SWIG_croak("Usage: DOMDocument_importNode(self,importedNode,deep);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4InputSource_setSystemId" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4InputSource *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_importNode" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4InputSource * >(argp1);
-    
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"Wrapper4InputSource_setSystemId");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
+    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMDocument_importNode" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMNode const *""'"); 
     }
-    
+    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp2);
+    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
+    if (!SWIG_IsOK(ecode3)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "DOMDocument_importNode" "', argument " "3"" of type '" "bool""'");
+    } 
+    arg3 = static_cast< bool >(val3);
     {
       try 
       {
-        (arg1)->setSystemId((XMLCh const *)arg2);
+        result = (XERCES_CPP_NAMESPACE::DOMNode *)(arg1)->importNode((XERCES_CPP_NAMESPACE::DOMNode const *)arg2,arg3);
       } 
       CATCH_DOM_EXCEPTION
     }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
     
     
     
-    delete[] arg2;
-    
     XSRETURN(argvi);
   fail:
     
     
-    delete[] arg2;
     
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_Wrapper4InputSource_setBaseURI) {
+XS(_wrap_DOMDocument_createElementNS__SWIG_0) {
   {
-    XERCES_CPP_NAMESPACE::Wrapper4InputSource *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4InputSource *) 0 ;
-    XMLCh *arg2 = (XMLCh *) (XMLCh *)0 ;
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    XMLCh *arg2 = (XMLCh *) 0 ;
+    XMLCh *arg3 = (XMLCh *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMElement *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: Wrapper4InputSource_setBaseURI(self,baseURI);");
+    if ((items < 3) || (items > 3)) {
+      SWIG_croak("Usage: DOMDocument_createElementNS(self,namespaceURI,qualifiedName);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4InputSource_setBaseURI" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4InputSource *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_createElementNS" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4InputSource * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
     
     if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"Wrapper4InputSource_setBaseURI");
+      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_createElementNS");
       goto fail;
     } else {
       // we convert *everything* into a string that isn't undef
       arg2 = Perl2XMLString(ST(1));
     }
     
+    
+    if (ST(2) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",3,"DOMDocument_createElementNS");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg3 = Perl2XMLString(ST(2));
+    }
+    
     {
       try 
       {
-        (arg1)->setBaseURI((XMLCh const *)arg2);
+        result = (XERCES_CPP_NAMESPACE::DOMElement *)(arg1)->createElementNS((XMLCh const *)arg2,(XMLCh const *)arg3);
       } 
       CATCH_DOM_EXCEPTION
     }
-    
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMElement, 0 | SWIG_SHADOW); argvi++ ;
     
     
     delete[] arg2;
     
+    
+    delete[] arg3;
+    
     XSRETURN(argvi);
   fail:
     
     
     delete[] arg2;
     
+    
+    delete[] arg3;
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_Wrapper4InputSource_setIssueFatalErrorIfNotFound) {
+XS(_wrap_DOMDocument_createAttributeNS) {
   {
-    XERCES_CPP_NAMESPACE::Wrapper4InputSource *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4InputSource *) 0 ;
-    bool arg2 ;
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    XMLCh *arg2 = (XMLCh *) 0 ;
+    XMLCh *arg3 = (XMLCh *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMAttr *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    bool val2 ;
-    int ecode2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: Wrapper4InputSource_setIssueFatalErrorIfNotFound(self,flag);");
+    if ((items < 3) || (items > 3)) {
+      SWIG_croak("Usage: DOMDocument_createAttributeNS(self,namespaceURI,qualifiedName);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4InputSource_setIssueFatalErrorIfNotFound" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4InputSource *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_createAttributeNS" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4InputSource * >(argp1);
-    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
-    if (!SWIG_IsOK(ecode2)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Wrapper4InputSource_setIssueFatalErrorIfNotFound" "', argument " "2"" of type '" "bool""'");
-    } 
-    arg2 = static_cast< bool >(val2);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_createAttributeNS");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
+    
+    
+    if (ST(2) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",3,"DOMDocument_createAttributeNS");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg3 = Perl2XMLString(ST(2));
+    }
+    
     {
       try 
       {
-        (arg1)->setIssueFatalErrorIfNotFound(arg2);
+        result = (XERCES_CPP_NAMESPACE::DOMAttr *)(arg1)->createAttributeNS((XMLCh const *)arg2,(XMLCh const *)arg3);
       } 
       CATCH_DOM_EXCEPTION
     }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMAttr, 0 | SWIG_SHADOW); argvi++ ;
+    
+    
+    delete[] arg2;
     
     
+    delete[] arg3;
     
     XSRETURN(argvi);
   fail:
     
     
+    delete[] arg2;
+    
+    
+    delete[] arg3;
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_Wrapper4InputSource_release) {
+XS(_wrap_DOMDocument_getElementsByTagNameNS) {
   {
-    XERCES_CPP_NAMESPACE::Wrapper4InputSource *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4InputSource *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    XMLCh *arg2 = (XMLCh *) 0 ;
+    XMLCh *arg3 = (XMLCh *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNodeList *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: Wrapper4InputSource_release(self);");
-    }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource, 0 |  0 );
+    if ((items < 3) || (items > 3)) {
+      SWIG_croak("Usage: DOMDocument_getElementsByTagNameNS(self,namespaceURI,localName);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4InputSource_release" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4InputSource *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_getElementsByTagNameNS" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4InputSource * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_getElementsByTagNameNS");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
+    
+    
+    if (ST(2) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",3,"DOMDocument_getElementsByTagNameNS");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg3 = Perl2XMLString(ST(2));
+    }
+    
     {
       try 
       {
-        (arg1)->release();
+        result = (XERCES_CPP_NAMESPACE::DOMNodeList *)((XERCES_CPP_NAMESPACE::DOMDocument const *)arg1)->getElementsByTagNameNS((XMLCh const *)arg2,(XMLCh const *)arg3);
       } 
       CATCH_DOM_EXCEPTION
     }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeList, 0 | SWIG_SHADOW); argvi++ ;
+    
+    
+    delete[] arg2;
+    
     
+    delete[] arg3;
     
     XSRETURN(argvi);
   fail:
     
+    
+    delete[] arg2;
+    
+    
+    delete[] arg3;
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_new_Wrapper4DOMLSInput__SWIG_0) {
+XS(_wrap_DOMDocument_getElementById) {
   {
-    XERCES_CPP_NAMESPACE::DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::DOMLSInput *) (XERCES_CPP_NAMESPACE::DOMLSInput *)0 ;
-    XERCES_CPP_NAMESPACE::DOMLSResourceResolver *arg2 = (XERCES_CPP_NAMESPACE::DOMLSResourceResolver *) 0 ;
-    bool arg3 ;
-    XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    XMLCh *arg2 = (XMLCh *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMElement *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    void *argp2 = 0 ;
-    int res2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    arg3 = true;
     if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: new_Wrapper4DOMLSInput(inputSource,entityResolver);");
+      SWIG_croak("Usage: DOMDocument_getElementById(self,elementId);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Wrapper4DOMLSInput" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput *const""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_getElementById" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp1);
-    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSResourceResolver, 0 |  0 );
-    if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_Wrapper4DOMLSInput" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMLSResourceResolver *""'"); 
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_getElementById");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
     }
-    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSResourceResolver * >(argp2);
+    
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *)new XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput(arg1,arg2,arg3);
+        result = (XERCES_CPP_NAMESPACE::DOMElement *)((XERCES_CPP_NAMESPACE::DOMDocument const *)arg1)->getElementById((XMLCh const *)arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4DOMLSInput, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMElement, 0 | SWIG_SHADOW); argvi++ ;
     
     
+    delete[] arg2;
     
     XSRETURN(argvi);
   fail:
     
     
+    delete[] arg2;
     
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_new_Wrapper4DOMLSInput__SWIG_1) {
+XS(_wrap_DOMDocument_getInputEncoding) {
   {
-    XERCES_CPP_NAMESPACE::DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::DOMLSInput *) (XERCES_CPP_NAMESPACE::DOMLSInput *)0 ;
-    XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    XMLCh *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: new_Wrapper4DOMLSInput(inputSource);");
+      SWIG_croak("Usage: DOMDocument_getInputEncoding(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Wrapper4DOMLSInput" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput *const""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_getInputEncoding" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *)new XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput(arg1);
+        result = (XMLCh *)((XERCES_CPP_NAMESPACE::DOMDocument const *)arg1)->getInputEncoding();
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4DOMLSInput, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
+    
+    ST(argvi) = XMLString2Perl(result);
+    ++argvi;
+    
     
     XSRETURN(argvi);
   fail:
@@ -42931,102 +42346,34 @@ XS(_wrap_new_Wrapper4DOMLSInput__SWIG_1) {
 }
 
 
-XS(_wrap_new_Wrapper4DOMLSInput) {
-  dXSARGS;
-  
-  {
-    unsigned long _index = 0;
-    SWIG_TypeRank _rank = 0; 
-    if (items == 1) {
-      SWIG_TypeRank _ranki = 0;
-      SWIG_TypeRank _rankm = 0;
-      SWIG_TypeRank _pi = 1;
-      int _v = 0;
-      {
-        void *vptr = 0;
-        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0);
-        _v = SWIG_CheckState(res);
-      }
-      if (!_v) goto check_1;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      if (!_index || (_ranki < _rank)) {
-        _rank = _ranki; _index = 1;
-        if (_rank == _rankm) goto dispatch;
-      }
-    }
-  check_1:
-    
-    if (items == 2) {
-      SWIG_TypeRank _ranki = 0;
-      SWIG_TypeRank _rankm = 0;
-      SWIG_TypeRank _pi = 1;
-      int _v = 0;
-      {
-        void *vptr = 0;
-        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0);
-        _v = SWIG_CheckState(res);
-      }
-      if (!_v) goto check_2;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      {
-        void *vptr = 0;
-        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSResourceResolver, 0);
-        _v = SWIG_CheckState(res);
-      }
-      if (!_v) goto check_2;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      if (!_index || (_ranki < _rank)) {
-        _rank = _ranki; _index = 2;
-        if (_rank == _rankm) goto dispatch;
-      }
-    }
-  check_2:
-    
-  dispatch:
-    switch(_index) {
-    case 1:
-      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_Wrapper4DOMLSInput__SWIG_1); return;
-    case 2:
-      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_Wrapper4DOMLSInput__SWIG_0); return;
-    }
-  }
-  
-  croak("No matching function for overloaded 'new_Wrapper4DOMLSInput'");
-  XSRETURN(0);
-}
-
-
-XS(_wrap_delete_Wrapper4DOMLSInput) {
+XS(_wrap_DOMDocument_getXmlEncoding) {
   {
-    XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    XMLCh *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: delete_Wrapper4DOMLSInput(self);");
+      SWIG_croak("Usage: DOMDocument_getXmlEncoding(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4DOMLSInput, SWIG_POINTER_DISOWN |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Wrapper4DOMLSInput" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_getXmlEncoding" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
     {
       try 
       {
-        delete arg1;
-        
+        result = (XMLCh *)((XERCES_CPP_NAMESPACE::DOMDocument const *)arg1)->getXmlEncoding();
       } 
       CATCH_DOM_EXCEPTION
     }
     
+    ST(argvi) = XMLString2Perl(result);
+    ++argvi;
+    
     
     XSRETURN(argvi);
   fail:
@@ -43036,31 +42383,31 @@ XS(_wrap_delete_Wrapper4DOMLSInput) {
 }
 
 
-XS(_wrap_Wrapper4DOMLSInput_makeStream) {
+XS(_wrap_DOMDocument_getXmlStandalone) {
   {
-    XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *) 0 ;
-    XERCES_CPP_NAMESPACE::BinInputStream *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    bool result;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: Wrapper4DOMLSInput_makeStream(self);");
+      SWIG_croak("Usage: DOMDocument_getXmlStandalone(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4DOMLSInput, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4DOMLSInput_makeStream" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_getXmlStandalone" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::BinInputStream *)((XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput const *)arg1)->makeStream();
+        result = (bool)((XERCES_CPP_NAMESPACE::DOMDocument const *)arg1)->getXmlStandalone();
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__BinInputStream, 0 | 0); argvi++ ;
+    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
     
     XSRETURN(argvi);
   fail:
@@ -43070,46 +42417,52 @@ XS(_wrap_Wrapper4DOMLSInput_makeStream) {
 }
 
 
-XS(_wrap_Wrapper4DOMLSInput_getEncoding) {
+XS(_wrap_DOMDocument_setXmlStandalone) {
   {
-    XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *) 0 ;
-    XMLCh *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    bool arg2 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
+    bool val2 ;
+    int ecode2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: Wrapper4DOMLSInput_getEncoding(self);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMDocument_setXmlStandalone(self,standalone);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4DOMLSInput, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4DOMLSInput_getEncoding" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_setXmlStandalone" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
+    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
+    if (!SWIG_IsOK(ecode2)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DOMDocument_setXmlStandalone" "', argument " "2"" of type '" "bool""'");
+    } 
+    arg2 = static_cast< bool >(val2);
     {
       try 
       {
-        result = (XMLCh *)((XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput const *)arg1)->getEncoding();
+        (arg1)->setXmlStandalone(arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
     
-    ST(argvi) = XMLString2Perl(result);
-    ++argvi;
     
     
     XSRETURN(argvi);
   fail:
     
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_Wrapper4DOMLSInput_getPublicId) {
+XS(_wrap_DOMDocument_getXmlVersion) {
   {
-    XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
     XMLCh *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
@@ -43117,17 +42470,17 @@ XS(_wrap_Wrapper4DOMLSInput_getPublicId) {
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: Wrapper4DOMLSInput_getPublicId(self);");
+      SWIG_croak("Usage: DOMDocument_getXmlVersion(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4DOMLSInput, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4DOMLSInput_getPublicId" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_getXmlVersion" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
     {
       try 
       {
-        result = (XMLCh *)((XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput const *)arg1)->getPublicId();
+        result = (XMLCh *)((XERCES_CPP_NAMESPACE::DOMDocument const *)arg1)->getXmlVersion();
       } 
       CATCH_DOM_EXCEPTION
     }
@@ -43144,68 +42497,83 @@ XS(_wrap_Wrapper4DOMLSInput_getPublicId) {
 }
 
 
-XS(_wrap_Wrapper4DOMLSInput_getSystemId) {
+XS(_wrap_DOMDocument_setXmlVersion) {
   {
-    XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *) 0 ;
-    XMLCh *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    XMLCh *arg2 = (XMLCh *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: Wrapper4DOMLSInput_getSystemId(self);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMDocument_setXmlVersion(self,version);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4DOMLSInput, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4DOMLSInput_getSystemId" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_setXmlVersion" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_setXmlVersion");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
+    
     {
       try 
       {
-        result = (XMLCh *)((XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput const *)arg1)->getSystemId();
+        (arg1)->setXmlVersion((XMLCh const *)arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
     
-    ST(argvi) = XMLString2Perl(result);
-    ++argvi;
     
     
+    delete[] arg2;
+    
     XSRETURN(argvi);
   fail:
     
+    
+    delete[] arg2;
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_Wrapper4DOMLSInput_getIssueFatalErrorIfNotFound) {
+XS(_wrap_DOMDocument_getDocumentURI) {
   {
-    XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *) 0 ;
-    bool result;
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    XMLCh *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: Wrapper4DOMLSInput_getIssueFatalErrorIfNotFound(self);");
+      SWIG_croak("Usage: DOMDocument_getDocumentURI(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4DOMLSInput, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4DOMLSInput_getIssueFatalErrorIfNotFound" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_getDocumentURI" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
     {
       try 
       {
-        result = (bool)((XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput const *)arg1)->getIssueFatalErrorIfNotFound();
+        result = (XMLCh *)((XERCES_CPP_NAMESPACE::DOMDocument const *)arg1)->getDocumentURI();
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
+    
+    ST(argvi) = XMLString2Perl(result);
+    ++argvi;
+    
     
     XSRETURN(argvi);
   fail:
@@ -43215,26 +42583,26 @@ XS(_wrap_Wrapper4DOMLSInput_getIssueFatalErrorIfNotFound) {
 }
 
 
-XS(_wrap_Wrapper4DOMLSInput_setEncoding) {
+XS(_wrap_DOMDocument_setDocumentURI) {
   {
-    XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *) 0 ;
-    XMLCh *arg2 = (XMLCh *) (XMLCh *)0 ;
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    XMLCh *arg2 = (XMLCh *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: Wrapper4DOMLSInput_setEncoding(self,encodingStr);");
+      SWIG_croak("Usage: DOMDocument_setDocumentURI(self,documentURI);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4DOMLSInput, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4DOMLSInput_setEncoding" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_setDocumentURI" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
     
     if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"Wrapper4DOMLSInput_setEncoding");
+      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_setDocumentURI");
       goto fail;
     } else {
       // we convert *everything* into a string that isn't undef
@@ -43244,7 +42612,7 @@ XS(_wrap_Wrapper4DOMLSInput_setEncoding) {
     {
       try 
       {
-        (arg1)->setEncoding((XMLCh const *)arg2);
+        (arg1)->setDocumentURI((XMLCh const *)arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
@@ -43264,136 +42632,192 @@ XS(_wrap_Wrapper4DOMLSInput_setEncoding) {
 }
 
 
-XS(_wrap_Wrapper4DOMLSInput_setPublicId) {
+XS(_wrap_DOMDocument_getStrictErrorChecking) {
   {
-    XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *) 0 ;
-    XMLCh *arg2 = (XMLCh *) (XMLCh *)0 ;
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    bool result;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: Wrapper4DOMLSInput_setPublicId(self,publicId);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMDocument_getStrictErrorChecking(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4DOMLSInput, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4DOMLSInput_setPublicId" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_getStrictErrorChecking" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput * >(argp1);
-    
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"Wrapper4DOMLSInput_setPublicId");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
+    {
+      try 
+      {
+        result = (bool)((XERCES_CPP_NAMESPACE::DOMDocument const *)arg1)->getStrictErrorChecking();
+      } 
+      CATCH_DOM_EXCEPTION
     }
+    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMDocument_setStrictErrorChecking) {
+  {
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    bool arg2 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    bool val2 ;
+    int ecode2 = 0 ;
+    int argvi = 0;
+    dXSARGS;
     
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMDocument_setStrictErrorChecking(self,strictErrorChecking);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_setStrictErrorChecking" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
+    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
+    if (!SWIG_IsOK(ecode2)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DOMDocument_setStrictErrorChecking" "', argument " "2"" of type '" "bool""'");
+    } 
+    arg2 = static_cast< bool >(val2);
     {
       try 
       {
-        (arg1)->setPublicId((XMLCh const *)arg2);
+        (arg1)->setStrictErrorChecking(arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
     
     
     
-    delete[] arg2;
-    
     XSRETURN(argvi);
   fail:
     
     
-    delete[] arg2;
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_Wrapper4DOMLSInput_setSystemId) {
+XS(_wrap_DOMDocument_renameNode) {
   {
-    XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *) 0 ;
-    XMLCh *arg2 = (XMLCh *) (XMLCh *)0 ;
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *arg2 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
+    XMLCh *arg3 = (XMLCh *) 0 ;
+    XMLCh *arg4 = (XMLCh *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
+    void *argp2 = 0 ;
+    int res2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: Wrapper4DOMLSInput_setSystemId(self,systemId);");
+    if ((items < 4) || (items > 4)) {
+      SWIG_croak("Usage: DOMDocument_renameNode(self,n,namespaceURI,qualifiedName);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4DOMLSInput, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4DOMLSInput_setSystemId" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_renameNode" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
+    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMDocument_renameNode" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMNode *""'"); 
+    }
+    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp2);
     
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"Wrapper4DOMLSInput_setSystemId");
+    if (ST(2) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",3,"DOMDocument_renameNode");
       goto fail;
     } else {
       // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
+      arg3 = Perl2XMLString(ST(2));
+    }
+    
+    
+    if (ST(3) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",4,"DOMDocument_renameNode");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg4 = Perl2XMLString(ST(3));
     }
     
     {
       try 
       {
-        (arg1)->setSystemId((XMLCh const *)arg2);
+        result = (XERCES_CPP_NAMESPACE::DOMNode *)(arg1)->renameNode(arg2,(XMLCh const *)arg3,(XMLCh const *)arg4);
       } 
       CATCH_DOM_EXCEPTION
     }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
     
     
     
-    delete[] arg2;
+    delete[] arg3;
+    
+    
+    delete[] arg4;
     
     XSRETURN(argvi);
   fail:
     
     
-    delete[] arg2;
+    
+    delete[] arg3;
+    
+    
+    delete[] arg4;
     
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_Wrapper4DOMLSInput_setIssueFatalErrorIfNotFound) {
+XS(_wrap_DOMDocument_adoptNode) {
   {
-    XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *) 0 ;
-    bool arg2 ;
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *arg2 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    bool val2 ;
-    int ecode2 = 0 ;
+    void *argp2 = 0 ;
+    int res2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: Wrapper4DOMLSInput_setIssueFatalErrorIfNotFound(self,flag);");
+      SWIG_croak("Usage: DOMDocument_adoptNode(self,source);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4DOMLSInput, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4DOMLSInput_setIssueFatalErrorIfNotFound" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_adoptNode" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput * >(argp1);
-    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
-    if (!SWIG_IsOK(ecode2)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Wrapper4DOMLSInput_setIssueFatalErrorIfNotFound" "', argument " "2"" of type '" "bool""'");
-    } 
-    arg2 = static_cast< bool >(val2);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
+    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMDocument_adoptNode" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMNode *""'"); 
+    }
+    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp2);
     {
       try 
       {
-        (arg1)->setIssueFatalErrorIfNotFound(arg2);
+        result = (XERCES_CPP_NAMESPACE::DOMNode *)(arg1)->adoptNode(arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
-    
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
     
     
     XSRETURN(argvi);
@@ -43405,27 +42829,26 @@ XS(_wrap_Wrapper4DOMLSInput_setIssueFatalErrorIfNotFound) {
 }
 
 
-XS(_wrap_delete_DOMLSParser) {
+XS(_wrap_DOMDocument_normalizeDocument) {
   {
-    XERCES_CPP_NAMESPACE::DOMLSParser *arg1 = (XERCES_CPP_NAMESPACE::DOMLSParser *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: delete_DOMLSParser(self);");
+      SWIG_croak("Usage: DOMDocument_normalizeDocument(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSParser, SWIG_POINTER_DISOWN |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMLSParser" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSParser *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_normalizeDocument" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSParser * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
     {
       try 
       {
-        delete arg1;
-        
+        (arg1)->normalizeDocument();
       } 
       CATCH_DOM_EXCEPTION
     }
@@ -43439,9 +42862,9 @@ XS(_wrap_delete_DOMLSParser) {
 }
 
 
-XS(_wrap_DOMLSParser_getDomConfig) {
+XS(_wrap_DOMDocument_getDOMConfig) {
   {
-    XERCES_CPP_NAMESPACE::DOMLSParser *arg1 = (XERCES_CPP_NAMESPACE::DOMLSParser *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
     XERCES_CPP_NAMESPACE::DOMConfiguration *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
@@ -43449,17 +42872,17 @@ XS(_wrap_DOMLSParser_getDomConfig) {
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMLSParser_getDomConfig(self);");
+      SWIG_croak("Usage: DOMDocument_getDOMConfig(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSParser, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSParser_getDomConfig" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSParser *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_getDOMConfig" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSParser * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMConfiguration *)(arg1)->getDomConfig();
+        result = (XERCES_CPP_NAMESPACE::DOMConfiguration *)((XERCES_CPP_NAMESPACE::DOMDocument const *)arg1)->getDOMConfig();
       } 
       CATCH_DOM_EXCEPTION
     }
@@ -43473,182 +42896,307 @@ XS(_wrap_DOMLSParser_getDomConfig) {
 }
 
 
-XS(_wrap_DOMLSParser_getAsync) {
+XS(_wrap_DOMDocument_createEntity) {
   {
-    XERCES_CPP_NAMESPACE::DOMLSParser *arg1 = (XERCES_CPP_NAMESPACE::DOMLSParser *) 0 ;
-    bool result;
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    XMLCh *arg2 = (XMLCh *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMEntity *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMLSParser_getAsync(self);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMDocument_createEntity(self,name);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSParser, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSParser_getAsync" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSParser const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_createEntity" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSParser * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_createEntity");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
+    
     {
       try 
       {
-        result = (bool)((XERCES_CPP_NAMESPACE::DOMLSParser const *)arg1)->getAsync();
+        result = (XERCES_CPP_NAMESPACE::DOMEntity *)(arg1)->createEntity((XMLCh const *)arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMEntity, 0 | SWIG_SHADOW); argvi++ ;
+    
+    
+    delete[] arg2;
     
     XSRETURN(argvi);
   fail:
     
+    
+    delete[] arg2;
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMLSParser_getBusy) {
+XS(_wrap_DOMDocument_createDocumentType__SWIG_0) {
   {
-    XERCES_CPP_NAMESPACE::DOMLSParser *arg1 = (XERCES_CPP_NAMESPACE::DOMLSParser *) 0 ;
-    bool result;
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    XMLCh *arg2 = (XMLCh *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMDocumentType *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMLSParser_getBusy(self);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMDocument_createDocumentType(self,name);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSParser, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSParser_getBusy" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSParser const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_createDocumentType" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSParser * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_createDocumentType");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
+    
     {
       try 
       {
-        result = (bool)((XERCES_CPP_NAMESPACE::DOMLSParser const *)arg1)->getBusy();
+        result = (XERCES_CPP_NAMESPACE::DOMDocumentType *)(arg1)->createDocumentType((XMLCh const *)arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentType, 0 | SWIG_SHADOW); argvi++ ;
+    
+    
+    delete[] arg2;
     
     XSRETURN(argvi);
   fail:
     
+    
+    delete[] arg2;
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMLSParser_setFilter) {
+XS(_wrap_DOMDocument_createDocumentType__SWIG_1) {
   {
-    XERCES_CPP_NAMESPACE::DOMLSParser *arg1 = (XERCES_CPP_NAMESPACE::DOMLSParser *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMLSParserFilter *arg2 = (XERCES_CPP_NAMESPACE::DOMLSParserFilter *) (XERCES_CPP_NAMESPACE::DOMLSParserFilter *)0 ;
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    XMLCh *arg2 = (XMLCh *) 0 ;
+    XMLCh *arg3 = (XMLCh *) 0 ;
+    XMLCh *arg4 = (XMLCh *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMDocumentType *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    void *argp2 = 0 ;
-    int res2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMLSParser_setFilter(self,filter);");
+    if ((items < 4) || (items > 4)) {
+      SWIG_croak("Usage: DOMDocument_createDocumentType(self,qName,XMLCh const *,XMLCh const *);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSParser, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSParser_setFilter" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSParser *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_createDocumentType" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSParser * >(argp1);
-    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSParserFilter, 0 |  0 );
-    if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMLSParser_setFilter" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMLSParserFilter *const""'"); 
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_createDocumentType");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
     }
-    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSParserFilter * >(argp2);
+    
+    
+    if (ST(2) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",3,"DOMDocument_createDocumentType");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg3 = Perl2XMLString(ST(2));
+    }
+    
+    
+    if (ST(3) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",4,"DOMDocument_createDocumentType");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg4 = Perl2XMLString(ST(3));
+    }
+    
     {
       try 
       {
-        (arg1)->setFilter(arg2);
+        result = (XERCES_CPP_NAMESPACE::DOMDocumentType *)(arg1)->createDocumentType((XMLCh const *)arg2,(XMLCh const *)arg3,(XMLCh const *)arg4);
       } 
       CATCH_DOM_EXCEPTION
     }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentType, 0 | SWIG_SHADOW); argvi++ ;
+    
+    
+    delete[] arg2;
+    
+    
+    delete[] arg3;
     
     
+    delete[] arg4;
     
     XSRETURN(argvi);
   fail:
     
     
+    delete[] arg2;
+    
+    
+    delete[] arg3;
+    
+    
+    delete[] arg4;
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_DOMLSParser_parse) {
+XS(_wrap_DOMDocument_createDocumentType) {
+  dXSARGS;
+  
   {
-    XERCES_CPP_NAMESPACE::DOMLSParser *arg1 = (XERCES_CPP_NAMESPACE::DOMLSParser *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMLSInput *arg2 = (XERCES_CPP_NAMESPACE::DOMLSInput *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMDocument *result = 0 ;
-    void *argp1 = 0 ;
-    int res1 = 0 ;
-    void *argp2 = 0 ;
-    int res2 = 0 ;
-    int argvi = 0;
-    dXSARGS;
-    
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMLSParser_parse(self,source);");
-    }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSParser, 0 |  0 );
-    if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSParser_parse" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSParser *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSParser * >(argp1);
-    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
-    if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMLSParser_parse" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput const *""'"); 
-    }
-    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp2);
-    {
-      try 
+    unsigned long _index = 0;
+    SWIG_TypeRank _rank = 0; 
+    if (items == 2) {
+      SWIG_TypeRank _ranki = 0;
+      SWIG_TypeRank _rankm = 0;
+      SWIG_TypeRank _pi = 1;
+      int _v = 0;
       {
-        result = (XERCES_CPP_NAMESPACE::DOMDocument *)(arg1)->parse((XERCES_CPP_NAMESPACE::DOMLSInput const *)arg2);
-      } 
-      CATCH_DOM_EXCEPTION
+        void *vptr = 0;
+        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0);
+        _v = SWIG_CheckState(res);
+      }
+      if (!_v) goto check_1;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        {
+          _v = SvOK(ST(1)) ? 1 : 0; 
+        }
+      }
+      if (!_v) goto check_1;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      if (!_index || (_ranki < _rank)) {
+        _rank = _ranki; _index = 1;
+        if (_rank == _rankm) goto dispatch;
+      }
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 | SWIG_SHADOW); argvi++ ;
-    
-    
-    XSRETURN(argvi);
-  fail:
+  check_1:
     
+    if (items == 4) {
+      SWIG_TypeRank _ranki = 0;
+      SWIG_TypeRank _rankm = 0;
+      SWIG_TypeRank _pi = 1;
+      int _v = 0;
+      {
+        void *vptr = 0;
+        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0);
+        _v = SWIG_CheckState(res);
+      }
+      if (!_v) goto check_2;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        {
+          _v = SvOK(ST(1)) ? 1 : 0; 
+        }
+      }
+      if (!_v) goto check_2;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        {
+          _v = SvOK(ST(2)) ? 1 : 0; 
+        }
+      }
+      if (!_v) goto check_2;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        {
+          _v = SvOK(ST(3)) ? 1 : 0; 
+        }
+      }
+      if (!_v) goto check_2;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      if (!_index || (_ranki < _rank)) {
+        _rank = _ranki; _index = 2;
+        if (_rank == _rankm) goto dispatch;
+      }
+    }
+  check_2:
     
-    SWIG_croak_null();
+  dispatch:
+    switch(_index) {
+    case 1:
+      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_DOMDocument_createDocumentType__SWIG_0); return;
+    case 2:
+      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_DOMDocument_createDocumentType__SWIG_1); return;
+    }
   }
+  
+  croak("No matching function for overloaded 'DOMDocument_createDocumentType'");
+  XSRETURN(0);
 }
 
 
-XS(_wrap_DOMLSParser_parseURI) {
+XS(_wrap_DOMDocument_createNotation) {
   {
-    XERCES_CPP_NAMESPACE::DOMLSParser *arg1 = (XERCES_CPP_NAMESPACE::DOMLSParser *) 0 ;
-    XMLCh *arg2 = (XMLCh *) (XMLCh *)0 ;
-    XERCES_CPP_NAMESPACE::DOMDocument *result = 0 ;
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    XMLCh *arg2 = (XMLCh *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNotation *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: DOMLSParser_parseURI(self,uri);");
+      SWIG_croak("Usage: DOMDocument_createNotation(self,name);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSParser, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSParser_parseURI" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSParser *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_createNotation" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSParser * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
     
     if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"DOMLSParser_parseURI");
+      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_createNotation");
       goto fail;
     } else {
       // we convert *everything* into a string that isn't undef
@@ -43658,11 +43206,11 @@ XS(_wrap_DOMLSParser_parseURI) {
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::DOMDocument *)(arg1)->parseURI((XMLCh const *)arg2);
+        result = (XERCES_CPP_NAMESPACE::DOMNotation *)(arg1)->createNotation((XMLCh const *)arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 | SWIG_SHADOW); argvi++ ;
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNotation, 0 | SWIG_SHADOW); argvi++ ;
     
     
     delete[] arg2;
@@ -43678,55 +43226,73 @@ XS(_wrap_DOMLSParser_parseURI) {
 }
 
 
-XS(_wrap_DOMLSParser_parseWithContext) {
+XS(_wrap_DOMDocument_createElementNS__SWIG_1) {
   {
-    XERCES_CPP_NAMESPACE::DOMLSParser *arg1 = (XERCES_CPP_NAMESPACE::DOMLSParser *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMLSInput *arg2 = (XERCES_CPP_NAMESPACE::DOMLSInput *) 0 ;
-    XERCES_CPP_NAMESPACE::DOMNode *arg3 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
-    unsigned short arg4 ;
+    XERCES_CPP_NAMESPACE::DOMDocument *arg1 = (XERCES_CPP_NAMESPACE::DOMDocument *) 0 ;
+    XMLCh *arg2 = (XMLCh *) 0 ;
+    XMLCh *arg3 = (XMLCh *) 0 ;
+    XMLSSize_t arg4 ;
+    XMLSSize_t arg5 ;
+    XERCES_CPP_NAMESPACE::DOMElement *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    void *argp2 = 0 ;
-    int res2 = 0 ;
-    void *argp3 = 0 ;
-    int res3 = 0 ;
-    unsigned short val4 ;
+    size_t val4 ;
     int ecode4 = 0 ;
+    size_t val5 ;
+    int ecode5 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 4) || (items > 4)) {
-      SWIG_croak("Usage: DOMLSParser_parseWithContext(self,source,contextNode,action);");
+    if ((items < 5) || (items > 5)) {
+      SWIG_croak("Usage: DOMDocument_createElementNS(self,namespaceURI,qualifiedName,lineNum,columnNum);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSParser, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSParser_parseWithContext" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSParser *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMDocument_createElementNS" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMDocument *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSParser * >(argp1);
-    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
-    if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMLSParser_parseWithContext" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput const *""'"); 
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMDocument * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"DOMDocument_createElementNS");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
     }
-    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp2);
-    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
-    if (!SWIG_IsOK(res3)) {
-      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "DOMLSParser_parseWithContext" "', argument " "3"" of type '" "XERCES_CPP_NAMESPACE::DOMNode *""'"); 
+    
+    
+    if (ST(2) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",3,"DOMDocument_createElementNS");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg3 = Perl2XMLString(ST(2));
     }
-    arg3 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp3);
-    ecode4 = SWIG_AsVal_unsigned_SS_short SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
+    
+    ecode4 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
     if (!SWIG_IsOK(ecode4)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "DOMLSParser_parseWithContext" "', argument " "4"" of type '" "unsigned short""'");
+      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "DOMDocument_createElementNS" "', argument " "4"" of type '" "XMLSSize_t""'");
     } 
-    arg4 = static_cast< unsigned short >(val4);
+    arg4 = static_cast< XMLSSize_t >(val4);
+    ecode5 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
+    if (!SWIG_IsOK(ecode5)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "DOMDocument_createElementNS" "', argument " "5"" of type '" "XMLSSize_t""'");
+    } 
+    arg5 = static_cast< XMLSSize_t >(val5);
     {
       try 
       {
-        (arg1)->parseWithContext((XERCES_CPP_NAMESPACE::DOMLSInput const *)arg2,arg3,arg4);
+        result = (XERCES_CPP_NAMESPACE::DOMElement *)(arg1)->createElementNS((XMLCh const *)arg2,(XMLCh const *)arg3,arg4,arg5);
       } 
       CATCH_DOM_EXCEPTION
     }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMElement, 0 | SWIG_SHADOW); argvi++ ;
+    
+    
+    delete[] arg2;
     
     
+    delete[] arg3;
     
     
     
@@ -43734,6 +43300,11 @@ XS(_wrap_DOMLSParser_parseWithContext) {
   fail:
     
     
+    delete[] arg2;
+    
+    
+    delete[] arg3;
+    
     
     
     SWIG_croak_null();
@@ -43741,26 +43312,145 @@ XS(_wrap_DOMLSParser_parseWithContext) {
 }
 
 
-XS(_wrap_DOMLSParser_abort) {
+XS(_wrap_DOMDocument_createElementNS) {
+  dXSARGS;
+  
   {
-    XERCES_CPP_NAMESPACE::DOMLSParser *arg1 = (XERCES_CPP_NAMESPACE::DOMLSParser *) 0 ;
+    unsigned long _index = 0;
+    SWIG_TypeRank _rank = 0; 
+    if (items == 3) {
+      SWIG_TypeRank _ranki = 0;
+      SWIG_TypeRank _rankm = 0;
+      SWIG_TypeRank _pi = 1;
+      int _v = 0;
+      {
+        void *vptr = 0;
+        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0);
+        _v = SWIG_CheckState(res);
+      }
+      if (!_v) goto check_1;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        {
+          _v = SvOK(ST(1)) ? 1 : 0; 
+        }
+      }
+      if (!_v) goto check_1;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        {
+          _v = SvOK(ST(2)) ? 1 : 0; 
+        }
+      }
+      if (!_v) goto check_1;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      if (!_index || (_ranki < _rank)) {
+        _rank = _ranki; _index = 1;
+        if (_rank == _rankm) goto dispatch;
+      }
+    }
+  check_1:
+    
+    if (items == 5) {
+      SWIG_TypeRank _ranki = 0;
+      SWIG_TypeRank _rankm = 0;
+      SWIG_TypeRank _pi = 1;
+      int _v = 0;
+      {
+        void *vptr = 0;
+        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0);
+        _v = SWIG_CheckState(res);
+      }
+      if (!_v) goto check_2;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        {
+          _v = SvOK(ST(1)) ? 1 : 0; 
+        }
+      }
+      if (!_v) goto check_2;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        {
+          _v = SvOK(ST(2)) ? 1 : 0; 
+        }
+      }
+      if (!_v) goto check_2;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        {
+          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
+          _v = SWIG_CheckState(res);
+        }
+      }
+      if (!_v) goto check_2;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        {
+          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
+          _v = SWIG_CheckState(res);
+        }
+      }
+      if (!_v) goto check_2;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      if (!_index || (_ranki < _rank)) {
+        _rank = _ranki; _index = 2;
+        if (_rank == _rankm) goto dispatch;
+      }
+    }
+  check_2:
+    
+  dispatch:
+    switch(_index) {
+    case 1:
+      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_DOMDocument_createElementNS__SWIG_0); return;
+    case 2:
+      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_DOMDocument_createElementNS__SWIG_1); return;
+    }
+  }
+  
+  croak("No matching function for overloaded 'DOMDocument_createElementNS'");
+  XSRETURN(0);
+}
+
+
+XS(_wrap_delete_DOMLocator) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLocator *arg1 = (XERCES_CPP_NAMESPACE::DOMLocator *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMLSParser_abort(self);");
+      SWIG_croak("Usage: delete_DOMLocator(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSParser, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLocator, SWIG_POINTER_DISOWN |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSParser_abort" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSParser *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMLocator" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLocator *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSParser * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLocator * >(argp1);
     {
       try 
       {
-        (arg1)->abort();
+        delete arg1;
+        
       } 
       CATCH_DOM_EXCEPTION
     }
@@ -43774,30 +43464,31 @@ XS(_wrap_DOMLSParser_abort) {
 }
 
 
-XS(_wrap_DOMLSParser_release) {
+XS(_wrap_DOMLocator_getLineNumber) {
   {
-    XERCES_CPP_NAMESPACE::DOMLSParser *arg1 = (XERCES_CPP_NAMESPACE::DOMLSParser *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMLocator *arg1 = (XERCES_CPP_NAMESPACE::DOMLocator *) 0 ;
+    XMLSSize_t result;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: DOMLSParser_release(self);");
+      SWIG_croak("Usage: DOMLocator_getLineNumber(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSParser, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLocator, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSParser_release" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSParser *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLocator_getLineNumber" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLocator const *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSParser * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLocator * >(argp1);
     {
       try 
       {
-        (arg1)->release();
+        result = ((XERCES_CPP_NAMESPACE::DOMLocator const *)arg1)->getLineNumber();
       } 
       CATCH_DOM_EXCEPTION
     }
-    
+    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
     
     XSRETURN(argvi);
   fail:
@@ -43807,7 +43498,2626 @@ XS(_wrap_DOMLSParser_release) {
 }
 
 
-XS(_wrap_DOMLSParser_resetDocumentPool) {
+XS(_wrap_DOMLocator_getColumnNumber) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLocator *arg1 = (XERCES_CPP_NAMESPACE::DOMLocator *) 0 ;
+    XMLSSize_t result;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMLocator_getColumnNumber(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLocator, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLocator_getColumnNumber" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLocator const *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLocator * >(argp1);
+    {
+      try 
+      {
+        result = ((XERCES_CPP_NAMESPACE::DOMLocator const *)arg1)->getColumnNumber();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMLocator_getByteOffset) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLocator *arg1 = (XERCES_CPP_NAMESPACE::DOMLocator *) 0 ;
+    XMLSSize_t result;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMLocator_getByteOffset(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLocator, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLocator_getByteOffset" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLocator const *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLocator * >(argp1);
+    {
+      try 
+      {
+        result = ((XERCES_CPP_NAMESPACE::DOMLocator const *)arg1)->getByteOffset();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMLocator_getUtf16Offset) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLocator *arg1 = (XERCES_CPP_NAMESPACE::DOMLocator *) 0 ;
+    XMLSSize_t result;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMLocator_getUtf16Offset(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLocator, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLocator_getUtf16Offset" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLocator const *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLocator * >(argp1);
+    {
+      try 
+      {
+        result = ((XERCES_CPP_NAMESPACE::DOMLocator const *)arg1)->getUtf16Offset();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMLocator_getRelatedNode) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLocator *arg1 = (XERCES_CPP_NAMESPACE::DOMLocator *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMLocator_getRelatedNode(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLocator, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLocator_getRelatedNode" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLocator const *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLocator * >(argp1);
+    {
+      try 
+      {
+        result = (XERCES_CPP_NAMESPACE::DOMNode *)((XERCES_CPP_NAMESPACE::DOMLocator const *)arg1)->getRelatedNode();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMLocator_getURI) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLocator *arg1 = (XERCES_CPP_NAMESPACE::DOMLocator *) 0 ;
+    XMLCh *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMLocator_getURI(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLocator, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLocator_getURI" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLocator const *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLocator * >(argp1);
+    {
+      try 
+      {
+        result = (XMLCh *)((XERCES_CPP_NAMESPACE::DOMLocator const *)arg1)->getURI();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    ST(argvi) = XMLString2Perl(result);
+    ++argvi;
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_delete_DOMLSResourceResolver) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSResourceResolver *arg1 = (XERCES_CPP_NAMESPACE::DOMLSResourceResolver *) 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: delete_DOMLSResourceResolver(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSResourceResolver, SWIG_POINTER_DISOWN |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMLSResourceResolver" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSResourceResolver *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSResourceResolver * >(argp1);
+    {
+      try 
+      {
+        delete arg1;
+        
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMLSResourceResolver_resolveResource) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSResourceResolver *arg1 = (XERCES_CPP_NAMESPACE::DOMLSResourceResolver *) 0 ;
+    XMLCh *arg2 = (XMLCh *) (XMLCh *)0 ;
+    XMLCh *arg3 = (XMLCh *) (XMLCh *)0 ;
+    XMLCh *arg4 = (XMLCh *) (XMLCh *)0 ;
+    XMLCh *arg5 = (XMLCh *) (XMLCh *)0 ;
+    XMLCh *arg6 = (XMLCh *) (XMLCh *)0 ;
+    XERCES_CPP_NAMESPACE::DOMLSInput *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 6) || (items > 6)) {
+      SWIG_croak("Usage: DOMLSResourceResolver_resolveResource(self,resourceType,namespaceUri,publicId,systemId,baseURI);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSResourceResolver, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSResourceResolver_resolveResource" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSResourceResolver *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSResourceResolver * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"DOMLSResourceResolver_resolveResource");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
+    
+    
+    if (ST(2) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",3,"DOMLSResourceResolver_resolveResource");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg3 = Perl2XMLString(ST(2));
+    }
+    
+    
+    if (ST(3) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",4,"DOMLSResourceResolver_resolveResource");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg4 = Perl2XMLString(ST(3));
+    }
+    
+    
+    if (ST(4) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",5,"DOMLSResourceResolver_resolveResource");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg5 = Perl2XMLString(ST(4));
+    }
+    
+    
+    if (ST(5) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",6,"DOMLSResourceResolver_resolveResource");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg6 = Perl2XMLString(ST(5));
+    }
+    
+    {
+      try 
+      {
+        result = (XERCES_CPP_NAMESPACE::DOMLSInput *)(arg1)->resolveResource((XMLCh const *)arg2,(XMLCh const *)arg3,(XMLCh const *)arg4,(XMLCh const *)arg5,(XMLCh const *)arg6);
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 | SWIG_SHADOW); argvi++ ;
+    
+    
+    delete[] arg2;
+    
+    
+    delete[] arg3;
+    
+    
+    delete[] arg4;
+    
+    
+    delete[] arg5;
+    
+    
+    delete[] arg6;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    delete[] arg2;
+    
+    
+    delete[] arg3;
+    
+    
+    delete[] arg4;
+    
+    
+    delete[] arg5;
+    
+    
+    delete[] arg6;
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_delete_DOMLSInput) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::DOMLSInput *) 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: delete_DOMLSInput(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, SWIG_POINTER_DISOWN |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMLSInput" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp1);
+    {
+      try 
+      {
+        delete arg1;
+        
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMLSInput_getStringData) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::DOMLSInput *) 0 ;
+    XMLCh *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMLSInput_getStringData(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSInput_getStringData" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput const *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp1);
+    {
+      try 
+      {
+        result = (XMLCh *)((XERCES_CPP_NAMESPACE::DOMLSInput const *)arg1)->getStringData();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    ST(argvi) = XMLString2Perl(result);
+    ++argvi;
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMLSInput_getByteStream) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::DOMLSInput *) 0 ;
+    XERCES_CPP_NAMESPACE::InputSource *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMLSInput_getByteStream(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSInput_getByteStream" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput const *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp1);
+    {
+      try 
+      {
+        result = (XERCES_CPP_NAMESPACE::InputSource *)((XERCES_CPP_NAMESPACE::DOMLSInput const *)arg1)->getByteStream();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__InputSource, 0 | SWIG_SHADOW); argvi++ ;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMLSInput_getEncoding) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::DOMLSInput *) 0 ;
+    XMLCh *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMLSInput_getEncoding(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSInput_getEncoding" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput const *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp1);
+    {
+      try 
+      {
+        result = (XMLCh *)((XERCES_CPP_NAMESPACE::DOMLSInput const *)arg1)->getEncoding();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    ST(argvi) = XMLString2Perl(result);
+    ++argvi;
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMLSInput_getPublicId) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::DOMLSInput *) 0 ;
+    XMLCh *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMLSInput_getPublicId(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSInput_getPublicId" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput const *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp1);
+    {
+      try 
+      {
+        result = (XMLCh *)((XERCES_CPP_NAMESPACE::DOMLSInput const *)arg1)->getPublicId();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    ST(argvi) = XMLString2Perl(result);
+    ++argvi;
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMLSInput_getSystemId) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::DOMLSInput *) 0 ;
+    XMLCh *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMLSInput_getSystemId(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSInput_getSystemId" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput const *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp1);
+    {
+      try 
+      {
+        result = (XMLCh *)((XERCES_CPP_NAMESPACE::DOMLSInput const *)arg1)->getSystemId();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    ST(argvi) = XMLString2Perl(result);
+    ++argvi;
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMLSInput_getBaseURI) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::DOMLSInput *) 0 ;
+    XMLCh *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMLSInput_getBaseURI(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSInput_getBaseURI" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput const *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp1);
+    {
+      try 
+      {
+        result = (XMLCh *)((XERCES_CPP_NAMESPACE::DOMLSInput const *)arg1)->getBaseURI();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    ST(argvi) = XMLString2Perl(result);
+    ++argvi;
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMLSInput_setStringData) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::DOMLSInput *) 0 ;
+    XMLCh *arg2 = (XMLCh *) 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMLSInput_setStringData(self,data);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSInput_setStringData" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"DOMLSInput_setStringData");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
+    
+    {
+      try 
+      {
+        (arg1)->setStringData((XMLCh const *)arg2);
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    
+    
+    delete[] arg2;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    delete[] arg2;
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMLSInput_setByteStream) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::DOMLSInput *) 0 ;
+    XERCES_CPP_NAMESPACE::InputSource *arg2 = (XERCES_CPP_NAMESPACE::InputSource *) 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    void *argp2 = 0 ;
+    int res2 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMLSInput_setByteStream(self,stream);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSInput_setByteStream" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp1);
+    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__InputSource, 0 |  0 );
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMLSInput_setByteStream" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::InputSource *""'"); 
+    }
+    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::InputSource * >(argp2);
+    {
+      try 
+      {
+        (arg1)->setByteStream(arg2);
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMLSInput_setEncoding) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::DOMLSInput *) 0 ;
+    XMLCh *arg2 = (XMLCh *) (XMLCh *)0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMLSInput_setEncoding(self,encodingStr);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSInput_setEncoding" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"DOMLSInput_setEncoding");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
+    
+    {
+      try 
+      {
+        (arg1)->setEncoding((XMLCh const *)arg2);
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    
+    
+    delete[] arg2;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    delete[] arg2;
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMLSInput_setPublicId) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::DOMLSInput *) 0 ;
+    XMLCh *arg2 = (XMLCh *) (XMLCh *)0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMLSInput_setPublicId(self,publicId);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSInput_setPublicId" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"DOMLSInput_setPublicId");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
+    
+    {
+      try 
+      {
+        (arg1)->setPublicId((XMLCh const *)arg2);
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    
+    
+    delete[] arg2;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    delete[] arg2;
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMLSInput_setSystemId) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::DOMLSInput *) 0 ;
+    XMLCh *arg2 = (XMLCh *) (XMLCh *)0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMLSInput_setSystemId(self,systemId);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSInput_setSystemId" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"DOMLSInput_setSystemId");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
+    
+    {
+      try 
+      {
+        (arg1)->setSystemId((XMLCh const *)arg2);
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    
+    
+    delete[] arg2;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    delete[] arg2;
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMLSInput_setBaseURI) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::DOMLSInput *) 0 ;
+    XMLCh *arg2 = (XMLCh *) (XMLCh *)0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMLSInput_setBaseURI(self,baseURI);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSInput_setBaseURI" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"DOMLSInput_setBaseURI");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
+    
+    {
+      try 
+      {
+        (arg1)->setBaseURI((XMLCh const *)arg2);
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    
+    
+    delete[] arg2;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    delete[] arg2;
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMLSInput_setIssueFatalErrorIfNotFound) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::DOMLSInput *) 0 ;
+    bool arg2 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    bool val2 ;
+    int ecode2 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMLSInput_setIssueFatalErrorIfNotFound(self,flag);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSInput_setIssueFatalErrorIfNotFound" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp1);
+    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
+    if (!SWIG_IsOK(ecode2)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DOMLSInput_setIssueFatalErrorIfNotFound" "', argument " "2"" of type '" "bool""'");
+    } 
+    arg2 = static_cast< bool >(val2);
+    {
+      try 
+      {
+        (arg1)->setIssueFatalErrorIfNotFound(arg2);
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMLSInput_getIssueFatalErrorIfNotFound) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::DOMLSInput *) 0 ;
+    bool result;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMLSInput_getIssueFatalErrorIfNotFound(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSInput_getIssueFatalErrorIfNotFound" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput const *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp1);
+    {
+      try 
+      {
+        result = (bool)((XERCES_CPP_NAMESPACE::DOMLSInput const *)arg1)->getIssueFatalErrorIfNotFound();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMLSInput_release) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::DOMLSInput *) 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMLSInput_release(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSInput_release" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp1);
+    {
+      try 
+      {
+        (arg1)->release();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_new_Wrapper4InputSource) {
+  {
+    XERCES_CPP_NAMESPACE::InputSource *arg1 = (XERCES_CPP_NAMESPACE::InputSource *) (XERCES_CPP_NAMESPACE::InputSource *)0 ;
+    bool arg2 ;
+    XERCES_CPP_NAMESPACE::Wrapper4InputSource *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    arg2 = true;
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: new_Wrapper4InputSource(inputSource);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__InputSource, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Wrapper4InputSource" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::InputSource *const""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::InputSource * >(argp1);
+    {
+      try 
+      {
+        result = (XERCES_CPP_NAMESPACE::Wrapper4InputSource *)new XERCES_CPP_NAMESPACE::Wrapper4InputSource(arg1,arg2);
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_delete_Wrapper4InputSource) {
+  {
+    XERCES_CPP_NAMESPACE::Wrapper4InputSource *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4InputSource *) 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: delete_Wrapper4InputSource(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource, SWIG_POINTER_DISOWN |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Wrapper4InputSource" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4InputSource *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4InputSource * >(argp1);
+    {
+      try 
+      {
+        delete arg1;
+        
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_Wrapper4InputSource_getStringData) {
+  {
+    XERCES_CPP_NAMESPACE::Wrapper4InputSource *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4InputSource *) 0 ;
+    XMLCh *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: Wrapper4InputSource_getStringData(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4InputSource_getStringData" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4InputSource const *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4InputSource * >(argp1);
+    {
+      try 
+      {
+        result = (XMLCh *)((XERCES_CPP_NAMESPACE::Wrapper4InputSource const *)arg1)->getStringData();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    ST(argvi) = XMLString2Perl(result);
+    ++argvi;
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_Wrapper4InputSource_getByteStream) {
+  {
+    XERCES_CPP_NAMESPACE::Wrapper4InputSource *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4InputSource *) 0 ;
+    XERCES_CPP_NAMESPACE::InputSource *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: Wrapper4InputSource_getByteStream(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4InputSource_getByteStream" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4InputSource const *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4InputSource * >(argp1);
+    {
+      try 
+      {
+        result = (XERCES_CPP_NAMESPACE::InputSource *)((XERCES_CPP_NAMESPACE::Wrapper4InputSource const *)arg1)->getByteStream();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__InputSource, 0 | SWIG_SHADOW); argvi++ ;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_Wrapper4InputSource_getEncoding) {
+  {
+    XERCES_CPP_NAMESPACE::Wrapper4InputSource *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4InputSource *) 0 ;
+    XMLCh *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: Wrapper4InputSource_getEncoding(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4InputSource_getEncoding" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4InputSource const *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4InputSource * >(argp1);
+    {
+      try 
+      {
+        result = (XMLCh *)((XERCES_CPP_NAMESPACE::Wrapper4InputSource const *)arg1)->getEncoding();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    ST(argvi) = XMLString2Perl(result);
+    ++argvi;
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_Wrapper4InputSource_getPublicId) {
+  {
+    XERCES_CPP_NAMESPACE::Wrapper4InputSource *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4InputSource *) 0 ;
+    XMLCh *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: Wrapper4InputSource_getPublicId(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4InputSource_getPublicId" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4InputSource const *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4InputSource * >(argp1);
+    {
+      try 
+      {
+        result = (XMLCh *)((XERCES_CPP_NAMESPACE::Wrapper4InputSource const *)arg1)->getPublicId();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    ST(argvi) = XMLString2Perl(result);
+    ++argvi;
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_Wrapper4InputSource_getSystemId) {
+  {
+    XERCES_CPP_NAMESPACE::Wrapper4InputSource *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4InputSource *) 0 ;
+    XMLCh *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: Wrapper4InputSource_getSystemId(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4InputSource_getSystemId" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4InputSource const *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4InputSource * >(argp1);
+    {
+      try 
+      {
+        result = (XMLCh *)((XERCES_CPP_NAMESPACE::Wrapper4InputSource const *)arg1)->getSystemId();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    ST(argvi) = XMLString2Perl(result);
+    ++argvi;
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_Wrapper4InputSource_getBaseURI) {
+  {
+    XERCES_CPP_NAMESPACE::Wrapper4InputSource *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4InputSource *) 0 ;
+    XMLCh *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: Wrapper4InputSource_getBaseURI(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4InputSource_getBaseURI" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4InputSource const *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4InputSource * >(argp1);
+    {
+      try 
+      {
+        result = (XMLCh *)((XERCES_CPP_NAMESPACE::Wrapper4InputSource const *)arg1)->getBaseURI();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    ST(argvi) = XMLString2Perl(result);
+    ++argvi;
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_Wrapper4InputSource_getIssueFatalErrorIfNotFound) {
+  {
+    XERCES_CPP_NAMESPACE::Wrapper4InputSource *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4InputSource *) 0 ;
+    bool result;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: Wrapper4InputSource_getIssueFatalErrorIfNotFound(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4InputSource_getIssueFatalErrorIfNotFound" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4InputSource const *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4InputSource * >(argp1);
+    {
+      try 
+      {
+        result = (bool)((XERCES_CPP_NAMESPACE::Wrapper4InputSource const *)arg1)->getIssueFatalErrorIfNotFound();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_Wrapper4InputSource_setStringData) {
+  {
+    XERCES_CPP_NAMESPACE::Wrapper4InputSource *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4InputSource *) 0 ;
+    XMLCh *arg2 = (XMLCh *) 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: Wrapper4InputSource_setStringData(self,data);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4InputSource_setStringData" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4InputSource *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4InputSource * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"Wrapper4InputSource_setStringData");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
+    
+    {
+      try 
+      {
+        (arg1)->setStringData((XMLCh const *)arg2);
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    
+    
+    delete[] arg2;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    delete[] arg2;
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_Wrapper4InputSource_setByteStream) {
+  {
+    XERCES_CPP_NAMESPACE::Wrapper4InputSource *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4InputSource *) 0 ;
+    XERCES_CPP_NAMESPACE::InputSource *arg2 = (XERCES_CPP_NAMESPACE::InputSource *) 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    void *argp2 = 0 ;
+    int res2 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: Wrapper4InputSource_setByteStream(self,stream);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4InputSource_setByteStream" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4InputSource *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4InputSource * >(argp1);
+    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__InputSource, 0 |  0 );
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Wrapper4InputSource_setByteStream" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::InputSource *""'"); 
+    }
+    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::InputSource * >(argp2);
+    {
+      try 
+      {
+        (arg1)->setByteStream(arg2);
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_Wrapper4InputSource_setEncoding) {
+  {
+    XERCES_CPP_NAMESPACE::Wrapper4InputSource *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4InputSource *) 0 ;
+    XMLCh *arg2 = (XMLCh *) (XMLCh *)0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: Wrapper4InputSource_setEncoding(self,encodingStr);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4InputSource_setEncoding" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4InputSource *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4InputSource * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"Wrapper4InputSource_setEncoding");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
+    
+    {
+      try 
+      {
+        (arg1)->setEncoding((XMLCh const *)arg2);
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    
+    
+    delete[] arg2;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    delete[] arg2;
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_Wrapper4InputSource_setPublicId) {
+  {
+    XERCES_CPP_NAMESPACE::Wrapper4InputSource *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4InputSource *) 0 ;
+    XMLCh *arg2 = (XMLCh *) (XMLCh *)0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: Wrapper4InputSource_setPublicId(self,publicId);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4InputSource_setPublicId" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4InputSource *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4InputSource * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"Wrapper4InputSource_setPublicId");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
+    
+    {
+      try 
+      {
+        (arg1)->setPublicId((XMLCh const *)arg2);
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    
+    
+    delete[] arg2;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    delete[] arg2;
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_Wrapper4InputSource_setSystemId) {
+  {
+    XERCES_CPP_NAMESPACE::Wrapper4InputSource *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4InputSource *) 0 ;
+    XMLCh *arg2 = (XMLCh *) (XMLCh *)0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: Wrapper4InputSource_setSystemId(self,systemId);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4InputSource_setSystemId" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4InputSource *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4InputSource * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"Wrapper4InputSource_setSystemId");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
+    
+    {
+      try 
+      {
+        (arg1)->setSystemId((XMLCh const *)arg2);
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    
+    
+    delete[] arg2;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    delete[] arg2;
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_Wrapper4InputSource_setBaseURI) {
+  {
+    XERCES_CPP_NAMESPACE::Wrapper4InputSource *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4InputSource *) 0 ;
+    XMLCh *arg2 = (XMLCh *) (XMLCh *)0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: Wrapper4InputSource_setBaseURI(self,baseURI);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4InputSource_setBaseURI" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4InputSource *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4InputSource * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"Wrapper4InputSource_setBaseURI");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
+    
+    {
+      try 
+      {
+        (arg1)->setBaseURI((XMLCh const *)arg2);
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    
+    
+    delete[] arg2;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    delete[] arg2;
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_Wrapper4InputSource_setIssueFatalErrorIfNotFound) {
+  {
+    XERCES_CPP_NAMESPACE::Wrapper4InputSource *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4InputSource *) 0 ;
+    bool arg2 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    bool val2 ;
+    int ecode2 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: Wrapper4InputSource_setIssueFatalErrorIfNotFound(self,flag);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4InputSource_setIssueFatalErrorIfNotFound" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4InputSource *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4InputSource * >(argp1);
+    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
+    if (!SWIG_IsOK(ecode2)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Wrapper4InputSource_setIssueFatalErrorIfNotFound" "', argument " "2"" of type '" "bool""'");
+    } 
+    arg2 = static_cast< bool >(val2);
+    {
+      try 
+      {
+        (arg1)->setIssueFatalErrorIfNotFound(arg2);
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_Wrapper4InputSource_release) {
+  {
+    XERCES_CPP_NAMESPACE::Wrapper4InputSource *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4InputSource *) 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: Wrapper4InputSource_release(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4InputSource, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4InputSource_release" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4InputSource *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4InputSource * >(argp1);
+    {
+      try 
+      {
+        (arg1)->release();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_new_Wrapper4DOMLSInput__SWIG_0) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::DOMLSInput *) (XERCES_CPP_NAMESPACE::DOMLSInput *)0 ;
+    XERCES_CPP_NAMESPACE::DOMLSResourceResolver *arg2 = (XERCES_CPP_NAMESPACE::DOMLSResourceResolver *) 0 ;
+    bool arg3 ;
+    XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    void *argp2 = 0 ;
+    int res2 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    arg3 = true;
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: new_Wrapper4DOMLSInput(inputSource,entityResolver);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Wrapper4DOMLSInput" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput *const""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp1);
+    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSResourceResolver, 0 |  0 );
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_Wrapper4DOMLSInput" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMLSResourceResolver *""'"); 
+    }
+    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSResourceResolver * >(argp2);
+    {
+      try 
+      {
+        result = (XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *)new XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput(arg1,arg2,arg3);
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4DOMLSInput, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
+    
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_new_Wrapper4DOMLSInput__SWIG_1) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::DOMLSInput *) (XERCES_CPP_NAMESPACE::DOMLSInput *)0 ;
+    XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: new_Wrapper4DOMLSInput(inputSource);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Wrapper4DOMLSInput" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput *const""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp1);
+    {
+      try 
+      {
+        result = (XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *)new XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput(arg1);
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4DOMLSInput, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_new_Wrapper4DOMLSInput) {
+  dXSARGS;
+  
+  {
+    unsigned long _index = 0;
+    SWIG_TypeRank _rank = 0; 
+    if (items == 1) {
+      SWIG_TypeRank _ranki = 0;
+      SWIG_TypeRank _rankm = 0;
+      SWIG_TypeRank _pi = 1;
+      int _v = 0;
+      {
+        void *vptr = 0;
+        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0);
+        _v = SWIG_CheckState(res);
+      }
+      if (!_v) goto check_1;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      if (!_index || (_ranki < _rank)) {
+        _rank = _ranki; _index = 1;
+        if (_rank == _rankm) goto dispatch;
+      }
+    }
+  check_1:
+    
+    if (items == 2) {
+      SWIG_TypeRank _ranki = 0;
+      SWIG_TypeRank _rankm = 0;
+      SWIG_TypeRank _pi = 1;
+      int _v = 0;
+      {
+        void *vptr = 0;
+        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0);
+        _v = SWIG_CheckState(res);
+      }
+      if (!_v) goto check_2;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        void *vptr = 0;
+        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSResourceResolver, 0);
+        _v = SWIG_CheckState(res);
+      }
+      if (!_v) goto check_2;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      if (!_index || (_ranki < _rank)) {
+        _rank = _ranki; _index = 2;
+        if (_rank == _rankm) goto dispatch;
+      }
+    }
+  check_2:
+    
+  dispatch:
+    switch(_index) {
+    case 1:
+      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_Wrapper4DOMLSInput__SWIG_1); return;
+    case 2:
+      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_Wrapper4DOMLSInput__SWIG_0); return;
+    }
+  }
+  
+  croak("No matching function for overloaded 'new_Wrapper4DOMLSInput'");
+  XSRETURN(0);
+}
+
+
+XS(_wrap_delete_Wrapper4DOMLSInput) {
+  {
+    XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *) 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: delete_Wrapper4DOMLSInput(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4DOMLSInput, SWIG_POINTER_DISOWN |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Wrapper4DOMLSInput" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput * >(argp1);
+    {
+      try 
+      {
+        delete arg1;
+        
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_Wrapper4DOMLSInput_makeStream) {
+  {
+    XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *) 0 ;
+    XERCES_CPP_NAMESPACE::BinInputStream *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: Wrapper4DOMLSInput_makeStream(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4DOMLSInput, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4DOMLSInput_makeStream" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput const *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput * >(argp1);
+    {
+      try 
+      {
+        result = (XERCES_CPP_NAMESPACE::BinInputStream *)((XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput const *)arg1)->makeStream();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__BinInputStream, 0 | 0); argvi++ ;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_Wrapper4DOMLSInput_getEncoding) {
+  {
+    XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *) 0 ;
+    XMLCh *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: Wrapper4DOMLSInput_getEncoding(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4DOMLSInput, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4DOMLSInput_getEncoding" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput const *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput * >(argp1);
+    {
+      try 
+      {
+        result = (XMLCh *)((XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput const *)arg1)->getEncoding();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    ST(argvi) = XMLString2Perl(result);
+    ++argvi;
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_Wrapper4DOMLSInput_getPublicId) {
+  {
+    XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *) 0 ;
+    XMLCh *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: Wrapper4DOMLSInput_getPublicId(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4DOMLSInput, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4DOMLSInput_getPublicId" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput const *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput * >(argp1);
+    {
+      try 
+      {
+        result = (XMLCh *)((XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput const *)arg1)->getPublicId();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    ST(argvi) = XMLString2Perl(result);
+    ++argvi;
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_Wrapper4DOMLSInput_getSystemId) {
+  {
+    XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *) 0 ;
+    XMLCh *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: Wrapper4DOMLSInput_getSystemId(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4DOMLSInput, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4DOMLSInput_getSystemId" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput const *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput * >(argp1);
+    {
+      try 
+      {
+        result = (XMLCh *)((XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput const *)arg1)->getSystemId();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    ST(argvi) = XMLString2Perl(result);
+    ++argvi;
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_Wrapper4DOMLSInput_getIssueFatalErrorIfNotFound) {
+  {
+    XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *) 0 ;
+    bool result;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: Wrapper4DOMLSInput_getIssueFatalErrorIfNotFound(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4DOMLSInput, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4DOMLSInput_getIssueFatalErrorIfNotFound" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput const *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput * >(argp1);
+    {
+      try 
+      {
+        result = (bool)((XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput const *)arg1)->getIssueFatalErrorIfNotFound();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_Wrapper4DOMLSInput_setEncoding) {
+  {
+    XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *) 0 ;
+    XMLCh *arg2 = (XMLCh *) (XMLCh *)0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: Wrapper4DOMLSInput_setEncoding(self,encodingStr);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4DOMLSInput, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4DOMLSInput_setEncoding" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"Wrapper4DOMLSInput_setEncoding");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
+    
+    {
+      try 
+      {
+        (arg1)->setEncoding((XMLCh const *)arg2);
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    
+    
+    delete[] arg2;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    delete[] arg2;
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_Wrapper4DOMLSInput_setPublicId) {
+  {
+    XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *) 0 ;
+    XMLCh *arg2 = (XMLCh *) (XMLCh *)0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: Wrapper4DOMLSInput_setPublicId(self,publicId);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4DOMLSInput, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4DOMLSInput_setPublicId" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"Wrapper4DOMLSInput_setPublicId");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
+    
+    {
+      try 
+      {
+        (arg1)->setPublicId((XMLCh const *)arg2);
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    
+    
+    delete[] arg2;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    delete[] arg2;
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_Wrapper4DOMLSInput_setSystemId) {
+  {
+    XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *) 0 ;
+    XMLCh *arg2 = (XMLCh *) (XMLCh *)0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: Wrapper4DOMLSInput_setSystemId(self,systemId);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4DOMLSInput, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4DOMLSInput_setSystemId" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"Wrapper4DOMLSInput_setSystemId");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
+    
+    {
+      try 
+      {
+        (arg1)->setSystemId((XMLCh const *)arg2);
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    
+    
+    delete[] arg2;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    delete[] arg2;
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_Wrapper4DOMLSInput_setIssueFatalErrorIfNotFound) {
+  {
+    XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *arg1 = (XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *) 0 ;
+    bool arg2 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    bool val2 ;
+    int ecode2 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: Wrapper4DOMLSInput_setIssueFatalErrorIfNotFound(self,flag);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Wrapper4DOMLSInput, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Wrapper4DOMLSInput_setIssueFatalErrorIfNotFound" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Wrapper4DOMLSInput * >(argp1);
+    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
+    if (!SWIG_IsOK(ecode2)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Wrapper4DOMLSInput_setIssueFatalErrorIfNotFound" "', argument " "2"" of type '" "bool""'");
+    } 
+    arg2 = static_cast< bool >(val2);
+    {
+      try 
+      {
+        (arg1)->setIssueFatalErrorIfNotFound(arg2);
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_delete_DOMLSParser) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSParser *arg1 = (XERCES_CPP_NAMESPACE::DOMLSParser *) 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: delete_DOMLSParser(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSParser, SWIG_POINTER_DISOWN |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMLSParser" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSParser *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSParser * >(argp1);
+    {
+      try 
+      {
+        delete arg1;
+        
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMLSParser_getDomConfig) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSParser *arg1 = (XERCES_CPP_NAMESPACE::DOMLSParser *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMConfiguration *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMLSParser_getDomConfig(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSParser, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSParser_getDomConfig" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSParser *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSParser * >(argp1);
+    {
+      try 
+      {
+        result = (XERCES_CPP_NAMESPACE::DOMConfiguration *)(arg1)->getDomConfig();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMConfiguration, 0 | SWIG_SHADOW); argvi++ ;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMLSParser_getAsync) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSParser *arg1 = (XERCES_CPP_NAMESPACE::DOMLSParser *) 0 ;
+    bool result;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMLSParser_getAsync(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSParser, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSParser_getAsync" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSParser const *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSParser * >(argp1);
+    {
+      try 
+      {
+        result = (bool)((XERCES_CPP_NAMESPACE::DOMLSParser const *)arg1)->getAsync();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMLSParser_getBusy) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSParser *arg1 = (XERCES_CPP_NAMESPACE::DOMLSParser *) 0 ;
+    bool result;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMLSParser_getBusy(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSParser, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSParser_getBusy" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSParser const *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSParser * >(argp1);
+    {
+      try 
+      {
+        result = (bool)((XERCES_CPP_NAMESPACE::DOMLSParser const *)arg1)->getBusy();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMLSParser_setFilter) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSParser *arg1 = (XERCES_CPP_NAMESPACE::DOMLSParser *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMLSParserFilter *arg2 = (XERCES_CPP_NAMESPACE::DOMLSParserFilter *) (XERCES_CPP_NAMESPACE::DOMLSParserFilter *)0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    void *argp2 = 0 ;
+    int res2 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMLSParser_setFilter(self,filter);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSParser, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSParser_setFilter" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSParser *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSParser * >(argp1);
+    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSParserFilter, 0 |  0 );
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMLSParser_setFilter" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMLSParserFilter *const""'"); 
+    }
+    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSParserFilter * >(argp2);
+    {
+      try 
+      {
+        (arg1)->setFilter(arg2);
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMLSParser_parse) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSParser *arg1 = (XERCES_CPP_NAMESPACE::DOMLSParser *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMLSInput *arg2 = (XERCES_CPP_NAMESPACE::DOMLSInput *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMDocument *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    void *argp2 = 0 ;
+    int res2 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMLSParser_parse(self,source);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSParser, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSParser_parse" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSParser *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSParser * >(argp1);
+    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMLSParser_parse" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput const *""'"); 
+    }
+    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp2);
+    {
+      try 
+      {
+        result = (XERCES_CPP_NAMESPACE::DOMDocument *)(arg1)->parse((XERCES_CPP_NAMESPACE::DOMLSInput const *)arg2);
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 | SWIG_SHADOW); argvi++ ;
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMLSParser_parseURI) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSParser *arg1 = (XERCES_CPP_NAMESPACE::DOMLSParser *) 0 ;
+    XMLCh *arg2 = (XMLCh *) (XMLCh *)0 ;
+    XERCES_CPP_NAMESPACE::DOMDocument *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMLSParser_parseURI(self,uri);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSParser, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSParser_parseURI" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSParser *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSParser * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"DOMLSParser_parseURI");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
+    
+    {
+      try 
+      {
+        result = (XERCES_CPP_NAMESPACE::DOMDocument *)(arg1)->parseURI((XMLCh const *)arg2);
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, 0 | SWIG_SHADOW); argvi++ ;
+    
+    
+    delete[] arg2;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    delete[] arg2;
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMLSParser_parseWithContext) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSParser *arg1 = (XERCES_CPP_NAMESPACE::DOMLSParser *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMLSInput *arg2 = (XERCES_CPP_NAMESPACE::DOMLSInput *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMNode *arg3 = (XERCES_CPP_NAMESPACE::DOMNode *) 0 ;
+    unsigned short arg4 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    void *argp2 = 0 ;
+    int res2 = 0 ;
+    void *argp3 = 0 ;
+    int res3 = 0 ;
+    unsigned short val4 ;
+    int ecode4 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 4) || (items > 4)) {
+      SWIG_croak("Usage: DOMLSParser_parseWithContext(self,source,contextNode,action);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSParser, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSParser_parseWithContext" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSParser *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSParser * >(argp1);
+    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0 |  0 );
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DOMLSParser_parseWithContext" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMLSInput const *""'"); 
+    }
+    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSInput * >(argp2);
+    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, 0 |  0 );
+    if (!SWIG_IsOK(res3)) {
+      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "DOMLSParser_parseWithContext" "', argument " "3"" of type '" "XERCES_CPP_NAMESPACE::DOMNode *""'"); 
+    }
+    arg3 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMNode * >(argp3);
+    ecode4 = SWIG_AsVal_unsigned_SS_short SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
+    if (!SWIG_IsOK(ecode4)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "DOMLSParser_parseWithContext" "', argument " "4"" of type '" "unsigned short""'");
+    } 
+    arg4 = static_cast< unsigned short >(val4);
+    {
+      try 
+      {
+        (arg1)->parseWithContext((XERCES_CPP_NAMESPACE::DOMLSInput const *)arg2,arg3,arg4);
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    
+    
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMLSParser_abort) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSParser *arg1 = (XERCES_CPP_NAMESPACE::DOMLSParser *) 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMLSParser_abort(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSParser, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSParser_abort" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSParser *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSParser * >(argp1);
+    {
+      try 
+      {
+        (arg1)->abort();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMLSParser_release) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSParser *arg1 = (XERCES_CPP_NAMESPACE::DOMLSParser *) 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMLSParser_release(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSParser, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSParser_release" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSParser *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSParser * >(argp1);
+    {
+      try 
+      {
+        (arg1)->release();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMLSParser_resetDocumentPool) {
   {
     XERCES_CPP_NAMESPACE::DOMLSParser *arg1 = (XERCES_CPP_NAMESPACE::DOMLSParser *) 0 ;
     void *argp1 = 0 ;
@@ -45438,6 +47748,425 @@ XS(_wrap_MemBufFormatTarget_reset) {
 }
 
 
+XS(_wrap_new_DOMLSException__SWIG_0) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSException *result = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 0) || (items > 0)) {
+      SWIG_croak("Usage: new_DOMLSException();");
+    }
+    {
+      try 
+      {
+        result = (XERCES_CPP_NAMESPACE::DOMLSException *)new XERCES_CPP_NAMESPACE::DOMLSException();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSException, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
+    XSRETURN(argvi);
+  fail:
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_new_DOMLSException__SWIG_1) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSException::LSExceptionCode arg1 ;
+    short arg2 ;
+    XERCES_CPP_NAMESPACE::MemoryManager *arg3 = (XERCES_CPP_NAMESPACE::MemoryManager *) (XERCES_CPP_NAMESPACE::MemoryManager *)0 ;
+    XERCES_CPP_NAMESPACE::DOMLSException *result = 0 ;
+    int val1 ;
+    int ecode1 = 0 ;
+    short val2 ;
+    int ecode2 = 0 ;
+    void *argp3 = 0 ;
+    int res3 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 3) || (items > 3)) {
+      SWIG_croak("Usage: new_DOMLSException(code,messageCode,memoryManager);");
+    }
+    ecode1 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
+    if (!SWIG_IsOK(ecode1)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_DOMLSException" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSException::LSExceptionCode""'");
+    } 
+    arg1 = static_cast< XERCES_CPP_NAMESPACE::DOMLSException::LSExceptionCode >(val1);
+    ecode2 = SWIG_AsVal_short SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
+    if (!SWIG_IsOK(ecode2)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_DOMLSException" "', argument " "2"" of type '" "short""'");
+    } 
+    arg2 = static_cast< short >(val2);
+    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemoryManager, 0 |  0 );
+    if (!SWIG_IsOK(res3)) {
+      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_DOMLSException" "', argument " "3"" of type '" "XERCES_CPP_NAMESPACE::MemoryManager *const""'"); 
+    }
+    arg3 = reinterpret_cast< XERCES_CPP_NAMESPACE::MemoryManager * >(argp3);
+    {
+      try 
+      {
+        result = (XERCES_CPP_NAMESPACE::DOMLSException *)new XERCES_CPP_NAMESPACE::DOMLSException(arg1,arg2,arg3);
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSException, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
+    
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_new_DOMLSException__SWIG_2) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSException *arg1 = 0 ;
+    XERCES_CPP_NAMESPACE::DOMLSException *result = 0 ;
+    void *argp1 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: new_DOMLSException(other);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSException,  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_DOMLSException" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSException const &""'"); 
+    }
+    if (!argp1) {
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_DOMLSException" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSException const &""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSException * >(argp1);
+    {
+      try 
+      {
+        result = (XERCES_CPP_NAMESPACE::DOMLSException *)new XERCES_CPP_NAMESPACE::DOMLSException((XERCES_CPP_NAMESPACE::DOMLSException const &)*arg1);
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSException, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_new_DOMLSException) {
+  dXSARGS;
+  
+  {
+    unsigned long _index = 0;
+    SWIG_TypeRank _rank = 0; 
+    if (items == 0) {
+      SWIG_TypeRank _ranki = 0;
+      SWIG_TypeRank _rankm = 0;
+      if (!_index || (_ranki < _rank)) {
+        _rank = _ranki; _index = 1;
+        if (_rank == _rankm) goto dispatch;
+      }
+    }
+    if (items == 1) {
+      SWIG_TypeRank _ranki = 0;
+      SWIG_TypeRank _rankm = 0;
+      SWIG_TypeRank _pi = 1;
+      int _v = 0;
+      {
+        void *vptr = 0;
+        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSException, 0);
+        _v = SWIG_CheckState(res);
+      }
+      if (!_v) goto check_2;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      if (!_index || (_ranki < _rank)) {
+        _rank = _ranki; _index = 2;
+        if (_rank == _rankm) goto dispatch;
+      }
+    }
+  check_2:
+    
+    if (items == 3) {
+      SWIG_TypeRank _ranki = 0;
+      SWIG_TypeRank _rankm = 0;
+      SWIG_TypeRank _pi = 1;
+      int _v = 0;
+      {
+        {
+          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
+          _v = SWIG_CheckState(res);
+        }
+      }
+      if (!_v) goto check_3;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        {
+          int res = SWIG_AsVal_short SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
+          _v = SWIG_CheckState(res);
+        }
+      }
+      if (!_v) goto check_3;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        void *vptr = 0;
+        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemoryManager, 0);
+        _v = SWIG_CheckState(res);
+      }
+      if (!_v) goto check_3;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      if (!_index || (_ranki < _rank)) {
+        _rank = _ranki; _index = 3;
+        if (_rank == _rankm) goto dispatch;
+      }
+    }
+  check_3:
+    
+  dispatch:
+    switch(_index) {
+    case 1:
+      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_DOMLSException__SWIG_0); return;
+    case 2:
+      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_DOMLSException__SWIG_2); return;
+    case 3:
+      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_DOMLSException__SWIG_1); return;
+    }
+  }
+  
+  croak("No matching function for overloaded 'new_DOMLSException'");
+  XSRETURN(0);
+}
+
+
+XS(_wrap_delete_DOMLSException) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSException *arg1 = (XERCES_CPP_NAMESPACE::DOMLSException *) 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: delete_DOMLSException(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSException, SWIG_POINTER_DISOWN |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DOMLSException" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSException *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSException * >(argp1);
+    {
+      try 
+      {
+        delete arg1;
+        
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMLSException_getMessage) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSException *arg1 = (XERCES_CPP_NAMESPACE::DOMLSException *) 0 ;
+    XMLCh *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMLSException_getMessage(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSException, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSException_getMessage" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSException const *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSException * >(argp1);
+    {
+      try 
+      {
+        result = (XMLCh *)((XERCES_CPP_NAMESPACE::DOMLSException const *)arg1)->getMessage();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    ST(argvi) = XMLString2Perl(result);
+    ++argvi;
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMLSException_code_set) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSException *arg1 = (XERCES_CPP_NAMESPACE::DOMLSException *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMLSException::LSExceptionCode arg2 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int val2 ;
+    int ecode2 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMLSException_code_set(self,code);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSException, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSException_code_set" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSException *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSException * >(argp1);
+    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
+    if (!SWIG_IsOK(ecode2)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DOMLSException_code_set" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DOMLSException::LSExceptionCode""'");
+    } 
+    arg2 = static_cast< XERCES_CPP_NAMESPACE::DOMLSException::LSExceptionCode >(val2);
+    if (arg1) (arg1)->code = arg2;
+    
+    
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMLSException_code_get) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSException *arg1 = (XERCES_CPP_NAMESPACE::DOMLSException *) 0 ;
+    XERCES_CPP_NAMESPACE::DOMLSException::LSExceptionCode result;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMLSException_code_get(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSException, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSException_code_get" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSException *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSException * >(argp1);
+    result = (XERCES_CPP_NAMESPACE::DOMLSException::LSExceptionCode) ((arg1)->code);
+    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMLSException_msg_set) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSException *arg1 = (XERCES_CPP_NAMESPACE::DOMLSException *) 0 ;
+    XMLCh *arg2 = (XMLCh *) 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: DOMLSException_msg_set(self,msg);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSException, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSException_msg_set" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSException *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSException * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"DOMLSException_msg_set");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
+    
+    if (arg1) (arg1)->msg = (XMLCh const *)arg2;
+    
+    
+    
+    
+    delete[] arg2;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    delete[] arg2;
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_DOMLSException_msg_get) {
+  {
+    XERCES_CPP_NAMESPACE::DOMLSException *arg1 = (XERCES_CPP_NAMESPACE::DOMLSException *) 0 ;
+    XMLCh *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: DOMLSException_msg_get(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSException, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DOMLSException_msg_get" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::DOMLSException *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::DOMLSException * >(argp1);
+    result = (XMLCh *) ((arg1)->msg);
+    
+    ST(argvi) = XMLString2Perl(result);
+    ++argvi;
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
 XS(_wrap_delete_DOMLSSerializer) {
   {
     XERCES_CPP_NAMESPACE::DOMLSSerializer *arg1 = (XERCES_CPP_NAMESPACE::DOMLSSerializer *) 0 ;
@@ -51726,387 +54455,6 @@ XS(_wrap_PSVIHandler_handleAttributesPSVI) {
 }
 
 
-XS(_wrap_delete_Parser) {
-  {
-    XERCES_CPP_NAMESPACE::Parser *arg1 = (XERCES_CPP_NAMESPACE::Parser *) 0 ;
-    void *argp1 = 0 ;
-    int res1 = 0 ;
-    int argvi = 0;
-    dXSARGS;
-    
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: delete_Parser(self);");
-    }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Parser, SWIG_POINTER_DISOWN |  0 );
-    if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Parser" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Parser *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Parser * >(argp1);
-    {
-      try 
-      {
-        delete arg1;
-        
-      } 
-      CATCH_DOM_EXCEPTION
-    }
-    
-    
-    XSRETURN(argvi);
-  fail:
-    
-    SWIG_croak_null();
-  }
-}
-
-
-XS(_wrap_Parser_setEntityResolver) {
-  {
-    XERCES_CPP_NAMESPACE::Parser *arg1 = (XERCES_CPP_NAMESPACE::Parser *) 0 ;
-    XERCES_CPP_NAMESPACE::EntityResolver *arg2 = (XERCES_CPP_NAMESPACE::EntityResolver *) (XERCES_CPP_NAMESPACE::EntityResolver *)0 ;
-    void *argp1 = 0 ;
-    int res1 = 0 ;
-    void *argp2 = 0 ;
-    int res2 = 0 ;
-    int argvi = 0;
-    dXSARGS;
-    
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: Parser_setEntityResolver(self,resolver);");
-    }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Parser, 0 |  0 );
-    if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Parser_setEntityResolver" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Parser *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Parser * >(argp1);
-    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__EntityResolver, 0 |  0 );
-    if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Parser_setEntityResolver" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::EntityResolver *const""'"); 
-    }
-    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::EntityResolver * >(argp2);
-    {
-      try 
-      {
-        (arg1)->setEntityResolver(arg2);
-      } 
-      CATCH_DOM_EXCEPTION
-    }
-    
-    
-    
-    XSRETURN(argvi);
-  fail:
-    
-    
-    SWIG_croak_null();
-  }
-}
-
-
-XS(_wrap_Parser_setDTDHandler) {
-  {
-    XERCES_CPP_NAMESPACE::Parser *arg1 = (XERCES_CPP_NAMESPACE::Parser *) 0 ;
-    XERCES_CPP_NAMESPACE::DTDHandler *arg2 = (XERCES_CPP_NAMESPACE::DTDHandler *) (XERCES_CPP_NAMESPACE::DTDHandler *)0 ;
-    void *argp1 = 0 ;
-    int res1 = 0 ;
-    void *argp2 = 0 ;
-    int res2 = 0 ;
-    int argvi = 0;
-    dXSARGS;
-    
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: Parser_setDTDHandler(self,handler);");
-    }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Parser, 0 |  0 );
-    if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Parser_setDTDHandler" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Parser *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Parser * >(argp1);
-    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DTDHandler, 0 |  0 );
-    if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Parser_setDTDHandler" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DTDHandler *const""'"); 
-    }
-    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DTDHandler * >(argp2);
-    {
-      try 
-      {
-        (arg1)->setDTDHandler(arg2);
-      } 
-      CATCH_DOM_EXCEPTION
-    }
-    
-    
-    
-    XSRETURN(argvi);
-  fail:
-    
-    
-    SWIG_croak_null();
-  }
-}
-
-
-XS(_wrap_Parser_setDocumentHandler) {
-  {
-    XERCES_CPP_NAMESPACE::Parser *arg1 = (XERCES_CPP_NAMESPACE::Parser *) 0 ;
-    XERCES_CPP_NAMESPACE::DocumentHandler *arg2 = (XERCES_CPP_NAMESPACE::DocumentHandler *) (XERCES_CPP_NAMESPACE::DocumentHandler *)0 ;
-    void *argp1 = 0 ;
-    int res1 = 0 ;
-    void *argp2 = 0 ;
-    int res2 = 0 ;
-    int argvi = 0;
-    dXSARGS;
-    
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: Parser_setDocumentHandler(self,handler);");
-    }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Parser, 0 |  0 );
-    if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Parser_setDocumentHandler" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Parser *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Parser * >(argp1);
-    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DocumentHandler, 0 |  0 );
-    if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Parser_setDocumentHandler" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DocumentHandler *const""'"); 
-    }
-    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DocumentHandler * >(argp2);
-    {
-      try 
-      {
-        (arg1)->setDocumentHandler(arg2);
-      } 
-      CATCH_DOM_EXCEPTION
-    }
-    
-    
-    
-    XSRETURN(argvi);
-  fail:
-    
-    
-    SWIG_croak_null();
-  }
-}
-
-
-XS(_wrap_Parser_setErrorHandler) {
-  {
-    XERCES_CPP_NAMESPACE::Parser *arg1 = (XERCES_CPP_NAMESPACE::Parser *) 0 ;
-    XERCES_CPP_NAMESPACE::ErrorHandler *arg2 = (XERCES_CPP_NAMESPACE::ErrorHandler *) (XERCES_CPP_NAMESPACE::ErrorHandler *)0 ;
-    void *argp1 = 0 ;
-    int res1 = 0 ;
-    void *argp2 = 0 ;
-    int res2 = 0 ;
-    int argvi = 0;
-    dXSARGS;
-    
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: Parser_setErrorHandler(self,handler);");
-    }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Parser, 0 |  0 );
-    if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Parser_setErrorHandler" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Parser *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Parser * >(argp1);
-    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__ErrorHandler, 0 |  0 );
-    if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Parser_setErrorHandler" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::ErrorHandler *const""'"); 
-    }
-    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::ErrorHandler * >(argp2);
-    {
-      try 
-      {
-        (arg1)->setErrorHandler(arg2);
-      } 
-      CATCH_DOM_EXCEPTION
-    }
-    
-    
-    
-    XSRETURN(argvi);
-  fail:
-    
-    
-    SWIG_croak_null();
-  }
-}
-
-
-XS(_wrap_Parser_parse__SWIG_0) {
-  {
-    XERCES_CPP_NAMESPACE::Parser *arg1 = (XERCES_CPP_NAMESPACE::Parser *) 0 ;
-    XERCES_CPP_NAMESPACE::InputSource *arg2 = 0 ;
-    void *argp1 = 0 ;
-    int res1 = 0 ;
-    void *argp2 ;
-    int res2 = 0 ;
-    int argvi = 0;
-    dXSARGS;
-    
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: Parser_parse(self,source);");
-    }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Parser, 0 |  0 );
-    if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Parser_parse" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Parser *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Parser * >(argp1);
-    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_XERCES_CPP_NAMESPACE__InputSource,  0 );
-    if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Parser_parse" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::InputSource const &""'"); 
-    }
-    if (!argp2) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Parser_parse" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::InputSource const &""'"); 
-    }
-    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::InputSource * >(argp2);
-    {
-      try 
-      {
-        (arg1)->parse((XERCES_CPP_NAMESPACE::InputSource const &)*arg2);
-      } 
-      CATCH_DOM_EXCEPTION
-    }
-    
-    
-    
-    XSRETURN(argvi);
-  fail:
-    
-    
-    SWIG_croak_null();
-  }
-}
-
-
-XS(_wrap_Parser_parse__SWIG_1) {
-  {
-    XERCES_CPP_NAMESPACE::Parser *arg1 = (XERCES_CPP_NAMESPACE::Parser *) 0 ;
-    XMLCh *arg2 = (XMLCh *) (XMLCh *)0 ;
-    void *argp1 = 0 ;
-    int res1 = 0 ;
-    int argvi = 0;
-    dXSARGS;
-    
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: Parser_parse(self,systemId);");
-    }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Parser, 0 |  0 );
-    if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Parser_parse" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Parser *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Parser * >(argp1);
-    
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"Parser_parse");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
-    }
-    
-    {
-      try 
-      {
-        (arg1)->parse((XMLCh const *)arg2);
-      } 
-      CATCH_DOM_EXCEPTION
-    }
-    
-    
-    
-    delete[] arg2;
-    
-    XSRETURN(argvi);
-  fail:
-    
-    
-    delete[] arg2;
-    
-    SWIG_croak_null();
-  }
-}
-
-
-XS(_wrap_Parser_parse) {
-  dXSARGS;
-  
-  {
-    unsigned long _index = 0;
-    SWIG_TypeRank _rank = 0; 
-    if (items == 2) {
-      SWIG_TypeRank _ranki = 0;
-      SWIG_TypeRank _rankm = 0;
-      SWIG_TypeRank _pi = 1;
-      int _v = 0;
-      {
-        void *vptr = 0;
-        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__Parser, 0);
-        _v = SWIG_CheckState(res);
-      }
-      if (!_v) goto check_1;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      {
-        void *vptr = 0;
-        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__InputSource, 0);
-        _v = SWIG_CheckState(res);
-      }
-      if (!_v) goto check_1;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      if (!_index || (_ranki < _rank)) {
-        _rank = _ranki; _index = 1;
-        if (_rank == _rankm) goto dispatch;
-      }
-    }
-  check_1:
-    
-    if (items == 2) {
-      SWIG_TypeRank _ranki = 0;
-      SWIG_TypeRank _rankm = 0;
-      SWIG_TypeRank _pi = 1;
-      int _v = 0;
-      {
-        void *vptr = 0;
-        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__Parser, 0);
-        _v = SWIG_CheckState(res);
-      }
-      if (!_v) goto check_2;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      {
-        {
-          _v = SvOK(ST(1)) ? 1 : 0; 
-        }
-      }
-      if (!_v) goto check_2;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      if (!_index || (_ranki < _rank)) {
-        _rank = _ranki; _index = 2;
-        if (_rank == _rankm) goto dispatch;
-      }
-    }
-  check_2:
-    
-  dispatch:
-    switch(_index) {
-    case 1:
-      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_Parser_parse__SWIG_0); return;
-    case 2:
-      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_Parser_parse__SWIG_1); return;
-    }
-  }
-  
-  croak("No matching function for overloaded 'Parser_parse'");
-  XSRETURN(0);
-}
-
-
 XS(_wrap_delete_AbstractDOMParser) {
   {
     XERCES_CPP_NAMESPACE::AbstractDOMParser *arg1 = (XERCES_CPP_NAMESPACE::AbstractDOMParser *) 0 ;
@@ -54466,7 +56814,7 @@ XS(_wrap_AbstractDOMParser_parseFirst__SWIG_1) {
     if (!SWIG_IsOK(res2)) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "AbstractDOMParser_parseFirst" "', argument " "2"" of type '" "char const *const""'");
     }
-    arg2 = buf2;
+    arg2 = reinterpret_cast< char * >(buf2);
     res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLPScanToken,  0 );
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "AbstractDOMParser_parseFirst" "', argument " "3"" of type '" "XERCES_CPP_NAMESPACE::XMLPScanToken &""'"); 
@@ -55237,57 +57585,358 @@ XS(_wrap_delete_XercesDOMParser) {
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: delete_XercesDOMParser(self);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: delete_XercesDOMParser(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, SWIG_POINTER_DISOWN |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_XercesDOMParser" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::XercesDOMParser * >(argp1);
+    {
+      try 
+      {
+        delete arg1;
+        
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_XercesDOMParser_getErrorHandler) {
+  {
+    XERCES_CPP_NAMESPACE::XercesDOMParser *arg1 = (XERCES_CPP_NAMESPACE::XercesDOMParser *) 0 ;
+    XERCES_CPP_NAMESPACE::ErrorHandler *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: XercesDOMParser_getErrorHandler(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_getErrorHandler" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::XercesDOMParser * >(argp1);
+    {
+      try 
+      {
+        result = (XERCES_CPP_NAMESPACE::ErrorHandler *)(arg1)->getErrorHandler();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__ErrorHandler, 0 | SWIG_SHADOW); argvi++ ;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_XercesDOMParser_getEntityResolver) {
+  {
+    XERCES_CPP_NAMESPACE::XercesDOMParser *arg1 = (XERCES_CPP_NAMESPACE::XercesDOMParser *) 0 ;
+    XERCES_CPP_NAMESPACE::EntityResolver *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: XercesDOMParser_getEntityResolver(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_getEntityResolver" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::XercesDOMParser * >(argp1);
+    {
+      try 
+      {
+        result = (XERCES_CPP_NAMESPACE::EntityResolver *)(arg1)->getEntityResolver();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__EntityResolver, 0 | SWIG_SHADOW); argvi++ ;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_XercesDOMParser_getXMLEntityResolver) {
+  {
+    XERCES_CPP_NAMESPACE::XercesDOMParser *arg1 = (XERCES_CPP_NAMESPACE::XercesDOMParser *) 0 ;
+    XERCES_CPP_NAMESPACE::XMLEntityResolver *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: XercesDOMParser_getXMLEntityResolver(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_getXMLEntityResolver" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::XercesDOMParser * >(argp1);
+    {
+      try 
+      {
+        result = (XERCES_CPP_NAMESPACE::XMLEntityResolver *)(arg1)->getXMLEntityResolver();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLEntityResolver, 0 | 0); argvi++ ;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_XercesDOMParser_isCachingGrammarFromParse) {
+  {
+    XERCES_CPP_NAMESPACE::XercesDOMParser *arg1 = (XERCES_CPP_NAMESPACE::XercesDOMParser *) 0 ;
+    bool result;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: XercesDOMParser_isCachingGrammarFromParse(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_isCachingGrammarFromParse" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser const *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::XercesDOMParser * >(argp1);
+    {
+      try 
+      {
+        result = (bool)((XERCES_CPP_NAMESPACE::XercesDOMParser const *)arg1)->isCachingGrammarFromParse();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_XercesDOMParser_isUsingCachedGrammarInParse) {
+  {
+    XERCES_CPP_NAMESPACE::XercesDOMParser *arg1 = (XERCES_CPP_NAMESPACE::XercesDOMParser *) 0 ;
+    bool result;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: XercesDOMParser_isUsingCachedGrammarInParse(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_isUsingCachedGrammarInParse" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser const *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::XercesDOMParser * >(argp1);
+    {
+      try 
+      {
+        result = (bool)((XERCES_CPP_NAMESPACE::XercesDOMParser const *)arg1)->isUsingCachedGrammarInParse();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_XercesDOMParser_getGrammar) {
+  {
+    XERCES_CPP_NAMESPACE::XercesDOMParser *arg1 = (XERCES_CPP_NAMESPACE::XercesDOMParser *) 0 ;
+    XMLCh *arg2 = (XMLCh *) (XMLCh *)0 ;
+    XERCES_CPP_NAMESPACE::Grammar *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: XercesDOMParser_getGrammar(self,nameSpaceKey);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_getGrammar" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::XercesDOMParser * >(argp1);
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"XercesDOMParser_getGrammar");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
+    
+    {
+      try 
+      {
+        result = (XERCES_CPP_NAMESPACE::Grammar *)(arg1)->getGrammar((XMLCh const *)arg2);
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__Grammar, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
+    
+    
+    delete[] arg2;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    delete[] arg2;
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_XercesDOMParser_getRootGrammar) {
+  {
+    XERCES_CPP_NAMESPACE::XercesDOMParser *arg1 = (XERCES_CPP_NAMESPACE::XercesDOMParser *) 0 ;
+    XERCES_CPP_NAMESPACE::Grammar *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: XercesDOMParser_getRootGrammar(self);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_getRootGrammar" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::XercesDOMParser * >(argp1);
+    {
+      try 
+      {
+        result = (XERCES_CPP_NAMESPACE::Grammar *)(arg1)->getRootGrammar();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__Grammar, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_XercesDOMParser_getURIText) {
+  {
+    XERCES_CPP_NAMESPACE::XercesDOMParser *arg1 = (XERCES_CPP_NAMESPACE::XercesDOMParser *) 0 ;
+    unsigned int arg2 ;
+    XMLCh *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    unsigned int val2 ;
+    int ecode2 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: XercesDOMParser_getURIText(self,uriId);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, SWIG_POINTER_DISOWN |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_XercesDOMParser" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_getURIText" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser const *""'"); 
     }
     arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::XercesDOMParser * >(argp1);
+    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
+    if (!SWIG_IsOK(ecode2)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "XercesDOMParser_getURIText" "', argument " "2"" of type '" "unsigned int""'");
+    } 
+    arg2 = static_cast< unsigned int >(val2);
     {
       try 
       {
-        delete arg1;
-        
+        result = (XMLCh *)((XERCES_CPP_NAMESPACE::XercesDOMParser const *)arg1)->getURIText(arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
     
+    ST(argvi) = XMLString2Perl(result);
+    ++argvi;
+    
+    
     
     XSRETURN(argvi);
   fail:
     
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_XercesDOMParser_getErrorHandler) {
+XS(_wrap_XercesDOMParser_getSrcOffset) {
   {
     XERCES_CPP_NAMESPACE::XercesDOMParser *arg1 = (XERCES_CPP_NAMESPACE::XercesDOMParser *) 0 ;
-    XERCES_CPP_NAMESPACE::ErrorHandler *result = 0 ;
+    unsigned int result;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: XercesDOMParser_getErrorHandler(self);");
+      SWIG_croak("Usage: XercesDOMParser_getSrcOffset(self);");
     }
     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_getErrorHandler" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_getSrcOffset" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser const *""'"); 
     }
     arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::XercesDOMParser * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::ErrorHandler *)(arg1)->getErrorHandler();
+        result = (unsigned int)((XERCES_CPP_NAMESPACE::XercesDOMParser const *)arg1)->getSrcOffset();
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__ErrorHandler, 0 | SWIG_SHADOW); argvi++ ;
+    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
     
     XSRETURN(argvi);
   fail:
@@ -55297,31 +57946,31 @@ XS(_wrap_XercesDOMParser_getErrorHandler) {
 }
 
 
-XS(_wrap_XercesDOMParser_getEntityResolver) {
+XS(_wrap_XercesDOMParser_getIgnoreCachedDTD) {
   {
     XERCES_CPP_NAMESPACE::XercesDOMParser *arg1 = (XERCES_CPP_NAMESPACE::XercesDOMParser *) 0 ;
-    XERCES_CPP_NAMESPACE::EntityResolver *result = 0 ;
+    bool result;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: XercesDOMParser_getEntityResolver(self);");
+      SWIG_croak("Usage: XercesDOMParser_getIgnoreCachedDTD(self);");
     }
     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_getEntityResolver" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_getIgnoreCachedDTD" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser const *""'"); 
     }
     arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::XercesDOMParser * >(argp1);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::EntityResolver *)(arg1)->getEntityResolver();
+        result = (bool)((XERCES_CPP_NAMESPACE::XercesDOMParser const *)arg1)->getIgnoreCachedDTD();
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__EntityResolver, 0 | SWIG_SHADOW); argvi++ ;
+    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
     
     XSRETURN(argvi);
   fail:
@@ -55331,228 +57980,253 @@ XS(_wrap_XercesDOMParser_getEntityResolver) {
 }
 
 
-XS(_wrap_XercesDOMParser_getXMLEntityResolver) {
+XS(_wrap_XercesDOMParser_setErrorHandler) {
   {
     XERCES_CPP_NAMESPACE::XercesDOMParser *arg1 = (XERCES_CPP_NAMESPACE::XercesDOMParser *) 0 ;
-    XERCES_CPP_NAMESPACE::XMLEntityResolver *result = 0 ;
+    XERCES_CPP_NAMESPACE::ErrorHandler *arg2 = (XERCES_CPP_NAMESPACE::ErrorHandler *) (XERCES_CPP_NAMESPACE::ErrorHandler *)0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
+    void *argp2 = 0 ;
+    int res2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: XercesDOMParser_getXMLEntityResolver(self);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: XercesDOMParser_setErrorHandler(self,handler);");
     }
     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_getXMLEntityResolver" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_setErrorHandler" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
     }
     arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::XercesDOMParser * >(argp1);
+    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__ErrorHandler, 0 |  0 );
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "XercesDOMParser_setErrorHandler" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::ErrorHandler *const""'"); 
+    }
+    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::ErrorHandler * >(argp2);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::XMLEntityResolver *)(arg1)->getXMLEntityResolver();
+        (arg1)->setErrorHandler(arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLEntityResolver, 0 | 0); argvi++ ;
+    
+    
     
     XSRETURN(argvi);
   fail:
     
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_XercesDOMParser_isCachingGrammarFromParse) {
+XS(_wrap_XercesDOMParser_setEntityResolver) {
   {
     XERCES_CPP_NAMESPACE::XercesDOMParser *arg1 = (XERCES_CPP_NAMESPACE::XercesDOMParser *) 0 ;
-    bool result;
+    XERCES_CPP_NAMESPACE::EntityResolver *arg2 = (XERCES_CPP_NAMESPACE::EntityResolver *) (XERCES_CPP_NAMESPACE::EntityResolver *)0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
+    void *argp2 = 0 ;
+    int res2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: XercesDOMParser_isCachingGrammarFromParse(self);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: XercesDOMParser_setEntityResolver(self,handler);");
     }
     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_isCachingGrammarFromParse" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_setEntityResolver" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
     }
     arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::XercesDOMParser * >(argp1);
+    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__EntityResolver, 0 |  0 );
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "XercesDOMParser_setEntityResolver" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::EntityResolver *const""'"); 
+    }
+    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::EntityResolver * >(argp2);
     {
       try 
       {
-        result = (bool)((XERCES_CPP_NAMESPACE::XercesDOMParser const *)arg1)->isCachingGrammarFromParse();
+        (arg1)->setEntityResolver(arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
+    
+    
     
     XSRETURN(argvi);
   fail:
     
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_XercesDOMParser_isUsingCachedGrammarInParse) {
+XS(_wrap_XercesDOMParser_setXMLEntityResolver) {
   {
     XERCES_CPP_NAMESPACE::XercesDOMParser *arg1 = (XERCES_CPP_NAMESPACE::XercesDOMParser *) 0 ;
-    bool result;
+    XERCES_CPP_NAMESPACE::XMLEntityResolver *arg2 = (XERCES_CPP_NAMESPACE::XMLEntityResolver *) (XERCES_CPP_NAMESPACE::XMLEntityResolver *)0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
+    void *argp2 = 0 ;
+    int res2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: XercesDOMParser_isUsingCachedGrammarInParse(self);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: XercesDOMParser_setXMLEntityResolver(self,handler);");
     }
     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_isUsingCachedGrammarInParse" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_setXMLEntityResolver" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
     }
     arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::XercesDOMParser * >(argp1);
+    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLEntityResolver, 0 |  0 );
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "XercesDOMParser_setXMLEntityResolver" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::XMLEntityResolver *const""'"); 
+    }
+    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::XMLEntityResolver * >(argp2);
     {
       try 
       {
-        result = (bool)((XERCES_CPP_NAMESPACE::XercesDOMParser const *)arg1)->isUsingCachedGrammarInParse();
+        (arg1)->setXMLEntityResolver(arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
+    
+    
     
     XSRETURN(argvi);
   fail:
     
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_XercesDOMParser_getGrammar) {
+XS(_wrap_XercesDOMParser_cacheGrammarFromParse) {
   {
     XERCES_CPP_NAMESPACE::XercesDOMParser *arg1 = (XERCES_CPP_NAMESPACE::XercesDOMParser *) 0 ;
-    XMLCh *arg2 = (XMLCh *) (XMLCh *)0 ;
-    XERCES_CPP_NAMESPACE::Grammar *result = 0 ;
+    bool arg2 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
+    bool val2 ;
+    int ecode2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: XercesDOMParser_getGrammar(self,nameSpaceKey);");
+      SWIG_croak("Usage: XercesDOMParser_cacheGrammarFromParse(self,newState);");
     }
     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_getGrammar" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_cacheGrammarFromParse" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
     }
     arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::XercesDOMParser * >(argp1);
-    
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"XercesDOMParser_getGrammar");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
-    }
-    
+    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
+    if (!SWIG_IsOK(ecode2)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "XercesDOMParser_cacheGrammarFromParse" "', argument " "2"" of type '" "bool""'");
+    } 
+    arg2 = static_cast< bool >(val2);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::Grammar *)(arg1)->getGrammar((XMLCh const *)arg2);
+        (arg1)->cacheGrammarFromParse(arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__Grammar, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
     
     
-    delete[] arg2;
     
     XSRETURN(argvi);
   fail:
     
     
-    delete[] arg2;
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_XercesDOMParser_getRootGrammar) {
+XS(_wrap_XercesDOMParser_useCachedGrammarInParse) {
   {
     XERCES_CPP_NAMESPACE::XercesDOMParser *arg1 = (XERCES_CPP_NAMESPACE::XercesDOMParser *) 0 ;
-    XERCES_CPP_NAMESPACE::Grammar *result = 0 ;
+    bool arg2 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
+    bool val2 ;
+    int ecode2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: XercesDOMParser_getRootGrammar(self);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: XercesDOMParser_useCachedGrammarInParse(self,newState);");
     }
     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_getRootGrammar" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_useCachedGrammarInParse" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
     }
     arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::XercesDOMParser * >(argp1);
+    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
+    if (!SWIG_IsOK(ecode2)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "XercesDOMParser_useCachedGrammarInParse" "', argument " "2"" of type '" "bool""'");
+    } 
+    arg2 = static_cast< bool >(val2);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::Grammar *)(arg1)->getRootGrammar();
+        (arg1)->useCachedGrammarInParse(arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__Grammar, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
+    
+    
     
     XSRETURN(argvi);
   fail:
     
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_XercesDOMParser_getURIText) {
+XS(_wrap_XercesDOMParser_setIgnoreCachedDTD) {
   {
     XERCES_CPP_NAMESPACE::XercesDOMParser *arg1 = (XERCES_CPP_NAMESPACE::XercesDOMParser *) 0 ;
-    unsigned int arg2 ;
-    XMLCh *result = 0 ;
+    bool arg2 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    unsigned int val2 ;
+    bool val2 ;
     int ecode2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: XercesDOMParser_getURIText(self,uriId);");
+      SWIG_croak("Usage: XercesDOMParser_setIgnoreCachedDTD(self,newValue);");
     }
     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_getURIText" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_setIgnoreCachedDTD" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
     }
     arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::XercesDOMParser * >(argp1);
-    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
+    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
     if (!SWIG_IsOK(ecode2)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "XercesDOMParser_getURIText" "', argument " "2"" of type '" "unsigned int""'");
+      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "XercesDOMParser_setIgnoreCachedDTD" "', argument " "2"" of type '" "bool""'");
     } 
-    arg2 = static_cast< unsigned int >(val2);
+    arg2 = static_cast< bool >(val2);
     {
       try 
       {
-        result = (XMLCh *)((XERCES_CPP_NAMESPACE::XercesDOMParser const *)arg1)->getURIText(arg2);
+        (arg1)->setIgnoreCachedDTD(arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
     
-    ST(argvi) = XMLString2Perl(result);
-    ++argvi;
-    
     
     
     XSRETURN(argvi);
@@ -55564,31 +58238,30 @@ XS(_wrap_XercesDOMParser_getURIText) {
 }
 
 
-XS(_wrap_XercesDOMParser_getSrcOffset) {
+XS(_wrap_XercesDOMParser_resetDocumentPool) {
   {
     XERCES_CPP_NAMESPACE::XercesDOMParser *arg1 = (XERCES_CPP_NAMESPACE::XercesDOMParser *) 0 ;
-    unsigned int result;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: XercesDOMParser_getSrcOffset(self);");
+      SWIG_croak("Usage: XercesDOMParser_resetDocumentPool(self);");
     }
     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_getSrcOffset" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_resetDocumentPool" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
     }
     arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::XercesDOMParser * >(argp1);
     {
       try 
       {
-        result = (unsigned int)((XERCES_CPP_NAMESPACE::XercesDOMParser const *)arg1)->getSrcOffset();
+        (arg1)->resetDocumentPool();
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
+    
     
     XSRETURN(argvi);
   fail:
@@ -55598,31 +58271,171 @@ XS(_wrap_XercesDOMParser_getSrcOffset) {
 }
 
 
-XS(_wrap_XercesDOMParser_getIgnoreCachedDTD) {
+XS(_wrap_XercesDOMParser_error) {
+  {
+    XERCES_CPP_NAMESPACE::XercesDOMParser *arg1 = (XERCES_CPP_NAMESPACE::XercesDOMParser *) 0 ;
+    unsigned int arg2 ;
+    XMLCh *arg3 = (XMLCh *) (XMLCh *)0 ;
+    XMLErrorReporter::ErrTypes arg4 ;
+    XMLCh *arg5 = (XMLCh *) (XMLCh *)0 ;
+    XMLCh *arg6 = (XMLCh *) (XMLCh *)0 ;
+    XMLCh *arg7 = (XMLCh *) (XMLCh *)0 ;
+    XMLSSize_t arg8 ;
+    XMLSSize_t arg9 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    unsigned int val2 ;
+    int ecode2 = 0 ;
+    void *argp4 ;
+    int res4 = 0 ;
+    size_t val8 ;
+    int ecode8 = 0 ;
+    size_t val9 ;
+    int ecode9 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 9) || (items > 9)) {
+      SWIG_croak("Usage: XercesDOMParser_error(self,errCode,msgDomain,errType,errorText,systemId,publicId,lineNum,colNum);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_error" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
+    }
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::XercesDOMParser * >(argp1);
+    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
+    if (!SWIG_IsOK(ecode2)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "XercesDOMParser_error" "', argument " "2"" of type '" "unsigned int""'");
+    } 
+    arg2 = static_cast< unsigned int >(val2);
+    
+    if (ST(2) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",3,"XercesDOMParser_error");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg3 = Perl2XMLString(ST(2));
+    }
+    
+    {
+      res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_XMLErrorReporter__ErrTypes,  0 );
+      if (!SWIG_IsOK(res4)) {
+        SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "XercesDOMParser_error" "', argument " "4"" of type '" "XMLErrorReporter::ErrTypes const""'"); 
+      }  
+      if (!argp4) {
+        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "XercesDOMParser_error" "', argument " "4"" of type '" "XMLErrorReporter::ErrTypes const""'");
+      } else {
+        arg4 = *(reinterpret_cast< XMLErrorReporter::ErrTypes * >(argp4));
+      }
+    }
+    
+    if (ST(4) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",5,"XercesDOMParser_error");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg5 = Perl2XMLString(ST(4));
+    }
+    
+    
+    if (ST(5) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",6,"XercesDOMParser_error");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg6 = Perl2XMLString(ST(5));
+    }
+    
+    
+    if (ST(6) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",7,"XercesDOMParser_error");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg7 = Perl2XMLString(ST(6));
+    }
+    
+    ecode8 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(7), &val8);
+    if (!SWIG_IsOK(ecode8)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "XercesDOMParser_error" "', argument " "8"" of type '" "XMLSSize_t""'");
+    } 
+    arg8 = static_cast< XMLSSize_t >(val8);
+    ecode9 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(8), &val9);
+    if (!SWIG_IsOK(ecode9)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "XercesDOMParser_error" "', argument " "9"" of type '" "XMLSSize_t""'");
+    } 
+    arg9 = static_cast< XMLSSize_t >(val9);
+    {
+      try 
+      {
+        (arg1)->error(arg2,(XMLCh const *)arg3,arg4,(XMLCh const *)arg5,(XMLCh const *)arg6,(XMLCh const *)arg7,arg8,arg9);
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    
+    
+    
+    
+    delete[] arg3;
+    
+    
+    delete[] arg5;
+    
+    
+    delete[] arg6;
+    
+    
+    delete[] arg7;
+    
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    
+    delete[] arg3;
+    
+    
+    delete[] arg5;
+    
+    
+    delete[] arg6;
+    
+    
+    delete[] arg7;
+    
+    
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_XercesDOMParser_resetErrors) {
   {
     XERCES_CPP_NAMESPACE::XercesDOMParser *arg1 = (XERCES_CPP_NAMESPACE::XercesDOMParser *) 0 ;
-    bool result;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: XercesDOMParser_getIgnoreCachedDTD(self);");
+      SWIG_croak("Usage: XercesDOMParser_resetErrors(self);");
     }
     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_getIgnoreCachedDTD" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser const *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_resetErrors" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
     }
     arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::XercesDOMParser * >(argp1);
     {
       try 
       {
-        result = (bool)((XERCES_CPP_NAMESPACE::XercesDOMParser const *)arg1)->getIgnoreCachedDTD();
+        (arg1)->resetErrors();
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
+    
     
     XSRETURN(argvi);
   fail:
@@ -55632,37 +58445,59 @@ XS(_wrap_XercesDOMParser_getIgnoreCachedDTD) {
 }
 
 
-XS(_wrap_XercesDOMParser_setErrorHandler) {
+XS(_wrap_XercesDOMParser_loadGrammar__SWIG_0) {
   {
     XERCES_CPP_NAMESPACE::XercesDOMParser *arg1 = (XERCES_CPP_NAMESPACE::XercesDOMParser *) 0 ;
-    XERCES_CPP_NAMESPACE::ErrorHandler *arg2 = (XERCES_CPP_NAMESPACE::ErrorHandler *) (XERCES_CPP_NAMESPACE::ErrorHandler *)0 ;
+    XERCES_CPP_NAMESPACE::InputSource *arg2 = 0 ;
+    short arg3 ;
+    bool arg4 ;
+    XERCES_CPP_NAMESPACE::Grammar *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    void *argp2 = 0 ;
+    void *argp2 ;
     int res2 = 0 ;
+    short val3 ;
+    int ecode3 = 0 ;
+    bool val4 ;
+    int ecode4 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: XercesDOMParser_setErrorHandler(self,handler);");
+    if ((items < 4) || (items > 4)) {
+      SWIG_croak("Usage: XercesDOMParser_loadGrammar(self,source,grammarType,toCache);");
     }
     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_setErrorHandler" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_loadGrammar" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
     }
     arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::XercesDOMParser * >(argp1);
-    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__ErrorHandler, 0 |  0 );
+    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_XERCES_CPP_NAMESPACE__InputSource,  0 );
     if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "XercesDOMParser_setErrorHandler" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::ErrorHandler *const""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "XercesDOMParser_loadGrammar" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::InputSource const &""'"); 
     }
-    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::ErrorHandler * >(argp2);
+    if (!argp2) {
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "XercesDOMParser_loadGrammar" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::InputSource const &""'"); 
+    }
+    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::InputSource * >(argp2);
+    ecode3 = SWIG_AsVal_short SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
+    if (!SWIG_IsOK(ecode3)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "XercesDOMParser_loadGrammar" "', argument " "3"" of type '" "short""'");
+    } 
+    arg3 = static_cast< short >(val3);
+    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
+    if (!SWIG_IsOK(ecode4)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "XercesDOMParser_loadGrammar" "', argument " "4"" of type '" "bool""'");
+    } 
+    arg4 = static_cast< bool >(val4);
     {
       try 
       {
-        (arg1)->setErrorHandler(arg2);
+        result = (XERCES_CPP_NAMESPACE::Grammar *)(arg1)->loadGrammar((XERCES_CPP_NAMESPACE::InputSource const &)*arg2,arg3,arg4);
       } 
       CATCH_DOM_EXCEPTION
     }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__Grammar, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
+    
     
     
     
@@ -55670,42 +58505,57 @@ XS(_wrap_XercesDOMParser_setErrorHandler) {
   fail:
     
     
+    
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_XercesDOMParser_setEntityResolver) {
+XS(_wrap_XercesDOMParser_loadGrammar__SWIG_1) {
   {
     XERCES_CPP_NAMESPACE::XercesDOMParser *arg1 = (XERCES_CPP_NAMESPACE::XercesDOMParser *) 0 ;
-    XERCES_CPP_NAMESPACE::EntityResolver *arg2 = (XERCES_CPP_NAMESPACE::EntityResolver *) (XERCES_CPP_NAMESPACE::EntityResolver *)0 ;
+    XERCES_CPP_NAMESPACE::InputSource *arg2 = 0 ;
+    short arg3 ;
+    XERCES_CPP_NAMESPACE::Grammar *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    void *argp2 = 0 ;
+    void *argp2 ;
     int res2 = 0 ;
+    short val3 ;
+    int ecode3 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: XercesDOMParser_setEntityResolver(self,handler);");
+    if ((items < 3) || (items > 3)) {
+      SWIG_croak("Usage: XercesDOMParser_loadGrammar(self,source,grammarType);");
     }
     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_setEntityResolver" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_loadGrammar" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
     }
     arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::XercesDOMParser * >(argp1);
-    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__EntityResolver, 0 |  0 );
+    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_XERCES_CPP_NAMESPACE__InputSource,  0 );
     if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "XercesDOMParser_setEntityResolver" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::EntityResolver *const""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "XercesDOMParser_loadGrammar" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::InputSource const &""'"); 
     }
-    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::EntityResolver * >(argp2);
+    if (!argp2) {
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "XercesDOMParser_loadGrammar" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::InputSource const &""'"); 
+    }
+    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::InputSource * >(argp2);
+    ecode3 = SWIG_AsVal_short SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
+    if (!SWIG_IsOK(ecode3)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "XercesDOMParser_loadGrammar" "', argument " "3"" of type '" "short""'");
+    } 
+    arg3 = static_cast< short >(val3);
     {
       try 
       {
-        (arg1)->setEntityResolver(arg2);
+        result = (XERCES_CPP_NAMESPACE::Grammar *)(arg1)->loadGrammar((XERCES_CPP_NAMESPACE::InputSource const &)*arg2,arg3);
       } 
       CATCH_DOM_EXCEPTION
     }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__Grammar, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
     
     
     
@@ -55713,42 +58563,66 @@ XS(_wrap_XercesDOMParser_setEntityResolver) {
   fail:
     
     
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_XercesDOMParser_setXMLEntityResolver) {
+XS(_wrap_XercesDOMParser_loadGrammar__SWIG_2) {
   {
     XERCES_CPP_NAMESPACE::XercesDOMParser *arg1 = (XERCES_CPP_NAMESPACE::XercesDOMParser *) 0 ;
-    XERCES_CPP_NAMESPACE::XMLEntityResolver *arg2 = (XERCES_CPP_NAMESPACE::XMLEntityResolver *) (XERCES_CPP_NAMESPACE::XMLEntityResolver *)0 ;
+    XMLCh *arg2 = (XMLCh *) (XMLCh *)0 ;
+    short arg3 ;
+    bool arg4 ;
+    XERCES_CPP_NAMESPACE::Grammar *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    void *argp2 = 0 ;
-    int res2 = 0 ;
+    short val3 ;
+    int ecode3 = 0 ;
+    bool val4 ;
+    int ecode4 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: XercesDOMParser_setXMLEntityResolver(self,handler);");
+    if ((items < 4) || (items > 4)) {
+      SWIG_croak("Usage: XercesDOMParser_loadGrammar(self,systemId,grammarType,toCache);");
     }
     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_setXMLEntityResolver" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_loadGrammar" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
     }
     arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::XercesDOMParser * >(argp1);
-    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLEntityResolver, 0 |  0 );
-    if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "XercesDOMParser_setXMLEntityResolver" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::XMLEntityResolver *const""'"); 
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"XercesDOMParser_loadGrammar");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
     }
-    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::XMLEntityResolver * >(argp2);
+    
+    ecode3 = SWIG_AsVal_short SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
+    if (!SWIG_IsOK(ecode3)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "XercesDOMParser_loadGrammar" "', argument " "3"" of type '" "short""'");
+    } 
+    arg3 = static_cast< short >(val3);
+    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
+    if (!SWIG_IsOK(ecode4)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "XercesDOMParser_loadGrammar" "', argument " "4"" of type '" "bool""'");
+    } 
+    arg4 = static_cast< bool >(val4);
     {
       try 
       {
-        (arg1)->setXMLEntityResolver(arg2);
+        result = (XERCES_CPP_NAMESPACE::Grammar *)(arg1)->loadGrammar((XMLCh const *)arg2,arg3,arg4);
       } 
       CATCH_DOM_EXCEPTION
     }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__Grammar, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
+    
+    
+    delete[] arg2;
     
     
     
@@ -55756,160 +58630,333 @@ XS(_wrap_XercesDOMParser_setXMLEntityResolver) {
   fail:
     
     
+    delete[] arg2;
+    
+    
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_XercesDOMParser_cacheGrammarFromParse) {
+XS(_wrap_XercesDOMParser_loadGrammar__SWIG_3) {
   {
     XERCES_CPP_NAMESPACE::XercesDOMParser *arg1 = (XERCES_CPP_NAMESPACE::XercesDOMParser *) 0 ;
-    bool arg2 ;
+    XMLCh *arg2 = (XMLCh *) (XMLCh *)0 ;
+    short arg3 ;
+    XERCES_CPP_NAMESPACE::Grammar *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    bool val2 ;
-    int ecode2 = 0 ;
+    short val3 ;
+    int ecode3 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: XercesDOMParser_cacheGrammarFromParse(self,newState);");
+    if ((items < 3) || (items > 3)) {
+      SWIG_croak("Usage: XercesDOMParser_loadGrammar(self,systemId,grammarType);");
     }
     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_cacheGrammarFromParse" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_loadGrammar" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
     }
     arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::XercesDOMParser * >(argp1);
-    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
-    if (!SWIG_IsOK(ecode2)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "XercesDOMParser_cacheGrammarFromParse" "', argument " "2"" of type '" "bool""'");
+    
+    if (ST(1) == &PL_sv_undef) {
+      SWIG_Perl_NullRef("perl-string",2,"XercesDOMParser_loadGrammar");
+      goto fail;
+    } else {
+      // we convert *everything* into a string that isn't undef
+      arg2 = Perl2XMLString(ST(1));
+    }
+    
+    ecode3 = SWIG_AsVal_short SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
+    if (!SWIG_IsOK(ecode3)) {
+      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "XercesDOMParser_loadGrammar" "', argument " "3"" of type '" "short""'");
     } 
-    arg2 = static_cast< bool >(val2);
+    arg3 = static_cast< short >(val3);
     {
       try 
       {
-        (arg1)->cacheGrammarFromParse(arg2);
+        result = (XERCES_CPP_NAMESPACE::Grammar *)(arg1)->loadGrammar((XMLCh const *)arg2,arg3);
       } 
       CATCH_DOM_EXCEPTION
     }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__Grammar, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
     
     
+    delete[] arg2;
+    
     
     XSRETURN(argvi);
   fail:
     
     
+    delete[] arg2;
+    
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_XercesDOMParser_useCachedGrammarInParse) {
+XS(_wrap_XercesDOMParser_loadGrammar) {
+  dXSARGS;
+  
   {
-    XERCES_CPP_NAMESPACE::XercesDOMParser *arg1 = (XERCES_CPP_NAMESPACE::XercesDOMParser *) 0 ;
-    bool arg2 ;
-    void *argp1 = 0 ;
-    int res1 = 0 ;
-    bool val2 ;
-    int ecode2 = 0 ;
-    int argvi = 0;
-    dXSARGS;
-    
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: XercesDOMParser_useCachedGrammarInParse(self,newState);");
-    }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0 |  0 );
-    if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_useCachedGrammarInParse" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::XercesDOMParser * >(argp1);
-    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
-    if (!SWIG_IsOK(ecode2)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "XercesDOMParser_useCachedGrammarInParse" "', argument " "2"" of type '" "bool""'");
-    } 
-    arg2 = static_cast< bool >(val2);
-    {
-      try 
+    unsigned long _index = 0;
+    SWIG_TypeRank _rank = 0; 
+    if (items == 3) {
+      SWIG_TypeRank _ranki = 0;
+      SWIG_TypeRank _rankm = 0;
+      SWIG_TypeRank _pi = 1;
+      int _v = 0;
       {
-        (arg1)->useCachedGrammarInParse(arg2);
-      } 
-      CATCH_DOM_EXCEPTION
+        void *vptr = 0;
+        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0);
+        _v = SWIG_CheckState(res);
+      }
+      if (!_v) goto check_1;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        void *vptr = 0;
+        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__InputSource, 0);
+        _v = SWIG_CheckState(res);
+      }
+      if (!_v) goto check_1;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        {
+          int res = SWIG_AsVal_short SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
+          _v = SWIG_CheckState(res);
+        }
+      }
+      if (!_v) goto check_1;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      if (!_index || (_ranki < _rank)) {
+        _rank = _ranki; _index = 1;
+        if (_rank == _rankm) goto dispatch;
+      }
     }
+  check_1:
     
+    if (items == 3) {
+      SWIG_TypeRank _ranki = 0;
+      SWIG_TypeRank _rankm = 0;
+      SWIG_TypeRank _pi = 1;
+      int _v = 0;
+      {
+        void *vptr = 0;
+        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0);
+        _v = SWIG_CheckState(res);
+      }
+      if (!_v) goto check_2;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        {
+          _v = SvOK(ST(1)) ? 1 : 0; 
+        }
+      }
+      if (!_v) goto check_2;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        {
+          int res = SWIG_AsVal_short SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
+          _v = SWIG_CheckState(res);
+        }
+      }
+      if (!_v) goto check_2;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      if (!_index || (_ranki < _rank)) {
+        _rank = _ranki; _index = 2;
+        if (_rank == _rankm) goto dispatch;
+      }
+    }
+  check_2:
     
+    if (items == 4) {
+      SWIG_TypeRank _ranki = 0;
+      SWIG_TypeRank _rankm = 0;
+      SWIG_TypeRank _pi = 1;
+      int _v = 0;
+      {
+        void *vptr = 0;
+        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0);
+        _v = SWIG_CheckState(res);
+      }
+      if (!_v) goto check_3;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        void *vptr = 0;
+        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__InputSource, 0);
+        _v = SWIG_CheckState(res);
+      }
+      if (!_v) goto check_3;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        {
+          int res = SWIG_AsVal_short SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
+          _v = SWIG_CheckState(res);
+        }
+      }
+      if (!_v) goto check_3;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        {
+          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
+          _v = SWIG_CheckState(res);
+        }
+      }
+      if (!_v) goto check_3;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      if (!_index || (_ranki < _rank)) {
+        _rank = _ranki; _index = 3;
+        if (_rank == _rankm) goto dispatch;
+      }
+    }
+  check_3:
     
-    XSRETURN(argvi);
-  fail:
-    
+    if (items == 4) {
+      SWIG_TypeRank _ranki = 0;
+      SWIG_TypeRank _rankm = 0;
+      SWIG_TypeRank _pi = 1;
+      int _v = 0;
+      {
+        void *vptr = 0;
+        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0);
+        _v = SWIG_CheckState(res);
+      }
+      if (!_v) goto check_4;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        {
+          _v = SvOK(ST(1)) ? 1 : 0; 
+        }
+      }
+      if (!_v) goto check_4;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        {
+          int res = SWIG_AsVal_short SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
+          _v = SWIG_CheckState(res);
+        }
+      }
+      if (!_v) goto check_4;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      {
+        {
+          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
+          _v = SWIG_CheckState(res);
+        }
+      }
+      if (!_v) goto check_4;
+      _ranki += _v*_pi;
+      _rankm += _pi;
+      _pi *= SWIG_MAXCASTRANK;
+      if (!_index || (_ranki < _rank)) {
+        _rank = _ranki; _index = 4;
+        if (_rank == _rankm) goto dispatch;
+      }
+    }
+  check_4:
     
-    SWIG_croak_null();
+  dispatch:
+    switch(_index) {
+    case 1:
+      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_XercesDOMParser_loadGrammar__SWIG_1); return;
+    case 2:
+      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_XercesDOMParser_loadGrammar__SWIG_3); return;
+    case 3:
+      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_XercesDOMParser_loadGrammar__SWIG_0); return;
+    case 4:
+      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_XercesDOMParser_loadGrammar__SWIG_2); return;
+    }
   }
+  
+  croak("No matching function for overloaded 'XercesDOMParser_loadGrammar'");
+  XSRETURN(0);
 }
 
 
-XS(_wrap_XercesDOMParser_setIgnoreCachedDTD) {
+XS(_wrap_XercesDOMParser_resetCachedGrammarPool) {
   {
     XERCES_CPP_NAMESPACE::XercesDOMParser *arg1 = (XERCES_CPP_NAMESPACE::XercesDOMParser *) 0 ;
-    bool arg2 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    bool val2 ;
-    int ecode2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: XercesDOMParser_setIgnoreCachedDTD(self,newValue);");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: XercesDOMParser_resetCachedGrammarPool(self);");
     }
     res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_setIgnoreCachedDTD" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_resetCachedGrammarPool" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
     }
     arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::XercesDOMParser * >(argp1);
-    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
-    if (!SWIG_IsOK(ecode2)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "XercesDOMParser_setIgnoreCachedDTD" "', argument " "2"" of type '" "bool""'");
-    } 
-    arg2 = static_cast< bool >(val2);
     {
       try 
       {
-        (arg1)->setIgnoreCachedDTD(arg2);
+        (arg1)->resetCachedGrammarPool();
       } 
       CATCH_DOM_EXCEPTION
     }
     
     
-    
     XSRETURN(argvi);
   fail:
     
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_XercesDOMParser_resetDocumentPool) {
+XS(_wrap_delete_Parser) {
   {
-    XERCES_CPP_NAMESPACE::XercesDOMParser *arg1 = (XERCES_CPP_NAMESPACE::XercesDOMParser *) 0 ;
+    XERCES_CPP_NAMESPACE::Parser *arg1 = (XERCES_CPP_NAMESPACE::Parser *) 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: XercesDOMParser_resetDocumentPool(self);");
+      SWIG_croak("Usage: delete_Parser(self);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Parser, SWIG_POINTER_DISOWN |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_resetDocumentPool" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Parser" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Parser *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::XercesDOMParser * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Parser * >(argp1);
     {
       try 
       {
-        (arg1)->resetDocumentPool();
+        delete arg1;
+        
       } 
       CATCH_DOM_EXCEPTION
     }
@@ -55923,233 +58970,123 @@ XS(_wrap_XercesDOMParser_resetDocumentPool) {
 }
 
 
-XS(_wrap_XercesDOMParser_error) {
+XS(_wrap_Parser_setEntityResolver) {
   {
-    XERCES_CPP_NAMESPACE::XercesDOMParser *arg1 = (XERCES_CPP_NAMESPACE::XercesDOMParser *) 0 ;
-    unsigned int arg2 ;
-    XMLCh *arg3 = (XMLCh *) (XMLCh *)0 ;
-    XMLErrorReporter::ErrTypes arg4 ;
-    XMLCh *arg5 = (XMLCh *) (XMLCh *)0 ;
-    XMLCh *arg6 = (XMLCh *) (XMLCh *)0 ;
-    XMLCh *arg7 = (XMLCh *) (XMLCh *)0 ;
-    XMLSSize_t arg8 ;
-    XMLSSize_t arg9 ;
+    XERCES_CPP_NAMESPACE::Parser *arg1 = (XERCES_CPP_NAMESPACE::Parser *) 0 ;
+    XERCES_CPP_NAMESPACE::EntityResolver *arg2 = (XERCES_CPP_NAMESPACE::EntityResolver *) (XERCES_CPP_NAMESPACE::EntityResolver *)0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    unsigned int val2 ;
-    int ecode2 = 0 ;
-    void *argp4 ;
-    int res4 = 0 ;
-    size_t val8 ;
-    int ecode8 = 0 ;
-    size_t val9 ;
-    int ecode9 = 0 ;
+    void *argp2 = 0 ;
+    int res2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 9) || (items > 9)) {
-      SWIG_croak("Usage: XercesDOMParser_error(self,errCode,msgDomain,errType,errorText,systemId,publicId,lineNum,colNum);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: Parser_setEntityResolver(self,resolver);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Parser, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_error" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::XercesDOMParser * >(argp1);
-    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
-    if (!SWIG_IsOK(ecode2)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "XercesDOMParser_error" "', argument " "2"" of type '" "unsigned int""'");
-    } 
-    arg2 = static_cast< unsigned int >(val2);
-    
-    if (ST(2) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",3,"XercesDOMParser_error");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg3 = Perl2XMLString(ST(2));
-    }
-    
-    {
-      res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_XMLErrorReporter__ErrTypes,  0 );
-      if (!SWIG_IsOK(res4)) {
-        SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "XercesDOMParser_error" "', argument " "4"" of type '" "XMLErrorReporter::ErrTypes const""'"); 
-      }  
-      if (!argp4) {
-        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "XercesDOMParser_error" "', argument " "4"" of type '" "XMLErrorReporter::ErrTypes const""'");
-      } else {
-        arg4 = *(reinterpret_cast< XMLErrorReporter::ErrTypes * >(argp4));
-      }
-    }
-    
-    if (ST(4) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",5,"XercesDOMParser_error");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg5 = Perl2XMLString(ST(4));
-    }
-    
-    
-    if (ST(5) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",6,"XercesDOMParser_error");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg6 = Perl2XMLString(ST(5));
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Parser_setEntityResolver" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Parser *""'"); 
     }
-    
-    
-    if (ST(6) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",7,"XercesDOMParser_error");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg7 = Perl2XMLString(ST(6));
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Parser * >(argp1);
+    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__EntityResolver, 0 |  0 );
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Parser_setEntityResolver" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::EntityResolver *const""'"); 
     }
-    
-    ecode8 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(7), &val8);
-    if (!SWIG_IsOK(ecode8)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "XercesDOMParser_error" "', argument " "8"" of type '" "XMLSSize_t""'");
-    } 
-    arg8 = static_cast< XMLSSize_t >(val8);
-    ecode9 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(8), &val9);
-    if (!SWIG_IsOK(ecode9)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "XercesDOMParser_error" "', argument " "9"" of type '" "XMLSSize_t""'");
-    } 
-    arg9 = static_cast< XMLSSize_t >(val9);
+    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::EntityResolver * >(argp2);
     {
       try 
       {
-        (arg1)->error(arg2,(XMLCh const *)arg3,arg4,(XMLCh const *)arg5,(XMLCh const *)arg6,(XMLCh const *)arg7,arg8,arg9);
+        (arg1)->setEntityResolver(arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
     
     
     
-    
-    delete[] arg3;
-    
-    
-    delete[] arg5;
-    
-    
-    delete[] arg6;
-    
-    
-    delete[] arg7;
-    
-    
-    
     XSRETURN(argvi);
   fail:
     
     
-    
-    delete[] arg3;
-    
-    
-    delete[] arg5;
-    
-    
-    delete[] arg6;
-    
-    
-    delete[] arg7;
-    
-    
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_XercesDOMParser_resetErrors) {
+XS(_wrap_Parser_setDTDHandler) {
   {
-    XERCES_CPP_NAMESPACE::XercesDOMParser *arg1 = (XERCES_CPP_NAMESPACE::XercesDOMParser *) 0 ;
+    XERCES_CPP_NAMESPACE::Parser *arg1 = (XERCES_CPP_NAMESPACE::Parser *) 0 ;
+    XERCES_CPP_NAMESPACE::DTDHandler *arg2 = (XERCES_CPP_NAMESPACE::DTDHandler *) (XERCES_CPP_NAMESPACE::DTDHandler *)0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
+    void *argp2 = 0 ;
+    int res2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: XercesDOMParser_resetErrors(self);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: Parser_setDTDHandler(self,handler);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Parser, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_resetErrors" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Parser_setDTDHandler" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Parser *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::XercesDOMParser * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Parser * >(argp1);
+    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DTDHandler, 0 |  0 );
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Parser_setDTDHandler" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DTDHandler *const""'"); 
+    }
+    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DTDHandler * >(argp2);
     {
       try 
       {
-        (arg1)->resetErrors();
+        (arg1)->setDTDHandler(arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
     
     
+    
     XSRETURN(argvi);
   fail:
     
+    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_XercesDOMParser_loadGrammar__SWIG_0) {
+XS(_wrap_Parser_setDocumentHandler) {
   {
-    XERCES_CPP_NAMESPACE::XercesDOMParser *arg1 = (XERCES_CPP_NAMESPACE::XercesDOMParser *) 0 ;
-    XERCES_CPP_NAMESPACE::InputSource *arg2 = 0 ;
-    short arg3 ;
-    bool arg4 ;
-    XERCES_CPP_NAMESPACE::Grammar *result = 0 ;
+    XERCES_CPP_NAMESPACE::Parser *arg1 = (XERCES_CPP_NAMESPACE::Parser *) 0 ;
+    XERCES_CPP_NAMESPACE::DocumentHandler *arg2 = (XERCES_CPP_NAMESPACE::DocumentHandler *) (XERCES_CPP_NAMESPACE::DocumentHandler *)0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    void *argp2 ;
+    void *argp2 = 0 ;
     int res2 = 0 ;
-    short val3 ;
-    int ecode3 = 0 ;
-    bool val4 ;
-    int ecode4 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 4) || (items > 4)) {
-      SWIG_croak("Usage: XercesDOMParser_loadGrammar(self,source,grammarType,toCache);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: Parser_setDocumentHandler(self,handler);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Parser, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_loadGrammar" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Parser_setDocumentHandler" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Parser *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::XercesDOMParser * >(argp1);
-    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_XERCES_CPP_NAMESPACE__InputSource,  0 );
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Parser * >(argp1);
+    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__DocumentHandler, 0 |  0 );
     if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "XercesDOMParser_loadGrammar" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::InputSource const &""'"); 
-    }
-    if (!argp2) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "XercesDOMParser_loadGrammar" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::InputSource const &""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Parser_setDocumentHandler" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::DocumentHandler *const""'"); 
     }
-    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::InputSource * >(argp2);
-    ecode3 = SWIG_AsVal_short SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
-    if (!SWIG_IsOK(ecode3)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "XercesDOMParser_loadGrammar" "', argument " "3"" of type '" "short""'");
-    } 
-    arg3 = static_cast< short >(val3);
-    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
-    if (!SWIG_IsOK(ecode4)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "XercesDOMParser_loadGrammar" "', argument " "4"" of type '" "bool""'");
-    } 
-    arg4 = static_cast< bool >(val4);
+    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::DocumentHandler * >(argp2);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::Grammar *)(arg1)->loadGrammar((XERCES_CPP_NAMESPACE::InputSource const &)*arg2,arg3,arg4);
+        (arg1)->setDocumentHandler(arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__Grammar, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
-    
     
     
     
@@ -56157,57 +59094,42 @@ XS(_wrap_XercesDOMParser_loadGrammar__SWIG_0) {
   fail:
     
     
-    
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_XercesDOMParser_loadGrammar__SWIG_1) {
+XS(_wrap_Parser_setErrorHandler) {
   {
-    XERCES_CPP_NAMESPACE::XercesDOMParser *arg1 = (XERCES_CPP_NAMESPACE::XercesDOMParser *) 0 ;
-    XERCES_CPP_NAMESPACE::InputSource *arg2 = 0 ;
-    short arg3 ;
-    XERCES_CPP_NAMESPACE::Grammar *result = 0 ;
+    XERCES_CPP_NAMESPACE::Parser *arg1 = (XERCES_CPP_NAMESPACE::Parser *) 0 ;
+    XERCES_CPP_NAMESPACE::ErrorHandler *arg2 = (XERCES_CPP_NAMESPACE::ErrorHandler *) (XERCES_CPP_NAMESPACE::ErrorHandler *)0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    void *argp2 ;
+    void *argp2 = 0 ;
     int res2 = 0 ;
-    short val3 ;
-    int ecode3 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 3) || (items > 3)) {
-      SWIG_croak("Usage: XercesDOMParser_loadGrammar(self,source,grammarType);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: Parser_setErrorHandler(self,handler);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Parser, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_loadGrammar" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Parser_setErrorHandler" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Parser *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::XercesDOMParser * >(argp1);
-    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_XERCES_CPP_NAMESPACE__InputSource,  0 );
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Parser * >(argp1);
+    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_XERCES_CPP_NAMESPACE__ErrorHandler, 0 |  0 );
     if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "XercesDOMParser_loadGrammar" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::InputSource const &""'"); 
-    }
-    if (!argp2) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "XercesDOMParser_loadGrammar" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::InputSource const &""'"); 
-    }
-    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::InputSource * >(argp2);
-    ecode3 = SWIG_AsVal_short SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
-    if (!SWIG_IsOK(ecode3)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "XercesDOMParser_loadGrammar" "', argument " "3"" of type '" "short""'");
-    } 
-    arg3 = static_cast< short >(val3);
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Parser_setErrorHandler" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::ErrorHandler *const""'"); 
+    }
+    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::ErrorHandler * >(argp2);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::Grammar *)(arg1)->loadGrammar((XERCES_CPP_NAMESPACE::InputSource const &)*arg2,arg3);
+        (arg1)->setErrorHandler(arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__Grammar, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
     
     
     
@@ -56215,66 +59137,45 @@ XS(_wrap_XercesDOMParser_loadGrammar__SWIG_1) {
   fail:
     
     
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_XercesDOMParser_loadGrammar__SWIG_2) {
+XS(_wrap_Parser_parse__SWIG_0) {
   {
-    XERCES_CPP_NAMESPACE::XercesDOMParser *arg1 = (XERCES_CPP_NAMESPACE::XercesDOMParser *) 0 ;
-    XMLCh *arg2 = (XMLCh *) (XMLCh *)0 ;
-    short arg3 ;
-    bool arg4 ;
-    XERCES_CPP_NAMESPACE::Grammar *result = 0 ;
+    XERCES_CPP_NAMESPACE::Parser *arg1 = (XERCES_CPP_NAMESPACE::Parser *) 0 ;
+    XERCES_CPP_NAMESPACE::InputSource *arg2 = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    short val3 ;
-    int ecode3 = 0 ;
-    bool val4 ;
-    int ecode4 = 0 ;
+    void *argp2 ;
+    int res2 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 4) || (items > 4)) {
-      SWIG_croak("Usage: XercesDOMParser_loadGrammar(self,systemId,grammarType,toCache);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: Parser_parse(self,source);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Parser, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_loadGrammar" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Parser_parse" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Parser *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::XercesDOMParser * >(argp1);
-    
-    if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"XercesDOMParser_loadGrammar");
-      goto fail;
-    } else {
-      // we convert *everything* into a string that isn't undef
-      arg2 = Perl2XMLString(ST(1));
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Parser * >(argp1);
+    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_XERCES_CPP_NAMESPACE__InputSource,  0 );
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Parser_parse" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::InputSource const &""'"); 
     }
-    
-    ecode3 = SWIG_AsVal_short SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
-    if (!SWIG_IsOK(ecode3)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "XercesDOMParser_loadGrammar" "', argument " "3"" of type '" "short""'");
-    } 
-    arg3 = static_cast< short >(val3);
-    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
-    if (!SWIG_IsOK(ecode4)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "XercesDOMParser_loadGrammar" "', argument " "4"" of type '" "bool""'");
-    } 
-    arg4 = static_cast< bool >(val4);
+    if (!argp2) {
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Parser_parse" "', argument " "2"" of type '" "XERCES_CPP_NAMESPACE::InputSource const &""'"); 
+    }
+    arg2 = reinterpret_cast< XERCES_CPP_NAMESPACE::InputSource * >(argp2);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::Grammar *)(arg1)->loadGrammar((XMLCh const *)arg2,arg3,arg4);
+        (arg1)->parse((XERCES_CPP_NAMESPACE::InputSource const &)*arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__Grammar, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
-    
-    
-    delete[] arg2;
     
     
     
@@ -56282,62 +59183,48 @@ XS(_wrap_XercesDOMParser_loadGrammar__SWIG_2) {
   fail:
     
     
-    delete[] arg2;
-    
-    
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_XercesDOMParser_loadGrammar__SWIG_3) {
+XS(_wrap_Parser_parse__SWIG_1) {
   {
-    XERCES_CPP_NAMESPACE::XercesDOMParser *arg1 = (XERCES_CPP_NAMESPACE::XercesDOMParser *) 0 ;
+    XERCES_CPP_NAMESPACE::Parser *arg1 = (XERCES_CPP_NAMESPACE::Parser *) 0 ;
     XMLCh *arg2 = (XMLCh *) (XMLCh *)0 ;
-    short arg3 ;
-    XERCES_CPP_NAMESPACE::Grammar *result = 0 ;
     void *argp1 = 0 ;
     int res1 = 0 ;
-    short val3 ;
-    int ecode3 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 3) || (items > 3)) {
-      SWIG_croak("Usage: XercesDOMParser_loadGrammar(self,systemId,grammarType);");
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: Parser_parse(self,systemId);");
     }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0 |  0 );
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__Parser, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_loadGrammar" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Parser_parse" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::Parser *""'"); 
     }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::XercesDOMParser * >(argp1);
+    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::Parser * >(argp1);
     
     if (ST(1) == &PL_sv_undef) {
-      SWIG_Perl_NullRef("perl-string",2,"XercesDOMParser_loadGrammar");
+      SWIG_Perl_NullRef("perl-string",2,"Parser_parse");
       goto fail;
     } else {
       // we convert *everything* into a string that isn't undef
       arg2 = Perl2XMLString(ST(1));
     }
     
-    ecode3 = SWIG_AsVal_short SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
-    if (!SWIG_IsOK(ecode3)) {
-      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "XercesDOMParser_loadGrammar" "', argument " "3"" of type '" "short""'");
-    } 
-    arg3 = static_cast< short >(val3);
     {
       try 
       {
-        result = (XERCES_CPP_NAMESPACE::Grammar *)(arg1)->loadGrammar((XMLCh const *)arg2,arg3);
+        (arg1)->parse((XMLCh const *)arg2);
       } 
       CATCH_DOM_EXCEPTION
     }
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIG_TypeDynamicCast(SWIGTYPE_p_XERCES_CPP_NAMESPACE__Grammar, SWIG_as_voidptrptr(&result)), 0 | SWIG_SHADOW); argvi++ ;
     
     
-    delete[] arg2;
     
+    delete[] arg2;
     
     XSRETURN(argvi);
   fail:
@@ -56345,26 +59232,25 @@ XS(_wrap_XercesDOMParser_loadGrammar__SWIG_3) {
     
     delete[] arg2;
     
-    
     SWIG_croak_null();
   }
 }
 
 
-XS(_wrap_XercesDOMParser_loadGrammar) {
+XS(_wrap_Parser_parse) {
   dXSARGS;
   
   {
     unsigned long _index = 0;
     SWIG_TypeRank _rank = 0; 
-    if (items == 3) {
+    if (items == 2) {
       SWIG_TypeRank _ranki = 0;
       SWIG_TypeRank _rankm = 0;
       SWIG_TypeRank _pi = 1;
       int _v = 0;
       {
         void *vptr = 0;
-        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0);
+        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__Parser, 0);
         _v = SWIG_CheckState(res);
       }
       if (!_v) goto check_1;
@@ -56380,16 +59266,6 @@ XS(_wrap_XercesDOMParser_loadGrammar) {
       _ranki += _v*_pi;
       _rankm += _pi;
       _pi *= SWIG_MAXCASTRANK;
-      {
-        {
-          int res = SWIG_AsVal_short SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
-          _v = SWIG_CheckState(res);
-        }
-      }
-      if (!_v) goto check_1;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
       if (!_index || (_ranki < _rank)) {
         _rank = _ranki; _index = 1;
         if (_rank == _rankm) goto dispatch;
@@ -56397,14 +59273,14 @@ XS(_wrap_XercesDOMParser_loadGrammar) {
     }
   check_1:
     
-    if (items == 3) {
+    if (items == 2) {
       SWIG_TypeRank _ranki = 0;
       SWIG_TypeRank _rankm = 0;
       SWIG_TypeRank _pi = 1;
       int _v = 0;
       {
         void *vptr = 0;
-        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0);
+        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__Parser, 0);
         _v = SWIG_CheckState(res);
       }
       if (!_v) goto check_2;
@@ -56420,16 +59296,6 @@ XS(_wrap_XercesDOMParser_loadGrammar) {
       _ranki += _v*_pi;
       _rankm += _pi;
       _pi *= SWIG_MAXCASTRANK;
-      {
-        {
-          int res = SWIG_AsVal_short SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
-          _v = SWIG_CheckState(res);
-        }
-      }
-      if (!_v) goto check_2;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
       if (!_index || (_ranki < _rank)) {
         _rank = _ranki; _index = 2;
         if (_rank == _rankm) goto dispatch;
@@ -56437,157 +59303,20 @@ XS(_wrap_XercesDOMParser_loadGrammar) {
     }
   check_2:
     
-    if (items == 4) {
-      SWIG_TypeRank _ranki = 0;
-      SWIG_TypeRank _rankm = 0;
-      SWIG_TypeRank _pi = 1;
-      int _v = 0;
-      {
-        void *vptr = 0;
-        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0);
-        _v = SWIG_CheckState(res);
-      }
-      if (!_v) goto check_3;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      {
-        void *vptr = 0;
-        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__InputSource, 0);
-        _v = SWIG_CheckState(res);
-      }
-      if (!_v) goto check_3;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      {
-        {
-          int res = SWIG_AsVal_short SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
-          _v = SWIG_CheckState(res);
-        }
-      }
-      if (!_v) goto check_3;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      {
-        {
-          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
-          _v = SWIG_CheckState(res);
-        }
-      }
-      if (!_v) goto check_3;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      if (!_index || (_ranki < _rank)) {
-        _rank = _ranki; _index = 3;
-        if (_rank == _rankm) goto dispatch;
-      }
-    }
-  check_3:
-    
-    if (items == 4) {
-      SWIG_TypeRank _ranki = 0;
-      SWIG_TypeRank _rankm = 0;
-      SWIG_TypeRank _pi = 1;
-      int _v = 0;
-      {
-        void *vptr = 0;
-        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0);
-        _v = SWIG_CheckState(res);
-      }
-      if (!_v) goto check_4;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      {
-        {
-          _v = SvOK(ST(1)) ? 1 : 0; 
-        }
-      }
-      if (!_v) goto check_4;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      {
-        {
-          int res = SWIG_AsVal_short SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
-          _v = SWIG_CheckState(res);
-        }
-      }
-      if (!_v) goto check_4;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      {
-        {
-          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
-          _v = SWIG_CheckState(res);
-        }
-      }
-      if (!_v) goto check_4;
-      _ranki += _v*_pi;
-      _rankm += _pi;
-      _pi *= SWIG_MAXCASTRANK;
-      if (!_index || (_ranki < _rank)) {
-        _rank = _ranki; _index = 4;
-        if (_rank == _rankm) goto dispatch;
-      }
-    }
-  check_4:
-    
   dispatch:
     switch(_index) {
     case 1:
-      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_XercesDOMParser_loadGrammar__SWIG_1); return;
+      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_Parser_parse__SWIG_0); return;
     case 2:
-      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_XercesDOMParser_loadGrammar__SWIG_3); return;
-    case 3:
-      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_XercesDOMParser_loadGrammar__SWIG_0); return;
-    case 4:
-      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_XercesDOMParser_loadGrammar__SWIG_2); return;
+      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_Parser_parse__SWIG_1); return;
     }
   }
   
-  croak("No matching function for overloaded 'XercesDOMParser_loadGrammar'");
+  croak("No matching function for overloaded 'Parser_parse'");
   XSRETURN(0);
 }
 
 
-XS(_wrap_XercesDOMParser_resetCachedGrammarPool) {
-  {
-    XERCES_CPP_NAMESPACE::XercesDOMParser *arg1 = (XERCES_CPP_NAMESPACE::XercesDOMParser *) 0 ;
-    void *argp1 = 0 ;
-    int res1 = 0 ;
-    int argvi = 0;
-    dXSARGS;
-    
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: XercesDOMParser_resetCachedGrammarPool(self);");
-    }
-    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, 0 |  0 );
-    if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "XercesDOMParser_resetCachedGrammarPool" "', argument " "1"" of type '" "XERCES_CPP_NAMESPACE::XercesDOMParser *""'"); 
-    }
-    arg1 = reinterpret_cast< XERCES_CPP_NAMESPACE::XercesDOMParser * >(argp1);
-    {
-      try 
-      {
-        (arg1)->resetCachedGrammarPool();
-      } 
-      CATCH_DOM_EXCEPTION
-    }
-    
-    
-    XSRETURN(argvi);
-  fail:
-    
-    SWIG_croak_null();
-  }
-}
-
-
 XS(_wrap_new_SAXParser__SWIG_0) {
   {
     XERCES_CPP_NAMESPACE::XMLValidator *arg1 = (XERCES_CPP_NAMESPACE::XMLValidator *) (XERCES_CPP_NAMESPACE::XMLValidator *)0 ;
@@ -59174,7 +61903,7 @@ XS(_wrap_SAXParser_parseFirst__SWIG_1) {
     if (!SWIG_IsOK(res2)) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SAXParser_parseFirst" "', argument " "2"" of type '" "char const *const""'");
     }
-    arg2 = buf2;
+    arg2 = reinterpret_cast< char * >(buf2);
     res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLPScanToken,  0 );
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "SAXParser_parseFirst" "', argument " "3"" of type '" "XERCES_CPP_NAMESPACE::XMLPScanToken &""'"); 
@@ -61944,7 +64673,7 @@ XS(_wrap_SAX2XMLReader_parseFirst__SWIG_1) {
     if (!SWIG_IsOK(res2)) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SAX2XMLReader_parseFirst" "', argument " "2"" of type '" "char const *const""'");
     }
-    arg2 = buf2;
+    arg2 = reinterpret_cast< char * >(buf2);
     res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLPScanToken,  0 );
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "SAX2XMLReader_parseFirst" "', argument " "3"" of type '" "XERCES_CPP_NAMESPACE::XMLPScanToken &""'"); 
@@ -62972,6 +65701,30 @@ XS(_wrap_XMLReaderFactory_createXMLReader__SWIG_1) {
 }
 
 
+XS(_wrap_XMLReaderFactory_createXMLReader__SWIG_2) {
+  {
+    XERCES_CPP_NAMESPACE::SAX2XMLReader *result = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 0) || (items > 0)) {
+      SWIG_croak("Usage: XMLReaderFactory_createXMLReader();");
+    }
+    {
+      try 
+      {
+        result = (XERCES_CPP_NAMESPACE::SAX2XMLReader *)XERCES_CPP_NAMESPACE::XMLReaderFactory::createXMLReader();
+      } 
+      CATCH_DOM_EXCEPTION
+    }
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_XERCES_CPP_NAMESPACE__SAX2XMLReader, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
+    XSRETURN(argvi);
+  fail:
+    SWIG_croak_null();
+  }
+}
+
+
 XS(_wrap_XMLReaderFactory_createXMLReader) {
   dXSARGS;
   
@@ -63035,12 +65788,22 @@ XS(_wrap_XMLReaderFactory_createXMLReader) {
     }
   check_2:
     
+    if (items == 0) {
+      SWIG_TypeRank _ranki = 0;
+      SWIG_TypeRank _rankm = 0;
+      if (!_index || (_ranki < _rank)) {
+        _rank = _ranki; _index = 3;
+        if (_rank == _rankm) goto dispatch;
+      }
+    }
   dispatch:
     switch(_index) {
     case 1:
       ++PL_markstack_ptr; SWIG_CALLXS(_wrap_XMLReaderFactory_createXMLReader__SWIG_0); return;
     case 2:
       ++PL_markstack_ptr; SWIG_CALLXS(_wrap_XMLReaderFactory_createXMLReader__SWIG_1); return;
+    case 3:
+      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_XMLReaderFactory_createXMLReader__SWIG_2); return;
     }
   }
   
@@ -64991,21 +67754,6 @@ static void *_p_XERCES_CPP_NAMESPACE__DTDAttDefListTo_p_XERCES_CPP_NAMESPACE__XM
 static void *_p_XERCES_CPP_NAMESPACE__SchemaAttDefListTo_p_XERCES_CPP_NAMESPACE__XMLAttDefList(void *x) {
     return (void *)((XERCES_CPP_NAMESPACE::XMLAttDefList *)  ((XERCES_CPP_NAMESPACE::SchemaAttDefList *) x));
 }
-static void *_p_PerlErrorCallbackHandlerTo_p_PerlCallbackHandler(void *x) {
-    return (void *)((PerlCallbackHandler *)  ((PerlErrorCallbackHandler *) x));
-}
-static void *_p_PerlEntityResolverHandlerTo_p_PerlCallbackHandler(void *x) {
-    return (void *)((PerlCallbackHandler *)  ((PerlEntityResolverHandler *) x));
-}
-static void *_p_PerlNodeFilterCallbackHandlerTo_p_PerlCallbackHandler(void *x) {
-    return (void *)((PerlCallbackHandler *)  ((PerlNodeFilterCallbackHandler *) x));
-}
-static void *_p_PerlDocumentCallbackHandlerTo_p_PerlCallbackHandler(void *x) {
-    return (void *)((PerlCallbackHandler *)  ((PerlDocumentCallbackHandler *) x));
-}
-static void *_p_PerlContentCallbackHandlerTo_p_PerlCallbackHandler(void *x) {
-    return (void *)((PerlCallbackHandler *)  ((PerlContentCallbackHandler *) x));
-}
 static void *_p_XERCES_CPP_NAMESPACE__AbstractDOMParserTo_p_XERCES_CPP_NAMESPACE__PSVIHandler(void *x) {
     return (void *)((XERCES_CPP_NAMESPACE::PSVIHandler *)  ((XERCES_CPP_NAMESPACE::AbstractDOMParser *) x));
 }
@@ -65045,6 +67793,21 @@ static void *_p_XERCES_CPP_NAMESPACE__HandlerBaseTo_p_XERCES_CPP_NAMESPACE__DTDH
 static void *_p_XERCES_CPP_NAMESPACE__DefaultHandlerTo_p_XERCES_CPP_NAMESPACE__DTDHandler(void *x) {
     return (void *)((XERCES_CPP_NAMESPACE::DTDHandler *)  ((XERCES_CPP_NAMESPACE::DefaultHandler *) x));
 }
+static void *_p_PerlErrorCallbackHandlerTo_p_PerlCallbackHandler(void *x) {
+    return (void *)((PerlCallbackHandler *)  ((PerlErrorCallbackHandler *) x));
+}
+static void *_p_PerlEntityResolverHandlerTo_p_PerlCallbackHandler(void *x) {
+    return (void *)((PerlCallbackHandler *)  ((PerlEntityResolverHandler *) x));
+}
+static void *_p_PerlNodeFilterCallbackHandlerTo_p_PerlCallbackHandler(void *x) {
+    return (void *)((PerlCallbackHandler *)  ((PerlNodeFilterCallbackHandler *) x));
+}
+static void *_p_PerlDocumentCallbackHandlerTo_p_PerlCallbackHandler(void *x) {
+    return (void *)((PerlCallbackHandler *)  ((PerlDocumentCallbackHandler *) x));
+}
+static void *_p_PerlContentCallbackHandlerTo_p_PerlCallbackHandler(void *x) {
+    return (void *)((PerlCallbackHandler *)  ((PerlContentCallbackHandler *) x));
+}
 static void *_p_XERCES_CPP_NAMESPACE__SAXNotSupportedExceptionTo_p_XERCES_CPP_NAMESPACE__SAXException(void *x) {
     return (void *)((XERCES_CPP_NAMESPACE::SAXException *)  ((XERCES_CPP_NAMESPACE::SAXNotSupportedException *) x));
 }
@@ -65057,47 +67820,53 @@ static void *_p_XERCES_CPP_NAMESPACE__SAXParseExceptionTo_p_XERCES_CPP_NAMESPACE
 static void *_p_XERCES_CPP_NAMESPACE__DOMRangeExceptionTo_p_XERCES_CPP_NAMESPACE__DOMException(void *x) {
     return (void *)((XERCES_CPP_NAMESPACE::DOMException *)  ((XERCES_CPP_NAMESPACE::DOMRangeException *) x));
 }
+static void *_p_XERCES_CPP_NAMESPACE__DOMLSExceptionTo_p_XERCES_CPP_NAMESPACE__DOMException(void *x) {
+    return (void *)((XERCES_CPP_NAMESPACE::DOMException *)  ((XERCES_CPP_NAMESPACE::DOMLSException *) x));
+}
 static void *_p_XERCES_CPP_NAMESPACE__DTDEntityDeclTo_p_XERCES_CPP_NAMESPACE__XMLEntityDecl(void *x) {
     return (void *)((XERCES_CPP_NAMESPACE::XMLEntityDecl *)  ((XERCES_CPP_NAMESPACE::DTDEntityDecl *) x));
 }
-static void *_p_XERCES_CPP_NAMESPACE__DOMElementTo_p_XERCES_CPP_NAMESPACE__DOMNode(void *x) {
-    return (void *)((XERCES_CPP_NAMESPACE::DOMNode *)  ((XERCES_CPP_NAMESPACE::DOMElement *) x));
-}
-static void *_p_XERCES_CPP_NAMESPACE__DOMDocumentFragmentTo_p_XERCES_CPP_NAMESPACE__DOMNode(void *x) {
-    return (void *)((XERCES_CPP_NAMESPACE::DOMNode *)  ((XERCES_CPP_NAMESPACE::DOMDocumentFragment *) x));
-}
 static void *_p_XERCES_CPP_NAMESPACE__DOMAttrTo_p_XERCES_CPP_NAMESPACE__DOMNode(void *x) {
     return (void *)((XERCES_CPP_NAMESPACE::DOMNode *)  ((XERCES_CPP_NAMESPACE::DOMAttr *) x));
 }
-static void *_p_XERCES_CPP_NAMESPACE__DOMDocumentTypeTo_p_XERCES_CPP_NAMESPACE__DOMNode(void *x) {
-    return (void *)((XERCES_CPP_NAMESPACE::DOMNode *)  ((XERCES_CPP_NAMESPACE::DOMDocumentType *) x));
-}
-static void *_p_XERCES_CPP_NAMESPACE__DOMCharacterDataTo_p_XERCES_CPP_NAMESPACE__DOMNode(void *x) {
-    return (void *)((XERCES_CPP_NAMESPACE::DOMNode *)  ((XERCES_CPP_NAMESPACE::DOMCharacterData *) x));
+static void *_p_XERCES_CPP_NAMESPACE__DOMNotationTo_p_XERCES_CPP_NAMESPACE__DOMNode(void *x) {
+    return (void *)((XERCES_CPP_NAMESPACE::DOMNode *)  ((XERCES_CPP_NAMESPACE::DOMNotation *) x));
 }
 static void *_p_XERCES_CPP_NAMESPACE__DOMTextTo_p_XERCES_CPP_NAMESPACE__DOMNode(void *x) {
     return (void *)((XERCES_CPP_NAMESPACE::DOMNode *) (XERCES_CPP_NAMESPACE::DOMCharacterData *) ((XERCES_CPP_NAMESPACE::DOMText *) x));
 }
-static void *_p_XERCES_CPP_NAMESPACE__DOMCommentTo_p_XERCES_CPP_NAMESPACE__DOMNode(void *x) {
-    return (void *)((XERCES_CPP_NAMESPACE::DOMNode *) (XERCES_CPP_NAMESPACE::DOMCharacterData *) ((XERCES_CPP_NAMESPACE::DOMComment *) x));
+static void *_p_XERCES_CPP_NAMESPACE__DOMDocumentFragmentTo_p_XERCES_CPP_NAMESPACE__DOMNode(void *x) {
+    return (void *)((XERCES_CPP_NAMESPACE::DOMNode *)  ((XERCES_CPP_NAMESPACE::DOMDocumentFragment *) x));
 }
-static void *_p_XERCES_CPP_NAMESPACE__DOMProcessingInstructionTo_p_XERCES_CPP_NAMESPACE__DOMNode(void *x) {
-    return (void *)((XERCES_CPP_NAMESPACE::DOMNode *)  ((XERCES_CPP_NAMESPACE::DOMProcessingInstruction *) x));
+static void *_p_XERCES_CPP_NAMESPACE__DOMXPathNamespaceTo_p_XERCES_CPP_NAMESPACE__DOMNode(void *x) {
+    return (void *)((XERCES_CPP_NAMESPACE::DOMNode *)  ((XERCES_CPP_NAMESPACE::DOMXPathNamespace *) x));
 }
-static void *_p_XERCES_CPP_NAMESPACE__DOMEntityTo_p_XERCES_CPP_NAMESPACE__DOMNode(void *x) {
-    return (void *)((XERCES_CPP_NAMESPACE::DOMNode *)  ((XERCES_CPP_NAMESPACE::DOMEntity *) x));
+static void *_p_XERCES_CPP_NAMESPACE__DOMCDATASectionTo_p_XERCES_CPP_NAMESPACE__DOMNode(void *x) {
+    return (void *)((XERCES_CPP_NAMESPACE::DOMNode *) (XERCES_CPP_NAMESPACE::DOMCharacterData *)(XERCES_CPP_NAMESPACE::DOMText *) ((XERCES_CPP_NAMESPACE::DOMCDATASection *) x));
 }
 static void *_p_XERCES_CPP_NAMESPACE__DOMEntityReferenceTo_p_XERCES_CPP_NAMESPACE__DOMNode(void *x) {
     return (void *)((XERCES_CPP_NAMESPACE::DOMNode *)  ((XERCES_CPP_NAMESPACE::DOMEntityReference *) x));
 }
+static void *_p_XERCES_CPP_NAMESPACE__DOMEntityTo_p_XERCES_CPP_NAMESPACE__DOMNode(void *x) {
+    return (void *)((XERCES_CPP_NAMESPACE::DOMNode *)  ((XERCES_CPP_NAMESPACE::DOMEntity *) x));
+}
+static void *_p_XERCES_CPP_NAMESPACE__DOMCharacterDataTo_p_XERCES_CPP_NAMESPACE__DOMNode(void *x) {
+    return (void *)((XERCES_CPP_NAMESPACE::DOMNode *)  ((XERCES_CPP_NAMESPACE::DOMCharacterData *) x));
+}
+static void *_p_XERCES_CPP_NAMESPACE__DOMDocumentTypeTo_p_XERCES_CPP_NAMESPACE__DOMNode(void *x) {
+    return (void *)((XERCES_CPP_NAMESPACE::DOMNode *)  ((XERCES_CPP_NAMESPACE::DOMDocumentType *) x));
+}
+static void *_p_XERCES_CPP_NAMESPACE__DOMCommentTo_p_XERCES_CPP_NAMESPACE__DOMNode(void *x) {
+    return (void *)((XERCES_CPP_NAMESPACE::DOMNode *) (XERCES_CPP_NAMESPACE::DOMCharacterData *) ((XERCES_CPP_NAMESPACE::DOMComment *) x));
+}
 static void *_p_XERCES_CPP_NAMESPACE__DOMDocumentTo_p_XERCES_CPP_NAMESPACE__DOMNode(void *x) {
     return (void *)((XERCES_CPP_NAMESPACE::DOMNode *)  ((XERCES_CPP_NAMESPACE::DOMDocument *) x));
 }
-static void *_p_XERCES_CPP_NAMESPACE__DOMCDATASectionTo_p_XERCES_CPP_NAMESPACE__DOMNode(void *x) {
-    return (void *)((XERCES_CPP_NAMESPACE::DOMNode *) (XERCES_CPP_NAMESPACE::DOMCharacterData *)(XERCES_CPP_NAMESPACE::DOMText *) ((XERCES_CPP_NAMESPACE::DOMCDATASection *) x));
+static void *_p_XERCES_CPP_NAMESPACE__DOMElementTo_p_XERCES_CPP_NAMESPACE__DOMNode(void *x) {
+    return (void *)((XERCES_CPP_NAMESPACE::DOMNode *)  ((XERCES_CPP_NAMESPACE::DOMElement *) x));
 }
-static void *_p_XERCES_CPP_NAMESPACE__DOMNotationTo_p_XERCES_CPP_NAMESPACE__DOMNode(void *x) {
-    return (void *)((XERCES_CPP_NAMESPACE::DOMNode *)  ((XERCES_CPP_NAMESPACE::DOMNotation *) x));
+static void *_p_XERCES_CPP_NAMESPACE__DOMProcessingInstructionTo_p_XERCES_CPP_NAMESPACE__DOMNode(void *x) {
+    return (void *)((XERCES_CPP_NAMESPACE::DOMNode *)  ((XERCES_CPP_NAMESPACE::DOMProcessingInstruction *) x));
 }
 static void *_p_XERCES_CPP_NAMESPACE__DOMDocumentTo_p_XERCES_CPP_NAMESPACE__DOMDocumentRange(void *x) {
     return (void *)((XERCES_CPP_NAMESPACE::DOMDocumentRange *)  ((XERCES_CPP_NAMESPACE::DOMDocument *) x));
@@ -65123,7 +67892,9 @@ static void *_p_XERCES_CPP_NAMESPACE__DOMCommentTo_p_XERCES_CPP_NAMESPACE__DOMCh
 static void *_p_XERCES_CPP_NAMESPACE__DOMCDATASectionTo_p_XERCES_CPP_NAMESPACE__DOMCharacterData(void *x) {
     return (void *)((XERCES_CPP_NAMESPACE::DOMCharacterData *) (XERCES_CPP_NAMESPACE::DOMText *) ((XERCES_CPP_NAMESPACE::DOMCDATASection *) x));
 }
-static swig_type_info _swigt__p_DOMStringList = {"_p_DOMStringList", "DOMStringList *", 0, 0, (void*)0, 0};
+static void *_p_XERCES_CPP_NAMESPACE__DOMDocumentTo_p_XERCES_CPP_NAMESPACE__DOMXPathEvaluator(void *x) {
+    return (void *)((XERCES_CPP_NAMESPACE::DOMXPathEvaluator *)  ((XERCES_CPP_NAMESPACE::DOMDocument *) x));
+}
 static swig_type_info _swigt__p_DatatypeValidatorFactory = {"_p_DatatypeValidatorFactory", "DatatypeValidatorFactory *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_IdentityConstraint = {"_p_IdentityConstraint", "IdentityConstraint *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_PSVIAttributeList = {"_p_PSVIAttributeList", "PSVIAttributeList *", 0, 0, (void*)0, 0};
@@ -65168,14 +67939,15 @@ static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMDocumentType = {"_p_XER
 static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMElement = {"_p_XERCES_CPP_NAMESPACE__DOMElement", "XERCES_CPP_NAMESPACE::DOMElement *", 0, 0, (void*)"XML::Xerces::DOMElement", 0};
 static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMEntity = {"_p_XERCES_CPP_NAMESPACE__DOMEntity", "XERCES_CPP_NAMESPACE::DOMEntity *", 0, 0, (void*)"XML::Xerces::DOMEntity", 0};
 static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMEntityReference = {"_p_XERCES_CPP_NAMESPACE__DOMEntityReference", "XERCES_CPP_NAMESPACE::DOMEntityReference *", 0, 0, (void*)"XML::Xerces::DOMEntityReference", 0};
-static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMError = {"_p_XERCES_CPP_NAMESPACE__DOMError", "XERCES_CPP_NAMESPACE::DOMError *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMError = {"_p_XERCES_CPP_NAMESPACE__DOMError", "XERCES_CPP_NAMESPACE::DOMError *", 0, 0, (void*)"XML::Xerces::DOMError", 0};
 static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMErrorHandler = {"_p_XERCES_CPP_NAMESPACE__DOMErrorHandler", "XERCES_CPP_NAMESPACE::DOMErrorHandler *", 0, 0, (void*)"XML::Xerces::DOMErrorHandler", 0};
 static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMException = {"_p_XERCES_CPP_NAMESPACE__DOMException", "XERCES_CPP_NAMESPACE::DOMException *", 0, 0, (void*)"XML::Xerces::DOMException", 0};
 static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMImplementation = {"_p_XERCES_CPP_NAMESPACE__DOMImplementation", "XERCES_CPP_NAMESPACE::DOMImplementation *", 0, 0, (void*)"XML::Xerces::DOMImplementation", 0};
 static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMImplementationLS = {"_p_XERCES_CPP_NAMESPACE__DOMImplementationLS", "XERCES_CPP_NAMESPACE::DOMImplementationLS *", 0, 0, (void*)"XML::Xerces::DOMImplementationLS", 0};
-static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMImplementationList = {"_p_XERCES_CPP_NAMESPACE__DOMImplementationList", "XERCES_CPP_NAMESPACE::DOMImplementationList *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMImplementationList = {"_p_XERCES_CPP_NAMESPACE__DOMImplementationList", "XERCES_CPP_NAMESPACE::DOMImplementationList *", 0, 0, (void*)"XML::Xerces::DOMImplementationList", 0};
 static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMImplementationRegistry = {"_p_XERCES_CPP_NAMESPACE__DOMImplementationRegistry", "XERCES_CPP_NAMESPACE::DOMImplementationRegistry *", 0, 0, (void*)"XML::Xerces::DOMImplementationRegistry", 0};
 static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMImplementationSource = {"_p_XERCES_CPP_NAMESPACE__DOMImplementationSource", "XERCES_CPP_NAMESPACE::DOMImplementationSource *", 0, 0, (void*)"XML::Xerces::DOMImplementationSource", 0};
+static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMLSException = {"_p_XERCES_CPP_NAMESPACE__DOMLSException", "XERCES_CPP_NAMESPACE::DOMLSException *", 0, 0, (void*)"XML::Xerces::DOMLSException", 0};
 static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMLSInput = {"_p_XERCES_CPP_NAMESPACE__DOMLSInput", "XERCES_CPP_NAMESPACE::DOMLSInput *", 0, 0, (void*)"XML::Xerces::DOMLSInput", 0};
 static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMLSOutput = {"_p_XERCES_CPP_NAMESPACE__DOMLSOutput", "XERCES_CPP_NAMESPACE::DOMLSOutput *", 0, 0, (void*)"XML::Xerces::DOMLSOutput", 0};
 static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMLSParser = {"_p_XERCES_CPP_NAMESPACE__DOMLSParser", "XERCES_CPP_NAMESPACE::DOMLSParser *", 0, 0, (void*)"XML::Xerces::DOMLSParser", 0};
@@ -65190,13 +67962,21 @@ static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMNodeFilter = {"_p_XERCE
 static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMNodeIterator = {"_p_XERCES_CPP_NAMESPACE__DOMNodeIterator", "XERCES_CPP_NAMESPACE::DOMNodeIterator *", 0, 0, (void*)"XML::Xerces::DOMNodeIterator", 0};
 static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMNodeList = {"_p_XERCES_CPP_NAMESPACE__DOMNodeList", "XERCES_CPP_NAMESPACE::DOMNodeList *", 0, 0, (void*)"XML::Xerces::DOMNodeList", 0};
 static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMNotation = {"_p_XERCES_CPP_NAMESPACE__DOMNotation", "XERCES_CPP_NAMESPACE::DOMNotation *", 0, 0, (void*)"XML::Xerces::DOMNotation", 0};
+static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMPSVITypeInfo = {"_p_XERCES_CPP_NAMESPACE__DOMPSVITypeInfo", "XERCES_CPP_NAMESPACE::DOMPSVITypeInfo *", 0, 0, (void*)"XML::Xerces::DOMPSVITypeInfo", 0};
 static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMProcessingInstruction = {"_p_XERCES_CPP_NAMESPACE__DOMProcessingInstruction", "XERCES_CPP_NAMESPACE::DOMProcessingInstruction *", 0, 0, (void*)"XML::Xerces::DOMProcessingInstruction", 0};
 static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMRange = {"_p_XERCES_CPP_NAMESPACE__DOMRange", "XERCES_CPP_NAMESPACE::DOMRange *", 0, 0, (void*)"XML::Xerces::DOMRange", 0};
 static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMRangeException = {"_p_XERCES_CPP_NAMESPACE__DOMRangeException", "XERCES_CPP_NAMESPACE::DOMRangeException *", 0, 0, (void*)"XML::Xerces::DOMRangeException", 0};
+static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMStringList = {"_p_XERCES_CPP_NAMESPACE__DOMStringList", "XERCES_CPP_NAMESPACE::DOMStringList *", 0, 0, (void*)"XML::Xerces::DOMStringList", 0};
 static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMText = {"_p_XERCES_CPP_NAMESPACE__DOMText", "XERCES_CPP_NAMESPACE::DOMText *", 0, 0, (void*)"XML::Xerces::DOMText", 0};
 static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMTreeWalker = {"_p_XERCES_CPP_NAMESPACE__DOMTreeWalker", "XERCES_CPP_NAMESPACE::DOMTreeWalker *", 0, 0, (void*)"XML::Xerces::DOMTreeWalker", 0};
-static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMTypeInfo = {"_p_XERCES_CPP_NAMESPACE__DOMTypeInfo", "XERCES_CPP_NAMESPACE::DOMTypeInfo *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMUserDataHandler = {"_p_XERCES_CPP_NAMESPACE__DOMUserDataHandler", "XERCES_CPP_NAMESPACE::DOMUserDataHandler *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMTypeInfo = {"_p_XERCES_CPP_NAMESPACE__DOMTypeInfo", "XERCES_CPP_NAMESPACE::DOMTypeInfo *", 0, 0, (void*)"XML::Xerces::DOMTypeInfo", 0};
+static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMUserDataHandler = {"_p_XERCES_CPP_NAMESPACE__DOMUserDataHandler", "XERCES_CPP_NAMESPACE::DOMUserDataHandler *", 0, 0, (void*)"XML::Xerces::DOMUserDataHandler", 0};
+static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMXPathEvaluator = {"_p_XERCES_CPP_NAMESPACE__DOMXPathEvaluator", "XERCES_CPP_NAMESPACE::DOMXPathEvaluator *", 0, 0, (void*)"XML::Xerces::DOMXPathEvaluator", 0};
+static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMXPathException = {"_p_XERCES_CPP_NAMESPACE__DOMXPathException", "XERCES_CPP_NAMESPACE::DOMXPathException *", 0, 0, (void*)"XML::Xerces::DOMXPathException", 0};
+static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMXPathExpression = {"_p_XERCES_CPP_NAMESPACE__DOMXPathExpression", "XERCES_CPP_NAMESPACE::DOMXPathExpression *", 0, 0, (void*)"XML::Xerces::DOMXPathExpression", 0};
+static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMXPathNSResolver = {"_p_XERCES_CPP_NAMESPACE__DOMXPathNSResolver", "XERCES_CPP_NAMESPACE::DOMXPathNSResolver *", 0, 0, (void*)"XML::Xerces::DOMXPathNSResolver", 0};
+static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMXPathNamespace = {"_p_XERCES_CPP_NAMESPACE__DOMXPathNamespace", "XERCES_CPP_NAMESPACE::DOMXPathNamespace *", 0, 0, (void*)"XML::Xerces::DOMXPathNamespace", 0};
+static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMXPathResult = {"_p_XERCES_CPP_NAMESPACE__DOMXPathResult", "XERCES_CPP_NAMESPACE::DOMXPathResult *", 0, 0, (void*)"XML::Xerces::DOMXPathResult", 0};
 static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DTDAttDef = {"_p_XERCES_CPP_NAMESPACE__DTDAttDef", "XERCES_CPP_NAMESPACE::DTDAttDef *", 0, 0, (void*)"XML::Xerces::DTDAttDef", 0};
 static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DTDAttDefList = {"_p_XERCES_CPP_NAMESPACE__DTDAttDefList", "XERCES_CPP_NAMESPACE::DTDAttDefList *", 0, 0, (void*)"XML::Xerces::DTDAttDefList", 0};
 static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DTDElementDecl = {"_p_XERCES_CPP_NAMESPACE__DTDElementDecl", "XERCES_CPP_NAMESPACE::DTDElementDecl *", 0, 0, (void*)"XML::Xerces::DTDElementDecl", 0};
@@ -65285,7 +68065,6 @@ static swig_type_info _swigt__p_XMLErrorReporter__ErrTypes = {"_p_XMLErrorReport
 static swig_type_info _swigt__p_XMLFileMgr = {"_p_XMLFileMgr", "XMLFileMgr *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_XMLMutexMgr = {"_p_XMLMutexMgr", "XMLMutexMgr *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_XSerializeEngine = {"_p_XSerializeEngine", "XSerializeEngine *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_a_8__uint16_t = {"_p_a_8__uint16_t", "uint16_t (*)[8]|XMLCh (*)[8]", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_bool = {"_p_bool", "bool *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_int = {"_p_int", "int *", 0, 0, (void*)0, 0};
@@ -65299,7 +68078,6 @@ static swig_type_info _swigt__p_unsigned_char = {"_p_unsigned_char", "unsigned c
 static swig_type_info _swigt__p_void = {"_p_void", "void *", 0, 0, (void*)0, 0};
 
 static swig_type_info *swig_type_initial[] = {
-  &_swigt__p_DOMStringList,
   &_swigt__p_DatatypeValidatorFactory,
   &_swigt__p_IdentityConstraint,
   &_swigt__p_PSVIAttributeList,
@@ -65352,6 +68130,7 @@ static swig_type_info *swig_type_initial[] = {
   &_swigt__p_XERCES_CPP_NAMESPACE__DOMImplementationList,
   &_swigt__p_XERCES_CPP_NAMESPACE__DOMImplementationRegistry,
   &_swigt__p_XERCES_CPP_NAMESPACE__DOMImplementationSource,
+  &_swigt__p_XERCES_CPP_NAMESPACE__DOMLSException,
   &_swigt__p_XERCES_CPP_NAMESPACE__DOMLSInput,
   &_swigt__p_XERCES_CPP_NAMESPACE__DOMLSOutput,
   &_swigt__p_XERCES_CPP_NAMESPACE__DOMLSParser,
@@ -65366,13 +68145,21 @@ static swig_type_info *swig_type_initial[] = {
   &_swigt__p_XERCES_CPP_NAMESPACE__DOMNodeIterator,
   &_swigt__p_XERCES_CPP_NAMESPACE__DOMNodeList,
   &_swigt__p_XERCES_CPP_NAMESPACE__DOMNotation,
+  &_swigt__p_XERCES_CPP_NAMESPACE__DOMPSVITypeInfo,
   &_swigt__p_XERCES_CPP_NAMESPACE__DOMProcessingInstruction,
   &_swigt__p_XERCES_CPP_NAMESPACE__DOMRange,
   &_swigt__p_XERCES_CPP_NAMESPACE__DOMRangeException,
+  &_swigt__p_XERCES_CPP_NAMESPACE__DOMStringList,
   &_swigt__p_XERCES_CPP_NAMESPACE__DOMText,
   &_swigt__p_XERCES_CPP_NAMESPACE__DOMTreeWalker,
   &_swigt__p_XERCES_CPP_NAMESPACE__DOMTypeInfo,
   &_swigt__p_XERCES_CPP_NAMESPACE__DOMUserDataHandler,
+  &_swigt__p_XERCES_CPP_NAMESPACE__DOMXPathEvaluator,
+  &_swigt__p_XERCES_CPP_NAMESPACE__DOMXPathException,
+  &_swigt__p_XERCES_CPP_NAMESPACE__DOMXPathExpression,
+  &_swigt__p_XERCES_CPP_NAMESPACE__DOMXPathNSResolver,
+  &_swigt__p_XERCES_CPP_NAMESPACE__DOMXPathNamespace,
+  &_swigt__p_XERCES_CPP_NAMESPACE__DOMXPathResult,
   &_swigt__p_XERCES_CPP_NAMESPACE__DTDAttDef,
   &_swigt__p_XERCES_CPP_NAMESPACE__DTDAttDefList,
   &_swigt__p_XERCES_CPP_NAMESPACE__DTDElementDecl,
@@ -65461,7 +68248,6 @@ static swig_type_info *swig_type_initial[] = {
   &_swigt__p_XMLFileMgr,
   &_swigt__p_XMLMutexMgr,
   &_swigt__p_XSerializeEngine,
-  &_swigt__p_a_8__uint16_t,
   &_swigt__p_bool,
   &_swigt__p_char,
   &_swigt__p_int,
@@ -65475,7 +68261,6 @@ static swig_type_info *swig_type_initial[] = {
   &_swigt__p_void,
 };
 
-static swig_cast_info _swigc__p_DOMStringList[] = {  {&_swigt__p_DOMStringList, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_DatatypeValidatorFactory[] = {  {&_swigt__p_DatatypeValidatorFactory, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_IdentityConstraint[] = {  {&_swigt__p_IdentityConstraint, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_PSVIAttributeList[] = {  {&_swigt__p_PSVIAttributeList, 0, 0, 0},{0, 0, 0, 0}};
@@ -65522,12 +68307,13 @@ static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMEntity[] = {  {&_swigt_
 static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMEntityReference[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMEntityReference, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMError[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMError, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMErrorHandler[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMErrorHandler, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMException[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMException, 0, 0, 0},  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMRangeException, _p_XERCES_CPP_NAMESPACE__DOMRangeExceptionTo_p_XERCES_CPP_NAMESPACE__DOMException, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMException[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMException, 0, 0, 0},  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMRangeException, _p_XERCES_CPP_NAMESPACE__DOMRangeExceptionTo_p_XERCES_CPP_NAMESPACE__DOMException, 0, 0},  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMLSException, _p_XERCES_CPP_NAMESPACE__DOMLSExceptionTo_p_XERCES_CPP_NAMESPACE__DOMException, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMImplementation[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMImplementation, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMImplementationLS[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMImplementation, _p_XERCES_CPP_NAMESPACE__DOMImplementationTo_p_XERCES_CPP_NAMESPACE__DOMImplementationLS, 0, 0},  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMImplementationLS, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMImplementationList[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMImplementationList, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMImplementationRegistry[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMImplementationRegistry, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMImplementationSource[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMImplementationSource, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMLSException[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMLSException, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMLSInput[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__Wrapper4InputSource, _p_XERCES_CPP_NAMESPACE__Wrapper4InputSourceTo_p_XERCES_CPP_NAMESPACE__DOMLSInput, 0, 0},  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMLSInput, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMLSOutput[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMLSOutput, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMLSParser[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMLSParser, 0, 0, 0},{0, 0, 0, 0}};
@@ -65537,18 +68323,26 @@ static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMLSSerializer[] = {  {&_
 static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMLSSerializerFilter[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMLSSerializerFilter, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMLocator[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMLocator, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMNamedNodeMap[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMNamedNodeMap, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMNode[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMAttr, _p_XERCES_CPP_NAMESPACE__DOMAttrTo_p_XERCES_CPP_NAMESPACE__DOMNode, 0, 0},  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMNotation, _p_XERCES_CPP_NAMESPACE__DOMNotationTo_p_XERCES_CPP_NAMESPACE__DOMNode, 0, 0},  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMText, _p_XERCES_CPP_NAMESPACE__DOMTextTo_p_XERCES_CPP_NAMESPACE__DOMNode, 0, 0},  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMDocumentFragment, _p_XERCES_CPP_NAMESPACE__DOMDocumentFragmentTo_p_XERCES_CPP_NAMESPACE__DOMNode, 0, 0},  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMCDATASection, _p_XERCES_CPP_NAMESPACE__DOMCDATASectionTo_p_XERCES_CPP_NAMESPACE__DOMNode, 0, 0},  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMEntityReference, _p_XERCES_CPP_NAMESPACE__DOMEntityReferenceTo_p_XERCES_CPP_NAMESPACE__DOMNode, 0, 0},  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMEntity, _p_XERCES_CPP_NAMESPACE__DOMEntityTo_p_XERCES_CPP_NAMESPACE__DOMNode, 0, 0},  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMDocumentType, _p_XERCES_CPP_NAMESPACE__DOMDocumentTypeTo_p_XERCES_CPP_NAMESPACE__DOMNode, 0, 0},  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMCharacterData, _p_XERCES_CPP_NAMESPACE__DOMCharacterDataTo_p_XERCES_CPP_NAMESPACE__DOMNode, 0, 0},  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMComment, _p_XERCES_CPP_NAMESPACE__DOMCommentTo_p_XERCES_CPP_NAMESPACE__DOMNode, 0, 0},  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMNode, 0, 0, 0},  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMDocument, _p_XERCES_CPP_NAMESPACE__DOMDocumentTo_p_XERCES_CPP_NAMESPACE__DOMNode, 0, 0},  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMElement, _p_XERCES_CPP_NAMESPACE__DOMElementTo_p_XERCES_CPP_NAMESPACE__DOMNode, 0, 0},  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMProcessingInstruction, _p_XERCES_CPP_NAMESPACE__DOMProcessingInstructionTo_p_XERCES_CPP_NAMESPACE__DOMNode, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMNode[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMAttr, _p_XERCES_CPP_NAMESPACE__DOMAttrTo_p_XERCES_CPP_NAMESPACE__DOMNode, 0, 0},  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMNotation, _p_XERCES_CPP_NAMESPACE__DOMNotationTo_p_XERCES_CPP_NAMESPACE__DOMNode, 0, 0},  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMText, _p_XERCES_CPP_NAMESPACE__DOMTextTo_p_XERCES_CPP_NAMESPACE__DOMNode, 0, 0},  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMDocumentFragment, _p_XERCES_CPP_NAMESPACE__DOMDocumentFragmentTo_p_XERCES_CPP_NAMESPACE__DOMNode, 0, 0},  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMXPathNamespace, _p_XERCES_CPP_NAMESPACE__DOMXPathNamespaceTo_p_XERCES_CPP_NAMESPACE__DOMNode, 0, 0},  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMCDATASection, _p_XERCES_CPP_NAMESPACE__DOMCDATASectionTo_p_XERCES_CPP_NAMESPACE__DOMNode, 0, 0},  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMEntityReference, _p_XERCES_CPP_NAMESPACE__DOMEntityReferenceTo_p_XERCES_CPP_NAMESPACE__DOMNode, 0, 0},  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMEntity, _p_XERCES_CPP_NAMESPACE__DOMEntityTo_p_XERCES_CPP_NAMESPACE__DOMNode, 0, 0},  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMCharacterData, _p_XERCES_CPP_NAMESPACE__DOMCharacterDataTo_p_XERCES_CPP_NAMESPACE__DOMNode, 0, 0},  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMDocumentType, _p_XERCES_CPP_NAMESPACE__DOMDocumentTypeTo_p_XERCES_CPP_NAMESPACE__DOMNode, 0, 0},  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMComment, _p_XERCES_CPP_NAMESPACE__DOMCommentTo_p_XERCES_CPP_NAMESPACE__DOMNode, 0, 0},  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMNode, 0, 0, 0},  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMDocument, _p_XERCES_CPP_NAMESPACE__DOMDocumentTo_p_XERCES_CPP_NAMESPACE__DOMNode, 0, 0},  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMElement, _p_XERCES_CPP_NAMESPACE__DOMElementTo_p_XERCES_CPP_NAMESPACE__DOMNode, 0, 0},  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMProcessingInstruction, _p_XERCES_CPP_NAMESPACE__DOMProcessingInstructionTo_p_XERCES_CPP_NAMESPACE__DOMNode, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMNodeFilter[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMLSSerializerFilter, _p_XERCES_CPP_NAMESPACE__DOMLSSerializerFilterTo_p_XERCES_CPP_NAMESPACE__DOMNodeFilter, 0, 0},  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMNodeFilter, 0, 0, 0},  {&_swigt__p_PerlNodeFilterCallbackHandler, _p_PerlNodeFilterCallbackHandlerTo_p_XERCES_CPP_NAMESPACE__DOMNodeFilter, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMNodeIterator[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMNodeIterator, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMNodeList[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMNodeList, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMNotation[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMNotation, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMPSVITypeInfo[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMPSVITypeInfo, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMProcessingInstruction[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMProcessingInstruction, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMRange[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMRange, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMRangeException[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMRangeException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMStringList[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMStringList, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMText[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMText, 0, 0, 0},  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMCDATASection, _p_XERCES_CPP_NAMESPACE__DOMCDATASectionTo_p_XERCES_CPP_NAMESPACE__DOMText, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMTreeWalker[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMTreeWalker, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMTypeInfo[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMTypeInfo, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMUserDataHandler[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMUserDataHandler, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMXPathEvaluator[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMXPathEvaluator, 0, 0, 0},  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMDocument, _p_XERCES_CPP_NAMESPACE__DOMDocumentTo_p_XERCES_CPP_NAMESPACE__DOMXPathEvaluator, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMXPathException[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMXPathException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMXPathExpression[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMXPathExpression, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMXPathNSResolver[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMXPathNSResolver, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMXPathNamespace[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMXPathNamespace, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DOMXPathResult[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DOMXPathResult, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DTDAttDef[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DTDAttDef, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DTDAttDefList[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DTDAttDefList, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_XERCES_CPP_NAMESPACE__DTDElementDecl[] = {  {&_swigt__p_XERCES_CPP_NAMESPACE__DTDElementDecl, 0, 0, 0},{0, 0, 0, 0}};
@@ -65637,7 +68431,6 @@ static swig_cast_info _swigc__p_XMLErrorReporter__ErrTypes[] = {  {&_swigt__p_XM
 static swig_cast_info _swigc__p_XMLFileMgr[] = {  {&_swigt__p_XMLFileMgr, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_XMLMutexMgr[] = {  {&_swigt__p_XMLMutexMgr, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_XSerializeEngine[] = {  {&_swigt__p_XSerializeEngine, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_a_8__uint16_t[] = {  {&_swigt__p_a_8__uint16_t, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_bool[] = {  {&_swigt__p_bool, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_char[] = {  {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_int[] = {  {&_swigt__p_int, 0, 0, 0},{0, 0, 0, 0}};
@@ -65651,7 +68444,6 @@ static swig_cast_info _swigc__p_unsigned_char[] = {  {&_swigt__p_unsigned_char,
 static swig_cast_info _swigc__p_void[] = {  {&_swigt__p_void, 0, 0, 0},{0, 0, 0, 0}};
 
 static swig_cast_info *swig_cast_initial[] = {
-  _swigc__p_DOMStringList,
   _swigc__p_DatatypeValidatorFactory,
   _swigc__p_IdentityConstraint,
   _swigc__p_PSVIAttributeList,
@@ -65704,6 +68496,7 @@ static swig_cast_info *swig_cast_initial[] = {
   _swigc__p_XERCES_CPP_NAMESPACE__DOMImplementationList,
   _swigc__p_XERCES_CPP_NAMESPACE__DOMImplementationRegistry,
   _swigc__p_XERCES_CPP_NAMESPACE__DOMImplementationSource,
+  _swigc__p_XERCES_CPP_NAMESPACE__DOMLSException,
   _swigc__p_XERCES_CPP_NAMESPACE__DOMLSInput,
   _swigc__p_XERCES_CPP_NAMESPACE__DOMLSOutput,
   _swigc__p_XERCES_CPP_NAMESPACE__DOMLSParser,
@@ -65718,13 +68511,21 @@ static swig_cast_info *swig_cast_initial[] = {
   _swigc__p_XERCES_CPP_NAMESPACE__DOMNodeIterator,
   _swigc__p_XERCES_CPP_NAMESPACE__DOMNodeList,
   _swigc__p_XERCES_CPP_NAMESPACE__DOMNotation,
+  _swigc__p_XERCES_CPP_NAMESPACE__DOMPSVITypeInfo,
   _swigc__p_XERCES_CPP_NAMESPACE__DOMProcessingInstruction,
   _swigc__p_XERCES_CPP_NAMESPACE__DOMRange,
   _swigc__p_XERCES_CPP_NAMESPACE__DOMRangeException,
+  _swigc__p_XERCES_CPP_NAMESPACE__DOMStringList,
   _swigc__p_XERCES_CPP_NAMESPACE__DOMText,
   _swigc__p_XERCES_CPP_NAMESPACE__DOMTreeWalker,
   _swigc__p_XERCES_CPP_NAMESPACE__DOMTypeInfo,
   _swigc__p_XERCES_CPP_NAMESPACE__DOMUserDataHandler,
+  _swigc__p_XERCES_CPP_NAMESPACE__DOMXPathEvaluator,
+  _swigc__p_XERCES_CPP_NAMESPACE__DOMXPathException,
+  _swigc__p_XERCES_CPP_NAMESPACE__DOMXPathExpression,
+  _swigc__p_XERCES_CPP_NAMESPACE__DOMXPathNSResolver,
+  _swigc__p_XERCES_CPP_NAMESPACE__DOMXPathNamespace,
+  _swigc__p_XERCES_CPP_NAMESPACE__DOMXPathResult,
   _swigc__p_XERCES_CPP_NAMESPACE__DTDAttDef,
   _swigc__p_XERCES_CPP_NAMESPACE__DTDAttDefList,
   _swigc__p_XERCES_CPP_NAMESPACE__DTDElementDecl,
@@ -65813,7 +68614,6 @@ static swig_cast_info *swig_cast_initial[] = {
   _swigc__p_XMLFileMgr,
   _swigc__p_XMLMutexMgr,
   _swigc__p_XSerializeEngine,
-  _swigc__p_a_8__uint16_t,
   _swigc__p_bool,
   _swigc__p_char,
   _swigc__p_int,
@@ -66085,7 +68885,7 @@ static swig_variable_info swig_variables[] = {
     { "XML::Xercesc::XMLUni_fgUShortMaxInc", MAGIC_CLASS swig_magic_readonly, MAGIC_CLASS _wrap_XMLUni_fgUShortMaxInc_get,0 },
     { "XML::Xercesc::XMLUni_fgUByteMaxInc", MAGIC_CLASS swig_magic_readonly, MAGIC_CLASS _wrap_XMLUni_fgUByteMaxInc_get,0 },
     { "XML::Xercesc::XMLUni_fgLangPattern", MAGIC_CLASS swig_magic_readonly, MAGIC_CLASS _wrap_XMLUni_fgLangPattern_get,0 },
-    { "XML::Xercesc::XMLUni_fgBooleanValueSpace", MAGIC_CLASS swig_magic_readonly, MAGIC_CLASS _wrap_XMLUni_fgBooleanValueSpace_get,&SWIGTYPE_p_a_8__uint16_t },
+    { "XML::Xercesc::XMLUni_fgBooleanValueSpace", MAGIC_CLASS swig_magic_readonly, MAGIC_CLASS _wrap_XMLUni_fgBooleanValueSpace_get,0 },
     { "XML::Xercesc::XMLUni_fgBooleanValueSpaceArraySize", MAGIC_CLASS swig_magic_readonly, MAGIC_CLASS _wrap_XMLUni_fgBooleanValueSpaceArraySize_get,0 },
     { "XML::Xercesc::XMLElementDecl_fgInvalidElemId", MAGIC_CLASS swig_magic_readonly, MAGIC_CLASS _wrap_XMLElementDecl_fgInvalidElemId_get,0 },
     { "XML::Xercesc::XMLElementDecl_fgPCDataElemId", MAGIC_CLASS swig_magic_readonly, MAGIC_CLASS _wrap_XMLElementDecl_fgPCDataElemId_get,0 },
@@ -66655,6 +69455,40 @@ static swig_command_info swig_commands[] = {
 {"XML::Xercesc::DOMProcessingInstruction_getTarget", _wrap_DOMProcessingInstruction_getTarget},
 {"XML::Xercesc::DOMProcessingInstruction_getData", _wrap_DOMProcessingInstruction_getData},
 {"XML::Xercesc::DOMProcessingInstruction_setData", _wrap_DOMProcessingInstruction_setData},
+{"XML::Xercesc::delete_DOMTypeInfo", _wrap_delete_DOMTypeInfo},
+{"XML::Xercesc::DOMTypeInfo_getTypeName", _wrap_DOMTypeInfo_getTypeName},
+{"XML::Xercesc::DOMTypeInfo_getTypeNamespace", _wrap_DOMTypeInfo_getTypeNamespace},
+{"XML::Xercesc::DOMTypeInfo_isDerivedFrom", _wrap_DOMTypeInfo_isDerivedFrom},
+{"XML::Xercesc::delete_DOMPSVITypeInfo", _wrap_delete_DOMPSVITypeInfo},
+{"XML::Xercesc::DOMPSVITypeInfo_getStringProperty", _wrap_DOMPSVITypeInfo_getStringProperty},
+{"XML::Xercesc::DOMPSVITypeInfo_getNumericProperty", _wrap_DOMPSVITypeInfo_getNumericProperty},
+{"XML::Xercesc::delete_DOMXPathEvaluator", _wrap_delete_DOMXPathEvaluator},
+{"XML::Xercesc::DOMXPathEvaluator_createExpression", _wrap_DOMXPathEvaluator_createExpression},
+{"XML::Xercesc::DOMXPathEvaluator_createNSResolver", _wrap_DOMXPathEvaluator_createNSResolver},
+{"XML::Xercesc::DOMXPathEvaluator_evaluate", _wrap_DOMXPathEvaluator_evaluate},
+{"XML::Xercesc::new_DOMXPathException", _wrap_new_DOMXPathException},
+{"XML::Xercesc::delete_DOMXPathException", _wrap_delete_DOMXPathException},
+{"XML::Xercesc::DOMXPathException_code_set", _wrap_DOMXPathException_code_set},
+{"XML::Xercesc::DOMXPathException_code_get", _wrap_DOMXPathException_code_get},
+{"XML::Xercesc::DOMXPathException_msg_set", _wrap_DOMXPathException_msg_set},
+{"XML::Xercesc::DOMXPathException_msg_get", _wrap_DOMXPathException_msg_get},
+{"XML::Xercesc::delete_DOMXPathExpression", _wrap_delete_DOMXPathExpression},
+{"XML::Xercesc::DOMXPathExpression_evaluate", _wrap_DOMXPathExpression_evaluate},
+{"XML::Xercesc::delete_DOMXPathNamespace", _wrap_delete_DOMXPathNamespace},
+{"XML::Xercesc::DOMXPathNamespace_getOwnerElement", _wrap_DOMXPathNamespace_getOwnerElement},
+{"XML::Xercesc::delete_DOMXPathNSResolver", _wrap_delete_DOMXPathNSResolver},
+{"XML::Xercesc::DOMXPathNSResolver_lookupNamespaceURI", _wrap_DOMXPathNSResolver_lookupNamespaceURI},
+{"XML::Xercesc::DOMXPathNSResolver_lookupPrefix", _wrap_DOMXPathNSResolver_lookupPrefix},
+{"XML::Xercesc::delete_DOMXPathResult", _wrap_delete_DOMXPathResult},
+{"XML::Xercesc::DOMXPathResult_getBooleanValue", _wrap_DOMXPathResult_getBooleanValue},
+{"XML::Xercesc::DOMXPathResult_getInvalidIteratorState", _wrap_DOMXPathResult_getInvalidIteratorState},
+{"XML::Xercesc::DOMXPathResult_getNumberValue", _wrap_DOMXPathResult_getNumberValue},
+{"XML::Xercesc::DOMXPathResult_getResultType", _wrap_DOMXPathResult_getResultType},
+{"XML::Xercesc::DOMXPathResult_getSingleNodeValue", _wrap_DOMXPathResult_getSingleNodeValue},
+{"XML::Xercesc::DOMXPathResult_getSnapshotLength", _wrap_DOMXPathResult_getSnapshotLength},
+{"XML::Xercesc::DOMXPathResult_getStringValue", _wrap_DOMXPathResult_getStringValue},
+{"XML::Xercesc::DOMXPathResult_iterateNext", _wrap_DOMXPathResult_iterateNext},
+{"XML::Xercesc::DOMXPathResult_snapshotItem", _wrap_DOMXPathResult_snapshotItem},
 {"XML::Xercesc::delete_DOMDocumentRange", _wrap_delete_DOMDocumentRange},
 {"XML::Xercesc::DOMDocumentRange_createRange", _wrap_DOMDocumentRange_createRange},
 {"XML::Xercesc::delete_DOMDocumentTraversal", _wrap_delete_DOMDocumentTraversal},
@@ -66716,11 +69550,18 @@ static swig_command_info swig_commands[] = {
 {"XML::Xercesc::DOMTreeWalker_nextNode", _wrap_DOMTreeWalker_nextNode},
 {"XML::Xercesc::DOMTreeWalker_setCurrentNode", _wrap_DOMTreeWalker_setCurrentNode},
 {"XML::Xercesc::DOMTreeWalker_release", _wrap_DOMTreeWalker_release},
+{"XML::Xercesc::delete_DOMUserDataHandler", _wrap_delete_DOMUserDataHandler},
+{"XML::Xercesc::DOMUserDataHandler_handle", _wrap_DOMUserDataHandler_handle},
 {"XML::Xercesc::DOMConfiguration_setParameter", _wrap_DOMConfiguration_setParameter},
 {"XML::Xercesc::DOMConfiguration_getParameter", _wrap_DOMConfiguration_getParameter},
 {"XML::Xercesc::DOMConfiguration_canSetParameter", _wrap_DOMConfiguration_canSetParameter},
 {"XML::Xercesc::DOMConfiguration_getParameterNames", _wrap_DOMConfiguration_getParameterNames},
 {"XML::Xercesc::delete_DOMConfiguration", _wrap_delete_DOMConfiguration},
+{"XML::Xercesc::delete_DOMStringList", _wrap_delete_DOMStringList},
+{"XML::Xercesc::DOMStringList_item", _wrap_DOMStringList_item},
+{"XML::Xercesc::DOMStringList_getLength", _wrap_DOMStringList_getLength},
+{"XML::Xercesc::DOMStringList_contains", _wrap_DOMStringList_contains},
+{"XML::Xercesc::DOMStringList_release", _wrap_DOMStringList_release},
 {"XML::Xercesc::delete_DOMImplementationLS", _wrap_delete_DOMImplementationLS},
 {"XML::Xercesc::DOMImplementationLS_createLSParser", _wrap_DOMImplementationLS_createLSParser},
 {"XML::Xercesc::DOMImplementationLS_createLSSerializer", _wrap_DOMImplementationLS_createLSSerializer},
@@ -66732,6 +69573,10 @@ static swig_command_info swig_commands[] = {
 {"XML::Xercesc::DOMImplementation_getFeature", _wrap_DOMImplementation_getFeature},
 {"XML::Xercesc::DOMImplementation_createDocument", _wrap_DOMImplementation_createDocument},
 {"XML::Xercesc::DOMImplementation_getImplementation", _wrap_DOMImplementation_getImplementation},
+{"XML::Xercesc::delete_DOMImplementationList", _wrap_delete_DOMImplementationList},
+{"XML::Xercesc::DOMImplementationList_item", _wrap_DOMImplementationList_item},
+{"XML::Xercesc::DOMImplementationList_getLength", _wrap_DOMImplementationList_getLength},
+{"XML::Xercesc::DOMImplementationList_release", _wrap_DOMImplementationList_release},
 {"XML::Xercesc::delete_DOMImplementationSource", _wrap_delete_DOMImplementationSource},
 {"XML::Xercesc::DOMImplementationSource_getDOMImplementation", _wrap_DOMImplementationSource_getDOMImplementation},
 {"XML::Xercesc::DOMImplementationSource_getDOMImplementationList", _wrap_DOMImplementationSource_getDOMImplementationList},
@@ -66739,6 +69584,13 @@ static swig_command_info swig_commands[] = {
 {"XML::Xercesc::DOMImplementationRegistry_getDOMImplementationList", _wrap_DOMImplementationRegistry_getDOMImplementationList},
 {"XML::Xercesc::DOMImplementationRegistry_addSource", _wrap_DOMImplementationRegistry_addSource},
 {"XML::Xercesc::delete_DOMImplementationRegistry", _wrap_delete_DOMImplementationRegistry},
+{"XML::Xercesc::delete_DOMError", _wrap_delete_DOMError},
+{"XML::Xercesc::DOMError_getSeverity", _wrap_DOMError_getSeverity},
+{"XML::Xercesc::DOMError_getMessage", _wrap_DOMError_getMessage},
+{"XML::Xercesc::DOMError_getLocation", _wrap_DOMError_getLocation},
+{"XML::Xercesc::DOMError_getRelatedException", _wrap_DOMError_getRelatedException},
+{"XML::Xercesc::DOMError_getType", _wrap_DOMError_getType},
+{"XML::Xercesc::DOMError_getRelatedData", _wrap_DOMError_getRelatedData},
 {"XML::Xercesc::delete_DOMErrorHandler", _wrap_delete_DOMErrorHandler},
 {"XML::Xercesc::DOMErrorHandler_handleError", _wrap_DOMErrorHandler_handleError},
 {"XML::Xercesc::delete_DOMDocument", _wrap_delete_DOMDocument},
@@ -66868,6 +69720,13 @@ static swig_command_info swig_commands[] = {
 {"XML::Xercesc::MemBufFormatTarget_getRawBuffer", _wrap_MemBufFormatTarget_getRawBuffer},
 {"XML::Xercesc::MemBufFormatTarget_getLen", _wrap_MemBufFormatTarget_getLen},
 {"XML::Xercesc::MemBufFormatTarget_reset", _wrap_MemBufFormatTarget_reset},
+{"XML::Xercesc::new_DOMLSException", _wrap_new_DOMLSException},
+{"XML::Xercesc::delete_DOMLSException", _wrap_delete_DOMLSException},
+{"XML::Xercesc::DOMLSException_getMessage", _wrap_DOMLSException_getMessage},
+{"XML::Xercesc::DOMLSException_code_set", _wrap_DOMLSException_code_set},
+{"XML::Xercesc::DOMLSException_code_get", _wrap_DOMLSException_code_get},
+{"XML::Xercesc::DOMLSException_msg_set", _wrap_DOMLSException_msg_set},
+{"XML::Xercesc::DOMLSException_msg_get", _wrap_DOMLSException_msg_get},
 {"XML::Xercesc::delete_DOMLSSerializer", _wrap_delete_DOMLSSerializer},
 {"XML::Xercesc::DOMLSSerializer_getDomConfig", _wrap_DOMLSSerializer_getDomConfig},
 {"XML::Xercesc::DOMLSSerializer_setNewLine", _wrap_DOMLSSerializer_setNewLine},
@@ -66979,12 +69838,6 @@ static swig_command_info swig_commands[] = {
 {"XML::Xercesc::PSVIHandler_handleElementPSVI", _wrap_PSVIHandler_handleElementPSVI},
 {"XML::Xercesc::PSVIHandler_handlePartialElementPSVI", _wrap_PSVIHandler_handlePartialElementPSVI},
 {"XML::Xercesc::PSVIHandler_handleAttributesPSVI", _wrap_PSVIHandler_handleAttributesPSVI},
-{"XML::Xercesc::delete_Parser", _wrap_delete_Parser},
-{"XML::Xercesc::Parser_setEntityResolver", _wrap_Parser_setEntityResolver},
-{"XML::Xercesc::Parser_setDTDHandler", _wrap_Parser_setDTDHandler},
-{"XML::Xercesc::Parser_setDocumentHandler", _wrap_Parser_setDocumentHandler},
-{"XML::Xercesc::Parser_setErrorHandler", _wrap_Parser_setErrorHandler},
-{"XML::Xercesc::Parser_parse", _wrap_Parser_parse},
 {"XML::Xercesc::delete_AbstractDOMParser", _wrap_delete_AbstractDOMParser},
 {"XML::Xercesc::AbstractDOMParser_reset", _wrap_AbstractDOMParser_reset},
 {"XML::Xercesc::AbstractDOMParser_adoptDocument", _wrap_AbstractDOMParser_adoptDocument},
@@ -67069,6 +69922,12 @@ static swig_command_info swig_commands[] = {
 {"XML::Xercesc::XercesDOMParser_resetErrors", _wrap_XercesDOMParser_resetErrors},
 {"XML::Xercesc::XercesDOMParser_loadGrammar", _wrap_XercesDOMParser_loadGrammar},
 {"XML::Xercesc::XercesDOMParser_resetCachedGrammarPool", _wrap_XercesDOMParser_resetCachedGrammarPool},
+{"XML::Xercesc::delete_Parser", _wrap_delete_Parser},
+{"XML::Xercesc::Parser_setEntityResolver", _wrap_Parser_setEntityResolver},
+{"XML::Xercesc::Parser_setDTDHandler", _wrap_Parser_setDTDHandler},
+{"XML::Xercesc::Parser_setDocumentHandler", _wrap_Parser_setDocumentHandler},
+{"XML::Xercesc::Parser_setErrorHandler", _wrap_Parser_setErrorHandler},
+{"XML::Xercesc::Parser_parse", _wrap_Parser_parse},
 {"XML::Xercesc::new_SAXParser", _wrap_new_SAXParser},
 {"XML::Xercesc::delete_SAXParser", _wrap_delete_SAXParser},
 {"XML::Xercesc::SAXParser_getDocumentHandler", _wrap_SAXParser_getDocumentHandler},
@@ -67483,9 +70342,6 @@ XS(SWIG_init) {
   
   SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode->dcast = (swig_dycast_func) DOMNode_dynamic_cast;
   
-  
-  SWIGTYPE_p_PerlCallbackHandler->dcast = (swig_dycast_func) PerlCallbackHandler_dynamic_cast;
-  
   SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLDeleter, (void*) "XML::Xerces::XMLDeleter");
   SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLPlatformUtils, (void*) "XML::Xerces::XMLPlatformUtils");
   /*@SWIG:%set_constant@*/ do {
@@ -70119,6 +72975,164 @@ XS(SWIG_init) {
   SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMEntityReference, (void*) "XML::Xerces::DOMEntityReference");
   SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNotation, (void*) "XML::Xerces::DOMNotation");
   SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMProcessingInstruction, (void*) "XML::Xerces::DOMProcessingInstruction");
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMTypeInfo_DERIVATION_RESTRICTION", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMTypeInfo::DERIVATION_RESTRICTION)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMTypeInfo_DERIVATION_EXTENSION", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMTypeInfo::DERIVATION_EXTENSION)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMTypeInfo_DERIVATION_UNION", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMTypeInfo::DERIVATION_UNION)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMTypeInfo_DERIVATION_LIST", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMTypeInfo::DERIVATION_LIST)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTypeInfo, (void*) "XML::Xerces::DOMTypeInfo");
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMPSVITypeInfo_PSVI_Validity", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMPSVITypeInfo::PSVI_Validity)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMPSVITypeInfo_PSVI_Validitation_Attempted", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMPSVITypeInfo::PSVI_Validitation_Attempted)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMPSVITypeInfo_PSVI_Type_Definition_Type", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMPSVITypeInfo::PSVI_Type_Definition_Type)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMPSVITypeInfo_PSVI_Type_Definition_Name", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMPSVITypeInfo::PSVI_Type_Definition_Name)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMPSVITypeInfo_PSVI_Type_Definition_Namespace", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMPSVITypeInfo::PSVI_Type_Definition_Namespace)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMPSVITypeInfo_PSVI_Type_Definition_Anonymous", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMPSVITypeInfo::PSVI_Type_Definition_Anonymous)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMPSVITypeInfo_PSVI_Nil", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMPSVITypeInfo::PSVI_Nil)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMPSVITypeInfo_PSVI_Member_Type_Definition_Name", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMPSVITypeInfo::PSVI_Member_Type_Definition_Name)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMPSVITypeInfo_PSVI_Member_Type_Definition_Namespace", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMPSVITypeInfo::PSVI_Member_Type_Definition_Namespace)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMPSVITypeInfo_PSVI_Member_Type_Definition_Anonymous", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMPSVITypeInfo::PSVI_Member_Type_Definition_Anonymous)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMPSVITypeInfo_PSVI_Schema_Default", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMPSVITypeInfo::PSVI_Schema_Default)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMPSVITypeInfo_PSVI_Schema_Normalized_Value", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMPSVITypeInfo::PSVI_Schema_Normalized_Value)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMPSVITypeInfo_PSVI_Schema_Specified", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMPSVITypeInfo::PSVI_Schema_Specified)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMPSVITypeInfo, (void*) "XML::Xerces::DOMPSVITypeInfo");
+  SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathEvaluator, (void*) "XML::Xerces::DOMXPathEvaluator");
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMXPathException_INVALID_EXPRESSION_ERR", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMXPathException::INVALID_EXPRESSION_ERR)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMXPathException_TYPE_ERR", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMXPathException::TYPE_ERR)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathException, (void*) "XML::Xerces::DOMXPathException");
+  SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathExpression, (void*) "XML::Xerces::DOMXPathExpression");
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMXPathNamespace_XPATH_NAMESPACE_NODE", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMXPathNamespace::XPATH_NAMESPACE_NODE)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathNamespace, (void*) "XML::Xerces::DOMXPathNamespace");
+  SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathNSResolver, (void*) "XML::Xerces::DOMXPathNSResolver");
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMXPathResult_ANY_TYPE", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMXPathResult::ANY_TYPE)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMXPathResult_NUMBER_TYPE", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMXPathResult::NUMBER_TYPE)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMXPathResult_STRING_TYPE", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMXPathResult::STRING_TYPE)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMXPathResult_BOOLEAN_TYPE", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMXPathResult::BOOLEAN_TYPE)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMXPathResult_UNORDERED_NODE_ITERATOR_TYPE", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMXPathResult::UNORDERED_NODE_ITERATOR_TYPE)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMXPathResult_ORDERED_NODE_ITERATOR_TYPE", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMXPathResult::ORDERED_NODE_ITERATOR_TYPE)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMXPathResult_UNORDERED_NODE_SNAPSHOT_TYPE", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMXPathResult::UNORDERED_NODE_SNAPSHOT_TYPE)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMXPathResult_ORDERED_NODE_SNAPSHOT_TYPE", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMXPathResult::ORDERED_NODE_SNAPSHOT_TYPE)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMXPathResult_ANY_UNORDERED_NODE_TYPE", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMXPathResult::ANY_UNORDERED_NODE_TYPE)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMXPathResult_FIRST_ORDERED_NODE_TYPE", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMXPathResult::FIRST_ORDERED_NODE_TYPE)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMXPathResult, (void*) "XML::Xerces::DOMXPathResult");
   SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentRange, (void*) "XML::Xerces::DOMDocumentRange");
   SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentTraversal, (void*) "XML::Xerces::DOMDocumentTraversal");
   SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeIterator, (void*) "XML::Xerces::DOMNodeIterator");
@@ -70236,7 +73250,34 @@ XS(SWIG_init) {
   } while(0) /*@SWIG@*/;
   SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMRangeException, (void*) "XML::Xerces::DOMRangeException");
   SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker, (void*) "XML::Xerces::DOMTreeWalker");
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMUserDataHandler_NODE_CLONED", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMUserDataHandler::NODE_CLONED)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMUserDataHandler_NODE_IMPORTED", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMUserDataHandler::NODE_IMPORTED)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMUserDataHandler_NODE_DELETED", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMUserDataHandler::NODE_DELETED)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMUserDataHandler_NODE_RENAMED", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMUserDataHandler::NODE_RENAMED)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMUserDataHandler_NODE_ADOPTED", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMUserDataHandler::NODE_ADOPTED)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMUserDataHandler, (void*) "XML::Xerces::DOMUserDataHandler");
   SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMConfiguration, (void*) "XML::Xerces::DOMConfiguration");
+  SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMStringList, (void*) "XML::Xerces::DOMStringList");
   /*@SWIG:%set_constant@*/ do {
     SV *sv = get_sv((char*) SWIG_prefix "DOMImplementationLS_MODE_SYNCHRONOUS", TRUE | 0x2);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMImplementationLS::MODE_SYNCHRONOUS)));
@@ -70249,8 +73290,25 @@ XS(SWIG_init) {
   } while(0) /*@SWIG@*/;
   SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS, (void*) "XML::Xerces::DOMImplementationLS");
   SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementation, (void*) "XML::Xerces::DOMImplementation");
+  SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationList, (void*) "XML::Xerces::DOMImplementationList");
   SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationSource, (void*) "XML::Xerces::DOMImplementationSource");
   SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationRegistry, (void*) "XML::Xerces::DOMImplementationRegistry");
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMError_DOM_SEVERITY_WARNING", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMError::DOM_SEVERITY_WARNING)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMError_DOM_SEVERITY_ERROR", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMError::DOM_SEVERITY_ERROR)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMError_DOM_SEVERITY_FATAL_ERROR", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMError::DOM_SEVERITY_FATAL_ERROR)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMError, (void*) "XML::Xerces::DOMError");
   SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMErrorHandler, (void*) "XML::Xerces::DOMErrorHandler");
   SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocument, (void*) "XML::Xerces::DOMDocument");
   SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLocator, (void*) "XML::Xerces::DOMLocator");
@@ -70288,6 +73346,17 @@ XS(SWIG_init) {
   SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__StdOutFormatTarget, (void*) "XML::Xerces::StdOutFormatTarget");
   SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__LocalFileFormatTarget, (void*) "XML::Xerces::LocalFileFormatTarget");
   SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemBufFormatTarget, (void*) "XML::Xerces::MemBufFormatTarget");
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMLSException_PARSE_ERR", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMLSException::PARSE_ERR)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DOMLSException_SERIALIZE_ERR", TRUE | 0x2);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::DOMLSException::SERIALIZE_ERR)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSException, (void*) "XML::Xerces::DOMLSException");
   SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSSerializer, (void*) "XML::Xerces::DOMLSSerializer");
   SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLSSerializerFilter, (void*) "XML::Xerces::DOMLSSerializerFilter");
   SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__SAXException, (void*) "XML::Xerces::SAXException");
@@ -70308,7 +73377,6 @@ XS(SWIG_init) {
   SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DefaultHandler, (void*) "XML::Xerces::DefaultHandler");
   SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLPScanToken, (void*) "XML::Xerces::XMLPScanToken");
   SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__PSVIHandler, (void*) "XML::Xerces::PSVIHandler");
-  SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__Parser, (void*) "XML::Xerces::Parser");
   /*@SWIG:%set_constant@*/ do {
     SV *sv = get_sv((char*) SWIG_prefix "AbstractDOMParser_Val_Never", TRUE | 0x2);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::AbstractDOMParser::Val_Never)));
@@ -70326,6 +73394,7 @@ XS(SWIG_init) {
   } while(0) /*@SWIG@*/;
   SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__AbstractDOMParser, (void*) "XML::Xerces::AbstractDOMParser");
   SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__XercesDOMParser, (void*) "XML::Xerces::XercesDOMParser");
+  SWIG_TypeClientData(SWIGTYPE_p_XERCES_CPP_NAMESPACE__Parser, (void*) "XML::Xerces::Parser");
   /*@SWIG:%set_constant@*/ do {
     SV *sv = get_sv((char*) SWIG_prefix "SAXParser_Val_Never", TRUE | 0x2);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(XERCES_CPP_NAMESPACE::SAXParser::Val_Never)));
diff --git a/swig/perl/Xerces.pm b/swig/perl/Xerces.pm
index d7b53215126c392e0a34b383ac3e9435abbe19d1..a4d43f578d4aa06adfcc2d188f5b7117707661d7 100644
--- a/swig/perl/Xerces.pm
+++ b/swig/perl/Xerces.pm
@@ -14,7 +14,7 @@
  # limitations under the License.
  #
 
-# This file was created automatically by SWIG 1.3.29.
+# This file was created automatically by SWIG 1.3.30.
 # Don't modify this file, modify the SWIG interface instead.
 package XML::Xerces;
 require Exporter;
@@ -667,6 +667,17 @@ sub to_list {
   return @list;
 }
 
+package XML::Xerces::DOMStringList;
+# convert the StringList to a perl list
+sub to_list {
+  my $self = shift;
+  my @list;
+  for (my $i=0;$i<$self->getLength();$i++) {
+    push(@list,$self->item($i));
+  }
+  return @list;
+}
+
 package XML::Xerces::Attributes;
 sub to_hash {
   my $self = shift;
@@ -4086,6 +4097,315 @@ sub ACQUIRE {
 }
 
 
+############# Class : XML::Xerces::DOMTypeInfo ##############
+
+package XML::Xerces::DOMTypeInfo;
+use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
+@ISA = qw( XML::Xerces );
+%OWNER = ();
+%ITERATORS = ();
+sub DESTROY {
+    return unless $_[0]->isa('HASH');
+    my $self = tied(%{$_[0]});
+    return unless defined $self;
+    delete $ITERATORS{$self};
+    if (exists $OWNER{$self}) {
+        XML::Xercesc::delete_DOMTypeInfo($self);
+        delete $OWNER{$self};
+    }
+}
+
+*DERIVATION_RESTRICTION = *XML::Xercesc::DOMTypeInfo_DERIVATION_RESTRICTION;
+*DERIVATION_EXTENSION = *XML::Xercesc::DOMTypeInfo_DERIVATION_EXTENSION;
+*DERIVATION_UNION = *XML::Xercesc::DOMTypeInfo_DERIVATION_UNION;
+*DERIVATION_LIST = *XML::Xercesc::DOMTypeInfo_DERIVATION_LIST;
+*getTypeName = *XML::Xercesc::DOMTypeInfo_getTypeName;
+*getTypeNamespace = *XML::Xercesc::DOMTypeInfo_getTypeNamespace;
+*isDerivedFrom = *XML::Xercesc::DOMTypeInfo_isDerivedFrom;
+sub DISOWN {
+    my $self = shift;
+    my $ptr = tied(%$self);
+    delete $OWNER{$ptr};
+}
+
+sub ACQUIRE {
+    my $self = shift;
+    my $ptr = tied(%$self);
+    $OWNER{$ptr} = 1;
+}
+
+
+############# Class : XML::Xerces::DOMPSVITypeInfo ##############
+
+package XML::Xerces::DOMPSVITypeInfo;
+use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
+@ISA = qw( XML::Xerces );
+%OWNER = ();
+%ITERATORS = ();
+*PSVI_Validity = *XML::Xercesc::DOMPSVITypeInfo_PSVI_Validity;
+*PSVI_Validitation_Attempted = *XML::Xercesc::DOMPSVITypeInfo_PSVI_Validitation_Attempted;
+*PSVI_Type_Definition_Type = *XML::Xercesc::DOMPSVITypeInfo_PSVI_Type_Definition_Type;
+*PSVI_Type_Definition_Name = *XML::Xercesc::DOMPSVITypeInfo_PSVI_Type_Definition_Name;
+*PSVI_Type_Definition_Namespace = *XML::Xercesc::DOMPSVITypeInfo_PSVI_Type_Definition_Namespace;
+*PSVI_Type_Definition_Anonymous = *XML::Xercesc::DOMPSVITypeInfo_PSVI_Type_Definition_Anonymous;
+*PSVI_Nil = *XML::Xercesc::DOMPSVITypeInfo_PSVI_Nil;
+*PSVI_Member_Type_Definition_Name = *XML::Xercesc::DOMPSVITypeInfo_PSVI_Member_Type_Definition_Name;
+*PSVI_Member_Type_Definition_Namespace = *XML::Xercesc::DOMPSVITypeInfo_PSVI_Member_Type_Definition_Namespace;
+*PSVI_Member_Type_Definition_Anonymous = *XML::Xercesc::DOMPSVITypeInfo_PSVI_Member_Type_Definition_Anonymous;
+*PSVI_Schema_Default = *XML::Xercesc::DOMPSVITypeInfo_PSVI_Schema_Default;
+*PSVI_Schema_Normalized_Value = *XML::Xercesc::DOMPSVITypeInfo_PSVI_Schema_Normalized_Value;
+*PSVI_Schema_Specified = *XML::Xercesc::DOMPSVITypeInfo_PSVI_Schema_Specified;
+sub DESTROY {
+    return unless $_[0]->isa('HASH');
+    my $self = tied(%{$_[0]});
+    return unless defined $self;
+    delete $ITERATORS{$self};
+    if (exists $OWNER{$self}) {
+        XML::Xercesc::delete_DOMPSVITypeInfo($self);
+        delete $OWNER{$self};
+    }
+}
+
+*getStringProperty = *XML::Xercesc::DOMPSVITypeInfo_getStringProperty;
+*getNumericProperty = *XML::Xercesc::DOMPSVITypeInfo_getNumericProperty;
+sub DISOWN {
+    my $self = shift;
+    my $ptr = tied(%$self);
+    delete $OWNER{$ptr};
+}
+
+sub ACQUIRE {
+    my $self = shift;
+    my $ptr = tied(%$self);
+    $OWNER{$ptr} = 1;
+}
+
+
+############# Class : XML::Xerces::DOMXPathEvaluator ##############
+
+package XML::Xerces::DOMXPathEvaluator;
+use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
+@ISA = qw( XML::Xerces );
+%OWNER = ();
+%ITERATORS = ();
+sub DESTROY {
+    return unless $_[0]->isa('HASH');
+    my $self = tied(%{$_[0]});
+    return unless defined $self;
+    delete $ITERATORS{$self};
+    if (exists $OWNER{$self}) {
+        XML::Xercesc::delete_DOMXPathEvaluator($self);
+        delete $OWNER{$self};
+    }
+}
+
+*createExpression = *XML::Xercesc::DOMXPathEvaluator_createExpression;
+*createNSResolver = *XML::Xercesc::DOMXPathEvaluator_createNSResolver;
+*evaluate = *XML::Xercesc::DOMXPathEvaluator_evaluate;
+sub DISOWN {
+    my $self = shift;
+    my $ptr = tied(%$self);
+    delete $OWNER{$ptr};
+}
+
+sub ACQUIRE {
+    my $self = shift;
+    my $ptr = tied(%$self);
+    $OWNER{$ptr} = 1;
+}
+
+
+############# Class : XML::Xerces::DOMXPathException ##############
+
+package XML::Xerces::DOMXPathException;
+use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
+@ISA = qw( XML::Xerces );
+%OWNER = ();
+%ITERATORS = ();
+sub new {
+    my $pkg = shift;
+    my $self = XML::Xercesc::new_DOMXPathException(@_);
+    bless $self, $pkg if defined($self);
+}
+
+sub DESTROY {
+    return unless $_[0]->isa('HASH');
+    my $self = tied(%{$_[0]});
+    return unless defined $self;
+    delete $ITERATORS{$self};
+    if (exists $OWNER{$self}) {
+        XML::Xercesc::delete_DOMXPathException($self);
+        delete $OWNER{$self};
+    }
+}
+
+*INVALID_EXPRESSION_ERR = *XML::Xercesc::DOMXPathException_INVALID_EXPRESSION_ERR;
+*TYPE_ERR = *XML::Xercesc::DOMXPathException_TYPE_ERR;
+*swig_code_get = *XML::Xercesc::DOMXPathException_code_get;
+*swig_code_set = *XML::Xercesc::DOMXPathException_code_set;
+*swig_msg_get = *XML::Xercesc::DOMXPathException_msg_get;
+*swig_msg_set = *XML::Xercesc::DOMXPathException_msg_set;
+sub DISOWN {
+    my $self = shift;
+    my $ptr = tied(%$self);
+    delete $OWNER{$ptr};
+}
+
+sub ACQUIRE {
+    my $self = shift;
+    my $ptr = tied(%$self);
+    $OWNER{$ptr} = 1;
+}
+
+
+############# Class : XML::Xerces::DOMXPathExpression ##############
+
+package XML::Xerces::DOMXPathExpression;
+use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
+@ISA = qw( XML::Xerces );
+%OWNER = ();
+%ITERATORS = ();
+sub DESTROY {
+    return unless $_[0]->isa('HASH');
+    my $self = tied(%{$_[0]});
+    return unless defined $self;
+    delete $ITERATORS{$self};
+    if (exists $OWNER{$self}) {
+        XML::Xercesc::delete_DOMXPathExpression($self);
+        delete $OWNER{$self};
+    }
+}
+
+*evaluate = *XML::Xercesc::DOMXPathExpression_evaluate;
+sub DISOWN {
+    my $self = shift;
+    my $ptr = tied(%$self);
+    delete $OWNER{$ptr};
+}
+
+sub ACQUIRE {
+    my $self = shift;
+    my $ptr = tied(%$self);
+    $OWNER{$ptr} = 1;
+}
+
+
+############# Class : XML::Xerces::DOMXPathNamespace ##############
+
+package XML::Xerces::DOMXPathNamespace;
+use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
+@ISA = qw( XML::Xerces::DOMNode XML::Xerces );
+%OWNER = ();
+%ITERATORS = ();
+*XPATH_NAMESPACE_NODE = *XML::Xercesc::DOMXPathNamespace_XPATH_NAMESPACE_NODE;
+sub DESTROY {
+    return unless $_[0]->isa('HASH');
+    my $self = tied(%{$_[0]});
+    return unless defined $self;
+    delete $ITERATORS{$self};
+    if (exists $OWNER{$self}) {
+        XML::Xercesc::delete_DOMXPathNamespace($self);
+        delete $OWNER{$self};
+    }
+}
+
+*getOwnerElement = *XML::Xercesc::DOMXPathNamespace_getOwnerElement;
+sub DISOWN {
+    my $self = shift;
+    my $ptr = tied(%$self);
+    delete $OWNER{$ptr};
+}
+
+sub ACQUIRE {
+    my $self = shift;
+    my $ptr = tied(%$self);
+    $OWNER{$ptr} = 1;
+}
+
+
+############# Class : XML::Xerces::DOMXPathNSResolver ##############
+
+package XML::Xerces::DOMXPathNSResolver;
+use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
+@ISA = qw( XML::Xerces );
+%OWNER = ();
+%ITERATORS = ();
+sub DESTROY {
+    return unless $_[0]->isa('HASH');
+    my $self = tied(%{$_[0]});
+    return unless defined $self;
+    delete $ITERATORS{$self};
+    if (exists $OWNER{$self}) {
+        XML::Xercesc::delete_DOMXPathNSResolver($self);
+        delete $OWNER{$self};
+    }
+}
+
+*lookupNamespaceURI = *XML::Xercesc::DOMXPathNSResolver_lookupNamespaceURI;
+*lookupPrefix = *XML::Xercesc::DOMXPathNSResolver_lookupPrefix;
+sub DISOWN {
+    my $self = shift;
+    my $ptr = tied(%$self);
+    delete $OWNER{$ptr};
+}
+
+sub ACQUIRE {
+    my $self = shift;
+    my $ptr = tied(%$self);
+    $OWNER{$ptr} = 1;
+}
+
+
+############# Class : XML::Xerces::DOMXPathResult ##############
+
+package XML::Xerces::DOMXPathResult;
+use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
+@ISA = qw( XML::Xerces );
+%OWNER = ();
+%ITERATORS = ();
+sub DESTROY {
+    return unless $_[0]->isa('HASH');
+    my $self = tied(%{$_[0]});
+    return unless defined $self;
+    delete $ITERATORS{$self};
+    if (exists $OWNER{$self}) {
+        XML::Xercesc::delete_DOMXPathResult($self);
+        delete $OWNER{$self};
+    }
+}
+
+*ANY_TYPE = *XML::Xercesc::DOMXPathResult_ANY_TYPE;
+*NUMBER_TYPE = *XML::Xercesc::DOMXPathResult_NUMBER_TYPE;
+*STRING_TYPE = *XML::Xercesc::DOMXPathResult_STRING_TYPE;
+*BOOLEAN_TYPE = *XML::Xercesc::DOMXPathResult_BOOLEAN_TYPE;
+*UNORDERED_NODE_ITERATOR_TYPE = *XML::Xercesc::DOMXPathResult_UNORDERED_NODE_ITERATOR_TYPE;
+*ORDERED_NODE_ITERATOR_TYPE = *XML::Xercesc::DOMXPathResult_ORDERED_NODE_ITERATOR_TYPE;
+*UNORDERED_NODE_SNAPSHOT_TYPE = *XML::Xercesc::DOMXPathResult_UNORDERED_NODE_SNAPSHOT_TYPE;
+*ORDERED_NODE_SNAPSHOT_TYPE = *XML::Xercesc::DOMXPathResult_ORDERED_NODE_SNAPSHOT_TYPE;
+*ANY_UNORDERED_NODE_TYPE = *XML::Xercesc::DOMXPathResult_ANY_UNORDERED_NODE_TYPE;
+*FIRST_ORDERED_NODE_TYPE = *XML::Xercesc::DOMXPathResult_FIRST_ORDERED_NODE_TYPE;
+*getBooleanValue = *XML::Xercesc::DOMXPathResult_getBooleanValue;
+*getInvalidIteratorState = *XML::Xercesc::DOMXPathResult_getInvalidIteratorState;
+*getNumberValue = *XML::Xercesc::DOMXPathResult_getNumberValue;
+*getResultType = *XML::Xercesc::DOMXPathResult_getResultType;
+*getSingleNodeValue = *XML::Xercesc::DOMXPathResult_getSingleNodeValue;
+*getSnapshotLength = *XML::Xercesc::DOMXPathResult_getSnapshotLength;
+*getStringValue = *XML::Xercesc::DOMXPathResult_getStringValue;
+*iterateNext = *XML::Xercesc::DOMXPathResult_iterateNext;
+*snapshotItem = *XML::Xercesc::DOMXPathResult_snapshotItem;
+sub DISOWN {
+    my $self = shift;
+    my $ptr = tied(%$self);
+    delete $OWNER{$ptr};
+}
+
+sub ACQUIRE {
+    my $self = shift;
+    my $ptr = tied(%$self);
+    $OWNER{$ptr} = 1;
+}
+
+
 ############# Class : XML::Xerces::DOMDocumentRange ##############
 
 package XML::Xerces::DOMDocumentRange;
@@ -4406,6 +4726,43 @@ sub ACQUIRE {
 }
 
 
+############# Class : XML::Xerces::DOMUserDataHandler ##############
+
+package XML::Xerces::DOMUserDataHandler;
+use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
+@ISA = qw( XML::Xerces );
+%OWNER = ();
+%ITERATORS = ();
+sub DESTROY {
+    return unless $_[0]->isa('HASH');
+    my $self = tied(%{$_[0]});
+    return unless defined $self;
+    delete $ITERATORS{$self};
+    if (exists $OWNER{$self}) {
+        XML::Xercesc::delete_DOMUserDataHandler($self);
+        delete $OWNER{$self};
+    }
+}
+
+*NODE_CLONED = *XML::Xercesc::DOMUserDataHandler_NODE_CLONED;
+*NODE_IMPORTED = *XML::Xercesc::DOMUserDataHandler_NODE_IMPORTED;
+*NODE_DELETED = *XML::Xercesc::DOMUserDataHandler_NODE_DELETED;
+*NODE_RENAMED = *XML::Xercesc::DOMUserDataHandler_NODE_RENAMED;
+*NODE_ADOPTED = *XML::Xercesc::DOMUserDataHandler_NODE_ADOPTED;
+*handle = *XML::Xercesc::DOMUserDataHandler_handle;
+sub DISOWN {
+    my $self = shift;
+    my $ptr = tied(%$self);
+    delete $OWNER{$ptr};
+}
+
+sub ACQUIRE {
+    my $self = shift;
+    my $ptr = tied(%$self);
+    $OWNER{$ptr} = 1;
+}
+
+
 ############# Class : XML::Xerces::DOMConfiguration ##############
 
 package XML::Xerces::DOMConfiguration;
@@ -4413,7 +4770,19 @@ use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
 @ISA = qw( XML::Xerces );
 %OWNER = ();
 %ITERATORS = ();
-*setParameter = *XML::Xercesc::DOMConfiguration_setParameter;
+sub setParameter {
+  my ($self,$name,$value) = @_;
+
+  if ($name eq $XML::Xerces::XMLUni::fgDOMErrorHandler) {
+    $value = XML::Xerces::PerlErrorCallbackHandler->new($_[2]);
+    $XML::Xerces::REMEMBER{tied(% {$self})}->{__ERROR_HANDLER} = $value;
+  } elsif ($name eq $XML::Xerces::XMLUni::fgXercesEntityResolver) {
+    $value = XML::Xerces::PerlEntityResolverHandler->new($_[2]);
+    $XML::Xerces::REMEMBER{tied(% {$self})}->{__ENTITY_RESOLVER} = $value;
+  }
+  return XML::Xercesc::DOMConfiguration_setParameter($self,$name,$value);
+}
+
 *getParameter = *XML::Xercesc::DOMConfiguration_getParameter;
 *canSetParameter = *XML::Xercesc::DOMConfiguration_canSetParameter;
 *getParameterNames = *XML::Xercesc::DOMConfiguration_getParameterNames;
@@ -4441,6 +4810,41 @@ sub ACQUIRE {
 }
 
 
+############# Class : XML::Xerces::DOMStringList ##############
+
+package XML::Xerces::DOMStringList;
+use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
+@ISA = qw( XML::Xerces );
+%OWNER = ();
+%ITERATORS = ();
+sub DESTROY {
+    return unless $_[0]->isa('HASH');
+    my $self = tied(%{$_[0]});
+    return unless defined $self;
+    delete $ITERATORS{$self};
+    if (exists $OWNER{$self}) {
+        XML::Xercesc::delete_DOMStringList($self);
+        delete $OWNER{$self};
+    }
+}
+
+*item = *XML::Xercesc::DOMStringList_item;
+*getLength = *XML::Xercesc::DOMStringList_getLength;
+*contains = *XML::Xercesc::DOMStringList_contains;
+*release = *XML::Xercesc::DOMStringList_release;
+sub DISOWN {
+    my $self = shift;
+    my $ptr = tied(%$self);
+    delete $OWNER{$ptr};
+}
+
+sub ACQUIRE {
+    my $self = shift;
+    my $ptr = tied(%$self);
+    $OWNER{$ptr} = 1;
+}
+
+
 ############# Class : XML::Xerces::DOMImplementationLS ##############
 
 package XML::Xerces::DOMImplementationLS;
@@ -4523,6 +4927,40 @@ sub ACQUIRE {
 }
 
 
+############# Class : XML::Xerces::DOMImplementationList ##############
+
+package XML::Xerces::DOMImplementationList;
+use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
+@ISA = qw( XML::Xerces );
+%OWNER = ();
+%ITERATORS = ();
+sub DESTROY {
+    return unless $_[0]->isa('HASH');
+    my $self = tied(%{$_[0]});
+    return unless defined $self;
+    delete $ITERATORS{$self};
+    if (exists $OWNER{$self}) {
+        XML::Xercesc::delete_DOMImplementationList($self);
+        delete $OWNER{$self};
+    }
+}
+
+*item = *XML::Xercesc::DOMImplementationList_item;
+*getLength = *XML::Xercesc::DOMImplementationList_getLength;
+*release = *XML::Xercesc::DOMImplementationList_release;
+sub DISOWN {
+    my $self = shift;
+    my $ptr = tied(%$self);
+    delete $OWNER{$ptr};
+}
+
+sub ACQUIRE {
+    my $self = shift;
+    my $ptr = tied(%$self);
+    $OWNER{$ptr} = 1;
+}
+
+
 ############# Class : XML::Xerces::DOMImplementationSource ##############
 
 package XML::Xerces::DOMImplementationSource;
@@ -4590,6 +5028,46 @@ sub ACQUIRE {
 }
 
 
+############# Class : XML::Xerces::DOMError ##############
+
+package XML::Xerces::DOMError;
+use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
+@ISA = qw( XML::Xerces );
+%OWNER = ();
+%ITERATORS = ();
+sub DESTROY {
+    return unless $_[0]->isa('HASH');
+    my $self = tied(%{$_[0]});
+    return unless defined $self;
+    delete $ITERATORS{$self};
+    if (exists $OWNER{$self}) {
+        XML::Xercesc::delete_DOMError($self);
+        delete $OWNER{$self};
+    }
+}
+
+*DOM_SEVERITY_WARNING = *XML::Xercesc::DOMError_DOM_SEVERITY_WARNING;
+*DOM_SEVERITY_ERROR = *XML::Xercesc::DOMError_DOM_SEVERITY_ERROR;
+*DOM_SEVERITY_FATAL_ERROR = *XML::Xercesc::DOMError_DOM_SEVERITY_FATAL_ERROR;
+*getSeverity = *XML::Xercesc::DOMError_getSeverity;
+*getMessage = *XML::Xercesc::DOMError_getMessage;
+*getLocation = *XML::Xercesc::DOMError_getLocation;
+*getRelatedException = *XML::Xercesc::DOMError_getRelatedException;
+*getType = *XML::Xercesc::DOMError_getType;
+*getRelatedData = *XML::Xercesc::DOMError_getRelatedData;
+sub DISOWN {
+    my $self = shift;
+    my $ptr = tied(%$self);
+    delete $OWNER{$ptr};
+}
+
+sub ACQUIRE {
+    my $self = shift;
+    my $ptr = tied(%$self);
+    $OWNER{$ptr} = 1;
+}
+
+
 ############# Class : XML::Xerces::DOMErrorHandler ##############
 
 package XML::Xerces::DOMErrorHandler;
@@ -4626,7 +5104,7 @@ sub ACQUIRE {
 
 package XML::Xerces::DOMDocument;
 use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
-@ISA = qw( XML::Xerces::DOMDocumentRange XML::Xerces::DOMDocumentTraversal XML::Xerces::DOMNode XML::Xerces );
+@ISA = qw( XML::Xerces::DOMDocumentRange XML::Xerces::DOMXPathEvaluator XML::Xerces::DOMDocumentTraversal XML::Xerces::DOMNode XML::Xerces );
 %OWNER = ();
 sub DESTROY {
     return unless $_[0]->isa('HASH');
@@ -5136,6 +5614,50 @@ sub ACQUIRE {
 }
 
 
+############# Class : XML::Xerces::DOMLSException ##############
+
+package XML::Xerces::DOMLSException;
+use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
+@ISA = qw( XML::Xerces::DOMException XML::Xerces );
+%OWNER = ();
+%ITERATORS = ();
+*PARSE_ERR = *XML::Xercesc::DOMLSException_PARSE_ERR;
+*SERIALIZE_ERR = *XML::Xercesc::DOMLSException_SERIALIZE_ERR;
+sub new {
+    my $pkg = shift;
+    my $self = XML::Xercesc::new_DOMLSException(@_);
+    bless $self, $pkg if defined($self);
+}
+
+sub DESTROY {
+    return unless $_[0]->isa('HASH');
+    my $self = tied(%{$_[0]});
+    return unless defined $self;
+    delete $ITERATORS{$self};
+    if (exists $OWNER{$self}) {
+        XML::Xercesc::delete_DOMLSException($self);
+        delete $OWNER{$self};
+    }
+}
+
+*getMessage = *XML::Xercesc::DOMLSException_getMessage;
+*swig_code_get = *XML::Xercesc::DOMLSException_code_get;
+*swig_code_set = *XML::Xercesc::DOMLSException_code_set;
+*swig_msg_get = *XML::Xercesc::DOMLSException_msg_get;
+*swig_msg_set = *XML::Xercesc::DOMLSException_msg_set;
+sub DISOWN {
+    my $self = shift;
+    my $ptr = tied(%$self);
+    delete $OWNER{$ptr};
+}
+
+sub ACQUIRE {
+    my $self = shift;
+    my $ptr = tied(%$self);
+    $OWNER{$ptr} = 1;
+}
+
+
 ############# Class : XML::Xerces::DOMLSSerializer ##############
 
 package XML::Xerces::DOMLSSerializer;
@@ -5872,56 +6394,6 @@ sub ACQUIRE {
 }
 
 
-############# Class : XML::Xerces::Parser ##############
-
-package XML::Xerces::Parser;
-use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
-@ISA = qw( XML::Xerces );
-%OWNER = ();
-%ITERATORS = ();
-sub DESTROY {
-    return unless $_[0]->isa('HASH');
-    my $self = tied(%{$_[0]});
-    return unless defined $self;
-    delete $ITERATORS{$self};
-    if (exists $OWNER{$self}) {
-        XML::Xercesc::delete_Parser($self);
-        delete $OWNER{$self};
-    }
-}
-
-sub setEntityResolver {
-  my ($self,$handler) = @_;
-  my $callback = XML::Xerces::PerlEntityResolverHandler->new($handler);
-  $XML::Xerces::REMEMBER{tied(% {$self})}->{__ENTITY_RESOLVER} = $callback;
-
-  return XML::Xercesc::Parser_setEntityResolver($self,$callback);
-}
-
-*setDTDHandler = *XML::Xercesc::Parser_setDTDHandler;
-*setDocumentHandler = *XML::Xercesc::Parser_setDocumentHandler;
-sub setErrorHandler {
-  my ($self,$handler) = @_;
-  my $callback = XML::Xerces::PerlErrorCallbackHandler->new($handler);
-  $XML::Xerces::REMEMBER{tied(% {$self})}->{__ERROR_HANDLER} = $callback;
-
-  return XML::Xercesc::Parser_setErrorHandler($self,$callback);
-}
-
-*parse = *XML::Xercesc::Parser_parse;
-sub DISOWN {
-    my $self = shift;
-    my $ptr = tied(%$self);
-    delete $OWNER{$ptr};
-}
-
-sub ACQUIRE {
-    my $self = shift;
-    my $ptr = tied(%$self);
-    $OWNER{$ptr} = 1;
-}
-
-
 ############# Class : XML::Xerces::AbstractDOMParser ##############
 
 package XML::Xerces::AbstractDOMParser;
@@ -6099,6 +6571,56 @@ sub ACQUIRE {
 }
 
 
+############# Class : XML::Xerces::Parser ##############
+
+package XML::Xerces::Parser;
+use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
+@ISA = qw( XML::Xerces );
+%OWNER = ();
+%ITERATORS = ();
+sub DESTROY {
+    return unless $_[0]->isa('HASH');
+    my $self = tied(%{$_[0]});
+    return unless defined $self;
+    delete $ITERATORS{$self};
+    if (exists $OWNER{$self}) {
+        XML::Xercesc::delete_Parser($self);
+        delete $OWNER{$self};
+    }
+}
+
+sub setEntityResolver {
+  my ($self,$handler) = @_;
+  my $callback = XML::Xerces::PerlEntityResolverHandler->new($handler);
+  $XML::Xerces::REMEMBER{tied(% {$self})}->{__ENTITY_RESOLVER} = $callback;
+
+  return XML::Xercesc::Parser_setEntityResolver($self,$callback);
+}
+
+*setDTDHandler = *XML::Xercesc::Parser_setDTDHandler;
+*setDocumentHandler = *XML::Xercesc::Parser_setDocumentHandler;
+sub setErrorHandler {
+  my ($self,$handler) = @_;
+  my $callback = XML::Xerces::PerlErrorCallbackHandler->new($handler);
+  $XML::Xerces::REMEMBER{tied(% {$self})}->{__ERROR_HANDLER} = $callback;
+
+  return XML::Xercesc::Parser_setErrorHandler($self,$callback);
+}
+
+*parse = *XML::Xercesc::Parser_parse;
+sub DISOWN {
+    my $self = shift;
+    my $ptr = tied(%$self);
+    delete $OWNER{$ptr};
+}
+
+sub ACQUIRE {
+    my $self = shift;
+    my $ptr = tied(%$self);
+    $OWNER{$ptr} = 1;
+}
+
+
 ############# Class : XML::Xerces::SAXParser ##############
 
 package XML::Xerces::SAXParser;