Don Hopkins wants two things: 1. I should define flatdown in the spec and 2. It should be possible to include elements of OPML 2.0 in other XML documents.
I may attempt both of these items, but I can’t do it quickly. An informal definition of flatdown could be done in a few minutes. A rigorous one might take a lot longer (which is why I didn’t try to define it in the spec in the first place). It appears in the definition of the expansionState element, which is an element specifically for people who are implementing outliners, and those people surely know what flatdown means (informally, it means moving to the next node down from where you are, regardless of structure). But even an implementer of an outliner could ignore expansionState and all that would happen is that the user would have to re-expand the outline as he or she likes it. It’s a convenience for the user, basically. Certainly not crucial to anyone’s implementation of OPML.
Item #2 is something I definitely want to do, because I want to use OPML 2.0 elements in an RSS 2.0 feed, in fact, I already am doing that in the feeds for the TwitterGram site. For example:
You’ll notice that each item has an ownerId element, in the opml2 namespace, which is declared at the top of the feed to point to the OPML 2.0 spec.
I decided to approach it this way to avert a flamewar or Pilgrimish rants that there are 18 different versions of OPML. The worst that could happen here is that the feed for the TwitterGram site has an error, and so far, no one has reported this particular difficulty (Harold Gilchrist did work with me on another unrelated problem).
I’ll write some more about this use of OPML 2.0 as a namespace in a bit.
In 1997 I wrote about Just-in-Time Search Engines and how important they would be. Back then I was thinking about overnight indexing. Now we’ve got instant indexing. Knock that one off the to-do list, it’s done.