Perl module: libxml-enno Copyright (c) 1999,2000 Enno Derksen All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. libxml-enno contains the modules XML::DOM, XML::XQL, XML::Checker and several other packages. These modules are no longer distributed separately. It's easier for me to distribute it this way and to crosslink the documentation. Also, it avoids synchronization problems and users only have to download one file. The XML::DOM code is fairly stable and has been used quite a bit. The other code should be considered alpha code. See the documentation in the html/ directory. It can be found online at http://www.erols.com/enno For bug reports or suggestions send email to enno@att.com ========= DEPENDENCIES ========================================================= You need the following modules (all available at CPAN): - XML::Parser (At least version 2.23, I'm using 2.27) - Parse::Yapp (Used by XML::XQL. I'm using 0.16) - Date::Manip (Used by XML::XQL::Date. I'm using 5.33. I know 5.20 or less doesn't work) - LWP::UserAgent (It's part of libwww-perl. If you don't have it, some test cases may fail and you can't read files from URLs.) - XML::Parser::PerlSAX (It's part of libxml-perl. You need at least version 0.06. If you don't have it some test cases may fail.) I used PodToHTML-0.04 to generate the html documentation. You only need this if you want to re-generate it. ========= INSTALLATION ========================================================= 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 See FAQ.xml for known problems. If you have write access to the perl library directories, you may then install by typing: make install ============= XML::DOM ========================================================= This is a Perl extension to XML::Parser. It adds a new 'Style' to XML::Parser, called 'Dom', that allows XML::Parser to build an Object Oriented datastructure with a DOM Level 1 compliant interface. For a description of the DOM (Document Object Model), see http://www.w3.org/DOM/ XML::Parser is a Perl extension interface to James Clark's XML parser, expat. It requires at least version 5.004 of perl and can be found on CPAN. This is a beta version and although there will not be any major API changes, minor changes may occur as we get feedback from the people on the perl-xml mailing list. [You can subscribe to this list by sending a message to subscribe-perl-xml@lyris.activestate.com.] ============= XML::XQL ========================================================= This is a Perl extension that allows you to perform XQL queries on XML object trees. Currently only the XML::DOM module is supported, but other implementations, like XML::Grove, may soon follow. See the XML::XQL and XML::XQL::Tutorial man pages that come with this distribution. See the XQL specification for more details, it's at: http://www.w3.org/TandS/QL/QL98/pp/xql.html Look at the test cases in the 't' directory for examples. Check out xql.pl, which is a nice command line utility for performing XQL queries on XML documents and formatting the results in several ways. XML::XQL needs the following modules to be installed: XML::DOM, XML::Parser, Parse::Yapp (I use 0.16) and Date::Manip (I use 5.33). All can be found at CPAN. See the To-do list at the top of XQL.pm for all open issues. ============= XML::Checker ===================================================== The XML::Checker Perl module contains several classes: XML::Checker - contains the XML::Checker class that is used by the others XML::Checker::Parser - an XML::Parser that validates at parse time XML::DOM::ValParser - an XML::DOM::Parser that validates at parse time ============= Other packages =================================================== XML::RegExp - Contains regular expressions for XML tokens XML::UM - Convert UTF-8 strings to any encoding supported by XML::Encoding XML::Filter::SAXT - Replicates SAX events to several SAX event handlers (like the Unix 'tee' command) XML::Filter::DetectWS - PerlSAX filter that detects ignorable whitespace and, optionally, filters it. (Untested!) XML::Filter::Reindent - PerlSAX filter that can re-indent XML files. XML::Handler::BuildDOM - Previously called XML::DOM::PerlSAX. Builds a DOM document from PerlSAX events. XML::Handler::Composer - Yet another XML printer. This one supports printing to other encodings. XML::Handler::PrintEvents - Prints all PerlSAX events it receives to stdout. Useful when debugging PerlSAX event filters/producers. -------------------------------------------------------------------------------- Have fun! Enno Derksen enno@att.com