[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Reviving the features draft?
At 07:38 PM 2008-04-29, Aristotle Pagaltzis wrote:
I would cast this as
<collection href="...">
<a:title>foo</a:title>
<accept>...</accept>
<a:category scheme="http://example.org/feature" term="http://.../a" />
<a:category scheme="http://example.org/feature" term="http://.../b" />
<e:f />
</collection>
Then you can look for categories of collections in a certain
scheme if you want to enumerate the features of a collection, but
you can also express different classes of collection properties
by associating each class with a scheme.
</lurk>
Changing the scheme URI values ...
<collection href="...">
<a:title>foo</a:title>
<accept>...</accept>
<a:category scheme="http://example.org/scheme1" term="http://.../a" />
<a:category scheme="http://example.org/scheme2" term="http://.../b" />
<e:f />
</collection>
How would I know that scheme1 is a scheme about "features", but
scheme2 is a scheme about some other aspect of the collection?
There could be a registry (IANA?) of feature schemes.
This sounds somewhat like the XMPP world
http://www.xmpp.org/registrar/disco-features.html
http://www.xmpp.org/registrar/disco-categories.html
http://www.xmpp.org/extensions/xep-0030.html
RFC4287 allows a:category to have atomCommonAttributes, which
includes undefinedAttribute*.
An extension attribute can be added to the a:category to flag it as a
feature, e.g.,
<collection href="...">
<a:title>foo</a:title>
<accept>...</accept>
<a:category scheme="http://example.org/scheme1"
s:type="feature" term="http://.../a" />
<a:category scheme="http://example.org/scheme2" term="http://.../b" />
<e:f />
</collection>
(Then you need a registry of scheme types (s:type) , as opposed to a
registry of schemes).
Looking at RFC 5023 section 7, there does not appear to be a way to
categorize a category document.
To avoid the need for a registry, I was thinking that if I
dereference the @scheme IRI, I could get a category document, then I
could look inside it to see what type of category document it is (is
it a category document that defines categories of Atom "features"?).
Assuming a way categorize a category document, an application could
keep a cache of scheme IRI's that it has dereferenced and the type of
scheme. Then it could look in a collection at each
a:category/@scheme and compare it to the IRI in its cache of
schemes. If it is in the cache and its type is "feature", then add
it to the list of features to present to the user.
<lurk>...
Paul