preparing release 2.5.4 updated and rebuilt the docs removed warnings

* configure.in: preparing release 2.5.4
* doc/*: updated and rebuilt the docs
* relaxng.c: removed warnings
* result/relaxng/*: updated the results
Daniel
diff --git a/ChangeLog b/ChangeLog
index 0f5d34c..74b373d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Mon Feb 24 21:09:19 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+	* configure.in: preparing release 2.5.4
+	* doc/*: updated and rebuilt the docs
+	* relaxng.c: removed warnings
+	* result/relaxng/*: updated the results
+
 Mon Feb 24 20:53:17 CET 2003 Daniel Veillard <daniel@veillard.com>
 
 	* valid.c: fixes a DTD regexp generation problem.
diff --git a/NEWS b/NEWS
index 6ca6788..5c55b8c 100644
--- a/NEWS
+++ b/NEWS
@@ -18,6 +18,20 @@
 
 
 
+2.5.4: Feb 20 2003:
+   - Conformance testing and lot of fixes on Relax NG and XInclude
+    implementation
+   - Implementation of XPointer element() scheme
+   - Bug fixes: XML parser, XInclude entities merge, validity checking on
+    namespaces,
+    2 serialization bugs, node info generation problems, a DTD regexp
+    generation problem.
+  
+   - Portability: windows updates and path canonicalization (Igor)
+   - A few typo fixes (Kjartan Maraas)
+   - Python bindings generator fixes (Stephane Bidoul)
+
+
 2.5.3: Feb 10 2003:
    - RelaxNG and XML Schemas datatypes improvements, and added a first
     version of RelaxNG Python bindings
diff --git a/configure.in b/configure.in
index 2058c82..62c7c34 100644
--- a/configure.in
+++ b/configure.in
@@ -6,7 +6,7 @@
 
 LIBXML_MAJOR_VERSION=2
 LIBXML_MINOR_VERSION=5
-LIBXML_MICRO_VERSION=3
+LIBXML_MICRO_VERSION=4
 LIBXML_VERSION=$LIBXML_MAJOR_VERSION.$LIBXML_MINOR_VERSION.$LIBXML_MICRO_VERSION
 LIBXML_VERSION_INFO=`expr $LIBXML_MAJOR_VERSION + $LIBXML_MINOR_VERSION`:$LIBXML_MICRO_VERSION:$LIBXML_MINOR_VERSION
 
diff --git a/doc/contribs.html b/doc/contribs.html
index ab62833..5c149af 100644
--- a/doc/contribs.html
+++ b/doc/contribs.html
@@ -136,14 +136,10 @@
     Digital Signature</a> <a href="http://www.aleksey.com/xmlsec/">implementations for libxml2</a>
 </li>
   <li>
-<a href="mailto:Steve.Ball@zveno.com">Steve Ball</a>,
-    <a href="http://www.zveno.com/">Zveno</a> and contributors maintain
-    <a href="http://tclxml.sourceforge.net/">tcl bindings for libxml2 and libxslt</a>, as well as 
-    <a href="http://tclxml.sf.net/tkxmllint.html">tkxmllint</a> a GUI for
-    xmllint and
-    <a href="http://tclxml.sf.net/tkxsltproc.html">tkxsltproc</a> a GUI for
-    xsltproc.
-</li>
+<a href="mailto:Steve.Ball@zveno.com">Steve Ball</a>, <a href="http://www.zveno.com/">Zveno</a> and contributors maintain <a href="http://tclxml.sourceforge.net/">tcl bindings for libxml2 and
+    libxslt</a>, as well as <a href="http://tclxml.sf.net/tkxmllint.html">tkxmllint</a> a GUI for
+    xmllint and <a href="http://tclxml.sf.net/tkxsltproc.html">tkxsltproc</a>
+    a GUI for xsltproc.</li>
 </ul>
 <p></p>
 <p><a href="bugs.html">Daniel Veillard</a></p>
diff --git a/doc/index.html b/doc/index.html
index ce96e6c..a9a6df0 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -132,6 +132,8 @@
   <li>Canonical XML Version 1.0: <a href="http://www.w3.org/TR/xml-c14n">http://www.w3.org/TR/xml-c14n</a>
     and the Exclusive XML Canonicalization CR draft <a href="http://www.w3.org/TR/xml-exc-c14n">http://www.w3.org/TR/xml-exc-c14n</a>
 </li>
+  <li>Relax NG Committee Specification 3 December 2001 <a href="http://www.oasis-open.org/committees/relax-ng/spec-20011203.html">http://www.oasis-open.org/committees/relax-ng/spec-20011203.html</a>
+</li>
 </ul>
 <p>In most cases libxml tries to implement the specifications in a relatively
 strictly compliant way. As of release 2.4.16, libxml2 passes all 1800+ tests
@@ -154,8 +156,6 @@
   <li>DocBook SGML v4: libxml2 includes a hackish parser to transition to
   XML</li>
 </ul>
-<p>A first implementation of RelaxNG is available as of libxml2-2.5.2, it
-should cover most of the specification, feedback welcome.</p>
 <p>A partial implementation of XML Schemas is being worked on but it would be
 far too early to make any conformance statement about it at the moment.</p>
 <p>Libxml2 is known to be very portable, the library should build and work
diff --git a/doc/libxml2-api.xml b/doc/libxml2-api.xml
index dd0307a..015046f 100644
--- a/doc/libxml2-api.xml
+++ b/doc/libxml2-api.xml
@@ -1167,6 +1167,7 @@
      <exports symbol='xmlRelaxNG'/>
      <exports symbol='xmlRelaxNGCleanupTypes'/>
      <exports symbol='xmlRelaxNGDump'/>
+     <exports symbol='xmlRelaxNGDumpTree'/>
      <exports symbol='xmlRelaxNGFree'/>
      <exports symbol='xmlRelaxNGFreeParserCtxt'/>
      <exports symbol='xmlRelaxNGFreeValidCtxt'/>
@@ -1666,6 +1667,10 @@
      <exports symbol='xmlUnlinkNode'/>
      <exports symbol='xmlUnsetNsProp'/>
      <exports symbol='xmlUnsetProp'/>
+     <exports symbol='xmlValidateNCName'/>
+     <exports symbol='xmlValidateNMToken'/>
+     <exports symbol='xmlValidateName'/>
+     <exports symbol='xmlValidateQName'/>
     </file>
     <file name='xmlregexp'>
      <exports symbol='xmlRegExecCallbacks'/>
@@ -1836,6 +1841,7 @@
     <file name='uri'>
      <exports symbol='_xmlURI'/>
      <exports symbol='xmlBuildURI'/>
+     <exports symbol='xmlCanonicPath'/>
      <exports symbol='xmlCreateURI'/>
      <exports symbol='xmlFreeURI'/>
      <exports symbol='xmlNormalizeURIPath'/>
@@ -4526,6 +4532,11 @@
       <arg name='node' type='xmlNodePtr' info=''/>
       <arg name='parent' type='xmlNodePtr' info=''/>
     </functype>
+    <function name='xmlCanonicPath' file='uri'>
+      <info>Constructs a canonic path from the specified path.</info>
+      <return type='xmlChar *' info='a new canonic path, or a duplicate of the path parameter if the construction fails. The caller is responsible for freeing the memory occupied by the returned string. If there is insufficient memory available, or the argument is NULL, the function returns NULL.'/>
+      <arg name='path' type='const xmlChar *' info='the resource locator in a filesystem notation'/>
+    </function>
     <function name='xmlCatalogAdd' file='catalog'>
       <info>Add an entry in the catalog, it may overwrite existing but different entries. If called before any other catalog routine, allows to override the default shared catalog put in place by xmlInitializeCatalog();</info>
       <return type='int' info='0 if successful, -1 otherwise'/>
@@ -6779,9 +6790,9 @@
       <arg name='path' type='char *' info='pointer to the path string'/>
     </function>
     <function name='xmlNormalizeWindowsPath' file='xmlIO'>
-      <info>Normalize a Windows path to make an URL from it</info>
-      <return type='xmlChar *' info='a new URI which must be freed by the caller or NULL in case of error'/>
-      <arg name='path' type='const xmlChar *' info='a windows path like &quot;C:/foo/bar&quot;'/>
+      <info>This function is obsolete. Please see xmlURIFromPath in uri.c for a better solution.</info>
+      <return type='xmlChar *' info=''/>
+      <arg name='path' type='const xmlChar *' info=''/>
     </function>
     <function name='xmlOutputBufferClose' file='xmlIO'>
       <info>flushes and close the output I/O channel and free up all the associated resources</info>
@@ -7525,6 +7536,12 @@
       <arg name='output' type='FILE *' info='the file output'/>
       <arg name='schema' type='xmlRelaxNGPtr' info='a schema structure'/>
     </function>
+    <function name='xmlRelaxNGDumpTree' file='relaxng'>
+      <info>Dump the transformed RelaxNG tree.</info>
+      <return type='void'/>
+      <arg name='output' type='FILE *' info='the file output'/>
+      <arg name='schema' type='xmlRelaxNGPtr' info='a schema structure'/>
+    </function>
     <function name='xmlRelaxNGFree' file='relaxng'>
       <info>Deallocate a RelaxNG structure.</info>
       <return type='void'/>
@@ -9221,6 +9238,24 @@
       <arg name='doc' type='xmlDocPtr' info='a document instance'/>
       <arg name='elem' type='xmlElementPtr' info='an element definition'/>
     </function>
+    <function name='xmlValidateNCName' file='tree'>
+      <info>Check that a value conforms to the lexical space of NCName</info>
+      <return type='int' info='0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.'/>
+      <arg name='value' type='const xmlChar *' info='the value to check'/>
+      <arg name='space' type='int' info='allow spaces in front and end of the string'/>
+    </function>
+    <function name='xmlValidateNMToken' file='tree'>
+      <info>Check that a value conforms to the lexical space of NMToken</info>
+      <return type='int' info='0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.'/>
+      <arg name='value' type='const xmlChar *' info='the value to check'/>
+      <arg name='space' type='int' info='allow spaces in front and end of the string'/>
+    </function>
+    <function name='xmlValidateName' file='tree'>
+      <info>Check that a value conforms to the lexical space of Name</info>
+      <return type='int' info='0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.'/>
+      <arg name='value' type='const xmlChar *' info='the value to check'/>
+      <arg name='space' type='int' info='allow spaces in front and end of the string'/>
+    </function>
     <function name='xmlValidateNameValue' file='valid'>
       <info>Validate that the given value match Name production</info>
       <return type='int' info='1 if valid or 0 otherwise'/>
@@ -9304,6 +9339,12 @@
       <arg name='elem' type='xmlNodePtr' info='an element instance'/>
       <arg name='qname' type='const xmlChar *' info='the qualified name as appearing in the serialization'/>
     </function>
+    <function name='xmlValidateQName' file='tree'>
+      <info>Check that a value conforms to the lexical space of QName</info>
+      <return type='int' info='0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.'/>
+      <arg name='value' type='const xmlChar *' info='the value to check'/>
+      <arg name='space' type='int' info='allow spaces in front and end of the string'/>
+    </function>
     <function name='xmlValidateRoot' file='valid'>
       <info>Try to validate a the root element basically it does the following check as described by the XML-1.0 recommendation: - [ VC: Root Element Type ] it doesn&apos;t try to recurse or apply other check to the element</info>
       <return type='int' info='1 if valid or 0 otherwise'/>
diff --git a/doc/news.html b/doc/news.html
index 23de592..3ed114f 100644
--- a/doc/news.html
+++ b/doc/news.html
@@ -105,6 +105,20 @@
   Schemas</a>
 </li>
 </ul>
+<h3>2.5.4: Feb 20 2003</h3>
+<ul>
+<li>Conformance testing and lot of fixes on Relax NG and XInclude
+    implementation</li>
+  <li>Implementation of XPointer element() scheme</li>
+  <li>Bug fixes: XML parser, XInclude entities merge, validity checking on
+    namespaces,
+    <p>2 serialization bugs, node info generation problems, a DTD regexp
+    generation problem.</p>
+  </li>
+  <li>Portability: windows updates and path canonicalization (Igor)</li>
+  <li>A few typo fixes (Kjartan Maraas)</li>
+  <li>Python bindings generator fixes (Stephane Bidoul)</li>
+</ul>
 <h3>2.5.3: Feb 10 2003</h3>
 <ul>
 <li>RelaxNG and XML Schemas datatypes improvements, and added a first
diff --git a/doc/xml.html b/doc/xml.html
index bc2c3b9..20fa463 100644
--- a/doc/xml.html
+++ b/doc/xml.html
@@ -55,6 +55,8 @@
     href="http://www.w3.org/TR/xml-c14n">http://www.w3.org/TR/xml-c14n</a>
     and the Exclusive XML Canonicalization CR draft <a
     href="http://www.w3.org/TR/xml-exc-c14n">http://www.w3.org/TR/xml-exc-c14n</a></li>
+  <li>Relax NG Committee Specification 3 December 2001 <a
+    href="http://www.oasis-open.org/committees/relax-ng/spec-20011203.html">http://www.oasis-open.org/committees/relax-ng/spec-20011203.html</a></li>
 </ul>
 
 <p>In most cases libxml tries to implement the specifications in a relatively
@@ -80,9 +82,6 @@
   XML</li>
 </ul>
 
-<p>A first implementation of RelaxNG is available as of libxml2-2.5.2, it
-should cover most of the specification, feedback welcome.</p>
-
 <p>A partial implementation of XML Schemas is being worked on but it would be
 far too early to make any conformance statement about it at the moment.</p>
 
@@ -611,6 +610,21 @@
   Schemas</a></li>
 </ul>
 
+<h3>2.5.4: Feb 20 2003</h3>
+<ul>
+  <li>Conformance testing and lot of fixes on Relax NG and XInclude
+    implementation</li>
+  <li>Implementation of XPointer element() scheme</li>
+  <li>Bug fixes: XML parser, XInclude entities merge, validity checking on
+    namespaces,
+    <p>2 serialization bugs, node info generation problems, a DTD regexp
+    generation problem.</p>
+  </li>
+  <li>Portability: windows updates and path canonicalization (Igor)</li>
+  <li>A few typo fixes (Kjartan Maraas)</li>
+  <li>Python bindings generator fixes (Stephane Bidoul)</li>
+</ul>
+
 <h3>2.5.3: Feb 10 2003</h3>
 <ul>
   <li>RelaxNG and XML Schemas datatypes improvements, and added a first
@@ -2857,6 +2871,7 @@
 
 
 
+
 } </pre>
   </li>
   <li>And then use it to save the document:
@@ -4017,13 +4032,13 @@
     <a href="http://www.w3.org/Signature/">XML Canonicalization and XML
     Digital Signature</a> <a
     href="http://www.aleksey.com/xmlsec/">implementations for libxml2</a></li>
-  <li><a href="mailto:Steve.Ball@zveno.com">Steve Ball</a>,
-    <a href="http://www.zveno.com/">Zveno</a> and contributors maintain
-    <a href="http://tclxml.sourceforge.net/">tcl bindings for libxml2 and libxslt</a>, as well as 
-    <a href="http://tclxml.sf.net/tkxmllint.html">tkxmllint</a> a GUI for
-    xmllint and
-    <a href="http://tclxml.sf.net/tkxsltproc.html">tkxsltproc</a> a GUI for
-    xsltproc.
+  <li><a href="mailto:Steve.Ball@zveno.com">Steve Ball</a>, <a
+    href="http://www.zveno.com/">Zveno</a> and contributors maintain <a
+    href="http://tclxml.sourceforge.net/">tcl bindings for libxml2 and
+    libxslt</a>, as well as <a
+    href="http://tclxml.sf.net/tkxmllint.html">tkxmllint</a> a GUI for
+    xmllint and <a href="http://tclxml.sf.net/tkxsltproc.html">tkxsltproc</a>
+    a GUI for xsltproc.</li>
 </ul>
 
 <p></p>
diff --git a/doc/xmlio.html b/doc/xmlio.html
index 3353709..a2b594c 100644
--- a/doc/xmlio.html
+++ b/doc/xmlio.html
@@ -265,6 +265,7 @@
 
 
 
+
 } </pre>
   </li>
   <li>And then use it to save the document:
diff --git a/python/libxml2class.txt b/python/libxml2class.txt
index 8f1e863..02ec3a8 100644
--- a/python/libxml2class.txt
+++ b/python/libxml2class.txt
@@ -140,12 +140,17 @@
 newText()
 newTextLen()
 setCompressMode()
+validateNCName()
+validateNMToken()
+validateName()
+validateQName()
 
 # functions from module uri
 URIEscape()
 URIEscapeStr()
 URIUnescapeString()
 buildURI()
+canonicPath()
 createURI()
 normalizeURIPath()
 parseURI()
@@ -637,6 +642,7 @@
 
     # functions from module relaxng
     relaxNGDump()
+    relaxNGDumpTree()
     relaxNGFree()
     relaxNGNewValidCtxt()
 Class relaxNgValidCtxt()
diff --git a/relaxng.c b/relaxng.c
index 2f91afe..ca7d194 100644
--- a/relaxng.c
+++ b/relaxng.c
@@ -1719,6 +1719,8 @@
 	      xmlRelaxNGDefinePtr def);
 static xmlRelaxNGGrammarPtr xmlRelaxNGParseGrammar(
 	      xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr nodes);
+static int xmlRelaxNGElementMatch(xmlRelaxNGValidCtxtPtr ctxt, 
+	      xmlRelaxNGDefinePtr define, xmlNodePtr elem);
 
 
 #define IS_BLANK_NODE(n)						\
@@ -2106,7 +2108,6 @@
 	    return(0);
 	return(1);
     } else if (def1->type == XML_RELAXNG_EXCEPT) {
-	xmlRelaxNGDefinePtr tmp = def1->content;
 	TODO
 	ret = 0;
     } else {
diff --git a/result/relaxng/spec1_err b/result/relaxng/spec1_err
index 51c6cf5..d3a5dd6 100644
--- a/result/relaxng/spec1_err
+++ b/result/relaxng/spec1_err
@@ -1 +1,2 @@
-Unimplemented block at relaxng.c:6428
+error detected at relaxng.c:7141
+extra data on the document
diff --git a/result/relaxng/spec1_valid b/result/relaxng/spec1_valid
index 8551c1e..924f585 100644
--- a/result/relaxng/spec1_valid
+++ b/result/relaxng/spec1_valid
@@ -1 +1 @@
-./test/relaxng/spec1.rng validates
+./test/relaxng/spec1.rng fails to validate
diff --git a/result/relaxng/tutor10_1_4.err b/result/relaxng/tutor10_1_4.err
index a8fa363..820cf4b 100644
--- a/result/relaxng/tutor10_1_4.err
+++ b/result/relaxng/tutor10_1_4.err
@@ -1,4 +1,4 @@
-error detected at relaxng.c:6612
+error detected at relaxng.c:6557
 Expecting a namespace for element foo
-error detected at relaxng.c:7194
+error detected at relaxng.c:7141
 extra data on the document
diff --git a/result/relaxng/tutor10_1_5.err b/result/relaxng/tutor10_1_5.err
index 839d355..ea698c7 100644
--- a/result/relaxng/tutor10_1_5.err
+++ b/result/relaxng/tutor10_1_5.err
@@ -1,4 +1,4 @@
-error detected at relaxng.c:6617
+error detected at relaxng.c:6562
 Expecting element foo has wrong namespace: expecting http://www.example.com
-error detected at relaxng.c:7194
+error detected at relaxng.c:7141
 extra data on the document
diff --git a/result/relaxng/tutor10_1_6.err b/result/relaxng/tutor10_1_6.err
index 839d355..ea698c7 100644
--- a/result/relaxng/tutor10_1_6.err
+++ b/result/relaxng/tutor10_1_6.err
@@ -1,4 +1,4 @@
-error detected at relaxng.c:6617
+error detected at relaxng.c:6562
 Expecting element foo has wrong namespace: expecting http://www.example.com
-error detected at relaxng.c:7194
+error detected at relaxng.c:7141
 extra data on the document
diff --git a/result/relaxng/tutor10_2_3.err b/result/relaxng/tutor10_2_3.err
index 2d06a90..2064874 100644
--- a/result/relaxng/tutor10_2_3.err
+++ b/result/relaxng/tutor10_2_3.err
@@ -1,4 +1,4 @@
-error detected at relaxng.c:6629
+error detected at relaxng.c:6574
 Expecting no namespace for element foo
-error detected at relaxng.c:7194
+error detected at relaxng.c:7141
 extra data on the document
diff --git a/result/relaxng/tutor10_2_4.err b/result/relaxng/tutor10_2_4.err
index 2d06a90..2064874 100644
--- a/result/relaxng/tutor10_2_4.err
+++ b/result/relaxng/tutor10_2_4.err
@@ -1,4 +1,4 @@
-error detected at relaxng.c:6629
+error detected at relaxng.c:6574
 Expecting no namespace for element foo
-error detected at relaxng.c:7194
+error detected at relaxng.c:7141
 extra data on the document
diff --git a/result/relaxng/tutor10_7_3.err b/result/relaxng/tutor10_7_3.err
index 975e57a..34c0ef1 100644
--- a/result/relaxng/tutor10_7_3.err
+++ b/result/relaxng/tutor10_7_3.err
@@ -1,2 +1,2 @@
-error detected at relaxng.c:6823
+error detected at relaxng.c:6770
 Extra content for element addressBook: card
diff --git a/result/relaxng/tutor10_8_3.err b/result/relaxng/tutor10_8_3.err
index 975e57a..34c0ef1 100644
--- a/result/relaxng/tutor10_8_3.err
+++ b/result/relaxng/tutor10_8_3.err
@@ -1,2 +1,2 @@
-error detected at relaxng.c:6823
+error detected at relaxng.c:6770
 Extra content for element addressBook: card
diff --git a/result/relaxng/tutor11_2_2.err b/result/relaxng/tutor11_2_2.err
index 62796e9..8d7fe33 100644
--- a/result/relaxng/tutor11_2_2.err
+++ b/result/relaxng/tutor11_2_2.err
@@ -1,2 +1,2 @@
-error detected at relaxng.c:6836
+error detected at relaxng.c:6783
 Invalid attribute foo for element card
diff --git a/result/relaxng/tutor11_2_3.err b/result/relaxng/tutor11_2_3.err
index 09099f9..5a7b74a 100644
--- a/result/relaxng/tutor11_2_3.err
+++ b/result/relaxng/tutor11_2_3.err
@@ -1,2 +1,2 @@
-error detected at relaxng.c:6836
+error detected at relaxng.c:6783
 Invalid attribute b for element card
diff --git a/result/relaxng/tutor11_3_1 b/result/relaxng/tutor11_3_1
index 83963d8..e69de29 100644
--- a/result/relaxng/tutor11_3_1
+++ b/result/relaxng/tutor11_3_1
@@ -1 +0,0 @@
-./test/relaxng/tutor11_3_1.xml validates
diff --git a/result/relaxng/tutor11_3_1.err b/result/relaxng/tutor11_3_1.err
index e69de29..1d13cf4 100644
--- a/result/relaxng/tutor11_3_1.err
+++ b/result/relaxng/tutor11_3_1.err
@@ -0,0 +1 @@
+Attributes conflicts in group
diff --git a/result/relaxng/tutor12_1_err b/result/relaxng/tutor12_1_err
index 51c6cf5..d3a5dd6 100644
--- a/result/relaxng/tutor12_1_err
+++ b/result/relaxng/tutor12_1_err
@@ -1 +1,2 @@
-Unimplemented block at relaxng.c:6428
+error detected at relaxng.c:7141
+extra data on the document
diff --git a/result/relaxng/tutor12_1_valid b/result/relaxng/tutor12_1_valid
index a02fb41..4bf261d 100644
--- a/result/relaxng/tutor12_1_valid
+++ b/result/relaxng/tutor12_1_valid
@@ -1 +1 @@
-./test/relaxng/tutor12_1.rng validates
+./test/relaxng/tutor12_1.rng fails to validate
diff --git a/result/relaxng/tutor3_2_1.err b/result/relaxng/tutor3_2_1.err
index 6205f58..5b495ea 100644
--- a/result/relaxng/tutor3_2_1.err
+++ b/result/relaxng/tutor3_2_1.err
@@ -1,4 +1,4 @@
-error detected at relaxng.c:6604
+error detected at relaxng.c:6549
 Expecting element name, got email
-error detected at relaxng.c:6823
+error detected at relaxng.c:6770
 Extra content for element card: email
diff --git a/result/relaxng/tutor3_5_2.err b/result/relaxng/tutor3_5_2.err
index 975e57a..34c0ef1 100644
--- a/result/relaxng/tutor3_5_2.err
+++ b/result/relaxng/tutor3_5_2.err
@@ -1,2 +1,2 @@
-error detected at relaxng.c:6823
+error detected at relaxng.c:6770
 Extra content for element addressBook: card
diff --git a/result/relaxng/tutor3_7_err b/result/relaxng/tutor3_7_err
index 5610b35..d3a5dd6 100644
--- a/result/relaxng/tutor3_7_err
+++ b/result/relaxng/tutor3_7_err
@@ -1,2 +1,2 @@
-error detected at relaxng.c:7194
+error detected at relaxng.c:7141
 extra data on the document
diff --git a/result/relaxng/tutor6_1_3.err b/result/relaxng/tutor6_1_3.err
index c438e30..d05cfe9 100644
--- a/result/relaxng/tutor6_1_3.err
+++ b/result/relaxng/tutor6_1_3.err
@@ -1,2 +1,2 @@
-error detected at relaxng.c:6836
+error detected at relaxng.c:6783
 Invalid attribute preferredFormat for element card
diff --git a/result/relaxng/tutor6_2_4.err b/result/relaxng/tutor6_2_4.err
index 5c96ccf..1de9882 100644
--- a/result/relaxng/tutor6_2_4.err
+++ b/result/relaxng/tutor6_2_4.err
@@ -1,2 +1,2 @@
-error detected at relaxng.c:6823
+error detected at relaxng.c:6770
 Extra content for element preferredFormat: text
diff --git a/result/relaxng/tutor6_3_1.err b/result/relaxng/tutor6_3_1.err
index c438e30..d05cfe9 100644
--- a/result/relaxng/tutor6_3_1.err
+++ b/result/relaxng/tutor6_3_1.err
@@ -1,2 +1,2 @@
-error detected at relaxng.c:6836
+error detected at relaxng.c:6783
 Invalid attribute preferredFormat for element card
diff --git a/result/relaxng/tutor7_1_2.err b/result/relaxng/tutor7_1_2.err
index f378bcd..f3cddfd 100644
--- a/result/relaxng/tutor7_1_2.err
+++ b/result/relaxng/tutor7_1_2.err
@@ -1,6 +1,6 @@
-error detected at relaxng.c:5715
+error detected at relaxng.c:5813
 Internal: failed to validate type float
-error detected at relaxng.c:7126
+error detected at relaxng.c:7073
 error validating list
-error detected at relaxng.c:6823
+error detected at relaxng.c:6770
 Extra content for element vector: text
diff --git a/result/relaxng/tutor7_1_3.err b/result/relaxng/tutor7_1_3.err
index 0ecd7ff..3680610 100644
--- a/result/relaxng/tutor7_1_3.err
+++ b/result/relaxng/tutor7_1_3.err
@@ -1,6 +1,6 @@
-error detected at relaxng.c:5955
+error detected at relaxng.c:6053
 Extra data in list: 5.6
-error detected at relaxng.c:7126
+error detected at relaxng.c:7073
 error validating list
-error detected at relaxng.c:6823
+error detected at relaxng.c:6770
 Extra content for element vector: text
diff --git a/result/relaxng/tutor7_2_4.err b/result/relaxng/tutor7_2_4.err
index 2cc782d..0350cda 100644
--- a/result/relaxng/tutor7_2_4.err
+++ b/result/relaxng/tutor7_2_4.err
@@ -1,4 +1,4 @@
-error detected at relaxng.c:5715
+error detected at relaxng.c:5813
 Internal: failed to validate type double
-error detected at relaxng.c:7126
+error detected at relaxng.c:7073
 error validating list
diff --git a/result/relaxng/tutor7_3_4.err b/result/relaxng/tutor7_3_4.err
index b3754e7..8ab033d 100644
--- a/result/relaxng/tutor7_3_4.err
+++ b/result/relaxng/tutor7_3_4.err
@@ -1,6 +1,6 @@
-error detected at relaxng.c:5955
+error detected at relaxng.c:6053
 Extra data in list: 5.6
-error detected at relaxng.c:7126
+error detected at relaxng.c:7073
 error validating list
-error detected at relaxng.c:6823
+error detected at relaxng.c:6770
 Extra content for element path: text
diff --git a/result/relaxng/tutor7_3_5.err b/result/relaxng/tutor7_3_5.err
index be47182..d67a740 100644
--- a/result/relaxng/tutor7_3_5.err
+++ b/result/relaxng/tutor7_3_5.err
@@ -1,6 +1,6 @@
-error detected at relaxng.c:5715
+error detected at relaxng.c:5813
 Internal: failed to validate type double
-error detected at relaxng.c:7126
+error detected at relaxng.c:7073
 error validating list
-error detected at relaxng.c:6823
+error detected at relaxng.c:6770
 Extra content for element path: text
diff --git a/result/relaxng/tutor8_2_4.err b/result/relaxng/tutor8_2_4.err
index da7515f..f5f7037 100644
--- a/result/relaxng/tutor8_2_4.err
+++ b/result/relaxng/tutor8_2_4.err
@@ -1,4 +1,4 @@
-Unimplemented block at relaxng.c:6428
-Unimplemented block at relaxng.c:6428
-error detected at relaxng.c:6823
-Extra content for element head: meta
+error detected at relaxng.c:6468
+Extra element title in interleave
+error detected at relaxng.c:6770
+Extra content for element head: title
diff --git a/result/relaxng/tutor8_2_5.err b/result/relaxng/tutor8_2_5.err
index 3d1a4bd..5b063e3 100644
--- a/result/relaxng/tutor8_2_5.err
+++ b/result/relaxng/tutor8_2_5.err
@@ -1,4 +1,4 @@
-error detected at relaxng.c:6764
+error detected at relaxng.c:6709
 Expecting an element, got empty
-error detected at relaxng.c:6823
-Extra content for element head: meta
+error detected at relaxng.c:6479
+Invalid sequence in interleave
diff --git a/result/relaxng/tutor8_2_6.err b/result/relaxng/tutor8_2_6.err
index 7142985..3d57dd3 100644
--- a/result/relaxng/tutor8_2_6.err
+++ b/result/relaxng/tutor8_2_6.err
@@ -1,2 +1,4 @@
-error detected at relaxng.c:6823
+error detected at relaxng.c:6468
+Extra element base in interleave
+error detected at relaxng.c:6770
 Extra content for element head: base
diff --git a/result/relaxng/tutor9_5_2.err b/result/relaxng/tutor9_5_2.err
index 975e57a..34c0ef1 100644
--- a/result/relaxng/tutor9_5_2.err
+++ b/result/relaxng/tutor9_5_2.err
@@ -1,2 +1,2 @@
-error detected at relaxng.c:6823
+error detected at relaxng.c:6770
 Extra content for element addressBook: card
diff --git a/result/relaxng/tutor9_5_3.err b/result/relaxng/tutor9_5_3.err
index 975e57a..34c0ef1 100644
--- a/result/relaxng/tutor9_5_3.err
+++ b/result/relaxng/tutor9_5_3.err
@@ -1,2 +1,2 @@
-error detected at relaxng.c:6823
+error detected at relaxng.c:6770
 Extra content for element addressBook: card
diff --git a/result/relaxng/tutor9_6_2.err b/result/relaxng/tutor9_6_2.err
index 975e57a..34c0ef1 100644
--- a/result/relaxng/tutor9_6_2.err
+++ b/result/relaxng/tutor9_6_2.err
@@ -1,2 +1,2 @@
-error detected at relaxng.c:6823
+error detected at relaxng.c:6770
 Extra content for element addressBook: card
diff --git a/result/relaxng/tutor9_6_3.err b/result/relaxng/tutor9_6_3.err
index 975e57a..34c0ef1 100644
--- a/result/relaxng/tutor9_6_3.err
+++ b/result/relaxng/tutor9_6_3.err
@@ -1,2 +1,2 @@
-error detected at relaxng.c:6823
+error detected at relaxng.c:6770
 Extra content for element addressBook: card