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

Reply via email to