xmllite: Fix node type for whitespace text nodes in Content.
This commit is contained in:
parent
249b45786f
commit
ece36f17d0
|
@ -2205,7 +2205,7 @@ static HRESULT reader_parse_chardata(xmlreader *reader)
|
||||||
ptr = start = reader_get_cur(reader);
|
ptr = start = reader_get_cur(reader);
|
||||||
/* There's no text */
|
/* There's no text */
|
||||||
if (!*ptr || *ptr == '<') return S_OK;
|
if (!*ptr || *ptr == '<') return S_OK;
|
||||||
reader->nodetype = XmlNodeType_Text;
|
reader->nodetype = is_wchar_space(*ptr) ? XmlNodeType_Whitespace : XmlNodeType_Text;
|
||||||
reader->resume[XmlReadResume_Body] = start;
|
reader->resume[XmlReadResume_Body] = start;
|
||||||
reader->resumestate = XmlReadResumeState_CharData;
|
reader->resumestate = XmlReadResumeState_CharData;
|
||||||
reader_set_strvalue(reader, StringValue_LocalName, &strval_empty);
|
reader_set_strvalue(reader, StringValue_LocalName, &strval_empty);
|
||||||
|
@ -2232,6 +2232,9 @@ static HRESULT reader_parse_chardata(xmlreader *reader)
|
||||||
}
|
}
|
||||||
|
|
||||||
reader_skipn(reader, 1);
|
reader_skipn(reader, 1);
|
||||||
|
|
||||||
|
/* this covers a case when text has leading whitespace chars */
|
||||||
|
if (!is_wchar_space(*ptr)) reader->nodetype = XmlNodeType_Text;
|
||||||
ptr++;
|
ptr++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -943,11 +943,13 @@ static const char misc_test_xml[] =
|
||||||
" \t \r \n"
|
" \t \r \n"
|
||||||
"<!-- comment4 -->"
|
"<!-- comment4 -->"
|
||||||
"<a>"
|
"<a>"
|
||||||
|
"\r\n\t"
|
||||||
"<b/>"
|
"<b/>"
|
||||||
"text"
|
"text"
|
||||||
"<!-- comment -->"
|
"<!-- comment -->"
|
||||||
"text2"
|
"text2"
|
||||||
"<?pi pibody ?>"
|
"<?pi pibody ?>"
|
||||||
|
"\r\n"
|
||||||
"</a>"
|
"</a>"
|
||||||
;
|
;
|
||||||
|
|
||||||
|
@ -961,11 +963,13 @@ static struct nodes_test misc_test = {
|
||||||
XmlNodeType_Whitespace,
|
XmlNodeType_Whitespace,
|
||||||
XmlNodeType_Comment,
|
XmlNodeType_Comment,
|
||||||
XmlNodeType_Element,
|
XmlNodeType_Element,
|
||||||
|
XmlNodeType_Whitespace,
|
||||||
XmlNodeType_Element,
|
XmlNodeType_Element,
|
||||||
XmlNodeType_Text,
|
XmlNodeType_Text,
|
||||||
XmlNodeType_Comment,
|
XmlNodeType_Comment,
|
||||||
XmlNodeType_Text,
|
XmlNodeType_Text,
|
||||||
XmlNodeType_ProcessingInstruction,
|
XmlNodeType_ProcessingInstruction,
|
||||||
|
XmlNodeType_Whitespace,
|
||||||
XmlNodeType_EndElement,
|
XmlNodeType_EndElement,
|
||||||
XmlNodeType_None
|
XmlNodeType_None
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue