mirror of https://gitlab.com/QEF/q-e.git
1178 lines
39 KiB
XML
1178 lines
39 KiB
XML
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
|
|
<!--
|
|
***
|
|
*** THIS FILE IS a XSL STYLESHEET FOR TRANSFORMING INPUT_*.xml to INPUT_*.html
|
|
***
|
|
-->
|
|
|
|
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
|
|
|
<!--<xsl:strip-space elements="*"/>-->
|
|
<xsl:output method="html"/>
|
|
|
|
<!-- params that are passed on command line -->
|
|
<xsl:param name="version"/>
|
|
<xsl:param name="current-date"/>
|
|
|
|
<!-- *** ROOT *** -->
|
|
|
|
<xsl:template match="/input_description">
|
|
<html>
|
|
<head>
|
|
<xsl:comment> *** FILE AUTOMATICALLY CREATED: DO NOT EDIT, CHANGES WILL BE LOST *** </xsl:comment>
|
|
<meta http-equiv="Content-Style-Type" CONTENT="text/css" />
|
|
<style>
|
|
body {
|
|
background-color:#ffffff;
|
|
font:normal 14px/1.8em arial, helvetica, sans-serif;
|
|
width:900px;
|
|
text-align:justify;
|
|
margin: 30 10 10 30;
|
|
}
|
|
|
|
h1 {
|
|
font-size:24px;
|
|
}
|
|
|
|
h2 {
|
|
font-size:18px;
|
|
}
|
|
|
|
h3 {
|
|
font-size:16px;
|
|
}
|
|
pre, tt, code {
|
|
font-size:14px;
|
|
}
|
|
.syntax, .syntax table {
|
|
font-size:14px;
|
|
}
|
|
span.namelist {
|
|
color: #214478;
|
|
}
|
|
span.card {
|
|
color: #782167;
|
|
}
|
|
span.flag {
|
|
color: #008000;
|
|
font-weight: bold;
|
|
}
|
|
</style>
|
|
<title><xsl:value-of select="@program"/>: input description</title>
|
|
</head>
|
|
<body>
|
|
<a name="__top__"></a>
|
|
<table style="border-width: 0; table-layout: auto; width: 100%; text-align: left; vertical-align: top; background: #00395a;">
|
|
<tr>
|
|
<th style="margin: 3 3 3 10; background: #005789; background: linear-gradient(rgba(0,87,137,1),rgba(0,119,189,1)); color: #ffffee; ">
|
|
<h1 style="margin: 10 10 10 15; text-align: left;"> Input File Description </h1>
|
|
<h2 style="margin: 10 10 10 15; text-align: left;"> Program:
|
|
<xsl:value-of select="@program"/> / <xsl:value-of select="@package"/> / <xsl:value-of select="@distribution"/>
|
|
<xsl:if test="$version">
|
|
<span style="font-weight: normal;"> (version: <xsl:value-of select="string($version)"/>)</span>
|
|
</xsl:if>
|
|
</h2>
|
|
</th>
|
|
</tr>
|
|
<tr><td style="padding: 10 3 3 3; background: #ffffff; color: #222222; ">
|
|
<xsl:apply-templates/>
|
|
</td></tr>
|
|
</table>
|
|
<small>
|
|
This file has been created by helpdoc utility<xsl:if test="$version"> on <xsl:value-of select="$current-date" /></xsl:if>.
|
|
</small>
|
|
</body>
|
|
</html>
|
|
</xsl:template>
|
|
|
|
|
|
<!-- *** TOC *** -->
|
|
|
|
<xsl:template match="toc">
|
|
<blockquote style="margin-bottom: 2em;">
|
|
<h3>TABLE OF CONTENTS</h3>
|
|
<blockquote>
|
|
<xsl:apply-templates select=".." mode="toc"/>
|
|
</blockquote>
|
|
</blockquote>
|
|
</xsl:template>
|
|
|
|
|
|
<!-- TOC templates, i.e. mode = "toc" -->
|
|
|
|
<xsl:template match="intro" mode="toc">
|
|
<p><a href="#{generate-id(.)}">INTRODUCTION</a></p>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="supercard" mode="toc">
|
|
<p><a href="#{generate-id(.)}"><xsl:call-template name="supercard_name"/></a></p>
|
|
<blockquote>
|
|
<xsl:apply-templates select="./supercard | ./namelist | ./card | ./linecard |
|
|
./optional | ./conditional | ./group | ./if | ./choose " mode="toc"/>
|
|
</blockquote>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="optional | conditional | group | if" mode="toc">
|
|
<xsl:apply-templates select="./supercard | ./namelist | ./card | ./linecard |
|
|
./optional | ./conditional | ./group | ./if | ./choose " mode="toc"/>
|
|
</xsl:template>
|
|
<xsl:template match="choose" mode="toc">
|
|
<xsl:for-each select="./when | ./elsewhen | ./ otherwise">
|
|
<xsl:apply-templates select="./supercard | ./namelist | ./card | ./linecard |
|
|
./optional | ./conditional | ./group | ./if | ./choose " mode="toc"/>
|
|
</xsl:for-each>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="linecard" mode="toc">
|
|
<p><a href="#{generate-id(.)}">Line-of-input:</a><xsl:text> </xsl:text>
|
|
<xsl:apply-templates select=".//var | .//dimension | .//multidimension | .//list" mode="toc"/></p>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="namelist | card" mode="toc">
|
|
<p><a href="#{generate-id(.)}">
|
|
<xsl:if test="name(.)='namelist'">&</xsl:if>
|
|
<xsl:value-of select="@name"/>
|
|
</a></p>
|
|
<xsl:if test=".//var != '' or
|
|
.//dimension != '' or
|
|
.//multidimension != '' or
|
|
.//list != '' or
|
|
.//col != '' or
|
|
.//row != ''">
|
|
<blockquote>
|
|
<xsl:apply-templates select=".//var | .//dimension | .//multidimension | .//list | .//col | .//row" mode="toc"/>
|
|
</blockquote>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="var | dimension | multidimension" mode="toc">
|
|
<xsl:if test="info != '' or
|
|
status != '' or
|
|
see != '' or
|
|
options != '' or
|
|
../../vargroup/info != '' or
|
|
../../dimensiongroup/info != '' or
|
|
../../dimensiongroup/options != '' or
|
|
../../multidimensiongroup/info != '' or
|
|
../../multidimensiongroup/options != ''">
|
|
<a href="#{generate-id(.)}"><xsl:value-of select="@name"/></a>
|
|
<xsl:if test="not(position()=last())">
|
|
<xsl:text> | </xsl:text>
|
|
</xsl:if>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="list" mode="toc">
|
|
<xsl:if test="info != '' or status != '' or see != '' or options != ''">
|
|
<a href="#{generate-id(.)}"><xsl:value-of select="format"/></a>
|
|
<xsl:if test="not(position()=last())">
|
|
<xsl:text> | </xsl:text>
|
|
</xsl:if>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="col" mode="toc">
|
|
<xsl:if test="info != '' or status != '' or see != '' or options != ''">
|
|
<a href="#{generate-id(.)}"><xsl:value-of select="@name"/></a>
|
|
<xsl:if test="not(position()=last())">
|
|
<xsl:text> | </xsl:text>
|
|
</xsl:if>
|
|
</xsl:if>
|
|
<xsl:if test="ancestor::colgroup/info != '' or ancestor::colgroup/options != ''">
|
|
<a href="#{generate-id(.)}"><xsl:value-of select="@name"/></a>
|
|
<xsl:if test="not(position()=last())">
|
|
<xsl:text> | </xsl:text>
|
|
</xsl:if>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="row" mode="toc">
|
|
<xsl:if test="info != '' or status != '' or see != '' or options != ''">
|
|
<a href="#{generate-id(.)}"><xsl:value-of select="@name"/></a>
|
|
<xsl:if test="not(position()=last())">
|
|
<xsl:text> | </xsl:text>
|
|
</xsl:if>
|
|
</xsl:if>
|
|
<xsl:if test="ancestor::rowgroup/info != '' or ancestor::colgroup/options != ''">
|
|
<a href="#{generate-id(.)}"><xsl:value-of select="@name"/></a>
|
|
<xsl:if test="not(position()=last())">
|
|
<xsl:text> | </xsl:text>
|
|
</xsl:if>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
<!-- aaaaa -->
|
|
<xsl:template match="section" mode="toc">
|
|
<p><a href="#{generate-id(.)}"><xsl:value-of select="@title"/></a></p>
|
|
<xsl:apply-templates select="subsection" mode="toc"/>
|
|
</xsl:template>
|
|
|
|
<!--new: END-->
|
|
|
|
<xsl:template match="subsection" mode="toc">
|
|
<blockquote>
|
|
<a href="#{generate-id(.)}"><xsl:value-of select="@title"/></a>
|
|
<xsl:apply-templates select="subsubsection" mode="toc"/>
|
|
</blockquote>
|
|
</xsl:template>
|
|
<xsl:template match="subsubsection" mode="toc">
|
|
<blockquote>
|
|
<a href="#{generate-id(.)}"><xsl:value-of select="@title"/></a>
|
|
</blockquote>
|
|
</xsl:template>
|
|
<!-- END of TOC templates -->
|
|
|
|
<xsl:template name="supercard_name">
|
|
<xsl:choose>
|
|
<xsl:when test="@starttag != ''">
|
|
<xsl:value-of select="@starttag"/>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:value-of select="@name"/>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
|
|
<!-- back-to-top -->
|
|
|
|
<xsl:template name="back_to_top">
|
|
<div align="right" style="margin-bottom: 5;">[<a href="#__top__">Back to Top</a>]</div>
|
|
</xsl:template>
|
|
|
|
|
|
<!-- *** INTRO *** -->
|
|
|
|
<xsl:template match="intro">
|
|
<blockquote>
|
|
<a name="{generate-id()}"></a>
|
|
<h3>INTRODUCTION</h3>
|
|
<blockquote>
|
|
<pre>
|
|
<xsl:apply-templates/>
|
|
</pre>
|
|
</blockquote>
|
|
</blockquote>
|
|
</xsl:template>
|
|
|
|
|
|
<!-- *** GROUP *** -->
|
|
|
|
<xsl:template match="group">
|
|
<table style="border-color: #bb9977; border-style: solid; border-width: 3; margin-bottom: 10; table-layout: auto; background-color: #FFddbb; width: 100%; padding: 5 5 0 30">
|
|
<tr><td>
|
|
<xsl:apply-templates/>
|
|
</td></tr>
|
|
</table>
|
|
</xsl:template>
|
|
|
|
|
|
<!-- *** NAMELIST *** -->
|
|
|
|
<xsl:template match="namelist">
|
|
<a name="{generate-id(.)}"></a>
|
|
<a name="{@name}"></a>
|
|
<table border="0" width="100%" style="margin-bottom: 20;">
|
|
<tr>
|
|
<th bgcolor="#ddcba6">
|
|
<h2 style="margin: 10 10 10 15; text-align: left;"> Namelist: <span class="namelist"><span style="font-weight:normal">&</span><xsl:value-of select="@name"/></span> </h2>
|
|
</th>
|
|
</tr>
|
|
<tr><td style="text-align: left; background: #ffebc6; padding: 5 5 5 30; ">
|
|
<table style="border-color: #505087; border-style: solid; border-width: 0; margin-bottom: 10; table-layout: auto; width: 800;">
|
|
<tbody>
|
|
<tr><td>
|
|
<xsl:apply-templates/>
|
|
</td></tr>
|
|
</tbody>
|
|
</table>
|
|
</td></tr>
|
|
</table>
|
|
</xsl:template>
|
|
|
|
<!-- *** SUPERCARD *** -->
|
|
|
|
<xsl:template match="supercard">
|
|
<a name="{generate-id(.)}"></a>
|
|
<a name="{@name}"></a>
|
|
<table style="table-layout: auto; width: 100%; border: 3px solid #1b587b; border-collapse: collapse; margin: 10 5 20 5; padding-right: 5px;">
|
|
<tr>
|
|
<th bgcolor="#c8c4b7">
|
|
<h2 style="margin: 10 10 10 15; text-align: left; white-space: nowrap;">
|
|
<xsl:call-template name="supercard_name"/>
|
|
</h2>
|
|
</th>
|
|
</tr>
|
|
<tr>
|
|
<td bgcolor="#eeeeee" style="padding: 5 10 5 15;">
|
|
<i>Syntax of this supercard is the following:</i>
|
|
<br/>
|
|
<pre><xsl:call-template name="supercard_name"/><br/><i>  ... content of the supercard here ...</i><br/><xsl:value-of select="@endtag"/></pre>
|
|
<i>and the content is:</i>
|
|
</td>
|
|
</tr>
|
|
<xsl:if test="@remark != ''">
|
|
<tr>
|
|
<td style="padding: 10 10 10 15; background: #ffffff; text-align: left;">
|
|
<i>( <b>Remark:</b> <xsl:value-of select="@remark"/> )</i>
|
|
</td>
|
|
</tr>
|
|
</xsl:if>
|
|
|
|
<tr><td style="text-align: left; background: #ffffff; padding: 5 5 5 30; ">
|
|
<xsl:apply-templates/>
|
|
</td></tr>
|
|
<xsl:if test="@endtag != ''">
|
|
<tr>
|
|
<th bgcolor="#c8c4b7">
|
|
<h2 style="margin: 10 10 10 15; text-align: left; white-space: nowrap;">
|
|
<xsl:value-of select="@endtag"/>
|
|
</h2>
|
|
</th>
|
|
</tr>
|
|
</xsl:if>
|
|
</table>
|
|
</xsl:template>
|
|
|
|
<!-- *** CARD *** -->
|
|
|
|
<xsl:template match="card">
|
|
<a name="{generate-id(.)}"></a>
|
|
<a name="{@name}"></a>
|
|
<table border="0" style="margin-bottom: 20; table-layout: auto; width: 100%;">
|
|
<tr>
|
|
<th bgcolor="#ddcba6">
|
|
<h2 style="margin: 10 10 10 15; text-align: left; white-space: nowrap;">
|
|
Card: <span class="card"><xsl:value-of select="@name"/></span>
|
|
<xsl:choose>
|
|
<xsl:when test="flag/@use = 'optional'">
|
|
<xsl:text> { </xsl:text>
|
|
<xsl:call-template name="tokenize_enum">
|
|
<xsl:with-param name="enums" select="flag/enum"/>
|
|
</xsl:call-template>
|
|
<!--<span class="flag"><xsl:value-of select="flag/enum"/></span>-->
|
|
<xsl:text> } </xsl:text>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:text> </xsl:text>
|
|
<xsl:call-template name="tokenize_enum">
|
|
<xsl:with-param name="enums" select="flag/enum"/>
|
|
</xsl:call-template>
|
|
<!--<span class="flag"><xsl:value-of select="flag/enum"/></span>-->
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</h2>
|
|
</th>
|
|
</tr>
|
|
|
|
<tr><td style="text-align: left; background: #ffebc6; padding: 5 5 5 30; ">
|
|
<table style="border-color: #505087; border-style: solid; border-width: 0; margin-bottom: 10; table-layout: auto; width: 100%;">
|
|
<tbody>
|
|
<tr><td>
|
|
<xsl:apply-templates select="syntax | if | choose | label | message"/>
|
|
</td></tr>
|
|
<xsl:if test=".//info != '' or
|
|
./status != '' or
|
|
.//see != '' or
|
|
.//options != ''">
|
|
<tr><td>
|
|
<h3>Description of items:</h3>
|
|
<blockquote>
|
|
<!-- here: apply templates ... -->
|
|
<xsl:apply-templates select="flag | descendant::vargroup | descendant::var | descendant::list | descendant::table" mode="card_description"/>
|
|
</blockquote>
|
|
</td></tr>
|
|
</xsl:if>
|
|
</tbody>
|
|
</table>
|
|
</td></tr>
|
|
</table>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="tokenize_enum">
|
|
<xsl:param name="enums"/>
|
|
<xsl:variable name="first-enum" select="normalize-space(substring-before(concat($enums, '|'), '|'))"/>
|
|
<xsl:if test="$first-enum">
|
|
<span class="flag"><xsl:value-of select="$first-enum"/></span>
|
|
<xsl:if test="not($first-enum = normalize-space($enums))"><xsl:text> | </xsl:text></xsl:if>
|
|
<xsl:call-template name="tokenize_enum">
|
|
<xsl:with-param name="enums" select="substring-after($enums,'|')" />
|
|
</xsl:call-template>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
<!-- card/syntax -->
|
|
|
|
<xsl:template match="syntax">
|
|
<h3>Syntax:</h3>
|
|
<blockquote>
|
|
<xsl:if test="boolean(ancestor::card/@nameless) = false()">
|
|
<b style="white-space: nowrap;">
|
|
<xsl:value-of select="ancestor::card/@name"/>
|
|
<xsl:choose>
|
|
<xsl:when test="normalize-space(@flag) = ''">
|
|
<xsl:choose>
|
|
<xsl:when test="ancestor::card/flag/@use = 'optional'">
|
|
<xsl:text> { </xsl:text>
|
|
<xsl:value-of select="ancestor::card/flag/enum" />
|
|
<xsl:text> } </xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="ancestor::card/flag/@use = 'conditional'">
|
|
<xsl:text> [ </xsl:text>
|
|
<xsl:value-of select="ancestor::card/flag/enum" />
|
|
<xsl:text> ] </xsl:text>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:text> </xsl:text><xsl:value-of select="ancestor::card/flag/enum" />
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:text> </xsl:text><xsl:value-of select="@flag" />
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</b>
|
|
<br/>
|
|
</xsl:if>
|
|
<div class="syntax">
|
|
<xsl:apply-templates select="table | line | optional | conditional | list" mode="syntax"/>
|
|
</div>
|
|
</blockquote>
|
|
</xsl:template>
|
|
|
|
<!-- card//syntax//line -->
|
|
|
|
<xsl:template match="line" mode="syntax">
|
|
<xsl:apply-templates select="optional | conditional | var | keyword | constant | etc | vargroup | list" mode="syntax"/>
|
|
<br/>
|
|
</xsl:template>
|
|
|
|
|
|
<!-- card//syntax//optional -->
|
|
|
|
<xsl:template match="optional" mode="syntax">
|
|
<!--<div style="background: #eeeeee; color: #555555;">-->
|
|
<xsl:text> { </xsl:text>
|
|
<xsl:apply-templates select="line | var | vargroup | list | keyword | constant | etc | table" mode="syntax"/>
|
|
<xsl:text> } </xsl:text>
|
|
<!--</div>-->
|
|
</xsl:template>
|
|
|
|
<!-- card//syntax//conditional -->
|
|
|
|
<xsl:template match="conditional" mode="syntax">
|
|
<xsl:text> [ </xsl:text>
|
|
<xsl:apply-templates select="line | var | vargroup | list | keyword | constant | etc | table" mode="syntax"/>
|
|
<xsl:text> ] </xsl:text>
|
|
</xsl:template>
|
|
|
|
<!-- card//syntax//keyword -->
|
|
|
|
<xsl:template match="keyword" mode="syntax">
|
|
<b><xsl:value-of select="@name"/></b><xsl:text>  </xsl:text>
|
|
</xsl:template>
|
|
|
|
<!-- card//syntax//constant -->
|
|
|
|
<xsl:template match="constant" mode="syntax">
|
|
<xsl:apply-templates/><xsl:text>  </xsl:text>
|
|
</xsl:template>
|
|
|
|
<!-- card//syntax//etc -->
|
|
|
|
<xsl:template match="etc" mode="syntax">
|
|
<xsl:text>. . .  </xsl:text>
|
|
</xsl:template>
|
|
|
|
<!-- card//syntax//list -->
|
|
|
|
<xsl:template match="list" mode="syntax">
|
|
<i>
|
|
<xsl:choose>
|
|
<xsl:when test="info != '' or options != ''">
|
|
<a href="#{generate-id(.)}"><xsl:value-of select="format"/></a>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:value-of select="format"/>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</i>
|
|
<xsl:text>  </xsl:text>
|
|
</xsl:template>
|
|
|
|
<!-- card//syntax//var -->
|
|
|
|
<xsl:template match="var" mode="syntax">
|
|
<i>
|
|
<xsl:choose>
|
|
<xsl:when test="info != '' or options != '' or status != '' or see != '' or
|
|
../../vargroup/info != '' or ../../vargroup/options != ''">
|
|
<a href="#{generate-id(.)}"><xsl:value-of select="@name"/></a>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:value-of select="@name"/>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</i>
|
|
<xsl:text>  </xsl:text>
|
|
</xsl:template>
|
|
|
|
<!-- card//syntax//vargroup -->
|
|
|
|
<xsl:template match="vargroup" mode="syntax">
|
|
<xsl:apply-templates select="var | constant | keyword" mode="syntax"/>
|
|
</xsl:template>
|
|
|
|
<!-- card//syntax//table -->
|
|
|
|
<xsl:template match="table" mode="syntax">
|
|
<a name="{generate-id(.)}"></a>
|
|
<table>
|
|
<xsl:apply-templates select="rows | cols" mode="syntaxTableMode"/>
|
|
</table>
|
|
</xsl:template>
|
|
|
|
<!-- syntax//table/rows -->
|
|
|
|
<xsl:template match="rows" mode="syntaxTableMode">
|
|
<tr>
|
|
<xsl:call-template name="row">
|
|
<xsl:with-param name="rowID"><xsl:value-of select="@start"/></xsl:with-param>
|
|
</xsl:call-template>
|
|
</tr>
|
|
<tr>
|
|
<xsl:call-template name="row">
|
|
<xsl:with-param name="rowID"><xsl:value-of select="number(@start+1)"/></xsl:with-param>
|
|
</xsl:call-template>
|
|
</tr>
|
|
<xsl:choose>
|
|
<xsl:when test="number(@end) != @end">
|
|
<tr><td colspan="2"><xsl:text> . . .</xsl:text></td></tr>
|
|
<tr>
|
|
<xsl:call-template name="row">
|
|
<xsl:with-param name="rowID"><xsl:value-of select="@end"/></xsl:with-param>
|
|
</xsl:call-template>
|
|
</tr>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:if test="number(@end) > number(@start+2)">
|
|
<tr><td colspan="2"><xsl:text> . . .</xsl:text></td></tr>
|
|
</xsl:if>
|
|
<xsl:if test="number(@end) > number(@start+1)">
|
|
<tr>
|
|
<xsl:call-template name="row">
|
|
<xsl:with-param name="rowID"><xsl:value-of select="@end"/></xsl:with-param>
|
|
</xsl:call-template>
|
|
</tr>
|
|
</xsl:if>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="row">
|
|
<xsl:param name="rowID" select="1"/>
|
|
<xsl:apply-templates select="col | colgroup | optional | conditional" mode="rowMode">
|
|
<xsl:with-param name="rowID" select="$rowID"/>
|
|
</xsl:apply-templates>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="colgroup" mode="rowMode">
|
|
<xsl:param name="rowID"/>
|
|
<xsl:apply-templates select="col | optional | conditional" mode="rowMode">
|
|
<xsl:with-param name="rowID" select="$rowID"/>
|
|
</xsl:apply-templates>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="optional" mode="rowMode">
|
|
<xsl:param name="rowID"/>
|
|
<td><xsl:text> { </xsl:text></td>
|
|
<xsl:apply-templates select="col | colgroup | conditional | optional" mode="rowMode">
|
|
<xsl:with-param name="rowID" select="$rowID"/>
|
|
</xsl:apply-templates>
|
|
<td><xsl:text> } </xsl:text></td>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="conditional" mode="rowMode">
|
|
<xsl:param name="rowID"/>
|
|
<td><xsl:text> [ </xsl:text></td>
|
|
<xsl:apply-templates select="col | colgroup | conditional | optional" mode="rowMode">
|
|
<xsl:with-param name="rowID" select="$rowID"/>
|
|
</xsl:apply-templates>
|
|
<td><xsl:text> ] </xsl:text></td>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="col" mode="rowMode">
|
|
<xsl:param name="rowID"/>
|
|
<td style="white-space:nowrap">
|
|
<xsl:text> </xsl:text>
|
|
<i>
|
|
<xsl:choose>
|
|
<xsl:when test="info != '' or options != '' or status != '' or see != ''
|
|
or ../../colgroup/info != '' or ../../colgroup/options != ''">
|
|
<a href="#{generate-id(.)}"><xsl:value-of select="@name"/>(<xsl:value-of select="$rowID"/>)</a>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:value-of select="@name"/>(<xsl:value-of select="$rowID"/>)
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</i>
|
|
<xsl:text> </xsl:text>
|
|
</td>
|
|
</xsl:template>
|
|
|
|
<!-- syntax//table/cols -->
|
|
|
|
<xsl:template match="cols" mode="syntaxTableMode">
|
|
<xsl:apply-templates select="row | rowgroup | optional | conditional" mode="colsMode">
|
|
<xsl:with-param name="colsOptional" select="false()"/>
|
|
<xsl:with-param name="colsConditional" select="false()"/>
|
|
</xsl:apply-templates>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="row" mode="colsMode">
|
|
<xsl:param name="colsOptional" select="false()"/>
|
|
<xsl:param name="colsConditional" select="false()"/>
|
|
<tr>
|
|
<td align="right" style="white-space:nowrap">
|
|
<xsl:if test="$colsOptional = true()"><xsl:text>{  </xsl:text></xsl:if>
|
|
<xsl:if test="$colsConditional = true()"><xsl:text>[  </xsl:text></xsl:if>
|
|
</td>
|
|
<xsl:call-template name="insertColumns"/>
|
|
<td align="left" style="white-space:nowrap">
|
|
<xsl:if test="$colsConditional = true()"><xsl:text>  ]</xsl:text></xsl:if>
|
|
<xsl:if test="$colsOptional = true()"><xsl:text>  }</xsl:text></xsl:if>
|
|
</td>
|
|
</tr>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="rowgroup" mode="colsMode">
|
|
<xsl:param name="colsOptional"/>
|
|
<xsl:param name="colsConditional"/>
|
|
<xsl:apply-templates select="row | optional | conditional" mode="colsMode">
|
|
<xsl:with-param name="colsOptional" select="$colsOptional"/>
|
|
<xsl:with-param name="colsConditional" select="$colsConditional"/>
|
|
</xsl:apply-templates>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="optional" mode="colsMode">
|
|
<xsl:param name="colsOptional"/>
|
|
<xsl:param name="colsConditional"/>
|
|
<xsl:apply-templates select="row | rowgroup | conditional" mode="colsMode">
|
|
<xsl:with-param name="colsOptional" select="true()"/>
|
|
<xsl:with-param name="colsConditional" select="$colsConditional"/>
|
|
</xsl:apply-templates>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="conditional" mode="colsMode">
|
|
<xsl:param name="colsOptional"/>
|
|
<xsl:param name="colsConditional"/>
|
|
<xsl:apply-templates select="row | rowgroup | optional" mode="colsMode">
|
|
<xsl:with-param name="colsOptional" select="$colsOptional"/>
|
|
<xsl:with-param name="colsConditional" select="true()"/>
|
|
</xsl:apply-templates>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="insertColumns">
|
|
<xsl:call-template name="insertCol">
|
|
<xsl:with-param name="colID" select="ancestor::cols/@start"/>
|
|
</xsl:call-template>
|
|
<xsl:call-template name="insertCol">
|
|
<xsl:with-param name="colID" select="number(ancestor::cols/@start+1)"/>
|
|
</xsl:call-template>
|
|
<xsl:choose>
|
|
<xsl:when test="number(ancestor::cols/@end) != ancestor::cols/@end">
|
|
<td><xsl:text> . . .</xsl:text></td>
|
|
<xsl:call-template name="insertCol">
|
|
<xsl:with-param name="colID" select="ancestor::cols/@end"/>
|
|
</xsl:call-template>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:if test="number(ancestor::cols/@end) > number(ancestor::cols/@start+2)">
|
|
<td><xsl:text> . . .</xsl:text></td>
|
|
</xsl:if>
|
|
<xsl:if test="number(ancestor::cols/@end) > number(ancestor::cols/@start+1)">
|
|
<xsl:call-template name="insertCol">
|
|
<xsl:with-param name="colID" select="ancestor::cols/@end"/>
|
|
</xsl:call-template>
|
|
</xsl:if>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="insertCol">
|
|
<xsl:param name="colID"/>
|
|
<td>
|
|
<xsl:text> </xsl:text>
|
|
<i>
|
|
<xsl:choose>
|
|
<xsl:when test="info != '' or options != '' or status != '' or see != ''
|
|
or ../../rowgroup/info != '' or ../../rowgroup/options != ''">
|
|
<a href="#{generate-id(.)}"><xsl:value-of select="@name"/>(<xsl:value-of select="$colID"/>)</a>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:value-of select="@name"/>(<xsl:value-of select="$colID"/>)
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</i>
|
|
<xsl:text> </xsl:text>
|
|
</td>
|
|
</xsl:template>
|
|
|
|
|
|
<!-- *** LINECARD *** -->
|
|
|
|
<xsl:template match="linecard">
|
|
<a name="{generate-id(.)}"></a>
|
|
<table border="0" width="100%" style="margin-bottom: 20; ">
|
|
<tr>
|
|
<th bgcolor="#ddcba6">
|
|
<h3 style="margin: 10 10 10 15; text-align: left;">
|
|
Line of input
|
|
</h3>
|
|
</th>
|
|
</tr>
|
|
|
|
<tr><td style="text-align: left; background: #ffebc6; padding: 5 5 5 30; ">
|
|
<table style="border-color: #505087; border-style: solid; border-width: 0; margin-bottom: 10; table-layout: auto; width: 100%; ">
|
|
<tbody>
|
|
<tr><td>
|
|
<h3>Syntax:</h3>
|
|
<blockquote>
|
|
<xsl:apply-templates select="keyword | var | vargroup | list | optional | conditional" mode="syntax"/>
|
|
</blockquote>
|
|
</td></tr>
|
|
<tr><td>
|
|
<h3>Description of items:</h3>
|
|
<blockquote>
|
|
<xsl:apply-templates select="descendant::vargroup | descendant::var | descendant::list"/>
|
|
</blockquote>
|
|
</td></tr>
|
|
</tbody>
|
|
</table>
|
|
</td></tr>
|
|
</table>
|
|
</xsl:template>
|
|
|
|
<!-- *** LABEL *** -->
|
|
|
|
<xsl:template match="label">
|
|
<p><b><xsl:apply-templates/></b></p>
|
|
</xsl:template>
|
|
|
|
|
|
<!-- *** MESSAGE *** -->
|
|
|
|
<xsl:template match="message">
|
|
<p><pre>
|
|
<xsl:apply-templates/>
|
|
</pre></p>
|
|
</xsl:template>
|
|
|
|
|
|
<!-- *** IF *** -->
|
|
|
|
<xsl:template match="if">
|
|
<table style="border-color: #bb9977; border-style: solid; border-width: 3; margin-bottom: 10; table-layout: auto; background-color: #FFddbb; width: 100%; padding: 5 5 0 5">
|
|
<tr><td>
|
|
<b>IF </b> <tt><em><xsl:value-of select="@test"/></em> :</tt>
|
|
<blockquote>
|
|
<xsl:apply-templates/>
|
|
</blockquote>
|
|
</td></tr>
|
|
</table>
|
|
</xsl:template>
|
|
|
|
|
|
|
|
<!-- *** CHOOSE ... *** -->
|
|
|
|
<xsl:template match="choose">
|
|
<table style="border-color: #bb9977; border-style: solid; border-width: 3; margin-bottom: 10; table-layout: auto; width: 100%; padding: 5 5 0 5">
|
|
<tr><td>
|
|
<xsl:apply-templates select="when"/>
|
|
<xsl:apply-templates select="elsewhen"/>
|
|
<xsl:apply-templates select="otherwise"/>
|
|
</td></tr>
|
|
<xsl:apply-templates select="message | label" mode="choose"/>
|
|
</table>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="when">
|
|
<b>IF </b> <tt><em><xsl:value-of select="@test"/></em> :</tt>
|
|
<blockquote>
|
|
<table style="border-color: #bb9977; border-style: solid; border-width: 3; margin-bottom: 10; table-layout: auto; background-color: #FFddbb; width: 100%; padding: 5 5 0 30">
|
|
<tr><td>
|
|
<xsl:apply-templates/>
|
|
</td></tr>
|
|
</table>
|
|
</blockquote>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="elsewhen">
|
|
<b>ELSEIF </b> <tt><em><xsl:value-of select="@test"/></em> :</tt>
|
|
<blockquote>
|
|
<table style="border-color: #bb9977; border-style: solid; border-width: 3; margin-bottom: 10; table-layout: auto; background-color: #FFddbb; width: 100%; padding: 5 5 0 30">
|
|
<tr><td>
|
|
<xsl:apply-templates/>
|
|
</td></tr>
|
|
</table>
|
|
</blockquote>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="otherwise">
|
|
<b>ELSE </b>
|
|
<blockquote>
|
|
<table style="border-color: #bb9977; border-style: solid; border-width: 3; margin-bottom: 10; table-layout: auto; background-color: #FFddbb; width: 100%; padding: 5 5 0 30">
|
|
<tr><td>
|
|
<xsl:apply-templates/>
|
|
</td></tr>
|
|
</table>
|
|
</blockquote>
|
|
</xsl:template>
|
|
|
|
<!-- *** VARGROUP | DIMENSIONGROUP | MULTIDIMENSIONGROUP *** -->
|
|
|
|
<xsl:template match="vargroup | dimensiongroup | multidimensiongroup" mode="card_description">
|
|
<!--<xsl:if test="child::node() != ''">-->
|
|
<xsl:if test="info != '' or options != '' or status != '' or see != ''">
|
|
<xsl:apply-templates select="."/>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
<!-- *** VAR | DIMENSION | LIST | FLAG *** -->
|
|
|
|
<xsl:template match="var | list | dimension | multidimension | flag" mode="card_description">
|
|
<!--<xsl:if test="child::node() != ''">-->
|
|
<xsl:if test="info != '' or options != '' or status != '' or see != ''">
|
|
<xsl:apply-templates select="."/>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="var | list | dimension | multidimension | flag">
|
|
<xsl:if test="name(..) != 'vargroup' and name(..) != 'dimensiongroup' and name(..) != 'multidimensiongroup' ">
|
|
<a name="{generate-id(.)}"></a>
|
|
<a name="{substring-before(concat(@name,'('),'(')}"></a> <!-- to take care of cases if varname is specified as
|
|
dimension, i.e., varname(i,j,k) -->
|
|
<table width="100%" style="border-color: #b5b500; border-style: solid; border-width: 2; margin-bottom: 10; table-layout: auto; background-color: #FFFFFF;">
|
|
<tr>
|
|
<xsl:choose>
|
|
<xsl:when test="name(.)='var'">
|
|
<th align="left" valign="top" width="20%" style="background: #ffff99; padding: 2 2 2 10; ">
|
|
<xsl:value-of select="@name"/>
|
|
</th>
|
|
</xsl:when>
|
|
<xsl:when test="name(.)='dimension'">
|
|
<th width="20%" style="white-space: nowrap; text-align: left; vertical-align: top; background: #ffff99; padding: 2 2 2 10; ">
|
|
<xsl:value-of select="@name"/>(i), i=<xsl:value-of select="@start"/>,<xsl:value-of select="@end"/>
|
|
</th>
|
|
</xsl:when>
|
|
<xsl:when test="name(.)='multidimension'">
|
|
<th width="20%" style="white-space: nowrap; text-align: left; vertical-align: top; background: #ffff99; padding: 2 2 2 10; ">
|
|
<xsl:value-of select="@name"/>(<xsl:value-of select="@indexes"/>), (<xsl:value-of select="@indexes"/>) = (<xsl:value-of select="@start"/>) . . . (<xsl:value-of select="@end"/>)
|
|
</th>
|
|
</xsl:when>
|
|
<xsl:when test="name(.)='flag'">
|
|
<th width="20%" style="white-space: nowrap; text-align: left; vertical-align: top; background: #ffff99; padding: 2 2 2 10; ">
|
|
<i>Card's options:</i>
|
|
</th>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<th width="20%" style="white-space: nowrap; text-align: left; vertical-align: top; background: #ffff99; padding: 2 2 2 10; ">
|
|
<xsl:value-of select="format"/>
|
|
</th>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
<xsl:choose>
|
|
<xsl:when test="name(.) != 'flag'">
|
|
<td style="text-align: left; vertical-align: top; background: #ffffc3; padding: 2 2 2 5; ">
|
|
<xsl:value-of select="@type"/>
|
|
</td>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<th style="text-align: left; vertical-align: top; background: #ffffc3; padding: 2 2 2 5; ">
|
|
<xsl:call-template name="tokenize_enum">
|
|
<xsl:with-param name="enums" select="enum"/>
|
|
</xsl:call-template>
|
|
</th>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</tr>
|
|
<xsl:apply-templates select="default"/>
|
|
<xsl:apply-templates select="status"/>
|
|
<xsl:apply-templates select="see"/>
|
|
<xsl:apply-templates select="info | options"/>
|
|
</table>
|
|
<xsl:call-template name="back_to_top"/>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
<!-- *** VARGROUP | DIMENSIONGROUP *** -->
|
|
|
|
<xsl:template match="vargroup | dimensiongroup | multidimensiongroup">
|
|
<table width="100%" style="border-color: #b5b500; border-style: solid; border-width: 2; margin-bottom: 10; table-layout: auto; background-color: #FFFFFF;">
|
|
<tr>
|
|
<th align="left" valign="top" width="20%" style="white-space: nowrap; background: #ffff99; padding: 2 2 2 10; ">
|
|
<xsl:if test="name(.)='vargroup'">
|
|
<xsl:for-each select="var">
|
|
<a name="{generate-id(.)}"></a>
|
|
<a name="{substring-before(concat(@name,'('),'(')}"></a> <!-- to take care of cases if varname is specified as
|
|
dimension, i.e., varname(i,j,k) -->
|
|
<xsl:value-of select="@name"/><xsl:if test="not(position()=last())">, </xsl:if>
|
|
</xsl:for-each>
|
|
</xsl:if>
|
|
<xsl:if test="name(.)='dimensiongroup'">
|
|
<xsl:for-each select="dimension">
|
|
<a name="{generate-id(.)}"></a>
|
|
<a name="{substring-before(concat(@name,'('),'(')}"></a>
|
|
<xsl:value-of select="@name"/>(i),
|
|
<xsl:if test="position()=last()">
|
|
i=<xsl:value-of select="../@start"/>,<xsl:value-of select="../@end"/>
|
|
</xsl:if>
|
|
</xsl:for-each>
|
|
</xsl:if>
|
|
<xsl:if test="name(.)='multidimensiongroup'">
|
|
<xsl:for-each select="multdimension">
|
|
<a name="{generate-id(.)}"></a>
|
|
<a name="{substring-before(concat(@name,'('),'(')}"></a>
|
|
<xsl:value-of select="@name"/>(i),
|
|
<xsl:if test="position()=last()">
|
|
(<xsl:value-of select="../@indexes"/>)= (<xsl:value-of select="../@start"/>) . . . (<xsl:value-of select="../@end"/>)
|
|
</xsl:if>
|
|
</xsl:for-each>
|
|
</xsl:if>
|
|
|
|
</th>
|
|
<td style="text-align: left; vertical-align: top; background: #ffffc3; padding: 2 2 2 5; ">
|
|
<xsl:value-of select="@type"/>
|
|
</td>
|
|
</tr>
|
|
<xsl:apply-templates select="default"/>
|
|
<xsl:apply-templates select="status"/>
|
|
<xsl:apply-templates select="see"/>
|
|
<xsl:apply-templates select="info | options"/>
|
|
</table>
|
|
<xsl:call-template name="back_to_top"/>
|
|
</xsl:template>
|
|
|
|
<!-- *** VAR's elements *** -->
|
|
|
|
<xsl:template match="default">
|
|
<tr>
|
|
<td style="text-align: right; vertical-align: top; background: #ffffc3; padding: 2 10 2 10; "> <i>Default:</i> </td>
|
|
<td style="text-align: left; vertical-align: top; background: #fff3d9; padding: 2 2 2 5; ">
|
|
<xsl:apply-templates/>
|
|
</td>
|
|
</tr>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="status">
|
|
<tr>
|
|
<td style="text-align: right; vertical-align: top; background: #ffffc3; padding: 2 10 2 10; "> <i>Status:</i> </td>
|
|
<td style="text-align: left; vertical-align: top; background: #fff3d9; padding: 2 2 2 5; ">
|
|
<xsl:apply-templates/>
|
|
</td>
|
|
</tr>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="see">
|
|
<tr>
|
|
<td style="text-align: right; vertical-align: top; background: #ffffc3; padding: 2 10 2 10; "> <i>See:</i> </td>
|
|
<td style="text-align: left; vertical-align: top; background: #fff3d9; padding: 2 2 2 5; ">
|
|
<xsl:call-template name="tokenize_see">
|
|
<xsl:with-param name="refs" select="."/>
|
|
</xsl:call-template>
|
|
</td>
|
|
</tr>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="tokenize_see">
|
|
<xsl:param name="refs"/>
|
|
<xsl:variable name="first-ref" select="normalize-space(substring-before(concat($refs, ','), ','))" />
|
|
<xsl:if test="$first-ref">
|
|
<a href="#{normalize-space($first-ref)}"><xsl:value-of select="$first-ref"/></a>
|
|
<xsl:if test="not($first-ref = normalize-space($refs))"><xsl:text>, </xsl:text></xsl:if>
|
|
<xsl:call-template name="tokenize_see">
|
|
<xsl:with-param name="refs" select="substring-after($refs,',')" />
|
|
</xsl:call-template>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="info">
|
|
<tr><td align="left" valign="top" colspan="2">
|
|
<blockquote>
|
|
<pre style="margin-bottom: -1em;">
|
|
<!--<xsl:apply-templates/>-->
|
|
<xsl:apply-templates/>
|
|
</pre>
|
|
</blockquote>
|
|
</td></tr>
|
|
</xsl:template>
|
|
|
|
|
|
<!-- Options -->
|
|
|
|
<xsl:template match="options">
|
|
<tr><td align="left" valign="top" colspan="2">
|
|
<blockquote>
|
|
<xsl:apply-templates select="info | opt" mode="options"/>
|
|
</blockquote>
|
|
</td></tr>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="info" mode="options">
|
|
<pre style="margin-bottom: -1em;"><xsl:apply-templates/></pre>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="opt" mode="options">
|
|
<!--<span class="flag"><xsl:value-of select="@val"/></span><xsl:text> :</xsl:text>-->
|
|
<dl style="margin-left: 1.5em;">
|
|
<dt><tt><xsl:call-template name="tokenize_clist"><xsl:with-param name="clist" select="@val"/></xsl:call-template><xsl:if test="normalize-space(.) != ''"> :</xsl:if></tt></dt>
|
|
<dd><pre style="margin-top: 0em; margin-bottom: -1em;"><xsl:apply-templates/></pre></dd>
|
|
</dl>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="tokenize_clist">
|
|
<xsl:param name="clist"/>
|
|
<xsl:variable name="first-elem" select="normalize-space(substring-before(concat($clist, ','), ','))"/>
|
|
<xsl:if test="$first-elem">
|
|
<span class="flag"><xsl:value-of select="$first-elem"/></span><xsl:if test="not($first-elem = normalize-space($clist))"><xsl:text>, </xsl:text></xsl:if>
|
|
<xsl:call-template name="tokenize_clist">
|
|
<xsl:with-param name="clist" select="substring-after($clist,',')" />
|
|
</xsl:call-template>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
<!-- *** TABLE *** -->
|
|
|
|
<xsl:template match="table" mode="card_description">
|
|
<xsl:apply-templates select="rows | cols" mode="table"/>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="rows | cols" mode="table">
|
|
<xsl:apply-templates select="col | colgroup | row | rowgroup | optional | conditional" mode="table"/>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="optional | conditional" mode="table">
|
|
<xsl:apply-templates select="col | colgroup | row | rowgroup | optional | conditional" mode="table"/>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="colgroup | rowgroup" mode="table">
|
|
<xsl:if test="info != '' or options != '' or status != '' or see != ''">
|
|
<table width="100%" style="border-color: #b5b500; border-style: solid; border-width: 2; margin-bottom: 10; table-layout: auto; background-color: #FFFFFF;">
|
|
<tr>
|
|
<th width="20%" align="left" valign="top" style="background: #ffff99; padding: 2 2 2 10; ">
|
|
<xsl:for-each select=".//col | .//row">
|
|
<a name="{@name}"><a name="{generate-id(.)}">
|
|
<xsl:value-of select="@name"/>
|
|
</a></a>
|
|
<xsl:if test="not(position()=last())">
|
|
<xsl:text>, </xsl:text>
|
|
</xsl:if>
|
|
</xsl:for-each>
|
|
</th>
|
|
<td style="text-align: left; vertical-align: top; background: #ffffc3; padding: 2 2 2 5; ">
|
|
<xsl:value-of select="@type"/>
|
|
</td>
|
|
</tr>
|
|
<xsl:apply-templates select="default"/>
|
|
<xsl:apply-templates select="status"/>
|
|
<xsl:apply-templates select="see"/>
|
|
<xsl:apply-templates select="info | options"/>
|
|
</table>
|
|
<xsl:call-template name="back_to_top"/>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="col | row" mode="table">
|
|
<!--<xsl:if test="child::node() != ''">-->
|
|
<xsl:if test="info != '' or options != '' or status != '' or see != ''">
|
|
<table width="100%" style="border-color: #b5b500; border-style: solid; border-width: 2; margin-bottom: 10; table-layout: auto; background-color: #FFFFFF;">
|
|
<tr>
|
|
<th align="left" valign="top" width="20%" style="background: #ffff99; padding: 2 2 2 10; ">
|
|
<a name="{@name}"><a name="{generate-id(.)}">
|
|
<xsl:value-of select="@name"/>
|
|
</a></a>
|
|
</th>
|
|
<td style="text-align: left; vertical-align: top; background: #ffffc3; padding: 2 2 2 5; ">
|
|
<xsl:value-of select="@type"/>
|
|
</td>
|
|
</tr>
|
|
<xsl:apply-templates select="default"/>
|
|
<xsl:apply-templates select="status"/>
|
|
<xsl:apply-templates select="see"/>
|
|
<xsl:apply-templates select="info | options"/>
|
|
</table>
|
|
<xsl:call-template name="back_to_top"/>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
<!-- *** SECTION *** -->
|
|
<xsl:template match="section">
|
|
<blockquote>
|
|
<a name="{generate-id(.)}">
|
|
<h3><xsl:value-of select="@title"/></h3>
|
|
</a>
|
|
<xsl:apply-templates/>
|
|
</blockquote>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="subsection">
|
|
<blockquote>
|
|
<a name="{generate-id(.)}">
|
|
<h4><xsl:value-of select="@title"/></h4>
|
|
</a>
|
|
<xsl:apply-templates/>
|
|
</blockquote>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="subsubsection">
|
|
<blockquote>
|
|
<a name="{generate-id(.)}">
|
|
<h5><xsl:value-of select="@title"/></h5>
|
|
</a>
|
|
<xsl:apply-templates/>
|
|
</blockquote>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="paragraph">
|
|
<blockquote>
|
|
<a name="{generate-id(.)}">
|
|
<h6><xsl:value-of select="@title"/></h6>
|
|
<xsl:apply-templates/>
|
|
</a>
|
|
</blockquote>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="text">
|
|
<blockquote>
|
|
<pre><xsl:apply-templates/></pre>
|
|
</blockquote>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="link">
|
|
<a href="{.}">
|
|
<xsl:value-of select="."/>
|
|
</a>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="ref">
|
|
<a href="#{.}">
|
|
<xsl:value-of select="."/>
|
|
</a>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="a">
|
|
<!-- this is used by ref & link -->
|
|
<xsl:copy-of select="."/>
|
|
</xsl:template>
|
|
|
|
<!-- support a subset of HTML tags (those specified in helpdoc.schema) -->
|
|
|
|
<xsl:template match="b | i | tt | u | sub | sup | code | pre | br | hr | p | ol | ul | li | dl | dt | dd">
|
|
<xsl:copy>
|
|
<xsl:apply-templates/>
|
|
</xsl:copy>
|
|
</xsl:template>
|
|
|
|
</xsl:stylesheet>
|