fixing namespace DTD validations the output of defaulted namespaces is

* SAX2.c: fixing namespace DTD validations
* result/valid/ns2.xml result/valid/ns.xml: the output of defaulted
  namespaces is slightly different now.
* Makefile.am: report the memory used in Timingtests (as well as time)
Daniel
diff --git a/ChangeLog b/ChangeLog
index 82cb3c0..1712854 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Fri Sep 19 00:01:08 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+	* SAX2.c: fixing namespace DTD validations
+	* result/valid/ns2.xml result/valid/ns.xml: the output of defaulted
+	  namespaces is slightly different now.
+	* Makefile.am: report the memory used in Timingtests (as well as time)
+
 Thu Sep 18 15:29:46 CEST 2003 Daniel Veillard <daniel@veillard.com>
 
 	* Makefile.am: add streaming on memory regression tests, found
diff --git a/Makefile.am b/Makefile.am
index 9951dbb..84f5fe9 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -728,9 +728,13 @@
 	@echo "## then when using the memory interface"
 	@echo "##"
 	-@(xmllint --stream --timing $(srcdir)/dba100000.xml; \
+	   MEM=`cat .memdump | grep "MEMORY ALLOCATED" | awk '{ print $$7}'`;\
+	   if [ "$$MEM" != "" ] ; then echo Using $$MEM bytes ; fi ; \
 	   grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	   exit 0)
 	-@(xmllint --stream --timing --memory $(srcdir)/dba100000.xml; \
+	   MEM=`cat .memdump | grep "MEMORY ALLOCATED" | awk '{ print $$7}'`;\
+	   if [ "$$MEM" != "" ] ; then echo Using $$MEM bytes ; fi ; \
 	   grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	   exit 0)
 
diff --git a/SAX2.c b/SAX2.c
index 82bc4a7..d0c1854 100644
--- a/SAX2.c
+++ b/SAX2.c
@@ -1922,6 +1922,10 @@
 	    return;
 	}
     }
+    if (ctxt->linenumbers) {
+	if (ctxt->input != NULL)
+	    ret->content = (void *) (long) ctxt->input->line;
+    }
 
     if (ctxt->myDoc->children == NULL) {
         xmlAddChild((xmlNodePtr) ctxt->myDoc, (xmlNodePtr) ret);
@@ -1950,12 +1954,13 @@
 	    ctxt->disableSAX = 1;
 	    return;
 	}
+	if ((!ctxt->html) && ctxt->validate && ctxt->wellFormed &&
+	    ctxt->myDoc && ctxt->myDoc->intSubset) {
+	    ctxt->valid &= xmlValidateOneNamespace(&ctxt->vctxt, ctxt->myDoc,
+	                                           ret, prefix, ns, uri);
+	}
     }
     ctxt->nodemem = -1;
-    if (ctxt->linenumbers) {
-	if (ctxt->input != NULL)
-	    ret->content = (void *) (long) ctxt->input->line;
-    }
 
     /*
      * We are parsing a new node.
diff --git a/result/valid/ns.xml b/result/valid/ns.xml
index 0a4e79b..ddade86 100644
--- a/result/valid/ns.xml
+++ b/result/valid/ns.xml
@@ -4,4 +4,4 @@
 <!ATTLIST a:outer xmlns:a CDATA #FIXED "urn:namespace">
 <!ATTLIST a:outer xmlns:b CDATA #FIXED "urn:namespaceb">
 ]>
-<a:outer xmlns:b="urn:namespaceb" xmlns:a="urn:namespace"/>
+<a:outer xmlns:a="urn:namespace" xmlns:b="urn:namespaceb"/>
diff --git a/result/valid/ns2.xml b/result/valid/ns2.xml
index beacf15..a4c30a8 100644
--- a/result/valid/ns2.xml
+++ b/result/valid/ns2.xml
@@ -7,5 +7,5 @@
 <!ATTLIST a:inner attr CDATA #FIXED "yes">
 ]>
 <a:outer xmlns:a="urn:namespace">
-  <a:inner xmlns:a="urn:namespace"/>
+  <a:inner/>
 </a:outer>