Meg Hourihan writes:
... some of the problems we've had in the weblog community around formats like RSS and OPML might stem from the fact that we use them in manners for which they weren't designed.
OPML was designed from the onset to be extended through attributes: Anyone can add one or more new attributes to the outline element, as long as they give the type attribute a unique value that describes the additions.
The link to the DTD in the specification is a bit confusing, because using it would cause OPML to be declared invalid if it includes any new attributes. (I've been meaning to suggest some improvements to UserLand -- the spec also needs to be updated to cover OPML 1.1.)
You can make a compelling argument that this attribute-based extensibility makes OPML an XML-inspired format rather than a full XML dialect, which creates some challenges for developers, as I've discovered puttering around on OPML Link Publisher. I think this issue was part of the motivation behind Outline Markup Language.