You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
144 lines
4.4 KiB
XML
144 lines
4.4 KiB
XML
<?xml version="1.0" encoding="iso-8859-1" ?> <!--*- sgml -*-->
|
|
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
|
<xsl:output method="html" />
|
|
|
|
<!-- *********************************************************************** -->
|
|
<xsl:template match="TAGLIST">
|
|
|
|
<!-- content generated from XML -->
|
|
<xsl:call-template name="report-table" />
|
|
|
|
</xsl:template>
|
|
|
|
<!-- *********************************************************************** -->
|
|
<xsl:template match="HEADER/text">
|
|
<xsl:copy-of select="text()|*" />
|
|
</xsl:template>
|
|
|
|
<!-- *********************************************************************** -->
|
|
<xsl:template name="header">
|
|
<h2><xsl:value-of select="HEADER/title" /></h2>
|
|
<xsl:apply-templates select="HEADER/text" />
|
|
</xsl:template>
|
|
|
|
<!-- *********************************************************************** -->
|
|
<xsl:template name="report-table">
|
|
<table class="ReportTable" id="report1" cellspacing="0">
|
|
<xsl:call-template name="column-group" />
|
|
<thead>
|
|
<xsl:call-template name="header-row" />
|
|
</thead>
|
|
<tbody>
|
|
<xsl:apply-templates select="ROWSET/ROW" />
|
|
</tbody>
|
|
</table>
|
|
<xsl:call-template name="interactivity" />
|
|
</xsl:template>
|
|
|
|
<!-- *********************************************************************** -->
|
|
<xsl:template name="column-group">
|
|
<colgroup>
|
|
<col align="center" />
|
|
<col align="right" />
|
|
<col />
|
|
<col />
|
|
<col align="center" />
|
|
<col align="center" />
|
|
<col align="right" />
|
|
<col align="right" />
|
|
<col />
|
|
</colgroup>
|
|
</xsl:template>
|
|
|
|
<!-- *********************************************************************** -->
|
|
<xsl:template name="header-row">
|
|
<tr>
|
|
<th>Tag (hex)</th>
|
|
<th>Tag (dec)</th>
|
|
<th>Key</th>
|
|
<th>Type</th>
|
|
<th><abbr title="Mandatory">M.</abbr></th>
|
|
<th><abbr title="Repeatable">R.</abbr></th>
|
|
<th>Min. bytes</th>
|
|
<th>Max. bytes</th>
|
|
<th>Tag description</th>
|
|
</tr>
|
|
</xsl:template>
|
|
|
|
<!-- *********************************************************************** -->
|
|
<xsl:template match="ROWSET/ROW[position() mod 2 = 0]">
|
|
<xsl:call-template name="data-row">
|
|
<xsl:with-param name="rowClass" select="'EvenRow'" />
|
|
</xsl:call-template>
|
|
</xsl:template>
|
|
|
|
<!-- *********************************************************************** -->
|
|
<xsl:template match="ROWSET/ROW[position() mod 2 = 1]">
|
|
<xsl:call-template name="data-row">
|
|
<xsl:with-param name="rowClass" select="'OddRow'" />
|
|
</xsl:call-template>
|
|
</xsl:template>
|
|
|
|
<!-- *********************************************************************** -->
|
|
<xsl:template name="data-row">
|
|
<xsl:param name="rowClass" />
|
|
<tr><xsl:attribute name="class"><xsl:value-of select="$rowClass" /></xsl:attribute>
|
|
<td><xsl:value-of select="taghex" /></td>
|
|
<td><xsl:value-of select="tagdec" /></td>
|
|
<td><xsl:value-of select="key" /></td>
|
|
<td><xsl:value-of select="type" /></td>
|
|
<td>
|
|
<xsl:choose>
|
|
<xsl:when test="mandatory = 'true'">
|
|
<xsl:text>Yes</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="mandatory = 'false'">
|
|
<xsl:text>No</xsl:text>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:value-of select="mandatory" />
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</td>
|
|
<td>
|
|
<xsl:choose>
|
|
<xsl:when test="repeatable = 'true'">
|
|
<xsl:text>Yes</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="repeatable = 'false'">
|
|
<xsl:text>No</xsl:text>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:value-of select="repeatable" />
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</td>
|
|
<td><xsl:value-of select="minbytes" /></td>
|
|
<td><xsl:value-of select="maxbytes" /></td>
|
|
<td><xsl:value-of select="tagdesc" /></td>
|
|
</tr>
|
|
</xsl:template>
|
|
|
|
<!-- *********************************************************************** -->
|
|
<xsl:template name="interactivity">
|
|
<script type="text/javascript">
|
|
//<![CDATA[
|
|
var report1 = new SortableTable(
|
|
document.getElementById("report1"),
|
|
["String", "Number", "String", "String", "String", "String", "Number", "Number", "String"]
|
|
);
|
|
report1.onsort = function () {
|
|
var rows = report1.tBody.rows;
|
|
var l = rows.length;
|
|
for (var i = 0; i < l; i++) {
|
|
removeClassName(rows[i], i % 2 ? "OddRow" : "EvenRow");
|
|
addClassName(rows[i], i % 2 ? "EvenRow" : "OddRow");
|
|
}
|
|
};
|
|
//]]>
|
|
</script>
|
|
</xsl:template>
|
|
|
|
<!-- *********************************************************************** -->
|
|
</xsl:stylesheet>
|