Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
OPML
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{short description|XML format for outlines}} {{one source|date=May 2017}} {{Use dmy dates|date=July 2023}} {{Infobox file format | name = OPML | icon = [[Image:Opml-icon.svg|100px]] | extension = <code>.opml</code> | mime = application/xml, text/xml, text/x-opml | uniform_type = org.opml.opml | conforms_to = public.xml | developer = [[UserLand Software|UserLand]] | creatorcode = | genre = [[Outliner]] | containerfor = | containedby = | extendedfrom = [[XML]] | extendedto = | url = {{URL|http://dev.opml.org/}} }} '''OPML''' ('''Outline Processor Markup Language''') is an [[XML]] format for [[Outline (list)|outlines]] (defined as "a tree, where each node contains a set of named attributes with string values"<ref name="Spec">{{cite web|url=http://dev.opml.org/spec2.html|title=OPML 2.0 Specification|access-date=18 March 2014}}</ref>). 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 aggregator]]s.<ref name="lifewire">{{Cite web |last=Fisher |first=Tim |date=2022-03-12 |title=How to Open, Edit, and Convert OPML Files |url=https://www.lifewire.com/opml-file-2622105 |access-date=2023-07-05 |website=[[Lifewire]]}}</ref> 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]]<ref>{{cite web|access-date=2019-06-11|title=How to Subscribe to News Feeds and Blogs {{!}} Thunderbird Help|url=https://support.mozilla.org/en-US/kb/how-subscribe-news-feeds-and-blogs|website=support.mozilla.org}}</ref> and in most other RSS reader web sites and applications.<ref name="lifewire" /> ==XML format== The XML elements in an OPML document are: ; <code><opml version="1.0"></code> : This is the root element. It must contain the version attribute and one ''head'' and one ''body'' element. ; <code><head></code> : Contains [[Metadata (computing)|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 {{IETF RFC|822}}. ''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. ; <code><body></code> : Contains the content of the outline. Must have at least one ''outline'' element. ; <code><outline></code> : 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== {{more citations needed|date=December 2013}} # 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]].) In general, date and time formats should be represented according to [[RFC 3339]]. # 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 # 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. # 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. <ref>{{cite web |title=RFC 5322 |url=https://www.rfc-editor.org/rfc/rfc5322 |website=RFC editor |access-date=21 September 2023 |ref=a}}</ref> ==Validation== [[Dave Winer]], the founder and CEO of Userland, has made a request for comments on a [https://web.archive.org/web/20051024010033/http://www.opml.org/guidelinesForValidation proposal for validating OPML] and released a beta [https://web.archive.org/web/20051102000206/http://validator.opml.org/ OPML validator]. Katy Ginger{{clarify|who is this?|date=December 2016}} from DLESE{{clarify|what is this?|date=December 2016}} has published [https://web.archive.org/web/20070910025930/http://www.dlese.org/Metadata/opml/2.0/index.htm an XML Schema Document] for validating OPML 2.0. There is also a [http://static.userland.com/gems/radiodiscuss/opmlDtd.txt DTD available for OPML 1.0]. ==Alternative specifications== {{main|List of content syndication markup languages}} Alternative specifications have been proposed, notably these include [[OML (computer format)|OML]], [[XOXO (microformat)|XOXO]] and [[XBEL]]. *[[OML (computer format)|OML]] β Outline Markup Language *[[XOXO (microformat)|XOXO]] β Extensible Open XHTML Outlines *[[XBEL]] β XML Bookmark Exchange Language ==See also== * [[Data portability]] *[[Attention Profiling Mark-up Language|APML]] β Attention Profiling Mark-up Language *[[Feed icon]] *[[Share icon]] ==References== {{Reflist}} == External links == * {{webarchive|url=https://web.archive.org/web/20160304125338/http://dev.opml.org/spec1.html|title=OPML 1.0 Specification}} * [http://dev.opml.org/spec2.html OPML 2.0 Specification] * [http://home.opml.org/ OPML Editor app] * [http://www.opmlicons.com/ OPML Icon Files] * [http://codebeautify.org/opmlviewer OPML Viewer-Editor] * [http://www.whiterocksoftware.com/2020/07/opml-file-viewer.html OPML Viewer] {{Web syndication}} {{DEFAULTSORT:Opml}} [[Category:Web syndication formats]] [[Category:XML-based standards]] [[Category:2000 software]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite web
(
edit
)
Template:Clarify
(
edit
)
Template:IETF RFC
(
edit
)
Template:Infobox file format
(
edit
)
Template:Main
(
edit
)
Template:More citations needed
(
edit
)
Template:One source
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Use dmy dates
(
edit
)
Template:Web syndication
(
edit
)
Template:Webarchive
(
edit
)