1005N/A<!
DOCTYPE xsl:
stylesheet [ <!ENTITY nbsp " "> ]>
1005N/A<
xsl:
stylesheet version="1.0" 1005N/A <!-- Please, don't hard-code output strings! Use the language --> 1005N/A <!-- files and the translation "stuff"... --> 1005N/A <!-- Constants used for case translation --> 1005N/A <
xsl:
variable name="lowercase" select="'abcdefghijklmnopqrstuvwxyz'" />
1005N/A <
xsl:
variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />
1005N/A used for inline content catching in <example>s 1005N/A <
xsl:
variable name="blockelements">
1005N/A p example note table ul ol dl pre img blockquote
1005N/A <!-- relative path to /manual/ --> 1005N/A <
xsl:
when test="*/relativepath/@href">
1005N/A <
xsl:
value-
of select="*/relativepath/@href"/>
1005N/A <
xsl:
value-
of select="'..'"/>
1005N/A <!-- load outsourced page types --> <!-- Utility templates for constructing pages --> <
xsl:
template name="head">
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
<
xsl:
value-
of select="name"/>
<
xsl:
value-
of select="title"/>
<
link title="Main stylesheet" type="text/css" media="all" rel="stylesheet" <
link title="No Sidebar - Default font size" type="text/css" media="all" rel="alternate stylesheet" <
xsl:
template name="top">
<
xsl:
call-
template name="super-menu" />
</
div>
<!-- /page-header --> <
a href="./"><
img src="{$path}/images/left.gif" alt="<-" title="<-" /></
a>
<!-- XXX: choose just for now, so it works until the translations are done! --> <
xsl:
text> > </
xsl:
text>
<
xsl:
text> > </
xsl:
text>
<
xsl:
text> > </
xsl:
text>
<
xsl:
text> > </
xsl:
text>
<
xsl:
text> > </
xsl:
text>
<
xsl:
text> > </
xsl:
text>
<
xsl:
text> > </
xsl:
text>
<
a href="{$path}/">Version 2.0</
a>
<
xsl:
text> > </
xsl:
text>
<
xsl:
template name="bottom">
<!-- XXX: choose just for now, so it works until the translations are done! --> <
xsl:
text>Maintained by the</
xsl:
text>
<
xsl:
call-
template name="super-menu"/>
<!-- Process a documentation section --> <
xsl:
template match="section">
<
xsl:
call-
template name="toplink"/>
<
a id="{@id}" name="{@id}">
<
xsl:
apply-
templates select="title" mode="print"/>
<
xsl:
apply-
templates select="title" mode="print"/>
</
div>
<!-- /.section --> <!-- handle subsections (lower level headings) --> <
a id="{@id}" name="{@id}">
<
xsl:
apply-
templates select="title" mode="print"/>
<
xsl:
apply-
templates select="title" mode="print"/>
<!-- (sub)section titles --> <!-- Don't print the title twice --> <!-- generate section index --> <
xsl:
template match="section" mode="index">
<
xsl:
apply-
templates select="title" mode="print"/>
<
xsl:
apply-
templates select="title" mode="print"/>
<xsl:apply-templates select="section" mode="index"/> <
xsl:
template name="super-menu">
<!-- XXX: choose just for now, so it works until the translations are done! --> <
a href="{$path}/mod/">Modules</
a>
<
a href="{$path}/faq/">FAQ</
a>
<!-- iterate over *all* nodes; bare text and other --> <!-- inline stuff is wrapped into <p><code>, block --> <!-- level elements (defined in $blockelements) are --> <
xsl:
variable name="blocks" select="concat(' ', normalize-space($blockelements), ' ')"/>
<
xsl:
template match="example">
<
xsl:
apply-
templates select="title" mode="print"/>
<
xsl:
for-
each select="/node()">
<
xsl:
variable name="is-block-node" select="boolean(contains($blocks, concat(' ',local-name(),' ')))"/>
<
xsl:
variable name="bb" select="count(preceding-sibling::*[contains($blocks,concat(' ',local-name(),' '))])"/>
<
xsl:
if test="$is-block-node or position()=last()">
<
xsl:
variable name="content">
<
xsl:
apply-
templates select="preceding-sibling::node()[count(preceding-sibling::*[contains($blocks,concat(' ',local-name(),' '))]) >= $bb]"/>
<
xsl:
apply-
templates select="self::node()[not($is-block-node)]"/>
<!-- apply bare text only, if it's not only \s or empty --> <
xsl:
if test="normalize-space($content) != ''">
<
xsl:
copy-
of select="$content"/>
<
xsl:
apply-
templates select="self::node()[$is-block-node]"/>
</
div>
<!-- /.example --> <!-- don't print twice --> <!-- Notes are placed in a table. Uses different back- --> <!-- ground colors, depending on type of note. --> <
xsl:
template match="note">
<
xsl:
when test="@type='warning'">
<!-- Inserts link to another directive, which might be --> <!-- in another module. References are converted into --> <
xsl:
template match="directive" name="directive">
<
xsl:
variable name="lowerdirective" select="translate(., $uppercase, $lowercase)"/>
<
a href="#{$lowerdirective}">
<
xsl:
if test="@type='section'"><</
xsl:
if>
<
xsl:
value-
of select="."/>
<
xsl:
if test="@type='section'">></
xsl:
if>
<
a href="{$path}/mod/{@module}.html#{$lowerdirective}">
<
xsl:
if test="@type='section'"><</
xsl:
if>
<
xsl:
value-
of select="."/>
<
xsl:
if test="@type='section'">></
xsl:
if>
<
xsl:
if test="not(@module)">
<
xsl:
if test="@type='section'"><</
xsl:
if>
<
xsl:
value-
of select="."/>
<
xsl:
if test="@type='section'">></
xsl:
if>
<!-- Inserts a link to refereed module --> <
xsl:
template match="module" name="module">
<
a href="{$path}/mod/{.}.html">
<
xsl:
value-
of select="."/>
<
xsl:
template match="related">
<
xsl:
if test="count(modulelist/*) > 0">
<
xsl:
apply-
templates select="modulelist"/>
<
xsl:
if test="count(directivelist/*) > 0">
<
xsl:
apply-
templates select="directivelist"/>
<
xsl:
for-
each select="module">
<
xsl:
call-
template name="module"/>
<
xsl:
for-
each select="directive">
<
xsl:
call-
template name="directive"/>
<
xsl:
template match="table">
<
xsl:
if test="not(@border)">
<
xsl:
template match="ol">
<
xsl:
if test="@type = 'A'">
<
xsl:
if test="not(@type)">
<!-- Passes through content --> <
xsl:
template match="summary">
<!-- Passes through content --> <
xsl:
template match="description">
<!-- Passes through content --> <
xsl:
template match="usage">
<!-- Passes through content --> <
xsl:
template match="syntax">
<
xsl:
template name="toplink">
<
a href="#page-header"><
img src="{$path}/images/up.gif" alt="top" /></
a>
<!-- Process everything else by just passing it through --> <
xsl:
template match="*|@*">
<
xsl:
apply-
templates select="@*|*|text()"/>