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 2002/03/25 07:56:12 UTC

cvs commit: xml-xerces/perl ANNOUNCE ChangeLog Changes MANIFEST README

jasons      02/03/24 22:56:12

  Modified:    perl     ChangeLog Changes MANIFEST README
  Added:       perl     ANNOUNCE
  Log:
  usual
  
  Revision  Changes    Path
  1.41      +85 -0     xml-xerces/perl/ChangeLog
  
  Index: ChangeLog
  ===================================================================
  RCS file: /home/cvs/xml-xerces/perl/ChangeLog,v
  retrieving revision 1.40
  retrieving revision 1.41
  diff -u -r1.40 -r1.41
  --- ChangeLog	23 Mar 2002 23:31:24 -0000	1.40
  +++ ChangeLog	25 Mar 2002 06:56:12 -0000	1.41
  @@ -1,4 +1,89 @@
  +2002-03-24  Jason E. Stewart  <ja...@openinformatics.com>
  +
  +	* t/DOM_NamedNodeMap.t (Repository): 
  +	new test for undef bug when getAttributes() called on text node
  +
  +	* postModule.pl (Repository): 
  +	removed actual_cast() and _reinterpret_cast()
  +	moved all serialize code into class methods
  +	added code to ensure that any methods returning NamedNodeMap's and
  +	   NodeList's would return an empty list (and not undef) when
  +	   called in an array context
  +
  +	* typemaps.i (Repository): 
  +	Added support for dynamic casting of DOM_Node*'s
  +
  +	* DOMParse/DOMParse.pm (Repository): 
  +	removed a useless actual_cast() call
  +
  +	* t/DOMPrint.t (Repository): 
  +	Fixed extra newline in sample doc
  +
  +	* Xerces.i (Repository): 
  +	removed old DOM code
  +	renamed all IDOM* classes to DOM
  +
  +	* postModule.pl (Repository): 
  +	chanded IDOM => DOM
  +	removed old DOM code
  +	added DOM_DOMException::getMessage()
  +	added DOM_Node::isNull()	
  +
  +	* postSource.pl (Repository): 
  +	updated to use IDOM (which meant changing _IDOM to _DOM
  +	removed code to rename IDOM => DOM
  +
  +	* typemaps.i (Repository): 
  +	removed DOMString typemaps
  +
  +	* DOMParse/DOMParse.pm (Repository): 
  +	updated for IDOM
  +
  +	* Handler/PerlEntityResolverHandler.i (Repository): 
  +	fixed bug in error output that was using the wrong SWIGTYPE
  +
  +	* samples/DOMCreate.pl (Repository): 
  +	updated for IDOM
  +
  +	* samples/DOMCount.pl (Repository): 
  +	modified ouput somewhat
  +
  +	* samples/DOMPrint.pl (Repository): 
  +	updated for IDOM
  +
  +	* samples/personal-no-doctype.xml (Repository): 
  +	removed XMLDECL
  +
  +	* t/TestUtils.pm (Repository): 
  +	Added new document without XMLDECL
  +	Added error()
  +
  +	* t/URLInputSource.t (Repository): 
  +	* t/LocalFileInputSource.t (Repository): 
  +	removed old DOM test
  +
  +	* t/Attributes.t (Repository): 
  +	blib change
  +
  +	* samples/personal-no-xmldecl.xml (Repository): 
  +	neede a new test with no XMLDECL node because IDOM doesn't do them
  +
   2002-03-23  Jason E. Stewart  <ja...@openinformatics.com>
  +
  +	* Xerces.i (Repository): 
  +	made to generate smaller code footprint by converting the
  +	   majority of the exception handlers into subroutines
  +
  +	* postSource.pl (Repository): 
  +	removed bogus bugfix (was bad SWIG installation, not SWIG bug)
  +	added code for initialization of static stash variables
  +
  +	* typemaps.i (Repository): 
  +	made typemaps generate smaller code footprint by making the
  +	   majority of the transcoding routines be a subroutine
  +
  +	* postSource.pl (Repository): 
  +	Fixed MemBufInputSource::new to retain STRLEN arg
   
   	* Makefile.PL (Repository): 
   	added 'xercesc' to move to 1.7
  
  
  
  1.19      +15 -0     xml-xerces/perl/Changes
  
  Index: Changes
  ===================================================================
  RCS file: /home/cvs/xml-xerces/perl/Changes,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- Changes	3 Nov 2001 05:50:51 -0000	1.18
  +++ Changes	25 Mar 2002 06:56:12 -0000	1.19
  @@ -1,6 +1,21 @@
   Revision history for Perl extension Genex.
   
  +1.7.0_0 Sun Mar 24 18:26:37 MST 2002
  +        - Mirrors Xerces-C-1.7.0 release
  +	- The DOM API is now implemented by the Xerces-C IDOM
  +          implementation (see README for issues)
  +	- All dynamic casting of DOM_Node*'s is now done internally by
  +          the C++ code. This means that calls to DOM_Node::actual_cast
  +          are now unnecessary.
  +	- ensured that methods which return DOM_NodeList's and
  +	  DOM_NamedNodeMap's will never return undef in an array
  +          context (instead they return the empty list).
  +
  +1.6.0_0 Wed Feb 20 20:29:00 MST 2002
  +        - Mirrors Xerces-C-1.6.0 release
  +
   1.5.2_0 Fri Nov  2 11:38:02 MST 2001
  +        - Mirrors Xerces-C-1.5.2 release
   	- Version numbering change, to reflect that this is the first
   	  release of XML::Xerces to require Xerces-C-1.5.2 
   	- Unicode now works! I modified all I/O between Perl and
  
  
  
  1.19      +10 -21    xml-xerces/perl/MANIFEST
  
  Index: MANIFEST
  ===================================================================
  RCS file: /home/cvs/xml-xerces/perl/MANIFEST,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- MANIFEST	23 Mar 2002 23:33:04 -0000	1.18
  +++ MANIFEST	25 Mar 2002 06:56:12 -0000	1.19
  @@ -1,3 +1,4 @@
  +ANNOUNCE
   Changes
   DOMParse/DOMParse.pm
   DOMParse/Makefile.PL
  @@ -53,6 +54,7 @@
   postModule.pl
   postSource.pl
   preSwig.pl
  +samples/personal-no-xmldecl.xml
   samples/catalog.dtd
   samples/catalog.xml
   samples/personal-schema.xml
  @@ -67,33 +69,25 @@
   samples/DOMPrint.pl
   samples/SAXCount.pl
   samples/SAX2Count.pl
  -samples/IDOMCount.pl
  -samples/IDOMPrint.pl
   t/AttributeList.t
   t/Attributes.t
  +t/DOMParser.t
  +t/DOMCreate.t
  +t/DOM_NamedNodeMap.t
  +t/DOM_NodeList.t
  +t/DOM_Entity.t
  +t/DOMCount.t
  +t/DOMPrint.t
   t/DOM_Document.t
   t/DOM_Node.t
  -t/IDOMCount.t
  -t/IDOMPrint.t
  -t/IDOM_Document.t
  -t/IDOM_Entity.t
  -t/IDOM_NamedNodeMap.t
  -t/IDOM_Node.t
  -t/IDOM_NodeList.t
  +t/DOM_DOMException.t
   t/XMLURL.t
   t/XMLUri.t
   t/letter.xml
   t/DOM_Attr.t
   t/DOM_Element.t
  -t/IDOM_Attr.t
  -t/IDOM_Element.t
   t/InputSource.t
  -t/DOMException.t
  -t/IDOMParser.t
  -t/IDOM_DOMException.t
   t/SAXException.t
  -t/DOMCount.t
  -t/DOMPrint.t
   t/SAXCount.t
   t/SAXParser.t
   t/LocalFileInputSource.t
  @@ -102,13 +96,8 @@
   t/URLInputSource.t
   t/actualCast.t
   t/domTest.t
  -t/DOMParser.t
  -t/DOMCreate.t
  -t/DOM_NamedNodeMap.t
  -t/DOM_NodeList.t
   t/TestUtils.pm
   t/PerlErrorHandler.t
  -t/DOM_Entity.t
   t/SAX2Count.t
   t/XMLException.t
   t/EntityResolver.t
  
  
  
  1.17      +54 -38    xml-xerces/perl/README
  
  Index: README
  ===================================================================
  RCS file: /home/cvs/xml-xerces/perl/README,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- README	23 Mar 2002 23:31:24 -0000	1.16
  +++ README	25 Mar 2002 06:56:12 -0000	1.17
  @@ -1,6 +1,6 @@
   Xerces.pm: The Perl API to the Apache Xerces XML parser
   
  -       $Id: README,v 1.16 2002/03/23 23:31:24 jasons Exp $
  +       $Id: README,v 1.17 2002/03/25 06:56:12 jasons Exp $
   
   LEGAL HOOP JUMPING:
   ===================
  @@ -13,7 +13,7 @@
   parser. It is implemented using the Xerces C++ API, and it provides
   access to *most* of the C++ API from Perl.
   
  -Because it is based on the Xerces-C parser, Xerces.pm provides a
  +Because it is based on the Xerces-C parser, XML::Xerces provides a
   validating XML parser written in a portable subset of C++. Xerces-C
   makes it easy to give your application the ability to read and write
   XML data. A shared library is provided for parsing, generating,
  @@ -23,7 +23,7 @@
   Schema). The parser provides high performance, modularity, and
   scalability. It also provides full support for Unicode.
   
  -Xerces.pm implements the vast majority of the Xerces-C API (if you
  +XML::Xerces implements the vast majority of the Xerces-C API (if you
   notice any discrepancies please mail the list
   (xerces-p-dev@xml.apache.org). The exception of this is functions in
   the C++ API which have been overloaded to accept different arguments,
  @@ -55,9 +55,9 @@
   
         Required version: 5.6.0
     
  -      Xerces.pm now supports Unicode. Since Unicode support wasn't
  +      XML::Xerces now supports Unicode. Since Unicode support wasn't
         added to Perl until 5.6.0, you will need to upgrade in order to
  -      use this and future versions of Xerces.pm. Upgrading to at least
  +      use this and future versions of XML::Xerces. Upgrading to at least
         to the latest stable release, 5.6.1, is recommended, but if you
         already have 5.6.0 installed it will work fine.
     
  @@ -77,12 +77,12 @@
     
            http://xml.apache.org/dist/xerces-c/stable/
     
  -      Without this version you CANNOT COMPILE Xerces.pm
  +      Without this version you CANNOT COMPILE XML::Xerces
   
       ### NOTE ###
   
       You'll need both the library and header files, and to set up any
  -    environment variables that will direct the Xerces.pm build to the
  +    environment variables that will direct the XML::Xerces build to the
       directories where these reside.
   
   OPTIONAL COMPONENTS
  @@ -96,7 +96,7 @@
   
       ### NOTE ###
   
  -      You will only need this if the include Xerces.C and Xerces.pm
  +      You will only need this if the include Xerces.C and XML::Xerces
         files do not work for your perl distribution. The pre-generated
         files have been created by SWIG 1.3 and work under perl-5.6.
   
  @@ -134,7 +134,7 @@
       case, you will probably have to.
   
       Also, you may want to edit the path to the swig executable
  -    ($SWIG), if you're planning on regenerating Xerces.C and Xerces.pm
  +    ($SWIG), if you're planning on regenerating Xerces.C and XML::Xerces
       in order to add new features to Xerces
   
   5.  If the Xerces-C library and header files are installed on your
  @@ -142,7 +142,7 @@
       build.
   
       Otherwise, you must download Xerces-C from xml.apache.org and build
  -    it.  To build Xerces.pm in this case, make sure the value of your
  +    it.  To build XML::Xerces in this case, make sure the value of your
       XERCESCROOT environment variable is the top-level directory of
       your xerces distribution (i.e. the same value it needs to be to
       build Xerces-C).
  @@ -159,12 +159,12 @@
       XERCESCROOT environment variable.
   
   
  -BUILD Xerces.pm:
  +BUILD XML::Xerces:
   ===============
   
   1. Go to the XML-Xerces-1.7.x_y directory.
   
  -2. Build Xerces.pm as you would any perl package that you might get
  +2. Build XML::Xerces as you would any perl package that you might get
      from CPAN: 
   
       perl Makefile.PL
  @@ -172,10 +172,10 @@
       make test
       make install
   
  -USING Xerces.pm:
  +USING XML::Xerces:
   ================
   
  -Xerces.pm implements the vast majority of the Xerces-C API (if you
  +XML::Xerces implements the vast majority of the Xerces-C API (if you
   notice any discrepancies please mail the list). Documentation for this
   API are sadly not available in POD format, but the Xerces-C html
   documentation is available at:
  @@ -196,37 +196,24 @@
   Special Perl API Features:
   ==========================
   
  -Even though Xerces.pm is based on the C++ API, it has been modified in
  +Even though XML::Xerces is based on the C++ API, it has been modified in
   a few ways to make it more accessible to typical Perl usage, primarily
   in the handling:
  -* strings (DOMString, XMLCh, and perl string)
  +* strings (XMLCh arrays and perl string)
   * lists   (DOM_NodeList and perl list)
   * hashes  (DOM_NamedNodeMap and perl hash)
   * DOMParse.pm (for serializing a DOM tree)
   * implementing Perl handlers for C++ event callbacks
   * handling exceptions C++ ({XML,DOM,SAX}Exception's)
  +
  +* DOM vs. IDOM #### Incompatible Change ####
      
  -Handling of DOMString's and XMLCh's
  +Handling of XMLCh Arrays
   ----------------------------------
   
  -Note that the creation of DOMStrings as arguments to to functions is
  -optional.  That is, where in C++ you'd have to use:
  -
  -    document.createElement( new DOMString("foo") );
  -
  -in Xerces.pm, you can use either of:
  -
  -    $document->createElement( new DOMString('foo') );
  -
  -or the less cumbersome:
  -
  -    $document->createElement('foo');
  -
  -
  -As well, any functions in the C++ API that return string-like values,
  -i.e. like DOMStrings and XMLCh arrays, return plain vanilla
  -perl-strings in Xerces.pm.  This obviates calls to "transcode" (in
  -fact, it makes them entirely invalid).
  +Any functions in the C++ API that return XMLCh arrays will return
  +vanilla perl-strings in XML::Xerces.  This obviates calls to "transcode"
  +(in fact, it makes them entirely invalid).
   
   Handling of DOM_NodeList's
   --------------------------
  @@ -273,7 +260,7 @@
   Implementing {Document,Content,Error}Handlers from Perl
   ---------------------------------------------------------
   
  -Thanks to suggestions from Duncan Cameron, Xerces.pm now has a handler
  +Thanks to suggestions from Duncan Cameron, XML::Xerces now has a handler
   API that matches the currently used semantics of other Perl XML
   API's. There are three classes available for application writers:
   * PerlErrorHandler    (SAX 1/2 and DOM 1)
  @@ -297,7 +284,7 @@
   ---------------------------------------------
   
   Some errors occur outside parsing and are not caught by the parser's
  -ErrorHandler. Xerces.pm provides a way for catching these errors using
  +ErrorHandler. XML::Xerces provides a way for catching these errors using
   Perl's standard eval-based exception mechanism. Any method that can
   throw an exception should be wrapped in an eval{...} block, and the
   contents of $@ should be checked:
  @@ -312,12 +299,41 @@
       }
     }
   
  -Xerces.pm will catch C++ exceptions and call die() after setting $@ to
  +XML::Xerces will catch C++ exceptions and call die() after setting $@ to
   the C++ exception object. If ref($@) is true, it is an exception
   object, if false it is a standard Perl string.
   
   To know which methods are capable of throwing exceptions, check the
   Xerces-C API documentation.
  +
  +DOM vs. IDOM
  +------------
  +
  +** Incompatible Change **
  +
  +Since Xerces-C-1.5 there has been an experimental DOM implementation
  +(IDOM) that is much more efficient than the old DOM implementation. As
  +of XML-Xerces-1.7 all DOM methods have been switched to the IDOM
  +implementation, and the old DOM implementation is no longer available. 
  +
  +This has made the codebase much smaller and more efficient, but there
  +are some important issues to watch out for, and some code written to
  +use the old DOM implementation may not work:
  +
  +* DOM_Node::isNull(): is no longer available. In the old DOM API, you
  +  could receive a valid DOM_Node that was really just a wrapper for a
  +  NULL pointer, so before you did anything, you always had to check it
  +  using the isNull() method. Using the new DOM, you will get undef
  +  instead of an object, so you would instead check using defined().
  +
  +* DOMParser::setToCreateXMLDeclTypeNode(): the now DOM API follows the
  +  W3C specification more closely than the old one did, so this method
  +  is no longer available.
  +
  +* DOM_Document::createDocument(): the now DOM API follows the W3C
  +  specification more closely than the old one did, so this method is
  +  no longer available, use DOM_DOMImplementation::createDocument()
  +  instead.
   
   More examples
   -------------
  
  
  
  1.1                  xml-xerces/perl/ANNOUNCE
  
  Index: ANNOUNCE
  ===================================================================
  
  ==============================================================================
                   Release of version 1.7.0_0 of XML::Xerces
  ==============================================================================
  
  
  NAME
      XML::Xerces - Perl Interface to the Apache Xerces XML Parser
  
  DESCRIPTION
     Because it is based on the Xerces-C parser, XML::Xerces provides a
     validating XML parser written in a portable subset of C++. Xerces-C
     makes it easy to give your application the ability to read and
     write XML data. A shared library is provided for parsing,
     generating, manipulating, and validating XML documents. Xerces-C is
     faithful to the XML 1.0 recommendation and associated standards (
     DOM 1.0, DOM 2.0. SAX 1.0, SAX 2.0, Namespaces, and partial support
     for W3C XML Schema). The parser provides high performance,
     modularity, and scalability. It also provides full support for
     Unicode.
  
  AUTHORS
    Jason Stewart: Xerces 1.4 through 1.7 ports
    Harmon Nine: Xerces 1.3 DOM port
    Fredrick Paul Eisele: Xerces 1.3 DOM port
    Tom Watson: Xerces 1.1 DOM port
  
  COPYRIGHT
     Copyright (c) 2001, Apache Software Foundation. All Rights
     Reserved.  This code is distributed under the terms of the Apache
     Software License, Version 1.1. See the file LICENSE for details
  
  ==============================================================================
  
  REQUIREMENTS
  
  * Perl 5.6.0 or greater
  
  * Xerces-C 1.7.0: available from:
  
     http://xml.apache.org/dist/xerces-c/stable/
  
  ==============================================================================
  
  CHANGES IN VERSION 1.7.0_0
          - Mirrors Xerces-C-1.7.0 release
  	- The DOM API is now implemented by the Xerces-C IDOM
            implementation (see README for issues)
  	- All dynamic casting of DOM_Node*'s is now done internally by
            the C++ code. This means that calls to DOM_Node::actual_cast
            are now unnecessary.
  	- ensured that methods which return DOM_NodeList's and
  	  DOM_NamedNodeMap's will never return undef in an array
            context (instead they return the empty list).
  
  ==============================================================================
  
  AVAILABILITY
  
  XML::Xerces is available from CPAN 
  
    http://www.cpan.org/CPAN/authors/id/JASONS/
  
  and Apache:
  
     http://xml.apache.org/dist/xerces-p/stable/
  
  ==============================================================================
  
  
  

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