mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-03-19 14:50:07 +03:00
xmlTextReaderReadOuterXml should handle DTD
* xmlreader.c: fix description of xmlTextReaderReadOuterXml and support DTD
This commit is contained in:
parent
bdf24b9f9b
commit
5b9dde3eed
12
xmlreader.c
12
xmlreader.c
@ -1709,9 +1709,9 @@ xmlTextReaderReadInnerXml(xmlTextReaderPtr reader ATTRIBUTE_UNUSED)
|
||||
*
|
||||
* Reads the contents of the current node, including child nodes and markup.
|
||||
*
|
||||
* Returns a string containing the XML content, or NULL if the current node
|
||||
* is neither an element nor attribute, or has no child nodes. The
|
||||
* string must be deallocated by the caller.
|
||||
* Returns a string containing the node and any XML content, or NULL if the
|
||||
* current node cannot be serialized. The string must be deallocated
|
||||
* by the caller.
|
||||
*/
|
||||
xmlChar *
|
||||
xmlTextReaderReadOuterXml(xmlTextReaderPtr reader ATTRIBUTE_UNUSED)
|
||||
@ -1726,7 +1726,11 @@ xmlTextReaderReadOuterXml(xmlTextReaderPtr reader ATTRIBUTE_UNUSED)
|
||||
if (xmlTextReaderExpand(reader) == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
node = xmlDocCopyNode(node, doc, 1);
|
||||
if (node->type == XML_DTD_NODE) {
|
||||
node = (xmlNodePtr) xmlCopyDtd((xmlDtdPtr) node);
|
||||
} else {
|
||||
node = xmlDocCopyNode(node, doc, 1);
|
||||
}
|
||||
buff = xmlBufferCreate();
|
||||
if (xmlNodeDump(buff, doc, node, 0, 0) == -1) {
|
||||
xmlFreeNode(node);
|
||||
|
Loading…
x
Reference in New Issue
Block a user