807 lines
19 KiB
HTML
807 lines
19 KiB
HTML
|
<?xml version="1.0" encoding="UTF-8"?>
|
||
|
|
||
|
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||
|
|
||
|
<xsl:output method="xml" indent="no"/>
|
||
|
|
||
|
<xsl:template name="generate.book.title">
|
||
|
<xsl:text>LUFA Library</xsl:text>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template name="generate.book.id">
|
||
|
<xsl:param name="book.title"/>
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="@id">
|
||
|
<xsl:value-of select="@id"/>
|
||
|
</xsl:when>
|
||
|
<xsl:otherwise>
|
||
|
<xsl:value-of select="translate($book.title, ' ','')"/>
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template name="generate.index.id">
|
||
|
<xsl:param name="name"/>
|
||
|
<xsl:variable name="book.title">
|
||
|
<xsl:call-template name="generate.book.title"/>
|
||
|
</xsl:variable>
|
||
|
<xsl:variable name="book.id">
|
||
|
<xsl:call-template name="generate.book.id">
|
||
|
<xsl:with-param name="book.title" select="$book.title"/>
|
||
|
</xsl:call-template>
|
||
|
</xsl:variable>
|
||
|
|
||
|
<indexterm id="{$name}">
|
||
|
<primary>
|
||
|
<xsl:value-of select="$book.title"/>
|
||
|
</primary>
|
||
|
<secondary>
|
||
|
<xsl:value-of select="$name"/>
|
||
|
</secondary>
|
||
|
</indexterm>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="doxygen">
|
||
|
<xsl:variable name="book.title">
|
||
|
<xsl:call-template name="generate.book.title"/>
|
||
|
</xsl:variable>
|
||
|
|
||
|
<xsl:variable name="book.id">
|
||
|
<xsl:call-template name="generate.book.id">
|
||
|
<xsl:with-param name="book.title" select="$book.title"/>
|
||
|
</xsl:call-template>
|
||
|
</xsl:variable>
|
||
|
|
||
|
<book id="{$book.id}">
|
||
|
<title>
|
||
|
<xsl:value-of select="$book.title"/>
|
||
|
</title>
|
||
|
|
||
|
<!-- Add index chapter -->
|
||
|
<xsl:apply-templates select="compounddef[@kind = 'page' and @id = 'indexpage']">
|
||
|
<xsl:with-param name="element.type" select="'chapter'"/>
|
||
|
<xsl:with-param name="page.title" select="'Library Information'"/>
|
||
|
</xsl:apply-templates>
|
||
|
|
||
|
<!-- Add free-floating chapters -->
|
||
|
<xsl:apply-templates select="compounddef[@kind = 'page' and not(@id = 'indexpage') and not(//innerpage/@refid = @id)]">
|
||
|
<xsl:with-param name="element.type" select="'chapter'"/>
|
||
|
</xsl:apply-templates>
|
||
|
|
||
|
<!-- Add Modules chapter -->
|
||
|
<chapter>
|
||
|
<title>Modules</title>
|
||
|
<xsl:apply-templates select="compounddef[@kind = 'group' and not(//innergroup/@refid = @id)]"/>
|
||
|
</chapter>
|
||
|
</book>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="compounddef[@kind = 'page']">
|
||
|
<xsl:param name="element.type" select="'section'"/>
|
||
|
<xsl:param name="page.title" select="title"/>
|
||
|
|
||
|
<xsl:element name="{$element.type}">
|
||
|
<xsl:attribute name="id">
|
||
|
<xsl:value-of select="@id"/>
|
||
|
</xsl:attribute>
|
||
|
|
||
|
<xsl:variable name="name">
|
||
|
<xsl:text>LUFA.</xsl:text>
|
||
|
<xsl:value-of select="translate(compoundname, '_', '.')"/>
|
||
|
</xsl:variable>
|
||
|
|
||
|
<xsl:call-template name="generate.index.id">
|
||
|
<xsl:with-param name="name" select="$name"/>
|
||
|
</xsl:call-template>
|
||
|
|
||
|
<title>
|
||
|
<xsl:value-of select="$page.title"/>
|
||
|
</title>
|
||
|
|
||
|
<xsl:apply-templates select="detaileddescription"/>
|
||
|
|
||
|
<xsl:if test="not(innerpage) and count(detaileddescription//sect1)">
|
||
|
<para>
|
||
|
<emphasis role="bold">Subsections:</emphasis>
|
||
|
<itemizedlist>
|
||
|
<xsl:for-each select="detaileddescription//sect1">
|
||
|
<listitem>
|
||
|
<link linkend="{@id}">
|
||
|
<xsl:value-of select="title"/>
|
||
|
</link>
|
||
|
</listitem>
|
||
|
</xsl:for-each>
|
||
|
</itemizedlist>
|
||
|
</para>
|
||
|
</xsl:if>
|
||
|
|
||
|
<xsl:for-each select="innerpage">
|
||
|
<xsl:apply-templates select="ancestor::*/compounddef[@kind = 'page' and @id = current()/@refid]"/>
|
||
|
</xsl:for-each>
|
||
|
</xsl:element>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="compounddef[@kind = 'group']">
|
||
|
<section id="{@id}">
|
||
|
<title>
|
||
|
<xsl:value-of select="title"/>
|
||
|
</title>
|
||
|
|
||
|
<xsl:variable name="name">
|
||
|
<xsl:text>LUFA.</xsl:text>
|
||
|
<xsl:value-of select="translate(compoundname, '_', '.')"/>
|
||
|
</xsl:variable>
|
||
|
|
||
|
<xsl:call-template name="generate.index.id">
|
||
|
<xsl:with-param name="name" select="$name"/>
|
||
|
</xsl:call-template>
|
||
|
|
||
|
<xsl:apply-templates select="detaileddescription"/>
|
||
|
|
||
|
<xsl:if test="count(innergroup)">
|
||
|
<para>
|
||
|
<emphasis role="bold">Subgroups:</emphasis>
|
||
|
<itemizedlist>
|
||
|
<xsl:for-each select="innergroup">
|
||
|
<listitem>
|
||
|
<link linkend="{@refid}">
|
||
|
<xsl:value-of select="text()"/>
|
||
|
</link>
|
||
|
</listitem>
|
||
|
</xsl:for-each>
|
||
|
</itemizedlist>
|
||
|
</para>
|
||
|
</xsl:if>
|
||
|
|
||
|
<xsl:apply-templates select="sectiondef"/>
|
||
|
|
||
|
<xsl:for-each select="innerclass">
|
||
|
<xsl:apply-templates select="ancestor::*/compounddef[@id = current()/@refid]"/>
|
||
|
</xsl:for-each>
|
||
|
|
||
|
<xsl:for-each select="innergroup">
|
||
|
<xsl:apply-templates select="ancestor::*/compounddef[@kind = 'group' and @id = current()/@refid]"/>
|
||
|
</xsl:for-each>
|
||
|
</section>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="compounddef[@kind = 'struct' or @kind = 'union']">
|
||
|
<xsl:variable name="name" select="compoundname"/>
|
||
|
|
||
|
<section id="{@id}" xreflabel="{$name}">
|
||
|
<title>
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="@kind = 'struct'">
|
||
|
<xsl:text>Struct </xsl:text>
|
||
|
</xsl:when>
|
||
|
|
||
|
<xsl:when test="@kind = 'union'">
|
||
|
<xsl:text>Union </xsl:text>
|
||
|
</xsl:when>
|
||
|
</xsl:choose>
|
||
|
|
||
|
<xsl:value-of select="$name"/>
|
||
|
</title>
|
||
|
|
||
|
<xsl:call-template name="generate.index.id">
|
||
|
<xsl:with-param name="name" select="$name"/>
|
||
|
</xsl:call-template>
|
||
|
|
||
|
<xsl:apply-templates select="detaileddescription"/>
|
||
|
|
||
|
<xsl:for-each select="sectiondef[@kind = 'public-attrib']">
|
||
|
<table>
|
||
|
<title>
|
||
|
<xsl:value-of select="$name"/>
|
||
|
</title>
|
||
|
|
||
|
<tgroup cols="3">
|
||
|
<thead>
|
||
|
<row>
|
||
|
<entry>Type</entry>
|
||
|
<entry>Name</entry>
|
||
|
<entry>Description</entry>
|
||
|
</row>
|
||
|
</thead>
|
||
|
|
||
|
<tbody>
|
||
|
<xsl:for-each select="memberdef">
|
||
|
<row id="{@id}" xreflabel="{name}">
|
||
|
<entry>
|
||
|
<xsl:value-of select="type"/>
|
||
|
</entry>
|
||
|
<entry>
|
||
|
<xsl:value-of select="name"/>
|
||
|
<xsl:if test="starts-with(argsstring, '[')">
|
||
|
<xsl:text>[]</xsl:text>
|
||
|
</xsl:if>
|
||
|
|
||
|
<xsl:variable name="struct.element.name">
|
||
|
<xsl:value-of select="$name"/>
|
||
|
<xsl:text>.</xsl:text>
|
||
|
<xsl:value-of select="name"/>
|
||
|
</xsl:variable>
|
||
|
|
||
|
<xsl:call-template name="generate.index.id">
|
||
|
<xsl:with-param name="name" select="$struct.element.name"/>
|
||
|
</xsl:call-template>
|
||
|
</entry>
|
||
|
<entry>
|
||
|
<xsl:apply-templates select="detaileddescription"/>
|
||
|
</entry>
|
||
|
</row>
|
||
|
</xsl:for-each>
|
||
|
</tbody>
|
||
|
</tgroup>
|
||
|
</table>
|
||
|
</xsl:for-each>
|
||
|
</section>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="memberdef[@kind = 'function']">
|
||
|
<section id="{@id}" xreflabel="{name}">
|
||
|
<title>
|
||
|
<xsl:text>Function </xsl:text>
|
||
|
<xsl:value-of select="name"/>
|
||
|
<xsl:text>()</xsl:text>
|
||
|
</title>
|
||
|
|
||
|
<xsl:call-template name="generate.index.id">
|
||
|
<xsl:with-param name="name" select="name"/>
|
||
|
</xsl:call-template>
|
||
|
|
||
|
<para>
|
||
|
<emphasis role="italic">
|
||
|
<xsl:value-of select="briefdescription"/>
|
||
|
</emphasis>
|
||
|
</para>
|
||
|
|
||
|
<programlisting language="c">
|
||
|
<emphasis role="keyword">
|
||
|
<xsl:value-of select="type"/>
|
||
|
</emphasis>
|
||
|
<xsl:text> </xsl:text>
|
||
|
<xsl:value-of select="name"/>
|
||
|
<xsl:text>(</xsl:text>
|
||
|
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="not(param[1]/declname)">
|
||
|
<emphasis role="keyword">void</emphasis>
|
||
|
</xsl:when>
|
||
|
|
||
|
<xsl:otherwise>
|
||
|
<xsl:for-each select="param">
|
||
|
<xsl:if test="position() > 1">
|
||
|
<xsl:text>,</xsl:text>
|
||
|
</xsl:if>
|
||
|
<xsl:text> 	</xsl:text>
|
||
|
<emphasis role="keyword">
|
||
|
<xsl:value-of select="type"/>
|
||
|
</emphasis>
|
||
|
<xsl:text> </xsl:text>
|
||
|
<xsl:value-of select="declname"/>
|
||
|
</xsl:for-each>
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
|
||
|
<xsl:text>)</xsl:text>
|
||
|
</programlisting>
|
||
|
|
||
|
<xsl:apply-templates select="detaileddescription"/>
|
||
|
</section>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="memberdef[@kind = 'enum']">
|
||
|
<section id="{@id}" xreflabel="{name}">
|
||
|
<title>
|
||
|
<xsl:text>Enum </xsl:text>
|
||
|
<xsl:value-of select="name"/>
|
||
|
</title>
|
||
|
|
||
|
<xsl:call-template name="generate.index.id">
|
||
|
<xsl:with-param name="name" select="name"/>
|
||
|
</xsl:call-template>
|
||
|
|
||
|
<xsl:apply-templates select="detaileddescription"/>
|
||
|
|
||
|
<table>
|
||
|
<title>Members</title>
|
||
|
<tgroup cols="2">
|
||
|
<thead>
|
||
|
<row>
|
||
|
<entry>Enum Value</entry>
|
||
|
<entry>Description</entry>
|
||
|
</row>
|
||
|
</thead>
|
||
|
|
||
|
<tbody>
|
||
|
<xsl:for-each select="enumvalue">
|
||
|
<row>
|
||
|
<entry>
|
||
|
<para id="{@id}" xreflabel="{name}">
|
||
|
<xsl:value-of select="name"/>
|
||
|
|
||
|
<xsl:call-template name="generate.index.id">
|
||
|
<xsl:with-param name="name" select="name"/>
|
||
|
</xsl:call-template>
|
||
|
</para>
|
||
|
</entry>
|
||
|
<entry>
|
||
|
<xsl:apply-templates select="detaileddescription"/>
|
||
|
</entry>
|
||
|
</row>
|
||
|
</xsl:for-each>
|
||
|
</tbody>
|
||
|
</tgroup>
|
||
|
</table>
|
||
|
</section>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="memberdef[@kind = 'define']">
|
||
|
<section id="{@id}" xreflabel="{name}">
|
||
|
<title>
|
||
|
<xsl:text>Macro </xsl:text>
|
||
|
<xsl:value-of select="name"/>
|
||
|
</title>
|
||
|
|
||
|
<xsl:call-template name="generate.index.id">
|
||
|
<xsl:with-param name="name" select="name"/>
|
||
|
</xsl:call-template>
|
||
|
|
||
|
<programlisting language="c">
|
||
|
<emphasis role="preprocessor">
|
||
|
<xsl:text>#define </xsl:text>
|
||
|
<xsl:value-of select="name"/>
|
||
|
<xsl:if test="count(param) > 0">
|
||
|
<xsl:text>(</xsl:text>
|
||
|
<xsl:for-each select="param/defname">
|
||
|
<xsl:if test="position() > 1">
|
||
|
<xsl:text>,</xsl:text>
|
||
|
</xsl:if>
|
||
|
<xsl:value-of select="."/>
|
||
|
</xsl:for-each>
|
||
|
<xsl:text>)</xsl:text>
|
||
|
</xsl:if>
|
||
|
<xsl:text> </xsl:text>
|
||
|
|
||
|
<!-- Split long macro definitions across multiple lines -->
|
||
|
<xsl:if test="(string-length(initializer) > 50) or (count(param) > 0)">
|
||
|
<xsl:text>\ 	</xsl:text>
|
||
|
</xsl:if>
|
||
|
|
||
|
<xsl:value-of select="initializer"/>
|
||
|
</emphasis>
|
||
|
<xsl:text> </xsl:text>
|
||
|
</programlisting>
|
||
|
|
||
|
<xsl:apply-templates select="detaileddescription"/>
|
||
|
</section>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="memberdef[@kind = 'typedef']">
|
||
|
<section id="{@id}" xreflabel="{name}">
|
||
|
<title>
|
||
|
<xsl:text>Type </xsl:text>
|
||
|
<xsl:value-of select="name"/>
|
||
|
</title>
|
||
|
|
||
|
<xsl:call-template name="generate.index.id">
|
||
|
<xsl:with-param name="name" select="name"/>
|
||
|
</xsl:call-template>
|
||
|
|
||
|
<programlisting language="c">
|
||
|
<emphasis role="keyword">
|
||
|
<xsl:text>typedef </xsl:text>
|
||
|
<xsl:value-of select="type"/>
|
||
|
</emphasis>
|
||
|
<xsl:text> </xsl:text>
|
||
|
<xsl:value-of select="name"/>
|
||
|
<xsl:text> </xsl:text>
|
||
|
<xsl:value-of select="argsstring"/>
|
||
|
</programlisting>
|
||
|
|
||
|
<xsl:apply-templates select="detaileddescription"/>
|
||
|
</section>
|
||
|
</xsl:template>
|
||
|
|
||
|
|
||
|
<xsl:template match="memberdef[@kind = 'variable']">
|
||
|
<section id="{@id}" xreflabel="{name}">
|
||
|
<title>
|
||
|
<xsl:text>Variable </xsl:text>
|
||
|
<xsl:value-of select="name"/>
|
||
|
</title>
|
||
|
|
||
|
<xsl:call-template name="generate.index.id">
|
||
|
<xsl:with-param name="name" select="name"/>
|
||
|
</xsl:call-template>
|
||
|
|
||
|
<programlisting language="c">
|
||
|
<emphasis role="keyword">
|
||
|
<xsl:value-of select="type"/>
|
||
|
</emphasis>
|
||
|
<xsl:text> </xsl:text>
|
||
|
<xsl:value-of select="name"/>
|
||
|
</programlisting>
|
||
|
|
||
|
<xsl:apply-templates select="detaileddescription"/>
|
||
|
</section>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="linebreak | simplesectsep">
|
||
|
<!-- MUST be on two separate lines, as this is a *literal* newline -->
|
||
|
<literallayout>
|
||
|
</literallayout>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="verbatim">
|
||
|
<programlisting>
|
||
|
<xsl:apply-templates/>
|
||
|
</programlisting>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="sectiondef">
|
||
|
<para>
|
||
|
<xsl:value-of select="description"/>
|
||
|
</para>
|
||
|
|
||
|
<xsl:apply-templates select="memberdef"/>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="simplesect" mode="struct">
|
||
|
<footnote>
|
||
|
<xsl:apply-templates/>
|
||
|
</footnote>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="simplesect">
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="@kind = 'par'">
|
||
|
<note>
|
||
|
<title>
|
||
|
<xsl:value-of select="title"/>
|
||
|
</title>
|
||
|
<xsl:apply-templates/>
|
||
|
</note>
|
||
|
</xsl:when>
|
||
|
|
||
|
<xsl:when test="@kind = 'return'">
|
||
|
<note>
|
||
|
<title>Returns</title>
|
||
|
<xsl:apply-templates/>
|
||
|
</note>
|
||
|
</xsl:when>
|
||
|
|
||
|
<xsl:when test="@kind = 'warning'">
|
||
|
<warning>
|
||
|
<title>Warning</title>
|
||
|
<xsl:apply-templates/>
|
||
|
</warning>
|
||
|
</xsl:when>
|
||
|
|
||
|
<xsl:when test="@kind = 'pre'">
|
||
|
<note>
|
||
|
<title>Precondition</title>
|
||
|
<xsl:apply-templates/>
|
||
|
</note>
|
||
|
</xsl:when>
|
||
|
|
||
|
<xsl:when test="@kind = 'see'">
|
||
|
<note>
|
||
|
<title>See also</title>
|
||
|
<xsl:apply-templates/>
|
||
|
</note>
|
||
|
</xsl:when>
|
||
|
|
||
|
<xsl:when test="@kind = 'note'">
|
||
|
<note>
|
||
|
<title>Note</title>
|
||
|
<xsl:apply-templates/>
|
||
|
</note>
|
||
|
</xsl:when>
|
||
|
|
||
|
</xsl:choose>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="parameterlist[@kind = 'param']">
|
||
|
<table>
|
||
|
<title>Parameters</title>
|
||
|
<tgroup cols="3">
|
||
|
<thead>
|
||
|
<row>
|
||
|
<entry>Data Direction</entry>
|
||
|
<entry>Parameter Name</entry>
|
||
|
<entry>Description</entry>
|
||
|
</row>
|
||
|
</thead>
|
||
|
<tbody>
|
||
|
<xsl:for-each select="parameteritem">
|
||
|
<row>
|
||
|
<xsl:apply-templates select="."/>
|
||
|
</row>
|
||
|
</xsl:for-each>
|
||
|
</tbody>
|
||
|
</tgroup>
|
||
|
</table>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="parameterlist[@kind = 'retval']">
|
||
|
<table>
|
||
|
<title>Return Values</title>
|
||
|
<tgroup cols="2">
|
||
|
<thead>
|
||
|
<row>
|
||
|
<entry>Return Value</entry>
|
||
|
<entry>Description</entry>
|
||
|
</row>
|
||
|
</thead>
|
||
|
<tbody>
|
||
|
<xsl:for-each select="parameteritem">
|
||
|
<row>
|
||
|
<xsl:apply-templates select="."/>
|
||
|
</row>
|
||
|
</xsl:for-each>
|
||
|
</tbody>
|
||
|
</tgroup>
|
||
|
</table>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="parameteritem">
|
||
|
<xsl:if test="parent::parameterlist/@kind = 'param'">
|
||
|
<entry>
|
||
|
<para>
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="not(descendant::parametername/@direction)">
|
||
|
<emphasis role="italic">?</emphasis>
|
||
|
</xsl:when>
|
||
|
|
||
|
<xsl:otherwise>
|
||
|
<emphasis role="bold">
|
||
|
[<xsl:value-of select="descendant::parametername/@direction"/>]
|
||
|
</emphasis>
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
</para>
|
||
|
</entry>
|
||
|
</xsl:if>
|
||
|
|
||
|
<entry>
|
||
|
<para>
|
||
|
<xsl:value-of select="parameternamelist/parametername"/>
|
||
|
</para>
|
||
|
</entry>
|
||
|
|
||
|
<entry>
|
||
|
<xsl:apply-templates select="parameterdescription"/>
|
||
|
</entry>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="parameterdescription">
|
||
|
<para>
|
||
|
<xsl:apply-templates/>
|
||
|
</para>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="type">
|
||
|
<xsl:apply-templates/>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="bold">
|
||
|
<emphasis role="bold">
|
||
|
<xsl:apply-templates/>
|
||
|
</emphasis>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="emphasis">
|
||
|
<emphasis role="italic">
|
||
|
<xsl:apply-templates/>
|
||
|
</emphasis>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="small">
|
||
|
<xsl:apply-templates/>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="mdash | ndash">
|
||
|
<!-- Doxygen bug; double dashed are replaced with single HTML dash
|
||
|
entities, even in verbatim-like <tt> sections -->
|
||
|
<xsl:text>--</xsl:text>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="computeroutput | preformatted">
|
||
|
<computeroutput>
|
||
|
<xsl:apply-templates/>
|
||
|
</computeroutput>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="codeline">
|
||
|
<xsl:apply-templates/>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="ulink">
|
||
|
<ulink url="{@url}">
|
||
|
<xsl:value-of select="."/>
|
||
|
</ulink>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="superscript">
|
||
|
<superscript>
|
||
|
<xsl:apply-templates/>
|
||
|
</superscript>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="subscript">
|
||
|
<subscript>
|
||
|
<xsl:apply-templates/>
|
||
|
</subscript>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="para">
|
||
|
<para>
|
||
|
<xsl:apply-templates/>
|
||
|
</para>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="ref">
|
||
|
<xsl:choose>
|
||
|
<!-- Don't show links inside program listings -->
|
||
|
<xsl:when test="ancestor::programlisting">
|
||
|
<xsl:value-of select="."/>
|
||
|
</xsl:when>
|
||
|
|
||
|
<!-- Don't show links to file compound definitions, as they are discarded -->
|
||
|
<xsl:when test="ancestor::*/compounddef[@kind = 'file' and @id = current()/@refid]">
|
||
|
<xsl:value-of select="."/>
|
||
|
</xsl:when>
|
||
|
|
||
|
<!-- Show links outside program listings -->
|
||
|
<xsl:otherwise>
|
||
|
<link linkend="{@refid}">
|
||
|
<xsl:value-of select="text()"/>
|
||
|
</link>
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="entry">
|
||
|
<entry>
|
||
|
<xsl:apply-templates/>
|
||
|
</entry>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="table[caption]">
|
||
|
<table>
|
||
|
<title>
|
||
|
<xsl:value-of select="caption"/>
|
||
|
</title>
|
||
|
|
||
|
<tgroup cols="{@cols}">
|
||
|
<thead>
|
||
|
<xsl:apply-templates select="row[entry/@thead = 'yes']"/>
|
||
|
</thead>
|
||
|
|
||
|
<tbody>
|
||
|
<xsl:apply-templates select="row[entry/@thead != 'yes']"/>
|
||
|
</tbody>
|
||
|
</tgroup>
|
||
|
</table>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="table[not(caption)]">
|
||
|
<informaltable>
|
||
|
<tgroup cols="{@cols}">
|
||
|
<thead>
|
||
|
<xsl:apply-templates select="row[entry/@thead = 'yes']"/>
|
||
|
</thead>
|
||
|
|
||
|
<tbody>
|
||
|
<xsl:apply-templates select="row[entry/@thead != 'yes']"/>
|
||
|
</tbody>
|
||
|
</tgroup>
|
||
|
</informaltable>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="row">
|
||
|
<row>
|
||
|
<xsl:apply-templates/>
|
||
|
</row>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="itemizedlist">
|
||
|
<itemizedlist>
|
||
|
<xsl:apply-templates/>
|
||
|
</itemizedlist>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="orderedlist">
|
||
|
<orderedlist>
|
||
|
<xsl:apply-templates/>
|
||
|
</orderedlist>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="listitem">
|
||
|
<listitem>
|
||
|
<xsl:apply-templates/>
|
||
|
</listitem>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="programlisting">
|
||
|
<programlisting language="c">
|
||
|
<xsl:for-each select="codeline[position() > 1 or highlight]">
|
||
|
<xsl:apply-templates select="."/>
|
||
|
<xsl:text> </xsl:text>
|
||
|
</xsl:for-each>
|
||
|
</programlisting>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="highlight">
|
||
|
<emphasis role="{@class}">
|
||
|
<xsl:apply-templates/>
|
||
|
</emphasis>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="highlight[1]/text()">
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="substring(., 1, 1) = '*'">
|
||
|
<xsl:value-of select="substring(., 2)"/>
|
||
|
</xsl:when>
|
||
|
|
||
|
<xsl:otherwise>
|
||
|
<xsl:value-of select="."/>
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="sp[ancestor::codeline]">
|
||
|
<xsl:text> </xsl:text>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="image">
|
||
|
<mediaobject>
|
||
|
<imageobject>
|
||
|
<imagedata align="center">
|
||
|
<xsl:attribute name="fileref">
|
||
|
<xsl:text>images/</xsl:text>
|
||
|
<xsl:value-of select="@name"/>
|
||
|
</xsl:attribute>
|
||
|
</imagedata>
|
||
|
</imageobject>
|
||
|
</mediaobject>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="detaileddescription">
|
||
|
<xsl:apply-templates/>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="sect1 | sect2 | sect3 | sect4 | sect5 | sect6 | sect7 | sect8 | sect9">
|
||
|
<section>
|
||
|
<xsl:if test="@id">
|
||
|
<xsl:attribute name="id">
|
||
|
<xsl:value-of select="@id"/>
|
||
|
</xsl:attribute>
|
||
|
</xsl:if>
|
||
|
|
||
|
<title>
|
||
|
<xsl:value-of select="title"/>
|
||
|
</title>
|
||
|
|
||
|
<xsl:apply-templates/>
|
||
|
</section>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="anchor">
|
||
|
<xsl:if test="@id">
|
||
|
<indexterm id="{@id}"/>
|
||
|
</xsl:if>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="title"/>
|
||
|
|
||
|
<xsl:template match="htmlonly"/>
|
||
|
|
||
|
<xsl:template match="*">
|
||
|
<xsl:message>NO XSL TEMPLATE MATCH: <xsl:value-of select="local-name()"/></xsl:message>
|
||
|
</xsl:template>
|
||
|
|
||
|
</xsl:stylesheet>
|