dirkbaechle avatar dirkbaechle committed 7ab64b4

- added basic configuration for the Serna XML editor

Comments (0)

Files changed (114)

doc/editor_configs/serna/scons/catalog.xml

+<?xml version="1.0" ?>
+<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"
+         prefer="public">
+  <public publicId="-//SCONS//DTD DocBook V4.5-Based extension V1.0//EN"
+           uri="dtd/scons.dtd"/>
+  <system systemId="http://www.scons.org/dtd/scons.dtd"
+           uri="dtd/scons.dtd"/>
+  <uri name="http://www.scons.org/dbxsd/v1.0/scons.xsd"
+       uri="xsd/scons.xsd"/>
+  <uriSuffix uriSuffix="scons.xsd"
+       uri="xsd/scons.xsd"/>           
+</catalog>

doc/editor_configs/serna/scons/docbook-xsl-serna/NW-COPYING

+Syntext Serna Stylesheet for DocBook is based on Norman Walsh 
+stylesheet for Docbook, that was coming with the following 
+copyright notice:
+
+Copyright
+---------
+
+Copyright (C) 1999, 2000, 2001, 2002 Norman Walsh
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the ``Software''), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or
+sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+Except as contained in this notice, the names of individuals
+credited with contribution to this software shall not be used in
+advertising or otherwise to promote the sale, use or other
+dealings in this Software without prior written authorization
+from the individuals in question.
+
+Any stylesheet derived from this Software that is publically
+distributed will be identified with a different name and the
+version strings in any derived Software will be changed so that
+no possibility of confusion between the derived package and this
+Software will exist.
+
+Warranty
+--------
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT.  IN NO EVENT SHALL NORMAN WALSH OR ANY OTHER
+CONTRIBUTOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Contacting the Author
+---------------------
+
+These stylesheets are maintained by Norman Walsh, <ndw@nwalsh.com>.

doc/editor_configs/serna/scons/docbook-xsl-serna/biblio.xsl

+<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:fo="http://www.w3.org/1999/XSL/Format"
+                xmlns:dtm="http://syntext.com/Extensions/DocumentTypeMetadata-1.0"
+                extension-element-prefixes="dtm"
+                version='1.0'>
+
+<dtm:doc dtm:idref="bibliography"/>
+<xsl:template match="bibliography" dtm:id="bibliography">
+  <xsl:variable name="preamble"
+                select="bibliographyinfo|title|subtitle|titleabbrev"/>
+  <xsl:variable name="content" select="*[not(self::bibliographyinfo or 
+                                             self::title or self::subtitle
+                                             or self::titleabbrev)]"/>
+  <fo:block padding-bottom="1.5em">
+    <xsl:call-template name="handle.empty">
+      <xsl:with-param name="titles">
+        <xsl:call-template name="bibliography.titlepage"/>
+      </xsl:with-param>
+      <xsl:with-param name="preamble" select="$preamble"/>
+      <xsl:with-param name="content" select="$content"/>
+    </xsl:call-template>
+  </fo:block>
+</xsl:template>
+
+<dtm:doc dtm:idref="bibliodiv"/>
+<xsl:template match="bibliodiv" dtm:id="bibliodiv">
+  <xsl:variable name="preamble"
+                select="title|subtitle|titleabbrev"/>
+  <xsl:variable name="content" select="*[not(self::title or self::subtitle
+                                             or self::titleabbrev)]"/>
+  <fo:block padding-bottom="1.5em">
+    <xsl:call-template name="handle.empty">
+      <xsl:with-param name="titles">
+        <xsl:call-template name="bibliodiv.titlepage"/>
+      </xsl:with-param>
+      <xsl:with-param name="preamble" select="$preamble"/>
+      <xsl:with-param name="content" select="$content"/>
+    </xsl:call-template>
+  </fo:block>
+</xsl:template>
+
+<dtm:doc dtm:idref="biblioentry"/>
+<xsl:template match="biblioentry" dtm:id="biblioentry">
+  <fo:block xsl:use-attribute-sets="normal.para.properties"
+    start-indent="0.5in">
+    <xsl:call-template name="biblioentry.label"/>
+    <xsl:apply-templates mode="bibliography.mode"/>
+  </fo:block>
+</xsl:template>
+
+<dtm:doc dtm:idref="bibliomixed"/>
+<xsl:template match="bibliomixed" dtm:id="bibliomixed">
+  <fo:block xsl:use-attribute-sets="normal.para.properties"
+    start-indent="0.5in">
+    <xsl:call-template name="biblioentry.label"/>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:block>
+</xsl:template>
+
+<dtm:doc dtm:idref="biblioentry.label"/>
+<xsl:template name="biblioentry.label" dtm:id="biblioentry.label">
+  <xsl:param name="node" select="."/>
+
+  <xsl:choose>
+    <xsl:when test="$bibliography.numbered != 0">
+      <xsl:text>[</xsl:text>
+      <xsl:number from="bibliography" count="biblioentry|bibliomixed"
+                  level="multiple" format="1."/>
+      <xsl:text>] </xsl:text>
+    </xsl:when>
+    <xsl:when test="local-name($node/child::*[1]) = 'abbrev'">
+      <xsl:text>[</xsl:text>
+      <xsl:apply-templates select="$node/abbrev[1]"/>
+      <xsl:text>] </xsl:text>
+    </xsl:when>
+    <xsl:when test="$node/@xreflabel">
+      <xsl:text>[</xsl:text>
+      <xsl:value-of select="$node/@xreflabel"/>
+      <xsl:text>] </xsl:text>
+    </xsl:when>
+    <xsl:when test="$node/@id">
+      <xsl:text>[</xsl:text>
+      <xsl:value-of select="$node/@id"/>
+      <xsl:text>] </xsl:text>
+    </xsl:when>
+    <xsl:otherwise><!-- nop --></xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+
+<!-- ==================================================================== -->
+<dtm:doc dtm:idref="all.bibliography-mode"/>
+<xsl:template match="*" mode="bibliography.mode" dtm:id="all.bibliography-mode">
+  <xsl:apply-templates select="."/><!-- try the default mode -->
+</xsl:template>
+
+<dtm:doc dtm:elements="abbrev" dtm:idref="abbrev.bibliography-mode abbrev.bibliomixed-mode"/>
+<xsl:template match="abbrev" mode="bibliography.mode" dtm:id="abbrev.bibliography-mode">
+  <xsl:if test="preceding-sibling::*">
+    <fo:inline>
+      <xsl:apply-templates mode="bibliography.mode"/>
+    </fo:inline>
+  </xsl:if>
+</xsl:template>
+
+<dtm:doc dtm:elements="abstract" dtm:idref="abstract.bibliography-mode abstract.bibliomixed-mode"/>
+<xsl:template match="abstract" mode="bibliography.mode" dtm:id="abstract.bibliography-mode">
+  <!-- suppressed -->
+</xsl:template>
+
+<dtm:doc dtm:elements="address" dtm:idref="address.bibliography-mode address.bibliomixed-mode"/>
+<xsl:template match="address" mode="bibliography.mode" dtm:id="address.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="affiliation" dtm:idref="affiliation.bibliography-mode affiliation.bibliomixed-mode"/>
+<xsl:template match="affiliation" mode="bibliography.mode" dtm:id="affiliation.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="shortaffil" dtm:idref="shortaffil.bibliography-mode shortaffil.bibliomixed-mode"/>
+<xsl:template match="shortaffil" mode="bibliography.mode" dtm:id="shortaffil.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="jobtitle" dtm:idref="jobtitle.bibliography-mode jobtitle.bibliomixed-mode"/>
+<xsl:template match="jobtitle" mode="bibliography.mode" dtm:id="jobtitle.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:idref="artchilds.bibliography-mode"/>
+<xsl:template match="artheader|articleinfo" mode="bibliography.mode" dtm:id="artchilds.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="artpagenums" dtm:idref="artpagenums.bibliography-mode author.bibliomixed-mode"/>
+<xsl:template match="artpagenums" mode="bibliography.mode" dtm:id="artpagenums.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="author" dtm:idref="author.bibliography-mode author.bibliomixed-mode"/>
+<xsl:template match="author" mode="bibliography.mode" dtm:id="author.bibliography-mode">
+  <fo:inline>
+    <xsl:call-template name="person.name"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="authorblurb" dtm:idref="authorblurb.bibliography-mode authorblurb.bibliomixed-mode"/>
+<xsl:template match="authorblurb" mode="bibliography.mode" dtm:id="authorblurb.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="authorgroup" dtm:idref="authorgroup.bibliography-mode authorgroup.bibliomixed-mode"/>
+<xsl:template match="authorgroup" mode="bibliography.mode" dtm:id="authorgroup.bibliography-mode">
+  <fo:inline>
+    <xsl:call-template name="person.name.list"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="authorinitials" dtm:idref="authorinitials.bibliography-mode authorinitials.bibliomixed-mode"/>
+<xsl:template match="authorinitials" mode="bibliography.mode" dtm:id="authorinitials.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="bibliomisc" dtm:idref="bibliomisc.bibliography-mode bibliomisc.bibliomixed-mode"/>
+<xsl:template match="bibliomisc" mode="bibliography.mode" dtm:id="bibliomisc.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:idref="bibliomset.bibliography-mode"/>
+<xsl:template match="bibliomset" mode="bibliography.mode" dtm:id="bibliomset.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<!-- ================================================== -->
+<dtm:doc dtm:elements="biblioset" dtm:idref="biblioset.bibliography-mode biblioset.bibliomixed-mode"/>
+<xsl:template match="biblioset" mode="bibliography.mode" dtm:id="biblioset.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:idref="bibliosettitles.bibliography-mode"/>
+<xsl:template match="biblioset/title|biblioset/citetitle" 
+              mode="bibliography.mode"  dtm:id="bibliosettitles.bibliography-mode">
+  <xsl:variable name="relation" select="../@relation"/>
+  <xsl:choose>
+    <xsl:when test="$relation='article' or @pubwork='article'">
+      <xsl:call-template name="gentext.startquote"/>
+      <xsl:apply-templates mode="bibliography.mode"/>
+      <xsl:call-template name="gentext.endquote"/>
+    </xsl:when>
+    <xsl:otherwise>
+      <fo:inline font-style="italic">
+        <xsl:apply-templates/>
+      </fo:inline>
+    </xsl:otherwise>
+  </xsl:choose>
+  <xsl:value-of select="$biblioentry.item.separator"/>
+</xsl:template>
+
+<!-- ================================================== -->
+<dtm:doc dtm:idref="bookbiblio.bibliography-mode"/>
+<xsl:template match="bookbiblio" mode="bibliography.mode" dtm:id="bookbiblio.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="citetitle" dtm:idref="citetitle.bibliography-mode citetitle.bibliomixed-mode"/>
+<xsl:template match="citetitle" mode="bibliography.mode" dtm:id="citetitle.bibliography-mode">
+  <fo:inline>
+    <xsl:choose>
+      <xsl:when test="@pubwork = 'article'">
+        <xsl:call-template name="gentext.startquote"/>
+        <xsl:apply-templates mode="bibliography.mode"/>
+        <xsl:call-template name="gentext.endquote"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <fo:inline font-style="italic">
+          <xsl:apply-templates mode="bibliography.mode"/>
+        </fo:inline>
+      </xsl:otherwise>
+    </xsl:choose>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="collab" dtm:idref="collab.bibliography-mode collab.bibliomixed-mode"/>
+<xsl:template match="collab" mode="bibliography.mode" dtm:id="collab.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="confgroup" dtm:idref="confgroup.bibliography-mode confgroup.bibliomixed-mode"/>
+<xsl:template match="confgroup" mode="bibliography.mode" dtm:id="confgroup.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="contractnum" dtm:idref="contractnum.bibliography-mode contractnum.bibliomixed-mode"/>
+<xsl:template match="contractnum" mode="bibliography.mode" dtm:id="contractnum.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="contractsponsor" dtm:idref="contractsponsor.bibliography-mode contractsponsor.bibliomixed-mode"/>
+<xsl:template match="contractsponsor" mode="bibliography.mode" dtm:id="contractsponsor.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="contrib" dtm:idref="contrib.bibliography-mode contrib.bibliomixed-mode"/>
+<xsl:template match="contrib" mode="bibliography.mode" dtm:id="contrib.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<!-- ================================================== -->
+<dtm:doc dtm:elements="copyright" dtm:idref="copyright.bibliography-mode copyright.bibliomixed-mode"/>
+<xsl:template match="copyright" mode="bibliography.mode" dtm:id="copyright.bibliography-mode">
+  <fo:inline>
+    <xsl:call-template name="gentext">
+      <xsl:with-param name="key" select="'Copyright'"/>
+    </xsl:call-template>
+    <xsl:call-template name="gentext.space"/>
+    <xsl:call-template name="dingbat">
+      <xsl:with-param name="dingbat">copyright</xsl:with-param>
+    </xsl:call-template>
+    <xsl:call-template name="gentext.space"/>
+    <xsl:apply-templates select="year" mode="bibliography.mode"/>
+    <xsl:if test="holder">
+      <xsl:call-template name="gentext.space"/>
+      <xsl:apply-templates select="holder" mode="bibliography.mode"/>
+    </xsl:if>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="year" mode="bibliography.mode" dtm:id="year.bibliography-mode">
+  <xsl:apply-templates/><xsl:text>, </xsl:text>
+</xsl:template>
+
+<xsl:template match="year[position()=last()]" mode="bibliography.mode" dtm:id="lastyear.bibliography-mode">
+  <xsl:apply-templates/>
+</xsl:template>
+
+<dtm:doc dtm:idref="holder.bibliography-mode"/>
+<xsl:template match="holder" mode="bibliography.mode" dtm:id="holder.bibliography-mode">
+  <xsl:apply-templates/>
+</xsl:template>
+
+<!-- ================================================== -->
+<dtm:doc dtm:elements="corpauthor" dtm:idref="corpauthor.bibliography-mode corpauthor.bibliomixed-mode"/>
+<xsl:template match="corpauthor" mode="bibliography.mode" dtm:id="corpauthor.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="corpname" dtm:idref="corpname.bibliography-mode corpname.bibliomixed-mode"/>
+<xsl:template match="corpname" mode="bibliography.mode" dtm:id="corpname.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="date" dtm:idref="date.bibliography-mode date.bibliomixed-mode"/>
+<xsl:template match="date" mode="bibliography.mode" dtm:id="date.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="edition" dtm:idref="edition.bibliography-mode edition.bibliomixed-mode"/>
+<xsl:template match="edition" mode="bibliography.mode" dtm:id="edition.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="editor" dtm:idref="editor.bibliography-mode editor.bibliomixed-mode"/>
+<xsl:template match="editor" mode="bibliography.mode" dtm:id="editor.bibliography-mode">
+  <fo:inline>
+    <xsl:call-template name="person.name"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="firstname" dtm:idref="firstname.bibliography-mode firstname.bibliomixed-mode"/>
+<xsl:template match="firstname" mode="bibliography.mode" dtm:id="firstname.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="honorific" dtm:idref="honorific.bibliography-mode honorific.bibliomixed-mode"/>
+<xsl:template match="honorific" mode="bibliography.mode" dtm:id="honorific.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="indexterm" dtm:idref="indexterm.bibliography-mode indexterm.bibliomixed-mode"/>
+<xsl:template match="indexterm" mode="bibliography.mode" dtm:id="indexterm.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="invpartnumber" dtm:idref="invpartnumber.bibliography-mode invpartnumber.bibliomixed-mode"/>
+<xsl:template match="invpartnumber" mode="bibliography.mode" dtm:id="invpartnumber.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="isbn" dtm:idref="isbn.bibliography-mode isbn.bibliomixed-mode"/>
+<xsl:template match="isbn" mode="bibliography.mode" dtm:id="isbn.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="issn" dtm:idref="issn.bibliography-mode issn.bibliomixed-mode"/>
+<xsl:template match="issn" mode="bibliography.mode" dtm:id="issn.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="biblioid" dtm:idref="biblioid.bibliography-mode biblioid.bibliomixed-mode"/>
+<xsl:template match="biblioid" mode="bibliography.mode" dtm:id="biblioid.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="issuenum" dtm:idref="issuenum.bibliography-mode issuenum.bibliomixed-mode"/>
+<xsl:template match="issuenum" mode="bibliography.mode" dtm:id="issuenum.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="lineage" dtm:idref="lineage.bibliography-mode lineage.bibliomixed-mode"/>
+<xsl:template match="lineage" mode="bibliography.mode" dtm:id="lineage.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="orgname" dtm:idref="orgname.bibliography-mode orgname.bibliomixed-mode"/>
+<xsl:template match="orgname" mode="bibliography.mode" dtm:id="orgname.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="othercredit" dtm:idref="othercredit.bibliography-mode othercredit.bibliomixed-mode"/>
+<xsl:template match="othercredit" mode="bibliography.mode" dtm:id="othercredit.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="othername" dtm:idref="othername.bibliography-mode othername.bibliomixed-mode"/>
+<xsl:template match="othername" mode="bibliography.mode" dtm:id="othername.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="pagenums" dtm:idref="pagenums.bibliography-mode pagenums.bibliomixed-mode"/>
+<xsl:template match="pagenums" mode="bibliography.mode" dtm:id="pagenums.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="printhistory" dtm:idref="printhistory.bibliography-mode printhistory.bibliomixed-mode"/>
+<xsl:template match="printhistory" mode="bibliography.mode" dtm:id="printhistory.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="productname" dtm:idref="productname.bibliography-mode productname.bibliomixed-mode"/>
+<xsl:template match="productname" mode="bibliography.mode" dtm:id="productname.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="productnumber" dtm:idref="productnumber.bibliography-mode productnumber.bibliomixed-mode"/>
+<xsl:template match="productnumber" mode="bibliography.mode" dtm:id="productnumber.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="pubdate" dtm:idref="pubdate.bibliography-mode pubdate.bibliomixed-mode"/>
+<xsl:template match="pubdate" mode="bibliography.mode" dtm:id="pubdate.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="publisher" dtm:idref="pubdate.bibliography-mode pubdate.bibliomixed-mode"/>
+<xsl:template match="publisher" mode="bibliography.mode" dtm:id="pubdate.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="publishername" dtm:idref="publishername.bibliography-mode publishername.bibliomixed-mode"/>
+<xsl:template match="publishername" mode="bibliography.mode" dtm:id="publishername.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="pubsnumber" dtm:idref="pubsnumber.bibliography-mode pubsnumber.bibliomixed-mode"/>
+<xsl:template match="pubsnumber" mode="bibliography.mode" dtm:id="pubsnumber.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="releaseinfo" dtm:idref="releaseinfo.bibliography-mode releaseinfo.bibliomixed-mode"/>
+<xsl:template match="releaseinfo" mode="bibliography.mode" dtm:id="releaseinfo.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="revhistory" dtm:idref="revhistory.bibliography-mode revhistory.bibliomixed-mode"/>
+<xsl:template match="revhistory" mode="bibliography.mode" dtm:id="revhistory.bibliography-mode">
+  <fo:block>
+    <xsl:apply-templates select="."/> <!-- use normal mode -->
+  </fo:block>
+</xsl:template>
+
+<dtm:doc dtm:idref="seriesinfo.bibliography-mode"/>
+<xsl:template match="seriesinfo" mode="bibliography.mode" dtm:id="seriesinfo.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="seriesvolnums" dtm:idref="seriesvolnums.bibliography-mode seriesvolnums.bibliomixed-mode"/>
+<xsl:template match="seriesvolnums" mode="bibliography.mode" dtm:id="seriesvolnums.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="subtitle" dtm:idref="subtitle.bibliography-mode subtitle.bibliomixed-mode"/>
+<xsl:template match="subtitle" mode="bibliography.mode" dtm:id="subtitle.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="surname" dtm:idref="surname.bibliography-mode surname.bibliomixed-mode"/>
+<xsl:template match="surname" mode="bibliography.mode" dtm:id="surname.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="title" dtm:idref="title.bibliography-mode title.bibliomixed-mode"/>
+<xsl:template match="title" mode="bibliography.mode" dtm:id="title.bibliography-mode">
+  <fo:inline>
+    <fo:inline font-style="italic">
+      <xsl:apply-templates mode="bibliography.mode"/>
+    </fo:inline>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="titleabbrev" dtm:idref="titleabbrev.bibliography-mode titleabbrev.bibliomixed-mode"/>
+<xsl:template match="titleabbrev" mode="bibliography.mode" dtm:id="titleabbrev.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="volumenum" dtm:idref="volumenum.bibliography-mode volumenum.bibliomixed-mode"/>
+<xsl:template match="volumenum" mode="bibliography.mode" dtm:id="volumenum.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:idref="orgdiv.bibliography-mode"/>
+<xsl:template match="orgdiv" mode="bibliography.mode" dtm:id="orgdiv.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:idref="collabname.bibliography-mode"/>
+<xsl:template match="collabname" mode="bibliography.mode" dtm:id="collabname.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:idref="confdates.bibliography-mode"/>
+<xsl:template match="confdates" mode="bibliography.mode" dtm:id="confdates.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:idref="conftitle.bibliography-mode"/>
+<xsl:template match="conftitle" mode="bibliography.mode" dtm:id="conftitle.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:idref="confnum.bibliography-mode"/>
+<xsl:template match="confnum" mode="bibliography.mode" dtm:id="confnum.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:idref="confsponsor.bibliography-mode"/>
+<xsl:template match="confsponsor" mode="bibliography.mode" dtm:id="confsponsor.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<dtm:doc dtm:elements="bibliocoverage|biblioid|bibliorelation|bibliosource" dtm:idref="bibliochilds.bibliography-mode bibliochilds.bibliomixed-mode"/>
+<xsl:template match="bibliocoverage|biblioid|bibliorelation|bibliosource"
+              mode="bibliography.mode" dtm:id="bibliochilds.bibliography-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+    <xsl:value-of select="$biblioentry.item.separator"/>
+  </fo:inline>
+</xsl:template>
+
+<!-- ==================================================================== -->
+<dtm:doc dtm:idref="all.bibliomixed-mode"/>
+<xsl:template match="*" mode="bibliomixed.mode" dtm:id="all.bibliomixed-mode">
+  <xsl:apply-templates select="."/><!-- try the default mode -->
+</xsl:template>
+
+<xsl:template match="abbrev" mode="bibliomixed.mode" dtm:id="abbrev.bibliomixed-mode">
+  <xsl:if test="preceding-sibling::*">
+    <fo:inline>
+      <xsl:apply-templates mode="bibliomixed.mode"/>
+    </fo:inline>
+  </xsl:if>
+</xsl:template>
+
+<xsl:template match="abstract" mode="bibliomixed.mode" dtm:id="abstract.bibliomixed-mode">
+  <fo:block start-indent="1in">
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:block>
+</xsl:template>
+
+<dtm:doc dtm:idref="para.bibliomixed-mode"/>
+<xsl:template match="para" mode="bibliomixed.mode" dtm:id="para.bibliomixed-mode">
+  <fo:block>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="address" mode="bibliomixed.mode" dtm:id="address.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="affiliation" mode="bibliomixed.mode" dtm:id="affiliation.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="shortaffil" mode="bibliomixed.mode" dtm:id="shortaffil.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="jobtitle" mode="bibliomixed.mode" dtm:id="jobtitle.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliography.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="artpagenums" mode="bibliomixed.mode" dtm:id="artpagenums.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="author" mode="bibliomixed.mode" dtm:id="author.bibliomixed-mode">
+  <fo:inline>
+    <xsl:call-template name="person.name"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="authorblurb" mode="bibliomixed.mode" dtm:id="authorblurb.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="bibliomixed.mode" dtm:id="authorgroup.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="authorinitials" mode="bibliomixed.mode" dtm:id="authorinitials.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="bibliomisc" mode="bibliomixed.mode" dtm:id="bibliomisc.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<!-- ================================================== -->
+
+<xsl:template match="bibliomset" mode="bibliomixed.mode" dtm:id="bibliomset.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="bibliomset/title|bibliomset/citetitle" 
+              mode="bibliomixed.mode" dtm:id="bibliotitles.bibliomixed-mode">
+  <xsl:variable name="relation" select="../@relation"/>
+  <xsl:choose>
+    <xsl:when test="$relation='article' or @pubwork='article'">
+      <xsl:call-template name="gentext.startquote"/>
+      <xsl:apply-templates mode="bibliomixed.mode"/>
+      <xsl:call-template name="gentext.endquote"/>
+    </xsl:when>
+    <xsl:otherwise>
+      <fo:inline font-style="italic">
+        <xsl:apply-templates/>
+      </fo:inline>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+
+<!-- ================================================== -->
+
+<xsl:template match="biblioset" mode="bibliomixed.mode" dtm:id="biblioset.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="citetitle" mode="bibliomixed.mode" dtm:id="citetitle.bibliomixed-mode">
+  <xsl:choose>
+    <xsl:when test="@pubwork = 'article'">
+      <xsl:call-template name="gentext.startquote"/>
+      <xsl:apply-templates mode="bibliomixed.mode"/>
+      <xsl:call-template name="gentext.endquote"/>
+    </xsl:when>
+    <xsl:otherwise>
+      <fo:inline font-style="italic">
+        <xsl:apply-templates mode="bibliography.mode"/>
+      </fo:inline>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+
+<xsl:template match="collab" mode="bibliomixed.mode" dtm:id="collab.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="confgroup" mode="bibliomixed.mode" dtm:id="confgroup.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="contractnum" mode="bibliomixed.mode" dtm:id="contractnum.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="contractsponsor" mode="bibliomixed.mode" dtm:id="contractsponsor.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="contrib" mode="bibliomixed.mode" dtm:id="contrib.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="copyright" mode="bibliomixed.mode" dtm:id="copyright.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="bibliomixed.mode" dtm:id="corpauthor.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="corpname" mode="bibliomixed.mode" dtm:id="corpname.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="date" mode="bibliomixed.mode" dtm:id="date.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="edition" mode="bibliomixed.mode" dtm:id="edition.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="editor" mode="bibliomixed.mode" dtm:id="editor.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="firstname" mode="bibliomixed.mode" dtm:id="firstname.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="honorific" mode="bibliomixed.mode" dtm:id="honorific.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="indexterm" mode="bibliomixed.mode" dtm:id="indexterm.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="invpartnumber" mode="bibliomixed.mode" dtm:id="invpartnumber.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="isbn" mode="bibliomixed.mode" dtm:id="isbn.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="issn" mode="bibliomixed.mode" dtm:id="issn.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="biblioid" mode="bibliomixed.mode" dtm:id="biblioid.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="issuenum" mode="bibliomixed.mode" dtm:id="issuenum.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="lineage" mode="bibliomixed.mode" dtm:id="lineage.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="orgname" mode="bibliomixed.mode" dtm:id="orgname.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="bibliomixed.mode" dtm:id="othercredit.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="othername" mode="bibliomixed.mode" dtm:id="othername.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="pagenums" mode="bibliomixed.mode" dtm:id="pagenums.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="printhistory" mode="bibliomixed.mode" dtm:id="printhistory.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="productname" mode="bibliomixed.mode" dtm:id="productname.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="productnumber" mode="bibliomixed.mode" dtm:id="productnumber.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="bibliomixed.mode" dtm:id="pubdate.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="publisher" mode="bibliomixed.mode" dtm:id="publisher.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="publishername" mode="bibliomixed.mode" dtm:id="publishername.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="pubsnumber" mode="bibliomixed.mode" dtm:id="pubsnumber.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="bibliomixed.mode" dtm:id="releaseinfo.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="bibliomixed.mode" dtm:id="revhistory.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="seriesvolnums" mode="bibliomixed.mode" dtm:id="seriesvolnums.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="bibliomixed.mode" dtm:id="subtitle.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="surname" mode="bibliomixed.mode" dtm:id="surname.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="title" mode="bibliomixed.mode" dtm:id="title.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="titleabbrev" mode="bibliomixed.mode" dtm:id="titleabbrev.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="volumenum" mode="bibliomixed.mode" dtm:id="volumenum.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<xsl:template match="bibliocoverage|biblioid|bibliorelation|bibliosource"
+              mode="bibliomixed.mode" dtm:id="bibliochilds.bibliomixed-mode">
+  <fo:inline>
+    <xsl:apply-templates mode="bibliomixed.mode"/>
+  </fo:inline>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+</xsl:stylesheet>

doc/editor_configs/serna/scons/docbook-xsl-serna/blocks.xsl

+<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:fo="http://www.w3.org/1999/XSL/Format"
+                xmlns:dtm="http://syntext.com/Extensions/DocumentTypeMetadata-1.0"
+                extension-element-prefixes="dtm"
+                version='1.0'>
+
+  <dtm:doc dtm:idref="block.object"/>
+  <xsl:template name="block.object" dtm:id="block.object">
+    <fo:block>
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+  <dtm:doc dtm:idref="para"/>
+  <xsl:template match="para" dtm:id="para">
+    <fo:block xsl:use-attribute-sets="normal.para.properties">
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+  <dtm:doc dtm:idref="sconsdoc"/>
+  <xsl:template match="sconsdoc" dtm:id="sconsdoc">
+    <fo:block xsl:use-attribute-sets="normal.para.properties">
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+  <dtm:doc dtm:idref="simpara"/>
+  <xsl:template match="simpara" dtm:id="simpara">
+    <fo:block xsl:use-attribute-sets="normal.para.properties">
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+  <dtm:doc dtm:idref="date-releaseinfo"/>
+  <xsl:template match="date|releaseinfo" dtm:id="date-releaseinfo">
+    <fo:block xsl:use-attribute-sets="normal.para.properties">
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+  <dtm:doc dtm:idref="abstract"/>
+  <xsl:template match="abstract" dtm:id="abstract">
+    <fo:block>
+      <xsl:choose>
+        <xsl:when test="title">
+          <xsl:apply-templates select="title" mode="plain.formal.title.mode"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:call-template name="formal.title.gentext">
+            <xsl:with-param name="key" select="'abstract'"/>
+          </xsl:call-template>
+        </xsl:otherwise>
+      </xsl:choose>
+      <xsl:apply-templates select="*[local-name(.) != 'title']"/>
+    </fo:block>
+  </xsl:template>
+
+  <dtm:doc dtm:idref="blockquote"/>
+  <xsl:template match="blockquote" dtm:id="blockquote">
+    <fo:block xsl:use-attribute-sets="blockquote.properties">
+      <fo:block>
+        <xsl:if test="title">
+          <fo:block xsl:use-attribute-sets="formal.title.properties">
+            <xsl:apply-templates select="title" mode="plain.formal.title.mode"/>
+          </fo:block>
+        </xsl:if>
+        <xsl:apply-templates select="*[not(self::title or self::attribution)
+                        or self::processing-instruction('se:choice')]"/>
+      </fo:block>
+      <xsl:if test="attribution">
+        <fo:block text-align="right">
+          <xsl:text>&#x2014;&#160;</xsl:text>
+          <xsl:apply-templates select="attribution"/>
+        </fo:block>
+      </xsl:if>
+    </fo:block>
+  </xsl:template>
+
+  <dtm:doc dtm:idref="formalpara"/>
+  <xsl:template match="formalpara" dtm:id="formalpara">
+    <fo:block xsl:use-attribute-sets="normal.para.properties">
+      <xsl:apply-templates mode="formalpara"/>
+    </fo:block>
+  </xsl:template>
+
+  <dtm:doc dtm:idref="title.formalpara.formalpara"/>
+  <xsl:template match="formalpara/title" mode="formalpara" dtm:id="title.formalpara.formalpara">
+    <xsl:variable name="titleStr" select="."/>
+    <xsl:variable name="lastChar">
+      <xsl:if test="$titleStr != ''">
+        <xsl:value-of select="substring($titleStr,string-length($titleStr),1)"/>
+      </xsl:if>
+    </xsl:variable>
+    
+    <fo:inline font-weight="bold"
+      keep-with-next.within-line="always"
+      padding-right="1em">
+      <xsl:apply-templates/>
+      <xsl:if test="$lastChar != ''
+                    and not(contains($title.end.punct, $lastChar))">
+        <xsl:value-of select="$default.title.end.punct"/>
+      </xsl:if>
+    </fo:inline>
+  </xsl:template>
+
+  <dtm:doc dtm:idref="para.formalpara.formalpara"/>  
+  <xsl:template match="formalpara/para" mode="formalpara" dtm:id="para.formalpara.formalpara">
+    <xsl:choose>
+      <xsl:when test="itemizedlist|orderedlist|segmentedlist|variablelist">
+        <fo:block>
+          <xsl:apply-templates/>
+        </fo:block>
+      </xsl:when>
+      <xsl:otherwise>
+        <fo:inline>
+          <xsl:apply-templates/>
+        </fo:inline>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <dtm:doc dtm:idref="indexterm.formalpara"/> 
+  <xsl:template match="indexterm"  mode="formalpara" dtm:id="indexterm.formalpara">
+      <xsl:if test="$show.preamble.editing">
+        <fo:block xsl:use-attribute-sets="preamble.attributes">
+          <xsl:call-template name="gentext.template">
+            <xsl:with-param name="name" select="'draftarea'"/>
+            <xsl:with-param name="context" select="'empty'"/>
+          </xsl:call-template>
+          <xsl:text> "</xsl:text>
+          <xsl:value-of select="local-name(.)"/>
+          <xsl:text>" </xsl:text>
+        <xsl:apply-templates/>
+        </fo:block>
+      </xsl:if>
+  </xsl:template>
+
+  <dtm:doc dtm:idref="niwct"/> 
+  <xsl:template match="note|important|warning|caution|tip" dtm:id="niwct">
+    <fo:block xsl:use-attribute-sets="note.properties">
+      <fo:block xsl:use-attribute-sets="admonition.title.properties">
+        <xsl:choose>
+          <xsl:when test="title[not(self::processing-instruction('se:choice'))]">
+            <xsl:apply-templates select="title"/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:call-template name="gentext">
+              <xsl:with-param name="key" select="local-name(.)"/>
+            </xsl:call-template>
+          </xsl:otherwise>
+        </xsl:choose>
+      </fo:block>
+      
+      <fo:block>
+        <xsl:apply-templates select="*[not(self::title)
+            or self::processing-instruction('se:choice')]"/>
+      </fo:block>
+    </fo:block>
+  </xsl:template>
+
+  <dtm:doc dtm:idref="authorgroup"/> 
+  <xsl:template match="authorgroup" dtm:id="authorgroup">
+    <fo:block>
+        <xsl:apply-templates mode="authorgroup.mode"/>
+    </fo:block>
+  </xsl:template>
+
+  <dtm:doc dtm:idref="node.authorgroup-mode"/>
+  <xsl:template match="node()" mode="authorgroup.mode" dtm:id="node.authorgroup-mode">
+    <xsl:apply-templates select='.'/>
+    <xsl:choose>
+      <xsl:when test="position() != last()">
+        <xsl:text>, </xsl:text>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:text>.</xsl:text>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <dtm:doc dtm:idref="legalnotice"/>
+  <xsl:template match="legalnotice" dtm:id="legalnotice">
+    <xsl:choose>
+      <xsl:when test="title">
+        <xsl:apply-templates select="title" mode="plain.formal.title.mode"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:call-template name="formal.title.gentext">
+          <xsl:with-param name="key" select="'legalnotice'"/>
+        </xsl:call-template>
+      </xsl:otherwise>
+    </xsl:choose>
+    <xsl:apply-templates select="*[not(self::title)
+                    or self::processing-instruction('se:choice')]"/>
+  </xsl:template>
+
+  <!-- Allow revhistory in context -->
+
+  <dtm:doc dtm:idref="revhistory"/>
+  <xsl:template match="revhistory" dtm:id="revhistory">
+    <xsl:apply-templates select="." mode="rev.mode"/>
+  </xsl:template>
+
+  <dtm:doc dtm:idref="revhistory.rev-mode"/>
+  <xsl:template match="revhistory" mode="rev.mode" dtm:id="revhistory.rev-mode">
+    <fo:block>
+      <xsl:call-template name="formal.title.gentext">
+        <xsl:with-param name="key" select="'revhistory'"/>
+      </xsl:call-template>
+      <xsl:apply-templates select="revision" mode="rev.mode"/>
+    </fo:block>
+  </xsl:template>
+
+  <dtm:doc dtm:idref="revision.rev-mode"/>
+  <xsl:template match="revision" mode="rev.mode" dtm:id="revision.rev-mode">
+    <fo:block xsl:use-attribute-sets="normal.para.properties">
+      <xsl:apply-templates mode="rev.mode"/>
+    </fo:block>
+  </xsl:template>
+
+  <dtm:doc dtm:idref="revnumber.rev-mode"/>
+  <xsl:template match="revnumber" mode="rev.mode" dtm:id="revnumber.rev-mode">
+    <fo:block>
+      <xsl:call-template name="gentext">
+        <xsl:with-param name="key" select="'revision'"/>
+      </xsl:call-template>
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+  <dtm:doc dtm:idref="authorinitials.rev-mode"/>
+  <xsl:template match="authorinitials" mode="rev.mode" dtm:id="authorinitials.rev-mode">
+    <fo:block>
+      <xsl:call-template name="gentext">
+        <xsl:with-param name="key" select="'revisedby'"/>
+      </xsl:call-template>
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+  <dtm:doc dtm:idref="all.rev-mode"/>
+  <xsl:template match="*" mode="rev.mode" dtm:id="all.rev-mode">
+    <fo:block>
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+  <dtm:doc dtm:idref="address"/>
+  <xsl:template match="address" dtm:id="address">
+    <fo:block 
+      white-space-collapse='false'
+      linefeed-treatment="preserve"
+      xsl:use-attribute-sets="verbatim.properties">
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+  <dtm:doc dtm:idref="footnote"/>
+  <xsl:template match="footnote" dtm:id="footnote">
+    <fo:block font-size="{$footnote.font.size}">
+      <xsl:if test="@id">
+        <fo:inline font-style="italic">
+          <xsl:text>[</xsl:text>
+          <xsl:call-template name="gentext.template">
+            <xsl:with-param name="context" select="'empty'"/>
+            <xsl:with-param name="name" select="'footnote'"/>
+          </xsl:call-template>
+          <xsl:text>: </xsl:text>
+          <xsl:value-of select="@id"/>
+          <xsl:text>]</xsl:text>
+        </fo:inline>
+      </xsl:if>
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+  <dtm:doc dtm:idref="programlisting"/>
+  <xsl:template match="programlisting|screen|synopsis|literallayout" name="programlisting" dtm:id="programlisting">
+    <xsl:choose>
+      <xsl:when test="$shade.verbatim != 0">
+        <fo:block
+          white-space-treatment='preserve'
+          white-space-collapse='false'
+          linefeed-treatment="preserve"
+          xsl:use-attribute-sets="shade.verbatim.style verbatim.properties">
+          <xsl:apply-templates/>
+        </fo:block>
+      </xsl:when>
+      <xsl:otherwise>
+        <fo:block
+          white-space-collapse='false'
+          linefeed-treatment="preserve"
+          xsl:use-attribute-sets="verbatim.properties">
+          <xsl:apply-templates/>
+        </fo:block>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <dtm:doc dtm:idref="summary"/> 
+  <xsl:template match="summary" dtm:id="summary">
+    <fo:block xsl:use-attribute-sets="admonition.title.properties">
+      <xsl:text>Summary</xsl:text>
+    </fo:block>
+      
+    <fo:block>
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+  <dtm:doc dtm:idref="builder"/> 
+  <xsl:template match="builder" dtm:id="builder">
+    <fo:block xsl:use-attribute-sets="admonition.title.properties">
+      <xsl:text>Builder '</xsl:text>
+      <xsl:value-of select="@name"/>
+      <xsl:text>'</xsl:text>
+    </fo:block>
+
+    <fo:block>
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+  <dtm:doc dtm:idref="cvar"/> 
+  <xsl:template match="cvar" dtm:id="cvar">
+    <fo:block xsl:use-attribute-sets="admonition.title.properties">
+      <xsl:text>CVar '</xsl:text>
+      <xsl:value-of select="@name"/>
+      <xsl:text>'</xsl:text>
+    </fo:block>
+
+    <fo:block>
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+  <dtm:doc dtm:idref="function"/> 
+  <xsl:template match="function" dtm:id="function">
+    <fo:block xsl:use-attribute-sets="admonition.title.properties">
+      <xsl:text>Function '</xsl:text>
+      <xsl:value-of select="@name"/>
+      <xsl:text>'</xsl:text>
+    </fo:block>
+
+    <fo:block>
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+  <dtm:doc dtm:idref="tool"/> 
+  <xsl:template match="tool" dtm:id="tool">
+    <fo:block xsl:use-attribute-sets="admonition.title.properties">
+      <xsl:text>Tool '</xsl:text>
+      <xsl:value-of select="@name"/>
+      <xsl:text>'</xsl:text>
+    </fo:block>
+
+    <fo:block>
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+  <dtm:doc dtm:idref="scons_example"/>
+  <xsl:template match="scons_example" name="scons_example" dtm:id="scons_example">
+    <fo:block
+      white-space-treatment='preserve'
+      white-space-collapse='false'
+      linefeed-treatment="preserve"
+      xsl:use-attribute-sets="verbatim.properties"
+      background-color="#94caee">
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+  <dtm:doc dtm:idref="example_commands"/>
+  <xsl:template match="example_commands" name="example_commands" dtm:id="example_commands">
+    <fo:block
+      white-space-treatment='preserve'
+      white-space-collapse='false'
+      linefeed-treatment="preserve"
+      xsl:use-attribute-sets="verbatim.properties"
+      background-color="#94caee">
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+  <dtm:doc dtm:idref="scons_example_file"/>
+  <xsl:template match="scons_example_file" name="scons_example_file" dtm:id="scons_example_file">
+    <fo:block
+      white-space-treatment='preserve'
+      white-space-collapse='false'
+      linefeed-treatment="preserve"
+      xsl:use-attribute-sets="verbatim.properties"
+      background-color="#eed27b">
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+
+  <dtm:doc dtm:idref="scons_output"/>
+  <xsl:template match="scons_output" name="scons_output" dtm:id="scons_output">
+    <fo:block
+      white-space-treatment='preserve'
+      white-space-collapse='false'
+      linefeed-treatment="preserve"
+      xsl:use-attribute-sets="verbatim.properties"
+      background-color="#94caee">
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+  <dtm:doc dtm:idref="scons_output_command"/>
+  <xsl:template match="scons_output_command" name="scons_output_command" dtm:id="scons_output_command">
+    <fo:block
+      white-space-treatment='preserve'
+      white-space-collapse='false'
+      linefeed-treatment="preserve"
+      xsl:use-attribute-sets="shade.verbatim.style verbatim.properties">
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+  <dtm:doc dtm:idref="sconstruct"/>
+  <xsl:template match="sconstruct" name="sconstruct" dtm:id="sconstruct">
+    <fo:block
+      white-space-treatment='preserve'
+      white-space-collapse='false'
+      linefeed-treatment="preserve"
+      xsl:use-attribute-sets="verbatim.properties"
+      background-color="#94caee">
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+  <dtm:doc dtm:idref="file"/>
+  <xsl:template match="file" name="file" dtm:id="file">
+    <fo:block
+      white-space-treatment='preserve'
+      white-space-collapse='false'
+      linefeed-treatment="preserve"
+      xsl:use-attribute-sets="verbatim.properties"
+      background-color="#eed27b">
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+  <dtm:doc dtm:idref="directory"/>
+  <xsl:template match="directory" name="directory" dtm:id="directory">
+    <fo:block
+      white-space-treatment='preserve'
+      white-space-collapse='false'
+      linefeed-treatment="preserve"
+      xsl:use-attribute-sets="verbatim.properties"
+      background-color="#eed27b">
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+<dtm:doc dtm:idref="epigraph"/>
+<xsl:template match="epigraph" dtm:id="epigraph">
+  <fo:block>
+    <xsl:apply-templates select="para|simpara|formalpara|literallayout"/>
+    <fo:inline>
+      <xsl:text>&#x2014;&#160;</xsl:text>
+      <xsl:apply-templates select="attribution"/>
+    </fo:inline>
+  </fo:block>
+</xsl:template>
+
+<dtm:doc dtm:idref="sidebar"/>
+<xsl:template match="sidebar" dtm:id="sidebar">
+  <fo:block xsl:use-attribute-sets="sidebar.properties">
+    <xsl:if test="./title">
+      <fo:block font-weight="bold">
+        <xsl:apply-templates select="./title" mode="sidebar.title.mode"/>
+      </fo:block>
+    </xsl:if>
+
+    <xsl:apply-templates select="*[not(self::title)
+                    or self::processing-instruction('se:choice')]"/>
+  </fo:block>
+</xsl:template>
+
+<dtm:doc dtm:idref="title.sidebar.sidebar-title-mode"/>
+<xsl:template match="sidebar/title" mode="sidebar.title.mode" dtm:id="title.sidebar.sidebar-title-mode">
+  <xsl:apply-templates/>
+</xsl:template>
+
+<dtm:doc dtm:idref="msgset"/>
+<xsl:template match="msgset" dtm:id="msgset">
+  <xsl:apply-templates/>
+</xsl:template>
+
+<dtm:doc dtm:idref="msgentry"/>
+<xsl:template match="msgentry" dtm:id="msgentry">
+  <xsl:call-template name="block.object"/>
+</xsl:template>
+
+<dtm:doc dtm:idref="simplemsgentry"/>
+<xsl:template match="simplemsgentry" dtm:id="simplemsgentry">
+  <xsl:call-template name="block.object"/>
+</xsl:template>
+
+<dtm:doc dtm:idref="msg"/>
+<xsl:template match="msg" dtm:id="msg">
+  <xsl:call-template name="block.object"/>
+</xsl:template>
+
+<dtm:doc dtm:idref="msgmain"/>
+<xsl:template match="msgmain" dtm:id="msgmain">
+  <xsl:apply-templates/>
+</xsl:template>
+
+<dtm:doc dtm:idref="msgsub"/>
+<xsl:template match="msgsub" dtm:id="msgsub">
+  <xsl:apply-templates/>
+</xsl:template>
+
+<dtm:doc dtm:idref="msgrel"/>
+<xsl:template match="msgrel" dtm:id="msgrel">
+  <xsl:apply-templates/>
+</xsl:template>
+
+<dtm:doc dtm:idref="msgtext"/>
+<xsl:template match="msgtext" dtm:id="msgtext">
+  <xsl:apply-templates/>
+</xsl:template>
+
+<dtm:doc dtm:idref="msginfo"/>
+<xsl:template match="msginfo" dtm:id="msginfo">
+  <xsl:call-template name="block.object"/>
+</xsl:template>
+
+<dtm:doc dtm:idref="msglevel"/>
+<xsl:template match="msglevel" dtm:id="msglevel">
+  <fo:block>
+    <fo:inline font-weight="bold">
+      <xsl:call-template name="gentext">
+        <xsl:with-param name="key" select="'msglevel'"/>
+      </xsl:call-template>
+    </fo:inline>
+    <xsl:apply-templates/>
+  </fo:block>
+</xsl:template>
+
+<dtm:doc dtm:idref="msgorig"/>
+<xsl:template match="msgorig" dtm:id="msgorig">
+  <fo:block>
+    <fo:inline font-weight="bold">
+      <xsl:call-template name="gentext">
+        <xsl:with-param name="key" select="'msgorig'"/>
+      </xsl:call-template>
+    </fo:inline>
+    <xsl:apply-templates/>
+  </fo:block>
+</xsl:template>
+
+<dtm:doc dtm:idref="msgaud"/>
+<xsl:template match="msgaud" dtm:id="msgaud">
+  <fo:block>
+    <fo:inline font-weight="bold">
+      <xsl:call-template name="gentext">
+        <xsl:with-param name="key" select="'msgaud'"/>
+      </xsl:call-template>
+    </fo:inline>
+    <xsl:apply-templates/>
+  </fo:block>
+</xsl:template>
+
+<dtm:doc dtm:idref="msgexplan"/>
+<xsl:template match="msgexplan" dtm:id="msgexplan">
+  <xsl:call-template name="block.object"/>
+</xsl:template>
+
+<dtm:doc dtm:idref="title.msgexplan"/>
+<xsl:template match="msgexplan/title" dtm:id="title.msgexplan">
+  <fo:block font-weight="bold">
+    <xsl:apply-templates/>
+  </fo:block>
+</xsl:template>
+
+<dtm:doc dtm:idref="ackno"/>
+<xsl:template match="ackno" dtm:id="ackno">
+  <fo:block xsl:use-attribute-sets="normal.para.properties">
+    <xsl:apply-templates/>
+  </fo:block>
+</xsl:template>
+
+<dtm:doc dtm:idref="highlights"/>
+<xsl:template match="highlights" dtm:id="highlights">
+  <xsl:call-template name="block.object"/>
+</xsl:template>
+
+<dtm:doc dtm:idref="calclines"/>
+<xsl:template name="calclines" dtm:id="calclines">
+  <xsl:param name="marks"/>
+  <xsl:param name="text" select="text()"/>
+  <xsl:param name="curline" select="0"/>
+  <xsl:variable name="lfeed" select="'&#xA;'"/>
+  <xsl:variable name="num" select="concat(' ', $curline, ' ')"/>
+  <xsl:choose>
+    <xsl:when test="contains($marks, $num)">
+      <xsl:variable name="str" select="concat(substring-before($marks, $num), substring-after($marks, $num))"/>
+      <xsl:variable name="mark" select="substring-before(substring-after(substring-after($marks, $num), '('), ')')"/>
+      <xsl:value-of select="concat('(', $mark, ')')"/>
+      <xsl:call-template name="calclines">
+        <xsl:with-param name="marks" select="$str"/>
+        <xsl:with-param name="text" select="$text"/>
+        <xsl:with-param name="curline" select="$curline"/>
+      </xsl:call-template>
+    </xsl:when>
+    <xsl:when test="contains($text, $lfeed)">
+      <xsl:value-of select="$lfeed"/>
+      <xsl:call-template name="calclines">
+        <xsl:with-param name="marks" select="$marks"/>
+        <xsl:with-param name="text" select="substring-after($text, $lfeed)"/>
+        <xsl:with-param name="curline" select="$curline + 1"/>
+      </xsl:call-template>
+    </xsl:when>
+  </xsl:choose>
+</xsl:template>
+
+<dtm:doc dtm:idref="areaspec.calc"/>
+<xsl:template match="areaspec" mode="calc" dtm:id="areaspec.calc">
+  <xsl:apply-templates mode="calc"/>
+</xsl:template>
+
+<dtm:doc dtm:idref="areaset.calc"/>
+<xsl:template match="areaset" mode="calc" dtm:id="areaset.calc">
+  <xsl:apply-templates mode="calc"/>
+  <xsl:value-of select="concat('(', string(position()), ')')"/>
+</xsl:template>
+
+<dtm:doc dtm:idref="area.calc"/>
+<xsl:template match="area" mode="calc" dtm:id="area.calc">
+  <xsl:variable name="pos" select="number(normalize-space(@coords))"/>
+  <xsl:if test="not($pos = 'NaN')">
+    <xsl:text> </xsl:text>
+    <xsl:value-of select="string($pos)"/>
+    <xsl:text> </xsl:text>
+  </xsl:if>