Initial commit of DAISY transform XSL.

This commit is contained in:
Gerald Schmidt 2009-12-01 13:02:16 +00:00
parent f9fac683f3
commit 32abbb9470
7 changed files with 871 additions and 0 deletions

View File

@ -0,0 +1,96 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="Heading">
<xsl:choose>
<xsl:when test="count(ancestor-or-self::SubSubSection) &gt; 0">
<h5>
<xsl:call-template name="apply-templates-lang"/>
</h5>
</xsl:when>
<xsl:when test="count(ancestor-or-self::SubSection) &gt; 0">
<h4>
<xsl:call-template name="apply-templates-lang"/>
</h4>
</xsl:when>
<xsl:when test="count(ancestor-or-self::Section) &gt; 0">
<h3>
<xsl:call-template name="apply-templates-lang"/>
</h3>
</xsl:when>
<xsl:when test="count(ancestor-or-self::Session) &gt; 0 or count(//ancestor-or-self::Introduction) &gt; 0">
<h2>
<xsl:call-template name="apply-templates-lang"/>
</h2>
</xsl:when>
<xsl:otherwise>
<h1>
<xsl:call-template name="apply-templates-lang"/>
</h1>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="SubHeading">
<xsl:choose>
<xsl:when test="count(ancestor-or-self::SubSubSection) &gt; 0">
<h6>
<xsl:call-template name="apply-templates-lang"/>
</h6>
</xsl:when>
<xsl:when test="count(ancestor-or-self::SubSection) &gt; 0">
<h5>
<xsl:call-template name="apply-templates-lang"/>
</h5>
</xsl:when>
<xsl:when test="count(ancestor-or-self::Section) &gt; 0">
<h4>
<xsl:call-template name="apply-templates-lang"/>
</h4>
</xsl:when>
<xsl:when test="count(ancestor-or-self::Session) &gt; 0 or count(//ancestor-or-self::Introduction) &gt; 0">
<h3>
<xsl:call-template name="apply-templates-lang"/>
</h3>
</xsl:when>
<xsl:otherwise>
<h2>
<xsl:call-template name="apply-templates-lang"/>
</h2>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="SubSubHeading">
<p>
<xsl:call-template name="apply-templates-lang"/>
</p>
</xsl:template>
<xsl:template match="Question">
<xsl:if test="count(Heading) = '0'">
<p>
<span class="optional-prodnote">
<strong>Question</strong>
</span>
</p>
</xsl:if>
<xsl:call-template name="apply-templates-lang"/>
</xsl:template>
<xsl:template match="Answer">
<xsl:if test="count(Heading) = '0'">
<p>
<span class="optional-prodnote">
<strong>Answer</strong>
</span>
</p>
</xsl:if>
<xsl:call-template name="apply-templates-lang"/>
</xsl:template>
<xsl:template match="Discussion">
<xsl:if test="count(Heading) = '0'">
<p>
<span class="optional-prodnote">
<strong>Discussion</strong>
</span>
</p>
</xsl:if>
<xsl:call-template name="apply-templates-lang"/>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,96 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="b">
<!-- b not available -->
<strong>
<xsl:apply-templates/>
</strong>
</xsl:template>
<xsl:template match="i">
<!-- i not available -->
<em>
<xsl:apply-templates/>
</em>
</xsl:template>
<xsl:template match="br">
<br/>
</xsl:template>
<xsl:template match="u">
<!-- deprecated -->
<em>
<xsl:apply-templates/>
</em>
</xsl:template>
<xsl:template match="sup">
<sup>
<xsl:apply-templates/>
</sup>
</xsl:template>
<xsl:template match="sub">
<sub>
<xsl:apply-templates/>
</sub>
</xsl:template>
<xsl:template match="smallCaps">
<xsl:variable name="small" select="'abcdefghijklmnopqrstuvwxyz'"/>
<xsl:variable name="caps" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"/>
<xsl:value-of select="translate(text(), $small, $caps)"/>
</xsl:template>
<xsl:template match="SideNote">
<br/>
<span class="required-prodnote">Side note</span>
<xsl:apply-templates/>
<br/>
<span class="optional-prodnote">End of side note</span>
<br/>
</xsl:template>
<xsl:template match="SideNote/Heading">
<br/>
<em>
<xsl:apply-templates/>
</em>
</xsl:template>
<xsl:template match="SideNoteParagraph">
<br/>
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="Footnote">
<br/>
<span class="required-prodnote">Footnote</span>
<br/>
<xsl:apply-templates/>
<br/>
<span class="optional-prodnote">End of footnote</span>
<br/>
</xsl:template>
<xsl:template match="InlineEquation">
<br/>
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="InlineEquation/Image">
<img>
<xsl:attribute name="src">
<xsl:value-of select="./Image/@src"/>
</xsl:attribute>
<xsl:attribute name="alt">
<xsl:value-of select="./Image/@alt"/>
</xsl:attribute>
</img>
</xsl:template>
<xsl:template match="InlineEquation/Description">
<value-of select="text()"/>
<br/>
</xsl:template>
<xsl:template match="InlineEquation/Alternative">
<value-of select="text()"/>
<br/>
</xsl:template>
<xsl:template match="InlineEquation/TeX | InlineEquation/MathML"/>
<xsl:template match="AuthorComment">
<!-- omit -->
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="EditorComment">
<!-- omit -->
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="Item">
<html>
<xsl:if test="@Language">
<xsl:attribute name="xml:lang">
<xsl:value-of select="@Language"/>
</xsl:attribute>
</xsl:if>
<xsl:if test="count(@Language) = 0">
<xsl:attribute name="xml:lang">en</xsl:attribute>
</xsl:if>
<head>
<xsl:variable name="title">
<xsl:value-of select="/Item/ItemTitle"/>
</xsl:variable>
<xsl:variable name="uid">
<xsl:value-of select="/Item/FrontMatter/ISBN"/>
</xsl:variable>
<xsl:variable name="creator">
<xsl:value-of select="/Item/Unit/ByLine"/>
</xsl:variable>
<title>
<xsl:value-of select="/Item/ItemTitle"/>
</title>
<meta name="dtb:uid" content="UID-{$uid}"/>
<meta name="dtb:title" content="{$title}"/>
<meta name="dc:Title" content="{$title}"/>
<meta name="dc:Creator" content="{$creator}"/>
</head>
<body>
<h1>
<xsl:value-of select="/Item/ItemTitle"/>
</h1>
<xsl:apply-templates select="/Item/FrontMatter"/>
<xsl:for-each select="/Item/Unit">
<xsl:call-template name="apply-templates-lang"/>
</xsl:for-each>
<xsl:apply-templates select="/Item/BackMatter"/>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template name="apply-templates-lang">
<xsl:for-each select="@xml:lang">
<xsl:copy/>
</xsl:for-each>
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="language">
<span>
<xsl:attribute name="xml:lang">
<xsl:value-of select="@val"/>
</xsl:attribute>
<xsl:apply-templates/>
</span>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,366 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="LearningOutcomes">
<h1>Learning outcomes</h1>
<xsl:apply-templates select="Paragraph"/>
<ul>
<xsl:apply-templates select="LearningOutcome"/>
</ul>
</xsl:template>
<xsl:template match="LearningOutcome">
<li>
<xsl:call-template name="apply-templates-lang"/>
</li>
</xsl:template>
<xsl:template match="Glossary">
<h1>Glossary</h1>
<xsl:call-template name="apply-templates-lang"/>
</xsl:template>
<xsl:template match="GlossaryItem">
<xsl:call-template name="apply-templates-lang"/>
</xsl:template>
<xsl:template match="GlossaryItem/Term"><p><em><xsl:call-template name="apply-templates-lang"/></em></p> 
</xsl:template>
<xsl:template match="GlossaryItem/Definition">
<p>
<xsl:call-template name="apply-templates-lang"/>
</p>
</xsl:template>
<xsl:template match="CourseTeam">
<xsl:if test="count(Heading) = 0">
<h1>Course team</h1>
</xsl:if>
<xsl:call-template name="apply-templates-lang"/>
</xsl:template>
<xsl:template match="CourseTeam/Heading">
<h1>
<xsl:call-template name="apply-templates-lang"/>
</h1>
</xsl:template>
<xsl:template match="CourseTeam/SubHeading">
<h2>
<xsl:call-template name="apply-templates-lang"/>
</h2>
</xsl:template>
<xsl:template match="CourseTeam/SubSubHeading">
<h3>
<xsl:call-template name="apply-templates-lang"/>
</h3>
</xsl:template>
<xsl:template match="Activity">
<xsl:if test="count(Heading) = 0">
<p>
<span class="optional-prodnote">
<strong>Activity</strong>
</span>
</p>
</xsl:if>
<xsl:call-template name="apply-templates-lang"/>
<p>
<span class="optional-prodnote">End of activity</span>
</p>
</xsl:template>
<xsl:template match="SAQ">
<xsl:if test="count(Heading) = 0">
<p>
<span class="optional-prodnote">
<strong>SAQ</strong>
</span>
</p>
</xsl:if>
<xsl:call-template name="apply-templates-lang"/>
<p>
<span class="optional-prodnote">End of SAQ</span>
</p>
</xsl:template>
<xsl:template match="Exercise">
<xsl:if test="count(Heading) = 0">
<p>
<span class="optional-prodnote">
<strong>Exercise</strong>
</span>
</p>
</xsl:if>
<xsl:call-template name="apply-templates-lang"/>
<p>
<span class="optional-prodnote">End of exercise</span>
</p>
</xsl:template>
<xsl:template match="ITQ">
<xsl:if test="count(Heading) = 0">
<p>
<span class="optional-prodnote">
<strong>ITQ</strong>
</span>
</p>
</xsl:if>
<xsl:call-template name="apply-templates-lang"/>
<p>
<span class="optional-prodnote">End of ITQ</span>
</p>
</xsl:template>
<xsl:template match="Figure">
<p>
<span class="optional-prodnote">Figure</span>
</p>
<p>
<img>
<xsl:attribute name="src">
<xsl:value-of select="./Image/@src"/>
</xsl:attribute>
<xsl:attribute name="alt">
<xsl:value-of select="./Image/@alt"/>
</xsl:attribute>
</img>
</p>
<xsl:apply-templates select="Caption"/>
<xsl:apply-templates select="Alternative"/>
<xsl:apply-templates select="Description"/>
<xsl:apply-tempaltes select="SourceReference"/>
<p>
<span class="optional-prodnote">End of figure</span>
</p>
</xsl:template>
<xsl:template match="Equation">
<p>
<span class="optional-prodnote">Equation</span>
</p>
<p>
<img>
<xsl:attribute name="src">
<xsl:value-of select="./Image/@src"/>
</xsl:attribute>
<xsl:attribute name="alt">
<xsl:value-of select="./Image/@alt"/>
</xsl:attribute>
</img>
</p>
<xsl:apply-templates select="TeX"/>
<xsl:apply-templates select="MathML"/>
<xsl:apply-templates select="Caption"/>
<xsl:apply-templates select="Alternative"/>
<xsl:apply-templates select="Description"/>
<xsl:apply-tempaltes select="SourceReference"/>
<span class="optional-prodnote">End of equation</span>
</xsl:template>
<xsl:template match="Equation/TeX">
<p>
<span class="optional-prodnote">TeX source</span>
</p>
<p>
<xsl:call-template name="apply-templates-lang"/>
</p>
</xsl:template>
<xsl:template match="Equation/MathML">
<!-- omit -->
</xsl:template>
<xsl:template match="Equation/Image">
<p>
<img>
<xsl:attribute name="src">
<xsl:value-of select="./Image/@src"/>
</xsl:attribute>
<xsl:attribute name="alt">
<xsl:value-of select="./Image/@alt"/>
</xsl:attribute>
</img>
</p>
</xsl:template>
<xsl:template match="References">
<h1>References</h1>
<xsl:call-template name="apply-templates-lang"/>
</xsl:template>
<xsl:template match="Reference">
<p>
<xsl:call-template name="apply-templates-lang"/>
</p>
</xsl:template>
<xsl:template match="Box">
<p>
<span class="optional-prodnote">Box</span>
</p>
<xsl:if test="count(Heading) = 0">
<p>
<span class="optional-prodnote">
<strong>Box</strong>
</span>
</p>
</xsl:if>
<xsl:call-template name="apply-templates-lang"/>
<p>
<span class="optional-prodnote">End of box</span>
</p>
</xsl:template>
<xsl:template match="CaseStudy">
<xsl:if test="count(Heading) = 0">
<p>
<span class="optional-prodnote">
<strong>Case study</strong>
</span>
</p>
</xsl:if>
<xsl:call-template name="apply-templates-lang"/>
<p>
<span class="optional-prodnote">End of case study</span>
</p>
</xsl:template>
<xsl:template match="Example">
<xsl:if test="count(Heading) = 0">
<p>
<span class="optional-prodnote">
<strong>Example</strong>
</span>
</p>
</xsl:if>
<xsl:call-template name="apply-templates-lang"/>
<p>
<span class="optional-prodnote">End of example</span>
</p>
</xsl:template>
<xsl:template match="Extract">
<xsl:if test="count(Heading) = 0">
<p>
<span class="optional-prodnote">
<strong>Extract</strong>
</span>
</p>
</xsl:if>
<xsl:call-template name="apply-templates-lang"/>
<p>
<span class="optional-prodnote">End of extract</span>
</p>
</xsl:template>
<xsl:template match="Verse">
<xsl:if test="count(Heading) = 0">
<p>
<span class="optional-prodnote">
<strong>Verse</strong>
</span>
</p>
</xsl:if>
<xsl:call-template name="apply-templates-lang"/>
<p>
<span class="optional-prodnote">End of verse</span>
</p>
</xsl:template>
<xsl:template match="Dialogue">
<xsl:if test="count(Heading) = 0">
<p>
<span class="optional-prodnote">
<strong>Dialogue</strong>
</span>
</p>
</xsl:if>
<xsl:call-template name="apply-templates-lang"/>
<p>
<span class="optional-prodnote">End of dialogue</span>
</p>
</xsl:template>
<xsl:template match="Dialogue/Speaker">
<p>
<xsl:call-template name="apply-templates-lang"/>
</p>
</xsl:template>
<xsl:template match="Dialogue/Remark">
<p>
<xsl:call-template name="apply-templates-lang"/>
</p>
</xsl:template>
<xsl:template match="Reading">
<xsl:if test="count(Heading) = 0">
<p>
<span class="optional-prodnote">
<strong>Reading</strong>
</span>
</p>
</xsl:if>
<xsl:call-template name="apply-templates-lang"/>
<p>
<span class="optional-prodnote">End of reading</span>
</p>
</xsl:template>
<xsl:template match="ProgramListing">
<p>
<span class="optional-prodnote">
<strong>Program listing</strong>
</span>
</p>
<xsl:call-template name="apply-templates-lang"/>
<p>
<span class="optional-prodnote">End of program listing</span>
</p>
</xsl:template>
<xsl:template match="ComputerDisplay">
<p>
<span class="optional-prodnote">
<strong>Computer display</strong>
</span>
</p>
<xsl:call-template name="apply-templates-lang"/>
<p>
<span class="optional-prodnote">End of computer display</span>
</p>
</xsl:template>
<xsl:template match="ProgramListing/Paragraph | ComputerDisplay/Paragraph">
<pre>
<xsl:call-template name="apply-templates-lang"/>
</pre>
</xsl:template>
<xsl:template match="ProgramListing/Paragraph/br | ComputerDisplay/Paragraph/br">
<br/>
</xsl:template>
<xsl:template match="StudyNote">
<xsl:if test="count(Heading) = 0">
<p>
<span class="optional-prodnote">Study note</span>
</p>
</xsl:if>
<xsl:call-template name="apply-templates-lang"/>
<p>
<span class="optional-prodnote">End of study note</span>
</p>
</xsl:template>
<xsl:template match="Transcript">
<xsl:if test="count(Heading) = 0">
<p>
<span class="optional-prodnote">
<strong>Transcript</strong>
</span>
</p>
</xsl:if>
<xsl:call-template name="apply-templates-lang"/>
<p>
<span class="optional-prodnote">End of transcript</span>
</p>
</xsl:template>
<xsl:template match="KeyPoints">
<p>
<span class="optional-prodnote">Key points</span>
</p>
<xsl:apply-templates select="Paragraph"/>
<ul>
<xsl:apply-templates select="KeyPoint"/>
</ul>
<p>
<span class="optional-prodnote">End of key points</span>
</p>
</xsl:template>
<xsl:template match="KeyPoints/KeyPoint">
<li>
<xsl:call-template name="apply-templates-lang"/>
</li>
</xsl:template>
<xsl:template match="Summary">
<xsl:if test="count(Heading) = 0">
<p>
<span class="optional-prodnote">
<strong>Summary</strong>
</span>
</p>
</xsl:if>
<xsl:call-template name="apply-templates-lang"/>
<p>
<span class="optional-prodnote">End of summary</span>
</p>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" encoding="UTF-8" indent="yes" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/1999/xhtml"/>
<xsl:include href="item.xsl"/>
<xsl:include href="structure.xsl"/>
<xsl:include href="heading.xsl"/>
<xsl:include href="inline.xsl"/>
<xsl:include href="object.xsl"/>
<xsl:include href="lang.xsl"/>
</xsl:transform>

View File

@ -0,0 +1,243 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="Paragraph">
<p>
<xsl:call-template name="apply-templates-lang"/>
</p>
</xsl:template>
<xsl:template match="Unit">
<xsl:call-template name="apply-templates-lang"/>
</xsl:template>
<xsl:template match="UnitID"/>
<xsl:template match="UnitTitle">
<h1>
<xsl:call-template name="apply-templates-lang"/>
</h1>
</xsl:template>
<xsl:template match="Unit/ByLine">
<p>
<xsl:call-template name="apply-templates-lang"/>
</p>
</xsl:template>
<xsl:template match="Unit/Introduction">
<xsl:call-template name="apply-templates-lang"/>
</xsl:template>
<xsl:template match="Introduction/Title">
<h1>
<xsl:call-template name="apply-templates-lang"/>
</h1>
</xsl:template>
<xsl:template match="Session">
<xsl:call-template name="apply-templates-lang"/>
</xsl:template>
<xsl:template match="Session/Title">
<h1>
<xsl:call-template name="apply-templates-lang"/>
</h1>
</xsl:template>
<xsl:template match="Session/Introduction">
<xsl:call-template name="apply-templates-lang"/>
</xsl:template>
<xsl:template match="Session/Introduction/Title">
<h2>
<xsl:call-template name="apply-templates-lang"/>
</h2>
</xsl:template>
<xsl:template match="Section">
<xsl:call-template name="apply-templates-lang"/>
</xsl:template>
<xsl:template match="Section/Title">
<h2>
<xsl:call-template name="apply-templates-lang"/>
</h2>
</xsl:template>
<xsl:template match="SubSection">
<xsl:call-template name="apply-templates-lang"/>
</xsl:template>
<xsl:template match="SubSection/Title">
<h3>
<xsl:call-template name="apply-templates-lang"/>
</h3>
</xsl:template>
<xsl:template match="SubSubSection">
<xsl:call-template name="apply-templates-lang"/>
</xsl:template>
<xsl:template match="SubSubSection/Heading">
<h4>
<xsl:call-template name="apply-templates-lang"/>
</h4>
</xsl:template>
<xsl:template match="Unit/BackMatter">
<xsl:call-template name="apply-templates-lang"/>
</xsl:template>
<xsl:template match="Unit/Conclusion">
<xsl:call-template name="apply-templates-lang"/>
</xsl:template>
<xsl:template match="Unit/Conclusion/Title">
<h1>
<xsl:call-template name="apply-templates-lang"/>
</h1>
</xsl:template>
<xsl:template match="Acknowledgements">
<xsl:if test="count(Heading) = '0'">
<h1>Acknowledgements</h1>
</xsl:if>
<xsl:call-template name="apply-templates-lang"/>
</xsl:template>
<xsl:template match="Acknowledgements/Heading">
<h1>
<xsl:call-template name="apply-templates-lang"/>
</h1>
</xsl:template>
<xsl:template match="Acknowledgements/SubHeading">
<h2>
<xsl:call-template name="apply-templates-lang"/>
</h2>
</xsl:template>
<xsl:template match="Acknowledgements/SubSubHeading">
<h3>
<xsl:call-template name="apply-templates-lang"/>
</h3>
</xsl:template>
<xsl:template match="Appendices">
<xsl:call-template name="apply-templates-lang"/>
</xsl:template>
<xsl:template match="Appendix">
<xsl:call-template name="apply-templates-lang"/>
</xsl:template>
<xsl:template match="Appendix/Heading">
<h1>
<xsl:call-template name="apply-templates-lang"/>
</h1>
</xsl:template>
<xsl:template match="SourceReference">
<p>
<span class="optional-prodnote">
<em>Source</em>
</span>
</p>
<p>
<xsl:call-template name="apply-templates-lang"/>
</p>
</xsl:template>
<xsl:template match="InternalSection">
<xsl:call-template name="apply-templates-lang"/>
</xsl:template>
<xsl:template match="MediaContent">
<xsl:if test="@type = 'audio'">
<p><span class="required-prodnote">[Audio content]</span></p>
<p>
<a><xsl:attribute name="href"><xsl:value-of select="@src"/>.mp3</xsl:attribute>MP3 file
</a>
</p>
</xsl:if>
<xsl:if test="@type = 'pdf'">
<p><span class="required-prodnote">[PDF content]</span></p>
<!--<p><a><xsl:attribute name="href"><xsl:value-of select="@src"/>.pdf</xsl:attribute></a></p>-->
</xsl:if>
<xsl:call-template name="apply-templates-lang"/>
<p>
<span class="optional-prodnote">End of <xsl:value-of select="@type"/> content</span>
</p>
</xsl:template>
<xsl:template match="a">
<a href="{@href}">
<xsl:call-template name="apply-templates-lang"/>
</a>
</xsl:template>
<xsl:template match="NumberedList | NumeredSubsidiaryList">
<ol>
<xsl:call-template name="apply-templates-lang"/>
</ol>
</xsl:template>
<xsl:template match="BulletedList | UnNumberedList | BulletedSubsidiaryList | UnNumberedSubsidiaryList">
<ul>
<xsl:call-template name="apply-templates-lang"/>
</ul>
</xsl:template>
<xsl:template match="ListItem | SubListItem">
<li>
<xsl:call-template name="apply-templates-lang"/>
</li>
</xsl:template>
<xsl:template match="Caption">
<p>
<xsl:call-template name="apply-templates-lang"/>
</p>
</xsl:template>
<xsl:template match="Alternative">
<p>
<xsl:call-template name="apply-templates-lang"/>
</p>
</xsl:template>
<xsl:template match="Description">
<p>
<xsl:call-template name="apply-templates-lang"/>
</p>
</xsl:template>
<xsl:template match="Label">
<p>
<xsl:call-template name="apply-templates-lang"/>
</p>
</xsl:template>
<xsl:template match="Table">
<p>
<span class="optional-prodnote">Table</span>
</p>
<xsl:call-template name="apply-templates-lang"/>
<p>
<span class="optional-prodnote">End of table</span>
</p>
</xsl:template>
<xsl:template match="TableHead">
<p>
<strong>
<xsl:call-template name="apply-templates-lang"/>
</strong>
</p>
</xsl:template>
<xsl:template match="TableBody">
<xsl:call-template name="apply-templates-lang"/>
</xsl:template>
<xsl:template match="TableFootnote">
<p>
<xsl:call-template name="apply-templates-lang"/>
</p>
</xsl:template>
<xsl:template match="table"/>
<xsl:template match="tbody">
<table>
<xsl:call-template name="apply-templates-lang"/>
</table>
</xsl:template>
<xsl:template match="th">
<th>
<xsl:call-template name="apply-templates-lang"/>
</th>
</xsl:template>
<xsl:template match="td">
<td>
<xsl:call-template name="apply-templates-lang"/>
</td>
</xsl:template>
<xsl:template match="tr">
<tr>
<xsl:call-template name="apply-templates-lang"/>
</tr>
</xsl:template>
<xsl:template match="Timing">
<p>
<xsl:call-template name="apply-templates-lang"/>
</p>
</xsl:template>
<xsl:template match="Timing/Hours"><br/><xsl:call-template name="apply-templates-lang"/> hours<br/>
</xsl:template>
<xsl:template match="Timing/Minutes"><br/><xsl:call-template name="apply-templates-lang"/> minutes<br/>
</xsl:template>
<xsl:template match="Quote">
<blockquote>
<xsl:call-template name="apply-templates-lang"/>
</blockquote>
</xsl:template>
<xsl:template match="Imprint"/>
</xsl:stylesheet>