Re: [XHTML2] CITELANG, TITLELANG attributes

On Wed, 28 Jul 2004, Anne van Kesteren wrote:

> Let me give an example:
>
>   <p cite="http://example.com/origineel.nl.xh2">
>    This is a translation, since most people who read my site don't speak
>    Dutch.
>   </p>

This example echoes the one at
http://www.w3.org/TR/xhtml2/mod-hyperAttributes.html#adef_hyperAttributes_hreflang
which is fairly illogical, in its attempt to demonstrate the kewl new idea
that any element can be a link. Is the text "The press release in French"
really a paragraph, as the use of <p> markup claims? (The example in the
XHTML 2.0 has the additional problem that the URL
http://www.w3.org/2003/06/semantictour-pressrelease.html
actually refers to negotiated content, so that hreflang="fr" is very
misleading. It depends on the user agent's settings - on the
Accept-Language header that it sends - what the language is.)

(Morever, I think it is usually bad practice to refer to a document in
French using link text in English. If you wish to refer to a French
version specifically, then I would recommend using something like
<div>The press release in French: <cite lang="fr"
href="http://www.w3.org/2003/06/semantictour-pressrelease.html.fr">
Le W3C organise une tournée européenne sur le Web
sémantique</cite>.</div>)

But your example is also different - it uses the obscure cite="..."
attribute, which is defined (in the current XHTML 2.0 draft) as follows:
"The value of this attribute is a URI that designates a source document or
message. This attribute is intended to give further information about the
element's contents (e.g., the source from which a quotation was borrowed,
or the reason text was inserted or deleted). User Agents should provide a
means for the user to access the further information."
Whatever that really means, it's different from a normal link, even after
the complication that makes href="..." apply to virtually anything. Maybe
it's meant to act as a "link of second class", maybe so that it's normally
not indicated as a link but can be followed if you know, by miracle or by
guesswork, that it's a "cite link".

(I'm not sure whether your text "This is a translation - -" was meant to
be taken literally, i.e. whether text like that would be the real content,
or just a description, so that the actual content would be an English
translation of a poem in Dutch.)

> So the source is written in Dutch, that could be an article, or a poem
> and you want to cite a part of that on your site and make it readable
> for non Dutch people. What to do? Translate.

I'm not sure I see how this applies to your case. If you have a document
in English and you wish to include a _quotation_, then you could use
a <blockquote> or <quote> element and there a cite="..." attribute could
have a well-defined meaning, _if_ the meaning will actually be defined in
the XHTML 2.0 specification (instead of the current draft's hopelessly
vague wording). But I don't think we really need that. For a quotation,
you can simply insert a citation, i.e. a reference to the quoted document,
either as text (as in books) or as hypertext (using a link). A citation
hidden in an attribute is rather pointless. If browsers are not expected
to render it by default, we can't really count on it.

Irrespectively of this, I don't think a hreflang or a citelang attribute
is needed much. Your example refers to a document via HTTP, and presumably
to an HTML document; this means that one can use both the Content-Language
header and <html xml:lang="nl"> if desired.

> So the language of the document is EN, the language of the cited
> document is NL.

The latter need not be known when the citing document is processed,
and it may in fact change independently of the citing document. For
example, you might wish to change the declaration of the language from
"nl" to "nl-NL" or "nl-NL-officialese"

> If I want to show that metadata to my visitor, by using
> CSS for instance, I don't want to check the HTTP header and use some
> server-side logic to write it down in my document. I just want an
> attribute to mention the resource language.

You have a point there, but such situations are rare and can be handled
using classes, as authors now have to do (since language selectors are
mostly unsupported in CSS implementations). I think it is rather rare that
you would want to style texts differently depending on the language of the
texts that they refer to (with links or "cite links"), as opposite to
styling them by their own language.

> Like HREFLANG acted in HTML 4.01, purely for metadata.

I don't think HREFLANG ever acted in HTML 4.01 - there's nothing that
browsers are required to do with it, and they mostly don't bother trying
anything with it.

I think HREFLANG and relatives try to address a problem that should not
be created in the first place: if a link text refers to a document in a
language other than the link text itself, we might feel the need for
HREFLANG, but we should realize that the discrepancy should be resolved
rather than documented with semi-cryptic invisible attributes.
In the rare case where a link text should be in a language different from
that of the linked document, the situation should be clarified explicitly,
e.g. by adding "(in French)" after the link text, or maybe "(fr)" when
conciseness is needed and such notations are explained suitably.

-- 
Jukka "Yucca" Korpela, http://www.cs.tut.fi/~jkorpela/

Received on Wednesday, 28 July 2004 04:01:26 UTC