W3C home > Mailing lists > Public > public-xml-processing-model-wg@w3.org > April 2011

Re: Browsers and profiles

From: Alex Milowski <alex@milowski.org>
Date: Wed, 20 Apr 2011 13:46:58 -0700
Message-ID: <BANLkTikgdgc1zq7FAc60q6aE-Z1e9GEFiA@mail.gmail.com>
To: public-xml-processing-model-wg@w3.org
On Wed, Apr 20, 2011 at 8:03 AM, Norman Walsh <ndw@nwalsh.com> wrote:
> Perhaps I'm just feeling grumpy today...
>
> It strikes me that the browser case is the important use case for the
> processor profiles document. Tools built on top of real XML parsers
> can almost all be persuaded to do the modest and/or recommended
> profiles. So there's definitely value in having the document for other
> XML specs, but it probably matters less what it actually says for
> those cases because they're mostly flexible.
>
> If we accept that browsers aren't going to change, they're never going
> to do the modest or recommended profiles.
>

It isn't that they aren't going to change but that you have conflict
within the browser.  Traditionally, an XHTML document is defined by a
DTD.  Since browsers "know" that vocabulary, they really don't need to
load the DTD for any reason.  Unfortunately, there are many situations
where you don't know that you have XHTML until you've gotten past the
DOCTYPE declaration.  As such, if you turn off external subset (or any
external entity) fetching you can make XHTML documents processor more
efficiently.  At the same time you've just turned off external subsets
for all XML documents.

It is a conundrum for which I don't have a great solution.
Ingratiating some to be fetched while others not seems like a
dangerous slippery slope.

Similarly, xml:id process becomes a pain in languages like XHTML where
you already have an ID type attribute (i.e. "id") but that becomes
solvable even if the processing is a bit hairy.

I still like the idea of interpreting the standalone declaration
except that the default in the XML recommendation is "no" and I think
we'd want the default to be "yes".

> So we've produced a document that recommends the impossible. That
> seems ... unhelpful.
>
> I have an inflamatory proposal.
>
> Rename the "recommended" profile to "comprehensive"
> Rename the "basic" profile to "recommended".
> Drop the "modest" profile into the bit bucket.

I don't think of this as inflammatory but I do think there is still a
problem.  I think we still want XIncude in the "recommended profile
for browsers".  We don't have a profile that turns off external
subsets and includes XInclude processing.

> So we have minimal, recommended, and comprehensive. Three profiles
> instead of four and better names. The recommended profile doesn't do
> what we might have hoped, but it does what the browsers do (or might
> be persuaded to do) so most folks will think that the browsers are
> doing the recommended thing and that's nice.

I like this direction.

>
> Us old timers who still sometimes use external subsets ought to drag
> our lazy selves into the twenty-first century and just stop.
>

Yes, they should.  I haven't written or used a DTD in a long, long
time but I'm not being forced to do so by some external standard or
organization.

-- 
--Alex Milowski
"The excellence of grammar as a guide is proportional to the paucity of the
inflexions, i.e. to the degree of analysis effected by the language
considered."

Bertrand Russell in a footnote of Principles of Mathematics
Received on Wednesday, 20 April 2011 20:47:26 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 20 April 2011 20:47:26 GMT