wxXmlNode *lastAsText;
wxString encoding;
wxString version;
- bool bLastCdata;
bool removeWhiteOnlyNodes;
};
if (ctx->lastAsText)
{
- if ( ctx->bLastCdata )
- {
- ctx->lastAsText->SetContent(ctx->lastAsText->GetContent() +
- CharToString(NULL, s, len));
- }
- else
- {
- ctx->lastAsText->SetContent(ctx->lastAsText->GetContent() + str);
- }
+ ctx->lastAsText->SetContent(ctx->lastAsText->GetContent() + str);
}
else
{
{
wxXmlParsingContext *ctx = (wxXmlParsingContext*)userData;
- ctx->bLastCdata = true;
-
ctx->lastAsText = new wxXmlNode(wxXML_CDATA_SECTION_NODE, wxT("cdata"),wxT(""));
ctx->node->AddChild(ctx->lastAsText);
}
-static void EndCdataHnd(void *userData)
-{
- wxXmlParsingContext *ctx = (wxXmlParsingContext*)userData;
-
- ctx->bLastCdata = false;
-}
-
static void CommentHnd(void *userData, const char *data)
{
wxXmlParsingContext *ctx = (wxXmlParsingContext*)userData;
ctx.conv = new wxCSConv(encoding);
#endif
ctx.removeWhiteOnlyNodes = (flags & wxXMLDOC_KEEP_WHITESPACE_NODES) == 0;
- ctx.bLastCdata = false;
XML_SetUserData(parser, (void*)&ctx);
XML_SetElementHandler(parser, StartElementHnd, EndElementHnd);
XML_SetCharacterDataHandler(parser, TextHnd);
- XML_SetCdataSectionHandler(parser, StartCdataHnd, EndCdataHnd );
+ XML_SetStartCdataSectionHandler(parser, StartCdataHnd);
XML_SetCommentHandler(parser, CommentHnd);
XML_SetDefaultHandler(parser, DefaultHnd);
XML_SetUnknownEncodingHandler(parser, UnknownEncodingHnd, NULL);