updated the web site separated developers from common pages, made the

* NEWS doc/*.xsl doc/*.html: updated the web site separated
  developers from common pages, made the transition to XHTML1,
  added validity checking to the makefile rules.
Daniel
diff --git a/doc/site.xsl b/doc/site.xsl
index 7259859..40cda03 100644
--- a/doc/site.xsl
+++ b/doc/site.xsl
@@ -1,10 +1,208 @@
 <?xml version="1.0"?>
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-  <xsl:output method="html" version="4.01" encoding="ISO-8859-1"/>
+  <xsl:output method="xml" encoding="ISO-8859-1" indent="yes"
+      doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
+      doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
 
 <!--
  - returns the filename associated to an ID in the original file
  -->
+  <xsl:template name="tocfilename">
+    <xsl:param name="name" select="string(@href)"/>
+    <xsl:choose>
+      <xsl:when test="$name = '#Introducti'">
+        <xsl:text>intro.html</xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#Documentat'">
+        <xsl:text>docs.html</xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#Reporting'">
+        <xsl:text>bugs.html</xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#help'">
+        <xsl:text>help.html</xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#Help'">
+        <xsl:text>help.html</xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#Downloads'">
+        <xsl:text>downloads.html</xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#News'">
+        <xsl:text>news.html</xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#Contributi'">
+        <xsl:text>contribs.html</xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#xsltproc'">
+        <xsl:text>xsltproc2.html</xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#API'">
+        <xsl:text></xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#XSLT'">
+        <xsl:text>XSLT.html</xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#XML'">
+        <xsl:text>XMLinfo.html</xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#Validation'">
+        <xsl:text>xmldtd.html</xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#tree'">
+        <xsl:text></xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#library'">
+        <xsl:text></xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#interface'">
+        <xsl:text></xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#Example'">
+        <xsl:text></xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#Entities'">
+        <xsl:text></xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#architecture'">
+        <xsl:text></xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#Namespaces'">
+        <xsl:text>namespaces.html</xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#DOM'">
+        <xsl:text></xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#Catalog'">
+        <xsl:text>catalog.html</xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#Upgrading'">
+        <xsl:text></xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#Encodings'">
+        <xsl:text>encoding.html</xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#IO'">
+        <xsl:text></xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#Memory'">
+        <xsl:text></xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#Thread'">
+        <xsl:text></xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#FAQ'">
+        <xsl:text>FAQ.html</xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#Python'">
+        <xsl:text></xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = ''">
+        <xsl:text>unknown.html</xsl:text>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:value-of select="$name"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+  <xsl:template name="docfilename">
+    <xsl:param name="name" select="string(@href)"/>
+    <xsl:choose>
+      <xsl:when test="$name = '#Introducti'">
+        <xsl:text></xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#Documentat'">
+        <xsl:text></xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#Reporting'">
+        <xsl:text></xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#help'">
+        <xsl:text></xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#Help'">
+        <xsl:text></xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#Downloads'">
+        <xsl:text></xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#News'">
+        <xsl:text></xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#Contributi'">
+        <xsl:text></xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#xsltproc'">
+        <xsl:text>xsltproc2.html</xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#API'">
+        <xsl:text>API.html</xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#XSLT'">
+        <xsl:text>XSLT.html</xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#XML'">
+        <xsl:text></xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#Validation'">
+        <xsl:text></xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#tree'">
+        <xsl:text>tree.html</xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#library'">
+        <xsl:text>library.html</xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#interface'">
+        <xsl:text>interface.html</xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#Example'">
+        <xsl:text>example.html</xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#Entities'">
+        <xsl:text>entities.html</xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#architecture'">
+        <xsl:text>architecture.html</xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#Namespaces'">
+        <xsl:text>namespaces.html</xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#DOM'">
+        <xsl:text>DOM.html</xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#Catalog'">
+        <xsl:text></xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#Upgrading'">
+        <xsl:text>upgrade.html</xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#Encodings'">
+        <xsl:text></xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#IO'">
+        <xsl:text>xmlio.html</xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#Memory'">
+        <xsl:text>xmlmem.html</xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#Thread'">
+        <xsl:text>threads.html</xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#FAQ'">
+        <xsl:text></xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = '#Python'">
+        <xsl:text>python.html</xsl:text>
+      </xsl:when>
+      <xsl:when test="$name = ''">
+        <xsl:text>unknown.html</xsl:text>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:value-of select="$name"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
   <xsl:template name="filename">
     <xsl:param name="name" select="string(@href)"/>
     <xsl:choose>
@@ -112,30 +310,60 @@
  -->
   <xsl:variable name="toc">
     <form action="search.php"
-          enctype="application/x-www-form-urlencoded" method="GET">
-      <input name="query" type="TEXT" size="20" value=""/>
+          enctype="application/x-www-form-urlencoded" method="get">
+      <input name="query" type="text" size="20" value=""/>
       <input name="submit" type="submit" value="Search ..."/>
     </form>
     <ul><!-- style="margin-left: -1em" -->
       <li><a href="index.html">Home</a></li>
       <xsl:for-each select="/html/body/h2">
         <xsl:variable name="filename">
-          <xsl:call-template name="filename">
+          <xsl:call-template name="tocfilename">
             <xsl:with-param name="name" select="concat('#', string(a[1]/@name))"/>
           </xsl:call-template>
         </xsl:variable>
-        <li>
-          <xsl:element name="a">
-            <xsl:attribute name="href">
-              <xsl:value-of select="$filename"/>
-            </xsl:attribute>
-            <xsl:value-of select="."/>
-          </xsl:element>
-        </li>
+	<xsl:if test="$filename != ''">
+	  <li>
+	    <xsl:element name="a">
+	      <xsl:attribute name="href">
+	        <xsl:value-of select="$filename"/>
+	      </xsl:attribute>
+	      <xsl:value-of select="."/>
+	    </xsl:element>
+	  </li>
+	</xsl:if>
       </xsl:for-each>
-      <li><a href="xmlreader.html">The Reader Interface</a></li>
-      <li><a href="tutorial/index.html">Tutorial</a></li>
       <li><a href="guidelines.html">XML Guidelines</a></li>
+    </ul>
+  </xsl:variable>
+  <xsl:variable name="develtoc">
+    <form action="search.php"
+          enctype="application/x-www-form-urlencoded" method="get">
+      <input name="query" type="text" size="20" value=""/>
+      <input name="submit" type="submit" value="Search ..."/>
+    </form>
+    <ul><!-- style="margin-left: -1em" -->
+      <li><a href="index.html">Home</a></li>
+      <li><a href="guidelines.html">XML Guidelines</a></li>
+      <li><a href="tutorial/index.html">Tutorial</a></li>
+      <li><a href="xmlreader.html">The Reader Interface</a></li>
+      <xsl:for-each select="/html/body/h2">
+        <xsl:variable name="filename">
+          <xsl:call-template name="docfilename">
+            <xsl:with-param name="name" select="concat('#', string(a[1]/@name))"/>
+          </xsl:call-template>
+        </xsl:variable>
+	<xsl:if test="$filename != ''">
+	  <li>
+	    <xsl:element name="a">
+	      <xsl:attribute name="href">
+	        <xsl:value-of select="$filename"/>
+	      </xsl:attribute>
+	      <xsl:value-of select="."/>
+	    </xsl:element>
+	  </li>
+	</xsl:if>
+      </xsl:for-each>
       <li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li>
     </ul>
   </xsl:variable>
@@ -194,6 +422,28 @@
               </td>
             </tr>
           </table>
+        </td>
+      </tr>
+    </table>
+  </xsl:template>
+  <xsl:template name="develtoc">
+    <table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
+      <tr>
+        <td>
+          <table width="100%" border="0" cellspacing="1" cellpadding="3">
+            <tr>
+              <td colspan="1" bgcolor="#eecfa1" align="center">
+                <center>
+                  <b>Developer Menu</b>
+                </center>
+              </td>
+            </tr>
+            <tr>
+              <td bgcolor="#fffacd">
+                <xsl:copy-of select="$develtoc"/>
+              </td>
+            </tr>
+          </table>
           <table width="100%" border="0" cellspacing="1" cellpadding="3">
             <tr>
               <td colspan="1" bgcolor="#eecfa1" align="center">
@@ -208,6 +458,20 @@
               </td>
             </tr>
           </table>
+          <table width="100%" border="0" cellspacing="1" cellpadding="3">
+            <tr>
+              <td colspan="1" bgcolor="#eecfa1" align="center">
+                <center>
+                  <b>Related links</b>
+                </center>
+              </td>
+            </tr>
+            <tr>
+              <td bgcolor="#fffacd">
+                <xsl:copy-of select="$related"/>
+              </td>
+            </tr>
+          </table>
         </td>
       </tr>
     </table>
@@ -224,14 +488,14 @@
  -->
   <xsl:template name="style">
     <link rel="SHORTCUT ICON" href="/favicon.ico"/> 
-    <style type="text/css"><xsl:text disable-output-escaping="yes">&lt;!--</xsl:text>
+    <style type="text/css">
 TD {font-family: Verdana,Arial,Helvetica}
 BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
 H1 {font-family: Verdana,Arial,Helvetica}
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-<xsl:text disable-output-escaping="yes">--&gt;</xsl:text></style>
+</style>
   </xsl:template>
 <!--
  - Write the title box on top
@@ -312,10 +576,17 @@
         <xsl:with-param name="name" select="concat('#', string($header/a[1]/@name))"/>
       </xsl:call-template>
     </xsl:variable>
+    <xsl:variable name="tocfilename">
+      <xsl:call-template name="tocfilename">
+        <xsl:with-param name="name" select="concat('#', string($header/a[1]/@name))"/>
+      </xsl:call-template>
+    </xsl:variable>
     <xsl:variable name="title">
       <xsl:value-of select="$header"/>
     </xsl:variable>
-    <xsl:document href="{$filename}" method="html" version="4.01" encoding="ISO-8859-1">
+    <xsl:document href="{$filename}" method="xml" encoding="ISO-8859-1"
+      doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
+      doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
       <html>
         <head>
           <xsl:call-template name="style"/>
@@ -333,7 +604,17 @@
                 <table border="0" cellspacing="0" cellpadding="2" width="100%">
                   <tr>
                     <td valign="top" width="200" bgcolor="#8b7765">
-                      <xsl:call-template name="toc"/>
+		      <xsl:choose>
+		        <xsl:when test="$filename = 'docs.html'">
+                          <xsl:call-template name="develtoc"/>
+		        </xsl:when>
+		        <xsl:when test="$tocfilename = ''">
+                          <xsl:call-template name="develtoc"/>
+		        </xsl:when>
+		        <xsl:otherwise>
+                          <xsl:call-template name="toc"/>
+		        </xsl:otherwise>
+		      </xsl:choose>
                     </td>
                     <td valign="top" bgcolor="#8b7765">
                       <table border="0" cellspacing="0" cellpadding="1" width="100%">