Initial commit.
This commit is contained in:
@@ -0,0 +1,655 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:sm="http://www.stepmania.com"
|
||||
xmlns="http://www.w3.org/1999/xhtml"
|
||||
exclude-result-prefixes="sm">
|
||||
<xsl:output method="xml"
|
||||
version="1.0"
|
||||
encoding="UTF-8"
|
||||
doctype-system="http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-strict.dtd"
|
||||
doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
media-type="application/xhtml+xml" />
|
||||
<!-- Use xsltproc - -stringparam browser no (without a space) to generate the .html. -->
|
||||
<xsl:param name="browser" select="yes" />
|
||||
<xsl:template match="/">
|
||||
<xsl:comment>This file is automatically generated. Do not edit it.</xsl:comment>
|
||||
<html>
|
||||
<head>
|
||||
<title>sm-ssc Lua Information</title>
|
||||
<style type="text/css">
|
||||
th {
|
||||
background-color: #DDDDDD;
|
||||
border: 0px solid #888888;
|
||||
border-width: thin;
|
||||
padding: 3px;
|
||||
font-size: 1.2em;
|
||||
}
|
||||
thead th {
|
||||
background-color: #EEEEEE;
|
||||
}
|
||||
table {
|
||||
border-style: none;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
td {
|
||||
padding: 2px;
|
||||
border-style: solid;
|
||||
border-width: thin;;
|
||||
}
|
||||
hr {
|
||||
width: 90%;
|
||||
}
|
||||
code {
|
||||
font-family: monospace;
|
||||
}
|
||||
.code {
|
||||
font-family: monospace;
|
||||
}
|
||||
.returnTypeCell {
|
||||
font-family: monospace;
|
||||
text-align: right;
|
||||
vertical-align: text-top;
|
||||
width: 10em;
|
||||
background-color: #EEEEEE;
|
||||
}
|
||||
.descriptionCell {
|
||||
text-align: justify;
|
||||
vertical-align: text-top;
|
||||
background-color: #DDEEFF;
|
||||
}
|
||||
.renamed{
|
||||
text-align: justify;
|
||||
vertical-align: text-top;
|
||||
background-color: #FFEEDD;
|
||||
}
|
||||
.sm-ssc{
|
||||
text-align: justify;
|
||||
vertical-align: text-top;
|
||||
background-color: #FFDDEE;
|
||||
}
|
||||
._fallbackTheme{
|
||||
text-align: justify;
|
||||
vertical-align: text-top;
|
||||
background-color: #DDFFEE;
|
||||
}
|
||||
.defaultTheme{
|
||||
text-align: justify;
|
||||
vertical-align: text-top;
|
||||
background-color: #FFD400;
|
||||
}
|
||||
.descriptionName {
|
||||
font-family: monospace;
|
||||
font-weight: bold;
|
||||
}
|
||||
.descriptionArguments {
|
||||
font-family: monospace;
|
||||
}
|
||||
.descriptionText {
|
||||
text-indent: 2em;
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.primitiveType {
|
||||
font-family: monospace;
|
||||
color: #0000ff;
|
||||
}
|
||||
.enumNameCell {
|
||||
background-color: #DDEEFF;
|
||||
font-size: 1.2em;
|
||||
}
|
||||
.enumValueCell {
|
||||
background-color: #EEEEEE;
|
||||
font-size: 1.2em;
|
||||
}
|
||||
a.classType:link {
|
||||
font-family: monospace;
|
||||
color: #cc0000;
|
||||
}
|
||||
a.classType:visited {
|
||||
font-family: monospace;
|
||||
color: #440000;
|
||||
}
|
||||
a.enumType:link {
|
||||
font-family: monospace;
|
||||
color: #cc0000;
|
||||
}
|
||||
a.enumType:visited {
|
||||
font-family: monospace;
|
||||
color: #440000;
|
||||
}
|
||||
.trigger {
|
||||
cursor: pointer;
|
||||
}
|
||||
.footer {
|
||||
text-align: center;
|
||||
}
|
||||
.validate {
|
||||
border: 0;
|
||||
width: 88px;
|
||||
height: 31px;
|
||||
}
|
||||
#header{
|
||||
text-align: center;
|
||||
padding-bottom: 0.5em;
|
||||
}
|
||||
#header h2{
|
||||
margin-top: 0px;
|
||||
margin-bottom: -1em;
|
||||
}
|
||||
#sections{
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
function Open( id )
|
||||
{
|
||||
var imgid = 'img_' + id;
|
||||
var listid = 'list_' + id;
|
||||
var img = document.getElementById( imgid );
|
||||
var list = document.getElementById( listid );
|
||||
|
||||
img.setAttribute( 'src', 'open.gif' );
|
||||
list.style.display = 'block';
|
||||
}
|
||||
function OpenAndMove( classid, functionid )
|
||||
{
|
||||
Open( classid );
|
||||
location.hash = classid + '_' + functionid;
|
||||
}
|
||||
function Toggle( id )
|
||||
{
|
||||
var imgid = 'img_' + id;
|
||||
var listid = 'list_' + id;
|
||||
var img = document.getElementById( imgid );
|
||||
var list = document.getElementById( listid );
|
||||
|
||||
if( img.getAttribute('src') == 'closed.gif' )
|
||||
{
|
||||
img.setAttribute( 'src', 'open.gif' );
|
||||
list.style.display = 'block';
|
||||
}
|
||||
else
|
||||
{
|
||||
img.setAttribute( 'src', 'closed.gif' );
|
||||
list.style.display = 'none';
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<xsl:apply-templates />
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template match="sm:Lua">
|
||||
<div>
|
||||
<div id="header">
|
||||
<h2><a href="http://ssc.ajworld.net/sm-ssc/">sm-ssc</a> Lua Information</h2><br/>
|
||||
<small>WARNING: Bindings are subject to change at any time. This includes, but is not limited to: renaming, removal, changing of arguments/return types.<br/>
|
||||
To generate this file yourself, pass <code>--ExportLuaInformation</code> as an argument to the sm-ssc executable.</small>
|
||||
</div>
|
||||
<table id="sections">
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="6">Sections</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th><a href="#Singletons">Singletons</a></th>
|
||||
<th><a href="#Classes">Classes</a></th>
|
||||
<th><a href="#Namespaces">Namespaces</a></th>
|
||||
<th><a href="#GlobalFunctions">Global Functions</a></th>
|
||||
<th><a href="#Enums">Enums</a></th>
|
||||
<th><a href="#Constants">Constants</a></th>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div>
|
||||
<fieldset>
|
||||
<legend>Function Colors</legend>
|
||||
<div class="descriptionCell">Available in SM4 baseline and sm-ssc</div>
|
||||
<div class="renamed">Renamed or otherwise modified in sm-ssc (differences will be noted)</div>
|
||||
<div class="sm-ssc">Available in sm-ssc only (for the time being)</div>
|
||||
<div class="_fallbackTheme">Defined in sm-ssc's _fallback theme <small>(<em>Foundation</em>)</small></div>
|
||||
<div class="defaultTheme">Defined in sm-ssc's default theme <small>(<em>Urban Fragments</em>)</small></div>
|
||||
</fieldset>
|
||||
</div>
|
||||
<xsl:apply-templates select="sm:Singletons" />
|
||||
<xsl:apply-templates select="sm:Classes" />
|
||||
<xsl:apply-templates select="sm:Namespaces" />
|
||||
<xsl:apply-templates select="sm:GlobalFunctions" />
|
||||
<xsl:apply-templates select="sm:Enums" />
|
||||
<xsl:apply-templates select="sm:Constants" />
|
||||
<hr />
|
||||
<p class="footer">
|
||||
Generated for <xsl:value-of select="sm:Version" /> on
|
||||
<xsl:value-of select="sm:Date" />.
|
||||
</p>
|
||||
<p class="footer">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$browser = 'no'">
|
||||
<a href="http://validator.w3.org/check?uri=referer"><img
|
||||
class="validate" src="http://www.w3.org/Icons/valid-xhtml10-blue"
|
||||
alt="Valid XHTML 1.0 Strict" /></a>
|
||||
<a href="http://jigsaw.w3.org/css-validator/check/referer"><img
|
||||
class="validate" src="http://www.w3.org/Icons/valid-css2-blue"
|
||||
alt="Valid CSS Level 2.1" /></a>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<a href="http://validator.w3.org/check?uri=referer"><img
|
||||
class="validate" src="http://www.w3.org/Icons/valid-xml10-blue"
|
||||
alt="Valid XML 1.0" /></a>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</p>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template match="sm:Singletons">
|
||||
<div>
|
||||
<h3 id="Singletons">Singletons</h3>
|
||||
<ul>
|
||||
<xsl:for-each select="sm:Singleton">
|
||||
<xsl:sort select="@name" />
|
||||
<li>
|
||||
<a class="classType" href="#{@class}" onclick="Open('{@class}')">
|
||||
<xsl:value-of select="@name" />
|
||||
</a>
|
||||
</li>
|
||||
</xsl:for-each>
|
||||
</ul>
|
||||
</div>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template match="sm:Classes">
|
||||
<div>
|
||||
<h3 id="Classes">Classes</h3>
|
||||
<xsl:apply-templates select="sm:Class">
|
||||
<xsl:sort select="@name" />
|
||||
</xsl:apply-templates>
|
||||
</div>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="sm:Namespaces">
|
||||
<div>
|
||||
<h3 id="Namespaces">Namespaces</h3>
|
||||
<xsl:apply-templates select="sm:Namespace">
|
||||
<xsl:sort select="@name" />
|
||||
</xsl:apply-templates>
|
||||
</div>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:variable name="docs" select="document('LuaDocumentation.xml')/sm:Documentation" />
|
||||
|
||||
<xsl:template match="sm:Class">
|
||||
<xsl:variable name="name" select="@name" />
|
||||
<div>
|
||||
<a id="{@name}" class="trigger" onclick="Toggle('{@name}')">
|
||||
<img src="closed.gif" id="img_{@name}" alt="" />
|
||||
<xsl:text> Class </xsl:text>
|
||||
<span class="descriptionName"><xsl:value-of select="@name" /></span>
|
||||
</a>
|
||||
<xsl:if test="@base != ''">
|
||||
<span class="code"><xsl:text> : </xsl:text></span>
|
||||
<a class="classType" href="#{@base}" onclick="Open('{@base}')">
|
||||
<xsl:value-of select="@base" />
|
||||
</a>
|
||||
</xsl:if>
|
||||
<div style="display: none" id="list_{@name}">
|
||||
<xsl:apply-templates select="$docs/sm:Classes/sm:Class[@name=$name]/sm:Description">
|
||||
<xsl:with-param name="class" select="$name" />
|
||||
</xsl:apply-templates>
|
||||
<table>
|
||||
<tr><th colspan="2"><xsl:value-of select="$name" /> Member Functions</th></tr>
|
||||
<xsl:apply-templates select="sm:Function">
|
||||
<xsl:sort select="@name" />
|
||||
<xsl:with-param name="path" select="$docs/sm:Classes/sm:Class[@name=$name]" />
|
||||
<xsl:with-param name="class" select="$name" />
|
||||
</xsl:apply-templates>
|
||||
</table>
|
||||
<br />
|
||||
</div>
|
||||
</div>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="sm:Namespace">
|
||||
<xsl:variable name="name" select="@name" />
|
||||
<div>
|
||||
<a id="{@name}" class="trigger" onclick="Toggle('{@name}')">
|
||||
<img src="closed.gif" id="img_{@name}" alt="" />
|
||||
<xsl:text> Namespace </xsl:text>
|
||||
<span class="descriptionName"><xsl:value-of select="@name" /></span>
|
||||
</a>
|
||||
<div style="display: none" id="list_{@name}">
|
||||
<xsl:apply-templates select="$docs/sm:Namespaces/sm:Namespace[@name=$name]/sm:Description">
|
||||
<xsl:with-param name="class" select="$name" />
|
||||
</xsl:apply-templates>
|
||||
<table>
|
||||
<tr><th colspan="2"><xsl:value-of select="$name" /> Functions</th></tr>
|
||||
<xsl:apply-templates select="sm:Function">
|
||||
<xsl:sort select="@name" />
|
||||
<xsl:with-param name="path" select="$docs/sm:Namespaces/sm:Namespace[@name=$name]" />
|
||||
<xsl:with-param name="class" select="$name" />
|
||||
</xsl:apply-templates>
|
||||
</table>
|
||||
<br />
|
||||
</div>
|
||||
</div>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="sm:GlobalFunctions">
|
||||
<div>
|
||||
<h3 id="GlobalFunctions">Global Functions</h3>
|
||||
<table>
|
||||
<tr><th colspan="2">Functions</th></tr>
|
||||
<xsl:apply-templates select="sm:Function">
|
||||
<xsl:sort select="@name" />
|
||||
<xsl:with-param name="path" select="$docs/sm:GlobalFunctions" />
|
||||
<xsl:with-param name="class" select="'GLOBAL'" />
|
||||
</xsl:apply-templates>
|
||||
</table>
|
||||
</div>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="processType">
|
||||
<xsl:param name="type" />
|
||||
<xsl:choose>
|
||||
<xsl:when test="starts-with($type, '{')">
|
||||
<xsl:text>{</xsl:text>
|
||||
<xsl:call-template name="processType">
|
||||
<xsl:with-param name="type" select="substring-before(
|
||||
substring-after($type, '{'), '}')" />
|
||||
</xsl:call-template>
|
||||
<xsl:text>}</xsl:text>
|
||||
</xsl:when>
|
||||
<xsl:when test="$type='void' or
|
||||
$type='int' or
|
||||
$type='float' or
|
||||
$type='string' or
|
||||
$type='bool' or
|
||||
$type='table' or
|
||||
$type='color' or
|
||||
$type='Enum'">
|
||||
<span class="primitiveType">
|
||||
<xsl:value-of select="$type" />
|
||||
</span>
|
||||
</xsl:when>
|
||||
<xsl:when test="boolean(/sm:Lua/sm:Classes/sm:Class[@name=$type])">
|
||||
<a class="classType" href="#{$type}" onclick="Open('{$type}')">
|
||||
<xsl:value-of select="$type" />
|
||||
</a>
|
||||
</xsl:when>
|
||||
<xsl:when test="boolean(/sm:Lua/sm:Enums/sm:Enum[@name=$type])">
|
||||
<a class="enumType" href="#ENUM_{$type}" onclick="Open('{$type}')">
|
||||
<xsl:value-of select="$type" />
|
||||
</a>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="$type" />
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="processArguments">
|
||||
<xsl:param name="argumentList" />
|
||||
<xsl:choose>
|
||||
<xsl:when test="starts-with($argumentList, ' ')">
|
||||
<xsl:call-template name="processArguments">
|
||||
<xsl:with-param name="argumentList"
|
||||
select="substring-after($argumentList, ' ')" />
|
||||
</xsl:call-template>
|
||||
</xsl:when>
|
||||
<!-- Base cases. -->
|
||||
<xsl:when test="$argumentList = '...'">
|
||||
<xsl:text>...</xsl:text>
|
||||
</xsl:when>
|
||||
<xsl:when test="not(contains($argumentList, ','))">
|
||||
<xsl:call-template name="processType">
|
||||
<xsl:with-param name="type"
|
||||
select="substring-before($argumentList, ' ')" />
|
||||
</xsl:call-template>
|
||||
<xsl:text> </xsl:text>
|
||||
<xsl:value-of select="substring-after($argumentList, ' ')" />
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:variable name="firstParam"
|
||||
select="substring-before($argumentList, ',')" />
|
||||
<xsl:variable name="restParams"
|
||||
select="substring-after($argumentList, ',')" />
|
||||
<xsl:call-template name="processType">
|
||||
<xsl:with-param name="type"
|
||||
select="substring-before($firstParam, ' ')" />
|
||||
</xsl:call-template>
|
||||
<xsl:text> </xsl:text>
|
||||
<xsl:value-of select="substring-after($firstParam, ' ')" /><xsl:text>, </xsl:text>
|
||||
<!-- Recursive call. -->
|
||||
<xsl:call-template name="processArguments">
|
||||
<xsl:with-param name="argumentList" select="$restParams" />
|
||||
</xsl:call-template>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="sm:Function">
|
||||
<xsl:param name="path" />
|
||||
<xsl:param name="class" />
|
||||
<xsl:variable name="name" select="@name" />
|
||||
<xsl:variable name="elmt" select="$path/sm:Function[@name=$name]" />
|
||||
<tr id="{$class}_{$name}">
|
||||
<xsl:choose>
|
||||
<!-- Check for documentation. -->
|
||||
<xsl:when test="string($elmt/@name)=$name">
|
||||
<td class="returnTypeCell">
|
||||
<xsl:call-template name="processType">
|
||||
<xsl:with-param name="type" select="$elmt/@return" />
|
||||
</xsl:call-template>
|
||||
</td>
|
||||
<!-- check for modifiers -->
|
||||
<td>
|
||||
<xsl:attribute name="class">
|
||||
<xsl:choose>
|
||||
<!-- "renamed" also covers functions with modified behavior -->
|
||||
<xsl:when test="$elmt/@renamed='true'">renamed</xsl:when>
|
||||
<xsl:when test="$elmt/@sm-ssc='true'">sm-ssc</xsl:when>
|
||||
<xsl:when test="$elmt/@theme='_fallback'">_fallbackTheme</xsl:when>
|
||||
<xsl:when test="$elmt/@theme='default'">defaultTheme</xsl:when>
|
||||
<xsl:otherwise>descriptionCell</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:attribute>
|
||||
<span class="descriptionName">
|
||||
<xsl:value-of select="@name" />
|
||||
</span>
|
||||
<span class="descriptionArguments">
|
||||
<xsl:text>( </xsl:text>
|
||||
<xsl:call-template name="processArguments">
|
||||
<xsl:with-param name="argumentList"
|
||||
select="$elmt/@arguments" />
|
||||
</xsl:call-template>
|
||||
<xsl:text> )</xsl:text>
|
||||
</span>
|
||||
<p class="descriptionText">
|
||||
<xsl:apply-templates select="$elmt" mode="print">
|
||||
<xsl:with-param name="class" select="$class" />
|
||||
</xsl:apply-templates>
|
||||
</p>
|
||||
</td>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<td class="returnTypeCell" />
|
||||
<td>
|
||||
<xsl:attribute name="class">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$elmt/@sm-ssc='true'">sm-ssc</xsl:when>
|
||||
<xsl:otherwise>descriptionCell</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:attribute>
|
||||
<span class="descriptionName"><xsl:value-of select="@name" /></span>
|
||||
</td>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
<xsl:template match="sm:Function" mode="print">
|
||||
<xsl:param name="class" />
|
||||
<xsl:apply-templates>
|
||||
<xsl:with-param name="curclass" select="$class" />
|
||||
</xsl:apply-templates>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="sm:Link">
|
||||
<xsl:param name="curclass" />
|
||||
<xsl:variable name="empty" select="string(current())=''" />
|
||||
<xsl:choose>
|
||||
<!-- Linking to a function in the current class/namespace. -->
|
||||
<xsl:when test="string(@class)='' and string(@function)!=''">
|
||||
<a class="classType" href="#{$curclass}_{@function}">
|
||||
<xsl:if test="$empty">
|
||||
<xsl:call-template name="sm:PrintLink">
|
||||
<xsl:with-param name="class" select="$curclass" />
|
||||
<xsl:with-param name="function" select="@function" />
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
<xsl:apply-templates />
|
||||
</a>
|
||||
</xsl:when>
|
||||
<!-- Linking to a class/namespace. -->
|
||||
<xsl:when test="string(@class)!='' and string(@function)=''">
|
||||
<a class="classType" href="#{@class}" onclick="Open('{@class}')">
|
||||
<xsl:if test="$empty">
|
||||
<xsl:value-of select="@class" />
|
||||
</xsl:if>
|
||||
<xsl:apply-templates />
|
||||
</a>
|
||||
</xsl:when>
|
||||
<!-- Linking to a global function or an enum. -->
|
||||
<xsl:when test="(string(@class)='GLOBAL' or string(@class)='ENUM') and string(@function)!=''">
|
||||
<a class="classType" href="#{@class}_{@function}" onclick="Open('{@function}')">
|
||||
<xsl:if test="$empty">
|
||||
<xsl:value-of select="@function" />
|
||||
<xsl:if test="string(@class)='GLOBAL'">
|
||||
<xsl:text>()</xsl:text>
|
||||
</xsl:if>
|
||||
</xsl:if>
|
||||
<xsl:apply-templates />
|
||||
</a>
|
||||
</xsl:when>
|
||||
<!-- Linking to a function in a class/namespace. -->
|
||||
<xsl:when test="string(@class)!='' and string(@function)!=''">
|
||||
<a class="classType" href="#{@class}_{@function}" onclick="OpenAndMove('{@class}','{@function}')">
|
||||
<xsl:if test="$empty">
|
||||
<xsl:call-template name="sm:PrintLink">
|
||||
<xsl:with-param name="class" select="@class" />
|
||||
<xsl:with-param name="function" select="@function" />
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
<xsl:apply-templates />
|
||||
</a>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:apply-templates /> <!-- Ignore this Link. -->
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="sm:PrintLink">
|
||||
<xsl:param name="class" />
|
||||
<xsl:param name="function" />
|
||||
<xsl:value-of select="$class" />
|
||||
<xsl:text>.</xsl:text>
|
||||
<xsl:value-of select="$function" />
|
||||
<xsl:text>()</xsl:text>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="sm:Enums">
|
||||
<div>
|
||||
<h3 id="Enums">Enums</h3>
|
||||
<xsl:apply-templates select="sm:Enum">
|
||||
<xsl:sort select="@name" />
|
||||
</xsl:apply-templates>
|
||||
</div>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template match="sm:Enum">
|
||||
<xsl:variable name="name" select="@name" />
|
||||
<div id="ENUM_{@name}">
|
||||
<a class="trigger" onclick="Toggle('{@name}')">
|
||||
<img src="closed.gif" id="img_{@name}" alt="" />
|
||||
<xsl:text> Enum </xsl:text>
|
||||
<span class="descriptionName"><xsl:value-of select="@name" /></span></a>
|
||||
<div style="display: none" id="list_{@name}">
|
||||
<xsl:apply-templates select="$docs/sm:Enums/sm:Enum[@name=$name]/sm:Description">
|
||||
<xsl:with-param name="curclass" select="$name" />
|
||||
</xsl:apply-templates>
|
||||
<table>
|
||||
<tr>
|
||||
<th>Enum</th>
|
||||
<th>Value</th>
|
||||
</tr>
|
||||
<xsl:for-each select="sm:EnumValue">
|
||||
<xsl:sort data-type="number" select="@value" />
|
||||
<tr class="code">
|
||||
<td class="enumNameCell"><xsl:value-of select="@name" /></td>
|
||||
<td class="enumValueCell"><xsl:value-of select="@value" /></td>
|
||||
</tr>
|
||||
</xsl:for-each>
|
||||
</table>
|
||||
<br />
|
||||
</div>
|
||||
</div>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="sm:Description">
|
||||
<xsl:param name="class" />
|
||||
<p>
|
||||
<xsl:apply-templates>
|
||||
<xsl:with-param name="curclass" select="$class" />
|
||||
</xsl:apply-templates>
|
||||
</p>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="sm:Constants">
|
||||
<div>
|
||||
<h3 id="Constants">Constants</h3>
|
||||
<table>
|
||||
<tr>
|
||||
<th>Constant</th>
|
||||
<th>Value</th>
|
||||
</tr>
|
||||
<xsl:for-each select="sm:Constant">
|
||||
<xsl:sort select="@name" />
|
||||
<tr class="code">
|
||||
<td>
|
||||
|
||||
<xsl:value-of select="@name" />
|
||||
</td>
|
||||
<td><xsl:value-of select="@value" /></td>
|
||||
</tr>
|
||||
</xsl:for-each>
|
||||
</table>
|
||||
<br />
|
||||
</div>
|
||||
</xsl:template>
|
||||
|
||||
<!-- XXX: This is annoying, how can we tell xsl to just pass the html through?
|
||||
Even more annoying is the fact that parameters aren't dynamically scoped
|
||||
so we have to explicitly pass all parameters through <code>. -->
|
||||
<xsl:template match="sm:code">
|
||||
<xsl:param name="curclass" />
|
||||
<code>
|
||||
<xsl:apply-templates>
|
||||
<xsl:with-param name="curclass" select="$curclass" />
|
||||
</xsl:apply-templates>
|
||||
</code>
|
||||
</xsl:template>
|
||||
<xsl:template match="sm:br"><br /></xsl:template>
|
||||
</xsl:stylesheet>
|
||||
<!-- vim: set tw=0: -->
|
||||
Reference in New Issue
Block a user