source: draft-ietf-httpbis/latest/extractOutline.xslt @ 678

Last change on this file since 678 was 202, checked in by julian.reschke@…, 12 years ago

Add (experimental) XSLT-based outline generator.

  • Property svn:executable set to *
File size: 3.7 KB
Line 
1<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
2               xmlns:data="#data"               
3               version="1.0"
4               xmlns:xhtml="http://www.w3.org/1999/xhtml"
5               exclude-result-prefixes="xhtml data"
6>
7
8<xsl:output method="html" encoding="UTF-8" version="4.0"
9            doctype-public="-//W3C//DTD HTML 4.01//EN" indent="yes"/>
10           
11<data:specs>
12  <data:name>p1-messaging</data:name>
13  <data:name>p2-semantics</data:name>
14  <data:name>p3-payload</data:name>
15  <data:name>p4-conditional</data:name>
16  <data:name>p5-range</data:name>
17  <data:name>p6-cache</data:name>
18  <data:name>p7-auth</data:name>
19</data:specs>
20
21<xsl:template match="/">
22  <html>
23    <head>
24      <title>HTTP/1.1 Drafts: Combined Table of Contents</title>
25      <link type="text/css" href="http://www3.tools.ietf.org/wg/httpbis/trac/chrome/common/css/trac.css" rel="stylesheet"/>
26      <link type="image/x-icon" href="http://www.tools.ietf.org/ietf.ico" rel="icon"/>
27      <link type="image/x-icon" href="http://www.tools.ietf.org/ietf.ico" rel="shortcut icon"/>
28<style type="text/css" title="xml2rfc TOC">
29ul.toc {
30  list-style: none;
31  margin-left: 1.5em;
32  margin-right: 0em;
33  margin-top: 2px;
34  padding-left: 0em;
35  padding-bottom: 0em;
36}
37li.tocline0 {
38  line-height: normal;
39  font-weight: normal;
40  font-size: 11pt;
41  margin-left: 0em;
42  margin-right: 0em;
43}
44li.tocline1 {
45  line-height: normal;
46  font-weight: normal;
47  font-size: 9pt;
48  margin-left: 0em;
49  margin-right: 0em;
50}
51li.tocline2 {
52  font-size: 0pt;
53}
54#content { padding-top: 2em; position: relative }
55</style>
56    </head>
57    <body>
58      <div id="page">
59        <div id="banner">
60          <div id="mainnav" class="nav">
61            <ul><li class="first"><a accesskey="1" href="http://www3.tools.ietf.org/wg/httpbis/trac/wiki">Wiki</a></li>
62            <li><a accesskey="2" href="http://www3.tools.ietf.org/wg/httpbis/trac/timeline">Timeline</a></li>
63            <li><a href="http://www3.tools.ietf.org/wg/httpbis/trac/browser">Browse Source</a></li>
64            <li><a href="http://www3.tools.ietf.org/wg/httpbis/trac/report">View Tickets</a></li>
65            <li class="active"><a href="outlineALL.html">Outline Parts</a></li>
66            <li><a href="outline2616.html">Outline 2616</a></li>
67            <li class="last"><a href="http://lists.w3.org/Archives/Public/ietf-http-wg/">Mail Archive</a></li>
68            </ul>
69          </div>
70        </div>
71        <div id="content">
72          <h1>HTTP/1.1 Drafts: Combined Table of Contents</h1>
73          <xsl:for-each select="document('')//data:specs/data:name">
74            <xsl:variable name="doc" select="document(concat(.,'.xhtml'))"/>
75            <h2>
76              <a href="{concat(.,'.html')}">
77                <xsl:value-of select="$doc//xhtml:title"/>
78              </a>
79            </h2>
80            <xsl:apply-templates select="$doc//xhtml:body/xhtml:ul[@class='toc']" mode="tocgen"/>
81          </xsl:for-each>
82        </div>
83      </div>
84    </body>
85  </html>
86</xsl:template>
87
88<xsl:template match="xhtml:ul" mode="tocgen">
89  <ul class="{@class}">
90    <xsl:apply-templates mode="tocgen"/>
91  </ul>
92</xsl:template> 
93
94<xsl:template match="xhtml:li" mode="tocgen">
95  <li class="{@class}">
96    <xsl:apply-templates mode="tocgen"/>
97  </li>
98</xsl:template> 
99
100<xsl:template match="xhtml:a" mode="tocgen">
101  <xsl:variable name="basename" select="substring-after(//xhtml:meta[@name='DC.Identifier']/@content,'urn:ietf:id:')"/>
102  <a href="{concat(substring-before(substring-after($basename,'draft-ietf-httpbis-'),'-latest'),'.html')}{@href}">
103    <xsl:apply-templates mode="tocgen"/>
104  </a>
105</xsl:template> 
106
107</xsl:transform>
Note: See TracBrowser for help on using the repository browser.