Changes to cs:info

There are some changes to the metadata part of the schema I’d like to
propose. They’re mostly things that have been lifted from the Atom Format (
http://tools.ietf.org/html/rfc4287):

  • cs:source (http://tools.ietf.org/html/rfc4287#section-4.2.11): This
    currently isn’t used by any style. I’m not sure if cs:source is better
    suited to indicate the URI of independent styles (currently cs:link with
    just a “href” attribute) and the URI of the parent style for dependent
    styles (currently cs:link with a “href” and rel=“source” attribute). But
    there seems to be overlap, so one of the two should probably be scrapped.
  • cs:link: All the independent styles in the Zotero style repository now use
    cs:link with just a “href” attribute to indicate the URI of the style. I
    would find it clearer if in this case the rel=“source” attribute/value would
    be used/required.
  • cs:link: cs:link has quite a few attributes which seem a bit useless to
    me (“type”, “hreflang”, “title” and “length”). They’re not used in any
    styles, and I think it’s worthwhile to remove them to keep the schema free
    of cruft. The “homepage” value of the “rel” attribute can probably go as
    well (you can always use another cs:link with rel=“documentation”). I also
    think the schema-comment about rel-expansion can be removed (or is it likely
    that CSL styles will be transformed to Atom feeds in the future?).
  • cs:category: currently the “term” attribute of cs:category is used to
    indicate both the citation-format and the field(s) in which the style is
    used. My suggestion would be to remove the “term” attribute and instead use
    the “field” and “citation-format” attributes.

Rintze

There are some changes to the metadata part of the schema I’d like to
propose. They’re mostly things that have been lifted from the Atom Format
(RFC 4287 - The Atom Syndication Format):

  • cs:source (RFC 4287 - The Atom Syndication Format): This
    currently isn’t used by any style. I’m not sure if cs:source is better
    suited to indicate the URI of independent styles (currently cs:link with
    just a “href” attribute) and the URI of the parent style for dependent
    styles (currently cs:link with a “href” and rel=“source” attribute). But
    there seems to be overlap, so one of the two should probably be scrapped.
  • cs:link: All the independent styles in the Zotero style repository now use
    cs:link with just a “href” attribute to indicate the URI of the style. I
    would find it clearer if in this case the rel=“source” attribute/value would
    be used/required.

Well, I believe our current practice is consistent with the Atom spec.
If we want to diverge from that spec (?), we probably ought to do so
obviously.

  • cs:link: cs:link has quite a few attributes which seem a bit useless to
    me (“type”, “hreflang”, “title” and “length”). They’re not used in any
    styles, and I think it’s worthwhile to remove them to keep the schema free
    of cruft. The “homepage” value of the “rel” attribute can probably go as
    well (you can always use another cs:link with rel=“documentation”). I also
    think the schema-comment about rel-expansion can be removed (or is it likely
    that CSL styles will be transformed to Atom feeds in the future?).

I agree with the above in general. As for the last question, yes, it’s
likely (ish).

  • cs:category: currently the “term” attribute of cs:category is used to
    indicate both the citation-format and the field(s) in which the style is
    used. My suggestion would be to remove the “term” attribute and instead use
    the “field” and “citation-format” attributes.

OK.

Bruce

I’d say we already deviate from Atom (in a not so obvious way). According to
the Atom format (http://tools.ietf.org/html/rfc4287#section-4.2.7):
“If the ‘rel’ attribute is not present, the link element MUST be interpreted
as if the link relation type is
’alternate’.”, which "signifies that the IRI in the value of the href
attribute identifies an alternate version of the resource described by the
containing element."
But CSL doesn’t offer the “alternate” value (which also doesn’t seem
appropriate here), nor does it explain what the default value of “rel” is.

If we’d want to adhere to Atom as much as possible, I’d suggest:
defaulting rel to “self” (and introducing “self” as a possible value), which
according to Atom:
"signifies that the IRI in the value of the href attribute identifies a
resource equivalent to the containing element."
and renaming “source” to “related”, which, again according to Atom:
“signifies that the IRI in the value of the href attribute identifies a
resource related to the resource described by the containing element.”

Rintze

I don’t think we need to use Atom unless it increases clarity, and
rel=“related” doesn’t really do that. rel=“self” does, so I think
switching to that makes sense.

I might have been the one to name rel=“source”, but we might be able to
do better if people think it’s not clear. It does sound a bit like
rel=“documentation”.

I’m not sure either if cs:source is better than rel=“source”.

Well, my preference would be to drop cs:source. Maybe we can use rel="self"
and rel=“independent-parent”?.

Rintze

Uploaded the patch with my proposed changes:

http://groups.google.com/group/zotero-dev/web/cs-info.patch

Rintze

I’ll try to get to this over the next couple of days.

Bruce

I’ve committed the patch, with some other minor changes.

Bruce