This is primarily a C++ question but I guess could apply to Java also. I'm trying to read a document into C++ SDO that contains a CDATA section. The corresponding CDATA doesn't make its way into the resulting SDO. I put the C++ SDO implementation in the debugger and found the reason why:
sax2parser.cpp void sdo_cdataBlock(void *ctx, const xmlChar *value, int len) { } So the callback exists, gets called with the correct data during the parse, i.e. LibXML2 is doing the right thing, but the callback is ignored. Is there a good reason for this? I did a quick search of the C++ and Java specs and they don't appear to discuss CDATA specifically. Can someone comment on whether the Java implementation handles CDATA successfully? Logically, from an SDO point of view, there is probably no need to treat CDATA specially as the SDO model dictates precisely the difference between data and structure. We may find that to make the XML DAS function work we have to know that a property potentially contains markup but I'd have to look closely at how the C++ SDO implementation of the XML DAS function streams out SDOs to XML when requested to do so. If CDATA hasn't been omitted for a good reason I'll come up with a proposal for C++ SDO. Regards Simon