Fact-checked by Grok 2 weeks ago

OPML

OPML (Outline Processor Markup Language) is an XML-based format, specifically XML 1.0, designed for representing outlines as hierarchical, ordered lists of elements, where each node contains a set of named attributes with string values. The format uses a that encloses a <head> section for —such as title and date—and a <body> section containing nested <outline> elements that form the outline's structure, with common attributes including text for display labels, type for element categorization, and options like isComment or isBreakpoint for processing instructions. This extensible design allows OPML to store and exchange structured information in a tree-like , making it suitable for applications that handle nested data. OPML was developed in 2000 by UserLand Software, a U.S.-based company, as a native for its outliner application and RSS aggregator, Radio UserLand. The initial version, OPML 1.0, was released that year, followed by an unfinalized 1.1 in 2005, with the current standard, version 2.0, published in 2006 and maintained as an open specification by on the official site at opml.org. Although originally intended for general outlining tools, the format's simplicity and openness have enabled its evolution beyond early software like , UserLand's scripting environment from the late 1980s and 1990s. In practice, OPML has become widely used for importing and exporting subscription lists in RSS feed readers and podcast aggregators, facilitating the bulk transfer of web feeds between applications such as , , and . It also supports broader applications in exchanging hierarchical data, including blogrolls, podcast directories, and structured content outlines, with compatible tools listed on the official site. Despite some criticisms, such as its reliance on outdated 822 date-time syntax and potential challenges due to optional attributes, OPML remains a lightweight, platform-independent standard for outline-based data interchange.

History and Development

Origins and Creation

The Outline Processor Markup Language (OPML) was developed by Dave Winer, founder of UserLand Software, in late 2000 as an XML-based format specifically designed to serve as the native file format for Radio UserLand, an outliner application that integrated with Internet services. This creation built on Winer's long-standing interest in outlining tools, dating back to ideas from the early 1980s, but adapted for the emerging web ecosystem. The primary motivation behind OPML was to facilitate the exchange of hierarchical outlines between outliner software and web-based services, overcoming the limitations of plain text files, which lacked structure, and proprietary formats, which hindered interoperability. By providing a simple, human-readable XML specification, OPML enabled developers to represent complex data like playlists, websites, or directories as editable hierarchies that could be browsed, linked, and modified across the Internet, much like HTML facilitated web content. OPML 1.0 was initially announced on September 24, 2000, with its specification outlined in a concise document, coinciding with the burgeoning popularity of blogging platforms and RSS syndication formats in which Winer played a pivotal role. Early adoption occurred rapidly within UserLand's ecosystem; by November 25, 2000, OPML gained support in both Radio UserLand and the company's Manila content management system, where it was used to export and manage hierarchical site structures such as page outlines and directories.

Version Evolution

The Outline Processor Markup Language (OPML) was first introduced in version 1.0 on September 24, 2000, by Dave Winer, providing a basic XML-based format for exchanging hierarchical outlines between applications. This initial version focused on simplicity and extensibility, enabling the representation of structured information such as playlists, websites, and calendars in a human-readable manner, without advanced metadata or namespace support. In 2005, Dave Winer proposed OPML 1.1, which included ideas like a <cloud> tag, but it was never finalized and documents were advised to be treated as version 1.0. OPML evolved to version 2.0 in February 2006, incorporating enhancements driven by community feedback and practical needs identified during its early adoption. Key improvements included the addition of attributes like type for specifying outline node types and ownerId for identifying ownership, as well as formal support for XML namespaces to allow future extensions without altering the core specification. The head section was refined to better accommodate document metadata, such as dateCreated, dateModified, ownerName, and ownerEmail, facilitating richer provenance tracking. Outline elements gained expanded attributes, including xmlUrl for linking to external resources like RSS feeds, which enhanced interoperability in syndication scenarios. Additionally, common node types were documented, and inclusion mechanisms were streamlined to promote consistent usage across tools. No official versions of OPML have been released beyond 2.0 as of 2025, with the specification explicitly stating that further development should occur through namespaces and new outline types rather than major revisions. However, community-driven extensions have emerged, particularly in the 2010s, to address modern web development needs; for instance, tools like opmltojs on NPM enable conversion of OPML files to JavaScript objects in JSON format, improving compatibility with JavaScript-based applications and APIs. Dave Winer's work on 2.0, released in , synergized with OPML, which emphasized simple formats; this positioned OPML as a standard for managing and exchanging lists of RSS feeds, allowing users to import subscription outlines between aggregators.

Technical Specification

Overall Document Structure

An OPML document is structured as a well-formed XML 1.0 file, ensuring compatibility with standard XML parsers and processors. At its core, the document features a single named <opml>, which requires a version attribute to specify the OPML in use, such as version="2.0" for the most widely adopted iteration. This encapsulates the entire outline, providing a straightforward container for the hierarchical data it represents. The <opml> root must include two mandatory child elements: <head> and <body>. The <head> element serves as a container for related to the document, such as titles, creation dates, or owner information, which helps contextualize the without forming part of its substantive . In contrast, the <body> element houses the primary structure, enabling the representation of outlines through a series of nested that build the tree-like . OPML's hierarchical nature is achieved within the <body> through the use of <outline> elements, which can be nested recursively to form parent-child relationships, mimicking the branching structure of traditional outlines. This nesting allows for arbitrary depth, supporting complex, multi-level representations of information, from simple lists to intricate knowledge trees. No is typically required for standard OPML documents, though an optional xmlns attribute can be added to the root for extensions or custom schemas; however, all documents must adhere strictly to XML 1.0 conformance rules to ensure interoperability.

Core Elements and Attributes

The core elements of an OPML document are organized within the <head> and <body> sections, enclosed by the , providing a structured XML format for outlines. The <head> section includes optional elements for , such as <title> for the document's name, <dateCreated> and <dateModified> to denote timestamps in RFC 822 date-time format, <ownerName> and <ownerEmail> for ownership details, and <expansionState> as a comma-separated list of integers offering hints for node expansion states. These elements enable basic documentation and across outline-processing tools while remaining lightweight. The <body> section houses the primary content through one or more <outline> elements, each representing a node in the hierarchical outline. The <outline> element requires a text attribute to define the node's visible label, ensuring readability in supporting applications. Optional attributes enhance functionality, including type (e.g., "rss" to denote RSS feed nodes), isComment (a boolean flag for comment nodes), isBreakpoint (a boolean flag for processing instructions, such as breakpoints), url (a general resource link), xmlUrl (URL to XML content like feeds), htmlUrl (URL to the HTML counterpart), icon (URL to a node icon in extended implementations), and language (an IETF language tag for localization). These attributes support diverse applications, from simple lists to complex feed aggregations, while allowing extensibility for custom needs. Nesting forms the essence of OPML's hierarchical structure, where an <outline> element may contain zero or more child <outline> elements indefinitely, enabling arbitrary depth without predefined limits. This recursive design accommodates tree-like data representations, such as categorized outlines or subscription folders. For illustration, a basic nested structure might appear as follows:
<outline text="Feed List" type="rss">
  <outline text="Example" xmlUrl="http://example.com/feed.xml" />
</outline>
This snippet demonstrates a parent node containing a child feed reference.

Applications and Usage

Feed Aggregation and RSS Management

OPML serves as a standard format for exporting and importing lists of and feed subscriptions in feed readers, enabling users to manage and transfer their aggregated content collections efficiently. This functionality allows for the bulk migration of subscriptions between applications, preserving the of feeds such as categories or folders. Within OPML files, the xmlUrl attribute in <outline> elements specifies the endpoint for each individual feed, facilitating seamless integration with protocols. OPML was developed as part of UserLand's Radio UserLand, an early aggregator and blogging tool, which positioned it as a companion to the emerging ecosystem. By providing a structured way to bundle multiple feed URLs, OPML addressed the need for portable subscription lists in the growing landscape of decentralized content aggregation. Contemporary feed readers widely adopt OPML for management; for instance, enables users to export their public sources as OPML files via its web interface, serving as a or mechanism. Similarly, Inoreader supports importing OPML files to subscriptions and even allows subscribing directly to dynamic OPML URLs for ongoing feed updates, with options for full synchronization or incremental additions. Thunderbird integrates OPML import through its "Manage feed subscriptions" feature, permitting users to load entire subscription lists from exported files into its folder pane. These capabilities make OPML essential for migrating user subscriptions across platforms without manual reconfiguration. In podcasting, OPML extends its utility to directory exports, particularly for curated lists from platforms like , where it enables the distribution of top-ranked shows as importable subscription bundles. For example, editorial selections such as Apple's "Best So Far" rankings are provided in OPML format in August 2025, allowing podcast apps to ingest and subscribe to entire collections of audio feeds efficiently. This application underscores OPML's role in scaling content discovery and aggregation within the podcast ecosystem.

Outlining Tools and Knowledge Organization

OPML plays a central role in outlining tools by providing a standardized XML-based for representing hierarchical structures, consisting of nested elements that capture outlines as trees of nodes with associated attributes. This design allows users to create, edit, and exchange outlines seamlessly across compatible software, preserving the logical of ideas, tasks, or documents without requiring file formats. The 's simplicity and extensibility make it ideal for applications where structured thinking is essential, such as project planning, writing, and brainstorming. Numerous outlining applications natively support OPML for and , enabling and flexibility. For instance, OmniOutliner, a professional outlining tool for macOS and , uses OPML as one of its core file formats to store and transfer multi-level outlines, including attributes like expansion states and notes. Similarly, , a and outlining software from Eastgate Systems, imports OPML files by dropping them into its views, converting hierarchical elements into notes while retaining text and attributes for further manipulation in mind maps or timelines. , a writing and tool, supports OPML directly into its binder structure and of project outlines, facilitating the transition of ideas from initial sketches to full manuscripts. Web-based outliners like and Dynalist also leverage OPML for exporting infinite-nested lists, allowing users to migrate content to desktop tools without restructuring. These capabilities ensure that outlines remain portable, supporting iterative refinement in diverse environments. In , OPML extends beyond basic outlining to structure complex information repositories, such as personal notes, research databases, and collaborative wikis, by embedding metadata and links within hierarchical nodes. This enables the representation of interconnected ideas, where outlines can include URLs, tags, or custom attributes to denote relationships, making it suitable for () practices like or linked thinking. Mind mapping tools integrate OPML to bridge visual and textual organization; for example, allows scripting-based import of OPML files to populate nodes with attributes, transforming linear outlines into radial diagrams for conceptual mapping. In enterprise and academic contexts, OPML supports dynamic knowledge bases, such as library research guides that aggregate feeds, catalog entries, and multimedia resources into syndicated outlines, updated automatically via aggregators like . A notable application occurred at , where librarians used OPML to create shareable research guides previewed in browsers, enhancing accessibility and real-time collaboration for . Additionally, tools like DEVONthink import OPML outlines to index and search knowledge collections, aiding in the curation of large-scale reference materials. By prioritizing hierarchical portability, OPML reduces silos in knowledge workflows, though its adoption depends on tool compatibility.

Emerging and Niche Uses

In recent years, OPML has found integration in AI-driven tools for structuring and exporting hierarchical content generated by large language models (LLMs). For instance, Wity.ai, an -powered note-taking application, supports exporting user-generated outlines and notes directly to OPML format, enabling seamless transfer to other outliner software or aggregators for further organization. Similarly, users leverage LLMs like to programmatically generate OPML files from textual prompts, automating the creation of structured outlines for without manual formatting. This approach facilitates automation workflows, such as in integrations where OPML exports from tools like are processed alongside actions to curate dynamic content hierarchies. OPML's role in mobile and cross-platform applications has expanded through Apple's Shortcuts app, particularly for podcast subscription management. Developers have created custom shortcuts that parse OPML files to import or export podcast feeds into Apple Podcasts, allowing users to migrate subscriptions across apps like Pocket Casts or Overcast without native support. For example, a shortcut can extract RSS URLs from an OPML document and automate "Follow" commands, enhancing data portability on iOS devices. This niche use supports dynamic list sharing in automation scenarios, such as syncing outlines between mobile outliners like MindNode, which imports OPML alongside other formats. In , OPML is recognized as a sustainable XML-based format for exchanging outline data, with the maintaining a detailed format description that highlights its utility for long-term access to structured textual works. Although not tied to specific archival projects, this documentation underscores OPML's potential in institutional contexts for preserving hierarchical information, such as knowledge bases or feed collections, aligning with broader recommended formats for textual materials.

Implementation and Validation

Schema and Validation Methods

OPML lacks an official built-in (DTD) or schema in its core specification, allowing for flexible implementations while relying on general XML validation tools for enforcement. , the format's creator, announced in 2007 the development of a schema for OPML 2.0 to align with the specification, though it was not publicly released as planned. Community efforts have filled this gap, including unofficial schemas available on platforms like and Definition (XSD) implementations from organizations such as and independent developers. Tools like Jing, a validator, or xmllint from can be adapted for OPML documents by applying these schemas to check structural compliance. Online validation services provide accessible ways to verify OPML files without local setup. The OPML Validator at validator.opml.org, developed by in 2005, allows users to input a to an OPML file and checks for well-formed XML, required elements, and adherence to common conventions. Similarly, the Feed Validator at feedvalidator.org, primarily for and , extends support to OPML for detecting issues like invalid versions or missing attributes. Custom XSD-based validators can also be implemented using these community schemas for automated testing in development workflows. Best practices for OPML validation emphasize ensuring well-formedness per the XML 1.0 recommendation, compliance with the specified version (e.g., 1.0, 1.1, or 2.0 on the root element), and presence of required attributes. Every element must include a "text" attribute to display content in outliners, with additional requirements for subscription lists such as "type='rss'", "xmlUrl", and optionally "htmlUrl" for links. Validators should flag errors like outlines outside the element or unescaped special characters (e.g., & as &), while recommending inclusion of both "text" and "title" for broader compatibility across tools. For programmatic validation, developers can leverage XML parsing libraries to enforce these rules and report errors. In Python, the lxml library supports OPML as XML and validating against available XSD or schemas using its etree module, enabling checks for hierarchy integrity and attribute completeness. In JavaScript, libraries like xmldom facilitate DOM-based to inspect elements and attributes, with extensions for schema validation via tools like Saxon-JS. These approaches allow integration into applications for error reporting during operations.

Common Compatibility Challenges

One significant compatibility challenge in OPML arises from the specification's allowance for arbitrary attributes and elements as extensions, which are intended to be ignored by parsers if unknown. While the OPML specification explicitly supports such extensions when properly namespaced, strict XML tools or non-tolerant importers often fail to process them, resulting in parser errors, incomplete imports, or . For instance, custom attributes added by tools like OmniOutliner can cause text to be lost during import into applications such as DEVONthink, necessitating manual removal of extensions before exchange. Version mismatches between OPML 1.0 and 2.0 further complicate interoperability, as structural expectations differ slightly despite shared core elements. Although both versions require a <head> element containing like the , this issue is exacerbated in feed aggregation scenarios, where versions result in failed imports and missing outlines. Encoding and namespace problems also pose barriers, particularly in international contexts, as the specification mandates but assumes consistent handling across systems. Files without explicit UTF-8 declarations or those inadvertently saved in legacy encodings like ISO-8859-1 can produce character garbling or parsing failures when containing non-ASCII text, such as accented characters in languages or scripts in Asian languages. Namespace conflicts arise when custom extensions lack proper prefixes, causing strict parsers to reject the entire document. Additionally, size limitations affect handling of deeply nested or expansive OPML files, such as those outlining thousands of feeds, which can exceed memory constraints in resource-limited environments. applications, in particular, may experience slowdowns, crashes, or incomplete rendering due to deep nesting overwhelming recursive algorithms. Validation tools can detect such structural excesses, but post-validation processing remains vulnerable in contexts.

Criticism and Limitations

Technical and Design Flaws

One significant technical flaw in OPML's design is the absence of a formal schema, such as a Document Type Definition (DTD) or XML Schema Definition (XSD), in its official specification, even in version 2.0 released in 2006. This omission, present from the format's early iterations, permitted the creation of malformed documents without built-in validation mechanisms, relying instead on community-developed schemas like those from Hitachi Solutions or independent contributors. As a result, interoperability suffered, as processors could not reliably enforce structure, leading to variations in how outlines were interpreted across tools. OPML's specification is overly permissive regarding attributes, allowing arbitrary attributes without restrictions or guidelines for their usage, which fosters non-interoperable extensions. For instance, the <outline> can include undefined attributes that vary by producer, with no provision in the spec for discovering their semantics, resulting in documents that function only through undocumented conventions. This flexibility, while enabling extensibility, has been criticized for undermining reliable data exchange, as evidenced by ongoing issues with custom attributes and namespaces in the OPML . The format lacks strict typing for key attributes, such as the type attribute on <outline> elements, which is merely suggestive (e.g., "rss" for feeds) but not enforced or semantically defined, complicating automated feed detection and processing. Without mandatory validation of these types, applications must guess or implement ad-hoc heuristics, increasing error rates in scenarios like RSS aggregation where precise identification is essential. This design choice contributes to broader challenges, as the spec does not differentiate between semantic equivalents, such as a typed versus a custom element. In 2025, OPML's exclusive reliance on XML appears dated amid web development trends favoring lighter, more parsable formats like JSON for data interchange. The specification provides no native JSON support or mapping, necessitating third-party converters for integration with modern APIs and tools, which adds unnecessary overhead and limits adoption in JSON-centric ecosystems. This XML-centric focus, unchanged since its inception, contrasts with evolving standards that prioritize efficiency and ease of parsing in web applications.

Practical Adoption Barriers

Despite its public specification, OPML's development by Dave Winer at UserLand Software in the late 1990s has tied it closely to proprietary software ecosystems, such as the Frontier outliner and early blogging tools, fostering perceptions of limited openness even though the format is freely available under a Creative Commons license. This association has slowed broader adoption by standards organizations; unlike formats like RSS 2.0, which gained traction through community efforts, OPML remains an informal specification without endorsement from bodies like the W3C or IETF, reducing its integration into enterprise and web standards workflows. The proliferation of JSON-based syndication formats has intensified competition for OPML, particularly in API-centric applications by 2025, where lighter, more parseable structures are preferred over XML's verbosity. JSON Feed, introduced in 2017 as a direct alternative to XML formats like RSS and OPML, supports similar use cases for outlines and feeds but offers easier JavaScript integration and reduced payload sizes, making it a favored choice for modern web and mobile syndication. This shift is evident in podcasting and content aggregation, where APIs increasingly export subscription lists in JSON rather than OPML to align with RESTful services and avoid XML's overhead. Tooling support for OPML remains sparse compared to ubiquitous formats like or , with editing largely confined to niche outliners such as the OPML Editor or specialized applications like Bike and Checkvist, rather than mainstream offering , auto-completion, or plugins. Developers often resort to custom scripts or online editors to manipulate OPML files, as integrated development environments like or IntelliJ lack dedicated extensions for OPML validation or manipulation, hindering efficient workflow integration. This scarcity of robust, user-friendly tools discourages widespread experimentation and maintenance, particularly among non-specialist users managing feed subscriptions or outlines. Security concerns further impede OPML's practical adoption, as its XML foundation exposes importers to common parsing vulnerabilities, including XML External Entity (XXE) attacks, where maliciously crafted files can lead to data disclosure or denial-of-service if external entity resolution is not disabled. Feed aggregators and outliners processing untrusted OPML files—such as shared subscription lists—must implement strict parser configurations, like those recommended by , to mitigate risks from entity expansion or injection, yet inconsistent implementation across tools amplifies these threats in collaborative environments.

Alternative Formats

Outline Markup Language (OML)

The Outline Markup Language (OML) is an XML format designed for representing outlines in a structured, hierarchical manner, proposed as a more rigid alternative to OPML to enhance validation and in outline exchange. Originally developed by Ray Grieselhuber in 2003, OML aimed to rectify issues in OPML such as vendor-specific extensions and lack of strict validation by introducing a non-proprietary, validatable format. Key differences from OPML include its focus on addressing arbitrary attributes and vendor-specific tags through a design that prioritizes and evolvability, avoiding the proprietary influences seen in OPML's under UserLand Software. Unlike OPML's permissive , which accommodates flexible but often inconsistent extensions, OML's approach seeks to ensure parseable and predictable documents. The specification also incorporated considerations for XInclude to enable modular inclusions, enhancing reusability. OML employs a tree-like similar to OPML, centered on nested <outline> elements to denote nodes in the structure. Despite its aims, OML's adoption remained limited to academic experiments and niche development projects in the early , such as explorations in systems and data representation. By 2025, it has seen no significant uptake in mainstream tools or services, remaining largely unused in favor of more established formats.

Extensible Open XHTML Outlines (XOXO)

Extensible Open XHTML Outlines (XOXO) is a lightweight XML designed for representing outlines, lists, and hierarchical structures using standard elements, serving as a web-friendly alternative to more complex XML-based formats like OPML. Developed by Tantek Çelik within the microformats community, the draft specification was published on October 1, 2004, during discussions at the Attention.xml conference, where it was proposed as an -based solution for syndicating outlines without the overhead of full XML parsing. Key features of XOXO include its reliance on familiar list modules, such as <ol> or <ul> elements marked with class="xoxo" to denote an container, and nested <li> elements for , enabling semantic markup without custom XML tags. For example, a simple might be structured as:
<ol class="xoxo">
  <li>Subject 1
    <ol>
      <li>Subpoint A</li>
    </ol>
  </li>
  <li>Subject 2</li>
</ol>
This approach leverages existing structure and list modules, avoiding XML namespaces or schemas to reduce complexity. XOXO's primary advantages lie in its human-readability directly in web browsers, as it renders as standard lists, and its seamless integration into existing (X)HTML pages, Atom feeds, or without requiring specialized parsers. Unlike OPML's stricter XML requirements, XOXO's design prioritizes simplicity for web developers, making it parsable by both browsers and XML tools while embedding easily into content management systems. In practice, XOXO finds usage in web publishing for creating , threaded discussions, and blogrolls, where its outline capabilities enhance semantic structure for navigation or syndication. It has been supported in various systems, including themes like the series, which incorporate XOXO for blogroll markup and outline rendering via plugins or core enhancements.

XML Bookmark Exchange Language (XBEL)

The XML Bookmark Exchange Language (XBEL) is an XML-based format designed for the interchange of bookmark data, enabling the structured representation and transfer of web links, folders, and associated metadata across applications. Developed by the XML Special Interest Group (XML-SIG) under the leadership of Fred L. Drake, Jr., it was first released on October 28, 1998, as version 1.0, with the goal of providing a neutral, extensible alternative to proprietary or browser-specific bookmark formats prevalent at the time. At its core, an XBEL document uses the <xbel> element as the root, which declares the namespace and version attributes to ensure compatibility. Hierarchical organization is achieved through <folder> elements, which support nesting to create tree-like structures for categorizing bookmarks; each folder requires a <title> child element for its name and may include an optional <desc> for additional textual explanation. Individual links are captured via <bookmark> elements, which mandate an href attribute pointing to the URI and typically include <title> and <desc> children for labeling and describing the resource. To accommodate extensibility, <info> elements serve as containers within folders, bookmarks, or the root, allowing arbitrary metadata via sub-elements from other XML namespaces, such as for annotations or timestamps. The format is governed by a formal DTD (Document Type Definition), which validates document structure and enforces element relationships, providing built-in schema-like constraints without relying on later XML Schema standards. This design supports optional integration with RDF through the <info> metadata, where RDF/XML fragments can be embedded to add semantic properties like ownership or creation dates, aligning with broader web metadata initiatives. Compared to OPML, XBEL prioritizes hyperlink-centric organization with dedicated <bookmark> and <folder> elements tailored for web resources, rather than OPML's versatile <outline> tags often adapted for feed attributes like xmlUrl and htmlUrl; this makes XBEL more specialized for static collections while offering similar hierarchical flexibility. XBEL has seen adoption in open-source ecosystems, particularly within desktop environments. For instance, the project's browser and related tools store user bookmarks in XBEL-compliant files, leveraging its hierarchy for folder-based navigation. Similarly, 's GLib library implements bookmark file handling based on XBEL, enabling applications to load, save, and manipulate collections programmatically. The specification for shared desktop bookmarks mandates conformance to XBEL 1.0, promoting interoperability across file managers and utilities in environments like and . This structure also renders XBEL viable for outline-like representations, where folder trees mimic nested content organization beyond pure web links, as seen in library systems for cataloging digital resources.

References

  1. [1]
    Outline Processor Markup Language (OPML) 2.0 - Library of Congress
    Outline Processor Markup Language (OPML) is an XML-based format, specifically XML 1.0, for outlines where each node contains a set of named attributes with ...Identification and description · Sustainability factors · File type signifiers
  2. [2]
    OPML 2.0 spec
    Mar 1, 2006 · Goals of the OPML format#. This document describes a format for storing outlines in XML 1.0 called Outline Processor Markup Language or OPML.
  3. [3]
    What is OPML? - Scripting News
    Dec 11, 2021 · ... created at UserLand Software in the late 80s and 90s. In Frontier, an outline could be a script, a menu, an object database, a blog, a blog ...
  4. [4]
    Outline Processor Markup Language (OPML) - The XML Cover Pages
    Sep 20, 2000 · Radio UserLand, first shipped in 2000, is an outliner whose native file format is OPML. Outlines can be used for specifications, legal briefs, ...
  5. [5]
    DaveNet : OPML 1.0
    Outline Processor Markup Language, or OPML, is the format behind this new kind of Internet outliner. It's an XML-based format, a three-screen spec that any ...Missing: origins | Show results with:origins
  6. [6]
  7. [7]
    opmllogo
    Oct 31, 2005 · 11/25/2000: The first apps to support OPML are UserLand's Manila content management system, and the Radio UserLand outliner. 12/28/2000: Josh ...Missing: development late
  8. [8]
    The UserLand Blog: - UserLand Software
    Both Radio UserLand and Manila include the ability to edit OPML files living on your hard drive: Just choose File -> Open to edit an existing file, or in Radio, ...
  9. [9]
    OPML 2.0 Announcement - Scripting News Annex
    Mar 1, 2006 · They were extensively discussed and refined. In February all this work was rolled into a new format and spec, called OPML 2.0. Announcement.Missing: 2004 | Show results with:2004
  10. [10]
    opmltojs - NPM
    Sep 20, 2023 · opmlToJs makes it easy to read and write OPML files in Node apps. The basic idea: Pass in some OPML text, get back a JavaScript object. And the ...
  11. [11]
    RSS 2.0 - Content Syndication with RSS [Book] - O'Reilly
    With RSS 2.0, Dave Winer and Userland Software declared the simpler strand of the RSS specification frozen. Small point releases (2.0.1, 2.0.2, etc.) ...Missing: influence | Show results with:influence
  12. [12]
    Drummer
    Sep 15, 2023 · Dave Winer's Role in OPML. Pioneering figure in development of weblogs and syndication. Promoted use of OPML for representing lists of RSS feeds ...Missing: key enhancements<|separator|>
  13. [13]
    Guide to OPML <outline> attributes - The RSS Blog
    Oct 3, 2005 · The OPML spec isn't entirely clear as to what attributes of the <outline> element are available and what they mean. This was intentional to ...Missing: isClosed | Show results with:isClosed
  14. [14]
    How can I export my sources and feeds (through OPML)?
    Jul 21, 2025 · If you are looking to export your feeds, please follow this link: http://feedly.com/i/opml (works only via the web app, not the mobile app) ...Missing: UserLand Manila site structures
  15. [15]
    OPML subscriptions | Inoreader blog
    Basically you subscribe to an OPML URL just like you subscribe to regular RSS feeds. You have to assign a specific folder for the new subscriptions and choose ...Missing: Thunderbird | Show results with:Thunderbird
  16. [16]
    Apple Podcasts: Best So Far, Aug 2025 (global) - Podnews
    Aug 5, 2025 · Apple Podcasts: Best So Far, Aug 2025 (global). August 5 ... The above list of podcasts is available as an OPML file for your podcast player ...
  17. [17]
    Import and Export OPML Outliner Files to Scrivener - Literature & Latte
    Sep 11, 2024 · OPML is a file format used by many outliners. You can import OPML files to your Scrivener project, and export all or part of your project in that format.Missing: knowledge | Show results with:knowledge
  18. [18]
    OPML Import into Freeplane Mindmap - SourceForge
    Jan 10, 2016 · 1. create new node or select an existing node in a map · 2. In Freeplane 'Tools' menu select 'Scripts' · 3. Choose the script 'Import OPML to ...<|control11|><|separator|>
  19. [19]
    Export mindmap in OPML format - Miro Community
    Jun 21, 2023 · Export the mindmap in .opml format. This is especially useful for SDET/QA software testers and during requirements gathering.
  20. [20]
    Gear Up Your Research Guides with the Emerging OPML Codes
    Dave Winer, author of the OPML specification, explained that “OPML [is] an XML-based format that allows exchange of outline-structured information between ...<|separator|>
  21. [21]
    Effortlessly Export Your Wity.ai Content to OPML Format
    Jul 9, 2024 · Wity.ai makes it easy to export your content in various formats, including OPML (Outline Processor Markup Language). OPML is a popular ...Missing: LLM | Show results with:LLM
  22. [22]
    OPML Files- Other Peoples Meaningful Lists - TimeAtlas
    Aug 22, 2023 · OPML is a versatile cross-platform file format developed by Dave Winer. It uses extensible markup language (XML) that can be used for many things.
  23. [23]
    How to Export Feedly Subscriptions in OPML - Zapier
    May 22, 2019 · This tutorial will show you how to export Feedly subscriptions in the OPML format, which will allow you to back up your subscriptions or import them into any ...How To Export Feedly... · Automate Your Rss Workflows · Add New Feedly Article From...
  24. [24]
    Creating an iOS Shortcut to import an OPML into Apple Podcasts?
    Jul 16, 2023 · To write an iOS shortcut to read an OPML file containing your podcast subscriptions and load them into Apple Podcasts with the "Follow" command, you need to do ...Any better suggestion to import opml file to Apple Podcast? - RedditPodcast app that can import OPML files? : r/ios - RedditMore results from www.reddit.com
  25. [25]
    Apple Podcasts to OPML - Dom Christie
    Apr 17, 2023 · Here's an Apple Shortcut (for iOS & macOS) that exports podcast subscriptions to an OPML file, making it easier to switch away from Apple's ...
  26. [26]
    Import Stitcher OPML file to Apple Podcast
    Jul 7, 2023 · I have created an Apple shortcut to import opml file to Apple Podcast. It is easy to use: Export an OPML file from your third-part Podcasts app like OverCast; ...Oplm file - Apple CommunityHow do I import and export OPML files into and out of Apple Podcasts?More results from discussions.apple.com
  27. [27]
    Apple's Shortcuts app - User Guide - MindNode
    Jun 3, 2025 · Imports a file into the app. Supports formats such as MindNode Classic, RTF, plain text, TextBundle, FreeMind, Xmind, OPML, and iThoughts X.
  28. [28]
  29. [29]
    Imported OPML loses text - Tips - DEVONtechnologies Community
    Mar 5, 2015 · DEVONthink does not play well with custom attributes in OPML. You'll need to rewrite the OmniOutliner source document to eliminate the custom ...Missing: compatibility issues arbitrary
  30. [30]
    Nick Bradbury: OPML Validator Beta - Typepad
    The OPML Validator accepts <outline> nodes that come after a closed <body/> element (test case). The OPML Validator treats unknown attributes as an error, but I ...
  31. [31]
    OPML 1.0 Specification
    Nov 24, 2000 · OPML is a format for storing outlines in XML, designed to exchange information between outliners and internet services. It is a simple, self- ...
  32. [32]
    Outline Processor Markup Language (OPML) format - Visure Solutions
    Originally developed for outlining documents, OPML has become the standard file format for managing RSS feeds, podcast subscriptions, and hierarchical data ...
  33. [33]
    Tutorial - Android Outliner
    Becausee of performance reasons Outliner only remembers the scroll ... You can open the OPML-files as before from your Android Dropbox App. Or you ...
  34. [34]
    [XML] https://www.hitachi.co.jp/hirt/publications/hirt-pub14009/opml-2.0.xsd
    A copy of this schema that declares opml with namespace can be found in the file opml-2.0-ns.xsd </xs:documentation> </xs:annotation> <xs:element name="opml ...
  35. [35]
    What's Wrong with OPML - The Fishbowl
    Oct 2, 2005 · OPML is the Outline Processor Markup Language - an XML dialect invented by Dave Winer as a serialization format for outlines created in ...Missing: schema RelaxNG 2004
  36. [36]
    Issues · scripting/opml.org - GitHub
    Validator fails on namespaces for custom attributes. Status: Open. #18 In ... Suggestions for the list of OPML-compatible tools. Status: Open. #4 In ...Missing: arbitrary | Show results with:arbitrary
  37. [37]
    OPML to JSON Converter Online - Code Beautify
    OPML to JSON Converter is an easy-to-use online tool to convert OPML (Outline Processor Markup Language) to JSON (JavaScript Object Notation) data.
  38. [38]
    Going in OPML RSS JSON circles - Interdependent Thoughts
    May 14, 2021 · Both RSS and OPML do allow for the extension of attributes, if you follow existing name spaces, such as e.g. schema. org's for creative works, ...
  39. [39]
    Will JSON replace XML in RSS? - Scripting News
    Feb 10, 2011 · 1. My first answer: Sure, why not. I experimented with it in October, and found prior art -- a website that takes a feed and returns JSON ...
  40. [40]
    JSON Feed Version 1
    The JSON Feed format is a pragmatic syndication format, like RSS and Atom, but with one big difference: it's JSON instead of XML.
  41. [41]
    JSON Vs. XML for Web APIs: The Format Showdown - Zuplo
    Apr 30, 2025 · Both JSON and XML have carved out their territories in the API landscape: JSON with its lightweight, JavaScript-friendly approach that modern ...Missing: OPML syndication
  42. [42]
    JSON vs. XML Comparison While Using It in Data Feed APIs
    Mar 16, 2025 · This article provides a comprehensive comparison of JSON and XML, focusing on their application in data feed APIs.
  43. [43]
    OPML-compatible apps - OPML.org
    May 23, 2022 · Bike (Mac): OPML is one of its native file formats. · Checkvist (web): Import and export OPML. · Cloud Outliner (Mac, iOS): Import and export OPML ...
  44. [44]
    Online OPML editor and tools to view and manage feed lists easily
    Manage your feed subscription lists more easily using a free online OPML editor with a simple and intuitive interface. View, edit, merge, clean, ...Missing: scarcity | Show results with:scarcity
  45. [45]
    XML Security - OWASP Cheat Sheet Series
    The recommendation to avoid these vulnerabilities is that each XML document must have a precisely defined XML Schema (not DTD) with every piece of information ...Missing: OPML | Show results with:OPML
  46. [46]
    What is XXE (XML external entity) injection? Tutorial & Examples
    XML external entity injection (also known as XXE) is a web security vulnerability that allows an attacker to interfere with an application's processing of XML ...Missing: OPML | Show results with:OPML
  47. [47]
    OPML vs OML - Fork but don't fight! - blog.lmorchard.com
    Apr 16, 2003 · In fact, today I found a link to OML, the Outline Markup Language project on ?SourceForge, which seems to seek to address many of the same ...
  48. [48]
    [PDF] A Knowledge-Light Mechanism for Explanation in Case-Based ...
    A more recent version of XML based representation schemes is OML. (Outline Markup Language) (Bergmann 2002). Using the most similar case to solve a problem ...
  49. [49]
    XOXO 1.0: Extensible Open XHTML Outlines - Microformats Wiki
    Feb 16, 2023 · XOXO is a simple, open outline format written in standard XHTML and suitable for embedding in (X)HTML, Atom, RSS, and arbitrary XML.
  50. [50]
    Microformats Primer - Digital Web
    Jan 24, 2014 · Let's take a look at Extensible Open XHTML Outlines, also known as XOXO. XOXO is simply a way of semantically marking up outlines. Using the ...
  51. [51]
    Microformats and Web 2.0 - XML.com
    Oct 19, 2005 · And the answer is XOXO, Extensible Open XHTML Outlines. Microformats ... Presently, microformat progress is almost exclusively based on XHTML.
  52. [52]
  53. [53]
    The XML Bookmark Exchange Language - PyXML
    The XML Bookmark Exchange Language (XBEL) is a rich interchange format for ``bookmark'' data as used by most Internet browsers. This document describes the ...Missing: specification W3C 2001
  54. [54]
    Gems From the Archives - XML.com
    Apr 9, 2003 · In fact, efforts such as XML Bookmark Exchange Language (XBEL), created by the XML-SIG in September of 1998 and now used in more browsers and ...Missing: history | Show results with:history
  55. [55]
  56. [56]
    An Annotea Bookmark Schema - W3C
    These basic concepts are also captured in the XML Bookmark Exchange Language [XBEL]. The use of RDF in Annotea permits bookmarks to express additional semantics ...
  57. [57]
    Annotea Shared Bookmarks - W3C
    XML Bookmark Exchange Language [29] is a proposed bookmark language designed for solving the export and import problem. It is currently available in some Linux- ...
  58. [58]
    GLib.BookmarkFile
    Here is an example of a bookmark file: bookmarks.xbel. A bookmark file might contain more than one bookmark; each bookmark is accessed through its URI. The ...<|control11|><|separator|>
  59. [59]
    desktop-bookmark-spec - Freedesktop.org
    May 7, 2021 · A valid desktop bookmark stream must conform to the 1.0 version of the XBEL Specification. The root element must be the xbel element, with its ...