OPML

From Wikipedia, the free encyclopedia

OPML
File extension: .opml
MIME type: application/xml, text/xml, text/x-opml
Type of format: Outline
Extended from: XML

OPML (Outline Processor Markup Language) is an XML format for outlines. 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] XML format

The XML elements in an OPML document are:

<opml version="1.0"> 
This is the root element. It must contain the version attribute and one head and one body element.
<head> 
Contains metadata. May include any of these optional elements: title, dateCreated, dateModified, ownerName, ownerEmail, expansionState, vertScrollState, windowTop, windowLeft, windowBottom, windowRight. Each element is a simple text element. dateCreated and dateModified contents conform to the date-time format specified in RFC 822. expansionState contains a comma-separated list of line numbers that should be expanded o and size of the display window. An OPML processor may ignore all the head sub-elements. If the outline is opened inside another outline then the processor must ignore the window elements.
<body> 
Contains the content of the outline. Must have one or more outline elements.
<outline> 
Represents a line in the outline. May contain any number of arbitrary attributes. Common attributes include text and type. The outline element may contain any number of outline sub-elements.

[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 some kind of vague XML content, while text/x-opml doesn't specify the document is, additionally, in fact 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 and XOXO.

[edit] See also

[edit] External links

[edit] Software

  • Circus Ponies NoteBook for Mac OS X can import and export files in the OPML format.
  • Omni Outliner for Mac OS X can open, edit, and save files in the OPML format.
  • TKOutline is an outliner for Windows, Linux and Mac OS X similar to OmniOutliner 1, that imports and exports OPML.
  • Most newsfeed aggregators can import and export OPML lists of RSS feeds.
  • The Mozilla Firefox Web browser can import and export OPML lists of Live Bookmarks (RSS feeds) with the help of the OPML Support extension or the OPML Reader extension.
  • iJot offers a browser based OPML outliner, news feed reader and complete web site publisher.
  • Taskable lets users browse OPML directories from the Windows taskbar.
  • Opmlmanager an online OPML editor and hosting service
  • OPML Search search exclusively within OPML files
  • OPML Workstation online OPML creation and hosting - includes security and group editing.
  • Grazr an online OPML viewer built in JavaScript
  • Optimal an open source OPML viewer built in PHP
  • System.Xml.Opml OPML library for .NET.
  • Bonsai is an outliner for Windows, which can import OPML.
  • Online OPML Feed Reader is an OPML feed reader built with AJAX
  • Hyperscope is an OPML-based thought processor based on the NLS (computer system) work of Douglas Engelbart
  • Opal for Mac OS X can open and save files in OPML format.
  • Ultra Recall imports and exports OPML format
  • ZapTXT lets you monitor headlines for keywords or phrases across your feeds in an OPML file and sends you an alert via Email, Instant Messenger, RSS or Mobile Device
  • 3D Topicscape 3D Topicscape Pro can export OPML. It can also import the related OML format.
  • GrazHoppr is an OPML and RSS viewer for Java enabled mobile devices