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

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

Modified: xerces/xerces-p/trunk/Xerces.pm
URL: http://svn.apache.org/viewcvs/xerces/xerces-p/trunk/Xerces.pm?rev=351957&r1=351956&r2=351957&view=diff
==============================================================================
--- xerces/xerces-p/trunk/Xerces.pm (original)
+++ xerces/xerces-p/trunk/Xerces.pm Sat Dec  3 07:29:16 2005
@@ -1,3 +1,19 @@
+ #
+ # Copyright 2002,2004 The Apache Software Foundation.
+ #
+ # Licensed under the Apache License, Version 2.0 (the "License");
+ # you may not use this file except in compliance with the License.
+ # You may obtain a copy of the License at
+ #
+ #      http://www.apache.org/licenses/LICENSE-2.0
+ #
+ # Unless required by applicable law or agreed to in writing, software
+ # distributed under the License is distributed on an "AS IS" BASIS,
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ # See the License for the specific language governing permissions and
+ # limitations under the License.
+ #
+
 # This file was automatically generated by SWIG
 package XML::Xerces;
 require Exporter;
@@ -5,31 +21,33 @@
 @ISA = qw(Exporter DynaLoader);
 package XML::Xercesc;
 bootstrap XML::Xerces;
+package XML::Xerces;
+@EXPORT = qw( );
+package XML::Xerces;
 
 use strict;
+use Carp;
+use vars qw(@EXPORT_OK $VERSION %REMEMBER);
+@EXPORT_OK = qw(error);
+$VERSION = 260.1;
 
-INIT {
-  # NOTICE: We are automatically calling XMLPlatformUtils::Initialize()
-  #   when the module is loaded. Don't bother calling it on your own.
-  #
-  #
-  XML::Xerces::XMLPlatformUtils::Initialize();
-}
+#
+# Cleanup removes all objects being remembered by an object
+#
+sub cleanup {
+  my $self = shift;
+  return unless tied(%{$self});
 
-END {
-  # NOTICE: We are automatically calling XMLPlatformUtils::Terminate()
-  #   when the module is unloaded. Don't bother calling it on your own.
-  #
-  #
-  XML::Xerces::XMLPlatformUtils::Terminate();
+# printf STDERR "Cleaning up: $self\n";
+  if (exists $REMEMBER{tied(%{$self})}) {
+      delete $REMEMBER{tied(%{$self})};
+  }
+# my $class = ref $self;
+#   if (exists $class::OWNER{tied(%{$self})}) {
+# printf STDERR "\tObject is owner: $self\n";
+#   }
 }
 
-package XML::Xerces;
-use Carp;
-use vars qw(@EXPORT_OK $VERSION);
-@EXPORT_OK = qw(error);
-$VERSION = 250.0;
-
 sub error {
   my $error = shift;
   my $context = shift;
@@ -71,6 +89,414 @@
 	    INVALID_ACCESS_ERR
 	   );
 
+package XML::Xerces::XMLExcepts;
+use vars qw(@CODES);
+@CODES = qw(NoError
+	    W_LowBounds
+	    Scan_CouldNotOpenSource_Warning
+	    GC_ExistingGrammar
+	    W_HighBounds
+	    F_LowBounds
+	    Array_BadIndex
+	    Array_BadNewSize
+	    AttrList_BadIndex
+	    AttDef_BadAttType
+	    AttDef_BadDefAttType
+	    Bitset_BadIndex
+	    Bitset_NotEqualSize
+	    BufMgr_NoMoreBuffers
+	    BufMgr_BufferNotInPool
+	    CPtr_PointerIsZero
+	    CM_BinOpHadUnaryType
+	    CM_MustBeMixedOrChildren
+	    CM_NoPCDATAHere
+	    CM_NotValidForSpecType
+	    CM_UnaryOpHadBinType
+	    CM_UnknownCMType
+	    CM_UnknownCMSpecType
+	    CM_NoParentCSN
+	    CM_NotValidSpecTypeForNode
+	    DTD_UnknownCreateReason
+	    ElemStack_EmptyStack
+	    ElemStack_BadIndex
+	    ElemStack_StackUnderflow
+	    ElemStack_NoParentPushed
+	    Enum_NoMoreElements
+	    File_CouldNotOpenFile
+	    File_CouldNotGetCurPos
+	    File_CouldNotCloseFile
+	    File_CouldNotSeekToEnd
+	    File_CouldNotSeekToPos
+	    File_CouldNotDupHandle
+	    File_CouldNotReadFromFile
+	    File_CouldNotWriteToFile
+	    File_CouldNotResetFile
+	    File_CouldNotGetSize
+	    File_CouldNotGetBasePathName
+	    File_BasePathUnderflow
+	    Gen_ParseInProgress
+	    Gen_NoDTDValidator
+	    Gen_CouldNotOpenDTD
+	    Gen_CouldNotOpenExtEntity
+	    Gen_UnexpectedEOF
+	    HshTbl_ZeroModulus
+	    HshTbl_BadHashFromKey
+	    HshTbl_NoSuchKeyExists
+	    Mutex_CouldNotCreate
+	    Mutex_CouldNotClose
+	    Mutex_CouldNotLock
+	    Mutex_CouldNotUnlock
+	    Mutex_CouldNotDestroy
+	    NetAcc_InternalError
+	    NetAcc_LengthError
+	    NetAcc_InitFailed
+	    NetAcc_TargetResolution
+	    NetAcc_CreateSocket
+	    NetAcc_ConnSocket
+	    NetAcc_WriteSocket
+	    NetAcc_ReadSocket
+	    NetAcc_UnsupportedMethod
+	    Pool_ElemAlreadyExists
+	    Pool_BadHashFromKey
+	    Pool_InvalidId
+	    Pool_ZeroModulus
+	    RdrMgr_ReaderIdNotFound
+	    Reader_BadAutoEncoding
+	    Reader_CouldNotDecodeFirstLine
+	    Reader_NelLsepinDecl
+	    Reader_EOIInMultiSeq
+	    Reader_SrcOfsNotSupported
+	    Reader_EncodingStrRequired
+	    Scan_CouldNotOpenSource
+	    Scan_UnbalancedStartEnd
+	    Scan_BadPScanToken
+	    Stack_BadIndex
+	    Stack_EmptyStack
+	    Str_ZeroSizedTargetBuf
+	    Str_UnknownRadix
+	    Str_TargetBufTooSmall
+	    Str_StartIndexPastEnd
+	    Str_ConvertOverflow
+	    Strm_StdErrWriteFailure
+	    Strm_StdOutWriteFailure
+	    Strm_ConWriteFailure
+	    StrPool_IllegalId
+	    Trans_CouldNotCreateDefCvtr
+	    Trans_InvalidSizeReq
+	    Trans_Unrepresentable
+	    Trans_NotValidForEncoding
+	    Trans_BadBlockSize
+	    Trans_BadSrcSeq
+	    Trans_BadSrcCP
+	    Trans_BadTrailingSurrogate
+	    Trans_CantCreateCvtrFor
+	    URL_MalformedURL
+	    URL_UnsupportedProto
+	    URL_UnsupportedProto1
+	    URL_OnlyLocalHost
+	    URL_NoProtocolPresent
+	    URL_ExpectingTwoSlashes
+	    URL_IncorrectEscapedCharRef
+	    URL_UnterminatedHostComponent
+	    URL_RelativeBaseURL
+	    URL_BaseUnderflow
+	    URL_BadPortField
+	    UTF8_FormatError
+	    UTF8_Invalid_2BytesSeq
+	    UTF8_Invalid_3BytesSeq
+	    UTF8_Irregular_3BytesSeq
+	    UTF8_Invalid_4BytesSeq
+	    UTF8_Exceede_BytesLimit
+	    Vector_BadIndex
+	    Val_InvalidElemId
+	    Val_CantHaveIntSS
+	    XMLRec_UnknownEncoding
+	    Parser_Parse1
+	    Parser_Parse2
+	    Parser_Next1
+	    Parser_Next2
+	    Parser_Next3
+	    Parser_Next4
+	    Parser_Factor1
+	    Parser_Factor2
+	    Parser_Factor3
+	    Parser_Factor4
+	    Parser_Factor5
+	    Parser_Factor6
+	    Parser_Atom1
+	    Parser_Atom2
+	    Parser_Atom3
+	    Parser_Atom4
+	    Parser_Atom5
+	    Parser_CC1
+	    Parser_CC2
+	    Parser_CC3
+	    Parser_CC4
+	    Parser_CC5
+	    Parser_CC6
+	    Parser_Ope1
+	    Parser_Ope2
+	    Parser_Ope3
+	    Parser_Descape1
+	    Parser_Descape2
+	    Parser_Descape3
+	    Parser_Descape4
+	    Parser_Descape5
+	    Parser_Process1
+	    Parser_Process2
+	    Parser_Quantifier1
+	    Parser_Quantifier2
+	    Parser_Quantifier3
+	    Parser_Quantifier4
+	    Parser_Quantifier5
+	    Gen_NoSchemaValidator
+	    XUTIL_UnCopyableNodeType
+	    SubGrpComparator_NGR
+	    FACET_Invalid_Len
+	    FACET_Invalid_maxLen
+	    FACET_Invalid_minLen
+	    FACET_NonNeg_Len
+	    FACET_NonNeg_maxLen
+	    FACET_NonNeg_minLen
+	    FACET_Len_maxLen
+	    FACET_Len_minLen
+	    FACET_maxLen_minLen
+	    FACET_bool_Pattern
+	    FACET_Invalid_Tag
+	    FACET_Len_baseLen
+	    FACET_minLen_baseminLen
+	    FACET_minLen_basemaxLen
+	    FACET_maxLen_basemaxLen
+	    FACET_maxLen_baseminLen
+	    FACET_Len_baseMinLen
+	    FACET_Len_baseMaxLen
+	    FACET_minLen_baseLen
+	    FACET_maxLen_baseLen
+	    FACET_enum_base
+	    FACET_Invalid_WS
+	    FACET_WS_collapse
+	    FACET_WS_replace
+	    FACET_Invalid_MaxIncl
+	    FACET_Invalid_MaxExcl
+	    FACET_Invalid_MinIncl
+	    FACET_Invalid_MinExcl
+	    FACET_Invalid_TotalDigit
+	    FACET_Invalid_FractDigit
+	    FACET_PosInt_TotalDigit
+	    FACET_NonNeg_FractDigit
+	    FACET_max_Incl_Excl
+	    FACET_min_Incl_Excl
+	    FACET_maxExcl_minExcl
+	    FACET_maxExcl_minIncl
+	    FACET_maxIncl_minExcl
+	    FACET_maxIncl_minIncl
+	    FACET_TotDigit_FractDigit
+	    FACET_maxIncl_base_maxExcl
+	    FACET_maxIncl_base_maxIncl
+	    FACET_maxIncl_base_minIncl
+	    FACET_maxIncl_base_minExcl
+	    FACET_maxExcl_base_maxExcl
+	    FACET_maxExcl_base_maxIncl
+	    FACET_maxExcl_base_minIncl
+	    FACET_maxExcl_base_minExcl
+	    FACET_minExcl_base_maxExcl
+	    FACET_minExcl_base_maxIncl
+	    FACET_minExcl_base_minIncl
+	    FACET_minExcl_base_minExcl
+	    FACET_minIncl_base_maxExcl
+	    FACET_minIncl_base_maxIncl
+	    FACET_minIncl_base_minIncl
+	    FACET_minIncl_base_minExcl
+	    FACET_maxIncl_notFromBase
+	    FACET_maxExcl_notFromBase
+	    FACET_minIncl_notFromBase
+	    FACET_minExcl_notFromBase
+	    FACET_totalDigit_base_totalDigit
+	    FACET_fractDigit_base_totalDigit
+	    FACET_fractDigit_base_fractDigit
+	    FACET_maxIncl_base_fixed
+	    FACET_maxExcl_base_fixed
+	    FACET_minIncl_base_fixed
+	    FACET_minExcl_base_fixed
+	    FACET_totalDigit_base_fixed
+	    FACET_fractDigit_base_fixed
+	    FACET_maxLen_base_fixed
+	    FACET_minLen_base_fixed
+	    FACET_len_base_fixed
+	    FACET_whitespace_base_fixed
+	    FACET_internalError_fixed
+	    FACET_List_Null_baseValidator
+	    FACET_Union_Null_memberTypeValidators
+	    FACET_Union_Null_baseValidator
+	    FACET_Union_invalid_baseValidatorType
+	    VALUE_NotMatch_Pattern
+	    VALUE_Not_Base64
+	    VALUE_Not_HexBin
+	    VALUE_GT_maxLen
+	    VALUE_LT_minLen
+	    VALUE_NE_Len
+	    VALUE_NotIn_Enumeration
+	    VALUE_exceed_totalDigit
+	    VALUE_exceed_fractDigit
+	    VALUE_exceed_maxIncl
+	    VALUE_exceed_maxExcl
+	    VALUE_exceed_minIncl
+	    VALUE_exceed_minExcl
+	    VALUE_WS_replaced
+	    VALUE_WS_collapsed
+	    VALUE_Invalid_NCName
+	    VALUE_Invalid_Name
+	    VALUE_ID_Not_Unique
+	    VALUE_ENTITY_Invalid
+	    VALUE_QName_Invalid
+	    VALUE_NOTATION_Invalid
+	    VALUE_no_match_memberType
+	    VALUE_URI_Malformed
+	    XMLNUM_emptyString
+	    XMLNUM_WSString
+	    XMLNUM_2ManyDecPoint
+	    XMLNUM_Inv_chars
+	    XMLNUM_null_ptr
+	    XMLNUM_URI_Component_Empty
+	    XMLNUM_URI_Component_for_GenURI_Only
+	    XMLNUM_URI_Component_Invalid_EscapeSequence
+	    XMLNUM_URI_Component_Invalid_Char
+	    XMLNUM_URI_Component_Set_Null
+	    XMLNUM_URI_Component_Not_Conformant
+	    XMLNUM_URI_No_Scheme
+	    XMLNUM_URI_NullHost
+	    XMLNUM_URI_NullPath
+	    XMLNUM_URI_Component_inPath
+	    XMLNUM_URI_PortNo_Invalid
+	    XMLNUM_DBL_FLT_maxNeg
+	    XMLNUM_DBL_FLT_maxPos
+	    XMLNUM_DBL_FLT_minNegPos
+	    XMLNUM_DBL_FLT_InvalidType
+	    XMLNUM_DBL_FLT_No_Exponent
+	    Regex_Result_Not_Set
+	    Regex_CompactRangesError
+	    Regex_MergeRangesTypeMismatch
+	    Regex_SubtractRangesError
+	    Regex_IntersectRangesError
+	    Regex_ComplementRangesInvalidArg
+	    Regex_InvalidCategoryName
+	    Regex_KeywordNotFound
+	    Regex_BadRefNo
+	    Regex_UnknownOption
+	    Regex_UnknownTokenType
+	    Regex_RangeTokenGetError
+	    Regex_NotSupported
+	    Regex_InvalidChildIndex
+	    Regex_RepPatMatchesZeroString
+	    Regex_InvalidRepPattern
+	    NEL_RepeatedCalls
+	    RethrowError
+	    Out_Of_Memory
+	    DV_InvalidOperation
+	    XPath_NoAttrSelector
+	    XPath_NoUnionAtStart
+	    XPath_NoMultipleUnion
+	    XPath_MissingAttr
+	    XPath_ExpectedToken1
+	    XPath_PrefixNoURI
+	    XPath_NoDoubleColon
+	    XPath_ExpectedStep1
+	    XPath_ExpectedStep2
+	    XPath_ExpectedStep3
+	    XPath_NoForwardSlash
+	    XPath_NoDoubleForwardSlash
+	    XPath_NoForwardSlashAtStart
+	    XPath_NoSelectionOfRoot
+	    XPath_EmptyExpr
+	    XPath_NoUnionAtEnd
+	    XPath_InvalidChar
+	    XPath_TokenNotSupported
+	    XPath_FindSolution
+	    DateTime_Assert_Buffer_Fail
+	    DateTime_dt_missingT
+	    DateTime_gDay_invalid
+	    DateTime_gMth_invalid
+	    DateTime_gMthDay_invalid
+	    DateTime_dur_Start_dashP
+	    DateTime_dur_noP
+	    DateTime_dur_DashNotFirst
+	    DateTime_dur_inv_b4T
+	    DateTime_dur_NoTimeAfterT
+	    DateTime_dur_NoElementAtAll
+	    DateTime_dur_inv_seconds
+	    DateTime_date_incomplete
+	    DateTime_date_invalid
+	    DateTime_time_incomplete
+	    DateTime_time_invalid
+	    DateTime_ms_noDigit
+	    DateTime_ym_incomplete
+	    DateTime_ym_invalid
+	    DateTime_year_tooShort
+	    DateTime_year_leadingZero
+	    DateTime_ym_noMonth
+	    DateTime_tz_noUTCsign
+	    DateTime_tz_stuffAfterZ
+	    DateTime_tz_invalid
+	    DateTime_year_zero
+	    DateTime_mth_invalid
+	    DateTime_day_invalid
+	    DateTime_hour_invalid
+	    DateTime_min_invalid
+	    DateTime_second_invalid
+	    DateTime_tz_hh_invalid
+	    PD_EmptyBase
+	    PD_NSCompat1
+	    PD_OccurRangeE
+	    PD_NameTypeOK1
+	    PD_NameTypeOK2
+	    PD_NameTypeOK3
+	    PD_NameTypeOK4
+	    PD_NameTypeOK5
+	    PD_NameTypeOK6
+	    PD_NameTypeOK7
+	    PD_RecurseAsIfGroup
+	    PD_Recurse1
+	    PD_Recurse2
+	    PD_ForbiddenRes1
+	    PD_ForbiddenRes2
+	    PD_ForbiddenRes3
+	    PD_ForbiddenRes4
+	    PD_NSSubset1
+	    PD_NSSubset2
+	    PD_NSRecurseCheckCardinality1
+	    PD_RecurseUnordered
+	    PD_MapAndSum
+	    PD_InvalidContentType
+	    NodeIDMap_GrowErr
+	    XSer_ProtoType_Null_ClassName
+	    XSer_ProtoType_NameLen_Dif
+	    XSer_ProtoType_Name_Dif
+	    XSer_InStream_Read_LT_Req
+	    XSer_InStream_Read_OverFlow
+	    XSer_Storing_Violation
+	    XSer_StoreBuffer_Violation
+	    XSer_LoadPool_UppBnd_Exceed
+	    XSer_LoadPool_NoTally_ObjCnt
+	    XSer_Loading_Violation
+	    XSer_LoadBuffer_Violation
+	    XSer_Inv_ClassIndex
+	    XSer_Inv_FillBuffer_Size
+	    XSer_Inv_checkFillBuffer_Size
+	    XSer_Inv_checkFlushBuffer_Size
+	    XSer_Inv_Null_Pointer
+	    XSer_Inv_Buffer_Len
+	    XSer_CreateObject_Fail
+	    XSer_ObjCount_UppBnd_Exceed
+	    XSer_GrammarPool_Locked
+	    XSer_GrammarPool_Empty
+	    XSer_GrammarPool_NotEmpty
+	    XSer_StringPool_NotEmpty
+	    XSer_BinaryData_Version_NotSupported
+	    F_HighBounds
+	    E_LowBounds
+	    E_HighBounds
+	   );
+
 ############# Class : XML::Xerces::PerlContentHandler ##############
 package XML::Xerces::PerlContentHandler;
 use vars qw(@ISA);
@@ -520,8 +946,8 @@
 
 sub resolve_entity {
   my ($self,$pub,$sys) = @_;
-#   print STDERR "Got PUBLIC: $pub\n";
-#   print STDERR "Got SYSTEM: $sys\n";
+  # print STDERR "Got PUBLIC: $pub\n";
+  # print STDERR "Got SYSTEM: $sys\n";
 
   XML::Xerces::error (__PACKAGE__ . ": Must call initialize before using the resolver")
       unless defined $self->maps or defined $self->remaps;
@@ -542,13 +968,14 @@
   my $is = eval {XML::Xerces::LocalFileInputSource->new($href)};
   error($@,"Couldn't create input source for $href")
       if $@;
+
+  # tell Perl *not* to manage the memory for the InputSource
+  $is->DISOWN();
   return $is;
 }
 
 package XML::Xerces; 
 use vars qw($VERSION @EXPORT);
-package XML::Xerces;
-@EXPORT = qw( );
 
 # ---------- BASE METHODS -------------
 
@@ -583,6 +1010,11 @@
 }
 
 
+# ------- FUNCTION WRAPPERS --------
+
+package XML::Xerces;
+
+
 ############# Class : XML::Xerces::XMLDeleter ##############
 
 package XML::Xerces::XMLDeleter;
@@ -590,6 +1022,21 @@
 @ISA = qw( XML::Xerces );
 %OWNER = ();
 %ITERATORS = ();
+sub DESTROY {
+    return unless $_[0]->isa('HASH');
+    my $self = tied(%{$_[0]});
+    return unless defined $self;
+    if ($self->can('cleanup')) {
+        $_[0]->cleanup();
+    }
+    
+    delete $ITERATORS{$self};
+    
+    if (exists $OWNER{$self}) {
+        XML::Xercesc::delete_XMLDeleter($self);
+        delete $OWNER{$self};
+    }
+}
 
 sub DISOWN {
     my $self = shift;
@@ -611,40 +1058,24 @@
 @ISA = qw( XML::Xerces );
 %OWNER = ();
 %ITERATORS = ();
-*fgArrayMemoryManager = *XML::Xercesc::XMLPlatformUtils_fgArrayMemoryManager;
-*fgAtomicMutex = *XML::Xercesc::XMLPlatformUtils_fgAtomicMutex;
 *Initialize = *XML::Xercesc::XMLPlatformUtils_Initialize;
 *Terminate = *XML::Xercesc::XMLPlatformUtils_Terminate;
 *panic = *XML::Xercesc::XMLPlatformUtils_panic;
-*curFilePos = *XML::Xercesc::XMLPlatformUtils_curFilePos;
-*closeFile = *XML::Xercesc::XMLPlatformUtils_closeFile;
-*fileSize = *XML::Xercesc::XMLPlatformUtils_fileSize;
-*openFile = *XML::Xercesc::XMLPlatformUtils_openFile;
-*openFileToWrite = *XML::Xercesc::XMLPlatformUtils_openFileToWrite;
-*openStdInHandle = *XML::Xercesc::XMLPlatformUtils_openStdInHandle;
-*readFileBuffer = *XML::Xercesc::XMLPlatformUtils_readFileBuffer;
-*writeBufferToFile = *XML::Xercesc::XMLPlatformUtils_writeBufferToFile;
-*resetFile = *XML::Xercesc::XMLPlatformUtils_resetFile;
-*getFullPath = *XML::Xercesc::XMLPlatformUtils_getFullPath;
-*getCurrentDirectory = *XML::Xercesc::XMLPlatformUtils_getCurrentDirectory;
-*removeDotSlash = *XML::Xercesc::XMLPlatformUtils_removeDotSlash;
-*removeDotDotSlash = *XML::Xercesc::XMLPlatformUtils_removeDotDotSlash;
-*isRelative = *XML::Xercesc::XMLPlatformUtils_isRelative;
-*weavePaths = *XML::Xercesc::XMLPlatformUtils_weavePaths;
-*getCurrentMillis = *XML::Xercesc::XMLPlatformUtils_getCurrentMillis;
-*closeMutex = *XML::Xercesc::XMLPlatformUtils_closeMutex;
-*lockMutex = *XML::Xercesc::XMLPlatformUtils_lockMutex;
-*makeMutex = *XML::Xercesc::XMLPlatformUtils_makeMutex;
-*unlockMutex = *XML::Xercesc::XMLPlatformUtils_unlockMutex;
-*loadMsgSet = *XML::Xercesc::XMLPlatformUtils_loadMsgSet;
-*compareAndSwap = *XML::Xercesc::XMLPlatformUtils_compareAndSwap;
-*atomicIncrement = *XML::Xercesc::XMLPlatformUtils_atomicIncrement;
-*atomicDecrement = *XML::Xercesc::XMLPlatformUtils_atomicDecrement;
-*recognizeNEL = *XML::Xercesc::XMLPlatformUtils_recognizeNEL;
-*isNELRecognized = *XML::Xercesc::XMLPlatformUtils_isNELRecognized;
-*strictIANAEncoding = *XML::Xercesc::XMLPlatformUtils_strictIANAEncoding;
-*isStrictIANAEncoding = *XML::Xercesc::XMLPlatformUtils_isStrictIANAEncoding;
-*alignPointerForNewBlockAllocation = *XML::Xercesc::XMLPlatformUtils_alignPointerForNewBlockAllocation;
+sub DESTROY {
+    return unless $_[0]->isa('HASH');
+    my $self = tied(%{$_[0]});
+    return unless defined $self;
+    if ($self->can('cleanup')) {
+        $_[0]->cleanup();
+    }
+    
+    delete $ITERATORS{$self};
+    
+    if (exists $OWNER{$self}) {
+        XML::Xercesc::delete_XMLPlatformUtils($self);
+        delete $OWNER{$self};
+    }
+}
 
 sub DISOWN {
     my $self = shift;
@@ -679,10 +1110,27 @@
 *parse = *XML::Xercesc::XMLURL_parse;
 sub new {
     my $pkg = shift;
+    
     my $self = XML::Xercesc::new_XMLURL(@_);
+    
     bless $self, $pkg if defined($self);
 }
 
+sub DESTROY {
+    return unless $_[0]->isa('HASH');
+    my $self = tied(%{$_[0]});
+    return unless defined $self;
+    if ($self->can('cleanup')) {
+        $_[0]->cleanup();
+    }
+    
+    delete $ITERATORS{$self};
+    
+    if (exists $OWNER{$self}) {
+        XML::Xercesc::delete_XMLURL($self);
+        delete $OWNER{$self};
+    }
+}
 
 *operator_equal_to = *XML::Xercesc::XMLURL_operator_equal_to;
 *operator_not_equal_to = *XML::Xercesc::XMLURL_operator_not_equal_to;
@@ -722,6 +1170,21 @@
 @ISA = qw( XML::Xerces );
 %OWNER = ();
 %ITERATORS = ();
+sub DESTROY {
+    return unless $_[0]->isa('HASH');
+    my $self = tied(%{$_[0]});
+    return unless defined $self;
+    if ($self->can('cleanup')) {
+        $_[0]->cleanup();
+    }
+    
+    delete $ITERATORS{$self};
+    
+    if (exists $OWNER{$self}) {
+        XML::Xercesc::delete_XMLUri($self);
+        delete $OWNER{$self};
+    }
+}
 
 *getUriText = *XML::Xercesc::XMLUri_getUriText;
 *getScheme = *XML::Xercesc::XMLUri_getScheme;
@@ -742,9 +1205,12 @@
 *setFragment = *XML::Xercesc::XMLUri_setFragment;
 *isURIString = *XML::Xercesc::XMLUri_isURIString;
 *isValidURI = *XML::Xercesc::XMLUri_isValidURI;
+*normalizeURI = *XML::Xercesc::XMLUri_normalizeURI;
 sub new {
     my $pkg = shift;
+    
     my $self = XML::Xercesc::new_XMLUri(@_);
+    
     bless $self, $pkg if defined($self);
 }
 
@@ -761,96 +1227,6 @@
 }
 
 
-############# Class : XML::Xerces::QName ##############
-
-package XML::Xerces::QName;
-use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
-use overload
-    "==" => sub { $_[0]->operator_equal_to($_[1])},
-    "fallback" => 1;
-@ISA = qw( XML::Xerces );
-%OWNER = ();
-%ITERATORS = ();
-sub new {
-    my $pkg = shift;
-    my $self = XML::Xercesc::new_QName(@_);
-    bless $self, $pkg if defined($self);
-}
-
-
-*getPrefix = *XML::Xercesc::QName_getPrefix;
-*getLocalPart = *XML::Xercesc::QName_getLocalPart;
-*getRawName = *XML::Xercesc::QName_getRawName;
-*getMemoryManager = *XML::Xercesc::QName_getMemoryManager;
-*setName = *XML::Xercesc::QName_setName;
-*setPrefix = *XML::Xercesc::QName_setPrefix;
-*setLocalPart = *XML::Xercesc::QName_setLocalPart;
-*setNPrefix = *XML::Xercesc::QName_setNPrefix;
-*setNLocalPart = *XML::Xercesc::QName_setNLocalPart;
-*setURI = *XML::Xercesc::QName_setURI;
-*setValues = *XML::Xercesc::QName_setValues;
-*operator_equal_to = *XML::Xercesc::QName_operator_equal_to;
-*cleanUp = *XML::Xercesc::QName_cleanUp;
-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::HexBin ##############
-
-package XML::Xerces::HexBin;
-use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
-@ISA = qw( XML::Xerces );
-%OWNER = ();
-%ITERATORS = ();
-*getDataLength = *XML::Xercesc::HexBin_getDataLength;
-*isArrayByteHex = *XML::Xercesc::HexBin_isArrayByteHex;
-
-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::Base64 ##############
-
-package XML::Xerces::Base64;
-use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
-@ISA = qw( XML::Xerces );
-%OWNER = ();
-%ITERATORS = ();
-*encode = *XML::Xercesc::Base64_encode;
-*decode = *XML::Xercesc::Base64_decode;
-*getDataLength = *XML::Xercesc::Base64_getDataLength;
-
-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::XMLExcepts ##############
 
 package XML::Xerces::XMLExcepts;
@@ -922,6 +1298,7 @@
 *NetAcc_ConnSocket = *XML::Xercesc::XMLExcepts_NetAcc_ConnSocket;
 *NetAcc_WriteSocket = *XML::Xercesc::XMLExcepts_NetAcc_WriteSocket;
 *NetAcc_ReadSocket = *XML::Xercesc::XMLExcepts_NetAcc_ReadSocket;
+*NetAcc_UnsupportedMethod = *XML::Xercesc::XMLExcepts_NetAcc_UnsupportedMethod;
 *Pool_ElemAlreadyExists = *XML::Xercesc::XMLExcepts_Pool_ElemAlreadyExists;
 *Pool_BadHashFromKey = *XML::Xercesc::XMLExcepts_Pool_BadHashFromKey;
 *Pool_InvalidId = *XML::Xercesc::XMLExcepts_Pool_InvalidId;
@@ -929,6 +1306,7 @@
 *RdrMgr_ReaderIdNotFound = *XML::Xercesc::XMLExcepts_RdrMgr_ReaderIdNotFound;
 *Reader_BadAutoEncoding = *XML::Xercesc::XMLExcepts_Reader_BadAutoEncoding;
 *Reader_CouldNotDecodeFirstLine = *XML::Xercesc::XMLExcepts_Reader_CouldNotDecodeFirstLine;
+*Reader_NelLsepinDecl = *XML::Xercesc::XMLExcepts_Reader_NelLsepinDecl;
 *Reader_EOIInMultiSeq = *XML::Xercesc::XMLExcepts_Reader_EOIInMultiSeq;
 *Reader_SrcOfsNotSupported = *XML::Xercesc::XMLExcepts_Reader_SrcOfsNotSupported;
 *Reader_EncodingStrRequired = *XML::Xercesc::XMLExcepts_Reader_EncodingStrRequired;
@@ -967,6 +1345,11 @@
 *URL_BaseUnderflow = *XML::Xercesc::XMLExcepts_URL_BaseUnderflow;
 *URL_BadPortField = *XML::Xercesc::XMLExcepts_URL_BadPortField;
 *UTF8_FormatError = *XML::Xercesc::XMLExcepts_UTF8_FormatError;
+*UTF8_Invalid_2BytesSeq = *XML::Xercesc::XMLExcepts_UTF8_Invalid_2BytesSeq;
+*UTF8_Invalid_3BytesSeq = *XML::Xercesc::XMLExcepts_UTF8_Invalid_3BytesSeq;
+*UTF8_Irregular_3BytesSeq = *XML::Xercesc::XMLExcepts_UTF8_Irregular_3BytesSeq;
+*UTF8_Invalid_4BytesSeq = *XML::Xercesc::XMLExcepts_UTF8_Invalid_4BytesSeq;
+*UTF8_Exceede_BytesLimit = *XML::Xercesc::XMLExcepts_UTF8_Exceede_BytesLimit;
 *Vector_BadIndex = *XML::Xercesc::XMLExcepts_Vector_BadIndex;
 *Val_InvalidElemId = *XML::Xercesc::XMLExcepts_Val_InvalidElemId;
 *Val_CantHaveIntSS = *XML::Xercesc::XMLExcepts_Val_CantHaveIntSS;
@@ -1255,6 +1638,21 @@
 *F_HighBounds = *XML::Xercesc::XMLExcepts_F_HighBounds;
 *E_LowBounds = *XML::Xercesc::XMLExcepts_E_LowBounds;
 *E_HighBounds = *XML::Xercesc::XMLExcepts_E_HighBounds;
+sub DESTROY {
+    return unless $_[0]->isa('HASH');
+    my $self = tied(%{$_[0]});
+    return unless defined $self;
+    if ($self->can('cleanup')) {
+        $_[0]->cleanup();
+    }
+    
+    delete $ITERATORS{$self};
+    
+    if (exists $OWNER{$self}) {
+        XML::Xercesc::delete_XMLExcepts($self);
+        delete $OWNER{$self};
+    }
+}
 
 sub DISOWN {
     my $self = shift;
@@ -1276,6 +1674,21 @@
 @ISA = qw( XML::Xerces );
 %OWNER = ();
 %ITERATORS = ();
+sub DESTROY {
+    return unless $_[0]->isa('HASH');
+    my $self = tied(%{$_[0]});
+    return unless defined $self;
+    if ($self->can('cleanup')) {
+        $_[0]->cleanup();
+    }
+    
+    delete $ITERATORS{$self};
+    
+    if (exists $OWNER{$self}) {
+        XML::Xercesc::delete_XMLException($self);
+        delete $OWNER{$self};
+    }
+}
 
 *getType = *XML::Xercesc::XMLException_getType;
 *getCode = *XML::Xercesc::XMLException_getCode;
@@ -1299,445 +1712,251 @@
 }
 
 
-############# Class : XML::Xerces::XMLElementDecl ##############
-
-package XML::Xerces::XMLElementDecl;
-use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
-@ISA = qw( XML::Xerces );
-%OWNER = ();
-%ITERATORS = ();
-*NoReason = *XML::Xercesc::XMLElementDecl_NoReason;
-*Declared = *XML::Xercesc::XMLElementDecl_Declared;
-*AttList = *XML::Xercesc::XMLElementDecl_AttList;
-*InContentModel = *XML::Xercesc::XMLElementDecl_InContentModel;
-*AsRootElem = *XML::Xercesc::XMLElementDecl_AsRootElem;
-*JustFaultIn = *XML::Xercesc::XMLElementDecl_JustFaultIn;
-*AddIfNotFound = *XML::Xercesc::XMLElementDecl_AddIfNotFound;
-*FailIfNotFound = *XML::Xercesc::XMLElementDecl_FailIfNotFound;
-*NoCharData = *XML::Xercesc::XMLElementDecl_NoCharData;
-*SpacesOk = *XML::Xercesc::XMLElementDecl_SpacesOk;
-*AllCharData = *XML::Xercesc::XMLElementDecl_AllCharData;
-*fgInvalidElemId = *XML::Xercesc::XMLElementDecl_fgInvalidElemId;
-*fgPCDataElemId = *XML::Xercesc::XMLElementDecl_fgPCDataElemId;
-*fgPCDataElemName = *XML::Xercesc::XMLElementDecl_fgPCDataElemName;
-
-*findAttr = *XML::Xercesc::XMLElementDecl_findAttr;
-*getAttDefList = *XML::Xercesc::XMLElementDecl_getAttDefList;
-*getCharDataOpts = *XML::Xercesc::XMLElementDecl_getCharDataOpts;
-*hasAttDefs = *XML::Xercesc::XMLElementDecl_hasAttDefs;
-*resetDefs = *XML::Xercesc::XMLElementDecl_resetDefs;
-*getContentSpec = *XML::Xercesc::XMLElementDecl_getContentSpec;
-*setContentSpec = *XML::Xercesc::XMLElementDecl_setContentSpec;
-*getContentModel = *XML::Xercesc::XMLElementDecl_getContentModel;
-*setContentModel = *XML::Xercesc::XMLElementDecl_setContentModel;
-*getFormattedContentModel = *XML::Xercesc::XMLElementDecl_getFormattedContentModel;
-*getBaseName = *XML::Xercesc::XMLElementDecl_getBaseName;
-*getURI = *XML::Xercesc::XMLElementDecl_getURI;
-*getElementName = *XML::Xercesc::XMLElementDecl_getElementName;
-*getFullName = *XML::Xercesc::XMLElementDecl_getFullName;
-*getCreateReason = *XML::Xercesc::XMLElementDecl_getCreateReason;
-*getId = *XML::Xercesc::XMLElementDecl_getId;
-*getDOMTypeInfoUri = *XML::Xercesc::XMLElementDecl_getDOMTypeInfoUri;
-*getDOMTypeInfoName = *XML::Xercesc::XMLElementDecl_getDOMTypeInfoName;
-*isDeclared = *XML::Xercesc::XMLElementDecl_isDeclared;
-*isExternal = *XML::Xercesc::XMLElementDecl_isExternal;
-*getMemoryManager = *XML::Xercesc::XMLElementDecl_getMemoryManager;
-*setElementName = *XML::Xercesc::XMLElementDecl_setElementName;
-*setCreateReason = *XML::Xercesc::XMLElementDecl_setCreateReason;
-*setId = *XML::Xercesc::XMLElementDecl_setId;
-*setExternalElemDeclaration = *XML::Xercesc::XMLElementDecl_setExternalElemDeclaration;
-*Schema = *XML::Xercesc::XMLElementDecl_Schema;
-*DTD = *XML::Xercesc::XMLElementDecl_DTD;
-*UnKnown = *XML::Xercesc::XMLElementDecl_UnKnown;
-*getObjectType = *XML::Xercesc::XMLElementDecl_getObjectType;
-*storeElementDecl = *XML::Xercesc::XMLElementDecl_storeElementDecl;
-*loadElementDecl = *XML::Xercesc::XMLElementDecl_loadElementDecl;
-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::XMLEntityDecl ##############
+############# Class : XML::Xerces::XMLUni ##############
 
-package XML::Xerces::XMLEntityDecl;
+package XML::Xerces::XMLUni;
 use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
 @ISA = qw( XML::Xerces );
 %OWNER = ();
 %ITERATORS = ();
-
-*getDeclaredInIntSubset = *XML::Xercesc::XMLEntityDecl_getDeclaredInIntSubset;
-*getIsParameter = *XML::Xercesc::XMLEntityDecl_getIsParameter;
-*getIsSpecialChar = *XML::Xercesc::XMLEntityDecl_getIsSpecialChar;
-*getId = *XML::Xercesc::XMLEntityDecl_getId;
-*getName = *XML::Xercesc::XMLEntityDecl_getName;
-*getNotationName = *XML::Xercesc::XMLEntityDecl_getNotationName;
-*getPublicId = *XML::Xercesc::XMLEntityDecl_getPublicId;
-*getSystemId = *XML::Xercesc::XMLEntityDecl_getSystemId;
-*getBaseURI = *XML::Xercesc::XMLEntityDecl_getBaseURI;
-*getValue = *XML::Xercesc::XMLEntityDecl_getValue;
-*getValueLen = *XML::Xercesc::XMLEntityDecl_getValueLen;
-*isExternal = *XML::Xercesc::XMLEntityDecl_isExternal;
-*isUnparsed = *XML::Xercesc::XMLEntityDecl_isUnparsed;
-*getMemoryManager = *XML::Xercesc::XMLEntityDecl_getMemoryManager;
-*setName = *XML::Xercesc::XMLEntityDecl_setName;
-*setNotationName = *XML::Xercesc::XMLEntityDecl_setNotationName;
-*setPublicId = *XML::Xercesc::XMLEntityDecl_setPublicId;
-*setSystemId = *XML::Xercesc::XMLEntityDecl_setSystemId;
-*setBaseURI = *XML::Xercesc::XMLEntityDecl_setBaseURI;
-*setValue = *XML::Xercesc::XMLEntityDecl_setValue;
-*setId = *XML::Xercesc::XMLEntityDecl_setId;
-*getKey = *XML::Xercesc::XMLEntityDecl_getKey;
-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::XMLNotationDecl ##############
-
-package XML::Xerces::XMLNotationDecl;
-use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
-@ISA = qw( XML::Xerces );
-%OWNER = ();
-%ITERATORS = ();
-sub new {
-    my $pkg = shift;
-    my $self = XML::Xercesc::new_XMLNotationDecl(@_);
-    bless $self, $pkg if defined($self);
-}
-
-
-*getId = *XML::Xercesc::XMLNotationDecl_getId;
-*getName = *XML::Xercesc::XMLNotationDecl_getName;
-*getPublicId = *XML::Xercesc::XMLNotationDecl_getPublicId;
-*getSystemId = *XML::Xercesc::XMLNotationDecl_getSystemId;
-*getBaseURI = *XML::Xercesc::XMLNotationDecl_getBaseURI;
-*getNameSpaceId = *XML::Xercesc::XMLNotationDecl_getNameSpaceId;
-*getMemoryManager = *XML::Xercesc::XMLNotationDecl_getMemoryManager;
-*setId = *XML::Xercesc::XMLNotationDecl_setId;
-*setName = *XML::Xercesc::XMLNotationDecl_setName;
-*setPublicId = *XML::Xercesc::XMLNotationDecl_setPublicId;
-*setSystemId = *XML::Xercesc::XMLNotationDecl_setSystemId;
-*setBaseURI = *XML::Xercesc::XMLNotationDecl_setBaseURI;
-*setNameSpaceId = *XML::Xercesc::XMLNotationDecl_setNameSpaceId;
-*getKey = *XML::Xercesc::XMLNotationDecl_getKey;
-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::XMLAttDefList ##############
-
-package XML::Xerces::XMLAttDefList;
-use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
-@ISA = qw( XML::Xerces );
-%OWNER = ();
-%ITERATORS = ();
-
-*hasMoreElements = *XML::Xercesc::XMLAttDefList_hasMoreElements;
-*isEmpty = *XML::Xercesc::XMLAttDefList_isEmpty;
-*ignore_me_for_now = *XML::Xercesc::XMLAttDefList_ignore_me_for_now;
-*findAttDef = *XML::Xercesc::XMLAttDefList_findAttDef;
-*nextElement = *XML::Xercesc::XMLAttDefList_nextElement;
-*Reset = *XML::Xercesc::XMLAttDefList_Reset;
-*getAttDefCount = *XML::Xercesc::XMLAttDefList_getAttDefCount;
-*getAttDef = *XML::Xercesc::XMLAttDefList_getAttDef;
-*getMemoryManager = *XML::Xercesc::XMLAttDefList_getMemoryManager;
-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::XMLAttDef ##############
-
-package XML::Xerces::XMLAttDef;
-use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
-@ISA = qw( XML::Xerces );
-%OWNER = ();
-%ITERATORS = ();
-*CData = *XML::Xercesc::XMLAttDef_CData;
-*ID = *XML::Xercesc::XMLAttDef_ID;
-*IDRef = *XML::Xercesc::XMLAttDef_IDRef;
-*IDRefs = *XML::Xercesc::XMLAttDef_IDRefs;
-*Entity = *XML::Xercesc::XMLAttDef_Entity;
-*Entities = *XML::Xercesc::XMLAttDef_Entities;
-*NmToken = *XML::Xercesc::XMLAttDef_NmToken;
-*NmTokens = *XML::Xercesc::XMLAttDef_NmTokens;
-*Notation = *XML::Xercesc::XMLAttDef_Notation;
-*Enumeration = *XML::Xercesc::XMLAttDef_Enumeration;
-*Simple = *XML::Xercesc::XMLAttDef_Simple;
-*Any_Any = *XML::Xercesc::XMLAttDef_Any_Any;
-*Any_Other = *XML::Xercesc::XMLAttDef_Any_Other;
-*Any_List = *XML::Xercesc::XMLAttDef_Any_List;
-*AttTypes_Count = *XML::Xercesc::XMLAttDef_AttTypes_Count;
-*AttTypes_Min = *XML::Xercesc::XMLAttDef_AttTypes_Min;
-*AttTypes_Max = *XML::Xercesc::XMLAttDef_AttTypes_Max;
-*AttTypes_Unknown = *XML::Xercesc::XMLAttDef_AttTypes_Unknown;
-*Default = *XML::Xercesc::XMLAttDef_Default;
-*Fixed = *XML::Xercesc::XMLAttDef_Fixed;
-*Required = *XML::Xercesc::XMLAttDef_Required;
-*Required_And_Fixed = *XML::Xercesc::XMLAttDef_Required_And_Fixed;
-*Implied = *XML::Xercesc::XMLAttDef_Implied;
-*ProcessContents_Skip = *XML::Xercesc::XMLAttDef_ProcessContents_Skip;
-*ProcessContents_Lax = *XML::Xercesc::XMLAttDef_ProcessContents_Lax;
-*ProcessContents_Strict = *XML::Xercesc::XMLAttDef_ProcessContents_Strict;
-*Prohibited = *XML::Xercesc::XMLAttDef_Prohibited;
-*DefAttTypes_Count = *XML::Xercesc::XMLAttDef_DefAttTypes_Count;
-*DefAttTypes_Min = *XML::Xercesc::XMLAttDef_DefAttTypes_Min;
-*DefAttTypes_Max = *XML::Xercesc::XMLAttDef_DefAttTypes_Max;
-*DefAttTypes_Unknown = *XML::Xercesc::XMLAttDef_DefAttTypes_Unknown;
-*NoReason = *XML::Xercesc::XMLAttDef_NoReason;
-*JustFaultIn = *XML::Xercesc::XMLAttDef_JustFaultIn;
-*fgInvalidAttrId = *XML::Xercesc::XMLAttDef_fgInvalidAttrId;
-*getAttTypeString = *XML::Xercesc::XMLAttDef_getAttTypeString;
-*getDefAttTypeString = *XML::Xercesc::XMLAttDef_getDefAttTypeString;
-
-*getFullName = *XML::Xercesc::XMLAttDef_getFullName;
-*reset = *XML::Xercesc::XMLAttDef_reset;
-*getDefaultType = *XML::Xercesc::XMLAttDef_getDefaultType;
-*getEnumeration = *XML::Xercesc::XMLAttDef_getEnumeration;
-*getId = *XML::Xercesc::XMLAttDef_getId;
-*getProvided = *XML::Xercesc::XMLAttDef_getProvided;
-*getType = *XML::Xercesc::XMLAttDef_getType;
-*getValue = *XML::Xercesc::XMLAttDef_getValue;
-*getCreateReason = *XML::Xercesc::XMLAttDef_getCreateReason;
-*isExternal = *XML::Xercesc::XMLAttDef_isExternal;
-*getMemoryManager = *XML::Xercesc::XMLAttDef_getMemoryManager;
-*getDOMTypeInfoUri = *XML::Xercesc::XMLAttDef_getDOMTypeInfoUri;
-*getDOMTypeInfoName = *XML::Xercesc::XMLAttDef_getDOMTypeInfoName;
-*setDefaultType = *XML::Xercesc::XMLAttDef_setDefaultType;
-*setId = *XML::Xercesc::XMLAttDef_setId;
-*setProvided = *XML::Xercesc::XMLAttDef_setProvided;
-*setType = *XML::Xercesc::XMLAttDef_setType;
-*setValue = *XML::Xercesc::XMLAttDef_setValue;
-*setEnumeration = *XML::Xercesc::XMLAttDef_setEnumeration;
-*setCreateReason = *XML::Xercesc::XMLAttDef_setCreateReason;
-*setExternalAttDeclaration = *XML::Xercesc::XMLAttDef_setExternalAttDeclaration;
-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::XMLValidator ##############
-
-package XML::Xerces::XMLValidator;
-use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
-@ISA = qw( XML::Xerces );
-%OWNER = ();
-%ITERATORS = ();
-
-*checkContent = *XML::Xercesc::XMLValidator_checkContent;
-*faultInAttr = *XML::Xercesc::XMLValidator_faultInAttr;
-*preContentValidation = *XML::Xercesc::XMLValidator_preContentValidation;
-*postParseValidation = *XML::Xercesc::XMLValidator_postParseValidation;
-*reset = *XML::Xercesc::XMLValidator_reset;
-*requiresNamespaces = *XML::Xercesc::XMLValidator_requiresNamespaces;
-*validateAttrValue = *XML::Xercesc::XMLValidator_validateAttrValue;
-*validateElement = *XML::Xercesc::XMLValidator_validateElement;
-*getGrammar = *XML::Xercesc::XMLValidator_getGrammar;
-*setGrammar = *XML::Xercesc::XMLValidator_setGrammar;
-*handlesDTD = *XML::Xercesc::XMLValidator_handlesDTD;
-*handlesSchema = *XML::Xercesc::XMLValidator_handlesSchema;
-*setScannerInfo = *XML::Xercesc::XMLValidator_setScannerInfo;
-*setErrorReporter = *XML::Xercesc::XMLValidator_setErrorReporter;
-*emitError = *XML::Xercesc::XMLValidator_emitError;
-*checkRootElement = *XML::Xercesc::XMLValidator_checkRootElement;
-*reinitMsgMutex = *XML::Xercesc::XMLValidator_reinitMsgMutex;
-*reinitMsgLoader = *XML::Xercesc::XMLValidator_reinitMsgLoader;
-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::Grammar ##############
-
-package XML::Xerces::Grammar;
-use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
-@ISA = qw( XML::Xerces );
-%OWNER = ();
-%ITERATORS = ();
-*DTDGrammarType = *XML::Xercesc::Grammar_DTDGrammarType;
-*SchemaGrammarType = *XML::Xercesc::Grammar_SchemaGrammarType;
-*UnKnown = *XML::Xercesc::Grammar_UnKnown;
-*UNKNOWN_SCOPE = *XML::Xercesc::Grammar_UNKNOWN_SCOPE;
-*TOP_LEVEL_SCOPE = *XML::Xercesc::Grammar_TOP_LEVEL_SCOPE;
-
-*getGrammarType = *XML::Xercesc::Grammar_getGrammarType;
-*getTargetNamespace = *XML::Xercesc::Grammar_getTargetNamespace;
-*getValidated = *XML::Xercesc::Grammar_getValidated;
-*findOrAddElemDecl = *XML::Xercesc::Grammar_findOrAddElemDecl;
-*getElemId = *XML::Xercesc::Grammar_getElemId;
-*getElemDecl = *XML::Xercesc::Grammar_getElemDecl;
-*getNotationDecl = *XML::Xercesc::Grammar_getNotationDecl;
-*putElemDecl = *XML::Xercesc::Grammar_putElemDecl;
-*putNotationDecl = *XML::Xercesc::Grammar_putNotationDecl;
-*setValidated = *XML::Xercesc::Grammar_setValidated;
-*reset = *XML::Xercesc::Grammar_reset;
-*setGrammarDescription = *XML::Xercesc::Grammar_setGrammarDescription;
-*getGrammarDescription = *XML::Xercesc::Grammar_getGrammarDescription;
-*storeGrammar = *XML::Xercesc::Grammar_storeGrammar;
-*loadGrammar = *XML::Xercesc::Grammar_loadGrammar;
-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::DTDElementDecl ##############
-
-package XML::Xerces::DTDElementDecl;
-use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
-@ISA = qw( XML::Xerces XML::Xerces::XMLElementDecl );
-%OWNER = ();
-%ITERATORS = ();
-*Empty = *XML::Xercesc::DTDElementDecl_Empty;
-*Any = *XML::Xercesc::DTDElementDecl_Any;
-*Mixed_Simple = *XML::Xercesc::DTDElementDecl_Mixed_Simple;
-*Children = *XML::Xercesc::DTDElementDecl_Children;
-*ModelTypes_Count = *XML::Xercesc::DTDElementDecl_ModelTypes_Count;
-sub new {
-    my $pkg = shift;
-    my $self = XML::Xercesc::new_DTDElementDecl(@_);
-    bless $self, $pkg if defined($self);
-}
-
-
-*findAttr = *XML::Xercesc::DTDElementDecl_findAttr;
-*getAttDefList = *XML::Xercesc::DTDElementDecl_getAttDefList;
-*getCharDataOpts = *XML::Xercesc::DTDElementDecl_getCharDataOpts;
-*hasAttDefs = *XML::Xercesc::DTDElementDecl_hasAttDefs;
-*resetDefs = *XML::Xercesc::DTDElementDecl_resetDefs;
-*getContentSpec = *XML::Xercesc::DTDElementDecl_getContentSpec;
-*setContentSpec = *XML::Xercesc::DTDElementDecl_setContentSpec;
-*getContentModel = *XML::Xercesc::DTDElementDecl_getContentModel;
-*setContentModel = *XML::Xercesc::DTDElementDecl_setContentModel;
-*getFormattedContentModel = *XML::Xercesc::DTDElementDecl_getFormattedContentModel;
-*getKey = *XML::Xercesc::DTDElementDecl_getKey;
-*getAttDef = *XML::Xercesc::DTDElementDecl_getAttDef;
-*getModelType = *XML::Xercesc::DTDElementDecl_getModelType;
-*getDOMTypeInfoName = *XML::Xercesc::DTDElementDecl_getDOMTypeInfoName;
-*getDOMTypeInfoUri = *XML::Xercesc::DTDElementDecl_getDOMTypeInfoUri;
-*addAttDef = *XML::Xercesc::DTDElementDecl_addAttDef;
-*setModelType = *XML::Xercesc::DTDElementDecl_setModelType;
-*getObjectType = *XML::Xercesc::DTDElementDecl_getObjectType;
-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::DTDElementDeclEnumerator ##############
-
-package XML::Xerces::DTDElementDeclEnumerator;
-use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
-@ISA = qw( XML::Xerces );
-%OWNER = ();
-%ITERATORS = ();
-sub new {
-    my $pkg = shift;
-    my $self = XML::Xercesc::new_DTDElementDeclEnumerator(@_);
-    bless $self, $pkg if defined($self);
-}
-
-
-*hasMoreElements = *XML::Xercesc::DTDElementDeclEnumerator_hasMoreElements;
-*nextElement = *XML::Xercesc::DTDElementDeclEnumerator_nextElement;
-*Reset = *XML::Xercesc::DTDElementDeclEnumerator_Reset;
-*size = *XML::Xercesc::DTDElementDeclEnumerator_size;
-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::DTDEntityDecl ##############
-
-package XML::Xerces::DTDEntityDecl;
-use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
-@ISA = qw( XML::Xerces XML::Xerces::XMLEntityDecl );
-%OWNER = ();
-%ITERATORS = ();
-sub new {
-    my $pkg = shift;
-    my $self = XML::Xercesc::new_DTDEntityDecl(@_);
-    bless $self, $pkg if defined($self);
+*fgAnyString = *XML::Xercesc::XMLUni_fgAnyString;
+*fgAttListString = *XML::Xercesc::XMLUni_fgAttListString;
+*fgCommentString = *XML::Xercesc::XMLUni_fgCommentString;
+*fgCDATAString = *XML::Xercesc::XMLUni_fgCDATAString;
+*fgDefaultString = *XML::Xercesc::XMLUni_fgDefaultString;
+*fgDocTypeString = *XML::Xercesc::XMLUni_fgDocTypeString;
+*fgEBCDICEncodingString = *XML::Xercesc::XMLUni_fgEBCDICEncodingString;
+*fgElemString = *XML::Xercesc::XMLUni_fgElemString;
+*fgEmptyString = *XML::Xercesc::XMLUni_fgEmptyString;
+*fgEncodingString = *XML::Xercesc::XMLUni_fgEncodingString;
+*fgEntitString = *XML::Xercesc::XMLUni_fgEntitString;
+*fgEntityString = *XML::Xercesc::XMLUni_fgEntityString;
+*fgEntitiesString = *XML::Xercesc::XMLUni_fgEntitiesString;
+*fgEnumerationString = *XML::Xercesc::XMLUni_fgEnumerationString;
+*fgExceptDomain = *XML::Xercesc::XMLUni_fgExceptDomain;
+*fgFixedString = *XML::Xercesc::XMLUni_fgFixedString;
+*fgIBM037EncodingString = *XML::Xercesc::XMLUni_fgIBM037EncodingString;
+*fgIBM037EncodingString2 = *XML::Xercesc::XMLUni_fgIBM037EncodingString2;
+*fgIBM1047EncodingString = *XML::Xercesc::XMLUni_fgIBM1047EncodingString;
+*fgIBM1047EncodingString2 = *XML::Xercesc::XMLUni_fgIBM1047EncodingString2;
+*fgIBM1140EncodingString = *XML::Xercesc::XMLUni_fgIBM1140EncodingString;
+*fgIBM1140EncodingString2 = *XML::Xercesc::XMLUni_fgIBM1140EncodingString2;
+*fgIBM1140EncodingString3 = *XML::Xercesc::XMLUni_fgIBM1140EncodingString3;
+*fgIBM1140EncodingString4 = *XML::Xercesc::XMLUni_fgIBM1140EncodingString4;
+*fgIESString = *XML::Xercesc::XMLUni_fgIESString;
+*fgIDString = *XML::Xercesc::XMLUni_fgIDString;
+*fgIDRefString = *XML::Xercesc::XMLUni_fgIDRefString;
+*fgIDRefsString = *XML::Xercesc::XMLUni_fgIDRefsString;
+*fgImpliedString = *XML::Xercesc::XMLUni_fgImpliedString;
+*fgIgnoreString = *XML::Xercesc::XMLUni_fgIgnoreString;
+*fgIncludeString = *XML::Xercesc::XMLUni_fgIncludeString;
+*fgISO88591EncodingString = *XML::Xercesc::XMLUni_fgISO88591EncodingString;
+*fgISO88591EncodingString2 = *XML::Xercesc::XMLUni_fgISO88591EncodingString2;
+*fgISO88591EncodingString3 = *XML::Xercesc::XMLUni_fgISO88591EncodingString3;
+*fgISO88591EncodingString4 = *XML::Xercesc::XMLUni_fgISO88591EncodingString4;
+*fgISO88591EncodingString5 = *XML::Xercesc::XMLUni_fgISO88591EncodingString5;
+*fgISO88591EncodingString6 = *XML::Xercesc::XMLUni_fgISO88591EncodingString6;
+*fgISO88591EncodingString7 = *XML::Xercesc::XMLUni_fgISO88591EncodingString7;
+*fgISO88591EncodingString8 = *XML::Xercesc::XMLUni_fgISO88591EncodingString8;
+*fgISO88591EncodingString9 = *XML::Xercesc::XMLUni_fgISO88591EncodingString9;
+*fgISO88591EncodingString10 = *XML::Xercesc::XMLUni_fgISO88591EncodingString10;
+*fgISO88591EncodingString11 = *XML::Xercesc::XMLUni_fgISO88591EncodingString11;
+*fgISO88591EncodingString12 = *XML::Xercesc::XMLUni_fgISO88591EncodingString12;
+*fgLocalHostString = *XML::Xercesc::XMLUni_fgLocalHostString;
+*fgNoString = *XML::Xercesc::XMLUni_fgNoString;
+*fgNotationString = *XML::Xercesc::XMLUni_fgNotationString;
+*fgNDATAString = *XML::Xercesc::XMLUni_fgNDATAString;
+*fgNmTokenString = *XML::Xercesc::XMLUni_fgNmTokenString;
+*fgNmTokensString = *XML::Xercesc::XMLUni_fgNmTokensString;
+*fgPCDATAString = *XML::Xercesc::XMLUni_fgPCDATAString;
+*fgPIString = *XML::Xercesc::XMLUni_fgPIString;
+*fgPubIDString = *XML::Xercesc::XMLUni_fgPubIDString;
+*fgRefString = *XML::Xercesc::XMLUni_fgRefString;
+*fgRequiredString = *XML::Xercesc::XMLUni_fgRequiredString;
+*fgStandaloneString = *XML::Xercesc::XMLUni_fgStandaloneString;
+*fgVersion1_0 = *XML::Xercesc::XMLUni_fgVersion1_0;
+*fgVersion1_1 = *XML::Xercesc::XMLUni_fgVersion1_1;
+*fgSysIDString = *XML::Xercesc::XMLUni_fgSysIDString;
+*fgUnknownURIName = *XML::Xercesc::XMLUni_fgUnknownURIName;
+*fgUCS4EncodingString = *XML::Xercesc::XMLUni_fgUCS4EncodingString;
+*fgUCS4EncodingString2 = *XML::Xercesc::XMLUni_fgUCS4EncodingString2;
+*fgUCS4EncodingString3 = *XML::Xercesc::XMLUni_fgUCS4EncodingString3;
+*fgUCS4BEncodingString = *XML::Xercesc::XMLUni_fgUCS4BEncodingString;
+*fgUCS4BEncodingString2 = *XML::Xercesc::XMLUni_fgUCS4BEncodingString2;
+*fgUCS4LEncodingString = *XML::Xercesc::XMLUni_fgUCS4LEncodingString;
+*fgUCS4LEncodingString2 = *XML::Xercesc::XMLUni_fgUCS4LEncodingString2;
+*fgUSASCIIEncodingString = *XML::Xercesc::XMLUni_fgUSASCIIEncodingString;
+*fgUSASCIIEncodingString2 = *XML::Xercesc::XMLUni_fgUSASCIIEncodingString2;
+*fgUSASCIIEncodingString3 = *XML::Xercesc::XMLUni_fgUSASCIIEncodingString3;
+*fgUSASCIIEncodingString4 = *XML::Xercesc::XMLUni_fgUSASCIIEncodingString4;
+*fgUTF8EncodingString = *XML::Xercesc::XMLUni_fgUTF8EncodingString;
+*fgUTF8EncodingString2 = *XML::Xercesc::XMLUni_fgUTF8EncodingString2;
+*fgUTF16EncodingString = *XML::Xercesc::XMLUni_fgUTF16EncodingString;
+*fgUTF16EncodingString2 = *XML::Xercesc::XMLUni_fgUTF16EncodingString2;
+*fgUTF16EncodingString3 = *XML::Xercesc::XMLUni_fgUTF16EncodingString3;
+*fgUTF16EncodingString4 = *XML::Xercesc::XMLUni_fgUTF16EncodingString4;
+*fgUTF16EncodingString5 = *XML::Xercesc::XMLUni_fgUTF16EncodingString5;
+*fgUTF16BEncodingString = *XML::Xercesc::XMLUni_fgUTF16BEncodingString;
+*fgUTF16BEncodingString2 = *XML::Xercesc::XMLUni_fgUTF16BEncodingString2;
+*fgUTF16LEncodingString = *XML::Xercesc::XMLUni_fgUTF16LEncodingString;
+*fgUTF16LEncodingString2 = *XML::Xercesc::XMLUni_fgUTF16LEncodingString2;
+*fgVersionString = *XML::Xercesc::XMLUni_fgVersionString;
+*fgValidityDomain = *XML::Xercesc::XMLUni_fgValidityDomain;
+*fgWin1252EncodingString = *XML::Xercesc::XMLUni_fgWin1252EncodingString;
+*fgXMLChEncodingString = *XML::Xercesc::XMLUni_fgXMLChEncodingString;
+*fgXMLDOMMsgDomain = *XML::Xercesc::XMLUni_fgXMLDOMMsgDomain;
+*fgXMLString = *XML::Xercesc::XMLUni_fgXMLString;
+*fgXMLStringSpace = *XML::Xercesc::XMLUni_fgXMLStringSpace;
+*fgXMLStringHTab = *XML::Xercesc::XMLUni_fgXMLStringHTab;
+*fgXMLStringCR = *XML::Xercesc::XMLUni_fgXMLStringCR;
+*fgXMLStringLF = *XML::Xercesc::XMLUni_fgXMLStringLF;
+*fgXMLStringSpaceU = *XML::Xercesc::XMLUni_fgXMLStringSpaceU;
+*fgXMLStringHTabU = *XML::Xercesc::XMLUni_fgXMLStringHTabU;
+*fgXMLStringCRU = *XML::Xercesc::XMLUni_fgXMLStringCRU;
+*fgXMLStringLFU = *XML::Xercesc::XMLUni_fgXMLStringLFU;
+*fgXMLDeclString = *XML::Xercesc::XMLUni_fgXMLDeclString;
+*fgXMLDeclStringSpace = *XML::Xercesc::XMLUni_fgXMLDeclStringSpace;
+*fgXMLDeclStringHTab = *XML::Xercesc::XMLUni_fgXMLDeclStringHTab;
+*fgXMLDeclStringLF = *XML::Xercesc::XMLUni_fgXMLDeclStringLF;
+*fgXMLDeclStringCR = *XML::Xercesc::XMLUni_fgXMLDeclStringCR;
+*fgXMLDeclStringSpaceU = *XML::Xercesc::XMLUni_fgXMLDeclStringSpaceU;
+*fgXMLDeclStringHTabU = *XML::Xercesc::XMLUni_fgXMLDeclStringHTabU;
+*fgXMLDeclStringLFU = *XML::Xercesc::XMLUni_fgXMLDeclStringLFU;
+*fgXMLDeclStringCRU = *XML::Xercesc::XMLUni_fgXMLDeclStringCRU;
+*fgXMLNSString = *XML::Xercesc::XMLUni_fgXMLNSString;
+*fgXMLNSColonString = *XML::Xercesc::XMLUni_fgXMLNSColonString;
+*fgXMLNSURIName = *XML::Xercesc::XMLUni_fgXMLNSURIName;
+*fgXMLErrDomain = *XML::Xercesc::XMLUni_fgXMLErrDomain;
+*fgXMLURIName = *XML::Xercesc::XMLUni_fgXMLURIName;
+*fgInfosetURIName = *XML::Xercesc::XMLUni_fgInfosetURIName;
+*fgYesString = *XML::Xercesc::XMLUni_fgYesString;
+*fgZeroLenString = *XML::Xercesc::XMLUni_fgZeroLenString;
+*fgDTDEntityString = *XML::Xercesc::XMLUni_fgDTDEntityString;
+*fgAmp = *XML::Xercesc::XMLUni_fgAmp;
+*fgLT = *XML::Xercesc::XMLUni_fgLT;
+*fgGT = *XML::Xercesc::XMLUni_fgGT;
+*fgQuot = *XML::Xercesc::XMLUni_fgQuot;
+*fgApos = *XML::Xercesc::XMLUni_fgApos;
+*fgWFXMLScanner = *XML::Xercesc::XMLUni_fgWFXMLScanner;
+*fgIGXMLScanner = *XML::Xercesc::XMLUni_fgIGXMLScanner;
+*fgSGXMLScanner = *XML::Xercesc::XMLUni_fgSGXMLScanner;
+*fgDGXMLScanner = *XML::Xercesc::XMLUni_fgDGXMLScanner;
+*fgXSAXMLScanner = *XML::Xercesc::XMLUni_fgXSAXMLScanner;
+*fgCDataStart = *XML::Xercesc::XMLUni_fgCDataStart;
+*fgCDataEnd = *XML::Xercesc::XMLUni_fgCDataEnd;
+*fgArrayIndexOutOfBoundsException_Name = *XML::Xercesc::XMLUni_fgArrayIndexOutOfBoundsException_Name;
+*fgEmptyStackException_Name = *XML::Xercesc::XMLUni_fgEmptyStackException_Name;
+*fgIllegalArgumentException_Name = *XML::Xercesc::XMLUni_fgIllegalArgumentException_Name;
+*fgInvalidCastException_Name = *XML::Xercesc::XMLUni_fgInvalidCastException_Name;
+*fgIOException_Name = *XML::Xercesc::XMLUni_fgIOException_Name;
+*fgNoSuchElementException_Name = *XML::Xercesc::XMLUni_fgNoSuchElementException_Name;
+*fgNullPointerException_Name = *XML::Xercesc::XMLUni_fgNullPointerException_Name;
+*fgXMLPlatformUtilsException_Name = *XML::Xercesc::XMLUni_fgXMLPlatformUtilsException_Name;
+*fgRuntimeException_Name = *XML::Xercesc::XMLUni_fgRuntimeException_Name;
+*fgTranscodingException_Name = *XML::Xercesc::XMLUni_fgTranscodingException_Name;
+*fgUnexpectedEOFException_Name = *XML::Xercesc::XMLUni_fgUnexpectedEOFException_Name;
+*fgUnsupportedEncodingException_Name = *XML::Xercesc::XMLUni_fgUnsupportedEncodingException_Name;
+*fgUTFDataFormatException_Name = *XML::Xercesc::XMLUni_fgUTFDataFormatException_Name;
+*fgNetAccessorException_Name = *XML::Xercesc::XMLUni_fgNetAccessorException_Name;
+*fgMalformedURLException_Name = *XML::Xercesc::XMLUni_fgMalformedURLException_Name;
+*fgNumberFormatException_Name = *XML::Xercesc::XMLUni_fgNumberFormatException_Name;
+*fgParseException_Name = *XML::Xercesc::XMLUni_fgParseException_Name;
+*fgInvalidDatatypeFacetException_Name = *XML::Xercesc::XMLUni_fgInvalidDatatypeFacetException_Name;
+*fgInvalidDatatypeValueException_Name = *XML::Xercesc::XMLUni_fgInvalidDatatypeValueException_Name;
+*fgSchemaDateTimeException_Name = *XML::Xercesc::XMLUni_fgSchemaDateTimeException_Name;
+*fgXPathException_Name = *XML::Xercesc::XMLUni_fgXPathException_Name;
+*fgXSerializationException_Name = *XML::Xercesc::XMLUni_fgXSerializationException_Name;
+*fgNegINFString = *XML::Xercesc::XMLUni_fgNegINFString;
+*fgNegZeroString = *XML::Xercesc::XMLUni_fgNegZeroString;
+*fgPosZeroString = *XML::Xercesc::XMLUni_fgPosZeroString;
+*fgPosINFString = *XML::Xercesc::XMLUni_fgPosINFString;
+*fgNaNString = *XML::Xercesc::XMLUni_fgNaNString;
+*fgEString = *XML::Xercesc::XMLUni_fgEString;
+*fgZeroString = *XML::Xercesc::XMLUni_fgZeroString;
+*fgNullString = *XML::Xercesc::XMLUni_fgNullString;
+*fgXercesDynamic = *XML::Xercesc::XMLUni_fgXercesDynamic;
+*fgXercesSchema = *XML::Xercesc::XMLUni_fgXercesSchema;
+*fgXercesSchemaFullChecking = *XML::Xercesc::XMLUni_fgXercesSchemaFullChecking;
+*fgXercesIdentityConstraintChecking = *XML::Xercesc::XMLUni_fgXercesIdentityConstraintChecking;
+*fgXercesSchemaExternalSchemaLocation = *XML::Xercesc::XMLUni_fgXercesSchemaExternalSchemaLocation;
+*fgXercesSchemaExternalNoNameSpaceSchemaLocation = *XML::Xercesc::XMLUni_fgXercesSchemaExternalNoNameSpaceSchemaLocation;
+*fgXercesSecurityManager = *XML::Xercesc::XMLUni_fgXercesSecurityManager;
+*fgXercesLoadExternalDTD = *XML::Xercesc::XMLUni_fgXercesLoadExternalDTD;
+*fgXercesContinueAfterFatalError = *XML::Xercesc::XMLUni_fgXercesContinueAfterFatalError;
+*fgXercesValidationErrorAsFatal = *XML::Xercesc::XMLUni_fgXercesValidationErrorAsFatal;
+*fgXercesUserAdoptsDOMDocument = *XML::Xercesc::XMLUni_fgXercesUserAdoptsDOMDocument;
+*fgXercesCacheGrammarFromParse = *XML::Xercesc::XMLUni_fgXercesCacheGrammarFromParse;
+*fgXercesUseCachedGrammarInParse = *XML::Xercesc::XMLUni_fgXercesUseCachedGrammarInParse;
+*fgXercesScannerName = *XML::Xercesc::XMLUni_fgXercesScannerName;
+*fgXercesParserUseDocumentFromImplementation = *XML::Xercesc::XMLUni_fgXercesParserUseDocumentFromImplementation;
+*fgXercesCalculateSrcOfs = *XML::Xercesc::XMLUni_fgXercesCalculateSrcOfs;
+*fgXercesStandardUriConformant = *XML::Xercesc::XMLUni_fgXercesStandardUriConformant;
+*fgXercesDOMHasPSVIInfo = *XML::Xercesc::XMLUni_fgXercesDOMHasPSVIInfo;
+*fgXercesGenerateSyntheticAnnotations = *XML::Xercesc::XMLUni_fgXercesGenerateSyntheticAnnotations;
+*fgXercesValidateAnnotations = *XML::Xercesc::XMLUni_fgXercesValidateAnnotations;
+*fgSAX2CoreValidation = *XML::Xercesc::XMLUni_fgSAX2CoreValidation;
+*fgSAX2CoreNameSpaces = *XML::Xercesc::XMLUni_fgSAX2CoreNameSpaces;
+*fgSAX2CoreNameSpacePrefixes = *XML::Xercesc::XMLUni_fgSAX2CoreNameSpacePrefixes;
+*fgDOMCanonicalForm = *XML::Xercesc::XMLUni_fgDOMCanonicalForm;
+*fgDOMCDATASections = *XML::Xercesc::XMLUni_fgDOMCDATASections;
+*fgDOMComments = *XML::Xercesc::XMLUni_fgDOMComments;
+*fgDOMCharsetOverridesXMLEncoding = *XML::Xercesc::XMLUni_fgDOMCharsetOverridesXMLEncoding;
+*fgDOMDatatypeNormalization = *XML::Xercesc::XMLUni_fgDOMDatatypeNormalization;
+*fgDOMEntities = *XML::Xercesc::XMLUni_fgDOMEntities;
+*fgDOMInfoset = *XML::Xercesc::XMLUni_fgDOMInfoset;
+*fgDOMNamespaces = *XML::Xercesc::XMLUni_fgDOMNamespaces;
+*fgDOMNamespaceDeclarations = *XML::Xercesc::XMLUni_fgDOMNamespaceDeclarations;
+*fgDOMSupportedMediatypesOnly = *XML::Xercesc::XMLUni_fgDOMSupportedMediatypesOnly;
+*fgDOMValidateIfSchema = *XML::Xercesc::XMLUni_fgDOMValidateIfSchema;
+*fgDOMValidation = *XML::Xercesc::XMLUni_fgDOMValidation;
+*fgDOMWhitespaceInElementContent = *XML::Xercesc::XMLUni_fgDOMWhitespaceInElementContent;
+*fgDOMWRTCanonicalForm = *XML::Xercesc::XMLUni_fgDOMWRTCanonicalForm;
+*fgDOMWRTDiscardDefaultContent = *XML::Xercesc::XMLUni_fgDOMWRTDiscardDefaultContent;
+*fgDOMWRTEntities = *XML::Xercesc::XMLUni_fgDOMWRTEntities;
+*fgDOMWRTFormatPrettyPrint = *XML::Xercesc::XMLUni_fgDOMWRTFormatPrettyPrint;
+*fgDOMWRTNormalizeCharacters = *XML::Xercesc::XMLUni_fgDOMWRTNormalizeCharacters;
+*fgDOMWRTSplitCdataSections = *XML::Xercesc::XMLUni_fgDOMWRTSplitCdataSections;
+*fgDOMWRTValidation = *XML::Xercesc::XMLUni_fgDOMWRTValidation;
+*fgDOMWRTWhitespaceInElementContent = *XML::Xercesc::XMLUni_fgDOMWRTWhitespaceInElementContent;
+*fgDOMWRTBOM = *XML::Xercesc::XMLUni_fgDOMWRTBOM;
+*fgDOMXMLDeclaration = *XML::Xercesc::XMLUni_fgDOMXMLDeclaration;
+*fgXercescInterfacePSVITypeInfo = *XML::Xercesc::XMLUni_fgXercescInterfacePSVITypeInfo;
+*fgXercescDefaultLocale = *XML::Xercesc::XMLUni_fgXercescDefaultLocale;
+*fgDefErrMsg = *XML::Xercesc::XMLUni_fgDefErrMsg;
+*fgValueZero = *XML::Xercesc::XMLUni_fgValueZero;
+*fgNegOne = *XML::Xercesc::XMLUni_fgNegOne;
+*fgValueOne = *XML::Xercesc::XMLUni_fgValueOne;
+*fgLongMaxInc = *XML::Xercesc::XMLUni_fgLongMaxInc;
+*fgLongMinInc = *XML::Xercesc::XMLUni_fgLongMinInc;
+*fgIntMaxInc = *XML::Xercesc::XMLUni_fgIntMaxInc;
+*fgIntMinInc = *XML::Xercesc::XMLUni_fgIntMinInc;
+*fgShortMaxInc = *XML::Xercesc::XMLUni_fgShortMaxInc;
+*fgShortMinInc = *XML::Xercesc::XMLUni_fgShortMinInc;
+*fgByteMaxInc = *XML::Xercesc::XMLUni_fgByteMaxInc;
+*fgByteMinInc = *XML::Xercesc::XMLUni_fgByteMinInc;
+*fgULongMaxInc = *XML::Xercesc::XMLUni_fgULongMaxInc;
+*fgUIntMaxInc = *XML::Xercesc::XMLUni_fgUIntMaxInc;
+*fgUShortMaxInc = *XML::Xercesc::XMLUni_fgUShortMaxInc;
+*fgUByteMaxInc = *XML::Xercesc::XMLUni_fgUByteMaxInc;
+*fgLangPattern = *XML::Xercesc::XMLUni_fgLangPattern;
+*fgBooleanValueSpace = *XML::Xercesc::XMLUni_fgBooleanValueSpace;
+*fgBooleanValueSpaceArraySize = *XML::Xercesc::XMLUni_fgBooleanValueSpaceArraySize;
+sub DESTROY {
+    return unless $_[0]->isa('HASH');
+    my $self = tied(%{$_[0]});
+    return unless defined $self;
+    if ($self->can('cleanup')) {
+        $_[0]->cleanup();
+    }
+    
+    delete $ITERATORS{$self};
+    
+    if (exists $OWNER{$self}) {
+        XML::Xercesc::delete_XMLUni($self);
+        delete $OWNER{$self};
+    }
 }
 
-
-*getDeclaredInIntSubset = *XML::Xercesc::DTDEntityDecl_getDeclaredInIntSubset;
-*getIsParameter = *XML::Xercesc::DTDEntityDecl_getIsParameter;
-*getIsSpecialChar = *XML::Xercesc::DTDEntityDecl_getIsSpecialChar;
-*setDeclaredInIntSubset = *XML::Xercesc::DTDEntityDecl_setDeclaredInIntSubset;
-*setIsParameter = *XML::Xercesc::DTDEntityDecl_setIsParameter;
-*setIsSpecialChar = *XML::Xercesc::DTDEntityDecl_setIsSpecialChar;
 sub DISOWN {
     my $self = shift;
     my $ptr = tied(%$self);
@@ -1751,24 +1970,54 @@
 }
 
 
-############# Class : XML::Xerces::DTDEntityDeclEnumerator ##############
+############# Class : XML::Xerces::QName ##############
 
-package XML::Xerces::DTDEntityDeclEnumerator;
+package XML::Xerces::QName;
 use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
+use overload
+    "==" => sub { $_[0]->operator_equal_to($_[1])},
+    "fallback" => 1;
 @ISA = qw( XML::Xerces );
 %OWNER = ();
 %ITERATORS = ();
 sub new {
     my $pkg = shift;
-    my $self = XML::Xercesc::new_DTDEntityDeclEnumerator(@_);
+    
+    my $self = XML::Xercesc::new_QName(@_);
+    
     bless $self, $pkg if defined($self);
 }
 
+sub DESTROY {
+    return unless $_[0]->isa('HASH');
+    my $self = tied(%{$_[0]});
+    return unless defined $self;
+    if ($self->can('cleanup')) {
+        $_[0]->cleanup();
+    }
+    
+    delete $ITERATORS{$self};
+    
+    if (exists $OWNER{$self}) {
+        XML::Xercesc::delete_QName($self);
+        delete $OWNER{$self};
+    }
+}
 
-*hasMoreElements = *XML::Xercesc::DTDEntityDeclEnumerator_hasMoreElements;
-*nextElement = *XML::Xercesc::DTDEntityDeclEnumerator_nextElement;
-*Reset = *XML::Xercesc::DTDEntityDeclEnumerator_Reset;
-*size = *XML::Xercesc::DTDEntityDeclEnumerator_size;
+*getPrefix = *XML::Xercesc::QName_getPrefix;
+*getLocalPart = *XML::Xercesc::QName_getLocalPart;
+*getURI = *XML::Xercesc::QName_getURI;
+*getRawName = *XML::Xercesc::QName_getRawName;
+*getMemoryManager = *XML::Xercesc::QName_getMemoryManager;
+*setName = *XML::Xercesc::QName_setName;
+*setPrefix = *XML::Xercesc::QName_setPrefix;
+*setLocalPart = *XML::Xercesc::QName_setLocalPart;
+*setNPrefix = *XML::Xercesc::QName_setNPrefix;
+*setNLocalPart = *XML::Xercesc::QName_setNLocalPart;
+*setURI = *XML::Xercesc::QName_setURI;
+*setValues = *XML::Xercesc::QName_setValues;
+*operator_equal_to = *XML::Xercesc::QName_operator_equal_to;
+*cleanUp = *XML::Xercesc::QName_cleanUp;
 sub DISOWN {
     my $self = shift;
     my $ptr = tied(%$self);
@@ -1782,28 +2031,74 @@
 }
 
 
-############# Class : XML::Xerces::DTDAttDefList ##############
+############# Class : XML::Xerces::XMLElementDecl ##############
 
-package XML::Xerces::DTDAttDefList;
+package XML::Xerces::XMLElementDecl;
 use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
-@ISA = qw( XML::Xerces XML::Xerces::XMLAttDefList );
+@ISA = qw( XML::Xerces );
 %OWNER = ();
 %ITERATORS = ();
-
-*hasMoreElements = *XML::Xercesc::DTDAttDefList_hasMoreElements;
-*isEmpty = *XML::Xercesc::DTDAttDefList_isEmpty;
-*ignore_me_for_now = *XML::Xercesc::DTDAttDefList_ignore_me_for_now;
-*findAttDef = *XML::Xercesc::DTDAttDefList_findAttDef;
-*nextElement = *XML::Xercesc::DTDAttDefList_nextElement;
-*Reset = *XML::Xercesc::DTDAttDefList_Reset;
-*getAttDefCount = *XML::Xercesc::DTDAttDefList_getAttDefCount;
-*getAttDef = *XML::Xercesc::DTDAttDefList_getAttDef;
-sub new {
-    my $pkg = shift;
-    my $self = XML::Xercesc::new_DTDAttDefList(@_);
-    bless $self, $pkg if defined($self);
+*NoReason = *XML::Xercesc::XMLElementDecl_NoReason;
+*Declared = *XML::Xercesc::XMLElementDecl_Declared;
+*AttList = *XML::Xercesc::XMLElementDecl_AttList;
+*InContentModel = *XML::Xercesc::XMLElementDecl_InContentModel;
+*AsRootElem = *XML::Xercesc::XMLElementDecl_AsRootElem;
+*JustFaultIn = *XML::Xercesc::XMLElementDecl_JustFaultIn;
+*AddIfNotFound = *XML::Xercesc::XMLElementDecl_AddIfNotFound;
+*FailIfNotFound = *XML::Xercesc::XMLElementDecl_FailIfNotFound;
+*NoCharData = *XML::Xercesc::XMLElementDecl_NoCharData;
+*SpacesOk = *XML::Xercesc::XMLElementDecl_SpacesOk;
+*AllCharData = *XML::Xercesc::XMLElementDecl_AllCharData;
+*fgInvalidElemId = *XML::Xercesc::XMLElementDecl_fgInvalidElemId;
+*fgPCDataElemId = *XML::Xercesc::XMLElementDecl_fgPCDataElemId;
+*fgPCDataElemName = *XML::Xercesc::XMLElementDecl_fgPCDataElemName;
+sub DESTROY {
+    return unless $_[0]->isa('HASH');
+    my $self = tied(%{$_[0]});
+    return unless defined $self;
+    if ($self->can('cleanup')) {
+        $_[0]->cleanup();
+    }
+    
+    delete $ITERATORS{$self};
+    
+    if (exists $OWNER{$self}) {
+        XML::Xercesc::delete_XMLElementDecl($self);
+        delete $OWNER{$self};
+    }
 }
 
+*findAttr = *XML::Xercesc::XMLElementDecl_findAttr;
+*getAttDefList = *XML::Xercesc::XMLElementDecl_getAttDefList;
+*getCharDataOpts = *XML::Xercesc::XMLElementDecl_getCharDataOpts;
+*hasAttDefs = *XML::Xercesc::XMLElementDecl_hasAttDefs;
+*resetDefs = *XML::Xercesc::XMLElementDecl_resetDefs;
+*getContentSpec = *XML::Xercesc::XMLElementDecl_getContentSpec;
+*setContentSpec = *XML::Xercesc::XMLElementDecl_setContentSpec;
+*getContentModel = *XML::Xercesc::XMLElementDecl_getContentModel;
+*setContentModel = *XML::Xercesc::XMLElementDecl_setContentModel;
+*getFormattedContentModel = *XML::Xercesc::XMLElementDecl_getFormattedContentModel;
+*getBaseName = *XML::Xercesc::XMLElementDecl_getBaseName;
+*getURI = *XML::Xercesc::XMLElementDecl_getURI;
+*getElementName = *XML::Xercesc::XMLElementDecl_getElementName;
+*getFullName = *XML::Xercesc::XMLElementDecl_getFullName;
+*getCreateReason = *XML::Xercesc::XMLElementDecl_getCreateReason;
+*getId = *XML::Xercesc::XMLElementDecl_getId;
+*getDOMTypeInfoUri = *XML::Xercesc::XMLElementDecl_getDOMTypeInfoUri;
+*getDOMTypeInfoName = *XML::Xercesc::XMLElementDecl_getDOMTypeInfoName;
+*isDeclared = *XML::Xercesc::XMLElementDecl_isDeclared;
+*isExternal = *XML::Xercesc::XMLElementDecl_isExternal;
+*getMemoryManager = *XML::Xercesc::XMLElementDecl_getMemoryManager;
+*setElementName = *XML::Xercesc::XMLElementDecl_setElementName;
+*setCreateReason = *XML::Xercesc::XMLElementDecl_setCreateReason;
+*setId = *XML::Xercesc::XMLElementDecl_setId;
+*setExternalElemDeclaration = *XML::Xercesc::XMLElementDecl_setExternalElemDeclaration;
+*Schema = *XML::Xercesc::XMLElementDecl_Schema;
+*DTD = *XML::Xercesc::XMLElementDecl_DTD;
+*UnKnown = *XML::Xercesc::XMLElementDecl_UnKnown;
+*getObjectType = *XML::Xercesc::XMLElementDecl_getObjectType;
+*storeElementDecl = *XML::Xercesc::XMLElementDecl_storeElementDecl;
+*loadElementDecl = *XML::Xercesc::XMLElementDecl_loadElementDecl;
 sub DISOWN {
     my $self = shift;
     my $ptr = tied(%$self);
@@ -1817,27 +2112,51 @@
 }
 
 
-############# Class : XML::Xerces::DTDAttDef ##############
+############# Class : XML::Xerces::XMLEntityDecl ##############
 
-package XML::Xerces::DTDAttDef;
+package XML::Xerces::XMLEntityDecl;
 use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
-@ISA = qw( XML::Xerces XML::Xerces::XMLAttDef );
+@ISA = qw( XML::Xerces );
 %OWNER = ();
 %ITERATORS = ();
-sub new {
-    my $pkg = shift;
-    my $self = XML::Xercesc::new_DTDAttDef(@_);
-    bless $self, $pkg if defined($self);
+sub DESTROY {
+    return unless $_[0]->isa('HASH');
+    my $self = tied(%{$_[0]});
+    return unless defined $self;
+    if ($self->can('cleanup')) {
+        $_[0]->cleanup();
+    }
+    
+    delete $ITERATORS{$self};
+    
+    if (exists $OWNER{$self}) {
+        XML::Xercesc::delete_XMLEntityDecl($self);
+        delete $OWNER{$self};
+    }
 }
 
-
-*getFullName = *XML::Xercesc::DTDAttDef_getFullName;
-*reset = *XML::Xercesc::DTDAttDef_reset;
-*getElemId = *XML::Xercesc::DTDAttDef_getElemId;
-*getDOMTypeInfoName = *XML::Xercesc::DTDAttDef_getDOMTypeInfoName;
-*getDOMTypeInfoUri = *XML::Xercesc::DTDAttDef_getDOMTypeInfoUri;
-*setElemId = *XML::Xercesc::DTDAttDef_setElemId;
-*setName = *XML::Xercesc::DTDAttDef_setName;
+*getDeclaredInIntSubset = *XML::Xercesc::XMLEntityDecl_getDeclaredInIntSubset;
+*getIsParameter = *XML::Xercesc::XMLEntityDecl_getIsParameter;
+*getIsSpecialChar = *XML::Xercesc::XMLEntityDecl_getIsSpecialChar;
+*getId = *XML::Xercesc::XMLEntityDecl_getId;
+*getName = *XML::Xercesc::XMLEntityDecl_getName;
+*getNotationName = *XML::Xercesc::XMLEntityDecl_getNotationName;
+*getPublicId = *XML::Xercesc::XMLEntityDecl_getPublicId;
+*getSystemId = *XML::Xercesc::XMLEntityDecl_getSystemId;
+*getBaseURI = *XML::Xercesc::XMLEntityDecl_getBaseURI;
+*getValue = *XML::Xercesc::XMLEntityDecl_getValue;
+*getValueLen = *XML::Xercesc::XMLEntityDecl_getValueLen;
+*isExternal = *XML::Xercesc::XMLEntityDecl_isExternal;
+*isUnparsed = *XML::Xercesc::XMLEntityDecl_isUnparsed;
+*getMemoryManager = *XML::Xercesc::XMLEntityDecl_getMemoryManager;
+*setName = *XML::Xercesc::XMLEntityDecl_setName;
+*setNotationName = *XML::Xercesc::XMLEntityDecl_setNotationName;
+*setPublicId = *XML::Xercesc::XMLEntityDecl_setPublicId;
+*setSystemId = *XML::Xercesc::XMLEntityDecl_setSystemId;
+*setBaseURI = *XML::Xercesc::XMLEntityDecl_setBaseURI;
+*setValue = *XML::Xercesc::XMLEntityDecl_setValue;
+*setId = *XML::Xercesc::XMLEntityDecl_setId;
+*getKey = *XML::Xercesc::XMLEntityDecl_getKey;
 sub DISOWN {
     my $self = shift;
     my $ptr = tied(%$self);
@@ -1851,42 +2170,51 @@
 }
 
 
-############# Class : XML::Xerces::DTDGrammar ##############
+############# Class : XML::Xerces::XMLNotationDecl ##############
 
-package XML::Xerces::DTDGrammar;
+package XML::Xerces::XMLNotationDecl;
 use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
-@ISA = qw( XML::Xerces XML::Xerces::Grammar );
+@ISA = qw( XML::Xerces );
 %OWNER = ();
 %ITERATORS = ();
 sub new {
     my $pkg = shift;
-    my $self = XML::Xercesc::new_DTDGrammar(@_);
+    
+    my $self = XML::Xercesc::new_XMLNotationDecl(@_);
+    
     bless $self, $pkg if defined($self);
 }
 
+sub DESTROY {
+    return unless $_[0]->isa('HASH');
+    my $self = tied(%{$_[0]});
+    return unless defined $self;
+    if ($self->can('cleanup')) {
+        $_[0]->cleanup();
+    }
+    
+    delete $ITERATORS{$self};
+    
+    if (exists $OWNER{$self}) {
+        XML::Xercesc::delete_XMLNotationDecl($self);
+        delete $OWNER{$self};
+    }
+}
 
-*getGrammarType = *XML::Xercesc::DTDGrammar_getGrammarType;
-*getTargetNamespace = *XML::Xercesc::DTDGrammar_getTargetNamespace;
-*findOrAddElemDecl = *XML::Xercesc::DTDGrammar_findOrAddElemDecl;
-*getElemId = *XML::Xercesc::DTDGrammar_getElemId;
-*getElemDecl = *XML::Xercesc::DTDGrammar_getElemDecl;
-*getNotationDecl = *XML::Xercesc::DTDGrammar_getNotationDecl;
-*getValidated = *XML::Xercesc::DTDGrammar_getValidated;
-*putElemDecl = *XML::Xercesc::DTDGrammar_putElemDecl;
-*putNotationDecl = *XML::Xercesc::DTDGrammar_putNotationDecl;
-*setValidated = *XML::Xercesc::DTDGrammar_setValidated;
-*reset = *XML::Xercesc::DTDGrammar_reset;
-*getRootElemId = *XML::Xercesc::DTDGrammar_getRootElemId;
-*getEntityDecl = *XML::Xercesc::DTDGrammar_getEntityDecl;
-*getEntityDeclPool = *XML::Xercesc::DTDGrammar_getEntityDeclPool;
-*getElemEnumerator = *XML::Xercesc::DTDGrammar_getElemEnumerator;
-*getEntityEnumerator = *XML::Xercesc::DTDGrammar_getEntityEnumerator;
-*getNotationEnumerator = *XML::Xercesc::DTDGrammar_getNotationEnumerator;
-*setRootElemId = *XML::Xercesc::DTDGrammar_setRootElemId;
-*setGrammarDescription = *XML::Xercesc::DTDGrammar_setGrammarDescription;
-*getGrammarDescription = *XML::Xercesc::DTDGrammar_getGrammarDescription;
-*putEntityDecl = *XML::Xercesc::DTDGrammar_putEntityDecl;
-*reinitDfltEntities = *XML::Xercesc::DTDGrammar_reinitDfltEntities;
+*getId = *XML::Xercesc::XMLNotationDecl_getId;
+*getName = *XML::Xercesc::XMLNotationDecl_getName;
+*getPublicId = *XML::Xercesc::XMLNotationDecl_getPublicId;
+*getSystemId = *XML::Xercesc::XMLNotationDecl_getSystemId;
+*getBaseURI = *XML::Xercesc::XMLNotationDecl_getBaseURI;
+*getNameSpaceId = *XML::Xercesc::XMLNotationDecl_getNameSpaceId;
+*getMemoryManager = *XML::Xercesc::XMLNotationDecl_getMemoryManager;
+*setId = *XML::Xercesc::XMLNotationDecl_setId;
+*setName = *XML::Xercesc::XMLNotationDecl_setName;
+*setPublicId = *XML::Xercesc::XMLNotationDecl_setPublicId;
+*setSystemId = *XML::Xercesc::XMLNotationDecl_setSystemId;
+*setBaseURI = *XML::Xercesc::XMLNotationDecl_setBaseURI;
+*setNameSpaceId = *XML::Xercesc::XMLNotationDecl_setNameSpaceId;
+*getKey = *XML::Xercesc::XMLNotationDecl_getKey;
 sub DISOWN {
     my $self = shift;
     my $ptr = tied(%$self);
@@ -1900,32 +2228,37 @@
 }
 
 
-############# Class : XML::Xerces::DTDValidator ##############
+############# Class : XML::Xerces::XMLAttDefList ##############
 
-package XML::Xerces::DTDValidator;
+package XML::Xerces::XMLAttDefList;
 use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
-@ISA = qw( XML::Xerces XML::Xerces::XMLValidator );
+@ISA = qw( XML::Xerces );
 %OWNER = ();
 %ITERATORS = ();
-sub new {
-    my $pkg = shift;
-    my $self = XML::Xercesc::new_DTDValidator(@_);
-    bless $self, $pkg if defined($self);
+sub DESTROY {
+    return unless $_[0]->isa('HASH');
+    my $self = tied(%{$_[0]});
+    return unless defined $self;
+    if ($self->can('cleanup')) {
+        $_[0]->cleanup();
+    }
+    
+    delete $ITERATORS{$self};
+    
+    if (exists $OWNER{$self}) {
+        XML::Xercesc::delete_XMLAttDefList($self);
+        delete $OWNER{$self};
+    }
 }
 
-
-*checkContent = *XML::Xercesc::DTDValidator_checkContent;
-*faultInAttr = *XML::Xercesc::DTDValidator_faultInAttr;
-*preContentValidation = *XML::Xercesc::DTDValidator_preContentValidation;
-*postParseValidation = *XML::Xercesc::DTDValidator_postParseValidation;
-*reset = *XML::Xercesc::DTDValidator_reset;
-*requiresNamespaces = *XML::Xercesc::DTDValidator_requiresNamespaces;
-*validateAttrValue = *XML::Xercesc::DTDValidator_validateAttrValue;
-*validateElement = *XML::Xercesc::DTDValidator_validateElement;
-*getGrammar = *XML::Xercesc::DTDValidator_getGrammar;
-*setGrammar = *XML::Xercesc::DTDValidator_setGrammar;
-*handlesDTD = *XML::Xercesc::DTDValidator_handlesDTD;
-*handlesSchema = *XML::Xercesc::DTDValidator_handlesSchema;
+*hasMoreElements = *XML::Xercesc::XMLAttDefList_hasMoreElements;
+*isEmpty = *XML::Xercesc::XMLAttDefList_isEmpty;
+*findAttDef = *XML::Xercesc::XMLAttDefList_findAttDef;
+*nextElement = *XML::Xercesc::XMLAttDefList_nextElement;
+*Reset = *XML::Xercesc::XMLAttDefList_Reset;
+*getAttDefCount = *XML::Xercesc::XMLAttDefList_getAttDefCount;
+*getAttDef = *XML::Xercesc::XMLAttDefList_getAttDef;
+*getMemoryManager = *XML::Xercesc::XMLAttDefList_getMemoryManager;
 sub DISOWN {
     my $self = shift;
     my $ptr = tied(%$self);
@@ -1939,85 +2272,86 @@
 }
 
 
-############# Class : XML::Xerces::SchemaElementDecl ##############
+############# Class : XML::Xerces::XMLAttDef ##############
 
-package XML::Xerces::SchemaElementDecl;
+package XML::Xerces::XMLAttDef;
 use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
-@ISA = qw( XML::Xerces XML::Xerces::XMLElementDecl );
+@ISA = qw( XML::Xerces );
 %OWNER = ();
 %ITERATORS = ();
-*Empty = *XML::Xercesc::SchemaElementDecl_Empty;
-*Any = *XML::Xercesc::SchemaElementDecl_Any;
-*Mixed_Simple = *XML::Xercesc::SchemaElementDecl_Mixed_Simple;
-*Mixed_Complex = *XML::Xercesc::SchemaElementDecl_Mixed_Complex;
-*Children = *XML::Xercesc::SchemaElementDecl_Children;
-*Simple = *XML::Xercesc::SchemaElementDecl_Simple;
-*ModelTypes_Count = *XML::Xercesc::SchemaElementDecl_ModelTypes_Count;
-sub new {
-    my $pkg = shift;
-    my $self = XML::Xercesc::new_SchemaElementDecl(@_);
-    bless $self, $pkg if defined($self);
+*CData = *XML::Xercesc::XMLAttDef_CData;
+*ID = *XML::Xercesc::XMLAttDef_ID;
+*IDRef = *XML::Xercesc::XMLAttDef_IDRef;
+*IDRefs = *XML::Xercesc::XMLAttDef_IDRefs;
+*Entity = *XML::Xercesc::XMLAttDef_Entity;
+*Entities = *XML::Xercesc::XMLAttDef_Entities;
+*NmToken = *XML::Xercesc::XMLAttDef_NmToken;
+*NmTokens = *XML::Xercesc::XMLAttDef_NmTokens;
+*Notation = *XML::Xercesc::XMLAttDef_Notation;
+*Enumeration = *XML::Xercesc::XMLAttDef_Enumeration;
+*Simple = *XML::Xercesc::XMLAttDef_Simple;
+*Any_Any = *XML::Xercesc::XMLAttDef_Any_Any;
+*Any_Other = *XML::Xercesc::XMLAttDef_Any_Other;
+*Any_List = *XML::Xercesc::XMLAttDef_Any_List;
+*AttTypes_Count = *XML::Xercesc::XMLAttDef_AttTypes_Count;
+*AttTypes_Min = *XML::Xercesc::XMLAttDef_AttTypes_Min;
+*AttTypes_Max = *XML::Xercesc::XMLAttDef_AttTypes_Max;
+*AttTypes_Unknown = *XML::Xercesc::XMLAttDef_AttTypes_Unknown;
+*Default = *XML::Xercesc::XMLAttDef_Default;
+*Fixed = *XML::Xercesc::XMLAttDef_Fixed;
+*Required = *XML::Xercesc::XMLAttDef_Required;
+*Required_And_Fixed = *XML::Xercesc::XMLAttDef_Required_And_Fixed;
+*Implied = *XML::Xercesc::XMLAttDef_Implied;
+*ProcessContents_Skip = *XML::Xercesc::XMLAttDef_ProcessContents_Skip;
+*ProcessContents_Lax = *XML::Xercesc::XMLAttDef_ProcessContents_Lax;
+*ProcessContents_Strict = *XML::Xercesc::XMLAttDef_ProcessContents_Strict;
+*Prohibited = *XML::Xercesc::XMLAttDef_Prohibited;
+*DefAttTypes_Count = *XML::Xercesc::XMLAttDef_DefAttTypes_Count;
+*DefAttTypes_Min = *XML::Xercesc::XMLAttDef_DefAttTypes_Min;
+*DefAttTypes_Max = *XML::Xercesc::XMLAttDef_DefAttTypes_Max;
+*DefAttTypes_Unknown = *XML::Xercesc::XMLAttDef_DefAttTypes_Unknown;
+*NoReason = *XML::Xercesc::XMLAttDef_NoReason;
+*JustFaultIn = *XML::Xercesc::XMLAttDef_JustFaultIn;
+*fgInvalidAttrId = *XML::Xercesc::XMLAttDef_fgInvalidAttrId;
+*getAttTypeString = *XML::Xercesc::XMLAttDef_getAttTypeString;
+*getDefAttTypeString = *XML::Xercesc::XMLAttDef_getDefAttTypeString;
+sub DESTROY {
+    return unless $_[0]->isa('HASH');
+    my $self = tied(%{$_[0]});
+    return unless defined $self;
+    if ($self->can('cleanup')) {
+        $_[0]->cleanup();
+    }
+    
+    delete $ITERATORS{$self};
+    
+    if (exists $OWNER{$self}) {
+        XML::Xercesc::delete_XMLAttDef($self);
+        delete $OWNER{$self};
+    }
 }
 
-
-*findAttr = *XML::Xercesc::SchemaElementDecl_findAttr;
-*getAttDefList = *XML::Xercesc::SchemaElementDecl_getAttDefList;
-*getCharDataOpts = *XML::Xercesc::SchemaElementDecl_getCharDataOpts;
-*hasAttDefs = *XML::Xercesc::SchemaElementDecl_hasAttDefs;
-*resetDefs = *XML::Xercesc::SchemaElementDecl_resetDefs;
-*getContentSpec = *XML::Xercesc::SchemaElementDecl_getContentSpec;
-*setContentSpec = *XML::Xercesc::SchemaElementDecl_setContentSpec;
-*getContentModel = *XML::Xercesc::SchemaElementDecl_getContentModel;
-*setContentModel = *XML::Xercesc::SchemaElementDecl_setContentModel;
-*getFormattedContentModel = *XML::Xercesc::SchemaElementDecl_getFormattedContentModel;
-*getAttDef = *XML::Xercesc::SchemaElementDecl_getAttDef;
-*getAttWildCard = *XML::Xercesc::SchemaElementDecl_getAttWildCard;
-*getModelType = *XML::Xercesc::SchemaElementDecl_getModelType;
-*getPSVIScope = *XML::Xercesc::SchemaElementDecl_getPSVIScope;
-*getDatatypeValidator = *XML::Xercesc::SchemaElementDecl_getDatatypeValidator;
-*getEnclosingScope = *XML::Xercesc::SchemaElementDecl_getEnclosingScope;
-*getFinalSet = *XML::Xercesc::SchemaElementDecl_getFinalSet;
-*getBlockSet = *XML::Xercesc::SchemaElementDecl_getBlockSet;
-*getMiscFlags = *XML::Xercesc::SchemaElementDecl_getMiscFlags;
-*getDefaultValue = *XML::Xercesc::SchemaElementDecl_getDefaultValue;
-*getComplexTypeInfo = *XML::Xercesc::SchemaElementDecl_getComplexTypeInfo;
-*isGlobalDecl = *XML::Xercesc::SchemaElementDecl_isGlobalDecl;
-*getSubstitutionGroupElem = *XML::Xercesc::SchemaElementDecl_getSubstitutionGroupElem;
-*getValidity = *XML::Xercesc::SchemaElementDecl_getValidity;
-*getValidationAttempted = *XML::Xercesc::SchemaElementDecl_getValidationAttempted;
-*getTypeType = *XML::Xercesc::SchemaElementDecl_getTypeType;
-*getTypeUri = *XML::Xercesc::SchemaElementDecl_getTypeUri;
-*getTypeName = *XML::Xercesc::SchemaElementDecl_getTypeName;
-*getTypeAnonymous = *XML::Xercesc::SchemaElementDecl_getTypeAnonymous;
-*isTypeDefinitionUnion = *XML::Xercesc::SchemaElementDecl_isTypeDefinitionUnion;
-*getMemberTypeUri = *XML::Xercesc::SchemaElementDecl_getMemberTypeUri;
-*getMemberTypeAnonymous = *XML::Xercesc::SchemaElementDecl_getMemberTypeAnonymous;
-*getMemberTypeName = *XML::Xercesc::SchemaElementDecl_getMemberTypeName;
-*getDOMTypeInfoUri = *XML::Xercesc::SchemaElementDecl_getDOMTypeInfoUri;
-*getDOMTypeInfoName = *XML::Xercesc::SchemaElementDecl_getDOMTypeInfoName;
-*setElemId = *XML::Xercesc::SchemaElementDecl_setElemId;
-*setModelType = *XML::Xercesc::SchemaElementDecl_setModelType;
-*setPSVIScope = *XML::Xercesc::SchemaElementDecl_setPSVIScope;
-*setDatatypeValidator = *XML::Xercesc::SchemaElementDecl_setDatatypeValidator;
-*setEnclosingScope = *XML::Xercesc::SchemaElementDecl_setEnclosingScope;
-*setFinalSet = *XML::Xercesc::SchemaElementDecl_setFinalSet;
-*setBlockSet = *XML::Xercesc::SchemaElementDecl_setBlockSet;
-*setMiscFlags = *XML::Xercesc::SchemaElementDecl_setMiscFlags;
-*setDefaultValue = *XML::Xercesc::SchemaElementDecl_setDefaultValue;
-*setComplexTypeInfo = *XML::Xercesc::SchemaElementDecl_setComplexTypeInfo;
-*setXsiComplexTypeInfo = *XML::Xercesc::SchemaElementDecl_setXsiComplexTypeInfo;
-*setXsiSimpleTypeInfo = *XML::Xercesc::SchemaElementDecl_setXsiSimpleTypeInfo;
-*setAttWildCard = *XML::Xercesc::SchemaElementDecl_setAttWildCard;
-*setSubstitutionGroupElem = *XML::Xercesc::SchemaElementDecl_setSubstitutionGroupElem;
-*setValidity = *XML::Xercesc::SchemaElementDecl_setValidity;
-*setValidationAttempted = *XML::Xercesc::SchemaElementDecl_setValidationAttempted;
-*updateValidityFromElement = *XML::Xercesc::SchemaElementDecl_updateValidityFromElement;
-*updateValidityFromAttribute = *XML::Xercesc::SchemaElementDecl_updateValidityFromAttribute;
-*reset = *XML::Xercesc::SchemaElementDecl_reset;
-*addIdentityConstraint = *XML::Xercesc::SchemaElementDecl_addIdentityConstraint;
-*getIdentityConstraintCount = *XML::Xercesc::SchemaElementDecl_getIdentityConstraintCount;
-*getIdentityConstraintAt = *XML::Xercesc::SchemaElementDecl_getIdentityConstraintAt;
-*getObjectType = *XML::Xercesc::SchemaElementDecl_getObjectType;
+*getFullName = *XML::Xercesc::XMLAttDef_getFullName;
+*reset = *XML::Xercesc::XMLAttDef_reset;
+*getDefaultType = *XML::Xercesc::XMLAttDef_getDefaultType;
+*getEnumeration = *XML::Xercesc::XMLAttDef_getEnumeration;
+*getId = *XML::Xercesc::XMLAttDef_getId;
+*getProvided = *XML::Xercesc::XMLAttDef_getProvided;
+*getType = *XML::Xercesc::XMLAttDef_getType;
+*getValue = *XML::Xercesc::XMLAttDef_getValue;
+*getCreateReason = *XML::Xercesc::XMLAttDef_getCreateReason;
+*isExternal = *XML::Xercesc::XMLAttDef_isExternal;
+*getMemoryManager = *XML::Xercesc::XMLAttDef_getMemoryManager;
+*getDOMTypeInfoUri = *XML::Xercesc::XMLAttDef_getDOMTypeInfoUri;
+*getDOMTypeInfoName = *XML::Xercesc::XMLAttDef_getDOMTypeInfoName;
+*setDefaultType = *XML::Xercesc::XMLAttDef_setDefaultType;
+*setId = *XML::Xercesc::XMLAttDef_setId;
+*setProvided = *XML::Xercesc::XMLAttDef_setProvided;
+*setType = *XML::Xercesc::XMLAttDef_setType;
+*setValue = *XML::Xercesc::XMLAttDef_setValue;
+*setEnumeration = *XML::Xercesc::XMLAttDef_setEnumeration;
+*setCreateReason = *XML::Xercesc::XMLAttDef_setCreateReason;
+*setExternalAttDeclaration = *XML::Xercesc::XMLAttDef_setExternalAttDeclaration;
 sub DISOWN {
     my $self = shift;
     my $ptr = tied(%$self);
@@ -2031,27 +2365,31 @@
 }
 
 
-############# Class : XML::Xerces::SchemaElementDeclEnumerator ##############
+############# Class : XML::Xerces::XMLValidator ##############
 
-package XML::Xerces::SchemaElementDeclEnumerator;
+package XML::Xerces::XMLValidator;
 use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
 @ISA = qw( XML::Xerces );
 %OWNER = ();
 %ITERATORS = ();
-
-sub new {
-    my $pkg = shift;
-    my $self = XML::Xercesc::new_SchemaElementDeclEnumerator(@_);
-    bless $self, $pkg if defined($self);
+sub DESTROY {
+    return unless $_[0]->isa('HASH');
+    my $self = tied(%{$_[0]});
+    return unless defined $self;
+    if ($self->can('cleanup')) {
+        $_[0]->cleanup();
+    }
+    
+    delete $ITERATORS{$self};
+    
+    if (exists $OWNER{$self}) {
+        XML::Xercesc::delete_XMLValidator($self);
+        delete $OWNER{$self};
+    }
 }
 
-*hasMoreElements = *XML::Xercesc::SchemaElementDeclEnumerator_hasMoreElements;
-*nextElement = *XML::Xercesc::SchemaElementDeclEnumerator_nextElement;
-*Reset = *XML::Xercesc::SchemaElementDeclEnumerator_Reset;
-*size = *XML::Xercesc::SchemaElementDeclEnumerator_size;
-*resetKey = *XML::Xercesc::SchemaElementDeclEnumerator_resetKey;
-*nextElementKey = *XML::Xercesc::SchemaElementDeclEnumerator_nextElementKey;
-*hasMoreKeys = *XML::Xercesc::SchemaElementDeclEnumerator_hasMoreKeys;
+*getGrammar = *XML::Xercesc::XMLValidator_getGrammar;
+*setGrammar = *XML::Xercesc::XMLValidator_setGrammar;
 sub DISOWN {
     my $self = shift;
     my $ptr = tied(%$self);
@@ -2065,55 +2403,88 @@
 }
 
 
-############# Class : XML::Xerces::SchemaGrammar ##############
+############# Class : XML::Xerces::Grammar ##############
 
-package XML::Xerces::SchemaGrammar;
+package XML::Xerces::Grammar;
 use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
-@ISA = qw( XML::Xerces XML::Xerces::Grammar );
+@ISA = qw( XML::Xerces );
 %OWNER = ();
 %ITERATORS = ();
-sub new {
-    my $pkg = shift;
-    my $self = XML::Xercesc::new_SchemaGrammar(@_);
-    bless $self, $pkg if defined($self);
+*DTDGrammarType = *XML::Xercesc::Grammar_DTDGrammarType;
+*SchemaGrammarType = *XML::Xercesc::Grammar_SchemaGrammarType;
+*UnKnown = *XML::Xercesc::Grammar_UnKnown;
+*UNKNOWN_SCOPE = *XML::Xercesc::Grammar_UNKNOWN_SCOPE;
+*TOP_LEVEL_SCOPE = *XML::Xercesc::Grammar_TOP_LEVEL_SCOPE;
+sub DESTROY {
+    return unless $_[0]->isa('HASH');
+    my $self = tied(%{$_[0]});
+    return unless defined $self;
+    if ($self->can('cleanup')) {
+        $_[0]->cleanup();
+    }
+    
+    delete $ITERATORS{$self};
+    
+    if (exists $OWNER{$self}) {
+        XML::Xercesc::delete_Grammar($self);
+        delete $OWNER{$self};
+    }
 }
 
+*getGrammarType = *XML::Xercesc::Grammar_getGrammarType;
+*getTargetNamespace = *XML::Xercesc::Grammar_getTargetNamespace;
+*getValidated = *XML::Xercesc::Grammar_getValidated;
+*findOrAddElemDecl = *XML::Xercesc::Grammar_findOrAddElemDecl;
+*getElemId = *XML::Xercesc::Grammar_getElemId;
+*getElemDecl = *XML::Xercesc::Grammar_getElemDecl;
+*getNotationDecl = *XML::Xercesc::Grammar_getNotationDecl;
+*putElemDecl = *XML::Xercesc::Grammar_putElemDecl;
+*putNotationDecl = *XML::Xercesc::Grammar_putNotationDecl;
+*setValidated = *XML::Xercesc::Grammar_setValidated;
+*reset = *XML::Xercesc::Grammar_reset;
+*setGrammarDescription = *XML::Xercesc::Grammar_setGrammarDescription;
+*getGrammarDescription = *XML::Xercesc::Grammar_getGrammarDescription;
+*storeGrammar = *XML::Xercesc::Grammar_storeGrammar;
+*loadGrammar = *XML::Xercesc::Grammar_loadGrammar;
+sub DISOWN {
+    my $self = shift;
+    my $ptr = tied(%$self);
+    delete $OWNER{$ptr};
+}
 
-*getGrammarType = *XML::Xercesc::SchemaGrammar_getGrammarType;
-*getTargetNamespace = *XML::Xercesc::SchemaGrammar_getTargetNamespace;
-*findOrAddElemDecl = *XML::Xercesc::SchemaGrammar_findOrAddElemDecl;
-*getElemId = *XML::Xercesc::SchemaGrammar_getElemId;
-*getElemDecl = *XML::Xercesc::SchemaGrammar_getElemDecl;
-*getNotationDecl = *XML::Xercesc::SchemaGrammar_getNotationDecl;
-*getValidated = *XML::Xercesc::SchemaGrammar_getValidated;
-*putElemDecl = *XML::Xercesc::SchemaGrammar_putElemDecl;
-*putNotationDecl = *XML::Xercesc::SchemaGrammar_putNotationDecl;
-*setValidated = *XML::Xercesc::SchemaGrammar_setValidated;
-*reset = *XML::Xercesc::SchemaGrammar_reset;
-*getElemEnumerator = *XML::Xercesc::SchemaGrammar_getElemEnumerator;
-*getNotationEnumerator = *XML::Xercesc::SchemaGrammar_getNotationEnumerator;
-*getAttributeDeclRegistry = *XML::Xercesc::SchemaGrammar_getAttributeDeclRegistry;
-*getComplexTypeRegistry = *XML::Xercesc::SchemaGrammar_getComplexTypeRegistry;
-*getGroupInfoRegistry = *XML::Xercesc::SchemaGrammar_getGroupInfoRegistry;
-*getAttGroupInfoRegistry = *XML::Xercesc::SchemaGrammar_getAttGroupInfoRegistry;
-*getDatatypeRegistry = *XML::Xercesc::SchemaGrammar_getDatatypeRegistry;
-*getNamespaceScope = *XML::Xercesc::SchemaGrammar_getNamespaceScope;
-*getValidSubstitutionGroups = *XML::Xercesc::SchemaGrammar_getValidSubstitutionGroups;
-*getIDRefList = *XML::Xercesc::SchemaGrammar_getIDRefList;
-*getValidationContext = *XML::Xercesc::SchemaGrammar_getValidationContext;
-*setTargetNamespace = *XML::Xercesc::SchemaGrammar_setTargetNamespace;
-*setAttributeDeclRegistry = *XML::Xercesc::SchemaGrammar_setAttributeDeclRegistry;
-*setComplexTypeRegistry = *XML::Xercesc::SchemaGrammar_setComplexTypeRegistry;
-*setGroupInfoRegistry = *XML::Xercesc::SchemaGrammar_setGroupInfoRegistry;
-*setAttGroupInfoRegistry = *XML::Xercesc::SchemaGrammar_setAttGroupInfoRegistry;
-*setNamespaceScope = *XML::Xercesc::SchemaGrammar_setNamespaceScope;
-*setValidSubstitutionGroups = *XML::Xercesc::SchemaGrammar_setValidSubstitutionGroups;
-*setGrammarDescription = *XML::Xercesc::SchemaGrammar_setGrammarDescription;
-*getGrammarDescription = *XML::Xercesc::SchemaGrammar_getGrammarDescription;
-*putGroupElemDecl = *XML::Xercesc::SchemaGrammar_putGroupElemDecl;
-*putAnnotation = *XML::Xercesc::SchemaGrammar_putAnnotation;
-*addAnnotation = *XML::Xercesc::SchemaGrammar_addAnnotation;
-*getAnnotation = *XML::Xercesc::SchemaGrammar_getAnnotation;
+sub ACQUIRE {
+    my $self = shift;
+    my $ptr = tied(%$self);
+    $OWNER{$ptr} = 1;
+}
+
+
+############# Class : XML::Xerces::XMLGrammarDescription ##############
+
+package XML::Xerces::XMLGrammarDescription;
+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;
+    if ($self->can('cleanup')) {
+        $_[0]->cleanup();
+    }
+    
+    delete $ITERATORS{$self};
+    
+    if (exists $OWNER{$self}) {
+        XML::Xercesc::delete_XMLGrammarDescription($self);
+        delete $OWNER{$self};
+    }
+}
+
+*getGrammarType = *XML::Xercesc::XMLGrammarDescription_getGrammarType;
+*getGrammarKey = *XML::Xercesc::XMLGrammarDescription_getGrammarKey;
+*getMemoryManager = *XML::Xercesc::XMLGrammarDescription_getMemoryManager;
 sub DISOWN {
     my $self = shift;
     my $ptr = tied(%$self);
@@ -2127,46 +2498,34 @@
 }
 
 
-############# Class : XML::Xerces::SchemaValidator ##############
+############# Class : XML::Xerces::XMLDTDDescription ##############
 
-package XML::Xerces::SchemaValidator;
+package XML::Xerces::XMLDTDDescription;
 use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
-@ISA = qw( XML::Xerces XML::Xerces::XMLValidator );
+@ISA = qw( XML::Xerces XML::Xerces::XMLGrammarDescription );
 %OWNER = ();
 %ITERATORS = ();
-sub new {
-    my $pkg = shift;
-    my $self = XML::Xercesc::new_SchemaValidator(@_);
-    bless $self, $pkg if defined($self);
+sub DESTROY {
+    return unless $_[0]->isa('HASH');
+    my $self = tied(%{$_[0]});
+    return unless defined $self;
+    if ($self->can('cleanup')) {
+        $_[0]->cleanup();
+    }
+    
+    delete $ITERATORS{$self};
+    
+    if (exists $OWNER{$self}) {
+        XML::Xercesc::delete_XMLDTDDescription($self);
+        delete $OWNER{$self};
+    }
 }
 
-
-*checkContent = *XML::Xercesc::SchemaValidator_checkContent;
-*faultInAttr = *XML::Xercesc::SchemaValidator_faultInAttr;
-*preContentValidation = *XML::Xercesc::SchemaValidator_preContentValidation;
-*postParseValidation = *XML::Xercesc::SchemaValidator_postParseValidation;
-*reset = *XML::Xercesc::SchemaValidator_reset;
-*requiresNamespaces = *XML::Xercesc::SchemaValidator_requiresNamespaces;
-*validateAttrValue = *XML::Xercesc::SchemaValidator_validateAttrValue;
-*validateElement = *XML::Xercesc::SchemaValidator_validateElement;
-*getGrammar = *XML::Xercesc::SchemaValidator_getGrammar;
-*setGrammar = *XML::Xercesc::SchemaValidator_setGrammar;
-*handlesDTD = *XML::Xercesc::SchemaValidator_handlesDTD;
-*handlesSchema = *XML::Xercesc::SchemaValidator_handlesSchema;
-*normalizeWhiteSpace = *XML::Xercesc::SchemaValidator_normalizeWhiteSpace;
-*setGrammarResolver = *XML::Xercesc::SchemaValidator_setGrammarResolver;
-*setXsiType = *XML::Xercesc::SchemaValidator_setXsiType;
-*setNillable = *XML::Xercesc::SchemaValidator_setNillable;
-*setErrorReporter = *XML::Xercesc::SchemaValidator_setErrorReporter;
-*setExitOnFirstFatal = *XML::Xercesc::SchemaValidator_setExitOnFirstFatal;
-*setDatatypeBuffer = *XML::Xercesc::SchemaValidator_setDatatypeBuffer;
-*clearDatatypeBuffer = *XML::Xercesc::SchemaValidator_clearDatatypeBuffer;

[... 5861 lines stripped ...]


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