Merge remote-tracking branch 'origin/unstable' into testing
[gpl/argeo-suite.git] / org.argeo.publishing.ui / src / org / argeo / docbook / db4-upgrade.xsl
diff --git a/org.argeo.publishing.ui/src/org/argeo/docbook/db4-upgrade.xsl b/org.argeo.publishing.ui/src/org/argeo/docbook/db4-upgrade.xsl
deleted file mode 100644 (file)
index 00096be..0000000
+++ /dev/null
@@ -1,1398 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:exsl="http://exslt.org/common"
-               xmlns:db = "http://docbook.org/ns/docbook"
-               xmlns:xlink="http://www.w3.org/1999/xlink"
-                exclude-result-prefixes="exsl db"
-                version="1.0">
-
-<!--
-# ======================================================================
-# This file is part of DocBook V5.0CR5
-#
-# Copyright 2005 Norman Walsh, Sun Microsystems, Inc., and the
-# Organization for the Advancement of Structured Information
-# Standards (OASIS).
-#
-# Release: $Id: db4-upgrade.xsl 7660 2008-02-06 13:48:36Z nwalsh $
-#
-# Permission to use, copy, modify and distribute this stylesheet
-# and its accompanying documentation for any purpose and without fee
-# is hereby granted in perpetuity, provided that the above copyright
-# notice and this paragraph appear in all copies. The copyright
-# holders make no representation about the suitability of the schema
-# for any purpose. It is provided "as is" without expressed or implied
-# warranty.
-#
-# Please direct all questions, bug reports, or suggestions for changes
-# to the docbook@lists.oasis-open.org mailing list. For more
-# information, see http://www.oasis-open.org/docbook/.
-#
-# ======================================================================
--->
-
-<xsl:variable name="version" select="'1.0'"/>
-
-<xsl:output method="xml" encoding="utf-8" indent="no" omit-xml-declaration="yes"/>
-
-<xsl:preserve-space elements="*"/>
-<xsl:param name="rootid">
-  <xsl:choose>
-  <xsl:when test="/*/@id">
-    <xsl:value-of select="/*/@id"/>
-  </xsl:when>
-  <xsl:otherwise>
-    <xsl:text>UNKNOWN</xsl:text>
-  </xsl:otherwise>
-  </xsl:choose>
-</xsl:param>
-
-<xsl:param name="defaultDate" select="''"/>
-
-<xsl:template match="/">
-  <xsl:variable name="converted">
-    <xsl:apply-templates/>
-  </xsl:variable>
-  <xsl:comment>
-    <xsl:text> Converted by db4-upgrade version </xsl:text>
-    <xsl:value-of select="$version"/>
-    <xsl:text> </xsl:text>
-  </xsl:comment>
-  <xsl:text>&#10;</xsl:text>
-  <xsl:apply-templates select="exsl:node-set($converted)/*" mode="addNS"/>
-</xsl:template>
-
-<xsl:template match="bookinfo|chapterinfo|articleinfo|artheader|appendixinfo
-                    |blockinfo
-                     |bibliographyinfo|glossaryinfo|indexinfo|setinfo
-                    |setindexinfo
-                     |sect1info|sect2info|sect3info|sect4info|sect5info
-                     |sectioninfo
-                     |refsect1info|refsect2info|refsect3info|refsectioninfo
-                    |referenceinfo|partinfo"
-              priority="200">
-  <info>
-    <xsl:call-template name="copy.attributes"/>
-
-    <!-- titles can be inside or outside or both. fix that -->
-    <xsl:choose>
-      <xsl:when test="title and following-sibling::title">
-        <xsl:if test="title != following-sibling::title">
-          <xsl:call-template name="emit-message">
-            <xsl:with-param name="message">
-              <xsl:text>Check </xsl:text>
-              <xsl:value-of select="name(..)"/>
-              <xsl:text> title.</xsl:text>
-            </xsl:with-param>
-          </xsl:call-template>
-        </xsl:if>
-        <xsl:apply-templates select="title" mode="copy"/>
-      </xsl:when>
-      <xsl:when test="title">
-        <xsl:apply-templates select="title" mode="copy"/>
-      </xsl:when>
-      <xsl:when test="following-sibling::title">
-        <xsl:apply-templates select="following-sibling::title" mode="copy"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="emit-message">
-          <xsl:with-param name="message">
-            <xsl:text>Check </xsl:text>
-            <xsl:value-of select="name(..)"/>
-            <xsl:text>: no title.</xsl:text>
-          </xsl:with-param>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-
-    <xsl:choose>
-      <xsl:when test="titleabbrev and following-sibling::titleabbrev">
-        <xsl:if test="titleabbrev != following-sibling::titleabbrev">
-          <xsl:call-template name="emit-message">
-            <xsl:with-param name="message">
-              <xsl:text>Check </xsl:text>
-              <xsl:value-of select="name(..)"/>
-              <xsl:text> titleabbrev.</xsl:text>
-            </xsl:with-param>
-          </xsl:call-template>
-        </xsl:if>
-        <xsl:apply-templates select="titleabbrev" mode="copy"/>
-      </xsl:when>
-      <xsl:when test="titleabbrev">
-        <xsl:apply-templates select="titleabbrev" mode="copy"/>
-      </xsl:when>
-      <xsl:when test="following-sibling::titleabbrev">
-        <xsl:apply-templates select="following-sibling::titleabbrev" mode="copy"/>
-      </xsl:when>
-    </xsl:choose>
-
-    <xsl:choose>
-      <xsl:when test="subtitle and following-sibling::subtitle">
-        <xsl:if test="subtitle != following-sibling::subtitle">
-          <xsl:call-template name="emit-message">
-            <xsl:with-param name="message">
-              <xsl:text>Check </xsl:text>
-              <xsl:value-of select="name(..)"/>
-              <xsl:text> subtitle.</xsl:text>
-            </xsl:with-param>
-          </xsl:call-template>
-        </xsl:if>
-        <xsl:apply-templates select="subtitle" mode="copy"/>
-      </xsl:when>
-      <xsl:when test="subtitle">
-        <xsl:apply-templates select="subtitle" mode="copy"/>
-      </xsl:when>
-      <xsl:when test="following-sibling::subtitle">
-        <xsl:apply-templates select="following-sibling::subtitle" mode="copy"/>
-      </xsl:when>
-    </xsl:choose>
-
-    <xsl:apply-templates/>
-  </info>
-</xsl:template>
-
-<xsl:template match="objectinfo|prefaceinfo|refsynopsisdivinfo
-                    |screeninfo|sidebarinfo"
-             priority="200">
-  <info>
-    <xsl:call-template name="copy.attributes"/>
-
-    <!-- titles can be inside or outside or both. fix that -->
-    <xsl:choose>
-      <xsl:when test="title and following-sibling::title">
-        <xsl:if test="title != following-sibling::title">
-          <xsl:call-template name="emit-message">
-            <xsl:with-param name="message">
-              <xsl:text>Check </xsl:text>
-              <xsl:value-of select="name(..)"/>
-              <xsl:text> title.</xsl:text>
-            </xsl:with-param>
-          </xsl:call-template>
-        </xsl:if>
-        <xsl:apply-templates select="title" mode="copy"/>
-      </xsl:when>
-      <xsl:when test="title">
-        <xsl:apply-templates select="title" mode="copy"/>
-      </xsl:when>
-      <xsl:when test="following-sibling::title">
-        <xsl:apply-templates select="following-sibling::title" mode="copy"/>
-      </xsl:when>
-      <xsl:otherwise>
-       <!-- it's ok if there's no title on these -->
-      </xsl:otherwise>
-    </xsl:choose>
-
-    <xsl:choose>
-      <xsl:when test="titleabbrev and following-sibling::titleabbrev">
-        <xsl:if test="titleabbrev != following-sibling::titleabbrev">
-          <xsl:call-template name="emit-message">
-          <xsl:with-param name="message">
-            <xsl:text>Check </xsl:text>
-            <xsl:value-of select="name(..)"/>
-            <xsl:text> titleabbrev.</xsl:text>
-          </xsl:with-param>
-        </xsl:call-template>
-        </xsl:if>
-        <xsl:apply-templates select="titleabbrev" mode="copy"/>
-      </xsl:when>
-      <xsl:when test="titleabbrev">
-        <xsl:apply-templates select="titleabbrev" mode="copy"/>
-      </xsl:when>
-      <xsl:when test="following-sibling::titleabbrev">
-        <xsl:apply-templates select="following-sibling::titleabbrev" mode="copy"/>
-      </xsl:when>
-    </xsl:choose>
-
-    <xsl:choose>
-      <xsl:when test="subtitle and following-sibling::subtitle">
-        <xsl:if test="subtitle != following-sibling::subtitle">
-          <xsl:call-template name="emit-message">
-            <xsl:with-param name="message">
-              <xsl:text>Check </xsl:text>
-              <xsl:value-of select="name(..)"/>
-              <xsl:text> subtitle.</xsl:text>
-            </xsl:with-param>
-          </xsl:call-template>
-        </xsl:if>
-        <xsl:apply-templates select="subtitle" mode="copy"/>
-      </xsl:when>
-      <xsl:when test="subtitle">
-        <xsl:apply-templates select="subtitle" mode="copy"/>
-      </xsl:when>
-      <xsl:when test="following-sibling::subtitle">
-        <xsl:apply-templates select="following-sibling::subtitle" mode="copy"/>
-      </xsl:when>
-    </xsl:choose>
-
-    <xsl:apply-templates/>
-  </info>
-</xsl:template>
-
-<xsl:template match="refentryinfo"
-              priority="200">
-  <info>
-    <xsl:call-template name="copy.attributes"/>
-
-    <!-- titles can be inside or outside or both. fix that -->
-    <xsl:if test="title">
-      <xsl:call-template name="emit-message">
-        <xsl:with-param name="message">
-          <xsl:text>Discarding title from refentryinfo!</xsl:text>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:if>
-
-    <xsl:if test="titleabbrev">
-      <xsl:call-template name="emit-message">
-        <xsl:with-param name="message">
-          <xsl:text>Discarding titleabbrev from refentryinfo!</xsl:text>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:if>
-
-    <xsl:if test="subtitle">
-      <xsl:call-template name="emit-message">
-        <xsl:with-param name="message">
-          <xsl:text>Discarding subtitle from refentryinfo!</xsl:text>
-        </xsl:with-param>
-      </xsl:call-template>
-    </xsl:if>
-
-    <xsl:apply-templates/>
-  </info>
-</xsl:template>
-
-<xsl:template match="refmiscinfo"
-              priority="200">
-  <refmiscinfo>
-    <xsl:call-template name="copy.attributes">
-      <xsl:with-param name="suppress" select="'class'"/>
-    </xsl:call-template>
-    <xsl:if test="@class">
-      <xsl:choose>
-       <xsl:when test="@class = 'source'
-                       or @class = 'version'
-                       or @class = 'manual'
-                       or @class = 'sectdesc'
-                       or @class = 'software'">
-         <xsl:attribute name="class">
-           <xsl:value-of select="@class"/>
-         </xsl:attribute>
-       </xsl:when>
-       <xsl:otherwise>
-         <xsl:attribute name="class">
-           <xsl:value-of select="'other'"/>
-         </xsl:attribute>
-         <xsl:attribute name="otherclass">
-           <xsl:value-of select="@class"/>
-         </xsl:attribute>
-       </xsl:otherwise>
-      </xsl:choose>
-    </xsl:if>
-    <xsl:apply-templates/>
-  </refmiscinfo>
-</xsl:template>
-
-<xsl:template match="corpauthor" priority="200">
-  <author>
-    <xsl:call-template name="copy.attributes"/>
-    <orgname>
-      <xsl:apply-templates/>
-    </orgname>
-  </author>
-</xsl:template>
-
-<xsl:template match="corpname" priority="200">
-  <orgname>
-    <xsl:call-template name="copy.attributes"/>
-    <xsl:apply-templates/>
-  </orgname>
-</xsl:template>
-
-<xsl:template match="author[not(personname)]|editor[not(personname)]|othercredit[not(personname)]" priority="200">
-  <xsl:copy>
-    <xsl:call-template name="copy.attributes"/>
-    <personname>
-      <xsl:apply-templates select="honorific|firstname|surname|othername|lineage"/>
-    </personname>
-    <xsl:apply-templates select="*[not(self::honorific|self::firstname|self::surname
-                                   |self::othername|self::lineage)]"/>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="address|programlisting|screen|funcsynopsisinfo
-                     |classsynopsisinfo|literallayout" priority="200">
-  <xsl:copy>
-    <xsl:call-template name="copy.attributes">
-      <xsl:with-param name="suppress" select="'format'"/>
-    </xsl:call-template>
-    <xsl:apply-templates/>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="productname[@class]" priority="200">
-  <xsl:call-template name="emit-message">
-    <xsl:with-param name="message">
-      <xsl:text>Dropping class attribute from productname</xsl:text>
-    </xsl:with-param>
-  </xsl:call-template>
-  <xsl:copy>
-    <xsl:call-template name="copy.attributes">
-      <xsl:with-param name="suppress" select="'class'"/>
-    </xsl:call-template>
-    <xsl:apply-templates/>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="dedication|preface|chapter|appendix|part|partintro
-                     |article|bibliography|glossary|glossdiv|index
-                    |reference[not(referenceinfo)]
-                     |book" priority="200">
-  <xsl:choose>
-    <xsl:when test="not(dedicationinfo|prefaceinfo|chapterinfo
-                       |appendixinfo|partinfo
-                        |articleinfo|artheader|bibliographyinfo
-                       |glossaryinfo|indexinfo
-                        |bookinfo)">
-      <xsl:copy>
-        <xsl:call-template name="copy.attributes"/>
-        <xsl:if test="title|subtitle|titleabbrev">
-          <info>
-            <xsl:apply-templates select="title" mode="copy"/>
-            <xsl:apply-templates select="titleabbrev" mode="copy"/>
-            <xsl:apply-templates select="subtitle" mode="copy"/>
-            <xsl:apply-templates select="abstract" mode="copy"/>
-          </info>
-        </xsl:if>
-        <xsl:apply-templates/>
-      </xsl:copy>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy>
-        <xsl:call-template name="copy.attributes"/>
-        <xsl:apply-templates/>
-      </xsl:copy>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="formalpara|figure|table[tgroup]|example|blockquote
-                     |caution|important|note|warning|tip
-                     |bibliodiv|glossarydiv|indexdiv
-                    |orderedlist|itemizedlist|variablelist|procedure
-                    |task|tasksummary|taskprerequisites|taskrelated
-                    |sidebar"
-             priority="200">
-  <xsl:choose>
-    <xsl:when test="blockinfo">
-      <xsl:copy>
-        <xsl:call-template name="copy.attributes"/>
-        <xsl:apply-templates/>
-      </xsl:copy>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy>
-        <xsl:call-template name="copy.attributes"/>
-
-       <xsl:if test="title|titleabbrev|subtitle">
-         <info>
-           <xsl:apply-templates select="title" mode="copy"/>
-           <xsl:apply-templates select="titleabbrev" mode="copy"/>
-           <xsl:apply-templates select="subtitle" mode="copy"/>
-         </info>
-       </xsl:if>
-
-        <xsl:apply-templates/>
-      </xsl:copy>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="equation" priority="200">
-  <xsl:choose>
-    <xsl:when test="not(title)">
-      <xsl:call-template name="emit-message">
-        <xsl:with-param
-            name="message"
-            >Convert equation without title to informal equation.</xsl:with-param>
-      </xsl:call-template>
-      <informalequation>
-        <xsl:call-template name="copy.attributes"/>
-        <xsl:apply-templates/>
-      </informalequation>
-    </xsl:when>
-    <xsl:when test="blockinfo">
-      <xsl:copy>
-        <xsl:call-template name="copy.attributes"/>
-        <xsl:apply-templates/>
-      </xsl:copy>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy>
-        <xsl:call-template name="copy.attributes"/>
-        <info>
-          <xsl:apply-templates select="title" mode="copy"/>
-          <xsl:apply-templates select="titleabbrev" mode="copy"/>
-          <xsl:apply-templates select="subtitle" mode="copy"/>
-        </info>
-        <xsl:apply-templates/>
-      </xsl:copy>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="sect1|sect2|sect3|sect4|sect5|section"
-             priority="200">
-  <section>
-    <xsl:call-template name="copy.attributes"/>
-
-    <xsl:if test="not(sect1info|sect2info|sect3info|sect4info|sect5info|sectioninfo)">
-      <info>
-        <xsl:apply-templates select="title" mode="copy"/>
-        <xsl:apply-templates select="titleabbrev" mode="copy"/>
-        <xsl:apply-templates select="subtitle" mode="copy"/>
-        <xsl:apply-templates select="abstract" mode="copy"/>
-      </info>
-    </xsl:if>
-    <xsl:apply-templates/>
-  </section>
-</xsl:template>
-
-<xsl:template match="simplesect"
-             priority="200">
-  <simplesect>
-    <xsl:call-template name="copy.attributes"/>
-    <info>
-      <xsl:apply-templates select="title" mode="copy"/>
-      <xsl:apply-templates select="titleabbrev" mode="copy"/>
-      <xsl:apply-templates select="subtitle" mode="copy"/>
-      <xsl:apply-templates select="abstract" mode="copy"/>
-    </info>
-    <xsl:apply-templates/>
-  </simplesect>
-</xsl:template>
-
-<xsl:template match="refsect1|refsect2|refsect3|refsection" priority="200">
-  <refsection>
-    <xsl:call-template name="copy.attributes"/>
-
-    <xsl:if test="not(refsect1info|refsect2info|refsect3info|refsectioninfo)">
-      <info>
-        <xsl:apply-templates select="title" mode="copy"/>
-        <xsl:apply-templates select="titleabbrev" mode="copy"/>
-        <xsl:apply-templates select="subtitle" mode="copy"/>
-        <xsl:apply-templates select="abstract" mode="copy"/>
-      </info>
-    </xsl:if>
-    <xsl:apply-templates/>
-  </refsection>
-</xsl:template>
-
-<xsl:template match="imagedata|videodata|audiodata|textdata" priority="200">
-  <xsl:copy>
-    <xsl:call-template name="copy.attributes">
-      <xsl:with-param name="suppress" select="'srccredit'"/>
-    </xsl:call-template>
-    <xsl:if test="@srccredit">
-      <xsl:call-template name="emit-message">
-        <xsl:with-param name="message">
-          <xsl:text>Check conversion of srccredit </xsl:text>
-          <xsl:text>(othercredit="srccredit").</xsl:text>
-        </xsl:with-param>
-      </xsl:call-template>
-      <info>
-        <othercredit class="other" otherclass="srccredit">
-          <orgname>???</orgname>
-          <contrib>
-            <xsl:value-of select="@srccredit"/>
-          </contrib>
-        </othercredit>
-      </info>
-    </xsl:if>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="sgmltag" priority="200">
-  <tag>
-    <xsl:call-template name="copy.attributes"/>
-    <xsl:if test="@class = 'sgmlcomment'">
-      <xsl:attribute name="class">comment</xsl:attribute>
-    </xsl:if>
-    <xsl:apply-templates/>
-  </tag>
-</xsl:template>
-
-<xsl:template match="inlinegraphic[@format='linespecific']" priority="210">
-  <textobject>
-    <textdata>
-      <xsl:call-template name="copy.attributes"/>
-    </textdata>
-  </textobject>
-</xsl:template>
-
-<xsl:template match="inlinegraphic" priority="200">
-  <inlinemediaobject>
-    <imageobject>
-      <imagedata>
-       <xsl:call-template name="copy.attributes"/>
-      </imagedata>
-    </imageobject>
-  </inlinemediaobject>
-</xsl:template>
-
-<xsl:template match="graphic[@format='linespecific']" priority="210">
-  <mediaobject>
-    <textobject>
-      <textdata>
-       <xsl:call-template name="copy.attributes"/>
-      </textdata>
-    </textobject>
-  </mediaobject>
-</xsl:template>
-
-<xsl:template match="graphic" priority="200">
-  <mediaobject>
-    <imageobject>
-      <imagedata>
-       <xsl:call-template name="copy.attributes"/>
-      </imagedata>
-    </imageobject>
-  </mediaobject>
-</xsl:template>
-
-<xsl:template match="pubsnumber" priority="200">
-  <biblioid class="pubsnumber">
-    <xsl:call-template name="copy.attributes"/>
-    <xsl:apply-templates/>
-  </biblioid>
-</xsl:template>
-
-<xsl:template match="invpartnumber" priority="200">
-  <xsl:call-template name="emit-message">
-    <xsl:with-param name="message">
-      <xsl:text>Converting invpartnumber to biblioid otherclass="invpartnumber".</xsl:text>
-    </xsl:with-param>
-  </xsl:call-template>
-  <biblioid class="other" otherclass="invpartnumber">
-    <xsl:call-template name="copy.attributes"/>
-    <xsl:apply-templates/>
-  </biblioid>
-</xsl:template>
-
-<xsl:template match="contractsponsor" priority="200">
-  <xsl:variable name="contractnum"
-                select="preceding-sibling::contractnum|following-sibling::contractnum"/>
-
-  <xsl:call-template name="emit-message">
-    <xsl:with-param name="message">
-      <xsl:text>Converting contractsponsor to othercredit="contractsponsor".</xsl:text>
-    </xsl:with-param>
-  </xsl:call-template>
-
-  <othercredit class="other" otherclass="contractsponsor">
-    <orgname>
-      <xsl:call-template name="copy.attributes"/>
-      <xsl:apply-templates/>
-    </orgname>
-    <xsl:for-each select="$contractnum">
-      <contrib role="contractnum">
-        <xsl:apply-templates select="node()"/>
-      </contrib>
-    </xsl:for-each>
-  </othercredit>
-</xsl:template>
-
-<xsl:template match="contractnum" priority="200">
-  <xsl:if test="not(preceding-sibling::contractsponsor
-                    |following-sibling::contractsponsor)
-                and not(preceding-sibling::contractnum)">
-    <xsl:call-template name="emit-message">
-      <xsl:with-param name="message">
-        <xsl:text>Converting contractnum to othercredit="contractnum".</xsl:text>
-      </xsl:with-param>
-    </xsl:call-template>
-
-    <othercredit class="other" otherclass="contractnum">
-      <orgname>???</orgname>
-      <xsl:for-each select="self::contractnum
-                            |preceding-sibling::contractnum
-                            |following-sibling::contractnum">
-        <contrib>
-          <xsl:apply-templates select="node()"/>
-        </contrib>
-      </xsl:for-each>
-    </othercredit>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="isbn|issn" priority="200">
-  <biblioid class="{local-name(.)}">
-    <xsl:call-template name="copy.attributes"/>
-    <xsl:apply-templates/>
-  </biblioid>
-</xsl:template>
-
-<xsl:template match="biblioid[count(*) = 1
-                             and ulink
-                             and normalize-space(text()) = '']" priority="200">
-  <biblioid xlink:href="{ulink/@url}">
-    <xsl:call-template name="copy.attributes"/>
-    <xsl:apply-templates select="ulink/node()"/>
-  </biblioid>
-</xsl:template>
-
-<xsl:template match="authorblurb" priority="200">
-  <personblurb>
-    <xsl:call-template name="copy.attributes"/>
-    <xsl:apply-templates/>
-  </personblurb>
-</xsl:template>
-
-<xsl:template match="collabname" priority="200">
-  <xsl:call-template name="emit-message">
-    <xsl:with-param name="message">
-      <xsl:text>Check conversion of collabname </xsl:text>
-      <xsl:text>(orgname role="collabname").</xsl:text>
-    </xsl:with-param>
-  </xsl:call-template>
-  <orgname role="collabname">
-    <xsl:call-template name="copy.attributes"/>
-    <xsl:apply-templates/>
-  </orgname>
-</xsl:template>
-
-<xsl:template match="modespec" priority="200">
-  <xsl:call-template name="emit-message">
-    <xsl:with-param name="message">
-      <xsl:text>Discarding modespec (</xsl:text>
-      <xsl:value-of select="."/>
-      <xsl:text>).</xsl:text>
-    </xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="mediaobjectco" priority="200">
-  <mediaobject>
-    <xsl:copy-of select="@*"/>
-    <xsl:apply-templates/>
-  </mediaobject>
-</xsl:template>
-
-<xsl:template match="remark" priority="200">
-  <!-- get rid of any embedded markup -->
-  <remark>
-    <xsl:copy-of select="@*"/>
-    <xsl:value-of select="."/>
-  </remark>
-</xsl:template>
-
-<xsl:template match="biblioentry/title
-                     |bibliomset/title
-                     |biblioset/title
-                     |bibliomixed/title" priority="400">
-  <citetitle>
-    <xsl:copy-of select="@*"/>
-    <xsl:apply-templates/>
-  </citetitle>
-</xsl:template>
-
-<xsl:template match="biblioentry/titleabbrev|biblioentry/subtitle
-                     |bibliomset/titleabbrev|bibliomset/subtitle
-                     |biblioset/titleabbrev|biblioset/subtitle
-                     |bibliomixed/titleabbrev|bibliomixed/subtitle"
-             priority="400">
-  <xsl:copy>
-    <xsl:copy-of select="@*"/>
-    <xsl:apply-templates/>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="biblioentry/contrib
-                     |bibliomset/contrib
-                     |bibliomixed/contrib" priority="200">
-  <xsl:call-template name="emit-message">
-    <xsl:with-param name="message">
-      <xsl:text>Check conversion of contrib </xsl:text>
-      <xsl:text>(othercontrib="contrib").</xsl:text>
-    </xsl:with-param>
-  </xsl:call-template>
-  <othercredit class="other" otherclass="contrib">
-    <orgname>???</orgname>
-    <contrib>
-      <xsl:call-template name="copy.attributes"/>
-      <xsl:apply-templates/>
-    </contrib>
-  </othercredit>
-</xsl:template>
-
-<xsl:template match="link" priority="200">
-  <xsl:copy>
-    <xsl:call-template name="copy.attributes"/>
-    <xsl:apply-templates/>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="ulink" priority="200">
-  <xsl:choose>
-    <xsl:when test="node()">
-      <xsl:call-template name="emit-message">
-        <xsl:with-param name="message">
-          <xsl:text>Converting ulink to link.</xsl:text>
-        </xsl:with-param>
-      </xsl:call-template>
-
-      <link xlink:href="{@url}">
-       <xsl:call-template name="copy.attributes">
-         <xsl:with-param name="suppress" select="'url'"/>
-       </xsl:call-template>
-       <xsl:apply-templates/>
-      </link>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="emit-message">
-        <xsl:with-param name="message">
-          <xsl:text>Converting ulink to uri.</xsl:text>
-        </xsl:with-param>
-      </xsl:call-template>
-
-      <uri xlink:href="{@url}">
-       <xsl:call-template name="copy.attributes">
-         <xsl:with-param name="suppress" select="'url'"/>
-       </xsl:call-template>
-       <xsl:value-of select="@url"/>
-      </uri>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="olink" priority="200">
-  <xsl:if test="@linkmode">
-    <xsl:call-template name="emit-message">
-      <xsl:with-param name="message">
-        <xsl:text>Discarding linkmode on olink.</xsl:text>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:if>
-
-  <xsl:choose>
-    <xsl:when test="@targetdocent">
-      <xsl:call-template name="emit-message">
-        <xsl:with-param name="message">
-          <xsl:text>Converting olink targetdocent to targetdoc.</xsl:text>
-        </xsl:with-param>
-      </xsl:call-template>
-
-      <olink targetdoc="{unparsed-entity-uri(@targetdocent)}">
-       <xsl:for-each select="@*">
-         <xsl:if test="name(.) != 'targetdocent'
-                       and name(.) != 'linkmode'">
-           <xsl:copy/>
-         </xsl:if>
-       </xsl:for-each>
-       <xsl:apply-templates/>
-      </olink>
-    </xsl:when>
-    <xsl:otherwise>
-      <olink>
-       <xsl:for-each select="@*">
-         <xsl:if test="name(.) != 'linkmode'">
-           <xsl:copy/>
-         </xsl:if>
-       </xsl:for-each>
-       <xsl:apply-templates/>
-      </olink>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="biblioentry/firstname
-                     |biblioentry/surname
-                     |biblioentry/othername
-                     |biblioentry/lineage
-                     |biblioentry/honorific
-                     |bibliomset/firstname
-                     |bibliomset/surname
-                     |bibliomset/othername
-                     |bibliomset/lineage
-                     |bibliomset/honorific" priority="200">
-  <xsl:choose>
-    <xsl:when test="preceding-sibling::firstname
-                    |preceding-sibling::surname
-                    |preceding-sibling::othername
-                    |preceding-sibling::lineage
-                    |preceding-sibling::honorific">
-      <!-- nop -->
-    </xsl:when>
-    <xsl:otherwise>
-      <personname>
-        <xsl:apply-templates select="../firstname
-                                     |../surname
-                                     |../othername
-                                     |../lineage
-                                     |../honorific" mode="copy"/>
-      </personname>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="areaset" priority="200">
-  <xsl:copy>
-    <xsl:call-template name="copy.attributes">
-      <xsl:with-param name="suppress" select="'coords'"/>
-    </xsl:call-template>
-    <xsl:apply-templates/>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="date|pubdate" priority="200">
-  <xsl:variable name="rp1" select="substring-before(normalize-space(.), ' ')"/>
-  <xsl:variable name="rp2"
-               select="substring-before(substring-after(normalize-space(.), ' '),
-                                        ' ')"/>
-  <xsl:variable name="rp3"
-               select="substring-after(substring-after(normalize-space(.), ' '), ' ')"/>
-
-  <xsl:variable name="p1">
-    <xsl:choose>
-      <xsl:when test="contains($rp1, ',')">
-       <xsl:value-of select="substring-before($rp1, ',')"/>
-      </xsl:when>
-      <xsl:otherwise>
-       <xsl:value-of select="$rp1"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="p2">
-    <xsl:choose>
-      <xsl:when test="contains($rp2, ',')">
-       <xsl:value-of select="substring-before($rp2, ',')"/>
-      </xsl:when>
-      <xsl:otherwise>
-       <xsl:value-of select="$rp2"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="p3">
-    <xsl:choose>
-      <xsl:when test="contains($rp3, ',')">
-       <xsl:value-of select="substring-before($rp3, ',')"/>
-      </xsl:when>
-      <xsl:otherwise>
-       <xsl:value-of select="$rp3"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="date">
-    <xsl:choose>
-      <xsl:when test="string($p1+1) != 'NaN' and string($p3+1) != 'NaN'">
-       <xsl:choose>
-         <xsl:when test="$p2 = 'Jan' or $p2 = 'January'">
-           <xsl:number value="$p3" format="0001"/>
-           <xsl:text>-01-</xsl:text>
-           <xsl:number value="$p1" format="01"/>
-         </xsl:when>
-         <xsl:when test="$p2 = 'Feb' or $p2 = 'February'">
-           <xsl:number value="$p3" format="0001"/>
-           <xsl:text>-02-</xsl:text>
-           <xsl:number value="$p1" format="01"/>
-         </xsl:when>
-         <xsl:when test="$p2 = 'Mar' or $p2 = 'March'">
-           <xsl:number value="$p3" format="0001"/>
-           <xsl:text>-03-</xsl:text>
-           <xsl:number value="$p1" format="01"/>
-         </xsl:when>
-         <xsl:when test="$p2 = 'Apr' or $p2 = 'April'">
-           <xsl:number value="$p3" format="0001"/>
-           <xsl:text>-04-</xsl:text>
-           <xsl:number value="$p1" format="01"/>
-         </xsl:when>
-         <xsl:when test="$p2 = 'May'">
-           <xsl:number value="$p3" format="0001"/>
-           <xsl:text>-05-</xsl:text>
-           <xsl:number value="$p1" format="01"/>
-         </xsl:when>
-         <xsl:when test="$p2 = 'Jun' or $p2 = 'June'">
-           <xsl:number value="$p3" format="0001"/>
-           <xsl:text>-06-</xsl:text>
-           <xsl:number value="$p1" format="01"/>
-         </xsl:when>
-         <xsl:when test="$p2 = 'Jul' or $p2 = 'July'">
-           <xsl:number value="$p3" format="0001"/>
-           <xsl:text>-07-</xsl:text>
-           <xsl:number value="$p1" format="01"/>
-         </xsl:when>
-         <xsl:when test="$p2 = 'Aug' or $p2 = 'August'">
-           <xsl:number value="$p3" format="0001"/>
-           <xsl:text>-08-</xsl:text>
-           <xsl:number value="$p1" format="01"/>
-         </xsl:when>
-         <xsl:when test="$p2 = 'Sep' or $p2 = 'September'">
-           <xsl:number value="$p3" format="0001"/>
-           <xsl:text>-09-</xsl:text>
-           <xsl:number value="$p1" format="01"/>
-         </xsl:when>
-         <xsl:when test="$p2 = 'Oct' or $p2 = 'October'">
-           <xsl:number value="$p3" format="0001"/>
-           <xsl:text>-10-</xsl:text>
-           <xsl:number value="$p1" format="01"/>
-         </xsl:when>
-         <xsl:when test="$p2 = 'Nov' or $p2 = 'November'">
-           <xsl:number value="$p3" format="0001"/>
-           <xsl:text>-11-</xsl:text>
-           <xsl:number value="$p1" format="01"/>
-         </xsl:when>
-         <xsl:when test="$p2 = 'Dec' or $p2 = 'December'">
-           <xsl:number value="$p3" format="0001"/>
-           <xsl:text>-12-</xsl:text>
-           <xsl:number value="$p1" format="01"/>
-         </xsl:when>
-         <xsl:otherwise>
-           <xsl:apply-templates/>
-         </xsl:otherwise>
-       </xsl:choose>
-      </xsl:when>
-      <xsl:when test="string($p2+1) != 'NaN' and string($p3+1) != 'NaN'">
-       <xsl:choose>
-         <xsl:when test="$p1 = 'Jan' or $p1 = 'January'">
-           <xsl:number value="$p3" format="0001"/>
-           <xsl:text>-01-</xsl:text>
-           <xsl:number value="$p2" format="01"/>
-         </xsl:when>
-         <xsl:when test="$p1 = 'Feb' or $p1 = 'February'">
-           <xsl:number value="$p3" format="0001"/>
-           <xsl:text>-02-</xsl:text>
-           <xsl:number value="$p2" format="01"/>
-         </xsl:when>
-         <xsl:when test="$p1 = 'Mar' or $p1 = 'March'">
-           <xsl:number value="$p3" format="0001"/>
-           <xsl:text>-03-</xsl:text>
-           <xsl:number value="$p2" format="01"/>
-         </xsl:when>
-         <xsl:when test="$p1 = 'Apr' or $p1 = 'April'">
-           <xsl:number value="$p3" format="0001"/>
-           <xsl:text>-04-</xsl:text>
-           <xsl:number value="$p2" format="01"/>
-         </xsl:when>
-         <xsl:when test="$p1 = 'May'">
-           <xsl:number value="$p3" format="0001"/>
-           <xsl:text>-05-</xsl:text>
-           <xsl:number value="$p2" format="01"/>
-         </xsl:when>
-         <xsl:when test="$p1 = 'Jun' or $p1 = 'June'">
-           <xsl:number value="$p3" format="0001"/>
-           <xsl:text>-06-</xsl:text>
-           <xsl:number value="$p2" format="01"/>
-         </xsl:when>
-         <xsl:when test="$p1 = 'Jul' or $p1 = 'July'">
-           <xsl:number value="$p3" format="0001"/>
-           <xsl:text>-07-</xsl:text>
-           <xsl:number value="$p2" format="01"/>
-         </xsl:when>
-         <xsl:when test="$p1 = 'Aug' or $p1 = 'August'">
-           <xsl:number value="$p3" format="0001"/>
-           <xsl:text>-08-</xsl:text>
-           <xsl:number value="$p2" format="01"/>
-         </xsl:when>
-         <xsl:when test="$p1 = 'Sep' or $p1 = 'September'">
-           <xsl:number value="$p3" format="0001"/>
-           <xsl:text>-09-</xsl:text>
-           <xsl:number value="$p2" format="01"/>
-         </xsl:when>
-         <xsl:when test="$p1 = 'Oct' or $p1 = 'October'">
-           <xsl:number value="$p3" format="0001"/>
-           <xsl:text>-10-</xsl:text>
-           <xsl:number value="$p2" format="01"/>
-         </xsl:when>
-         <xsl:when test="$p1 = 'Nov' or $p1 = 'November'">
-           <xsl:number value="$p3" format="0001"/>
-           <xsl:text>-11-</xsl:text>
-           <xsl:number value="$p2" format="01"/>
-         </xsl:when>
-         <xsl:when test="$p1 = 'Dec' or $p1 = 'December'">
-           <xsl:number value="$p3" format="0001"/>
-           <xsl:text>-12-</xsl:text>
-           <xsl:number value="$p2" format="01"/>
-         </xsl:when>
-         <xsl:otherwise>
-           <xsl:apply-templates/>
-         </xsl:otherwise>
-       </xsl:choose>
-      </xsl:when>
-      <xsl:otherwise>
-       <xsl:apply-templates/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:choose>
-    <xsl:when test="normalize-space($date) != normalize-space(.)">
-      <xsl:call-template name="emit-message">
-        <xsl:with-param name="message">
-          <xsl:text>Converted </xsl:text>
-          <xsl:value-of select="normalize-space(.)"/>
-          <xsl:text> into </xsl:text>
-          <xsl:value-of select="$date"/>
-          <xsl:text> for </xsl:text>
-          <xsl:value-of select="name(.)"/>
-        </xsl:with-param>
-      </xsl:call-template>
-
-      <xsl:copy>
-       <xsl:copy-of select="@*"/>
-       <xsl:value-of select="$date"/>
-      </xsl:copy>
-    </xsl:when>
-
-    <xsl:when test="$defaultDate != ''">
-      <xsl:call-template name="emit-message">
-        <xsl:with-param name="message">
-          <xsl:text>Unparseable date: </xsl:text>
-          <xsl:value-of select="normalize-space(.)"/>
-          <xsl:text> in </xsl:text>
-          <xsl:value-of select="name(.)"/>
-          <xsl:text> (Using default: </xsl:text>
-          <xsl:value-of select="$defaultDate"/>
-          <xsl:text>)</xsl:text>
-        </xsl:with-param>
-      </xsl:call-template>
-
-      <xsl:copy>
-       <xsl:copy-of select="@*"/>
-       <xsl:copy-of select="$defaultDate"/>
-       <xsl:comment>
-         <xsl:value-of select="."/>
-       </xsl:comment>
-      </xsl:copy>
-    </xsl:when>
-
-    <xsl:otherwise>
-      <!-- these don't really matter anymore
-           <xsl:call-template name="emit-message">
-           <xsl:with-param name="message">
-           <xsl:text>Unparseable date: </xsl:text>
-           <xsl:value-of select="normalize-space(.)"/>
-           <xsl:text> in </xsl:text>
-           <xsl:value-of select="name(.)"/>
-           </xsl:with-param>
-           </xsl:call-template>
-      -->
-      <xsl:copy>
-       <xsl:copy-of select="@*"/>
-       <xsl:apply-templates/>
-      </xsl:copy>
-    </xsl:otherwise>
-  </xsl:choose>      
-</xsl:template>
-
-<xsl:template match="title|subtitle|titleabbrev" priority="300">
-  <!-- nop -->
-</xsl:template>
-
-<xsl:template match="abstract" priority="300">
-  <xsl:if test="not(contains(name(parent::*),'info'))">
-    <xsl:call-template name="emit-message">
-      <xsl:with-param name="message">
-       <xsl:text>Check abstract; moved into info correctly?</xsl:text>
-      </xsl:with-param>
-    </xsl:call-template>
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="indexterm">
-  <!-- don't copy the defaulted significance='normal' attribute -->
-  <indexterm>
-    <xsl:call-template name="copy.attributes">
-      <xsl:with-param name="suppress">
-       <xsl:if test="@significance = 'normal'">significance</xsl:if>
-      </xsl:with-param>
-    </xsl:call-template>
-    <xsl:apply-templates/>
-  </indexterm>
-</xsl:template>
-
-<xsl:template match="ackno" priority="200">
-  <acknowledgements>
-    <xsl:copy-of select="@*"/>
-    <para>
-      <xsl:apply-templates/>
-    </para>
-  </acknowledgements>
-</xsl:template>
-
-<xsl:template match="lot|lotentry|tocback|tocchap|tocfront|toclevel1|
-                    toclevel2|toclevel3|toclevel4|toclevel5|tocpart" priority="200">
-  <tocdiv>
-    <xsl:copy-of select="@*"/>
-    <xsl:apply-templates/>
-  </tocdiv>
-</xsl:template>
-
-<xsl:template match="action" priority="200">
-  <phrase remap="action">
-    <xsl:call-template name="copy.attributes"/>
-    <xsl:apply-templates/>
-  </phrase>
-</xsl:template>
-
-<xsl:template match="beginpage" priority="200">
-  <xsl:comment> beginpage pagenum=<xsl:value-of select="@pagenum"/> </xsl:comment>
-  <xsl:call-template name="emit-message">
-    <xsl:with-param name="message">
-      <xsl:text>Replacing beginpage with comment</xsl:text>
-    </xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="structname|structfield" priority="200">
-  <varname remap="{local-name(.)}">
-    <xsl:call-template name="copy.attributes"/>
-    <xsl:apply-templates/>
-  </varname>
-</xsl:template>
-
-<!-- ====================================================================== -->
-
-<!-- 6 Feb 2008, ndw changed mode=copy so that it only copies the first level,
-     then it switches back to "normal" mode so that other rewriting templates
-     catch embedded fixes -->
-
-<!--
-<xsl:template match="ulink" priority="200" mode="copy">
-  <xsl:choose>
-    <xsl:when test="node()">
-      <xsl:call-template name="emit-message">
-        <xsl:with-param name="message">
-          <xsl:text>Converting ulink to phrase.</xsl:text>
-        </xsl:with-param>
-      </xsl:call-template>
-
-      <phrase xlink:href="{@url}">
-       <xsl:call-template name="copy.attributes">
-         <xsl:with-param name="suppress" select="'url'"/>
-       </xsl:call-template>
-       <xsl:apply-templates/>
-      </phrase>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:call-template name="emit-message">
-        <xsl:with-param name="message">
-          <xsl:text>Converting ulink to uri.</xsl:text>
-        </xsl:with-param>
-      </xsl:call-template>
-
-      <uri xlink:href="{@url}">
-       <xsl:call-template name="copy.attributes">
-         <xsl:with-param name="suppress" select="'url'"/>
-       </xsl:call-template>
-       <xsl:value-of select="@url"/>
-      </uri>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="sgmltag" priority="200" mode="copy">
-  <tag>
-    <xsl:call-template name="copy.attributes"/>
-    <xsl:apply-templates/>
-  </tag>
-</xsl:template>
--->
-
-<xsl:template match="*" mode="copy">
-  <xsl:copy>
-    <xsl:call-template name="copy.attributes"/>
-    <xsl:apply-templates/>
-  </xsl:copy>
-</xsl:template>
-
-<!--
-<xsl:template match="comment()|processing-instruction()|text()" mode="copy">
-  <xsl:copy/>
-</xsl:template>
--->
-
-<!-- ====================================================================== -->
-
-<xsl:template match="*">
-  <xsl:copy>
-    <xsl:call-template name="copy.attributes"/>
-    <xsl:apply-templates/>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="comment()|processing-instruction()|text()">
-  <xsl:copy/>
-</xsl:template>
-
-<!-- ====================================================================== -->
-
-<xsl:template name="copy.attributes">
-  <xsl:param name="src" select="."/>
-  <xsl:param name="suppress" select="''"/>
-
-  <xsl:for-each select="$src/@*">
-    <xsl:choose>
-      <xsl:when test="local-name(.) = 'moreinfo'">
-        <xsl:call-template name="emit-message">
-          <xsl:with-param name="message">
-            <xsl:text>Discarding moreinfo on </xsl:text>
-            <xsl:value-of select="local-name($src)"/>
-          </xsl:with-param>
-        </xsl:call-template>
-      </xsl:when>
-      <xsl:when test="local-name(.) = 'lang'">
-        <xsl:attribute name="xml:lang">
-          <xsl:value-of select="."/>
-        </xsl:attribute>
-      </xsl:when>
-      <xsl:when test="local-name(.) = 'id'">
-        <xsl:attribute name="xml:id">
-          <xsl:value-of select="."/>
-        </xsl:attribute>
-      </xsl:when>
-      <xsl:when test="$suppress = local-name(.)"/>
-      <xsl:when test="local-name(.) = 'float'">
-       <xsl:choose>
-         <xsl:when test=". = '1'">
-            <xsl:call-template name="emit-message">
-              <xsl:with-param name="message">
-                <xsl:text>Discarding float on </xsl:text>
-                <xsl:value-of select="local-name($src)"/>
-              </xsl:with-param>
-            </xsl:call-template>
-            <xsl:if test="not($src/@floatstyle)">
-             <xsl:call-template name="emit-message">
-                <xsl:with-param name="message">
-                  <xsl:text>Adding floatstyle='normal' on </xsl:text>
-                  <xsl:value-of select="local-name($src)"/>
-                </xsl:with-param>
-              </xsl:call-template>
-              <xsl:attribute name="floatstyle">
-                <xsl:text>normal</xsl:text>
-             </xsl:attribute>
-           </xsl:if>
-         </xsl:when>
-         <xsl:when test=". = '0'">
-           <xsl:call-template name="emit-message">
-              <xsl:with-param name="message">
-                <xsl:text>Discarding float on </xsl:text>
-                <xsl:value-of select="local-name($src)"/>
-              </xsl:with-param>
-            </xsl:call-template>
-          </xsl:when>
-         <xsl:otherwise>
-           <xsl:call-template name="emit-message">
-          <xsl:with-param name="message">
-            <xsl:text>Discarding float on </xsl:text>
-            <xsl:value-of select="local-name($src)"/>
-          </xsl:with-param>
-            </xsl:call-template>
-            <xsl:if test="not($src/@floatstyle)">
-              <xsl:call-template name="emit-message">
-                <xsl:with-param name="message">
-                  <xsl:text>Adding floatstyle='</xsl:text>
-                  <xsl:value-of select="."/>
-                  <xsl:text>' on </xsl:text>
-                  <xsl:value-of select="local-name($src)"/>
-                </xsl:with-param>
-              </xsl:call-template>
-              <xsl:attribute name="floatstyle">
-               <xsl:value-of select="."/>
-             </xsl:attribute>
-           </xsl:if>
-         </xsl:otherwise>
-       </xsl:choose>
-      </xsl:when>
-      <xsl:when test="local-name(.) = 'entityref'">
-       <xsl:attribute name="fileref">
-         <xsl:value-of select="unparsed-entity-uri(@entityref)"/>
-       </xsl:attribute>
-      </xsl:when>
-
-      <xsl:when test="local-name($src) = 'simplemsgentry'
-                     and local-name(.) = 'audience'">
-        <xsl:attribute name="msgaud">
-          <xsl:value-of select="."/>
-        </xsl:attribute>
-      </xsl:when>
-      <xsl:when test="local-name($src) = 'simplemsgentry'
-                     and local-name(.) = 'origin'">
-        <xsl:attribute name="msgorig">
-          <xsl:value-of select="."/>
-        </xsl:attribute>
-      </xsl:when>
-      <xsl:when test="local-name($src) = 'simplemsgentry'
-                     and local-name(.) = 'level'">
-        <xsl:attribute name="msglevel">
-          <xsl:value-of select="."/>
-        </xsl:attribute>
-      </xsl:when>
-
-      <!-- * for upgrading XSL litprog params documentation -->
-      <xsl:when test="local-name($src) = 'refmiscinfo'
-                      and local-name(.) = 'role'
-                      and . = 'type'
-                      ">
-        <xsl:call-template name="emit-message">
-          <xsl:with-param name="message">
-            <xsl:text>Converting refmiscinfo@role=type to </xsl:text>
-            <xsl:text>@class=other,otherclass=type</xsl:text>
-          </xsl:with-param>
-        </xsl:call-template>
-        <xsl:attribute name="class">other</xsl:attribute>
-        <xsl:attribute name="otherclass">type</xsl:attribute>
-      </xsl:when>
-
-      <xsl:otherwise>
-        <xsl:copy/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:for-each>
-</xsl:template>
-
-<!-- ====================================================================== -->
-
-<xsl:template match="*" mode="addNS">
-  <xsl:choose>
-    <xsl:when test="namespace-uri(.) = ''">
-      <xsl:element name="{local-name(.)}"
-                  namespace="http://docbook.org/ns/docbook">
-       <xsl:if test="not(parent::*)">
-         <xsl:attribute name="version">5.0</xsl:attribute>
-       </xsl:if>
-       <xsl:copy-of select="@*"/>
-       <xsl:apply-templates mode="addNS"/>
-      </xsl:element>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:copy>
-       <xsl:if test="not(parent::*)">
-         <xsl:attribute name="version">5.0</xsl:attribute>
-       </xsl:if>
-       <xsl:copy-of select="@*"/>
-       <xsl:apply-templates mode="addNS"/>
-      </xsl:copy>
-    </xsl:otherwise>
-  </xsl:choose>
-</xsl:template>
-
-<xsl:template match="comment()|processing-instruction()|text()" mode="addNS">
-  <xsl:copy/>
-</xsl:template>
-
-<!-- ====================================================================== -->
-
-<xsl:template name="emit-message">
-  <xsl:param name="message"/>
-  <xsl:message>
-    <xsl:value-of select="$message"/>
-    <xsl:text> (</xsl:text>
-    <xsl:value-of select="$rootid"/>
-    <xsl:text>)</xsl:text>
-  </xsl:message>
-</xsl:template>
-
-</xsl:stylesheet>