##### Rome

- Overview
- How Rome Works
- Tutorials And Articles
- Releases
- ROME Development Proposals

##### Project Documentation

- Project Information
  - About
  - Project Team
  - Dependency Information
  - Project Plugins
  - Continuous Integration
  - Issue Tracking
  - Source Repository
  - Project License
  - Plugin Management
  - Distribution Management
  - Project Summary
  - Mailing Lists
  - Dependencies
- Project Reports

## Welcome to ROME

"...ending syndication feed confusion by supporting all of 'em. " *

ROME is a set of R SS and At om Utiliti e s for Java that is open source under the Apache 2.0 license.

RSS 0.90, RSS 0.91 Netscape, RSS 0.91 Userland, RSS 0.92, RSS 0.93, RSS 0.94, RSS 1.0, RSS 2.0, Atom 0.3, Atom 1.0

ROME includes a set of parsers and generators for the various flavors of syndication feeds, as well as converters to convert from one format to another. The parsers can give you back Java objects that are either specific for the format you want to work with, or a generic normalized SyndFeed class that lets you work on with the data without bothering about the incoming or outgoing feed type.

If you use ROME for your site or software, please add it to the wiki page PoweredByRome, or drop us an email

Some of the links in the Navigation are out of date. This is because no one can edit them at present. However any registered user can edit the content of the pages and you'll find most of the links updated there, notably the Tutorials and Articles.

### ROME Subprojects

Subproject | Purpose | Latest Release
--- | --- | ---
ROME Fetcher | A caching feed fetcher that supports retrieval of feeds via HTTP conditional GET. Supports ETags, GZip compression, and RFC3229 Delta encoding. | ROME Fetcher v1.0 (Mar 11 2009)
Rome Modules | Provide support for feed extensions such as GeoRSS, iTunes, Microsoft SSE and SLE, Google GData and others. | ROME Modules 1.0 (Feb 24 2011)
ROME Propono | Supports publishing protocols, specifically the Atom Publishing Protocol and the legacy MetaWeblog API. Propono includes an Atom client library, an Atom server framework and a Blog client that supports both Atom protocol and the MetaWeblog API. | ROME Propono v0.6.
ROME Mano | A servlet pipeline framework for RSS and Atom feeds. |
OPML for ROME | Outline Processor Markup Language (OPML) parser and tools. |

### Further information

- ROME Releases (rome)
- Working with ROME
  - What part of the API you should be using (rome)
  - Tutorials and Articles (rome)
- Articles about ROME
  - Project Motivation - why we started ROME
  - API FAQ, why things are like they are
  - Evaluation of existing RSS parsing libraries
- Inside ROME, How Things Work
  - How ROME Works, Understanding ROME, a detailed overview by Dave Johnson (This doc is based on ROME v0.4)
  - ROME Plugins Mechanism, bootstrap, adding and changing parsers, generators, converters and modules
  - Feeds Date Elements, how Date data is mapped to SyndFeed and SyndEntry
  - Feed and Entry URI Mapping, how SyndFeed and SyndEntry 'uri' properties map to concrete feed elements
  - XML Charset Encoding Detection, how ROME helps getting the right charset encoding
  - Creating a custom Module, creating all necessary pieces, bean, parser and generator
  - The CopyFrom interface (rome)
  - ROME bean utilities, equals, toString and cloning
  - Customizing Date and time parsing in the rome.properties file
  - Using ROME from Maven2
  - Using ROME with OSGi
  - Preserving Wire Feeds to obtain access to Atom/RSS specific fields
- ROME development
  - How to build ROME (ROME uses Maven)
  - Changes Log, what and when
  - ROME Development Process (rome)
  - ROME Development Proposals (rome) - proposals for new ROME features and releases