generated an alphabetic index based on comments content rebuilt the web

* doc/APIchunk*.html doc/parsedecl.py doc/api.xsl: generated
  an alphabetic index based on comments content
* doc/*: rebuilt the web site with the new references
Daniel
diff --git a/doc/api.xsl b/doc/api.xsl
index ca8d104..0fe16c8 100644
--- a/doc/api.xsl
+++ b/doc/api.xsl
@@ -48,6 +48,21 @@
       </xsl:for-each>
     </p>
   </xsl:template>
+  <xsl:template match="letter" mode="wordlist">
+    <h2>Letter <xsl:value-of select="@name"/>:</h2>
+    <dl>
+      <xsl:for-each select="word">
+        <dt><xsl:value-of select="@name"/></dt>
+	<dd>
+	<xsl:for-each select="ref">
+	  <xsl:apply-templates mode="anchor" select="."/>
+	  <xsl:text>
+</xsl:text>
+	</xsl:for-each>
+	</dd>
+      </xsl:for-each>
+    </dl>
+  </xsl:template>
 
   <xsl:template match="constructors">
     <xsl:message>Generating API Constructors</xsl:message>
@@ -265,12 +280,93 @@
       </html>
     </xsl:document>
   </xsl:template>
+  <xsl:template name="apichunks">
+    <h2 align="center">
+    <xsl:for-each select="/apirefs/index/chunks/chunk">
+      <xsl:variable name="name" select="@name"/>
+      <xsl:variable name="start" select="@start"/>
+      <xsl:variable name="end" select="@end"/>
+      <xsl:variable name="block" select="concat($start, '-', $end)"/>
+      <a href="API{$name}.html"><xsl:value-of select="$block"/></a>
+      <xsl:text>
+</xsl:text>
+    </xsl:for-each>
+    </h2>
+  </xsl:template>
+  <xsl:template match="chunk">
+    <xsl:variable name="name" select="@name"/>
+    <xsl:variable name="start" select="@start"/>
+    <xsl:variable name="end" select="@end"/>
+    <xsl:variable name="block" select="concat($start, '-', $end)"/>
+    <xsl:variable name="target" select="/apirefs/index/chunk[@name = $name]"/>
+    <xsl:variable name="title">API Alphabetic Index <xsl:value-of select="$block"/> for <xsl:value-of select="$module"/></xsl:variable>
+    <xsl:document href="API{$name}.html" method="html" version="4.01" encoding="ISO-8859-1">
+      <html>
+        <head>
+        <xsl:call-template name="style"/>
+	<xsl:element name="title">
+	  <xsl:value-of select="$title"/>
+	</xsl:element>
+        </head>
+        <body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
+          <xsl:call-template name="titlebox">
+	    <xsl:with-param name="title" select="$title"/>
+	  </xsl:call-template>
+          <table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
+            <tr>
+              <td bgcolor="#8b7765">
+                <table border="0" cellspacing="0" cellpadding="2" width="100%">
+                  <tr>
+                    <td valign="top" width="200" bgcolor="#8b7765">
+                      <xsl:call-template name="toc"/>
+                    </td>
+                    <td valign="top" bgcolor="#8b7765">
+                      <table border="0" cellspacing="0" cellpadding="1" width="100%">
+                        <tr>
+                          <td>
+                            <table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
+                              <tr>
+                                <td>
+                                  <table border="0" cellpadding="3" cellspacing="1" width="100%">
+                                    <tr>
+                                      <td bgcolor="#fffacd">
+				        <xsl:call-template name="apichunks"/>
+				        <xsl:apply-templates mode="wordlist"
+					           select="$target/letter"/>
+				        <xsl:call-template name="apichunks"/>
+					<p><a href="mailto:daniel@veillard.com">Daniel Veillard</a></p>
+                                      </td>
+                                    </tr>
+                                  </table>
+                                </td>
+                              </tr>
+                            </table>
+                          </td>
+                        </tr>
+                      </table>
+                    </td>
+                  </tr>
+                </table>
+              </td>
+            </tr>
+          </table>
+        </body>
+      </html>
+    </xsl:document>
+  </xsl:template>
+
+  <xsl:template match="index">
+    <xsl:message>Generating API Index</xsl:message>
+    <xsl:apply-templates select="chunks/chunk"/>
+  </xsl:template>
+
   <xsl:template match="apirefs">
     <xsl:message>Generating API Cross References</xsl:message>
     <xsl:apply-templates select="constructors"/>
     <xsl:apply-templates select="functions"/>
     <xsl:apply-templates select="alpha"/>
     <xsl:apply-templates select="files"/>
+    <xsl:apply-templates select="index"/>
   </xsl:template>
 
   <xsl:template match="/">