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 "Jason E. Stewart" <ja...@openinformatics.com> on 2001/03/07 17:37:57 UTC

Xerces-p 1.3 now in CVS!!!

Hey All,

/tmp $ cvs -d :pserver:anoncvs@xml.apache.org:/home/cvspublic login
(Logging in to anoncvs@xml.apache.org)
CVS password: anoncvs

/tmp $ cvs -d :pserver:anoncvs@xml.apache.org:/home/cvspublic co xml-xerces/perl
cvs server: Updating xml-xerces/perl
U xml-xerces/perl/BinFile2InputStream.cpp
U xml-xerces/perl/BinMemoryInputStream.cpp
U xml-xerces/perl/FileInputSource.cpp
U xml-xerces/perl/Makefile.PL
U xml-xerces/perl/MemoryInputSource.cpp
.
.
.

At long last the code is in place. (And there was much rejoicing ...)

After running into all sorts of SWIG issues I decided the best
approach was to check in Harmon's work with as little changes as
possible, and then enlist all of you to help straighten out the
problems. 

So the code in the repository is straight out of Harmon's tarball
except:

I Renamed Module Namespace:
==========================
XERCES => Xerces

Because of SWIG problems, I couldn't yet go to the full
XML::Xerces. By getting this checked in, I hope to elicit support from
the rest of you to solve these problems

II Renamed some files:
======================
XERCES.i => Xerces.i
XERCES_wrap.C => Xerces.C
XERCES_wrap.diff => Xerces.C.diff

III Added code in Makefile.PL to detect three environment variables to
assist in finding the Xerces header files, and dynamic library:
======================
* XERCES_LIB
* XERCES_INCLUDE
* XERCESCROOT

IV Added Some administrative files:
==================================
ChangeLog = the technical details of all changes
Changes   = the higher level end-user changes for each release 
MANIFEST  = the perl file that checks to ensure the integrity of the module

Things still TODO:
=================
* Document: README needs work, all files in docs/ directory need updating
* files in samples/ dir need to be ported to 1.3: DOM{Count,Create,Print}.pl
* Add code to support SWIG 1.3
* Modify namespace to be XML::Xerces

Thanks to the folks from netarx who really pushed this along:
Harmon Nine
Fredrick Paul Eisele

And thanks to all of you for being so patient, while I floundered around.

jas.

Re: Xerces-p 1.3 now in CVS!!!

Posted by "Jason E. Stewart" <ja...@openinformatics.com>.
"Jason E. Stewart" <ja...@openinformatics.com> writes:

> "Jason E. Stewart" <ja...@openinformatics.com> writes:
> 
> > Things still TODO:
> > =================
> > * Add code to support SWIG 1.3
> 
> Here's the big issue. SWIG 1.1 is completely broken with respect to
> namespaces. If I declare a package 'Xerces' swig 1.1 does not put
> sub-classes under that namespace:
> 
>    ############# Class : XMLURL ##############
>    
>    package XMLURL;
>    @ISA = qw( Xerces );
> 
> This should be 'Xerces::XMLURL'
> 
> SWIG 1.3 implements things properly, including the use of
> 'XML::Xerces' as the toplevel module. 
> 
> So If I make changes, I will have to change postModule.pl to fix
> things.

Turns out that it's even bigger. SWIG hard-codes the class in 3
different places inside each classes new() method. I fixed this as
well. 

Then it turns out that the class is hard-coded into the .C file as
well for doing type checking!!! I attempted to fix this, but it breaks
for classes with subclasses (like perlErrorHandler).

So I'm finally reaching the conclusion that there is not going to be
an acceptible way to handle both 1.1 *and* 1.3 ...

jas.

Re: Xerces-p 1.3 now in CVS!!!

Posted by "Jason E. Stewart" <ja...@openinformatics.com>.
"Jason E. Stewart" <ja...@openinformatics.com> writes:

> Things still TODO:
> =================
> * Add code to support SWIG 1.3

Here's the big issue. SWIG 1.1 is completely broken with respect to
namespaces. If I declare a package 'Xerces' swig 1.1 does not put
sub-classes under that namespace:

   ############# Class : XMLURL ##############
   
   package XMLURL;
   @ISA = qw( Xerces );

This should be 'Xerces::XMLURL'

SWIG 1.3 implements things properly, including the use of
'XML::Xerces' as the toplevel module. 

So If I make changes, I will have to change postModule.pl to fix
things.

jas.