First let me start off with, if there is a place for (possible) bug reports to be made other than here in the forums would some kind soul please point me in that direction?
Now onto the problem. I have been trying to get YQL to consume some XML and had issues with the JSON output being "wrong" (i.e. not what I thought it should be). After digging around, the issue quickly boiled down to one of mixing CDATA and non-CDATA (or just multiple CDATA) within the same XML node as outlined below.
The XML output format is fine (it reflects the CDATA, so all the data is available to me) but the JSON output format only gives the "bar" for that "b" node. Whether the bar is wrapped in another CDATA or not appears to make no difference and indeed the number of different pieces (e.g. CDATA, plain text, CDATA, plaintext) result in the same thing: only the last portion being included in the JSON output.
If this is intended behaviour, do let me know. Either way, in the mean time, it looks like <execute> will have to come to the rescue.