[whatwg] [WA1] The profile Attribute
Ian Hickson
ian at hixie.ch
Sun Apr 17 03:00:47 PDT 2005
On Sun, 17 Apr 2005, Lachlan Hunt wrote:
>
> 1. There are no reasons there to avoid multiple profiles all together,
> only reasons to avoid profiles with conflicting definitions.
Imagine you use publicly available profiles A and B.
A has definitions "foo" and "bar".
B has definitions "baz".
You use foo, bar, and baz extensively in your document.
Two months later, the author of profile A updates his profile to include
the definition "baz", meaning something completely different to the
definition from profile B.
Your document has now radically changed meaning, yet you didn't use
profiles that had clashing meanings when you wrote your document. The only
way I can see to avoid this is to use only one profile, since then you
can't ever get clashes.
> 2. Forcing a UA to ignore all profiles occuring after one they do not
> understand places an unnecessary burden on the author to specify
> profiles in the order in which they are most supported by the UAs.
Imagine you use publicly available profiles A and B.
A has definitions "foo" and "bar".
B has definitions "foo" and "baz".
The definitions of "foo" in the two profiles is very different, but
that's ok, because you specify that you are using profiles A and B and so
if you use "foo" then it is the meaning from "A" and you clearly aren't
saying the "foo" from B.
You use foo, bar, and baz extensively in your document.
Someone uses a browser that supports only profile B. Now your document
will be rendered or processed with completely different semantics, because
the UA thinks that by "foo" you mean B's "foo".
Your document has now radically changed meaning, yet your document was
unambiguous when you wrote it. The only way I can see to avoid this is to
tell UAs to ignore any profiles after one that they couldn't understand,
since it stops them from assigning meaning incorrectly.
> 3. That also forces unnecessary restrictions on which profiles a UA may
> support and process. For example:
>
> * User Agent A implements XFN
> * User Agent B implements RelLicence
> * A document uses both XFN and RelLicence, and specifies XFN first
> in the profile attribute.
>
> In that scenario, user agent B unfairly loses out on being able to
> apply the semantics of the RelLicence profile. Considering that UAs
> A and B are likely to serve different purposes There may be little
> reason for one to implement the other profile, for anything other
> than as work around for this specification.
>
> This also defeats the whole purpose of allowing multiple profiles
That's a fair point, but implementing XFN for user agent B might be simply
a matter of dereferencing the profile URI, downloading the XMDP
description (or whatever we end up specifying should be at the end of
profile URIs -- something will eventually be specified) and ignoring the
values from that profile.
So I don't think that's a blocker problem.
> 4. The Note about a profiles defintion changing over time, somehow only
> affecting documents with multiple profiles makes no sense. If a
> document uses any profile and its definition changes, then the
> semantics of the document are going to change too. It is certainly
> not a reason to avoid multiple profiles.
Changed "changes" to "introduces new definitions", which is what I meant.
A profile should never drop values it previously defined, and this will be
mentioned in the relevant spec when that gets defined.
> I recommend updating the spec to say the following points:
> * If two profiles define the same name, then the semantic is given by
> the first known URI specified in the profile attribute.
That implies that the semantics of a document depend on the UA that
prociess it, which is clearly silly: a document has semantics even in the
absence of any UA. (It might not be much use, but it has defined
semantics!)
> * UAs may ignore unknown profiles and continue to process any subsequent
> profiles.
For the reasons given above, I think this would be unwise.
> * Authors should avoid multiple profiles with conflicting defintions,
> because UAs may apply differing semantics, depending on the profiles
> they do and do not know.
The author can't always know when the profiles he's using will end up with
clashes in the future.
> Remove the note from the end of the section entirely (or rewrite it)
> because the reason given does not match the recommendation to avoid
> multiple profiles, which is confusing.
Updated the note.
Cheers,
--
Ian Hickson U+1047E )\._.,--....,'``. fL
http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,.
Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.'
More information about the whatwg
mailing list