OPML

From Wikipedia, the free encyclopedia

Template:Short description

Page Module:Message box/ambox.css has no content.

Template:DMCA

Page Module:Infobox/styles.css has no content.

OPML
Lua error in package.lua at line 80: module 'Module:InfoboxImage/data' not found.
Filename extensionTemplate:Monodiv
Internet media typeTemplate:Monodiv
Uniform Type Identifier (UTI)org.opml.opml
UTI conformationpublic.xml
Developed byUserLand
Type of formatOutliner
Extended fromXML
Websitedev.opml.org

OPML (Outline Processor Markup Language) is an XML format for outlines (defined as "a tree, where each node contains a set of named attributes with string values"[1]). Originally developed by UserLand Software as a native file format for the outliner application in its Radio UserLand product, it has since been adopted for other uses, the most common being to exchange lists of web feeds between web feed aggregators.[2]

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.

Support for importing and exporting RSS feed lists in OPML format is available in Mozilla Thunderbird[3] and in most other RSS reader web sites and applications.[2]

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 Template:IETF RFC. expansionState contains a comma-separated list of line numbers that should be expanded on display. The windowXXX elements define the position 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 at least one outline element.
<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.

Criticism

Page Module:Message box/ambox.css has no content.

  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 then RFC 5322.[4] In general, date and time formats should be represented according to RFC 3339.
  2. Due to the semantics of the "expansionState" attribute:
    • 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.

Validation

Dave Winer, the founder and CEO of Userland, made a request for comments on a proposal for validating OPML.[5] He released a beta version OPML validator in November 2005.[6]

The Harvard Digital Library for Earth System Education (DLESE) published an XML Schema Document for validating OPML 2.0 in 2007.[7] There is also a DTD available for OPML 1.0.[8]

Alternative specifications

Script error: No such module "Labelled list hatnote".

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

  • OML – Outline Markup Language
  • XOXO – Extensible Open XHTML Outlines
  • XBEL – XML Bookmark Exchange Language

See also

References

Page Template:Reflist/styles.css has no content.

  1. ^ Page Module:Citation/CS1/styles.css has no content."OPML 2.0 Specification". Retrieved 18 March 2014.
  2. ^ a b Page Module:Citation/CS1/styles.css has no content.Fisher, Tim (12 March 2022). "How to Open, Edit, and Convert OPML Files". Lifewire. Retrieved 5 July 2023.
  3. ^ Page Module:Citation/CS1/styles.css has no content."How to Subscribe to News Feeds and Blogs | Thunderbird Help". support.mozilla.org. Retrieved 11 June 2019.
  4. ^ Page Module:Citation/CS1/styles.css has no content."RFC 5322". RFC editor. Retrieved 21 September 2023.
  5. ^ Page Module:Citation/CS1/styles.css has no content.Weiner, Dave. "Guidelines for validating OPML". www.opml.org. Archived from the original on 24 October 2005. Retrieved 28 September 2025.
  6. ^ Page Module:Citation/CS1/styles.css has no content.Winer, Dave (November 2005). "OPML Validator". validator.opml.org. Archived from the original on 2 November 2005. Retrieved 28 September 2025.
  7. ^ Page Module:Citation/CS1/styles.css has no content."OPML 2.0 - Digital Library for Earth System Education". www.dlese.org. Harvard Digital Library for Earth System Education. Archived from the original on 10 September 2007. Retrieved 28 September 2025.
  8. ^ Page Module:Citation/CS1/styles.css has no content."OPML 1.0". static.userland.com. Retrieved 28 September 2025.

Lua error in package.lua at line 80: module 'Module:Navbox/configuration' not found.