Wow! XML formats for outlining are complete rubbish

There's no other way to put it other than the title. After having heard a lot about OPML (and having used it as a blind RSS feed exchange format), Ian Forrester's comment that he is using OPML for all his personal note-taking finally pushed me to look seriously at the format. It is just complete and utter garbage. OPML might possibly be the best example of the worst abuses of XML markup. It's really hard to fully express how horrible OPML is, and there is no way in the world that I'll ever be dealing with it directly. The language that I use as a hub for my personal information space needn't be perfect, but it can't make me gag at every other tag.

I looked a bit further and found OML. It's a reaction to the ugliness of OPML and so I expected it would be the ticket for me. It does partially fix perhaps the most immediate and visceral abomination of OPML: the abuse of attributes for prosaic textual content (although why it doesn't completely eliminate the text attribute in favor of a title child element is beyond me). But it leaves a lot of nastiness and introduces some of its own (the idea of item as generic extensibility element is hugely ill-begotten). OML isn't even widely-used enough to just compromise and deal with its flaws. I think I'll consider creating my own language. I can export to OPML via XSLT when I really have to. But I think I can use some of the fixes in OML as a starting point.

"Sharing, the web way", by Danny Ayers is a good outline [n/m] of the horrors of OPML. He does get into the politics as well, which I think are less important to me than the technical flaws. He does state what has always been my reaction to the OPML hype:

But more and more I'm thinking things like blogrolls or whatever are much better handled using something more specific - XBEL or simply (X)HTML (like Netscape bookmarks).

Of course I'd plump for XBEL, but this expresses my general viewpoint. I wanted to look at outlining formats because so many people go on about outline editors and formats as productivity tools. I want to be sure I'm not missing anything. Based on what I've found so far, I'm really confused at what people are gaining in this space.

Danny goes on to say:

If what you want is versatility and be able to combine material from different sources and of potentially different data types, then you really do need something like RDF - the glue of OPML isn't strong enough.

I think that O*ML is just one of those examples that illustrate the limits of RDF. RDF is not the best model for content with a significant prose quotient, and RDF/XML not the best syntax. I think that a format I came up with would have the following characteristics:

  • Lightweight overall framework using other formats such as XBEL and XHTML 2.0 to do the heavy lifting
  • Sound XML design overall
  • Metadata sections that can readily be mapped to RDF model without using RDF/XML directly

Where would that take me that no one else has already charted? Maybe nowhere. I certainly wouldn't plan to spend much time on it (and I might not even bother at all). It's just a bit of exploration suggested to me by what I've found poking around what's there already.

[Uche Ogbuji]

via Copia
17 responses
Copia Ok, the title is where the Jerry Mcguire quotes and comparisons start and stop (don't think Uche's in any danger of losing his job over this given it's his company :) Wow! XML formats for outlining are complete rubbish...

I'd be interested to hear more about whether you actually find an outlining tool to be useful for note-taking, etc.

I've found that a personal Wiki hits the sweet-spot for me, w.r.t quick note taking.

The syntax is simple, and its easy to go back over notes and add additional structure.

Maybe I'm missing something in the ability to process those notes further, that would require an XML based format. But I'm actually hard-pressed to think of anything except transforming them to XHTML for viewing!

You're right about OPML though.
Hah! I wrote a rather frustrated short rant about a year ago when I tried to do something with this abomination of a format. I’m delighted to see someone with more weight than me in this space sink some articulate teeth into this manifestation of bogosity.

Good point.  I was really just responding to all the buzz.  A personal MoinMoin might be perfect, as it also has bulk XML export.

Eh, cool and all, but what does anything on that page have to do with outline formats?

Genuinely puzzled.
I cut and paste:


06:38 PM

OPML [ #4217 ]

OPML is Dave Winer's outline markup language. Mark Pilgrim is sub-impressed.

Aaron Straup Cope has created OTLML to address some of OPML's deficiencies. He's written some SAX toys (and again for OPML). (props to Sam Ruby for the pointers)

I still haven't worked out why outlines are da bomb. I should get off my butt and install Radio and play with outlines there, but somehow real work intervenes. I just haven't seen any description of what you can do with OPML that inspires me yet.


Follow the links :)

OPML Tools, and OTML another format that Aaron has designed. Though Aaron says himself that… "to have designed one, it is indeed useless"
Do you have a verdict on XOXO?
"XHTML 2.0 to do the heavy lifting"...", "Metadata sections that can readily be mapped to RDF model without using RDF/XML directly"...

XHTML 2.0 itself already has metadata sections

that do just that. See the updated treatment of

"meta" and "link" plus supporting attributes; it

amounts to a new RDF syntax that can be mixed inline, inside rather than outside your prose content:
Heh, funny. I keep finding myself back at OPML, because I actually really like the outline UI paradigm and many of the outlining-specific tools around XML drop back to the format. Like most things OPML does have interesting aspects if you stare at it long enough. The use of @type to determine how the other attributes should be interpreted is fun - architectural forms. Might even have worked had a URI being used for the value, but there seems to be a pathological avoidance of URIs (and namespaces) around OPML. 

The format does have popular support as the standard for subscription lists. That's also quite interesting, it's the only standard I can think of that everyone implements differently in a generally non-compatible fashion.

The underlying problem seems to me to have been  stretching a little app-specific format (Radio Userland) to be a general-purpose structured doc, knowledge representation and presentation language. Simple for simple things, but rapidly diminishing returns. Non-starter for global interop.

Re. XOXO etc, some of the same problems appear - structured docs aren't actually that useful without some semantics on the structure. Back to the note-taking point - I too use a Wiki, but want to be able to express dependencies between items (mostly for to-do lists). Wiki nodes are generally untyped...

(I've personally spent many, many hours trying to usefully treat Wikis and outlines as alternate views of the same data, one day I'll get it sorted).

I reckon your final bullet-point requirements are probably best fulfilled right now with domain-specific XML + XSLT, i.e. GRDDL. Like someone once said, "there is no syntax".

Sorry, but in my defense, I did follow the link when you first posted it.  I swear that I ended up on a Web page that was extolling the virtues of Perl over Python, and that when I did a page search for "OPML" I found nothing.  I have no idea how that happened, because when I click on that link now, I get the page that you had in mind.

Anyway, thanks for the link.
Copia oh boy! OPML might possibly be the best example of the worst abuses of XML markup. It's really hard to fully express how horrible OPML is, and there is no way in...
I thought I had it covered. Joe on the TabletPC and Pocket Thinker on the ipaq, both support OPML naively but pocketthinker does not import OPML from Joe. So I'm back to the start with note taking.

I'm seriously douhting if OPML is the right thing fo...

I've been struggling to crystallize my thoughts about the numerous discussions, mostly leading back to...
I wrote on this issue this morning on my blog:

It seems to me that using RSS to list RSS feeds would be a lot simpler in the long run.
Someone at Smarking has bookmarked your post.