On Feb 12, 2015, at 4:37 PM, Brian Burkhalter <brian.burkhal...@oracle.com> 
wrote:

> Hi Paul,
> 
> On Feb 12, 2015, at 4:37 AM, Paul Sandoz <paul.san...@oracle.com> wrote:
> 
>> What do existing XML APIs do?
> 
> This is a morass and I hope that someone more apt to know it well would 
> comment. The U+0000 null control character is always illegal though I do know 
> that.

Yes. IIRC XML 1.1 basically allows any character except U+0000.


> 
>> My guess from looking at your webrev APIs such as DOM allow such invalid 
>> characters when writing and reading? If so that would seem to be more of a 
>> fundamental issue with those APIs and not specifically with preferences.
> 
> I tend to agree where the DOM does allow the characters: they should be 
> handled.
> 
>> I think there should be an error if a key or value contains a the U+0000 
>> character when writing out the set of property entries to XML, otherwise it 
>> just propagates the error to who or what is consuming that XML file.
> 
> The problem is that on OSX and Windows prefs are not stored to XML

What are they stored in? name/value pairs?


> whereas on Unix they are.

Is that a specification requirement?


> That would make it an error to add such a value to the prefs on some 
> platforms but not on others.
> 

Yes, for an interoperable format potentially read by other tools having U+0000 
is a really bad idea.

My inclination is if properties are written out to a text file then it should 
fail if a key/value contains U+0000 (Binary data should be base64 encoded in 
such cases.) Replacing just subtlety hides or defers the issue.

Paul.

Reply via email to