John Robb: Scalable directories

I wrote this using Radio’s outliner. I saved the resulting OPML file to my Radio folder on my desktop which published it immediately. I then linked it a tool that converted it to HTML so you could read it in your browser. To see all the info, click on those arrows that are in bold to expand the structure of the document. Very easy. Very structured.

Unfortunately, viewing it in Opera 6.01 for Windows gives this error:

XML parsing failed: xml processing instruction not at start of external entity (2:0)

According to the comments on John’s site, other people get similar errors on IE 5 for Windows and IE 5.1 for Mac OS X. (This make me wonder exactly what browser John uses where this works.) Since I know a little bit about XML, I decided to investigate, and take this opportunity to play around with this whole OPML thing, since it’s been getting a lot of virtual ink lately, and I’ve been meaning to look at it for a while anyway.

  1. Start with the raw OPML file: http://jrobb.userland.com/Files/directory.opml
  2. Document is not well-formed XML
  3. Document is not valid XML
  4. DTD is invalid
  5. Document does not validate
  6. Document validates

I figured I would have better luck at Scripting.com, since Dave Winer is, after all, the creator of OPML. There are two OPML files linked from the home page of scripting.com (navigation links and Dave’s Handsome Radio Blog), neither of which, oddly enough, is the OPML file of Scripting News, which is only linked from this page on backend.userland.com, which I only found through opml.org.

  1. The OPML file for Scripting News, even after being massaged to point to my local hacked DTD, does not validate because attribute “created” is not declared for element “outline”
  2. The OPML file for the navigation links, similarly massaged and hacked, does not validate because attribute “url” is not declared for element “outline”
  3. The OPML file for Dave’s Handsome Radio Blog, linked prominently from the home page of Scripting News with a 97 x 120 image of a coffee mug, does not exist

So as far as I can tell, OPML is XML that isn’t really XML, has (but doesn’t use) a DTD that isn’t really a DTD, and can only be properly defined as “whatever Userland’s tools happen to accept at the moment”.

Here ends my one and only foray into OPML.

§

Respond privately

I am no longer accepting public comments on this post, but you can use this form to contact me privately. (Your message will not be published.)



§

firehosecodemusicplanet

© 2001–8 Mark Pilgrim