summaryrefslogtreecommitdiff
path: root/xmlreader.c
diff options
context:
space:
mode:
Diffstat (limited to 'xmlreader.c')
-rw-r--r--xmlreader.c39
1 files changed, 38 insertions, 1 deletions
diff --git a/xmlreader.c b/xmlreader.c
index a5aba32..b467c1c 100644
--- a/xmlreader.c
+++ b/xmlreader.c
@@ -3215,7 +3215,7 @@ xmlTextReaderHasAttributes(xmlTextReaderPtr reader) {
node = reader->node;
if ((node->type == XML_ELEMENT_NODE) &&
- (node->properties != NULL))
+ ((node->properties != NULL) || (node->nsDef != NULL)))
return(1);
/* TODO: handle the xmlDecl */
return(0);
@@ -3569,6 +3569,43 @@ xmlTextReaderGetParserProp(xmlTextReaderPtr reader, int prop) {
return(-1);
}
+
+/**
+ * xmlTextReaderGetParserLineNumber:
+ * @reader: the user data (XML reader context)
+ *
+ * Provide the line number of the current parsing point.
+ *
+ * Returns an int or 0 if not available
+ */
+int
+xmlTextReaderGetParserLineNumber(xmlTextReaderPtr reader)
+{
+ if ((reader == NULL) || (reader->ctxt == NULL) ||
+ (reader->ctxt->input == NULL)) {
+ return (0);
+ }
+ return (reader->ctxt->input->line);
+}
+
+/**
+ * xmlTextReaderGetParserColumnNumber:
+ * @reader: the user data (XML reader context)
+ *
+ * Provide the column number of the current parsing point.
+ *
+ * Returns an int or 0 if not available
+ */
+int
+xmlTextReaderGetParserColumnNumber(xmlTextReaderPtr reader)
+{
+ if ((reader == NULL) || (reader->ctxt == NULL) ||
+ (reader->ctxt->input == NULL)) {
+ return (0);
+ }
+ return (reader->ctxt->input->col);
+}
+
/**
* xmlTextReaderCurrentNode:
* @reader: the xmlTextReaderPtr used