jasons      2002/11/12 22:47:24

  Modified:    perl     Xerces.C Xerces.pm
  Log:
  new
  
  Revision  Changes    Path
  1.17      +105 -53   xml-xerces/perl/Xerces.C
  
  Index: Xerces.C
  ===================================================================
  RCS file: /home/cvs/xml-xerces/perl/Xerces.C,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- Xerces.C  19 Oct 2002 23:07:49 -0000      1.16
  +++ Xerces.C  13 Nov 2002 06:47:21 -0000      1.17
  @@ -712,7 +712,7 @@
       SV *error = ERRSV;
       SvSetSV(error,tmpsv);
       (void)SvUPGRADE(error, SVt_PV);
  -    Perl_die(Nullch);
  +    croak(Nullch);
   }
   
   void
  @@ -729,7 +729,7 @@
       SV *error = ERRSV;
       SvSetSV(error,tmpsv);
       (void)SvUPGRADE(error, SVt_PV);
  -    Perl_die(Nullch);
  +    croak(Nullch);
   }
   
   void
  @@ -746,7 +746,7 @@
       SV *error = ERRSV;
       SvSetSV(error,tmpsv);
       (void)SvUPGRADE(error, SVt_PV);
  -    Perl_die(Nullch);
  +    croak(Nullch);
   }
   
   void
  @@ -763,7 +763,7 @@
       SV *error = ERRSV;
       SvSetSV(error,tmpsv);
       (void)SvUPGRADE(error, SVt_PV);
  -    Perl_die(Nullch);
  +    croak(Nullch);
   }
   
   SV*
  @@ -889,6 +889,12 @@
      return NULL;
   }
   
  +DOMNode *DOMDocument_toDOMNode(DOMDocument *self){
  +     return (DOMNode*) self;
  +   }
  +DOMDocumentTraversal *DOMDocument_toDOMDocumentTraversal(DOMDocument *self){
  +     return (DOMDocumentTraversal*) self;
  +   }
   #ifdef PERL_OBJECT
   #define MAGIC_CLASS _wrap_XML::Xerces_var::
   class _wrap_XML::Xerces_var : public CPerlObj {
  @@ -33983,54 +33989,6 @@
       croak(_swigerr);
   }
   
  -XS(_wrap_DOMDocument_getFirstChild) {
  -    char _swigmsg[SWIG_MAX_ERRMSG] = "";
  -    const char *_swigerr = _swigmsg;
  -    {
  -        DOMDocument *arg1 = (DOMDocument *) 0 ;
  -        DOMNode *result;
  -        int argvi = 0;
  -        dXSARGS;
  -        
  -        if ((items < 1) || (items > 1)) {
  -            SWIG_croak("Usage: DOMDocument_getFirstChild(self);");
  -        }
  -        {
  -            if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_DOMDocument,0) < 
0) {
  -                SWIG_croak("Type error in argument 1 of DOMDocument_getFirstChild. 
Expected _p_DOMDocument");
  -            }
  -        }
  -        {
  -            try {
  -                result = (DOMNode *)((DOMDocument const *)arg1)->getFirstChild();
  -                
  -            }
  -            catch (const XMLException& e)
  -            {
  -                makeXMLException(e);
  -            }
  -            catch (const DOMException& e)
  -            {
  -                makeDOMException(e);
  -            }
  -            catch (...)
  -            {
  -                XMLPlatformUtils::Terminate();
  -                croak("%s", "Handling Unknown exception");
  -            }
  -        }
  -        {
  -            swig_type_info *ty = SWIG_TypeDynamicCast(SWIGTYPE_p_DOMNode, (void **) 
&result);
  -            ST(argvi) = sv_newmortal();
  -            SWIG_MakePtr(ST(argvi++), (void *) result, ty,0);
  -        }
  -        XSRETURN(argvi);
  -        fail:
  -        (void) _swigerr;
  -    }
  -    croak(_swigerr);
  -}
  -
   XS(_wrap_DOMNode_getLastChild) {
       char _swigmsg[SWIG_MAX_ERRMSG] = "";
       const char *_swigerr = _swigmsg;
  @@ -39307,6 +39265,99 @@
       XSRETURN(0);
   }
   
  +XS(_wrap_DOMDocument_toDOMNode) {
  +    char _swigmsg[SWIG_MAX_ERRMSG] = "";
  +    const char *_swigerr = _swigmsg;
  +    {
  +        DOMDocument *arg1 = (DOMDocument *) 0 ;
  +        DOMNode *result;
  +        int argvi = 0;
  +        dXSARGS;
  +        
  +        if ((items < 1) || (items > 1)) {
  +            SWIG_croak("Usage: DOMDocument_toDOMNode(self);");
  +        }
  +        {
  +            if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_DOMDocument,0) < 
0) {
  +                SWIG_croak("Type error in argument 1 of DOMDocument_toDOMNode. 
Expected _p_DOMDocument");
  +            }
  +        }
  +        {
  +            try {
  +                result = (DOMNode *)DOMDocument_toDOMNode(arg1);
  +                
  +            }
  +            catch (const XMLException& e)
  +            {
  +                makeXMLException(e);
  +            }
  +            catch (const DOMException& e)
  +            {
  +                makeDOMException(e);
  +            }
  +            catch (...)
  +            {
  +                XMLPlatformUtils::Terminate();
  +                croak("%s", "Handling Unknown exception");
  +            }
  +        }
  +        {
  +            swig_type_info *ty = SWIG_TypeDynamicCast(SWIGTYPE_p_DOMNode, (void **) 
&result);
  +            ST(argvi) = sv_newmortal();
  +            SWIG_MakePtr(ST(argvi++), (void *) result, ty,0);
  +        }
  +        XSRETURN(argvi);
  +        fail:
  +        (void) _swigerr;
  +    }
  +    croak(_swigerr);
  +}
  +
  +XS(_wrap_DOMDocument_toDOMDocumentTraversal) {
  +    char _swigmsg[SWIG_MAX_ERRMSG] = "";
  +    const char *_swigerr = _swigmsg;
  +    {
  +        DOMDocument *arg1 = (DOMDocument *) 0 ;
  +        DOMDocumentTraversal *result;
  +        int argvi = 0;
  +        dXSARGS;
  +        
  +        if ((items < 1) || (items > 1)) {
  +            SWIG_croak("Usage: DOMDocument_toDOMDocumentTraversal(self);");
  +        }
  +        {
  +            if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_DOMDocument,0) < 
0) {
  +                SWIG_croak("Type error in argument 1 of 
DOMDocument_toDOMDocumentTraversal. Expected _p_DOMDocument");
  +            }
  +        }
  +        {
  +            try {
  +                result = (DOMDocumentTraversal 
*)DOMDocument_toDOMDocumentTraversal(arg1);
  +                
  +            }
  +            catch (const XMLException& e)
  +            {
  +                makeXMLException(e);
  +            }
  +            catch (const DOMException& e)
  +            {
  +                makeDOMException(e);
  +            }
  +            catch (...)
  +            {
  +                XMLPlatformUtils::Terminate();
  +                croak("%s", "Handling Unknown exception");
  +            }
  +        }
  +        ST(argvi) = sv_newmortal();
  +        SWIG_MakePtr(ST(argvi++), (void *) result, 
SWIGTYPE_p_DOMDocumentTraversal,0);
  +        XSRETURN(argvi);
  +        fail:
  +        (void) _swigerr;
  +    }
  +    croak(_swigerr);
  +}
  +
   XS(_wrap_delete_DOMDocumentFragment) {
       char _swigmsg[SWIG_MAX_ERRMSG] = "";
       const char *_swigerr = _swigmsg;
  @@ -50195,7 +50246,6 @@
   {"XML::Xercesc::DOMNode_getParentNode", _wrap_DOMNode_getParentNode},
   {"XML::Xercesc::DOMNode_getChildNodes", _wrap_DOMNode_getChildNodes},
   {"XML::Xercesc::DOMNode_getFirstChild", _wrap_DOMNode_getFirstChild},
  -{"XML::Xercesc::DOMDocument_getFirstChild", _wrap_DOMDocument_getFirstChild},
   {"XML::Xercesc::DOMNode_getLastChild", _wrap_DOMNode_getLastChild},
   {"XML::Xercesc::DOMNode_getPreviousSibling", _wrap_DOMNode_getPreviousSibling},
   {"XML::Xercesc::DOMNode_getNextSibling", _wrap_DOMNode_getNextSibling},
  @@ -50292,6 +50342,8 @@
   {"XML::Xercesc::DOMDocument_createDocumentType", 
_wrap_DOMDocument_createDocumentType},
   {"XML::Xercesc::DOMDocument_createNotation", _wrap_DOMDocument_createNotation},
   {"XML::Xercesc::DOMDocument_createElementNS", _wrap_DOMDocument_createElementNS},
  +{"XML::Xercesc::DOMDocument_toDOMNode", _wrap_DOMDocument_toDOMNode},
  +{"XML::Xercesc::DOMDocument_toDOMDocumentTraversal", 
_wrap_DOMDocument_toDOMDocumentTraversal},
   {"XML::Xercesc::delete_DOMDocumentFragment", _wrap_delete_DOMDocumentFragment},
   {"XML::Xercesc::delete_DOMDocumentType", _wrap_delete_DOMDocumentType},
   {"XML::Xercesc::DOMDocumentType_getName", _wrap_DOMDocumentType_getName},
  
  
  
  1.18      +381 -51   xml-xerces/perl/Xerces.pm
  
  Index: Xerces.pm
  ===================================================================
  RCS file: /home/cvs/xml-xerces/perl/Xerces.pm,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- Xerces.pm 19 Oct 2002 23:07:51 -0000      1.17
  +++ Xerces.pm 13 Nov 2002 06:47:23 -0000      1.18
  @@ -8,13 +8,13 @@
   
   use strict;
   
  -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();
  -}
  +# 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();
  +# }
   
   END {
     # NOTICE: We are automatically calling XMLPlatformUtils::Terminate()
  @@ -43,6 +43,26 @@
     }
   }
   
  +package XML::Xerces::DOMException;
  +use vars qw(@CODES);
  +@CODES = qw(__NONEXISTENT__
  +         INDEX_SIZE_ERR
  +         DOMSTRING_SIZE_ERR
  +         HIERARCHY_REQUEST_ERR
  +         WRONG_DOCUMENT_ERR
  +         INVALID_CHARACTER_ERR
  +         NO_DATA_ALLOWED_ERR
  +         NO_MODIFICATION_ALLOWED_ERR
  +         NOT_FOUND_ERR
  +         NOT_SUPPORTED_ERR
  +         INUSE_ATTRIBUTE_ERR
  +         INVALID_STATE_ERR
  +         SYNTAX_ERR
  +         INVALID_MODIFICATION_ERR
  +         NAMESPACE_ERR
  +         INVALID_ACCESS_ERR
  +        );
  +
   ############# Class : XML::Xerces::PerlContentHandler ##############
   package XML::Xerces::PerlContentHandler;
   use vars qw(@ISA);
  @@ -3190,6 +3210,9 @@
         $XML::Xerces::DOMNodeIterator::OWNER{$self}->{__NODE_FILTER} = $callback;
       }
       my @args = ($self,$root,$what,$callback,$expand);
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMDocumentTraversal();
  +    }
   
       my $result = XML::Xercesc::DOMDocumentTraversal_createNodeIterator(@args);
       return undef if (!defined($result));
  @@ -3207,6 +3230,9 @@
         $XML::Xerces::DOMTreeWalker::OWNER{$self}->{__NODE_FILTER} = $callback;
       }
       my @args = ($self,$root,$what,$callback,$expand);
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMDocumentTraversal();
  +    }
   
       my $result = XML::Xercesc::DOMDocumentTraversal_createTreeWalker(@args);
       return undef if (!defined($result));
  @@ -3608,13 +3634,46 @@
   *TREE_POSITION_EQUIVALENT = *XML::Xercesc::DOMNode_TREE_POSITION_EQUIVALENT;
   *TREE_POSITION_SAME_NODE = *XML::Xercesc::DOMNode_TREE_POSITION_SAME_NODE;
   *TREE_POSITION_DISCONNECTED = *XML::Xercesc::DOMNode_TREE_POSITION_DISCONNECTED;
  -*getNodeName = *XML::Xercesc::DOMNode_getNodeName;
  -*getNodeValue = *XML::Xercesc::DOMNode_getNodeValue;
  -*getNodeType = *XML::Xercesc::DOMNode_getNodeType;
  +sub getNodeName {
  +    my @args = @_;
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMNode();
  +    }
  +    my $result = XML::Xercesc::DOMNode_getNodeName(@args);
  +    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  +    my %resulthash;
  +    tie %resulthash, ref($result), $result;
  +    return bless \%resulthash, ref($result);
  +}
  +sub getNodeValue {
  +    my @args = @_;
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMNode();
  +    }
  +    my $result = XML::Xercesc::DOMNode_getNodeValue(@args);
  +    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  +    my %resulthash;
  +    tie %resulthash, ref($result), $result;
  +    return bless \%resulthash, ref($result);
  +}
  +sub getNodeType {
  +    my @args = @_;
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMNode();
  +    }
  +    my $result = XML::Xercesc::DOMNode_getNodeType(@args);
  +    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  +    my %resulthash;
  +    tie %resulthash, ref($result), $result;
  +    return bless \%resulthash, ref($result);
  +}
   sub getParentNode {
       my @args = @_;
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMNode();
  +    }
       my $result = XML::Xercesc::DOMNode_getParentNode(@args);
  -    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  +    return undef if (!defined($result));
       my %resulthash;
       tie %resulthash, ref($result), $result;
       return bless \%resulthash, ref($result);
  @@ -3635,32 +3694,44 @@
   }
   sub getFirstChild {
       my @args = @_;
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMNode();
  +    }
       my $result = XML::Xercesc::DOMNode_getFirstChild(@args);
  -    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  +    return undef if (!defined($result));
       my %resulthash;
       tie %resulthash, ref($result), $result;
       return bless \%resulthash, ref($result);
   }
   sub getLastChild {
       my @args = @_;
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMNode();
  +    }
       my $result = XML::Xercesc::DOMNode_getLastChild(@args);
  -    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  +    return undef if (!defined($result));
       my %resulthash;
       tie %resulthash, ref($result), $result;
       return bless \%resulthash, ref($result);
   }
   sub getPreviousSibling {
       my @args = @_;
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMNode();
  +    }
       my $result = XML::Xercesc::DOMNode_getPreviousSibling(@args);
  -    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  +    return undef if (!defined($result));
       my %resulthash;
       tie %resulthash, ref($result), $result;
       return bless \%resulthash, ref($result);
   }
   sub getNextSibling {
       my @args = @_;
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMNode();
  +    }
       my $result = XML::Xercesc::DOMNode_getNextSibling(@args);
  -    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  +    return undef if (!defined($result));
       my %resulthash;
       tie %resulthash, ref($result), $result;
       return bless \%resulthash, ref($result);
  @@ -3681,81 +3752,312 @@
   }
   sub getOwnerDocument {
       my @args = @_;
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMNode();
  +    }
       my $result = XML::Xercesc::DOMNode_getOwnerDocument(@args);
  -    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  +    return undef if (!defined($result));
       my %resulthash;
       tie %resulthash, ref($result), $result;
       return bless \%resulthash, ref($result);
   }
   sub cloneNode {
       my @args = @_;
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMNode();
  +    }
       my $result = XML::Xercesc::DOMNode_cloneNode(@args);
  -    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  +    return undef if (!defined($result));
       my %resulthash;
       tie %resulthash, ref($result), $result;
       return bless \%resulthash, ref($result);
   }
   sub insertBefore {
       my @args = @_;
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMNode();
  +    }
       my $result = XML::Xercesc::DOMNode_insertBefore(@args);
  -    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  +    return undef if (!defined($result));
       my %resulthash;
       tie %resulthash, ref($result), $result;
       return bless \%resulthash, ref($result);
   }
   sub replaceChild {
       my @args = @_;
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMNode();
  +    }
       my $result = XML::Xercesc::DOMNode_replaceChild(@args);
  -    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  +    return undef if (!defined($result));
       my %resulthash;
       tie %resulthash, ref($result), $result;
       return bless \%resulthash, ref($result);
   }
   sub removeChild {
       my @args = @_;
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMNode();
  +    }
       my $result = XML::Xercesc::DOMNode_removeChild(@args);
  -    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  +    return undef if (!defined($result));
       my %resulthash;
       tie %resulthash, ref($result), $result;
       return bless \%resulthash, ref($result);
   }
   sub appendChild {
       my @args = @_;
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMNode();
  +    }
       my $result = XML::Xercesc::DOMNode_appendChild(@args);
  +    return undef if (!defined($result));
  +    my %resulthash;
  +    tie %resulthash, ref($result), $result;
  +    return bless \%resulthash, ref($result);
  +}
  +sub hasChildNodes {
  +    my @args = @_;
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMNode();
  +    }
  +    my $result = XML::Xercesc::DOMNode_hasChildNodes(@args);
  +    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  +    my %resulthash;
  +    tie %resulthash, ref($result), $result;
  +    return bless \%resulthash, ref($result);
  +}
  +sub setNodeValue {
  +    my @args = @_;
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMNode();
  +    }
  +    my $result = XML::Xercesc::DOMNode_setNodeValue(@args);
  +    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  +    my %resulthash;
  +    tie %resulthash, ref($result), $result;
  +    return bless \%resulthash, ref($result);
  +}
  +sub normalize {
  +    my @args = @_;
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMNode();
  +    }
  +    my $result = XML::Xercesc::DOMNode_normalize(@args);
  +    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  +    my %resulthash;
  +    tie %resulthash, ref($result), $result;
  +    return bless \%resulthash, ref($result);
  +}
  +sub isSupported {
  +    my @args = @_;
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMNode();
  +    }
  +    my $result = XML::Xercesc::DOMNode_isSupported(@args);
  +    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  +    my %resulthash;
  +    tie %resulthash, ref($result), $result;
  +    return bless \%resulthash, ref($result);
  +}
  +sub getNamespaceURI {
  +    my @args = @_;
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMNode();
  +    }
  +    my $result = XML::Xercesc::DOMNode_getNamespaceURI(@args);
  +    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  +    my %resulthash;
  +    tie %resulthash, ref($result), $result;
  +    return bless \%resulthash, ref($result);
  +}
  +sub getPrefix {
  +    my @args = @_;
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMNode();
  +    }
  +    my $result = XML::Xercesc::DOMNode_getPrefix(@args);
  +    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  +    my %resulthash;
  +    tie %resulthash, ref($result), $result;
  +    return bless \%resulthash, ref($result);
  +}
  +sub getLocalName {
  +    my @args = @_;
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMNode();
  +    }
  +    my $result = XML::Xercesc::DOMNode_getLocalName(@args);
  +    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  +    my %resulthash;
  +    tie %resulthash, ref($result), $result;
  +    return bless \%resulthash, ref($result);
  +}
  +sub setPrefix {
  +    my @args = @_;
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMNode();
  +    }
  +    my $result = XML::Xercesc::DOMNode_setPrefix(@args);
  +    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  +    my %resulthash;
  +    tie %resulthash, ref($result), $result;
  +    return bless \%resulthash, ref($result);
  +}
  +sub hasAttributes {
  +    my @args = @_;
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMNode();
  +    }
  +    my $result = XML::Xercesc::DOMNode_hasAttributes(@args);
  +    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  +    my %resulthash;
  +    tie %resulthash, ref($result), $result;
  +    return bless \%resulthash, ref($result);
  +}
  +sub isSameNode {
  +    my @args = @_;
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMNode();
  +    }
  +    my $result = XML::Xercesc::DOMNode_isSameNode(@args);
  +    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  +    my %resulthash;
  +    tie %resulthash, ref($result), $result;
  +    return bless \%resulthash, ref($result);
  +}
  +sub isEqualNode {
  +    my @args = @_;
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMNode();
  +    }
  +    my $result = XML::Xercesc::DOMNode_isEqualNode(@args);
  +    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  +    my %resulthash;
  +    tie %resulthash, ref($result), $result;
  +    return bless \%resulthash, ref($result);
  +}
  +sub setUserData {
  +    my @args = @_;
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMNode();
  +    }
  +    my $result = XML::Xercesc::DOMNode_setUserData(@args);
  +    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  +    my %resulthash;
  +    tie %resulthash, ref($result), $result;
  +    return bless \%resulthash, ref($result);
  +}
  +sub getUserData {
  +    my @args = @_;
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMNode();
  +    }
  +    my $result = XML::Xercesc::DOMNode_getUserData(@args);
  +    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  +    my %resulthash;
  +    tie %resulthash, ref($result), $result;
  +    return bless \%resulthash, ref($result);
  +}
  +sub getBaseURI {
  +    my @args = @_;
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMNode();
  +    }
  +    my $result = XML::Xercesc::DOMNode_getBaseURI(@args);
  +    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  +    my %resulthash;
  +    tie %resulthash, ref($result), $result;
  +    return bless \%resulthash, ref($result);
  +}
  +sub compareTreePosition {
  +    my @args = @_;
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMNode();
  +    }
  +    my $result = XML::Xercesc::DOMNode_compareTreePosition(@args);
  +    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  +    my %resulthash;
  +    tie %resulthash, ref($result), $result;
  +    return bless \%resulthash, ref($result);
  +}
  +sub getTextContent {
  +    my @args = @_;
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMNode();
  +    }
  +    my $result = XML::Xercesc::DOMNode_getTextContent(@args);
  +    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  +    my %resulthash;
  +    tie %resulthash, ref($result), $result;
  +    return bless \%resulthash, ref($result);
  +}
  +sub setTextContent {
  +    my @args = @_;
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMNode();
  +    }
  +    my $result = XML::Xercesc::DOMNode_setTextContent(@args);
  +    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  +    my %resulthash;
  +    tie %resulthash, ref($result), $result;
  +    return bless \%resulthash, ref($result);
  +}
  +sub lookupNamespacePrefix {
  +    my @args = @_;
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMNode();
  +    }
  +    my $result = XML::Xercesc::DOMNode_lookupNamespacePrefix(@args);
  +    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  +    my %resulthash;
  +    tie %resulthash, ref($result), $result;
  +    return bless \%resulthash, ref($result);
  +}
  +sub isDefaultNamespace {
  +    my @args = @_;
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMNode();
  +    }
  +    my $result = XML::Xercesc::DOMNode_isDefaultNamespace(@args);
  +    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  +    my %resulthash;
  +    tie %resulthash, ref($result), $result;
  +    return bless \%resulthash, ref($result);
  +}
  +sub lookupNamespaceURI {
  +    my @args = @_;
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMNode();
  +    }
  +    my $result = XML::Xercesc::DOMNode_lookupNamespaceURI(@args);
       return $result unless UNIVERSAL::isa($result,'XML::Xerces');
       my %resulthash;
       tie %resulthash, ref($result), $result;
       return bless \%resulthash, ref($result);
   }
  -*hasChildNodes = *XML::Xercesc::DOMNode_hasChildNodes;
  -*setNodeValue = *XML::Xercesc::DOMNode_setNodeValue;
  -*normalize = *XML::Xercesc::DOMNode_normalize;
  -*isSupported = *XML::Xercesc::DOMNode_isSupported;
  -*getNamespaceURI = *XML::Xercesc::DOMNode_getNamespaceURI;
  -*getPrefix = *XML::Xercesc::DOMNode_getPrefix;
  -*getLocalName = *XML::Xercesc::DOMNode_getLocalName;
  -*setPrefix = *XML::Xercesc::DOMNode_setPrefix;
  -*hasAttributes = *XML::Xercesc::DOMNode_hasAttributes;
  -*isSameNode = *XML::Xercesc::DOMNode_isSameNode;
  -*isEqualNode = *XML::Xercesc::DOMNode_isEqualNode;
  -*setUserData = *XML::Xercesc::DOMNode_setUserData;
  -*getUserData = *XML::Xercesc::DOMNode_getUserData;
  -*getBaseURI = *XML::Xercesc::DOMNode_getBaseURI;
  -*compareTreePosition = *XML::Xercesc::DOMNode_compareTreePosition;
  -*getTextContent = *XML::Xercesc::DOMNode_getTextContent;
  -*setTextContent = *XML::Xercesc::DOMNode_setTextContent;
  -*lookupNamespacePrefix = *XML::Xercesc::DOMNode_lookupNamespacePrefix;
  -*isDefaultNamespace = *XML::Xercesc::DOMNode_isDefaultNamespace;
  -*lookupNamespaceURI = *XML::Xercesc::DOMNode_lookupNamespaceURI;
   sub getInterface {
       my @args = @_;
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMNode();
  +    }
       my $result = XML::Xercesc::DOMNode_getInterface(@args);
  +    return undef if (!defined($result));
  +    my %resulthash;
  +    tie %resulthash, ref($result), $result;
  +    return bless \%resulthash, ref($result);
  +}
  +sub release {
  +    my @args = @_;
  +    if ($args[0]->isa('XML::Xerces::DOMDocument')) {
  +      $args[0] = $args[0]->toDOMNode();
  +    }
  +    my $result = XML::Xercesc::DOMNode_release(@args);
       return $result unless UNIVERSAL::isa($result,'XML::Xerces');
       my %resulthash;
       tie %resulthash, ref($result), $result;
       return bless \%resulthash, ref($result);
   }
  -*release = *XML::Xercesc::DOMNode_release;
   sub DISOWN {
       my $self = shift;
       my $ptr = tied(%$self);
  @@ -4016,14 +4318,6 @@
       tie %resulthash, ref($result), $result;
       return bless \%resulthash, ref($result);
   }
  -sub getFirstChild {
  -    my @args = @_;
  -    my $result = XML::Xercesc::DOMDocument_getFirstChild(@args);
  -    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  -    my %resulthash;
  -    tie %resulthash, ref($result), $result;
  -    return bless \%resulthash, ref($result);
  -}
   sub getElementsByTagName {
       my @args = @_;
       my $result = XML::Xercesc::DOMDocument_getElementsByTagName(@args);
  @@ -4154,6 +4448,22 @@
       tie %resulthash, ref($result), $result;
       return bless \%resulthash, ref($result);
   }
  +sub toDOMNode {
  +    my @args = @_;
  +    my $result = XML::Xercesc::DOMDocument_toDOMNode(@args);
  +    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  +    my %resulthash;
  +    tie %resulthash, ref($result), $result;
  +    return bless \%resulthash, ref($result);
  +}
  +sub toDOMDocumentTraversal {
  +    my @args = @_;
  +    my $result = XML::Xercesc::DOMDocument_toDOMDocumentTraversal(@args);
  +    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  +    my %resulthash;
  +    tie %resulthash, ref($result), $result;
  +    return bless \%resulthash, ref($result);
  +}
   sub DISOWN {
       my $self = shift;
       my $ptr = tied(%$self);
  @@ -4924,8 +5234,28 @@
       tie %resulthash, ref($result), $result;
       return bless \%resulthash, ref($result);
   }
  -*writeNode = *XML::Xercesc::DOMWriter_writeNode;
  -*writeToString = *XML::Xercesc::DOMWriter_writeToString;
  +sub writeNode {
  +    my @args = @_;
  +    if ($args[2]->isa('XML::Xerces::DOMDocument')) {
  +      $args[2] = $args[2]->toDOMNode();
  +    }
  +    my $result = XML::Xercesc::DOMWriter_writeNode(@args);
  +    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  +    my %resulthash;
  +    tie %resulthash, ref($result), $result;
  +    return bless \%resulthash, ref($result);
  +}
  +sub writeToString {
  +    my @args = @_;
  +    if ($args[1]->isa('XML::Xerces::DOMDocument')) {
  +      $args[1] = $args[1]->toDOMNode();
  +    }
  +    my $result = XML::Xercesc::DOMWriter_writeToString(@args);
  +    return $result unless UNIVERSAL::isa($result,'XML::Xerces');
  +    my %resulthash;
  +    tie %resulthash, ref($result), $result;
  +    return bless \%resulthash, ref($result);
  +}
   *release = *XML::Xercesc::DOMWriter_release;
   sub DISOWN {
       my $self = shift;
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to