John -

I was thinking you were crazy until I read the spec in detail and I was
suprised at what I found.

For those like me who weren't following along well at home, the
specification for "character references" (such as "Ӓ" and "ꯍ")
appears to indicate that "&#x0005" is legal (at least lexically).  On the
other hand it is accompanied by a constraint that restricts the resulting
values to those that would be expected to map to textual characters only:

#x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]

So John is vindicated and I am abashed at my lack of knowledge once again.
;)
On the other hand, I wonder how many parsers would permit ""?

Stuart


----- Original Message -----
From: "Jim Redman" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, March 01, 2002 12:14 AM
Subject: Re: DO NOT REPLY [Bug 6763] - XMLWriter doesn't escape enough
characters


> From a position of complete ignorance, and without reading the spec. can
> someone clarify for me what this means?
>
> The part of the spec quoted here says that you can't used binary chars,
> however "&#0005" seems to meet the requirement of the spec in that it
> matches "the production for Char".

No the spec says that the result of turning the escaped character back to a
Unicode character must match the production Char. This control character
does not match that prduction.

There is an excellent annotated spec here
http://www.xml.com/axml/testaxml.htm

>
> Regardless of whether xmlrpc should be doing the escaping, it seems to me
> that I should be able to send a String that would be invalid XML by
> escaping each character - the resulting string seems to be valid.  This
is
> philosphically the same as sending new line characters as "\\n" in human
> readable strings.
>
> Is this the case or is it required that anything that may have a non-Char
> in it be base64 encoded?

If you want to send control characters (other than /r /n /t - and an XML
parser will mangle the /r and /n) then you need to use Base64 and agree a
Unicode encoding between the end points.

John Wilson
The Wilson Partnership
http://www.wilson.co.uk





Reply via email to