OPML

From Wikipedia, the free encyclopedia

Jump to: navigation, search
OPML
Opml-icon.svg
Filename extension.opml
Internet media typeapplication/xml, text/xml, text/x-opml
Type of formatOutline
Extended fromXML

OPML (Outline Processor Markup Language) is an XML format for outlines (often blogrolls). Originally developed by Radio UserLand as a native file format for an outliner application, it has since been adopted for other uses, the most common being to exchange lists of web feeds between web feed aggregators.

The OPML specification defines an outline as a hierarchical, ordered list of arbitrary elements. The specification is fairly open which makes it suitable for many types of list data.

Contents

[edit] Shortcomings of OPML

  1. The RFC 822 date format is considered obsolete, and amongst other things permits the representation of years as two digits. (RFC 822 has been superseded by RFC 2822.) In general, date and time formats should be represented according to RFC 3339.
  2. Because "expansionState" is recorded independently of the outline elements:
    • The expansion state of the children of collapsed nodes cannot be stored
    • When an outline element is expanded, collapsed, added, deleted or moved, the expansion state of all elements below it must be recalculated
  3. Due to the arbitrary nature of the "type" attribute, and the acceptance of arbitrary attributes on "outline" elements, interoperability of OPML documents relies almost entirely on the undocumented conventions of content producers.
  4. MIME types aren't clear; text/xml usually merely identifies the document as having XML content, while text/x-opml does not specify that the document is XML since it lacks the +xml suffix (see XML and MIME).

[edit] Validating OPML

Dave Winer has made a request for comments on a proposal for validating OPML and released a beta OPML validator.

Katy Ginger from DLESE has published an XML Schema Document for validating OPML 2.0. There is also a DTD available for OPML 1.0.

[edit] Example OPML documents

[edit] Alternative specifications

Alternative specifications have been proposed, notably these include OML, XOXO and XBEL.

[edit] See also