You are viewing a plain text version of this content. The canonical link for it is here.
Posted to p-dev@xerces.apache.org by "Harmon S. Nine" <hn...@netarx.com> on 2001/03/06 17:08:35 UTC

Re: Jason Stewart: xerces-perl mods

Jason --

Though it would be good to make this public, so I posted it to 
xerces-p-dev :-)

How is it you're make the formerly XERCES modules into XML::Xerces via SWIG?
Swig doesn't like a "%module XML::Xerces" in the Xerces.i file.  You can 
use the
"-package XML::Xerces" command-line option, but that doesn't really do 
the trick,
since you still say "use Xerces" in a perl-script, and the module still 
wants to autoload
auto/XERCES/XERCES.so instead of auto/XML/XERCES/Xerces.so

As for the diff-file change:

-    result = new DOM_Node const (arg0->getCommonAncestorContainer()); 
   ST(argvi) = sv_newmortal();
+    result = new DOM_Node (arg0->getCommonAncestorContainer());    
ST(argvi) = sv_newmortal();

I'm trying to figure out where that "const" came from that the diff is 
removing.  I think its
from the dom/DOM_Range.hpp header file, i.e. "const" at the end of the 
following
declaration:

const DOM_Node getCommonAncestorContainer() const;

Try commenting this out:

const DOM_Node getCommonAncestorContainer() /*const*/;

to see if this makes it so you don't need the diff.  By the way, there's 
*lots* of
declarations like this.  If they're a problem with SWIG 1.3, they all 
need to be
commented out.  I'm working on this and the rest as I write this, since 
it can't
do any harm anyway...

-- Harmon


Jason E. Stewart wrote:

> "Harmon S. Nine" <hn...@netarx.com> writes:
> 
> 
>> So there's no actual change to XERCES.i, just to XERCES_wrap.C, in 
>> particular, the
>> elimination of the "const".  Is this right?
> 
> The only other changes I made were in Makefile.PL to generalize the
> finding of the include files and the xerces.so lib, and to change the
> namespace to XML::Xerces, which seemed to be what the apache people
> thought was best.
> 
> And I renamed the files to be consistent with the namespace:
> XERCES.i => Xerces.i
> XERCES_wrap.C => Xerces.C
> XERCES.pm => Xerces.pm
> 
> Other than that I left things alone. 
> 
> jas.
> 
>