OPML Validator case-unfriendliness

Posted in OPML at 6:53 am by cori

Dave, I have a question: The spec says nothing about OPML being case-unfriendly, and the OPML Editor doesn’t treat attributes as case-sensitive 1, but the validator fails a file when the attributes “xmlurl” and “htmlurl” are used, but not the same file when “xmlUrl” and “htmlUrl” are used. Is this an oversight?

1 I say this because I have a right-click menu item that looks like this:

if dialog.ask (“What attribute do you want to modify?”, @myatt)
op.attributes.getOne (myatt, @myval)
if dialog.ask (“Enter the ” + myatt + ” for this headline:”, @myval)
op.attributes.setOne (myatt, myval)

When I use it to check “xmlurl” and “xmlUrl” they both return the same value, which indicates to me that it’s treating both strings as equivalent.



  1. Dave Winer said,

    I think this is easy to resolve — XML is case-sensitive, not a decision I made, but it is, read the spec. The OPML Editor programming environment is not case-sensitive, it would require a lot of work to make it so. The validator is right. And so is the OPML Editor. ;->

  2. I thought that OPML could also provide links to websites. What I mean is, on elliptical you were noting that only 4 of the under the radar presenters had blogs or rss feeds. But couldn’t opml file have links to the sites and white papers? That was my understadning.


  3. cori said,

    Dave, thanks for the comments. I must (shamefully) admit that I’ve never made it through the entire XML spec, but should have heeded your multiple references to it before opining about this. Now that you’ve reminded me, I recall that once I knew that XML is case-sensitive. When I look at the spec I don’t see anything explicit that says that entities or attributes are case-sensitive except the contents of the Letter definition, although since the character cases are differentiated by the codes listed there I’d have to say that means case-sensitivity.

    Interestingly, while hunting this down, I saw this:

    “Names beginning with the string “xml”, or with any string which would match ((‘X’|’x’) (‘M’|’m’) (‘L’|’l’)), are reserved for standardization in this or future versions of this specification.” (link)

    Would OPML’s “xmlUrl” conflict with this?

    In any case, right you are; easy to solve. Just a matter of Read-The-Frelling-Spec 😉

  4. cori said,


    You’re absolutely right, I could have linked to their sites (or the pages that linked to the white papers and what-not) in the OPML file. My initial hope, though, was to provide a dynamic reading list, along the lines of Dave’s concept.

    Hope that clarifies my frustration.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: