What's Wrong with OPML

by Charles Miller on February 12, 2002

What's Wrong with OPML

  1. The most recent expansion state of an outline node is not an attribute of the node itself.

    For editing, this means that when you insert or delete an outline node, you have to recalculate all the line-numbering and regenerate the "expansionState" up the top of the document.

    For displaying, this means that the user-agent needs to keep track of line numbering of outlines to determine which should be displayed. If expansion state were an attribute of the nodes themselves, you could choose to display (or not display) children of an un-expanded node using simple CSS selectors.

  2. Outline node content is an attribute of the outline node.

    For editing, this means that a lot of characters that would normally be fine have to be escaped as entities, making the document less humanly-readable.

    For displaying, this means that to display the OPML file in an XML/CSS aware agent, you first have to perform a transformation on the OPML file in order to turn the attributes into text nodes. This adds a completely unnecessary step - usually involving XSLT, one of the world's most sucky languages. If outline content was just a text node, you could display OPML purely using CSS, with no transformation step at all.

Previously: Mon, 11, Feb 2002 10:30:00 PM

Next: XSLT is the Spawn of Satan