Syndication::NewsML -- a NewsML library for Perl NewsML is a standard format for the markup of multimedia news content, ratified by the International Press Telecommunications Council (http://www.iptc.org). According to the newsml.org website NewsML is "An XML-based standard to represent and manage news throughout its lifecycle, including production, interchange, and consumer use." NewsML differs from simpler standards such as RSS in that RSS sends links to stories, where NewsML can be used to send links or the story itself, plus any associated information such as images, video or audio files, PDF documents, or any other type of data. NewsML also offers much more metadata information than RSS, including links between associated content; the ability to revoke, update or modify previously sent stories; support for sending the same story in multiple languages and/or formats; and a method for user-defined metadata known as Topic Sets. Syndication::NewsML is an object-oriented Perl interface to NewsML documents, allowing you to manage (and one day create) NewsML documents without any specialised NewsML or XML knowledge. You can find out more about NewsML at http://www.iptc.org/site/NewsML/ or http://www.newsml.org/ LATEST VERSION AND WHAT'S NEW The latest version is 0.08, released 16 January 2002. Download: http://www.cpan.org/authors/id/B/BQ/BQUINN/ What's New: v0.08 - Released to CPAN 16 Jan 2002 - one simple bugfix to make the test suite pass... v0.07 - Released to CPAN 11 Jan 2002 - Added some generic methods to Syndication::NewsML::Node (and therefore all object classes): o getXML -- return the current tag and all its children as an XML tree getContent -- same as above, but ignores the current container element (which means the resulting string may not be well-formed XML) o getText updated to get text of all children (bug fix) o getAllText -- return text in all child elements with no sanity checking, so you can even call this on the NewsML root element to retrieve all text in a document Thanks to Peter Hilbring for giving me the prodding required to get this done :-) v0.06 - 1 Nov 2001 (unreleased) - Enhanced examples/NewsMLParser.pl: now recurses through all NewsComponents. It's almost useful! - Made auto routines handle undefined elements/attributes better: now returns undef rather than croaks. Calling a method of an undef class still dies, though: that's Perl, there's nothing I can do about it -- so test your return codes. See the Changes file for previous releases. INSTALLING Syndication::NewsML The lazy way to install Syndication::NewsML: $ perl -MCPAN -e shell cpan> install Syndication::NewsML Or the normal way: Retrieve the latest copy from CPAN: http://www.cpan.org/authors/id/B/BQ/BQUINN/ $ perl Makefile.PL # Creates the Makefile $ make # Runs the makefile $ make test # Optional (See Interopability below) $ make install # Installs Syndication::NewsML into your Perl library location With this method you will first have to install the pre-requisite module XML::DOM. See the what are the prerequisites? entry elsewhere in this document. What Are The Prerequisites? * XML::DOM (Have not tested lower than v1.27) * Perl5 (Have not tested lower than v5.6) To get the latest versions of the prerequisite module you can simply type this at the command prompt: $ perl -MCPAN -e shell cpan> install XML::DOM or if you just 'install Syndication::NewsML' the CPAN module should automagically install all of the prerequisites for you. What Systems Does It Work With? Syndication::NewsML should work on any machine that supports XML::DOM, and any filesystem including Windows, although I haven't tested it on Windows yet. It's still early days, so expect some bugs. WHERE ARE THE MANUALS? Once you've installed, you can type: $ perldoc Syndication::NewsML GETTING HELP The best place to ask questions now would be the NewsML mailing list at http://groups.yahoo.com/group/newsml/, or ask me directly at brendan\@clueful.com.au. If there is enough demand we may start up a specialised list. General Perl/XML questions should be asked on the Perl-XML mailing list, which you can find at http://aspn.activestate.com/ASPN/Mail/Browse/Threaded/perl-xml THE TEST SUITE & INTEROPERABILITY The standard "make test" test suite checks most elements in a small range of test NewsML documents obtained from the Net. You can find the test documents in the "t/test_data/" directory. I haven't written complete unit tests yet (after all there are 127 classes), so some methods remain untested. However the test documents include a fairly standard range of elements, so you should be able to get somewhere with the methods that work so far. BUGS and TODO There are probably bugs all over the place -- this is still an early version. At the moment, "Syndication::NewsML" only reads NewsML files -- in the future it should be able to modify and write them as well. See TODO for what I'm thinking of building and what would be nice to have. AUTHOR AND COPYRIGHT This module is Copyright (C) 2001 by Brendan Quinn Clueful Consulting Pty Ltd GPO Box 2747EE Melbourne 3001 Victoria, AUSTRALIA All rights reserved. This module is free software. It may be used, redistributed and/or modified under the same terms as Perl itself. $Id: README.pod,v 0.8 2002/01/16 04:37:56 brendan Exp $ ** This file was automatically generated from ** ** doc/README.pod. To edit it, see there. **