Friday, June 29, 2001

Dear MacPerl Users,

this is the XML-Parser-2.30 module with shared libraries compiled for MacPerl. Shared 
libraries run only on PPC and CFM68K versions of MacPerl, not non-CFM 68K versions.

This was compiled with MPW's MrC (PPC) and SC (68K). Passed all tests on both
architectures (thanks to my old Mac LC :). However, let me know of any problems you
might encounter.

You can download the module and the readme from my website via

    http://usemacperl.webjump.com/modules.html

or from my CPAN directory

    $CPAN/authors/id/T/TW/TWEGNER/



INSTALLATION
============
The module is best installed using Chris Nandor's installme.plx droplet. Simply 
drop the packed archive or the unpacked folder on the droplet. Answer the 
upcoming question "Convert all text and MacBinary files?" with "Yes". This should 
install the module properly. 

The installer is part of the cpan-mac module, available from CPAN 

    http://www.perl.com/CPAN-local/authors/id/CNANDOR/

or via Chris Nandor's MacPerl page 

    http://pudge.net/macperl/ .
	

CHANGES
=======
All changed files were saved with a '.orig' ending. Use the diff tool for MPW 
to see the changes [1].

I've added two MPW worksheets (PPC and 68K) to the distribution. This way you can
build the module yourself, if you like. It's best to open the worksheet and execute 
the commands step by step. Read and follow the instructions I've provided for each 
step of the build process. However, you will need the MacPerl source distribution [2] 
and the FREE MPW development environment, available from Apple [3]. You may also want 
to take a look at the Macintosh Perl XS Tutorial [4]. In addition, there's also a new 
text only version of this tutorial available, that comes without tools and samples. [5] 

In the build process for CFM68K some extra preparation is required for the source 
file(s). To help you in this procedure, I've added the file 'Expat_68K.xs'. This 
should be the input file for the XSUBpp compiler in the CFM68K build process.

In that 68K XS file, the header declarations are bracketed with #import pragmas.
This special pragma treatment is needed for the SC compiler and the ILink linker  
(see the Macintosh Perl XS tutorial for details). Follow the steps in the 68K MPW
worksheet and everything should be fine.

As of XML::Parser 2.30, expat is no longer part of the CPAN distribution. For your 
convenience, I decided to bundle the ported expat 1.95.1 library with the XML::Parser 
for Mac OS distribution. See the README.Mac in the :Expat:expat-1.95.1: folder for 
details.

Have fun.

--
Thomas Wegner

toms_email@gmx.de

References:
[1] diff MPW tool  <ftp://sunsite.cnlab-switch.ch/software/platform/macos/src/mpw_c/DiffUtils_261.sit.bin>
[2] MacPerl 5.004 source  <ftp://sunsite.cnlab-switch.ch/software/platform/macos/perl/Mac_Perl_520r4_src.bin>
[3] Apple's MPW  <http://developer.apple.com/tools/mpw-tools/>
[4] Macintosh Perl XS Tutorial  <http://macperl.com/depts/Tutorials/XS/Mac_XS.sea.hqx>
[5] Macintosh Perl XS Tutorial version 1.1 (text only)  <http://usemacperl.webjump.com/modules.html>



############################ ORIGINAL FOLLOWS ####################################################################



			XML::Parser Version 2.30

Copyright (c) 1998-2000 Larry Wall and Clark Cooper.
All rights reserved.
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself. 

This is a Perl extension interface to James Clark's XML parser, expat.
It requires at least version 5.004 of perl and it requires that you have
release 1.95.0 or greater of expat installed. You can download expat
from:

	 http://sourceforge.net/projects/expat/

The documentation for this extension can be found in pod format at the end
of the files Parser.pm and Expat/Expat.pm. The perldoc program, provided with
the perl distribution, can be used to view this documentation.

This was modified from the original XML::Parser created by Larry Wall.

To configure this module, cd to the directory that contains this README file
and type the following:

	perl Makefile.PL

Alternatively, if you plan to install XML::Parser somewhere other than
your system's perl library directory. You can type something like this:

	perl Makefile.PL PREFIX=/home/me/perl INSTALLDIRS=perl

Then to build you run make.

	make

You can then test the module by typing:

	make test

There are some sample utilities in the samples directory along with an
xml form of the XML specification to test them on. You may need to change
the '#!' line at the top of these utilities to what is appropriate for
your system. If you're going to play around with them prior to installing
the module, you would need to add the blib paths to your perl search
path, like this (assuming your current directory is samples):

    perl -I../blib/lib -I../blib/arch xmlcomments REC-xml-19980210.xml

or set your PERLLIB environment variable.

If you have write access to the installation directories, you may then
install by typing:

	make install

Discussion on features and bugs of this software and general discussion
on topics relating to perl and XML takes place on the perl-xml mailing
list, to which you can subscribe by sending mail to:

    subscribe-perl-xml@lyris.activestate.com

Differences from Version 2.29
=============================

Expat is no longer included with this package. It must now be already
installed on your system as a library. You may download the library
version of expat from http://sourceforge.net/projects/expat/. After
downloading, expat must be configured (an automatic script does this),
built and installed.

A workaround has been provided for those people who couldn't compile
Expat.xs with a perl 5.6.0 with USE_5005THREADS on.

A bug that prevented IO::Handler from being read by the parse method
has been fixed.

Fixed a bug in reading external entities with incremental parsing.

Clark Cooper
  coopercc@netheaven.com