1 <?xml version=
"1.0" encoding=
"UTF-8"?>
2 <xsl:stylesheet version=
"2.0"
3 xmlns:
xsl=
"http://www.w3.org/1999/XSL/Transform">
4 <xsl:output method=
"xml" indent=
"no" />
6 <xsl:include href=
"../../formats/html.xsl" />
8 <xsl:template match=
"/book">
11 <title><xsl:apply-templates select=
"title" /></title>
12 <xsl:element name=
"link">
13 <xsl:attribute name=
"rel">stylesheet
</xsl:attribute>
14 <xsl:attribute name=
"href"><xsl:value-of select=
"/book/base/@href" />shapes.css
</xsl:attribute>
18 <xsl:call-template name=
"head-navigation" />
19 <h1><xsl:apply-templates select=
"title" /></h1>
21 <xsl:apply-templates select=
"top" />
23 <xsl:for-each select=
"section">
25 <xsl:element name=
"a">
26 <xsl:attribute name=
"href">#
<xsl:value-of select=
"@id" /></xsl:attribute>
27 <xsl:apply-templates select=
"title" />
33 <p class=
"center"><b>Tolerance parameters
</b></p>
34 <xsl:for-each select=
"/book/tolerance-parameter[@name]">
35 <xsl:sort select=
"@name" />
37 <xsl:element name=
"a">
38 <xsl:attribute name=
"name">tol-
<xsl:value-of select=
"@name" /></xsl:attribute>
39 <tolparam><xsl:value-of select=
"@name" /></tolparam>
41 <xsl:text> :
</xsl:text><xsl:apply-templates select=
"default" /><xsl:text> ::
</xsl:text><xsl:apply-templates select=
"type" />
43 <xsl:apply-templates select=
"description" />
47 <xsl:for-each select=
"section">
49 <xsl:element name=
"a">
50 <xsl:attribute name=
"name"><xsl:value-of select=
"@id" /></xsl:attribute>
51 <xsl:value-of select=
"title" />
54 <xsl:apply-templates select=
"top" />
55 <xsl:apply-templates select=
"body" />
56 <xsl:for-each select=
"section">
57 <h3><xsl:apply-templates select=
"title" /></h3>
58 <xsl:apply-templates select=
"top" />
59 <xsl:apply-templates select=
"body" />
60 <xsl:for-each select=
"section">
61 <h4><xsl:apply-templates select=
"title" /></h4>
62 <xsl:apply-templates select=
"top" />
63 <xsl:apply-templates select=
"body" />
71 <xsl:template match=
"system-binding[@identifier]">
73 <xsl:element name=
"a">
74 <xsl:attribute name=
"name"><xsl:value-of select=
"@identifier" /></xsl:attribute>
75 <xsl:value-of select=
"@identifier" />
78 <xsl:apply-templates />
81 <xsl:template match=
"system-binding[@identifier]/function">
82 <xsl:apply-templates select=
"case"/>
85 <xsl:template match=
"system-binding[@identifier]/function/case[@constructor-of]">
88 <xsl:apply-templates select=
"arguments"/>→
<typename><xsl:value-of select=
"@constructor-of" /></typename>
90 <xsl:apply-templates select=
"dynamic-references"/>
91 <xsl:apply-templates select=
"description"/>
94 <xsl:template match=
"function/case/arguments/arg[@identifier]">
95 <xsl:call-template name=
"name-to-argument"><xsl:with-param name=
"name"><xsl:value-of select=
"@identifier" /></xsl:with-param></xsl:call-template>
96 <xsl:apply-templates select=
"default"/>
97 <xsl:apply-templates select=
"type"/>
98 <xsl:text> </xsl:text>
100 <xsl:template match=
"function/case/arguments/arg[not(@identifier)]">
101 <xsl:apply-templates select=
"default"/>
102 <xsl:apply-templates select=
"type"/>
103 <xsl:text> </xsl:text>
105 <xsl:template match=
"function/case/arguments/arg/default">:
<xsl:apply-templates /></xsl:template>
106 <xsl:template match=
"function/case/arguments/arg/type"><xsl:text>::
</xsl:text><xsl:apply-templates /></xsl:template>
108 <xsl:template match=
"dynamic-references[not(dynvar)]">
109 <p><b>Dynamic references:
</b><xsl:text> </xsl:text><em>none
</em></p>
111 <xsl:template match=
"dynamic-references[dynvar]">
112 <p><b>Dynamic references:
</b><xsl:text> </xsl:text>
113 <xsl:apply-templates />
117 <xsl:template match=
"system-binding[@identifier]/hot">
118 <p><b>Hot value
</b></p>
119 <p>Spawns states of type
<xsl:apply-templates select=
"constructor-of" />.
</p>