Re: XHTML character entity support

>>
>> I can understand, and not. XHTML from the very beginning had rules
>> having to do with named entities, and this has always been a
>> constraint.
>
> The problem is that content didn't do a good job of sticking to the narrow
> path of these rules. I suspect this problem comes from a few unusual
> conditions: (1) XHTML 1.x validators were validating XML processors, and
> thus respected the entities and did not flag them as errors; (2) chameleon
> content served as HTML to some UAs but XHTML to others would work fine in
> HTML mode with entities. I believe this contributed to pressure for browsers
> to support the standard XHTML named entities in XHTML in some form. On the
> other hand, as I said, it's not practical for a browser to be a validating
> XHTML processor.
>
> I think it's a problem with the XHTML specs that they made named entity
> processing so unpredictable. The wisest thing for new content to do is to
> never use named entities other than the five predefined by XML.

Agreed, so lets not propagate the problems.

 In the
> meantime, we have some old content already using named entities in XHTML,
> and it works today in Gecko-based and WebKit-based browsers (and thus, in
> most browsers that support XHTML at all). (I'm not sure what Opera does
> offhand.)
>

>>
>> Regardless, there is no legacy content for HTML5.
>
> HTML5 recommends using no DTD at all for XHTML5 content, or the short HTML5
> <!doctype html> doctype. I agree that special entity processing is not
> necessary (or arguably even desirable) in those cases.

Agree with this.

 However, when an
> HTML5 UA is faced with content using an XHTML1 DTD (and probably a short
> whitelist of other DTDs), it should do the special entity handling. This
> should be defined by a specification. I think that spec could be HTML5,
> since it strives to define compatible processing for older versions of HTML
> and XHTML, such that you can implement HTML5 in an existing browser engine
> without introducing additional mode switches.
>

I think of HTML5 as looking forward, not back.

I've not seen good, technical reasons for this move. In this thread,
I've read that browser companies have enabled named entity handing
because of compatibility bugs, even though the bugs were, technically,
invalid. I've read that since this is what has happened in the past,
seemingly we'll have to support it in the future. And lastly, since
some browsers have implemented this approach, HTML5 should make it all
OK.

Shelley

Received on Sunday, 1 November 2009 03:46:50 UTC