Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/boost_1_34_1/tools/boostbook/xsl/reference.xsl @ 29

Last change on this file since 29 was 29, checked in by landauf, 17 years ago

updated boost from 1_33_1 to 1_34_1

File size: 4.2 KB
Line 
1<?xml version="1.0" encoding="utf-8"?>
2<!--
3   Copyright (c) 2002 Douglas Gregor <doug.gregor -at- gmail.com>
4 
5   Distributed under the Boost Software License, Version 1.0.
6   (See accompanying file LICENSE_1_0.txt or copy at
7   http://www.boost.org/LICENSE_1_0.txt)
8  -->
9<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
10                version="1.0">
11  <xsl:include href="annotation.xsl"/>
12  <xsl:include href="template.xsl"/>
13  <xsl:include href="function.xsl"/>
14  <xsl:include href="type.xsl"/>
15  <xsl:include href="source-highlight.xsl"/>
16  <xsl:include href="utility.xsl"/>
17  <xsl:include href="lookup.xsl"/>
18  <xsl:include href="library.xsl"/>
19  <xsl:include href="index.xsl"/>
20  <xsl:include href="error.xsl"/>
21  <xsl:include href="macro.xsl"/>
22  <xsl:include href="testing/testsuite.xsl"/>
23  <xsl:include href="caramel/concept2docbook.xsl"/>
24 
25  <xsl:template name="namespace-synopsis">
26    <xsl:param name="indentation" select="0"/>
27    <!-- Open namespace-->
28    <xsl:call-template name="indent">
29      <xsl:with-param name="indentation" select="$indentation"/>
30    </xsl:call-template>
31    <xsl:call-template name="source-highlight">
32      <xsl:with-param name="text" select="concat('namespace ',@name)"/>
33    </xsl:call-template>
34    <xsl:text> {</xsl:text>
35   
36    <!-- Emit namespace types -->
37    <xsl:apply-templates select="class|class-specialization|
38                                 struct|struct-specialization|
39                                 union|union-specialization|
40                                 typedef|enum|data-member" mode="synopsis">
41      <xsl:with-param name="indentation" select="$indentation + 2"/>
42    </xsl:apply-templates>
43   
44    <!-- Emit namespace functions -->
45    <xsl:apply-templates 
46      select="free-function-group|function|overloaded-function" 
47      mode="synopsis">
48      <xsl:with-param name="indentation" select="$indentation + 2"/>
49    </xsl:apply-templates>
50   
51    <!-- Emit namespaces -->
52    <xsl:apply-templates select="namespace" mode="synopsis">
53      <xsl:with-param name="indentation" select="$indentation + 2"/>
54    </xsl:apply-templates>
55   
56    <!-- Close namespace -->
57    <xsl:text>&#10;</xsl:text>
58    <xsl:call-template name="indent">
59      <xsl:with-param name="indentation" select="$indentation"/>
60    </xsl:call-template>
61    <xsl:text>}</xsl:text>
62  </xsl:template>
63
64  <!-- Emit namespace synopsis -->
65  <xsl:template match="namespace" mode="synopsis">
66    <xsl:param name="indentation" select="0"/>
67
68    <xsl:choose>
69      <xsl:when test="count(ancestor::namespace)=0">
70        <xsl:call-template name="namespace-synopsis">
71          <xsl:with-param name="indentation" select="$indentation"/>
72        </xsl:call-template>
73      </xsl:when>
74      <xsl:otherwise>
75        <xsl:text>&#10;</xsl:text>
76        <xsl:call-template name="namespace-synopsis">
77          <xsl:with-param name="indentation" select="$indentation"/>
78        </xsl:call-template>
79      </xsl:otherwise>
80    </xsl:choose>
81  </xsl:template>
82
83  <!-- Emit namespace reference -->
84  <xsl:template match="namespace" mode="reference">
85    <xsl:apply-templates select="namespace|typedef|free-function-group"
86      mode="reference">
87      <xsl:with-param name="indentation" select="0"/>
88    </xsl:apply-templates>
89    <xsl:apply-templates select="class|class-specialization|
90                                 struct|struct-specialization|
91                                 union|union-specialization|enum|function|
92                                 overloaded-function|data-member" 
93      mode="namespace-reference"/>
94  </xsl:template>
95
96  <!-- Eat extra documentation when in the synopsis or reference sections -->
97  <xsl:template match="para|section" mode="synopsis"/>
98  <xsl:template match="para|section" mode="reference"/>
99
100  <!-- Comment mode tries to wipe out any extra spacing in the output -->
101  <xsl:template match="purpose" mode="comment">
102    <xsl:apply-templates mode="comment"/>
103  </xsl:template>
104
105  <xsl:template match="simpara|para" mode="comment">
106    <xsl:apply-templates select="text()|*" mode="comment"/>
107  </xsl:template>
108
109  <xsl:template match="text()" mode="comment">
110    <xsl:value-of select="."/>
111  </xsl:template>
112
113  <xsl:template match="*" mode="comment">
114    <xsl:apply-templates select="." mode="annotation"/>
115  </xsl:template>
116</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.