UKOLN AHDS Introduction To OPML


OPML stands for Outline Processor Markup Language. OPML was originally developed as an outlining application by Radio Userland. However it has been adopted for a range of other applications, in particular providing an exchange format for RSS.

This document describes the OPML specification and provides examples of use of OPML for the exchange of RSS feeds.

The OPML Specification

The OPML specification [1] 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. The OPML specification is very simple, containing the following elements:

<opml version="1.0">
The root element which contains the version attribute and one head and one body element.
Contains metadata. May include any of these optional elements: title, dateCreated, dateModified, ownerName, ownerEmail, expansionState, vertScrollState, windowTop, windowLeft, windowBottom, windowRight.
Contains the content of the outline. Must have one or more outline elements.
Represents a line in the outline. May contain any number of arbitrary attributes. Common attributes include text and type.

Limitations Of OPML

OPML has various shortcomings:

OPML Applications

Import and Export of RSS Files

OPML can be used in a number of application areas. One area of particular interest is in the exchange of RSS files. OPML can be used to group together related RSS feeds. RSS viewers which provide support for OPML can then be used to read in the group, to avoid having to import RSS files individually. Similarly RSS viewers may also provide the ability to export groups of RSS files as a single OPML file.

OPML Viewers

OPML viewers can be used to view and explore OPML files. OPML viewers have similar functionality as RSS viewers, but allow groups of RSS files to be viewed.

The QA Focus Web site makes use of RSS and OPML to provide syndication of the key QA Focus resources [2]. This is illustrated in Figure 1, which shows use of the Grazr inline OPML viewer [3]. This application uses JavaScript to read and display the OPML data.

Other OPML viewers include Optimal OPML [4] and OPML Surfer [5].

Figure 1: Grazr
Figure 1: Grazr

Risk Assessment

It should be noted that OPML is a relatively new format and only limited experiences have been gained in its usage. Organisations who wish to make exploit the benefits of OPML should seek to minimise any risks associated with use of the format and develop migration strategies if richer or more robust alternative formats become available.


This briefing document makes use of information published in the OPML section on Wikipedia [6].


  1. OPML Specification,
  2. RSS Feeds, QA Focus,
  3. Grazr,
  4. Optimal OPML,
  5. OPML Surfer,
  6. OPML, Wikipedia