adding xml:id draft support adding 4 first regression tests Daniel
* SAX2.c include/libxml/tree.h: adding xml:id draft support
* Makefile.am test/xmlid/id_tst* result/xmlid/id_tst*: adding
4 first regression tests
Daniel
diff --git a/SAX2.c b/SAX2.c
index e6e310e..fdc537a 100644
--- a/SAX2.c
+++ b/SAX2.c
@@ -1204,6 +1204,14 @@
xmlAddID(&ctxt->vctxt, ctxt->myDoc, value, ret);
else if (xmlIsRef(ctxt->myDoc, ctxt->node, ret))
xmlAddRef(&ctxt->vctxt, ctxt->myDoc, value, ret);
+ else if (xmlStrEqual(fullname, BAD_CAST "xml:id")) {
+ /*
+ * Add the xml:id value
+ *
+ * Open issue: normalization of the value.
+ */
+ xmlAddID(&ctxt->vctxt, ctxt->myDoc, value, ret);
+ }
}
error:
@@ -1925,7 +1933,18 @@
if (dup == NULL)
dup = xmlStrndup(value, valueend - value);
xmlAddRef(&ctxt->vctxt, ctxt->myDoc, dup, ret);
- }
+ } else if ((prefix == ctxt->str_xml) &&
+ (localname[0] == 'i') && (localname[1] == 'd') &&
+ (localname[2] == 0)) {
+ /*
+ * Add the xml:id value
+ *
+ * Open issue: normalization of the value.
+ */
+ if (dup == NULL)
+ dup = xmlStrndup(value, valueend - value);
+ xmlAddID(&ctxt->vctxt, ctxt->myDoc, dup, ret);
+ }
}
if (dup != NULL)
xmlFree(dup);