Mallard copyright years

Mallard has not yet been declared 1.0, so I can make
backwards-incompatible changes.  But there's been
enough uptake now that I'd like to discuss changes
on the list.

I've been changing the pages for the copyright and
credit elements, specifically to put the definitions
of name and email on separate pages and to allow them
to contain external-namespace attributes.  This only
adds flexibility, and isn't backwards incompatible.

In doing so, however, I decided I don't really like
the year element for copyrights.  It's only used by
copyrights, so making it its own element feels odd.
I'd prefer to make it an attribute instead, possibly
calling it years instead of year.

I'm generally cautious of making display information
an attribute, and this is displayed, at least insofar
as copyrights are displayed.  But the cite element
uses an attribute for the date, which isn't all that

There are three basic reasons *not* to make something
an attribute:

1) You want to use inline markup.  This isn't just
about marking up an application name.  Inline markup
is essential for certain kinds of information, like
MathML or Ruby.  (We don't support either yet, but
we shouldn't lock ourselves out with bad design.)

2) Whitespace is significant.  In XML, whitespace is
normalized in attribute values.  If having a newline
turned into a space isn't OK, don't use an attribute.

3) It's translatable content.  This is a gray area.
Many translation tools have difficulty translating
attribute values.  Even if it's possible, it can
cause message chunking to be courser than it would
otherwise be.  And even if there are no such issues,
you need to re-evaluate (1) and (2) in this light.
Ruby is again an obvious example.

For copyright years, I don't think any of these are
significant.  I think we always want to write years
in the Gregorian format, to be consistent with how
we write dates.  And for sequences and ranges, I
believe we always write them as "2002, 2004" and

I can make the stylesheets compatible with the year
element to ease the transition, but I want to remove
it from the specification.  We shouldn't carry cruft
into a 1.0.

Does anybody foresee problems with using an attribute
for this?  I'd particularly like to hear from any
translators who've tinkered with Mallard.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]