mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-07-30 22:43:14 +03:00
applying cleanup patch from Bjorn Reese for xmlTextReaderNodeType() and
* xmlreader.c include/libxml/xmlreader.h: applying cleanup patch from Bjorn Reese for xmlTextReaderNodeType() and significant whitespace. There is an enum for node type values now. Daniel
This commit is contained in:
@ -1,3 +1,10 @@
|
|||||||
|
Wed Jul 30 12:29:38 EDT 2003 Daniel Veillard <daniel@veillard.com>
|
||||||
|
|
||||||
|
* xmlreader.c include/libxml/xmlreader.h: applying cleanup
|
||||||
|
patch from Bjorn Reese for xmlTextReaderNodeType() and
|
||||||
|
significant whitespace. There is an enum for node type
|
||||||
|
values now.
|
||||||
|
|
||||||
Wed Jul 30 11:08:21 EDT 2003 Daniel Veillard <daniel@veillard.com>
|
Wed Jul 30 11:08:21 EDT 2003 Daniel Veillard <daniel@veillard.com>
|
||||||
|
|
||||||
* encoding.c: applying patch from Peter Jacobi to added
|
* encoding.c: applying patch from Peter Jacobi to added
|
||||||
|
@ -33,6 +33,27 @@ typedef enum {
|
|||||||
XML_PARSER_SEVERITY_ERROR = 4
|
XML_PARSER_SEVERITY_ERROR = 4
|
||||||
} xmlParserSeverities;
|
} xmlParserSeverities;
|
||||||
|
|
||||||
|
enum {
|
||||||
|
XML_READER_TYPE_NONE = 0,
|
||||||
|
XML_READER_TYPE_ELEMENT = 1,
|
||||||
|
XML_READER_TYPE_ATTRIBUTE = 2,
|
||||||
|
XML_READER_TYPE_TEXT = 3,
|
||||||
|
XML_READER_TYPE_CDATA = 4,
|
||||||
|
XML_READER_TYPE_ENTITY_REFERENCE = 5,
|
||||||
|
XML_READER_TYPE_ENTITY = 6,
|
||||||
|
XML_READER_TYPE_PROCESSING_INSTRUCTION = 7,
|
||||||
|
XML_READER_TYPE_COMMENT = 8,
|
||||||
|
XML_READER_TYPE_DOCUMENT = 9,
|
||||||
|
XML_READER_TYPE_DOCUMENT_TYPE = 10,
|
||||||
|
XML_READER_TYPE_DOCUMENT_FRAGMENT = 11,
|
||||||
|
XML_READER_TYPE_NOTATION = 12,
|
||||||
|
XML_READER_TYPE_WHITESPACE = 13,
|
||||||
|
XML_READER_TYPE_SIGNIFICANT_WHITESPACE = 14,
|
||||||
|
XML_READER_TYPE_END_ELEMENT = 15,
|
||||||
|
XML_READER_TYPE_END_ENTITY = 16,
|
||||||
|
XML_READER_TYPE_XML_DECLARATION = 17
|
||||||
|
};
|
||||||
|
|
||||||
typedef struct _xmlTextReader xmlTextReader;
|
typedef struct _xmlTextReader xmlTextReader;
|
||||||
typedef xmlTextReader *xmlTextReaderPtr;
|
typedef xmlTextReader *xmlTextReaderPtr;
|
||||||
|
|
||||||
|
38
xmlreader.c
38
xmlreader.c
@ -1888,10 +1888,11 @@ xmlTextReaderAttributeCount(xmlTextReaderPtr reader) {
|
|||||||
int
|
int
|
||||||
xmlTextReaderNodeType(xmlTextReaderPtr reader) {
|
xmlTextReaderNodeType(xmlTextReaderPtr reader) {
|
||||||
xmlNodePtr node;
|
xmlNodePtr node;
|
||||||
|
|
||||||
if (reader == NULL)
|
if (reader == NULL)
|
||||||
return(-1);
|
return(-1);
|
||||||
if (reader->node == NULL)
|
if (reader->node == NULL)
|
||||||
return(0);
|
return(XML_READER_TYPE_NONE);
|
||||||
if (reader->curnode != NULL)
|
if (reader->curnode != NULL)
|
||||||
node = reader->curnode;
|
node = reader->curnode;
|
||||||
else
|
else
|
||||||
@ -1900,43 +1901,50 @@ xmlTextReaderNodeType(xmlTextReaderPtr reader) {
|
|||||||
case XML_ELEMENT_NODE:
|
case XML_ELEMENT_NODE:
|
||||||
if ((reader->state == XML_TEXTREADER_END) ||
|
if ((reader->state == XML_TEXTREADER_END) ||
|
||||||
(reader->state == XML_TEXTREADER_BACKTRACK))
|
(reader->state == XML_TEXTREADER_BACKTRACK))
|
||||||
return(15);
|
return(XML_READER_TYPE_END_ELEMENT);
|
||||||
return(1);
|
return(XML_READER_TYPE_ELEMENT);
|
||||||
case XML_NAMESPACE_DECL:
|
case XML_NAMESPACE_DECL:
|
||||||
case XML_ATTRIBUTE_NODE:
|
case XML_ATTRIBUTE_NODE:
|
||||||
return(2);
|
return(XML_READER_TYPE_ATTRIBUTE);
|
||||||
case XML_TEXT_NODE:
|
case XML_TEXT_NODE:
|
||||||
return(3); /* TODO: SignificantWhitespace == 14 Whitespace == 13 */
|
if (xmlIsBlankNode(reader->node)) {
|
||||||
|
if (xmlNodeGetSpacePreserve(reader->node))
|
||||||
|
return(XML_READER_TYPE_SIGNIFICANT_WHITESPACE);
|
||||||
|
else
|
||||||
|
return(XML_READER_TYPE_WHITESPACE);
|
||||||
|
} else {
|
||||||
|
return(XML_READER_TYPE_TEXT);
|
||||||
|
}
|
||||||
case XML_CDATA_SECTION_NODE:
|
case XML_CDATA_SECTION_NODE:
|
||||||
return(4);
|
return(XML_READER_TYPE_CDATA);
|
||||||
case XML_ENTITY_REF_NODE:
|
case XML_ENTITY_REF_NODE:
|
||||||
return(5);
|
return(XML_READER_TYPE_ENTITY_REFERENCE);
|
||||||
case XML_ENTITY_NODE:
|
case XML_ENTITY_NODE:
|
||||||
return(6);
|
return(XML_READER_TYPE_ENTITY);
|
||||||
case XML_PI_NODE:
|
case XML_PI_NODE:
|
||||||
return(7);
|
return(XML_READER_TYPE_PROCESSING_INSTRUCTION);
|
||||||
case XML_COMMENT_NODE:
|
case XML_COMMENT_NODE:
|
||||||
return(8);
|
return(XML_READER_TYPE_COMMENT);
|
||||||
case XML_DOCUMENT_NODE:
|
case XML_DOCUMENT_NODE:
|
||||||
case XML_HTML_DOCUMENT_NODE:
|
case XML_HTML_DOCUMENT_NODE:
|
||||||
#ifdef LIBXML_DOCB_ENABLED
|
#ifdef LIBXML_DOCB_ENABLED
|
||||||
case XML_DOCB_DOCUMENT_NODE:
|
case XML_DOCB_DOCUMENT_NODE:
|
||||||
#endif
|
#endif
|
||||||
return(9);
|
return(XML_READER_TYPE_DOCUMENT);
|
||||||
case XML_DOCUMENT_FRAG_NODE:
|
case XML_DOCUMENT_FRAG_NODE:
|
||||||
return(11);
|
return(XML_READER_TYPE_DOCUMENT_FRAGMENT);
|
||||||
case XML_NOTATION_NODE:
|
case XML_NOTATION_NODE:
|
||||||
return(12);
|
return(XML_READER_TYPE_NOTATION);
|
||||||
case XML_DOCUMENT_TYPE_NODE:
|
case XML_DOCUMENT_TYPE_NODE:
|
||||||
case XML_DTD_NODE:
|
case XML_DTD_NODE:
|
||||||
return(10);
|
return(XML_READER_TYPE_DOCUMENT_TYPE);
|
||||||
|
|
||||||
case XML_ELEMENT_DECL:
|
case XML_ELEMENT_DECL:
|
||||||
case XML_ATTRIBUTE_DECL:
|
case XML_ATTRIBUTE_DECL:
|
||||||
case XML_ENTITY_DECL:
|
case XML_ENTITY_DECL:
|
||||||
case XML_XINCLUDE_START:
|
case XML_XINCLUDE_START:
|
||||||
case XML_XINCLUDE_END:
|
case XML_XINCLUDE_END:
|
||||||
return(0);
|
return(XML_READER_TYPE_NONE);
|
||||||
}
|
}
|
||||||
return(-1);
|
return(-1);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user