OML

From Wikipedia, the free encyclopedia.

Jump to: navigation, search
 The neutrality of this article is disputed.
Please see discussion on the talk page.

OML (Outline Markup Language) is a specification designed to build upon the concepts found in OPML, with the goal of fixing some of its limitations.

OML has a similar structure to OPML. Its advocates claim that although it is as simple and as flexible as OPML, its extension mechanism is better than that of OPML. Instead of letting users add attributes freely, OML introduces an <item> element (child element of <outline>); instances of the <item> element may be added freely.

The resulting documents are claimed to be easier to parse than equivalent OPML documents. Readers of OPML never know what attributes others may have added to standard elements; so an element the reader wants to parse may contain a mixture of known and unknown attributes. This claimed disadvantage of OPML actually applies to any XML-based format, including OML, because XML namespaces may add attributes to existing tags; however, OPML is unusual in its enthusiasm for free-form definition of new attributes. In OML, extensions are added in the form of <item>s instead; an unknown <item> may be discarded without harming known data elsewhere in the file. The approach taken by OML is designed to be more in keeping with the approach of other XML-based languages and with the philosophy of some standards organizations.

Some advocates of OML also consider the fact that OML was not created by UserLand to be an advantage in itself.

Despite its claimed advantages, OML has not seen wide use. Reasons for the greater popularity of OPML may include the relative newness of OML (finalized in May 2003), and non-technical political issues between members of the XML community.

Shortcomings of OML

  • By storing the content in the <text>-attribute, OML makes it impossible to save line-breaks (or you have to use your own, application-specific encoding, which is contrary to the supposed goal of becoming a standard)
  • By allowing both the text-attribute and the <data>-element to store the main-content, it is always unclear which one to use: text, data, or a concatenation of both
  • The artifical distinction between <item> and <data> is completely unnecessary; one could easily use <item name="data">foo bar</item> instead of <data>foo bar</data>, which would be more consistent

See also

External links

Personal tools