Well, the index page finally goes xml. I've used mostly the xml format of the sitemap with a new xsl file (caused by the special requirements). Additionally I've made some minor layout changes for a better look & feel (thanks Kess for her suggestions).
Attached you'll find the patch against the existing files, the new indexpage.xsl and index.xml. The HTML result can be admired online: <http://cvs.apache.org/~nd/manual/index.html.en> Comments, further suggestions etc are welcome. TIA, nd -- >I have tried using ErrorDocument 401, but doesn't work. ^^^^^^^^^^^^^ Oh dear. What does it do - lounge around on the couch all day drinking beer and watching TV? -- "Kash" und Alan J. Flavell in ciwsu
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE indexpage SYSTEM "./style/sitemap.dtd"> <?xml-stylesheet type="text/xsl" href="./style/manual.en.xsl"?> <indexpage> <relativepath href="."/> <parentdocument href="http://httpd.apache.org/docs-project/" /> <title>Apache HTTP Server Version 2.1 Documentation</title> <category id="release"><title>Release Notes</title> <page href="new_features_2_0.html">New features with Apache 2.0</page> <page href="upgrading.html">Upgrading to 2.0 from 1.3</page> <page href="LICENSE">Apache License</page> </category> <category id="manual"><title>Reference Manual</title> <page href="install.html">Compiling and Installing</page> <page href="invoking.html">Starting</page> <page href="stopping.html">Stopping or Restarting</page> <page href="mod/directives.html">Run-time Configuration Directives</page> <page href="mod/quickreference.html">Directive Quick-Reference</page> <page href="mod/">Modules</page> <page href="mpm.html">Multi-Processing Modules (MPMs)</page> <page href="filter.html">Filters</page> <page href="handler.html">Handlers</page> <page href="programs/">Server and Supporting Programs</page> <page href="glossary.html">Glossary</page> </category> <category id="usersguide"><title>Users' Guide</title> <page href="bind.html">Binding</page> <page href="configuring.html">Configuration Files</page> <page href="sections.html">Configuration Sections</page> <page href="content-negotiation.html">Content Negotiation</page> <page href="dso.html">Dynamic Shared Objects (DSO)</page> <page href="env.html">Environment Variables</page> <page href="logs.html">Log Files</page> <page href="urlmapping.html">Mapping URLs to the Filesystem</page> <page href="misc/perf-tuning.html">Performance Tuning</page> <page href="misc/security_tips.html">Security Tips</page> <page href="server-wide.html">Server-Wide Configuration</page> <page href="ssl/">SSL/TLS Encryption</page> <page href="suexec.html">Suexec Execution for CGI</page> <page href="misc/rewriteguide.html">URL Rewriting Guide</page> <page href="vhosts/">Virtual Hosts</page> </category> <category id="howto"><title>How-To / Tutorials</title> <page href="howto/auth.html">Authentication, Authorization, and Access Control</page> <page href="howto/cgi.html">CGI: Dynamic Content</page> <page href="howto/htaccess.html">.htaccess files</page> <page href="howto/ssi.html">Server Side Includes (SSI)</page> <page href="howto/public_html.html">Per-user Web Directories (public_html)</page> </category> <category id="platform"><title>Platform Specific Notes</title> <page href="platform/windows.html">Microsoft Windows</page> <page href="platform/netware.html">Novell NetWare</page> <page href="platform/ebcdic.html">EBCDIC Port</page> </category> <category id="other"><title>Other Topics</title> <page href="faq/">Frequently Asked Questions</page> <page href="sitemap.html">Sitemap</page> <page href="developer/">Documentation for Developers</page> <page href="misc/">Other Notes</page> </category> </indexpage>
<?xml version="1.0"?> <!DOCTYPE xsl:stylesheet [ <!ENTITY nbsp " "> ]> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml"> <!-- three columns, select were the particular categories shall be placed in. (order is irrelevant, they're placed in document order) --> <xsl:variable name="indexpage-column1" select="' release manual '"/> <xsl:variable name="indexpage-column2" select="' usersguide '"/> <xsl:variable name="indexpage-column3" select="' howto platform other '"/> <!-- --> <!-- <indexpage> --> <!-- Process an entire document into an HTML page --> <!-- --> <xsl:template match="/indexpage"> <html xml:lang="{$messages/@lang}" lang="{$messages/@lang}"> <xsl:call-template name="head"/> <xsl:text> </xsl:text> <!-- insert line break --> <body id="index-page"> <xsl:text> </xsl:text> <!-- insert line break --> <xsl:call-template name="top"/> <xsl:text> </xsl:text> <!-- insert line break --> <div id="page-content"> <h1> <xsl:value-of select="title"/> </h1> <xsl:text> </xsl:text> <!-- insert line break --> <form method="post" action="http://search.apache.org/"><p> <input type="hidden" name="what" value="httpd.apache.org" /> <input type="hidden" name="results" value="20" /> <input type="hidden" name="version" value="2" /> <input type="text" name="keyword" size="20" /> <xsl:text> </xsl:text> <input type="submit" value="{$messages/[EMAIL PROTECTED]'search']}" /> </p></form> <xsl:text> </xsl:text> <!-- insert line break --> <table id="indextable"> <tr> <td class="col1"> <xsl:apply-templates select="category[contains($indexpage-column1, @id)]"/> </td> <td> <xsl:apply-templates select="category[contains($indexpage-column2, @id)]"/> </td> <td class="col3"> <xsl:apply-templates select="category[contains($indexpage-column3, @id)]"/> </td> </tr> </table> </div> <!-- /page-content --> <xsl:text> </xsl:text> <!-- insert line break --> <xsl:call-template name="bottom"/> <xsl:text> </xsl:text> <!-- insert line break --> </body> </html> </xsl:template> <!-- --> <!-- category/page --> <!-- --> <xsl:template match="indexpage/category/page"> <li> <xsl:if test="@separate='yes'"> <xsl:attribute name="class">separate</xsl:attribute> </xsl:if> <xsl:if test="@href"> <a href="[EMAIL PROTECTED]"> <xsl:value-of select="."/> </a> </xsl:if> <xsl:if test="not(@href)"> <xsl:value-of select="."/> </xsl:if> </li> <xsl:text> </xsl:text> <!-- insert line break --> </xsl:template> <!-- /category/page --> <!-- --> <!-- Process a sitemap category --> <!-- --> <xsl:template match="indexpage/category"> <div class="category"> <!-- Section heading --> <h2> <xsl:if test="@id"> <a id="[EMAIL PROTECTED]" name="[EMAIL PROTECTED]"> <xsl:apply-templates select="title" mode="print"/> </a> </xsl:if> <xsl:if test="not(@id)"> <xsl:apply-templates select="title" mode="print"/> </xsl:if> </h2> <xsl:text> </xsl:text> <!-- insert line break --> <!-- category body --> <ul> <xsl:apply-templates select="page"/> </ul> <xsl:text> </xsl:text> <!-- insert line break --> </div> <!-- /.section --> </xsl:template> <!-- /category --> </xsl:stylesheet>
Index: manual/style/common.dtd =================================================================== RCS file: /home/cvs/httpd-2.0/docs/manual/style/common.dtd,v retrieving revision 1.14 diff -u -r1.14 common.dtd --- manual/style/common.dtd 8 Jan 2003 07:09:03 -0000 1.14 +++ manual/style/common.dtd 6 Apr 2003 02:26:42 -0000 @@ -143,4 +143,12 @@ width CDATA #IMPLIED > <!ELEMENT blockquote %Block;> -<!ATTLIST blockquote cite CDATA #IMPLIED > \ No newline at end of file +<!ATTLIST blockquote cite CDATA #IMPLIED > + +<!-- The path to the root of the documentation from the current doc --> +<!ELEMENT relativepath EMPTY> +<!ATTLIST relativepath href CDATA #REQUIRED > + +<!-- The path and title of the parent document --> +<!ELEMENT parentdocument (#PCDATA)> +<!ATTLIST parentdocument href CDATA #REQUIRED > Index: manual/style/manualpage.dtd =================================================================== RCS file: /home/cvs/httpd-2.0/docs/manual/style/manualpage.dtd,v retrieving revision 1.5 diff -u -r1.5 manualpage.dtd --- manual/style/manualpage.dtd 12 Nov 2002 03:43:02 -0000 1.5 +++ manual/style/manualpage.dtd 6 Apr 2003 02:26:42 -0000 @@ -6,11 +6,3 @@ <!-- <manualpage> is the root element --> <!ELEMENT manualpage (relativepath, parentdocument?, title, summary?, seealso*, section*)> - -<!-- The path to the root of the documentation from the current doc --> -<!ELEMENT relativepath EMPTY> -<!ATTLIST relativepath href CDATA #REQUIRED > - -<!-- The path and title of the parent document --> -<!ELEMENT parentdocument (#PCDATA)> -<!ATTLIST parentdocument href CDATA #REQUIRED > Index: manual/style/sitemap.dtd =================================================================== RCS file: /home/cvs/httpd-2.0/docs/manual/style/sitemap.dtd,v retrieving revision 1.1 diff -u -r1.1 sitemap.dtd --- manual/style/sitemap.dtd 10 Sep 2002 00:36:10 -0000 1.1 +++ manual/style/sitemap.dtd 6 Apr 2003 02:26:42 -0000 @@ -6,6 +6,9 @@ <!-- <sitemap> is the root element --> <!ELEMENT sitemap (relativepath, title, summary?, seealso*, category*)> +<!-- <indexpage> is another root element --> +<!ELEMENT indexpage (relativepath, parentdocument, title, category*)> + <!ELEMENT category (title, page*, modulefilelist? )> <!ATTLIST category id ID #IMPLIED> @@ -15,8 +18,3 @@ <!ELEMENT modulefilelist (modulefile*) > <!ELEMENT modulefile (#PCDATA) > - -<!-- The path to the root of the documentation from the current doc --> -<!ELEMENT relativepath EMPTY> -<!ATTLIST relativepath href CDATA #REQUIRED > - Index: manual/style/css/manual-loose-100pc.css =================================================================== RCS file: /home/cvs/httpd-2.0/docs/manual/style/css/manual-loose-100pc.css,v retrieving revision 1.5 diff -u -r1.5 manual-loose-100pc.css --- manual/style/css/manual-loose-100pc.css 16 Oct 2002 06:45:21 -0000 1.5 +++ manual/style/css/manual-loose-100pc.css 6 Apr 2003 02:26:42 -0000 @@ -38,6 +38,10 @@ font-size: 1.2em; } +.category h2 { + font-size: 1em; +} + h3 { font-size: 1.1em; } Index: manual/style/css/manual-print.css =================================================================== RCS file: /home/cvs/httpd-2.0/docs/manual/style/css/manual-print.css,v retrieving revision 1.8 diff -u -r1.8 manual-print.css --- manual/style/css/manual-print.css 4 Feb 2003 21:24:19 -0000 1.8 +++ manual/style/css/manual-print.css 6 Apr 2003 02:26:43 -0000 @@ -129,7 +129,8 @@ } .section h2, -.directive-section h2 { +.directive-section h2, +.category h2 { background-color: #fff; color: #000; } Index: manual/style/css/manual.css =================================================================== RCS file: /home/cvs/httpd-2.0/docs/manual/style/css/manual.css,v retrieving revision 1.21 diff -u -r1.21 manual.css --- manual/style/css/manual.css 3 Feb 2003 20:27:28 -0000 1.21 +++ manual/style/css/manual.css 6 Apr 2003 02:26:43 -0000 @@ -191,6 +191,12 @@ color: #fff; } +.category h2 { + background-color: #e5ecf3; + color: #405871; + font-size: 14px; +} + /* take care of <a name>s inside */ h2 a, h2 a:hover, @@ -363,6 +369,38 @@ border: 1px solid #aaa; } +/* index page layout table */ +/* ======================= */ +body#index-page div#page-content { + width: 100%; /* IE fun */ +} + +body[id]#index-page div#page-content { + width: auto; /* reasonable browsers. */ +} + +table#indextable { + width: 100%; + border-collapse: collapse; + border: 0 none; +} + +table#indextable td { + width: 33.3%; + border-left: 1px solid #aaa; + padding-top: 0; + padding-bottom: 0; +} + +table#indextable td.col1 { + border-left: 0 none; + padding-left: 0; +} + +table#indextable td.col3 { + padding-right: 0; +} + /* mod/dir. overview table and quick reference */ /* ============================================ */ table.module th, @@ -530,6 +568,18 @@ padding: 0; } +/* indextable */ +/* ========== */ +table#indextable td ul { + list-style-type: none; + margin: 0 0 1em 0.5em; + padding: 0 0 0 0; +} + +table#indextable td ul li { + margin-top: 0.3em; +} + /* sidebar */ /* ====================== */ div#quickview li { @@ -679,6 +729,14 @@ padding-right: 30px; } +/* unsqueeze on some pages... */ +body#index-page div#page-content { + margin-left: 30px; + margin-right: 0; + padding-right: 0; + padding-bottom: 1em; +} + /* in general */ p { line-height: 1.3em; @@ -790,7 +848,7 @@ } /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - * quotations, indented paragraphs and figures + * quotations, indented paragraphs, forms and figures * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ p.letters { margin: 1em 0 0 0; @@ -836,6 +894,10 @@ span.indent { padding-left: 1.5em; display: block; +} + +#index-page form { + text-align: center; } p.figure { Index: manual/style/lang/de.xml =================================================================== RCS file: /home/cvs/httpd-2.0/docs/manual/style/lang/de.xml,v retrieving revision 1.7 diff -u -r1.7 de.xml --- manual/style/lang/de.xml 16 Jan 2003 02:37:07 -0000 1.7 +++ manual/style/lang/de.xml 6 Apr 2003 02:26:43 -0000 @@ -66,6 +66,7 @@ <message name="apachetitle">- Apache HTTP Server</message> <message name="apachehttpserver">Apache HTTP Server Version 2.1</message> <message name="apachedocalt">[APACHE DOCUMENTATION]</message> + <message name="search">Suche</message> <!-- search button --> <message name="index">Index</message> <!-- deprecated --> <message name="home">Startseite</message> <!-- deprecated --> Index: manual/style/lang/en.xml =================================================================== RCS file: /home/cvs/httpd-2.0/docs/manual/style/lang/en.xml,v retrieving revision 1.8 diff -u -r1.8 en.xml --- manual/style/lang/en.xml 1 Jan 2003 02:35:18 -0000 1.8 +++ manual/style/lang/en.xml 6 Apr 2003 02:26:43 -0000 @@ -63,6 +63,7 @@ <message name="apachetitle">- Apache HTTP Server</message> <message name="apachehttpserver">Apache HTTP Server Version 2.1</message> <message name="apachedocalt">[APACHE DOCUMENTATION]</message> + <message name="search">Search</message> <!-- search button --> <message name="index">Index</message> <!-- deprecated --> <message name="home">Home</message> <!-- deprecated --> Index: manual/style/lang/ja.xml =================================================================== RCS file: /home/cvs/httpd-2.0/docs/manual/style/lang/ja.xml,v retrieving revision 1.7 diff -u -r1.7 ja.xml --- manual/style/lang/ja.xml 5 Dec 2002 14:28:00 -0000 1.7 +++ manual/style/lang/ja.xml 6 Apr 2003 02:26:43 -0000 @@ -58,6 +58,7 @@ <message name="apachetitle">- Apache HTTP $B%5!<%P(B</message> <message name="apachehttpserver">Apache HTTP $B%5!<%P(B $B%P!<%8%g%s(B 2.1</message> <message name="apachedocalt">[APACHE DOCUMENTATION]</message> + <message name="search">Search</message> <!-- search button --> <message name="index">$B:w0z(B</message> <!-- deprecated --> <message name="home">$B%[!<%`(B</message> <!-- deprecated --> Index: manual/style/lang/ru.xml =================================================================== RCS file: /home/cvs/httpd-2.0/docs/manual/style/lang/ru.xml,v retrieving revision 1.2 diff -u -r1.2 ru.xml --- manual/style/lang/ru.xml 5 Dec 2002 14:28:00 -0000 1.2 +++ manual/style/lang/ru.xml 6 Apr 2003 02:26:43 -0000 @@ -52,6 +52,7 @@ <message name="apachetitle">- HTTP ÓÅÒ×ÅÒ Apache</message> <message name="apachehttpserver">HTTP ÓÅÒ×ÅÒ Apache ÷ÅÒÓÉÑ 2.1</message> <message name="apachedocalt">[äïëõíåîôáãéñ APACHE]</message> + <message name="search">Search</message> <!-- search button --> <message name="index">ïÇÌÁ×ÌÅÎÉÅ</message> <!-- deprecated --> <message name="home">îÁ ÇÌÁ×ÎÕÀ ÓÔÒÁÎÉÃÕ</message> <!-- deprecated --> Index: manual/style/xsl/common.xsl =================================================================== RCS file: /home/cvs/httpd-2.0/docs/manual/style/xsl/common.xsl,v retrieving revision 1.24 diff -u -r1.24 common.xsl --- manual/style/xsl/common.xsl 16 Jan 2003 02:37:07 -0000 1.24 +++ manual/style/xsl/common.xsl 6 Apr 2003 02:26:43 -0000 @@ -39,6 +39,7 @@ <xsl:include href="manualpage.xsl"/> <xsl:include href="synopsis.xsl"/> <xsl:include href="sitemap.xsl"/> + <xsl:include href="indexpage.xsl"/> <xsl:include href="quickreference.xsl"/> <!-- make sure, we set relative anchors @@ -168,10 +169,12 @@ <a href="http://httpd.apache.org/docs-project/"> <xsl:value-of select="$messages/[EMAIL PROTECTED]'documentation']"/> </a> - <xsl:text> > </xsl:text> - <a href="{$path}/"> - <xsl:value-of select="$messages/[EMAIL PROTECTED]'version']"/> - </a> + <xsl:if test="not(../indexpage)"> + <xsl:text> > </xsl:text> + <a href="{$path}/"> + <xsl:value-of select="$messages/[EMAIL PROTECTED]'version']"/> + </a> + </xsl:if> <xsl:if test="../modulesynopsis or ../directiveindex or ../quickreference"> <xsl:text> > </xsl:text> <a href="./"> Index: manual/style/xsl/sitemap.xsl =================================================================== RCS file: /home/cvs/httpd-2.0/docs/manual/style/xsl/sitemap.xsl,v retrieving revision 1.7 diff -u -r1.7 sitemap.xsl --- manual/style/xsl/sitemap.xsl 22 Dec 2002 22:45:38 -0000 1.7 +++ manual/style/xsl/sitemap.xsl 6 Apr 2003 02:26:43 -0000 @@ -142,7 +142,7 @@ <!-- --> <!-- category/page --> <!-- --> - <xsl:template match="category/page"> + <xsl:template match="sitemap/category/page"> <li> <xsl:if test="@separate='yes'"> <xsl:attribute name="class">separate</xsl:attribute> @@ -168,7 +168,7 @@ <!-- --> <!-- Process a sitemap category --> <!-- --> - <xsl:template match="category"> + <xsl:template match="sitemap/category"> <xsl:call-template name="toplink"/> @@ -212,7 +212,7 @@ <!-- category/modulefilelist --> <!-- insert module list into sitemap --> <!-- --> - <xsl:template match="category/modulefilelist"> + <xsl:template match="sitemap/category/modulefilelist"> <!-- create our own translation list first --> <xsl:variable name="translist">
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]