Valid OPML?

I did a little cleanup on the OPML generated by FeedLounge today. The old OPML was basically the result of copying examples found in the wild, so I went through the necessary steps validating the output, reading the specs, and double-checking what I was seeing against NetNewsWire’s output. :)

I fixed most of the issues, but we still have one issue outstanding before the FeedLounge OPML validates. When a node has an attribute other than ‘text’, a ‘type’ attribute is also required. We include the title of the element in both the ‘text’ and ‘title’ attribute for compatibility. The inclusion of the ‘title’ attribute necessitates the inclusion of a ‘type’ attribute as well – according to the OPML Validator.

This is no problem for the subscription elements themselves, as a ‘type’ of ‘rss’ is appropriate here. However, for our tag nodes (nodes that indicate what tags or categories a feed is in) are not representing feeds, and a type of ‘rss’ seems inappropriate here. I tried setting a type of ‘tag’, but got a warning that told me to use only a known type.

So, I’m in a bit of a quandry. I want the OPML to validate, but I also want to maximize compatibility. To validate, it appears that my only choice is to remove the ‘title’ attribute from the tag outline element. To maximize compatibility, I need to leave the ‘title’ attribute in, but cannot make it validate due to the rigidness of the ‘type’ attribute.

For now, I’ve left the ‘title’ attribute in on these nodes, and not set the ‘type’ attribute1. What should I be doing here? What is the :scare: proper :/scare: solution?

  1. Partly because this is also how NNW does it. [back]

This post is part of the project: FeedLounge. View the project timeline for more context on this post.