burton 2004/09/05 15:06:38 Modified: feedparser/xdocs index.xml Log: updated index.xml... Revision Changes Path 1.3 +125 -34 jakarta-commons-sandbox/feedparser/xdocs/index.xml Index: index.xml =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/feedparser/xdocs/index.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- index.xml 25 May 2004 17:30:42 -0000 1.2 +++ index.xml 5 Sep 2004 22:06:38 -0000 1.3 @@ -1,39 +1,130 @@ <?xml version="1.0"?> - <document> + <properties> + <author email="burton at apache.org">Kevin A. Burton</author> + <title>Overview - Jakarta FeedParser</title> + </properties> + <body> + + <section name="Jakarta FeedParser"> + + <p> + Jakarta FeedParser is a Java RSS/Atom parser designed to + elegantly support all versions of RSS (0.9, 0.91, 0.92, 1.0, and + 2.0), Atom 0.3 (and future versions) as well as easy ad hoc + extension and RSS 1.0 modules capability. + </p> + + <p> + FeedParser was the parser API designed from <a + href="http://newsmonster.org">NewsMonster</a> and has been + donated to the ASF in order to continue development. + </p> + + <p> + FeedParser differs from most other RSS/Atom parsers in that it + is not DOM based but event based (similar to SAX). Instead of + the low level startElement() API present in SAX, we provide high + level events based on RSS parsing information. + </p> + + <p> + Events are also given to the caller independent of the + underlying format. This is accomplished by a Feed Event Model + that isolates your application from the underlying feed format. + This enables your applications to transparently support all RSS + versions and Atom. We also hide format specific implementation + such as dates (RFC 822 in RSS 2.0 and 0.9x and ISO 8601 in RSS + 1.0 and Atom). + </p> + + <p> + The FeedParser distribution also includes: + + </p> + + <ol> + <li>An implementation of RSS and Atom autodiscovery.</li> + + <li>Support for all content modules including xhtml:body, + mod_content (RDF and inline), and atom:content </li> + + <li> + Atom 1.0 link API as well as RSS 1.0 mod_link API + </li> + + <li> + Outline Parser Markup Language (OPML) + </li> + + <li> + An HTML link parser for finding all links in an HTML source + file and expanding them to become full + </li> + + </ol> + + </section> + + <section name="Example"> + + <p> + Developers place all their logic in a FeedParserListener which + receives callbacks from the FeedParser. They then pass the + FeedParser an InputStream and they are ready to get events: + </p> + + <source> +FeedParser parser = FeedParserFactory.newFeedParser(); + +FeedParserListener listener = new DefaultFeedParserListener() { + + public void onItem( FeedParserState state, + String title, + String link, + String description, + String permalink ) throws FeedParserException { + + System.out.println( "Found a new published article: " + permalink ); + + } + + }; + +parser.parse( listener, new URL( "http://peerfear.org/rss/index.rss" ).openStream() ); + + </source> + + <p> + Of course this is just a trivial example from the + HelloFeedParser demo distributed with the app. Other events + such as onChannel, onImage, onLink can be used to obtain + additional metadata. + </p> + + </section> + + <section name="Future Directions"> + + <p> + <ol> + <li> + Support FOAF parsing which correct RDF handling. + </li> + + <li> + + Better support for unique Atom features such as + atom:summary. + + </li> + + </ol> + + </p> + + </section> - <properties> - <title>Overview</title> - <author email="[EMAIL PROTECTED]">Commons Documentation Team</author> - </properties> - - <body> - -<section name="The Feedparser Component"> -<p> -Generic FeedParser interface and concrete implementations for -<a href="http://www.mnot.net/drafts/draft-nottingham-atom-format-02.html">Atom</a>, -FOAF, OPML and RSS. -These FeedParser implementations are based on JDOM and Jaxen and is based around -XPath and JDOM iteration. While the implementation is straight forward it -has not been optimized for performance. A SAX based parser would certainly -be less memory intensive but with the downside of being harder to develop. -</p> -<br/><br/><br/> -</section> - -<section name="Releases"> - <p> - See the <a href="downloads.html">downloads</a> page for information on obtaining releases. - </p> -<br/><br/><br/> -</section> - -<section name="Documentation"> - <p> - The <a href="apidocs/index.html">JavaDoc API documents</a> are available online. - </p> -</section> + </body> -</body> </document>
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]