
the standard "RSS" and the lower-case "rss"). Ideally, an OPML-to-XOXO converter would also locate the HTML versions of feeds if the htmlUrl attribute is not there, and vice versa.Īnother implementation note for the version attribute: it's a good idea to check for both upper and lower case versions (eg. If the version attribute is present, it should be used to drop in the relevant MIME-type on the link to the feed. The text attribute may list something different from the title of the linked feed, so that ought to be the value of the hyperlink - one may link to the blog "Epeus' Epigone" and set the text field as "Kevin Marks". What should be done with an RSS feed node? Since it is almost the primary use of OPML, it would probably be advisable to optimize any conversion effort to deal efficiently with feeds.



An OPML-to-XOXO parser should ideally take data from the text attribute and put it into a XOXO outline in a standard way.Ī blank type attribute usually implies that it is a text node in an outline, using the text and created nodes. This is standard behavior from the OPML Editor. The text attribute can and does often contain escaped HTML markup (which is really a bad practice, and has led to a lot of criticism of OPML). One should not infer that the title attribute is equivalent to the text attribute (see OPML 2.0 Spec).

If a text attribute is present but not a title attribute, one should infer that the text attribute is equal to the title attribute. Some implementations of OPML break from the specification in providing a title attribute but not a text attribute. Both are reasonably well-defined by the OPML specification, and serve different purposes. There is some confusion over the difference between the text and title attributes. That way, JavaScript could be laid over the top of XOXO outlines to allow them to include OPML outlines or link to them in a way that would proxy them back in to XOXO (etc.). But all OPML-to-XOXO tools ought to point to OPML files (includes, etc.) in a consistent way. One should not infer that something is or is not OPML based on the MIME type, because that's not reliable. There have been suggestions as to whether or not to start serving OPML as: OPML is usually served with a large variety of MIME types including: So, for instance, the "rss" type value tells the processor to look for feed-specific values. Type attribute values extend the standard attribute set of the outline node. There is some formal canonicalisation (in the 1.0 spec and the 2.0 spec) of what individual type attributes do. OPML specifies limitations in a loose way, using the type attribute.
