W3C home > Mailing lists > Public > public-qt-comments@w3.org > September 2006

[Bug 2441] xqx: character references

From: <bugzilla@wiggum.w3.org>
Date: Fri, 29 Sep 2006 10:02:16 +0000
CC:
To: public-qt-comments@w3.org
Message-Id: <E1GTFCC-0002LD-0X@wiggum.w3.org>

http://www.w3.org/Bugs/Public/show_bug.cgi?id=2441





------- Comment #18 from maxim.orgiyan@oracle.com  2006-09-29 10:02 -------
(In reply to comment #17)

Michael,

Section 3.7.1.3 states:

"Predefined entity references and character references are expanded into their
referenced strings, as described in 3.1.1 Literals."

And section 3.1.1 states:

"Each predefined entity reference is replaced by the character it represents
when the string literal is processed."

It doesn't say anything about how character refs are processed (as
far as I can see), but does give some example of string value with character
refs.

Given these descriptions, one possible algorithm, for example, is to process a
string
by first applying all entity ref replacements, and then all the character
reference replacements on the resulting string. Which is what at least
one processors I tried appears to do.

But yes, I agree with the common-sense interpretation David gives.

> I'm puzzled that you don't find the XQuery spec clear on the subject of how
> predefined entity references are handled. It seems eminently clear to me. 
> 
> There are three places they can occur: in string literals, in attribute
> content, and in element content.
> 
> For string literals, section 3.1.1 spells out the rules and seems entirely
> clear.
> 
> For attribute content, rule 1 says "Attribute value normalization is then
> applied to normalize whitespace and expand character references and predefined
> entity references. " This spells out the rules by reference to the XML
> specification (which describes the interaction of entity expansion and
> whitespace normalization): the rules are complicated, but I think they are
> unambiguous.
> 
> For element content, section 3.7.1.3 rule 1b gives the rules by reference to
> the rules in 3.1.1 for string literals.
> 
> So what exactly is it that you think isn't stated clearly in the XQuery
> specification?
> 
> (You alleged that one implementation did double-expansion of entity references,
> turning &amp;&lt; into a less-than-sign. I think it's quite clear in the XQuery
> spec that processors mustn't do that. If you're in element content, for
> example, no possible reading of section 3.7.1.3 would allow that
> interpretation. In any case, as David Carlisle points out, common sense should
> give you the same answer: if an ampersand written as &amp; were treated in the
> same way as one written as &, why would the specification bother to provide a
> way of escaping the character in the first place?)
> 
> Michael Kay
> 
Received on Friday, 29 September 2006 10:02:36 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 27 March 2012 18:14:44 GMT