dion 2002/06/06 08:58:54
Modified: src/xslt docbook2document.xsl
Log:
Fixed bug where sect1,2 etc were not supported
Revision Changes Path
1.2 +353 -345 jakarta-turbine-maven/src/xslt/docbook2document.xsl
Index: docbook2document.xsl
===================================================================
RCS file: /home/cvs/jakarta-turbine-maven/src/xslt/docbook2document.xsl,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- docbook2document.xsl 5 Jun 2002 22:01:30 -0000 1.1
+++ docbook2document.xsl 6 Jun 2002 15:58:54 -0000 1.2
@@ -4,378 +4,386 @@
Author: Berin Loritsch ([EMAIL PROTECTED])
Author: Peter Donald ([EMAIL PROTECTED])
Author: dIon Gillard ([EMAIL PROTECTED])
- Version: $Id: docbook2document.xsl,v 1.1 2002/06/05 22:01:30 dion Exp $
+ Version: $Id: docbook2document.xsl,v 1.2 2002/06/06 15:58:54 dion Exp $
FIXME: Doesn't handle attributes of informaltable and other docbook
elements
-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<!-- used for cross ref links (xref) -->
- <xsl:key name="id" match="*" use="@id"/>
+ <xsl:key name="id" match="*" use="@id"/>
- <xsl:template match="/">
- <xsl:comment>This document generated by docbook2document.xsl</xsl:comment>
- <xsl:apply-templates />
- </xsl:template>
+ <xsl:template match="/">
+ <xsl:comment>This document generated by docbook2document.xsl</xsl:comment>
+ <xsl:apply-templates />
+ </xsl:template>
- <!-- top level component templates -->
- <xsl:template match="book">
- <document>
- <properties>
- <title>
- <xsl:value-of select="title"/>
- <xsl:if test="subtitle">
- (<xsl:value-of select="subtitle"/>)
- </xsl:if>
- </title>
- <xsl:for-each select="//authorgroup/author">
- <author email="{affiliation/address/email}">
- <xsl:if test="honorific"><xsl:value-of
select="honorific"/>. </xsl:if>
- <xsl:if test="firstname">
- <xsl:value-of select="firstname"/>
- <xsl:text> </xsl:text>
- </xsl:if>
- <xsl:value-of select="surname"/>
- </author>
- </xsl:for-each>
- <!-- always have the following as an author -->
- <author email="[EMAIL PROTECTED]">Commons
Documentation Team</author>
- </properties>
-
- <body>
- <xsl:apply-templates select="dedication"/>
- <xsl:apply-templates select="bookinfo"/>
- </body>
- </document>
- </xsl:template>
-
- <!--
- top level components create document, properties element and start body
- -->
- <xsl:template match="chapter|article|appendix">
- <document>
- <properties>
- <title>
- <xsl:value-of select="title"/>
- <xsl:if test="subtitle">
- (<xsl:value-of select="subtitle"/>)
- </xsl:if>
- </title>
- <xsl:for-each select="//authorgroup/author">
- <author email="{affiliation/address/email}">
- <xsl:if test="honorific"><xsl:value-of
select="honorific"/>. </xsl:if>
- <xsl:if test="firstname">
- <xsl:value-of select="firstname"/>
- <xsl:text> </xsl:text>
- </xsl:if>
- <xsl:value-of select="surname"/>
- </author>
- </xsl:for-each>
- <!-- always have the following as an author -->
- <author email="[EMAIL PROTECTED]">
- Commons Documentation Team
- </author>
- </properties>
-
- <body>
-
- <xsl:apply-templates select="para"/>
-
- <xsl:apply-templates select="section">
- <xsl:with-param name="level" select="1"/>
- </xsl:apply-templates>
-
- <xsl:apply-templates select="//footnote" mode="base"/>
- </body>
- </document>
- </xsl:template>
-
- <xsl:template match="title|subtitle"/>
-
- <!-- author block -->
- <!-- FIXME: Where would this match? -->
- <xsl:template match="author">
- <p>Author:
- <xsl:value-of select="honorific"/><xsl:text>. </xsl:text>
- <xsl:value-of select="firstname"/><xsl:text> </xsl:text>
+ <!-- top level component templates -->
+ <xsl:template match="book">
+ <document>
+ <properties>
+ <title>
+ <xsl:value-of select="title"/>
+ <xsl:if test="subtitle">
+ (<xsl:value-of select="subtitle"/>)
+ </xsl:if>
+ </title>
+ <xsl:for-each select="//authorgroup/author">
+ <author email="{affiliation/address/email}">
+ <xsl:if test="honorific"><xsl:value-of select="honorific"/>. </xsl:if>
+ <xsl:if test="firstname">
+ <xsl:value-of select="firstname"/>
+ <xsl:text> </xsl:text>
+ </xsl:if>
<xsl:value-of select="surname"/>
- </p>
-
- <xsl:text>Affiliations</xsl:text>
- <ul>
- <xsl:apply-templates select="affiliation"/>
- </ul>
- <xsl:apply-templates select="authorblurb"/>
- </xsl:template>
+ </author>
+ </xsl:for-each>
+ </properties>
+
+ <body>
+ <xsl:apply-templates select="dedication"/>
+ <xsl:apply-templates select="bookinfo"/>
+ </body>
+ </document>
+ </xsl:template>
+
+ <!--
+ top level components create document, properties element and start body
+ -->
+ <xsl:template match="chapter|article|appendix">
+ <document>
+ <properties>
+ <title>
+ <xsl:value-of select="title"/>
+ <xsl:if test="subtitle">
+ (<xsl:value-of select="subtitle"/>)
+ </xsl:if>
+ </title>
+ <xsl:for-each select="//authorgroup/author">
+ <author email="{affiliation/address/email}">
+ <xsl:if test="honorific"><xsl:value-of select="honorific"/>. </xsl:if>
+ <xsl:if test="firstname">
+ <xsl:value-of select="firstname"/>
+ <xsl:text> </xsl:text>
+ </xsl:if>
+ <xsl:value-of select="surname"/>
+ </author>
+ </xsl:for-each>
+ </properties>
- <xsl:template match="affiliation">
- <li>
- <xsl:text>[</xsl:text>
- <xsl:value-of select="shortaffil"/>
- <xsl:text>] </xsl:text>
- <b><xsl:value-of select="jobtitle"/></b>
- <i><xsl:value-of select="orgname"/>
- <xsl:if test="orgdiv">
- <xsl:text>/</xsl:text>
- <xsl:value-of select="orgdiv"/>
- </xsl:if>
- </i>
- </li>
- </xsl:template>
+ <body>
+ <xsl:apply-templates />
- <xsl:template match="authorblurb">
- <xsl:text>Bio</xsl:text>
+ <xsl:apply-templates select="//footnote" mode="base"/>
+ </body>
+ </document>
+ </xsl:template>
+
+ <xsl:template match="title|subtitle"/>
+
+ <!-- author block -->
+ <!-- FIXME: Where would this match? -->
+ <xsl:template match="author">
+ <p>Author:
+ <xsl:value-of select="honorific"/><xsl:text>. </xsl:text>
+ <xsl:value-of select="firstname"/><xsl:text> </xsl:text>
+ <xsl:value-of select="surname"/>
+ </p>
+
+ <xsl:text>Affiliations</xsl:text>
+ <ul>
+ <xsl:apply-templates select="affiliation"/>
+ </ul>
+ <xsl:apply-templates select="authorblurb"/>
+ </xsl:template>
+
+ <xsl:template match="affiliation">
+ <li>
+ <xsl:text>[</xsl:text>
+ <xsl:value-of select="shortaffil"/>
+ <xsl:text>] </xsl:text>
+ <b><xsl:value-of select="jobtitle"/></b>
+ <i><xsl:value-of select="orgname"/>
+ <xsl:if test="orgdiv">
+ <xsl:text>/</xsl:text>
+ <xsl:value-of select="orgdiv"/>
+ </xsl:if>
+ </i>
+ </li>
+ </xsl:template>
+
+ <xsl:template match="authorblurb">
+ <xsl:text>Bio</xsl:text>
+ <ul>
+ <xsl:apply-templates/>
+ </ul>
+ </xsl:template>
+
+ <xsl:template
match="honorific|firstname|surname|orgdiv|orgname|shortaffil|jobtitle"/>
+
+ <!-- revision history -->
+ <xsl:template match="revhistory">
+ <section name="Revision History">
+ <xsl:variable name="unique-revisions"
+
select="revision[not(revnumber=preceding-sibling::revision/revnumber)]/revnumber"/>
+
+ <xsl:variable name="base" select="."/>
+
+ <xsl:for-each select="$unique-revisions">
+ <p>Revision <xsl:value-of select="."/>
+ (<xsl:value-of select="$base/revision[revnumber=current()]/date"/>)
+ </p>
<ul>
- <xsl:apply-templates/>
+ <xsl:apply-templates select="$base/revision[revnumber=current()]"/>
</ul>
- </xsl:template>
-
- <xsl:template
match="honorific|firstname|surname|orgdiv|orgname|shortaffil|jobtitle"/>
-
- <!-- revision history -->
- <xsl:template match="revhistory">
- <section name="Revision History">
- <xsl:variable name="unique-revisions"
select="revision[not(revnumber=preceding-sibling::revision/revnumber)]/revnumber"/>
-
- <xsl:variable name="base" select="."/>
-
- <xsl:for-each select="$unique-revisions">
- <p>Revision <xsl:value-of select="."/>
- (<xsl:value-of
select="$base/revision[revnumber=current()]/date"/>)
- </p>
- <ul>
- <xsl:apply-templates
select="$base/revision[revnumber=current()]"/>
- </ul>
- </xsl:for-each>
+ </xsl:for-each>
+ </section>
+ </xsl:template>
+
+ <xsl:template match="revision">
+ <li>
+ <xsl:choose>
+ <xsl:when test="@revisionflag='added'">
+ <img align="absmiddle" alt="added" border="0" src="images/add.jpg"/>
+ </xsl:when>
+ <xsl:when test="@revisionflag='changed'">
+ <img align="absmiddle" alt="changed" border="0" src="images/update.jpg"/>
+ </xsl:when>
+ <xsl:when test="@revisionflag='deleted'">
+ <img align="absmiddle" alt="deleted" border="0" src="images/remove.jpg"/>
+ </xsl:when>
+ <xsl:when test="@revisionflag='off'">
+ <img align="absmiddle" alt="off" border="0" src="images/fix.jpg"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <img align="absmiddle" alt="changed" border="0" src="images/update.jpg"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:value-of select="revremark"/>
+ <xsl:text> (</xsl:text><xsl:value-of
select="authorinitials"/><xsl:text>)</xsl:text>
+ </li>
+ </xsl:template>
+
+ <xsl:template match="revnumber|revremark|authorinitials|date"/>
+
+ <xsl:template match="section">
+ <xsl:call-template name="section-common">
+ <xsl:with-param name="level" select="1"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <xsl:template match="sect1">
+ <xsl:call-template name="section-common">
+ <xsl:with-param name="level" select="1"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <xsl:template match="sect2">
+ <xsl:call-template name="section-common">
+ <xsl:with-param name="level" select="2"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <!-- sections - and nested -->
+ <xsl:template name="section-common">
+ <xsl:param name="level"/>
+
+ <xsl:choose>
+ <xsl:when test="number($level)=1">
+ <xsl:if test="@id"><a name="{@id}"> </a></xsl:if>
+ <section name="{title}">
+ <xsl:apply-templates>
+ <xsl:with-param name="level" select="number($level)+1"/>
+ </xsl:apply-templates>
</section>
- </xsl:template>
-
- <xsl:template match="revision">
- <li>
- <xsl:choose>
- <xsl:when test="@revisionflag='added'">
- <img align="absmiddle" alt="added" border="0"
src="images/add.jpg"/>
- </xsl:when>
- <xsl:when test="@revisionflag='changed'">
- <img align="absmiddle" alt="changed" border="0"
src="images/update.jpg"/>
- </xsl:when>
- <xsl:when test="@revisionflag='deleted'">
- <img align="absmiddle" alt="deleted" border="0"
src="images/remove.jpg"/>
- </xsl:when>
- <xsl:when test="@revisionflag='off'">
- <img align="absmiddle" alt="off" border="0"
src="images/fix.jpg"/>
- </xsl:when>
- <xsl:otherwise>
- <img align="absmiddle" alt="changed" border="0"
src="images/update.jpg"/>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:value-of select="revremark"/>
- <xsl:text> (</xsl:text><xsl:value-of
select="authorinitials"/><xsl:text>)</xsl:text>
- </li>
- </xsl:template>
-
- <xsl:template match="revnumber|revremark|authorinitials|date"/>
-
- <!-- sections - and nested -->
- <xsl:template match="section">
- <xsl:param name="level"/>
-
- <xsl:choose>
- <xsl:when test="number($level)=1">
- <xsl:if test="@id"><a name="{@id}"> </a></xsl:if>
- <section name="{title}">
- <xsl:apply-templates>
- <xsl:with-param name="level" select="number($level)+1"/>
- </xsl:apply-templates>
- </section>
- </xsl:when>
- <xsl:when test="number($level)=2">
- <xsl:if test="@id"><a name="{@id}"> </a></xsl:if>
- <subsection name="{title}">
- <xsl:apply-templates>
- <xsl:with-param name="level" select="number($level)+1"/>
- </xsl:apply-templates>
- </subsection>
- </xsl:when>
- <xsl:otherwise>
- <xsl:if test="@id"><a name="{@id}"> </a></xsl:if>
- <p><a name="{@name}"><strong><xsl:value-of
select="title"/></strong></a><br />
- <xsl:apply-templates>
- <xsl:with-param name="level" select="number($level)+1"/>
- </xsl:apply-templates>
- </p>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
+ </xsl:when>
+ <xsl:when test="number($level)=2">
+ <xsl:if test="@id"><a name="{@id}"> </a></xsl:if>
+ <subsection name="{title}">
+ <xsl:apply-templates>
+ <xsl:with-param name="level" select="number($level)+1"/>
+ </xsl:apply-templates>
+ </subsection>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:if test="@id"><a name="{@id}"> </a></xsl:if>
+ <p><a name="{@name}"><strong><xsl:value-of select="title"/></strong></a><br
/>
+ <xsl:apply-templates>
+ <xsl:with-param name="level" select="number($level)+1"/>
+ </xsl:apply-templates>
+ </p>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
- <!-- paragraphs/textual elements -->
- <xsl:template match="para">
- <p><xsl:apply-templates/></p>
- </xsl:template>
+ <!-- paragraphs/textual elements -->
+ <xsl:template match="para">
+ <p><xsl:apply-templates/></p>
+ </xsl:template>
- <xsl:template match="emphasis"><em><xsl:apply-templates/></em></xsl:template>
+ <xsl:template match="emphasis"><em><xsl:apply-templates/></em></xsl:template>
- <xsl:template match="example">
- <p><pre><xsl:apply-templates/></pre></p>
- </xsl:template>
-
- <!-- book details -->
- <xsl:template match="bookinfo">
- <b><xsl:value-of select="edition"/></b><xsl:text> </xsl:text>
- <i>pub. <xsl:value-of select="pubdate"/></i>
- <xsl:apply-templates/>
- </xsl:template>
-
- <xsl:template match="dedication">
- <b>Dedication</b>
- <xsl:apply-templates/>
- </xsl:template>
-
- <xsl:template match="edition|pubdate|year|holder"/>
-
- <xsl:template match="copyright">
- <p>Copyright ©<xsl:value-of select="year"/> by
- <xsl:value-of select="holder"/>.<br/>
- <i>All rights reserved.</i>
- </p>
- </xsl:template>
+ <xsl:template match="example">
+ <p><pre><xsl:apply-templates/></pre></p>
+ </xsl:template>
+
+ <!-- book details -->
+ <xsl:template match="bookinfo">
+ <b><xsl:value-of select="edition"/></b><xsl:text> </xsl:text>
+ <i>pub. <xsl:value-of select="pubdate"/></i>
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="dedication">
+ <b>Dedication</b>
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="edition|pubdate|year|holder"/>
+
+ <xsl:template match="copyright">
+ <p>Copyright ©<xsl:value-of select="year"/> by
+ <xsl:value-of select="holder"/>.<br/>
+ <i>All rights reserved.</i>
+ </p>
+ </xsl:template>
+
+ <xsl:template match="legalnotice">
+ <p>Legal Notice</p>
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <!-- lists etc -->
+ <xsl:template match="programlisting">
+ <source><xsl:apply-templates/></source>
+ </xsl:template>
- <xsl:template match="legalnotice">
- <p>Legal Notice</p>
- <xsl:apply-templates/>
- </xsl:template>
-
- <!-- lists etc -->
- <xsl:template match="programlisting">
- <source><xsl:apply-templates/></source>
- </xsl:template>
-
- <xsl:template match="orderedlist"><ol><xsl:apply-templates/></ol></xsl:template>
+ <xsl:template match="orderedlist"><ol><xsl:apply-templates/></ol></xsl:template>
- <xsl:template
match="listitem|member"><li><xsl:apply-templates/></li></xsl:template>
+ <xsl:template
match="listitem|member"><li><xsl:apply-templates/></li></xsl:template>
- <xsl:template
match="itemizedlist|simplelist"><ul><xsl:apply-templates/></ul></xsl:template>
+ <xsl:template
match="itemizedlist|simplelist"><ul><xsl:apply-templates/></ul></xsl:template>
- <xsl:template
match="classname|function|parameter"><code><xsl:apply-templates/><xsl:if
test="name(.)='function'"><xsl:text>()</xsl:text></xsl:if></code></xsl:template>
-
- <xsl:template match="blockquote">
- <xsl:if test="title">
- <blockquote><xsl:value-of select="title"/><br/>
- <xsl:apply-templates/>
- </blockquote>
- </xsl:if>
- <p></p>
- </xsl:template>
+ <xsl:template
match="classname|function|parameter"><code><xsl:apply-templates/><xsl:if
test="name(.)='function'"><xsl:text>()</xsl:text></xsl:if></code></xsl:template>
- <xsl:template match="warning">
- <xsl:if test="title">
- <p><em><xsl:value-of select="title"/></em></p>
- </xsl:if>
- <p><xsl:apply-templates/></p>
- </xsl:template>
-
- <!-- links -->
- <xsl:template match="ulink"><a
href="{@url}"><xsl:apply-templates/></a></xsl:template>
- <xsl:template match="xref">
- <!--
- make a link to the linkend specified, prefixing with a # since it's
- internal to the generated html. The text of the link should be either
- a) element pointed to by linkend's xreflabel or
- b) endterm content
- -->
- <xsl:variable name="link-targets" select="key('id',@linkend)"/>
- <xsl:variable name="link-target" select="$link-targets[1]"/>
-
- <a href="#{@linkend}">
- <!-- xreflabel of target goes here-->
- <xsl:choose>
- <xsl:when test="$link-target/@xreflabel">
- <xsl:value-of select="$link-target/@xreflabel"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:variable name="endterm-targets"
select="key('id',@endterm)"/>
- <xsl:variable name="endterm-target"
select="$endterm-targets[1]"/>
- <xsl:apply-templates select="$endterm-target"/>
- </xsl:otherwise>
- </xsl:choose>
- </a>
- </xsl:template>
-
- <!-- tables, footnotes etc -->
- <xsl:template match="footnote">
- <sup><a href="#{generate-id(.)}"><xsl:value-of select="generate-id(.)"/></a>
- </sup>
- </xsl:template>
-
- <xsl:template match="footnote" mode="base">
- <a name="{generate-id(.)}"/><xsl:value-of
select="generate-id(.)"/><xsl:text>) </xsl:text><i><xsl:value-of select="."/></i>
- </xsl:template>
-
- <xsl:template match="figure">
- <p>Figure: <xsl:value-of select="title"/></p>
+ <xsl:template match="blockquote">
+ <xsl:if test="title">
+ <blockquote><xsl:value-of select="title"/><br/>
<xsl:apply-templates/>
- </xsl:template>
-
- <xsl:template match="graphic">
- <img border="0" alt="{@srccredit}" src="{@fileref}"/>
- <xsl:if test="@srccredit">
- <ul><li><xsl:value-of select="@srccredit"/></li></ul>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="table"><table><xsl:apply-templates/></table></xsl:template>
-
- <!-- FIXME: support attributes of informal table here -->
- <xsl:template match="informaltable">
- <table><xsl:apply-templates/></table>
- </xsl:template>
-
- <xsl:template match="tgroup">
- <xsl:apply-templates select="thead|tbody|tfoot"/>
- </xsl:template>
-
- <xsl:template match="thead">
- <xsl:apply-templates select="row" mode="head"/>
- </xsl:template>
-
- <xsl:template match="row" mode="head">
- <tr><xsl:apply-templates select="entry" mode="head"/></tr>
- </xsl:template>
-
- <xsl:template match="row">
- <tr><xsl:apply-templates/></tr>
- </xsl:template>
-
- <xsl:template match="tbody|tfoot">
- <xsl:apply-templates/>
- </xsl:template>
-
- <xsl:template match="entry" mode="head">
- <th><xsl:apply-templates/></th>
- </xsl:template>
+ </blockquote>
+ </xsl:if>
+ <p></p>
+ </xsl:template>
+
+ <xsl:template match="warning">
+ <xsl:if test="title">
+ <p><em><xsl:value-of select="title"/></em></p>
+ </xsl:if>
+ <p><xsl:apply-templates/></p>
+ </xsl:template>
+
+ <!-- links -->
+ <xsl:template match="ulink"><a
href="{@url}"><xsl:apply-templates/></a></xsl:template>
+ <xsl:template match="xref">
+ <!--
+ make a link to the linkend specified, prefixing with a # since it's
+ internal to the generated html. The text of the link should be either
+ a) element pointed to by linkend's xreflabel or
+ b) endterm content
+ -->
+ <xsl:variable name="link-targets" select="key('id',@linkend)"/>
+ <xsl:variable name="link-target" select="$link-targets[1]"/>
+
+ <a href="#{@linkend}">
+ <!-- xreflabel of target goes here-->
+ <xsl:choose>
+ <xsl:when test="$link-target/@xreflabel">
+ <xsl:value-of select="$link-target/@xreflabel"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:variable name="endterm-targets" select="key('id',@endterm)"/>
+ <xsl:variable name="endterm-target" select="$endterm-targets[1]"/>
+ <xsl:apply-templates select="$endterm-target"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </a>
+ </xsl:template>
+
+ <!-- tables, footnotes etc -->
+ <xsl:template match="footnote">
+ <sup><a href="#{generate-id(.)}"><xsl:value-of select="generate-id(.)"/></a>
+ </sup>
+ </xsl:template>
+
+ <xsl:template match="footnote" mode="base">
+ <a name="{generate-id(.)}"/><xsl:value-of select="generate-id(.)"/><xsl:text>)
</xsl:text><i><xsl:value-of select="."/></i>
+ </xsl:template>
+
+ <xsl:template match="figure">
+ <p>Figure: <xsl:value-of select="title"/></p>
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="graphic">
+ <img border="0" alt="{@srccredit}" src="{@fileref}"/>
+ <xsl:if test="@srccredit">
+ <ul><li><xsl:value-of select="@srccredit"/></li></ul>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="table"><table><xsl:apply-templates/></table></xsl:template>
+
+ <!-- FIXME: support attributes of informal table here -->
+ <xsl:template match="informaltable">
+ <table><xsl:apply-templates/></table>
+ </xsl:template>
+
+ <xsl:template match="tgroup">
+ <xsl:apply-templates select="thead|tbody|tfoot"/>
+ </xsl:template>
+
+ <xsl:template match="thead">
+ <xsl:apply-templates select="row" mode="head"/>
+ </xsl:template>
+
+ <xsl:template match="row" mode="head">
+ <tr><xsl:apply-templates select="entry" mode="head"/></tr>
+ </xsl:template>
+
+ <xsl:template match="row">
+ <tr><xsl:apply-templates/></tr>
+ </xsl:template>
+
+ <xsl:template match="tbody|tfoot">
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="entry" mode="head">
+ <th><xsl:apply-templates/></th>
+ </xsl:template>
- <xsl:template match="entry">
- <td><xsl:apply-templates/></td>
- </xsl:template>
-
- <xsl:template match="firstterm">
- <i><xsl:apply-templates/></i>
- </xsl:template>
+ <xsl:template match="entry">
+ <td><xsl:apply-templates/></td>
+ </xsl:template>
+
+ <xsl:template match="firstterm">
+ <i><xsl:apply-templates/></i>
+ </xsl:template>
- <xsl:template match="remark">
- <p><b>Note:</b> <xsl:apply-templates/></p>
- </xsl:template>
+ <xsl:template match="remark">
+ <p><b>Note:</b> <xsl:apply-templates/></p>
+ </xsl:template>
- <xsl:template match="sgmltag">
- <code><xsl:apply-templates/></code>
- </xsl:template>
+ <xsl:template match="sgmltag">
+ <code><xsl:apply-templates/></code>
+ </xsl:template>
- <xsl:template
match="trademark"><xsl:apply-templates/><sup>TM</sup></xsl:template>
+ <xsl:template match="trademark"><xsl:apply-templates/><sup>TM</sup></xsl:template>
- <xsl:template match="node()|@*" priority="-1">
- <xsl:copy>
- <xsl:apply-templates select="node()|@*"/>
- </xsl:copy>
- </xsl:template>
+ <xsl:template match="node()|@*" priority="-1">
+ <xsl:copy>
+ <xsl:apply-templates select="node()|@*"/>
+ </xsl:copy>
+ </xsl:template>
</xsl:stylesheet>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>