Great, many thanks for the reply, and for the location of the information in 
the XML docs, that's very helpful. Unfortunately, it seems that the NSXML 
classes don't fix the '>' in the ']]>' case either, though:

NSXMLElement*element = [[[NSXMLElementalloc] 
initWithName:@"Test"stringValue:@"< & > ]]>"] autorelease];
NSLog (@"%@", element);

Output:

<Test>&lt; &amp; > ]]></Test>

So presumably that means that, given that the docs say &gt; may be used, I am 
going to need to fix this anyway. (Even though it's unlikely the "]]>" 
combination will come up, I can't rule it out as this is user-generated data).

Many thanks again and all the best,
Keith


----- Original Message ----
From: glenn andreas <gandr...@mac.com>
To: Keith Blount <keithblo...@yahoo.com>
Cc: "cocoa-dev@lists.apple.com" <cocoa-dev@lists.apple.com>
Sent: Tue, February 9, 2010 8:52:40 PM
Subject: Re: NSXML and >

The XML spec does not require '>' to be escaped as '&gt;' (except in the case 
of ']]>' when that doesn't mark the end of a cdata section).  Only '&' and '<' 
must be escaped - see section 2.4 of XML 1.0 spec.


Sent from my iPhone

On Feb 9, 2010, at 2:19 PM, Keith Blount <keithblo...@yahoo.com> wrote:

> Hello,
> 
> I'm using the NSXML classes to write out various strings, and it seems that 
> these classes convert "<" to "&lt;" but not ">" to "&gt;", which I find odd. 
> For instance, consider the following code snippet:
> 
> NSXMLElement*element = [[[NSXMLElementalloc] 
> initWithName:@"Test"stringValue:@"< & >"] autorelease];
> NSLog (@"%@", element);
> 
> The output is:
> 
> <Test>&lt; &amp; ></Test>
> 
> Is this correct, or is this a bug? Or am I missing something? Do I therefore 
> need to replace all occurrences of ">" with "&gt;" myself to generate better 
> XML?
> 



      
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to