Re: ISSUE-55: Re-enable @profile in HTML5 (draft 2)

Julian Reschke On 09-11-04 16.34:

> Leif wrote:
>> ... What do you mean by "scoping"? Is the fact that HTML 4
>> defines that the first URI of the @profile attribute is the
>> "significant" one an example of scoping? ...
> 
> Maybe.
> 
> I was thinking of cases where a profile only applies to part of
> a document, which could easily happen with syndication.


Hence e.g. <div class=RSS-wrapper profile=http://example.com> ?

>> And in that regard: A complete switch to @rel=profile seems
>> to me to take away the feature that one of the profile URIs
>> is the "significant" one.
> 
> A change to link/@rel=profile would need to define a similar
> thing then.

Manu's draft: [1] "This erratum restores consistency in HTML 4.01, 
explicitly allowing multiple URIs in a single profile attribute."

FIRSTLY: Does it not also eventually restore "consistency" in 
XHTML 1.0? Or does that need another draft?

SECONDLY: Is "erratum" or "extension" of HTML 4 the right wording? 
Executive summary: "extension" is the right wording.

The answer depends on the interpretation of "significant" in "this 
specification only considers the first URI to be significant"[2].

If HTML 4 is taken to allow profile *URIs*, then "significant" is 
best translated as "of consequence" or "mattering".

But if HTML 4 is taken to not allow several URIs, then 
"significant" border on being synonymous with "valid". That the 
DTD forbids more than one URI thus becomes 'not incorrect'.

I say "not incorrect" instead of "correct" because:

One way to come to terms with the fact that the DTD says "URI" and 
not "URIS" is to assume that whitespace inside @profile was meant 
to be more, well, significant than it is has come to be seen as 
inside e.g. the href attribute. While in the latter case, HTML 
Tidy and user agents are right in percent escaping space 
characters, they are not meant to do the same inside @profile. 
This difference should however have been expressed in the DTD.

Björn Höhrmann is thus RIGHT in saying that HTML 4 only allows one 
URI inside @profile, but WRONG when he refuses to fix HTML Tidy so 
that it does not escape whitespace inside profile ... ;-)

HTML 4 could probably kept the prose but still chosen, in the DTD, 
to codify profile as "%URIS;" instead of "%URI;". Such a choice 
would however made the prose stricter than the DTD.  While the DTD 
that we are stuck with could be said to allow less than the prose 
envisions "for future extensions" - as it put it. In a way, HTML 4 
here has different requirements for UAs (which "should consider 
the value to be a list", again, incompatible with white space 
escaping) versus all others. This is a story about how the plan to 
extend the extension mechanism failed ...

Thus, EITHER: If we take HTML 4 to have meant "of consequence", 
then HTML 4 defines a hierarchy of profiles: one significant 
profile versus all the others. Manu's draft should take this in 
when it speaks about @profile (as well as when it it introduces 
the replacement @rel=profile concept). With this interpretation, 
several profile URIs would not be an extension, but a direct 
continuation of what HTML 4 - inconsistently - permits.

OR: If we take HTML 4 to have meant "valid", then, by allowing 
several URIs, we extend @profile - even if we extend it in a way 
that is warranted for in HTML 4 itself. (With this interpretation, 
then the relationship/hierarchy of the different profiles is an 
issue that HTML 4 has not spoken about.)

I think we do more justice to HTML 4 by considering "valid" as the 
correct interpretation.

>> I would like to suggest that @profile is kept fully valid and
>> that it is said to contain the significant profile. The
>> significant profile may (re)define/require additional
>> profiles (see below) as part of its own profile. Thus, if you
>> want to mark the document as "my kind of html", then you
>> should use @profile.
> 
> I personally think it should be fully conforming, too (with the
> proposed errata).
> 
> The current proposal is a compromise.


To restrict @profile to one URI, and device additional profiles to 
link/@rel=profile, is a compromise as well.

It is both a compromise with Ian (to the extent that Manu's 
current draft represents a compromise too) but it is also a 
compromise with those who have emphasized that the DTDs of HTML 4 
and XHTML 1 only permit one URI in the profile attribute. To also 
allow the "several profiles" supporters to take part in the 
compromise, Manu's draft could define several URIs inside @profile 
as "obsolete but conforming".

[1] http://html5.digitalbazaar.com/specs/html5-epb#html-4.01-errata
[2] http://www.w3.org/TR/html401/struct/global#adef-profile
-- 
leif halvard silli

Received on Thursday, 5 November 2009 04:07:48 UTC