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 <[email protected]>
To: Keith Blount <[email protected]>
Cc: "[email protected]" <[email protected]>
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 <[email protected]> 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 ([email protected])

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 [email protected]

Reply via email to