I have a few thoughts bouncing around my head regarding the next rev
of the OPML spec.
[1] One of the things that's quite fun about implementing an OPML
reader/writer stems from the openness of the spec regarding <outline>
attributes:
"There are no documented limits to the number of
attributes an <outline> element can have, or the
number of <outline> elements it can contain."
This feeds innovation.
I'd like to have the 1.1 spec nail down a similar freedom as regards
sub-elements of <head>.
For example, the beginning of the section of the spec titled "What is
a <head> ?" could be tweaked along these lines:
"A <head> contains zero or more optional
elements, described below.
A <head> can also contain any number of other elements."
[2] To help OPML implementers stay in sync, reinforce one another's
innovations, and not step on one another's toes, I'd like to do two
things.
[a]: Add a <customizer> element to the set of spec'd optional <head>
elements, along these lines:
"<customizer> is an URL string, pointing to a
resource that documents <outline> attributes
andor <head> elements used in this OPML that
are not specified in the OPML specification."
An example of such an element might be:
<customizer>http://JavaOutlineEditor.org/Our_OPML
__Outline_Attributes</customizer>
[b] Establish a registry, preferably on opml.org, that would list, in
alfa order, <outline> attributes and <head> elements that are being
used by OPML implementers. Each entry would have a link to the docs
for that attribute or element.
Thus, an implementer who wanted to support any members of the set of
implemented <outline> attributes could easily find the necessary
info. And an implementer who wanted to add a new <outline> attribute
could see if that name was available or was already taken.
I think we could automate the maintenance of such a registry pretty
easily. If not, I'd volunteer to maintain it.
[3] I'd like to be able, in the <head> element of an OPML, to specify
the global default state of any <outline> attribute. To do that, one
could add a <default> element to the set of spec'd optional <head>
elements, along these lines:
"<default> contains one or more
<outline> attribute-value pairs that nodes default to."
An example of such a <default> element might be:
<default>isComment="true"</default>
Thoughts on these thoughts ???
stan, opml fan