Revision history for Syndication::NewsML

  v0.08 - Released to CPAN 16 Jan 2002

    - A three-byte change (initialising a variable) which makes the test
    suite pass... sorry about that guys!

  v0.07 - Released to CPAN 11 Jan 2002

    - Added some generic methods to Syndication::NewsML::Node (and therefore
    all object classes): + 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) + getText updated to get text of all children (bug fix)
    + 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

  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.

  v0.05 - Released to CPAN 11 Oct 2001

    - Fixed faulty call to all parent _init functions in
    Syndication::NewsML::Node which meant the calls to parent _init classes
    could be removed... thanks to Duncan Cameron <dcameron@bcs.org.uk> for
    the tip, which allowed me to get rid of 285 lines of crappy code!

    - Introduced better error reporting for calling getXXX when you should
    be calling getXXXList (for elements that could be "zero or more" or "one
    or more")

    - Found and fixed a few minor mismatches between the module and the DTD

    - added resolveTopicRef to Origin and Party nodes, which uses the
    findReference method to get the Topic node referred by a #reference in
    Origin's Href and Party's Topic attributes. See tests and examples for
    usage.

    - added some "helper functions" to grab metadata directly from a
    NewsComponent node, rather than having to delve into the metadata
    structure to pull out simple items like copyright date and news
    provider. This is the first step down the path of creating a simpler API
    for NewsML access.

    - Filled out more of t/4_reuters.t test and examples/NewsMLParser.pl

  v0.04 - Released to CPAN, 26 Sep 2001

    - Added resolveTopicSet, resolveTopicSetDescription to FormalNameNode
    These routines allow the user to, given a Status node or something else
    with a FormalName/Vocabulary pair, automatically look up a related
    TopicSet and get its information. Note that this only works for locally
    referenced TopicSets (ie in the same document referred by a Duid). The
    annotated DTD specifies an algorithm to use when the TopicSet can't be
    found locally -- I haven't implemented it yet.

    - Added References package including findReference method. Not tested
    for external references yet.

    - Added getElementByEuid and getElementByDuid methods. These methods can
    be used on any tag that inherits IdNode -- ie nearly all of them.

     Unfortunately the above methods only return a DOM element, not a NewsMLish
     object. Perhaps I can use the tag name to construct them?

    - Added DOMUtils class with two methods to begin with:
    findElementByAttribute(node, attr, value): starting at "node", walk the
    tree and return the node that has attribute "attr" with value "value".
    getRootNode(node) follow the path up from "node" and return a reference
    to the <NewsML> node at the top of the tree.

    - Added getDatePerl method to date elements: converts ISO8601 date/time
    format into internal Perl date/time format. Always returns date/time in
    UTC (it's easy to then use Perl localtime() to get a representation in
    another timezone). (Note: it may be useful to include a
    getOriginalTimeZone() or something as we're destroying a bit of
    information here: namely the timezone under which the story was filed /
    sent) Elements that can use this are: DateAndTime, FirstCreated,
    ThisRevisionCreated, DateId

    - Updated examples/NewsMLParser to use getNewsItemList -- forgot to fix
    in 0.03

    - Changed all references of News::NewsML to Syndication::NewsML

    - Added getTagName method to all Nodes

    - Added getPath method to all Nodes

  v0.03, released 16 Sep 2001

    - Released to newsml@yahoogroups.com mailing list only.

    ** This file was automatically generated from **
    ** doc/Changes.pod. To edit it, see there.    **

