Language

The Free and Open Productivity Suite
Released: Apache OpenOffice 4.1.15
<xsl:stylesheet xmlns:bib="http://purl.org/NET/xbiblio/citeproc" xmlns:cs="http://purl.org/NET/xbiblio/csl" xmlns:db="http://docbook.org/ns/docbook" xmlns:mods="http://www.loc.gov/mods/v3" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:exist="http://exist.sourceforge.net/NS/exist" xmlns:xdoc="http://www.pnp-software.com/XSLTdoc" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="2.0" exclude-result-prefixes="db xdoc xhtml mods xs cs exist bib">
��������
<xsl:import href="../citeproc.xsl" />
��������
<xsl:output method="xhtml" encoding="utf-8" indent="yes" />
��
<!--�===�licensed�under�CC-GNU�GPL;�see�http://creativecommons.org/licenses/GPL/2.0�===�-->
��������
<xdoc:doc type="stylesheet">
����������������
<xdoc:short>Transforms�DocBook�NG�to�XHTML.</xdoc:short>
����������������
<xdoc:author>Bruce�D’Arcus</xdoc:author>
����������������
<xdoc:copyright>2004,�Bruce�D’Arcus</xdoc:copyright>
����������������
<xdoc:detail>
������������������������
<p>To�integrate�CiteProc�formatting�into�other�stylesheets,�import�the
��������������������������������"citeproc.xsl"�file.�To�format�the�bibliography,�add�a�template�that
��������������������������������does�a�xsl:call-template�of�the�"bib:format-bibliography"�template,
��������������������������������with�an�output-format�parameter.�Likewise,�to�format�the�citations,
��������������������������������add�a�template�that�does�a�xsl:call-template�of�the
��������������������������������"bib:format-citation"�template.
</p>
����������������
</xdoc:detail>
��������
</xdoc:doc>

��������
<xsl:param name="include-bib">yes</xsl:param>
��������
<xsl:variable name="title">
����������������
<xsl:value-of select="db:*/db:info/db:title" />
����������������
<xsl:if test="db:*/db:info/db:subtitle">
������������������������
<xsl:text>:�</xsl:text>
������������������������
<xsl:value-of select="db:*/db:info/db:subtitle" />
����������������
</xsl:if>
��������
</xsl:variable>
��������
<xsl:template match="/">
����������������
<html>
������������������������
<head>
��������������������������������
<title>
����������������������������������������
<xsl:value-of select="$title" />
��������������������������������
</title>
��������������������������������
<meta name="generator" content="CiteProc XSL Stylesheets v{$CP-VERSION}" />
��������������������������������
<link rel="stylesheet" href="forprint.css" type="text/css" media="print" />
��������������������������������
<link rel="stylesheet" href="screen.css" type="text/css" media="screen" />
������������������������
</head>
������������������������
<body>
��������������������������������
<div id="content">
����������������������������������������
<div id="main-content">
������������������������������������������������
<div class="label">
��������������������������������������������������������
<xsl:value-of select="db:*/@label" />
������������������������������������������������
</div>
������������������������������������������������
<xsl:apply-templates />
������������������������������������������
<xsl:if test="//db:footnote or $citeclass='note-nobib' or $citeclass='note-bib'">
��������������������������������������������������������
<div id="notes">
����������������������������������������������������������������
<h3>Notes</h3>
����������������������������������������������������������
<xsl:choose>
������������������������������������������������������������
<xsl:when test="$citeclass='note-nobib' or $citeclass='note-bib'">
��������������������������������������������������������������
<xsl:apply-templates select="//db:footnote | //db:citation[not(ancestor::db:footnote)]" mode="footcite-list" />
������������������������������������������������������������
</xsl:when>
������������������������������������������������������������
<xsl:otherwise>
��������������������������������������������������������������
<xsl:apply-templates select="//db:footnote" mode="footnote-list" />
������������������������������������������������������������
</xsl:otherwise>
����������������������������������������������������������
</xsl:choose>
��������������������������������������������������������
</div>
������������������������������������������������
</xsl:if>
������������������������������������������������
<xsl:if test="$include-bib='yes' and not($citeclass='note-nobib')">
��������������������������������������������������������
<div id="bibliography">
����������������������������������������������������������������
<h3>References</h3>
����������������������������������������������������������������
<xsl:call-template name="bib:format-bibliography">
������������������������������������������������������������������������
<xsl:with-param name="output-format" select="'xhtml'" />
����������������������������������������������������������������
</xsl:call-template>
��������������������������������������������������������
</div>
������������������������������������������������
</xsl:if>
����������������������������������������
</div>
��������������������������������
</div>
������������������������
</body>
����������������
</html>
��������
</xsl:template>
��������
<xsl:template match="db:article">
����������������
<xsl:apply-templates />
��������
</xsl:template>
��������
<xsl:template match="db:citation">
����������
<xsl:choose>
������������
<xsl:when test="$citeclass='note-bib' or $citeclass='note-nobib'">
��������������
<xsl:variable name="footnote-number">
����������������
<xsl:value-of select="bib:number-footcite(.)" />
��������������
</xsl:variable>
��������������
<xsl:text>[</xsl:text>
��������������
<a href="#fn{$footnote-number}" name="fnm{$footnote-number}" class="footnote-mark">
����������������
<xsl:value-of select="$footnote-number" />
��������������
</a>
��������������
<xsl:text>]</xsl:text>
������������
</xsl:when>
������������
<xsl:otherwise>
��������������
<xsl:call-template name="bib:format-citation">
����������������
<xsl:with-param name="output-format" select="'xhtml'" />
��������������
</xsl:call-template>
������������
</xsl:otherwise>
����������
</xsl:choose>
��������
</xsl:template>
��
<xsl:template match="db:citation" mode="footcite-entry">
����
<xsl:call-template name="bib:format-citation">
������
<xsl:with-param name="output-format" select="'xhtml'" />
����
</xsl:call-template>
��
</xsl:template>
��������
<xsl:template match="db:info">
����������������
<div class="head">
������������������������
<xsl:apply-templates />
����������������
</div>
��������
</xsl:template>
��������
<xsl:template match="db:title">
����������������
<h1>
������������������������
<xsl:apply-templates />
������������������������
<xsl:if test="../db:subtitle">
��������������������������������
<xsl:text>:�</xsl:text>
������������������������
</xsl:if>
������������������������
<xsl:apply-templates select="../db:subtitle" mode="subtitle" />
����������������
</h1>
��������
</xsl:template>
��������
<xsl:template match="db:subtitle" />
��������
<xsl:template match="db:chapter">
����������������
<div id="chapter">
������������������������
<xsl:apply-templates />
����������������
</div>
��������
</xsl:template>
��������
<xsl:template match="db:section">
����������������
<xsl:choose>
������������������������
<xsl:when test="not(parent::db:section)">
��������������������������������
<div class="section">
����������������������������������������
<xsl:apply-templates />
��������������������������������
</div>
������������������������
</xsl:when>
������������������������
<xsl:otherwise>
��������������������������������
<xsl:apply-templates />
������������������������
</xsl:otherwise>
����������������
</xsl:choose>
��������
</xsl:template>
��������
<xsl:template match="db:section/db:title | db:section/db:info/db:title">
����������������
<xsl:variable name="depth" select="count(ancestor::db:section)" />
����������������
<xsl:choose>
������������������������
<xsl:when test="$depth=0">
��������������������������������
<h2>
����������������������������������������
<xsl:apply-templates />
����������������������������������������
<xsl:apply-templates select="../db:subtitle" mode="subtitle" />
��������������������������������
</h2>
������������������������
</xsl:when>
������������������������
<xsl:when test="$depth=1">
��������������������������������
<h3>
����������������������������������������
<xsl:apply-templates />
����������������������������������������
<xsl:apply-templates select="../db:subtitle" mode="subtitle" />
��������������������������������
</h3>
������������������������
</xsl:when>
������������������������
<xsl:when test="$depth=2">
��������������������������������
<h4>
����������������������������������������
<xsl:apply-templates />
����������������������������������������
<xsl:apply-templates select="../db:subtitle" mode="subtitle" />
��������������������������������
</h4>
������������������������
</xsl:when>
������������������������
<xsl:when test="$depth=3">
��������������������������������
<h5>
����������������������������������������
<xsl:apply-templates />
����������������������������������������
<xsl:apply-templates select="../db:subtitle" mode="subtitle" />
��������������������������������
</h5>
������������������������
</xsl:when>
����������������
</xsl:choose>
��������
</xsl:template>
��������
<xsl:template match="db:section/db:subtitle | db:section/db:info/db:subtitle" mode="subtitle">
����������������
<xsl:text>:�</xsl:text>
����������������
<xsl:apply-templates />
��������
</xsl:template>
��������
<xsl:template match="db:section/db:subtitle | db:section/db:info/db:subtitle" />
��������
<xsl:template match="db:author">
����������������
<div id="author">
������������������������
<p class="name">
��������������������������������
<xsl:apply-templates select="db:firstname" />
��������������������������������
<xsl:text />
��������������������������������
<xsl:apply-templates select="db:surname" />
������������������������
</p>
����������������
</div>
��������
</xsl:template>
��������
<xsl:template match="db:affiliation">
����������������
<div id="affiliation">
������������������������
<p class="affiliation">
��������������������������������
<xsl:apply-templates select="db:orgname" />
������������������������
</p>
������������������������
<p class="affiliation">
��������������������������������
<xsl:apply-templates select="db:orgdiv" />
������������������������
</p>
������������������������
<xsl:apply-templates select="address" />
����������������
</div>
��������
</xsl:template>
��������
<xsl:template match="db:address">
����������������
<div id="address">
������������������������
<p class="affiliation">
��������������������������������
<xsl:apply-templates select="db:street" />
������������������������
</p>
������������������������
<p class="affiliation">
��������������������������������
<xsl:apply-templates select="db:city" />
��������������������������������
<xsl:text>,�</xsl:text>
��������������������������������
<xsl:apply-templates select="db:state" />
��������������������������������
<xsl:text />
��������������������������������
<xsl:apply-templates select="db:postcode" />
������������������������
</p>
������������������������
<p class="address">
��������������������������������
<xsl:apply-templates select="db:email" />
������������������������
</p>
����������������
</div>
��������
</xsl:template>
��������
<xsl:template match="db:abstract">
����������������
<div id="abstract">
������������������������
<h4>Abstract</h4>
������������������������
<p class="abstract">
��������������������������������
<xsl:apply-templates />
������������������������
</p>
����������������
</div>
��������
</xsl:template>
��������
<xsl:template match="db:blockquote">
����������������
<blockquote>
������������������������
<xsl:apply-templates />
����������������
</blockquote>
��������
</xsl:template>
��������
<xsl:template match="db:phrase|db:wordasword">
����������������
<xsl:text></xsl:text>
����������
<xsl:apply-templates />
����������������
<xsl:text></xsl:text>
��������
</xsl:template>
��
<xsl:template match="db:date">
����
<xsl:choose>
������
<xsl:when test=". castable as xs:date">
��������
<xsl:choose>
����������
<xsl:when test="@role='month-day'">
������������
<xsl:value-of select="format-date(., '[D] [MNn]')" />
����������
</xsl:when>
����������
<xsl:otherwise>
������������
<xsl:value-of select="format-date(., '[D] [MNn] [Y]')" />
����������
</xsl:otherwise>
��������
</xsl:choose>
������
</xsl:when>
������
<xsl:otherwise>
��������
<xsl:value-of select="." />
������
</xsl:otherwise>
����
</xsl:choose>
��
</xsl:template>
��
<xsl:template match="db:citetitle">
����������������
<em>
������������������������
<xsl:apply-templates />
����������������
</em>
��������
</xsl:template>
��������
<xsl:template match="db:quote">
����������������
<xsl:text></xsl:text>
����������������
<xsl:apply-templates select="text()|db:phrase|db:quote|db:nq|db:emphasis" />
����������������
<xsl:text></xsl:text>
����������������
<xsl:if test="db:citation">
������������������������
<xsl:text></xsl:text>
������������������������
<xsl:apply-templates select="db:citation" />
����������������
</xsl:if>
��������
</xsl:template>
��������
<xsl:template match="db:nq">
����������������
<xsl:text></xsl:text>
����������������
<xsl:apply-templates />
����������������
<xsl:text></xsl:text>
��������
</xsl:template>
��
<!--�footnote�handling�-->
��
<xsl:function name="db:number-footnote" as="xs:string">
����
<xsl:param name="footnote" as="element(db:footnote)" />
����
<xsl:choose>
������
<xsl:when test="$chapters/db:chapter">
��������
<xsl:number level="any" select="$footnote" from="db:chapter" />
������
</xsl:when>
������
<xsl:otherwise>
��������
<xsl:number level="any" select="$footnote" />
������
</xsl:otherwise>
����
</xsl:choose>
��
</xsl:function>
��
<xsl:template match="db:footnote">
����
<xsl:variable name="footnote-number">
������
<xsl:choose>
��������
<xsl:when test="$citeclass='note-bib' or $citeclass='note-nobib'">
����������
<xsl:sequence select="bib:number-footcite(.)" />
��������
</xsl:when>
��������
<xsl:otherwise>
����������
<xsl:sequence select="db:number-footnote(.)" />
��������
</xsl:otherwise>
������
</xsl:choose>
����
</xsl:variable>
����
<xsl:text>[</xsl:text>
����
<a href="#fn{$footnote-number}" name="fnm{$footnote-number}" class="footnote-mark">
������
<xsl:value-of select="$footnote-number" />
����
</a>
����
<xsl:text>]</xsl:text>
��
</xsl:template>
��
<xsl:template match="db:footnote" mode="footnote-list">
����
<xsl:variable name="footnote-number" select="db:number-footnote(.)" />
����
<p id="fn{$footnote-number}">
������
<a href="#fnm{$footnote-number}" class="footnote-anchor">
��������
<xsl:sequence select="$footnote-number" />
������
</a>
������
<xsl:text>.��</xsl:text>
������
<xsl:apply-templates />
����
</p>
��
</xsl:template>
��
<xsl:template match="db:footnote | db:citation[not(ancestor::db:footnote)]" mode="footcite-list">
����
<xsl:variable name="number" select="bib:number-footcite(.)" />
����
<p id="fn{$number}">
������
<a href="#fnm{$number}" class="footnote-anchor">
��������
<xsl:value-of select="$number" />
������
</a>
������
<xsl:text>.��</xsl:text>
������
<xsl:apply-templates select="if (self::db:footnote) then * else ." mode="footcite-entry" />
����
</p>
��
</xsl:template>
��������
<xsl:template match="db:acronym">
����������������
<acronym>
������������������������
<xsl:value-of select="." />
����������������
</acronym>
��������
</xsl:template>
��������
<xsl:template match="db:orderedlist">
����������������
<ol>
������������������������
<xsl:apply-templates select="db:listitem" />
����������������
</ol>
��������
</xsl:template>
��������
<xsl:template match="db:listitem">
����������������
<li>
������������������������
<xsl:apply-templates />
����������������
</li>
��������
</xsl:template>
��������
<xsl:template match="db:section/db:para | db:chapter/db:para | db:article/db:para">
����������
<xsl:for-each-group select="node()" group-adjacent="self::db:orderedlist or self::db:unorderedlist or self::db:blockquote">
������������
<xsl:choose>
��������������
<xsl:when test="current-grouping-key()">
����������������
<xsl:apply-templates select="current-group()" />��
��������������
</xsl:when>
��������������
<xsl:otherwise>
����������������
<p class="body text">
������������������
<xsl:apply-templates select="current-group()" />
����������������
</p>
��������������
</xsl:otherwise>��
������������
</xsl:choose>
����������
</xsl:for-each-group>
��������
</xsl:template>
��
<xsl:template match="db:blockquote/db:para">
����
<p class="blockquote">
������
<xsl:apply-templates />
����
</p>
��
</xsl:template>
��������
<xsl:template match="db:figure">
����������������
<div class="image">
������������������������
<xsl:apply-templates select="db:mediaobject/db:imageobject" />
����������������
</div>
��������
</xsl:template>
��������
<xsl:template match="db:imageobject">
����������������
<img src="images/{db:imagedata/@fileref}" alt="{../../db:title}" />
����������������
<p class="caption">
������������������������
<xsl:value-of select="../../db:title" />
����������������
</p>
��������
</xsl:template>
��������
<xsl:template match="db:epigraph">
����������������
<div class="epigraph">
������������������������
<xsl:apply-templates select="db:para" />
������������������������
<xsl:apply-templates select="db:attribution" />
����������������
</div>
��������
</xsl:template>
��������
<xsl:template match="db:attribution">
����������������
<p class="epigraph">
������������������������
<xsl:text>—�</xsl:text>
������������������������
<xsl:apply-templates />
����������������
</p>
��������
</xsl:template>
��������
<xsl:template match="db:emphasis">
����������������
<em>
������������������������
<xsl:apply-templates />
����������������
</em>
��������
</xsl:template>
��
<xsl:template match="db:foreignphrase">
����
<i class="foreignphrase">
������
<xsl:apply-templates />
����
</i>
��
</xsl:template>
</xsl:stylesheet>






































v

Apache Software Foundation

Copyright & License | Privacy | Contact Us | Donate | Thanks

Apache, OpenOffice, OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation. The Apache feather logo is a trademark of The Apache Software Foundation. Other names appearing on the site may be trademarks of their respective owners.