102f4aeb0Sopenharmony_ci<?xml version="1.0"?>
202f4aeb0Sopenharmony_ci<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
302f4aeb0Sopenharmony_ci                xmlns:exsl="http://exslt.org/common"
402f4aeb0Sopenharmony_ci		xmlns:db = "http://docbook.org/ns/docbook"
502f4aeb0Sopenharmony_ci		xmlns:xlink="http://www.w3.org/1999/xlink"
602f4aeb0Sopenharmony_ci                exclude-result-prefixes="exsl db"
702f4aeb0Sopenharmony_ci                version="1.0">
802f4aeb0Sopenharmony_ci
902f4aeb0Sopenharmony_ci<!--
1002f4aeb0Sopenharmony_ci# ======================================================================
1102f4aeb0Sopenharmony_ci# This file is part of DocBook V5.0CR5
1202f4aeb0Sopenharmony_ci#
1302f4aeb0Sopenharmony_ci# Copyright 2005 Norman Walsh, Sun Microsystems, Inc., and the
1402f4aeb0Sopenharmony_ci# Organization for the Advancement of Structured Information
1502f4aeb0Sopenharmony_ci# Standards (OASIS).
1602f4aeb0Sopenharmony_ci#
1702f4aeb0Sopenharmony_ci# Release: $Id: db4-upgrade.xsl 9828 2013-11-03 21:45:22Z tom_schr $
1802f4aeb0Sopenharmony_ci#
1902f4aeb0Sopenharmony_ci# Permission to use, copy, modify and distribute this stylesheet
2002f4aeb0Sopenharmony_ci# and its accompanying documentation for any purpose and without fee
2102f4aeb0Sopenharmony_ci# is hereby granted in perpetuity, provided that the above copyright
2202f4aeb0Sopenharmony_ci# notice and this paragraph appear in all copies. The copyright
2302f4aeb0Sopenharmony_ci# holders make no representation about the suitability of the schema
2402f4aeb0Sopenharmony_ci# for any purpose. It is provided "as is" without expressed or implied
2502f4aeb0Sopenharmony_ci# warranty.
2602f4aeb0Sopenharmony_ci#
2702f4aeb0Sopenharmony_ci# Please direct all questions, bug reports, or suggestions for changes
2802f4aeb0Sopenharmony_ci# to the docbook@lists.oasis-open.org mailing list. For more
2902f4aeb0Sopenharmony_ci# information, see http://www.oasis-open.org/docbook/.
3002f4aeb0Sopenharmony_ci#
3102f4aeb0Sopenharmony_ci# ======================================================================
3202f4aeb0Sopenharmony_ci-->
3302f4aeb0Sopenharmony_ci
3402f4aeb0Sopenharmony_ci<xsl:param name="db5.version" select="'5.0'"/> <!-- DocBook version for the output 5.0 and 5.1 only current values -->
3502f4aeb0Sopenharmony_ci<xsl:param name="db5.version.string" select="$db5.version"/> <!-- Set this if you want a local version number -->
3602f4aeb0Sopenharmony_ci<xsl:param name="keep.numbered.sections" select="'0'"/> <!-- Set to 1 to keep numbered sections, default changes to recursive -->
3702f4aeb0Sopenharmony_ci
3802f4aeb0Sopenharmony_ci<xsl:variable name="version" select="'1.1'"/> <!-- version of this transform -->
3902f4aeb0Sopenharmony_ci
4002f4aeb0Sopenharmony_ci<xsl:output method="xml" encoding="utf-8" indent="no" omit-xml-declaration="yes"/>
4102f4aeb0Sopenharmony_ci
4202f4aeb0Sopenharmony_ci<xsl:preserve-space elements="*"/>
4302f4aeb0Sopenharmony_ci<xsl:param name="rootid">
4402f4aeb0Sopenharmony_ci  <xsl:choose>
4502f4aeb0Sopenharmony_ci  <xsl:when test="/*/@id">
4602f4aeb0Sopenharmony_ci    <xsl:value-of select="/*/@id"/>
4702f4aeb0Sopenharmony_ci  </xsl:when>
4802f4aeb0Sopenharmony_ci  <xsl:otherwise>
4902f4aeb0Sopenharmony_ci    <xsl:text>UNKNOWN</xsl:text>
5002f4aeb0Sopenharmony_ci  </xsl:otherwise>
5102f4aeb0Sopenharmony_ci  </xsl:choose>
5202f4aeb0Sopenharmony_ci</xsl:param>
5302f4aeb0Sopenharmony_ci
5402f4aeb0Sopenharmony_ci<xsl:param name="defaultDate" select="''"/>
5502f4aeb0Sopenharmony_ci
5602f4aeb0Sopenharmony_ci<xsl:template match="/">
5702f4aeb0Sopenharmony_ci  <xsl:variable name="converted">
5802f4aeb0Sopenharmony_ci    <xsl:apply-templates/>
5902f4aeb0Sopenharmony_ci  </xsl:variable>
6002f4aeb0Sopenharmony_ci  <xsl:comment>
6102f4aeb0Sopenharmony_ci    <xsl:text> Converted by db4-upgrade version </xsl:text>
6202f4aeb0Sopenharmony_ci    <xsl:value-of select="$version"/>
6302f4aeb0Sopenharmony_ci    <xsl:text> </xsl:text>
6402f4aeb0Sopenharmony_ci  </xsl:comment>
6502f4aeb0Sopenharmony_ci  <xsl:text>&#10;</xsl:text>
6602f4aeb0Sopenharmony_ci  <xsl:apply-templates select="exsl:node-set($converted)/*" mode="addNS"/>
6702f4aeb0Sopenharmony_ci</xsl:template>
6802f4aeb0Sopenharmony_ci
6902f4aeb0Sopenharmony_ci<!-- Convert numbered sections into recursive sections, unless
7002f4aeb0Sopenharmony_ci     $keep.numbered.sections is set to '1'  -->
7102f4aeb0Sopenharmony_ci<xsl:template match="sect1|sect2|sect3|sect4|sect5|section"
7202f4aeb0Sopenharmony_ci              priority="200">
7302f4aeb0Sopenharmony_ci  <xsl:choose>
7402f4aeb0Sopenharmony_ci    <xsl:when test="$keep.numbered.sections = '1'">
7502f4aeb0Sopenharmony_ci      <xsl:element name="{local-name(.)}">
7602f4aeb0Sopenharmony_ci        <xsl:call-template name="copy.attributes"/>
7702f4aeb0Sopenharmony_ci        <xsl:apply-templates/>
7802f4aeb0Sopenharmony_ci      </xsl:element>
7902f4aeb0Sopenharmony_ci    </xsl:when>
8002f4aeb0Sopenharmony_ci    <xsl:otherwise>
8102f4aeb0Sopenharmony_ci      <section>
8202f4aeb0Sopenharmony_ci        <xsl:call-template name="copy.attributes"/>
8302f4aeb0Sopenharmony_ci        <xsl:apply-templates/>
8402f4aeb0Sopenharmony_ci      </section>
8502f4aeb0Sopenharmony_ci    </xsl:otherwise>
8602f4aeb0Sopenharmony_ci  </xsl:choose>
8702f4aeb0Sopenharmony_ci</xsl:template>
8802f4aeb0Sopenharmony_ci<!-- This is the template for the elements (book, article, set) that allow
8902f4aeb0Sopenharmony_ci     title, subtitle, and titleabbrev before (or in) info, but not after.
9002f4aeb0Sopenharmony_ci     If title, subtitle, or titleabbrev exist both inside and outside the
9102f4aeb0Sopenharmony_ci     info block, everything is moved inside. Otherwise things are left as is. -->
9202f4aeb0Sopenharmony_ci<xsl:template match="bookinfo|articleinfo|artheader|setinfo" priority="200">
9302f4aeb0Sopenharmony_ci  <xsl:variable name="title.inside.info">
9402f4aeb0Sopenharmony_ci    <xsl:choose>
9502f4aeb0Sopenharmony_ci      <xsl:when test="./title or ./subtitle or ./titleabbrev">
9602f4aeb0Sopenharmony_ci        <xsl:text>1</xsl:text>
9702f4aeb0Sopenharmony_ci      </xsl:when>
9802f4aeb0Sopenharmony_ci      <xsl:otherwise>
9902f4aeb0Sopenharmony_ci        <xsl:text>0</xsl:text>
10002f4aeb0Sopenharmony_ci      </xsl:otherwise>
10102f4aeb0Sopenharmony_ci    </xsl:choose>
10202f4aeb0Sopenharmony_ci  </xsl:variable>
10302f4aeb0Sopenharmony_ci  <xsl:variable name="title.outside.info">
10402f4aeb0Sopenharmony_ci    <xsl:choose>
10502f4aeb0Sopenharmony_ci      <xsl:when test="preceding-sibling::title or preceding-sibling::subtitle or preceding-sibling::titleabbrev">
10602f4aeb0Sopenharmony_ci        <xsl:text>1</xsl:text>
10702f4aeb0Sopenharmony_ci      </xsl:when>
10802f4aeb0Sopenharmony_ci      <xsl:otherwise>
10902f4aeb0Sopenharmony_ci        <xsl:text>0</xsl:text>
11002f4aeb0Sopenharmony_ci      </xsl:otherwise>
11102f4aeb0Sopenharmony_ci    </xsl:choose>
11202f4aeb0Sopenharmony_ci  </xsl:variable>
11302f4aeb0Sopenharmony_ci  <info>
11402f4aeb0Sopenharmony_ci    <xsl:if test="$title.inside.info = '1' and $title.outside.info = '1'">
11502f4aeb0Sopenharmony_ci      <xsl:call-template name="emit-message">
11602f4aeb0Sopenharmony_ci        <xsl:with-param name="message">
11702f4aeb0Sopenharmony_ci          <xsl:text>Found title|subtitle|titleabbrev both inside and outside </xsl:text><xsl:value-of select="local-name(.)"/>
11802f4aeb0Sopenharmony_ci          <xsl:text>. Moving all inside info element.</xsl:text>
11902f4aeb0Sopenharmony_ci        </xsl:with-param>
12002f4aeb0Sopenharmony_ci      </xsl:call-template>
12102f4aeb0Sopenharmony_ci      <xsl:if test="preceding-sibling::title and not(./title)">
12202f4aeb0Sopenharmony_ci        <xsl:apply-templates select="preceding-sibling::title" mode="copy"/>
12302f4aeb0Sopenharmony_ci      </xsl:if>
12402f4aeb0Sopenharmony_ci      <xsl:if test="preceding-sibling::subtitle and not(./subtitle)">
12502f4aeb0Sopenharmony_ci        <xsl:apply-templates select="preceding-sibling::subtitle" mode="copy"/>
12602f4aeb0Sopenharmony_ci      </xsl:if>
12702f4aeb0Sopenharmony_ci      <xsl:if test="preceding-sibling::titleabbrev and not(./titleabbrev)">
12802f4aeb0Sopenharmony_ci        <xsl:apply-templates select="preceding-sibling::titleabbrev" mode="copy"/>
12902f4aeb0Sopenharmony_ci      </xsl:if>
13002f4aeb0Sopenharmony_ci    </xsl:if>
13102f4aeb0Sopenharmony_ci    <xsl:apply-templates/>
13202f4aeb0Sopenharmony_ci  </info>
13302f4aeb0Sopenharmony_ci</xsl:template>
13402f4aeb0Sopenharmony_ci<!-- This is the template for the elements (all except book, article, set) that
13502f4aeb0Sopenharmony_ci     allow title, subtitle, and titleabbrev after (or in) info, but not before.
13602f4aeb0Sopenharmony_ci     If an info element exists, and there is a title, subtitle, or titleabbrev
13702f4aeb0Sopenharmony_ci     after the info element, then the element is moved inside the info block.
13802f4aeb0Sopenharmony_ci     However, if a duplicate element exists inside the info element, that element
13902f4aeb0Sopenharmony_ci     is kept, and the one outside is dropped.-->
14002f4aeb0Sopenharmony_ci<xsl:template match="appendixinfo|blockinfo|bibliographyinfo|glossaryinfo
14102f4aeb0Sopenharmony_ci                     |indexinfo|setindexinfo|chapterinfo
14202f4aeb0Sopenharmony_ci                     |sect1info|sect2info|sect3info|sect4info|sect5info|sectioninfo
14302f4aeb0Sopenharmony_ci                     |refsect1info|refsect2info|refsect3info|refsectioninfo
14402f4aeb0Sopenharmony_ci                     |referenceinfo|partinfo
14502f4aeb0Sopenharmony_ci                     |objectinfo|prefaceinfo|refsynopsisdivinfo
14602f4aeb0Sopenharmony_ci                     |screeninfo|sidebarinfo"
14702f4aeb0Sopenharmony_ci              priority="200">
14802f4aeb0Sopenharmony_ci  <xsl:variable name="title.inside.info">
14902f4aeb0Sopenharmony_ci    <xsl:choose>
15002f4aeb0Sopenharmony_ci      <xsl:when test="./title or ./subtitle or ./titleabbrev">
15102f4aeb0Sopenharmony_ci        <xsl:text>1</xsl:text>
15202f4aeb0Sopenharmony_ci      </xsl:when>
15302f4aeb0Sopenharmony_ci      <xsl:otherwise>
15402f4aeb0Sopenharmony_ci        <xsl:text>0</xsl:text>
15502f4aeb0Sopenharmony_ci      </xsl:otherwise>
15602f4aeb0Sopenharmony_ci    </xsl:choose>
15702f4aeb0Sopenharmony_ci  </xsl:variable>
15802f4aeb0Sopenharmony_ci
15902f4aeb0Sopenharmony_ci    <!-- place title/subtitle/titleabbrev inside if any of them are already inside.
16002f4aeb0Sopenharmony_ci         otherwise place them before. -->
16102f4aeb0Sopenharmony_ci    <xsl:choose>
16202f4aeb0Sopenharmony_ci      <xsl:when test="$title.inside.info = '0'">
16302f4aeb0Sopenharmony_ci        <xsl:call-template name="emit-message">
16402f4aeb0Sopenharmony_ci          <xsl:with-param name="message">
16502f4aeb0Sopenharmony_ci            <xsl:text>Keeping one or more title elements before </xsl:text><xsl:value-of select="local-name(.)"/>
16602f4aeb0Sopenharmony_ci          </xsl:with-param>
16702f4aeb0Sopenharmony_ci        </xsl:call-template>
16802f4aeb0Sopenharmony_ci
16902f4aeb0Sopenharmony_ci        <xsl:if test="following-sibling::title and not(./title)">
17002f4aeb0Sopenharmony_ci          <xsl:apply-templates select="following-sibling::title" mode="copy"/>
17102f4aeb0Sopenharmony_ci         </xsl:if>
17202f4aeb0Sopenharmony_ci        <xsl:if test="following-sibling::subtitle and not(./subtitle)">
17302f4aeb0Sopenharmony_ci          <xsl:apply-templates select="following-sibling::subtitle" mode="copy"/>
17402f4aeb0Sopenharmony_ci        </xsl:if>
17502f4aeb0Sopenharmony_ci        <xsl:if test="following-sibling::titleabbrev and not(./titleabbrev)">
17602f4aeb0Sopenharmony_ci          <xsl:apply-templates select="following-sibling::titleabbrev" mode="copy"/>
17702f4aeb0Sopenharmony_ci        </xsl:if>
17802f4aeb0Sopenharmony_ci         <info>
17902f4aeb0Sopenharmony_ci          <xsl:call-template name="copy.attributes"/>
18002f4aeb0Sopenharmony_ci          <xsl:apply-templates/>
18102f4aeb0Sopenharmony_ci        </info>
18202f4aeb0Sopenharmony_ci      </xsl:when>
18302f4aeb0Sopenharmony_ci      <xsl:otherwise>
18402f4aeb0Sopenharmony_ci        <xsl:call-template name="emit-message">
18502f4aeb0Sopenharmony_ci          <xsl:with-param name="message">
18602f4aeb0Sopenharmony_ci            <xsl:text>Moving one or more title elements into </xsl:text><xsl:value-of select="local-name(.)"/>
18702f4aeb0Sopenharmony_ci          </xsl:with-param>
18802f4aeb0Sopenharmony_ci        </xsl:call-template>
18902f4aeb0Sopenharmony_ci        <info>
19002f4aeb0Sopenharmony_ci          <xsl:call-template name="copy.attributes"/>
19102f4aeb0Sopenharmony_ci          <xsl:if test="following-sibling::title and not(./title)">
19202f4aeb0Sopenharmony_ci            <xsl:apply-templates select="following-sibling::title" mode="copy"/>
19302f4aeb0Sopenharmony_ci          </xsl:if>
19402f4aeb0Sopenharmony_ci          <xsl:if test="following-sibling::subtitle and not(./subtitle)">
19502f4aeb0Sopenharmony_ci            <xsl:apply-templates select="following-sibling::subtitle" mode="copy"/>
19602f4aeb0Sopenharmony_ci          </xsl:if>
19702f4aeb0Sopenharmony_ci          <xsl:if test="following-sibling::titleabbrev and not(./titleabbrev)">
19802f4aeb0Sopenharmony_ci            <xsl:apply-templates select="following-sibling::titleabbrev" mode="copy"/>
19902f4aeb0Sopenharmony_ci          </xsl:if>
20002f4aeb0Sopenharmony_ci          <xsl:apply-templates/>
20102f4aeb0Sopenharmony_ci        </info>
20202f4aeb0Sopenharmony_ci      </xsl:otherwise>
20302f4aeb0Sopenharmony_ci    </xsl:choose>
20402f4aeb0Sopenharmony_ci</xsl:template>
20502f4aeb0Sopenharmony_ci
20602f4aeb0Sopenharmony_ci<xsl:template match="refentryinfo"
20702f4aeb0Sopenharmony_ci              priority="200">
20802f4aeb0Sopenharmony_ci  <info>
20902f4aeb0Sopenharmony_ci    <xsl:call-template name="copy.attributes"/>
21002f4aeb0Sopenharmony_ci
21102f4aeb0Sopenharmony_ci    <xsl:if test="title">
21202f4aeb0Sopenharmony_ci      <xsl:call-template name="emit-message">
21302f4aeb0Sopenharmony_ci        <xsl:with-param name="message">
21402f4aeb0Sopenharmony_ci          <xsl:text>Discarding title from refentryinfo!</xsl:text>
21502f4aeb0Sopenharmony_ci        </xsl:with-param>
21602f4aeb0Sopenharmony_ci      </xsl:call-template>
21702f4aeb0Sopenharmony_ci    </xsl:if>
21802f4aeb0Sopenharmony_ci
21902f4aeb0Sopenharmony_ci    <xsl:if test="titleabbrev">
22002f4aeb0Sopenharmony_ci      <xsl:call-template name="emit-message">
22102f4aeb0Sopenharmony_ci        <xsl:with-param name="message">
22202f4aeb0Sopenharmony_ci          <xsl:text>Discarding titleabbrev from refentryinfo!</xsl:text>
22302f4aeb0Sopenharmony_ci        </xsl:with-param>
22402f4aeb0Sopenharmony_ci      </xsl:call-template>
22502f4aeb0Sopenharmony_ci    </xsl:if>
22602f4aeb0Sopenharmony_ci
22702f4aeb0Sopenharmony_ci    <xsl:if test="subtitle">
22802f4aeb0Sopenharmony_ci      <xsl:call-template name="emit-message">
22902f4aeb0Sopenharmony_ci        <xsl:with-param name="message">
23002f4aeb0Sopenharmony_ci          <xsl:text>Discarding subtitle from refentryinfo!</xsl:text>
23102f4aeb0Sopenharmony_ci        </xsl:with-param>
23202f4aeb0Sopenharmony_ci      </xsl:call-template>
23302f4aeb0Sopenharmony_ci    </xsl:if>
23402f4aeb0Sopenharmony_ci
23502f4aeb0Sopenharmony_ci    <xsl:apply-templates/>
23602f4aeb0Sopenharmony_ci  </info>
23702f4aeb0Sopenharmony_ci</xsl:template>
23802f4aeb0Sopenharmony_ci
23902f4aeb0Sopenharmony_ci<xsl:template match="refmiscinfo"
24002f4aeb0Sopenharmony_ci              priority="200">
24102f4aeb0Sopenharmony_ci  <refmiscinfo>
24202f4aeb0Sopenharmony_ci    <xsl:call-template name="copy.attributes">
24302f4aeb0Sopenharmony_ci      <xsl:with-param name="suppress" select="'class'"/>
24402f4aeb0Sopenharmony_ci    </xsl:call-template>
24502f4aeb0Sopenharmony_ci    <xsl:if test="@class">
24602f4aeb0Sopenharmony_ci      <xsl:choose>
24702f4aeb0Sopenharmony_ci	<xsl:when test="@class = 'source'
24802f4aeb0Sopenharmony_ci		        or @class = 'version'
24902f4aeb0Sopenharmony_ci		        or @class = 'manual'
25002f4aeb0Sopenharmony_ci		        or @class = 'sectdesc'
25102f4aeb0Sopenharmony_ci		        or @class = 'software'">
25202f4aeb0Sopenharmony_ci	  <xsl:attribute name="class">
25302f4aeb0Sopenharmony_ci	    <xsl:value-of select="@class"/>
25402f4aeb0Sopenharmony_ci	  </xsl:attribute>
25502f4aeb0Sopenharmony_ci	</xsl:when>
25602f4aeb0Sopenharmony_ci	<xsl:otherwise>
25702f4aeb0Sopenharmony_ci	  <xsl:attribute name="class">
25802f4aeb0Sopenharmony_ci	    <xsl:value-of select="'other'"/>
25902f4aeb0Sopenharmony_ci	  </xsl:attribute>
26002f4aeb0Sopenharmony_ci	  <xsl:attribute name="otherclass">
26102f4aeb0Sopenharmony_ci	    <xsl:value-of select="@class"/>
26202f4aeb0Sopenharmony_ci	  </xsl:attribute>
26302f4aeb0Sopenharmony_ci	</xsl:otherwise>
26402f4aeb0Sopenharmony_ci      </xsl:choose>
26502f4aeb0Sopenharmony_ci    </xsl:if>
26602f4aeb0Sopenharmony_ci    <xsl:apply-templates/>
26702f4aeb0Sopenharmony_ci  </refmiscinfo>
26802f4aeb0Sopenharmony_ci</xsl:template>
26902f4aeb0Sopenharmony_ci
27002f4aeb0Sopenharmony_ci<xsl:template match="corpauthor" priority="200">
27102f4aeb0Sopenharmony_ci  <author>
27202f4aeb0Sopenharmony_ci    <xsl:call-template name="copy.attributes"/>
27302f4aeb0Sopenharmony_ci    <orgname>
27402f4aeb0Sopenharmony_ci      <xsl:apply-templates/>
27502f4aeb0Sopenharmony_ci    </orgname>
27602f4aeb0Sopenharmony_ci  </author>
27702f4aeb0Sopenharmony_ci</xsl:template>
27802f4aeb0Sopenharmony_ci
27902f4aeb0Sopenharmony_ci<xsl:template match="corpname" priority="200">
28002f4aeb0Sopenharmony_ci  <orgname>
28102f4aeb0Sopenharmony_ci    <xsl:call-template name="copy.attributes"/>
28202f4aeb0Sopenharmony_ci    <xsl:apply-templates/>
28302f4aeb0Sopenharmony_ci  </orgname>
28402f4aeb0Sopenharmony_ci</xsl:template>
28502f4aeb0Sopenharmony_ci
28602f4aeb0Sopenharmony_ci<xsl:template match="author[not(personname)]|editor[not(personname)]|othercredit[not(personname)]" priority="200">
28702f4aeb0Sopenharmony_ci  <xsl:copy>
28802f4aeb0Sopenharmony_ci    <xsl:call-template name="copy.attributes"/>
28902f4aeb0Sopenharmony_ci    <personname>
29002f4aeb0Sopenharmony_ci      <xsl:apply-templates select="honorific|firstname|surname|othername|lineage"/>
29102f4aeb0Sopenharmony_ci    </personname>
29202f4aeb0Sopenharmony_ci    <xsl:apply-templates select="*[not(self::honorific|self::firstname|self::surname
29302f4aeb0Sopenharmony_ci                                   |self::othername|self::lineage)]"/>
29402f4aeb0Sopenharmony_ci  </xsl:copy>
29502f4aeb0Sopenharmony_ci</xsl:template>
29602f4aeb0Sopenharmony_ci
29702f4aeb0Sopenharmony_ci<xsl:template match="address|programlisting|screen|funcsynopsisinfo
29802f4aeb0Sopenharmony_ci                     |classsynopsisinfo" priority="200">
29902f4aeb0Sopenharmony_ci  <xsl:copy>
30002f4aeb0Sopenharmony_ci    <xsl:call-template name="copy.attributes">
30102f4aeb0Sopenharmony_ci      <xsl:with-param name="suppress" select="'format'"/>
30202f4aeb0Sopenharmony_ci    </xsl:call-template>
30302f4aeb0Sopenharmony_ci    <xsl:apply-templates/>
30402f4aeb0Sopenharmony_ci  </xsl:copy>
30502f4aeb0Sopenharmony_ci</xsl:template>
30602f4aeb0Sopenharmony_ci
30702f4aeb0Sopenharmony_ci<!-- Suppress attributes with default values (i.e., added implicitly by DTD) -->
30802f4aeb0Sopenharmony_ci<xsl:template match="productname" priority="200">
30902f4aeb0Sopenharmony_ci  <xsl:copy>
31002f4aeb0Sopenharmony_ci    <xsl:call-template name="copy.attributes">
31102f4aeb0Sopenharmony_ci      <xsl:with-param name="suppress.default" select="'class=trade'"/>
31202f4aeb0Sopenharmony_ci    </xsl:call-template>
31302f4aeb0Sopenharmony_ci    <xsl:apply-templates/>
31402f4aeb0Sopenharmony_ci  </xsl:copy>
31502f4aeb0Sopenharmony_ci</xsl:template>
31602f4aeb0Sopenharmony_ci
31702f4aeb0Sopenharmony_ci<xsl:template match="orderedlist" priority="200">
31802f4aeb0Sopenharmony_ci  <xsl:copy>
31902f4aeb0Sopenharmony_ci    <xsl:call-template name="copy.attributes">
32002f4aeb0Sopenharmony_ci      <xsl:with-param name="suppress.default" select="'inheritnum=ignore continuation=restarts'"/>
32102f4aeb0Sopenharmony_ci    </xsl:call-template>
32202f4aeb0Sopenharmony_ci    <xsl:apply-templates/>
32302f4aeb0Sopenharmony_ci  </xsl:copy>
32402f4aeb0Sopenharmony_ci</xsl:template>
32502f4aeb0Sopenharmony_ci
32602f4aeb0Sopenharmony_ci<xsl:template match="literallayout" priority="200">
32702f4aeb0Sopenharmony_ci  <xsl:copy>
32802f4aeb0Sopenharmony_ci    <xsl:call-template name="copy.attributes">
32902f4aeb0Sopenharmony_ci      <xsl:with-param name="suppress" select="'format'"/><!-- Dropped entirely in DB5 -->
33002f4aeb0Sopenharmony_ci      <xsl:with-param name="suppress.default" select="'class=normal'"/>
33102f4aeb0Sopenharmony_ci    </xsl:call-template>
33202f4aeb0Sopenharmony_ci    <xsl:apply-templates/>
33302f4aeb0Sopenharmony_ci  </xsl:copy>
33402f4aeb0Sopenharmony_ci</xsl:template>
33502f4aeb0Sopenharmony_ci
33602f4aeb0Sopenharmony_ci<xsl:template match="equation" priority="200">
33702f4aeb0Sopenharmony_ci  <xsl:choose>
33802f4aeb0Sopenharmony_ci    <xsl:when test="not(title)">
33902f4aeb0Sopenharmony_ci      <xsl:call-template name="emit-message">
34002f4aeb0Sopenharmony_ci        <xsl:with-param
34102f4aeb0Sopenharmony_ci            name="message"
34202f4aeb0Sopenharmony_ci            >Convert equation without title to informal equation.</xsl:with-param>
34302f4aeb0Sopenharmony_ci      </xsl:call-template>
34402f4aeb0Sopenharmony_ci      <informalequation>
34502f4aeb0Sopenharmony_ci        <xsl:call-template name="copy.attributes"/>
34602f4aeb0Sopenharmony_ci        <xsl:apply-templates/>
34702f4aeb0Sopenharmony_ci      </informalequation>
34802f4aeb0Sopenharmony_ci    </xsl:when>
34902f4aeb0Sopenharmony_ci    <xsl:otherwise>
35002f4aeb0Sopenharmony_ci      <xsl:copy>
35102f4aeb0Sopenharmony_ci        <xsl:call-template name="copy.attributes"/>
35202f4aeb0Sopenharmony_ci        <xsl:apply-templates/>
35302f4aeb0Sopenharmony_ci      </xsl:copy>
35402f4aeb0Sopenharmony_ci    </xsl:otherwise>
35502f4aeb0Sopenharmony_ci  </xsl:choose>
35602f4aeb0Sopenharmony_ci</xsl:template>
35702f4aeb0Sopenharmony_ci
35802f4aeb0Sopenharmony_ci<xsl:template match="imagedata|videodata|audiodata|textdata" priority="200">
35902f4aeb0Sopenharmony_ci  <xsl:copy>
36002f4aeb0Sopenharmony_ci    <xsl:call-template name="copy.attributes">
36102f4aeb0Sopenharmony_ci      <xsl:with-param name="suppress" select="'srccredit'"/>
36202f4aeb0Sopenharmony_ci    </xsl:call-template>
36302f4aeb0Sopenharmony_ci    <xsl:if test="@srccredit">
36402f4aeb0Sopenharmony_ci      <xsl:call-template name="emit-message">
36502f4aeb0Sopenharmony_ci        <xsl:with-param name="message">
36602f4aeb0Sopenharmony_ci          <xsl:text>Check conversion of srccredit </xsl:text>
36702f4aeb0Sopenharmony_ci          <xsl:text>(othercredit="srccredit").</xsl:text>
36802f4aeb0Sopenharmony_ci        </xsl:with-param>
36902f4aeb0Sopenharmony_ci      </xsl:call-template>
37002f4aeb0Sopenharmony_ci      <info>
37102f4aeb0Sopenharmony_ci        <othercredit class="other" otherclass="srccredit">
37202f4aeb0Sopenharmony_ci          <orgname>???</orgname>
37302f4aeb0Sopenharmony_ci          <contrib>
37402f4aeb0Sopenharmony_ci            <xsl:value-of select="@srccredit"/>
37502f4aeb0Sopenharmony_ci          </contrib>
37602f4aeb0Sopenharmony_ci        </othercredit>
37702f4aeb0Sopenharmony_ci      </info>
37802f4aeb0Sopenharmony_ci    </xsl:if>
37902f4aeb0Sopenharmony_ci  </xsl:copy>
38002f4aeb0Sopenharmony_ci</xsl:template>
38102f4aeb0Sopenharmony_ci
38202f4aeb0Sopenharmony_ci<xsl:template match="sgmltag" priority="200">
38302f4aeb0Sopenharmony_ci  <tag>
38402f4aeb0Sopenharmony_ci    <xsl:call-template name="copy.attributes"/>
38502f4aeb0Sopenharmony_ci    <xsl:if test="@class = 'sgmlcomment'">
38602f4aeb0Sopenharmony_ci      <xsl:attribute name="class">comment</xsl:attribute>
38702f4aeb0Sopenharmony_ci    </xsl:if>
38802f4aeb0Sopenharmony_ci    <xsl:apply-templates/>
38902f4aeb0Sopenharmony_ci  </tag>
39002f4aeb0Sopenharmony_ci</xsl:template>
39102f4aeb0Sopenharmony_ci
39202f4aeb0Sopenharmony_ci<xsl:template match="inlinegraphic[@format='linespecific']" priority="210">
39302f4aeb0Sopenharmony_ci  <textobject>
39402f4aeb0Sopenharmony_ci    <textdata>
39502f4aeb0Sopenharmony_ci      <xsl:call-template name="copy.attributes"/>
39602f4aeb0Sopenharmony_ci    </textdata>
39702f4aeb0Sopenharmony_ci  </textobject>
39802f4aeb0Sopenharmony_ci</xsl:template>
39902f4aeb0Sopenharmony_ci
40002f4aeb0Sopenharmony_ci<xsl:template match="inlinegraphic" priority="200">
40102f4aeb0Sopenharmony_ci  <inlinemediaobject>
40202f4aeb0Sopenharmony_ci    <imageobject>
40302f4aeb0Sopenharmony_ci      <imagedata>
40402f4aeb0Sopenharmony_ci	<xsl:call-template name="copy.attributes"/>
40502f4aeb0Sopenharmony_ci      </imagedata>
40602f4aeb0Sopenharmony_ci    </imageobject>
40702f4aeb0Sopenharmony_ci  </inlinemediaobject>
40802f4aeb0Sopenharmony_ci</xsl:template>
40902f4aeb0Sopenharmony_ci
41002f4aeb0Sopenharmony_ci<xsl:template match="graphic[@format='linespecific']" priority="210">
41102f4aeb0Sopenharmony_ci  <mediaobject>
41202f4aeb0Sopenharmony_ci    <textobject>
41302f4aeb0Sopenharmony_ci      <textdata>
41402f4aeb0Sopenharmony_ci	<xsl:call-template name="copy.attributes"/>
41502f4aeb0Sopenharmony_ci      </textdata>
41602f4aeb0Sopenharmony_ci    </textobject>
41702f4aeb0Sopenharmony_ci  </mediaobject>
41802f4aeb0Sopenharmony_ci</xsl:template>
41902f4aeb0Sopenharmony_ci
42002f4aeb0Sopenharmony_ci<xsl:template match="graphic" priority="200">
42102f4aeb0Sopenharmony_ci  <mediaobject>
42202f4aeb0Sopenharmony_ci    <imageobject>
42302f4aeb0Sopenharmony_ci      <imagedata>
42402f4aeb0Sopenharmony_ci	<xsl:call-template name="copy.attributes"/>
42502f4aeb0Sopenharmony_ci      </imagedata>
42602f4aeb0Sopenharmony_ci    </imageobject>
42702f4aeb0Sopenharmony_ci  </mediaobject>
42802f4aeb0Sopenharmony_ci</xsl:template>
42902f4aeb0Sopenharmony_ci
43002f4aeb0Sopenharmony_ci<xsl:template match="pubsnumber" priority="200">
43102f4aeb0Sopenharmony_ci  <biblioid class="pubsnumber">
43202f4aeb0Sopenharmony_ci    <xsl:call-template name="copy.attributes"/>
43302f4aeb0Sopenharmony_ci    <xsl:apply-templates/>
43402f4aeb0Sopenharmony_ci  </biblioid>
43502f4aeb0Sopenharmony_ci</xsl:template>
43602f4aeb0Sopenharmony_ci
43702f4aeb0Sopenharmony_ci<xsl:template match="invpartnumber" priority="200">
43802f4aeb0Sopenharmony_ci  <xsl:call-template name="emit-message">
43902f4aeb0Sopenharmony_ci    <xsl:with-param name="message">
44002f4aeb0Sopenharmony_ci      <xsl:text>Converting invpartnumber to biblioid otherclass="invpartnumber".</xsl:text>
44102f4aeb0Sopenharmony_ci    </xsl:with-param>
44202f4aeb0Sopenharmony_ci  </xsl:call-template>
44302f4aeb0Sopenharmony_ci  <biblioid class="other" otherclass="invpartnumber">
44402f4aeb0Sopenharmony_ci    <xsl:call-template name="copy.attributes"/>
44502f4aeb0Sopenharmony_ci    <xsl:apply-templates/>
44602f4aeb0Sopenharmony_ci  </biblioid>
44702f4aeb0Sopenharmony_ci</xsl:template>
44802f4aeb0Sopenharmony_ci
44902f4aeb0Sopenharmony_ci<xsl:template match="contractsponsor" priority="200">
45002f4aeb0Sopenharmony_ci  <xsl:variable name="contractnum"
45102f4aeb0Sopenharmony_ci                select="preceding-sibling::contractnum|following-sibling::contractnum"/>
45202f4aeb0Sopenharmony_ci
45302f4aeb0Sopenharmony_ci  <xsl:call-template name="emit-message">
45402f4aeb0Sopenharmony_ci    <xsl:with-param name="message">
45502f4aeb0Sopenharmony_ci      <xsl:text>Converting contractsponsor to othercredit="contractsponsor".</xsl:text>
45602f4aeb0Sopenharmony_ci    </xsl:with-param>
45702f4aeb0Sopenharmony_ci  </xsl:call-template>
45802f4aeb0Sopenharmony_ci
45902f4aeb0Sopenharmony_ci  <othercredit class="other" otherclass="contractsponsor">
46002f4aeb0Sopenharmony_ci    <orgname>
46102f4aeb0Sopenharmony_ci      <xsl:call-template name="copy.attributes"/>
46202f4aeb0Sopenharmony_ci      <xsl:apply-templates/>
46302f4aeb0Sopenharmony_ci    </orgname>
46402f4aeb0Sopenharmony_ci    <xsl:for-each select="$contractnum">
46502f4aeb0Sopenharmony_ci      <contrib role="contractnum">
46602f4aeb0Sopenharmony_ci        <xsl:apply-templates select="node()"/>
46702f4aeb0Sopenharmony_ci      </contrib>
46802f4aeb0Sopenharmony_ci    </xsl:for-each>
46902f4aeb0Sopenharmony_ci  </othercredit>
47002f4aeb0Sopenharmony_ci</xsl:template>
47102f4aeb0Sopenharmony_ci
47202f4aeb0Sopenharmony_ci<xsl:template match="contractnum" priority="200">
47302f4aeb0Sopenharmony_ci  <xsl:if test="not(preceding-sibling::contractsponsor
47402f4aeb0Sopenharmony_ci                    |following-sibling::contractsponsor)
47502f4aeb0Sopenharmony_ci                and not(preceding-sibling::contractnum)">
47602f4aeb0Sopenharmony_ci    <xsl:call-template name="emit-message">
47702f4aeb0Sopenharmony_ci      <xsl:with-param name="message">
47802f4aeb0Sopenharmony_ci        <xsl:text>Converting contractnum to othercredit="contractnum".</xsl:text>
47902f4aeb0Sopenharmony_ci      </xsl:with-param>
48002f4aeb0Sopenharmony_ci    </xsl:call-template>
48102f4aeb0Sopenharmony_ci
48202f4aeb0Sopenharmony_ci    <othercredit class="other" otherclass="contractnum">
48302f4aeb0Sopenharmony_ci      <orgname>???</orgname>
48402f4aeb0Sopenharmony_ci      <xsl:for-each select="self::contractnum
48502f4aeb0Sopenharmony_ci                            |preceding-sibling::contractnum
48602f4aeb0Sopenharmony_ci                            |following-sibling::contractnum">
48702f4aeb0Sopenharmony_ci        <contrib>
48802f4aeb0Sopenharmony_ci          <xsl:apply-templates select="node()"/>
48902f4aeb0Sopenharmony_ci        </contrib>
49002f4aeb0Sopenharmony_ci      </xsl:for-each>
49102f4aeb0Sopenharmony_ci    </othercredit>
49202f4aeb0Sopenharmony_ci  </xsl:if>
49302f4aeb0Sopenharmony_ci</xsl:template>
49402f4aeb0Sopenharmony_ci
49502f4aeb0Sopenharmony_ci<xsl:template match="isbn|issn" priority="200">
49602f4aeb0Sopenharmony_ci  <biblioid class="{local-name(.)}">
49702f4aeb0Sopenharmony_ci    <xsl:call-template name="copy.attributes"/>
49802f4aeb0Sopenharmony_ci    <xsl:apply-templates/>
49902f4aeb0Sopenharmony_ci  </biblioid>
50002f4aeb0Sopenharmony_ci</xsl:template>
50102f4aeb0Sopenharmony_ci
50202f4aeb0Sopenharmony_ci<xsl:template match="biblioid[count(*) = 1
50302f4aeb0Sopenharmony_ci		              and ulink
50402f4aeb0Sopenharmony_ci			      and normalize-space(text()) = '']" priority="200">
50502f4aeb0Sopenharmony_ci  <biblioid xlink:href="{ulink/@url}">
50602f4aeb0Sopenharmony_ci    <xsl:call-template name="copy.attributes"/>
50702f4aeb0Sopenharmony_ci    <xsl:apply-templates select="ulink/node()"/>
50802f4aeb0Sopenharmony_ci  </biblioid>
50902f4aeb0Sopenharmony_ci</xsl:template>
51002f4aeb0Sopenharmony_ci
51102f4aeb0Sopenharmony_ci<xsl:template match="authorblurb" priority="200">
51202f4aeb0Sopenharmony_ci  <personblurb>
51302f4aeb0Sopenharmony_ci    <xsl:call-template name="copy.attributes"/>
51402f4aeb0Sopenharmony_ci    <xsl:apply-templates/>
51502f4aeb0Sopenharmony_ci  </personblurb>
51602f4aeb0Sopenharmony_ci</xsl:template>
51702f4aeb0Sopenharmony_ci
51802f4aeb0Sopenharmony_ci<xsl:template match="collabname" priority="200">
51902f4aeb0Sopenharmony_ci  <xsl:call-template name="emit-message">
52002f4aeb0Sopenharmony_ci    <xsl:with-param name="message">
52102f4aeb0Sopenharmony_ci      <xsl:text>Check conversion of collabname </xsl:text>
52202f4aeb0Sopenharmony_ci      <xsl:text>(orgname role="collabname").</xsl:text>
52302f4aeb0Sopenharmony_ci    </xsl:with-param>
52402f4aeb0Sopenharmony_ci  </xsl:call-template>
52502f4aeb0Sopenharmony_ci  <orgname role="collabname">
52602f4aeb0Sopenharmony_ci    <xsl:call-template name="copy.attributes"/>
52702f4aeb0Sopenharmony_ci    <xsl:apply-templates/>
52802f4aeb0Sopenharmony_ci  </orgname>
52902f4aeb0Sopenharmony_ci</xsl:template>
53002f4aeb0Sopenharmony_ci
53102f4aeb0Sopenharmony_ci<xsl:template match="modespec" priority="200">
53202f4aeb0Sopenharmony_ci  <xsl:call-template name="emit-message">
53302f4aeb0Sopenharmony_ci    <xsl:with-param name="message">
53402f4aeb0Sopenharmony_ci      <xsl:text>Discarding modespec (</xsl:text>
53502f4aeb0Sopenharmony_ci      <xsl:value-of select="."/>
53602f4aeb0Sopenharmony_ci      <xsl:text>).</xsl:text>
53702f4aeb0Sopenharmony_ci    </xsl:with-param>
53802f4aeb0Sopenharmony_ci  </xsl:call-template>
53902f4aeb0Sopenharmony_ci</xsl:template>
54002f4aeb0Sopenharmony_ci
54102f4aeb0Sopenharmony_ci<xsl:template match="mediaobjectco" priority="200">
54202f4aeb0Sopenharmony_ci  <mediaobject>
54302f4aeb0Sopenharmony_ci    <xsl:copy-of select="@*"/>
54402f4aeb0Sopenharmony_ci    <xsl:apply-templates/>
54502f4aeb0Sopenharmony_ci  </mediaobject>
54602f4aeb0Sopenharmony_ci</xsl:template>
54702f4aeb0Sopenharmony_ci
54802f4aeb0Sopenharmony_ci<xsl:template match="remark">
54902f4aeb0Sopenharmony_ci  <!-- get rid of any embedded markup if the version is 5.0. If it's > 5.0, leave markup in. -->
55002f4aeb0Sopenharmony_ci  <remark>
55102f4aeb0Sopenharmony_ci    <xsl:copy-of select="@*"/>
55202f4aeb0Sopenharmony_ci    <xsl:choose>
55302f4aeb0Sopenharmony_ci      <xsl:when test="$db5.version>5.0">
55402f4aeb0Sopenharmony_ci        <xsl:apply-templates/>
55502f4aeb0Sopenharmony_ci      </xsl:when>
55602f4aeb0Sopenharmony_ci      <xsl:otherwise>
55702f4aeb0Sopenharmony_ci        <xsl:value-of select="."/>
55802f4aeb0Sopenharmony_ci      </xsl:otherwise>
55902f4aeb0Sopenharmony_ci    </xsl:choose>
56002f4aeb0Sopenharmony_ci  </remark>
56102f4aeb0Sopenharmony_ci</xsl:template>
56202f4aeb0Sopenharmony_ci
56302f4aeb0Sopenharmony_ci<xsl:template match="biblioentry/title
56402f4aeb0Sopenharmony_ci                     |bibliomset/title
56502f4aeb0Sopenharmony_ci                     |biblioset/title
56602f4aeb0Sopenharmony_ci                     |bibliomixed/title" priority="400">
56702f4aeb0Sopenharmony_ci  <citetitle>
56802f4aeb0Sopenharmony_ci    <xsl:copy-of select="@*"/>
56902f4aeb0Sopenharmony_ci    <xsl:apply-templates/>
57002f4aeb0Sopenharmony_ci  </citetitle>
57102f4aeb0Sopenharmony_ci</xsl:template>
57202f4aeb0Sopenharmony_ci
57302f4aeb0Sopenharmony_ci<xsl:template match="biblioentry/titleabbrev|biblioentry/subtitle
57402f4aeb0Sopenharmony_ci                     |bibliomset/titleabbrev|bibliomset/subtitle
57502f4aeb0Sopenharmony_ci                     |biblioset/titleabbrev|biblioset/subtitle
57602f4aeb0Sopenharmony_ci                     |bibliomixed/titleabbrev|bibliomixed/subtitle"
57702f4aeb0Sopenharmony_ci	      priority="400">
57802f4aeb0Sopenharmony_ci  <xsl:copy>
57902f4aeb0Sopenharmony_ci    <xsl:copy-of select="@*"/>
58002f4aeb0Sopenharmony_ci    <xsl:apply-templates/>
58102f4aeb0Sopenharmony_ci  </xsl:copy>
58202f4aeb0Sopenharmony_ci</xsl:template>
58302f4aeb0Sopenharmony_ci
58402f4aeb0Sopenharmony_ci<xsl:template match="biblioentry/contrib
58502f4aeb0Sopenharmony_ci                     |bibliomset/contrib
58602f4aeb0Sopenharmony_ci                     |bibliomixed/contrib" priority="200">
58702f4aeb0Sopenharmony_ci  <xsl:call-template name="emit-message">
58802f4aeb0Sopenharmony_ci    <xsl:with-param name="message">
58902f4aeb0Sopenharmony_ci      <xsl:text>Check conversion of contrib </xsl:text>
59002f4aeb0Sopenharmony_ci      <xsl:text>(othercontrib="contrib").</xsl:text>
59102f4aeb0Sopenharmony_ci    </xsl:with-param>
59202f4aeb0Sopenharmony_ci  </xsl:call-template>
59302f4aeb0Sopenharmony_ci  <othercredit class="other" otherclass="contrib">
59402f4aeb0Sopenharmony_ci    <orgname>???</orgname>
59502f4aeb0Sopenharmony_ci    <contrib>
59602f4aeb0Sopenharmony_ci      <xsl:call-template name="copy.attributes"/>
59702f4aeb0Sopenharmony_ci      <xsl:apply-templates/>
59802f4aeb0Sopenharmony_ci    </contrib>
59902f4aeb0Sopenharmony_ci  </othercredit>
60002f4aeb0Sopenharmony_ci</xsl:template>
60102f4aeb0Sopenharmony_ci
60202f4aeb0Sopenharmony_ci<xsl:template match="link" priority="200">
60302f4aeb0Sopenharmony_ci  <xsl:copy>
60402f4aeb0Sopenharmony_ci    <xsl:call-template name="copy.attributes"/>
60502f4aeb0Sopenharmony_ci    <xsl:apply-templates/>
60602f4aeb0Sopenharmony_ci  </xsl:copy>
60702f4aeb0Sopenharmony_ci</xsl:template>
60802f4aeb0Sopenharmony_ci
60902f4aeb0Sopenharmony_ci<xsl:template match="ulink" priority="200">
61002f4aeb0Sopenharmony_ci  <xsl:choose>
61102f4aeb0Sopenharmony_ci    <xsl:when test="node()">
61202f4aeb0Sopenharmony_ci      <xsl:call-template name="emit-message">
61302f4aeb0Sopenharmony_ci        <xsl:with-param name="message">
61402f4aeb0Sopenharmony_ci          <xsl:text>Converting ulink to link.</xsl:text>
61502f4aeb0Sopenharmony_ci        </xsl:with-param>
61602f4aeb0Sopenharmony_ci      </xsl:call-template>
61702f4aeb0Sopenharmony_ci
61802f4aeb0Sopenharmony_ci      <link xlink:href="{@url}">
61902f4aeb0Sopenharmony_ci	<xsl:call-template name="copy.attributes">
62002f4aeb0Sopenharmony_ci	  <xsl:with-param name="suppress" select="'url'"/>
62102f4aeb0Sopenharmony_ci	</xsl:call-template>
62202f4aeb0Sopenharmony_ci	<xsl:apply-templates/>
62302f4aeb0Sopenharmony_ci      </link>
62402f4aeb0Sopenharmony_ci    </xsl:when>
62502f4aeb0Sopenharmony_ci    <xsl:otherwise>
62602f4aeb0Sopenharmony_ci      <xsl:call-template name="emit-message">
62702f4aeb0Sopenharmony_ci        <xsl:with-param name="message">
62802f4aeb0Sopenharmony_ci          <xsl:text>Converting ulink to uri.</xsl:text>
62902f4aeb0Sopenharmony_ci        </xsl:with-param>
63002f4aeb0Sopenharmony_ci      </xsl:call-template>
63102f4aeb0Sopenharmony_ci
63202f4aeb0Sopenharmony_ci      <uri xlink:href="{@url}">
63302f4aeb0Sopenharmony_ci	<xsl:call-template name="copy.attributes">
63402f4aeb0Sopenharmony_ci	  <xsl:with-param name="suppress" select="'url'"/>
63502f4aeb0Sopenharmony_ci	</xsl:call-template>
63602f4aeb0Sopenharmony_ci	<xsl:value-of select="@url"/>
63702f4aeb0Sopenharmony_ci      </uri>
63802f4aeb0Sopenharmony_ci    </xsl:otherwise>
63902f4aeb0Sopenharmony_ci  </xsl:choose>
64002f4aeb0Sopenharmony_ci</xsl:template>
64102f4aeb0Sopenharmony_ci
64202f4aeb0Sopenharmony_ci<xsl:template match="olink" priority="200">
64302f4aeb0Sopenharmony_ci  <xsl:if test="@linkmode">
64402f4aeb0Sopenharmony_ci    <xsl:call-template name="emit-message">
64502f4aeb0Sopenharmony_ci      <xsl:with-param name="message">
64602f4aeb0Sopenharmony_ci        <xsl:text>Discarding linkmode on olink.</xsl:text>
64702f4aeb0Sopenharmony_ci      </xsl:with-param>
64802f4aeb0Sopenharmony_ci    </xsl:call-template>
64902f4aeb0Sopenharmony_ci  </xsl:if>
65002f4aeb0Sopenharmony_ci
65102f4aeb0Sopenharmony_ci  <xsl:choose>
65202f4aeb0Sopenharmony_ci    <xsl:when test="@targetdocent">
65302f4aeb0Sopenharmony_ci      <xsl:call-template name="emit-message">
65402f4aeb0Sopenharmony_ci        <xsl:with-param name="message">
65502f4aeb0Sopenharmony_ci          <xsl:text>Converting olink targetdocent to targetdoc.</xsl:text>
65602f4aeb0Sopenharmony_ci        </xsl:with-param>
65702f4aeb0Sopenharmony_ci      </xsl:call-template>
65802f4aeb0Sopenharmony_ci
65902f4aeb0Sopenharmony_ci      <olink targetdoc="{unparsed-entity-uri(@targetdocent)}">
66002f4aeb0Sopenharmony_ci	<xsl:for-each select="@*">
66102f4aeb0Sopenharmony_ci	  <xsl:if test="name(.) != 'targetdocent'
66202f4aeb0Sopenharmony_ci	                and name(.) != 'linkmode'">
66302f4aeb0Sopenharmony_ci	    <xsl:copy/>
66402f4aeb0Sopenharmony_ci	  </xsl:if>
66502f4aeb0Sopenharmony_ci	</xsl:for-each>
66602f4aeb0Sopenharmony_ci	<xsl:apply-templates/>
66702f4aeb0Sopenharmony_ci      </olink>
66802f4aeb0Sopenharmony_ci    </xsl:when>
66902f4aeb0Sopenharmony_ci    <xsl:otherwise>
67002f4aeb0Sopenharmony_ci      <olink>
67102f4aeb0Sopenharmony_ci	<xsl:for-each select="@*">
67202f4aeb0Sopenharmony_ci	  <xsl:if test="name(.) != 'linkmode'">
67302f4aeb0Sopenharmony_ci	    <xsl:copy/>
67402f4aeb0Sopenharmony_ci	  </xsl:if>
67502f4aeb0Sopenharmony_ci	</xsl:for-each>
67602f4aeb0Sopenharmony_ci	<xsl:apply-templates/>
67702f4aeb0Sopenharmony_ci      </olink>
67802f4aeb0Sopenharmony_ci    </xsl:otherwise>
67902f4aeb0Sopenharmony_ci  </xsl:choose>
68002f4aeb0Sopenharmony_ci</xsl:template>
68102f4aeb0Sopenharmony_ci
68202f4aeb0Sopenharmony_ci<xsl:template match="biblioentry/firstname
68302f4aeb0Sopenharmony_ci                     |biblioentry/surname
68402f4aeb0Sopenharmony_ci                     |biblioentry/othername
68502f4aeb0Sopenharmony_ci                     |biblioentry/lineage
68602f4aeb0Sopenharmony_ci                     |biblioentry/honorific
68702f4aeb0Sopenharmony_ci                     |bibliomset/firstname
68802f4aeb0Sopenharmony_ci                     |bibliomset/surname
68902f4aeb0Sopenharmony_ci                     |bibliomset/othername
69002f4aeb0Sopenharmony_ci                     |bibliomset/lineage
69102f4aeb0Sopenharmony_ci                     |bibliomset/honorific" priority="200">
69202f4aeb0Sopenharmony_ci  <xsl:choose>
69302f4aeb0Sopenharmony_ci    <xsl:when test="preceding-sibling::firstname
69402f4aeb0Sopenharmony_ci                    |preceding-sibling::surname
69502f4aeb0Sopenharmony_ci                    |preceding-sibling::othername
69602f4aeb0Sopenharmony_ci                    |preceding-sibling::lineage
69702f4aeb0Sopenharmony_ci                    |preceding-sibling::honorific">
69802f4aeb0Sopenharmony_ci      <!-- nop -->
69902f4aeb0Sopenharmony_ci    </xsl:when>
70002f4aeb0Sopenharmony_ci    <xsl:otherwise>
70102f4aeb0Sopenharmony_ci      <personname>
70202f4aeb0Sopenharmony_ci        <xsl:apply-templates select="../firstname
70302f4aeb0Sopenharmony_ci                                     |../surname
70402f4aeb0Sopenharmony_ci                                     |../othername
70502f4aeb0Sopenharmony_ci                                     |../lineage
70602f4aeb0Sopenharmony_ci                                     |../honorific" mode="copy"/>
70702f4aeb0Sopenharmony_ci      </personname>
70802f4aeb0Sopenharmony_ci    </xsl:otherwise>
70902f4aeb0Sopenharmony_ci  </xsl:choose>
71002f4aeb0Sopenharmony_ci</xsl:template>
71102f4aeb0Sopenharmony_ci
71202f4aeb0Sopenharmony_ci<xsl:template match="areaset" priority="200">
71302f4aeb0Sopenharmony_ci  <xsl:copy>
71402f4aeb0Sopenharmony_ci    <xsl:call-template name="copy.attributes">
71502f4aeb0Sopenharmony_ci      <xsl:with-param name="suppress" select="'coords'"/>
71602f4aeb0Sopenharmony_ci    </xsl:call-template>
71702f4aeb0Sopenharmony_ci    <xsl:apply-templates/>
71802f4aeb0Sopenharmony_ci  </xsl:copy>
71902f4aeb0Sopenharmony_ci</xsl:template>
72002f4aeb0Sopenharmony_ci
72102f4aeb0Sopenharmony_ci<xsl:template match="date|pubdate" priority="200">
72202f4aeb0Sopenharmony_ci  <xsl:variable name="rp1" select="substring-before(normalize-space(.), ' ')"/>
72302f4aeb0Sopenharmony_ci  <xsl:variable name="rp2"
72402f4aeb0Sopenharmony_ci		select="substring-before(substring-after(normalize-space(.), ' '),
72502f4aeb0Sopenharmony_ci		                         ' ')"/>
72602f4aeb0Sopenharmony_ci  <xsl:variable name="rp3"
72702f4aeb0Sopenharmony_ci		select="substring-after(substring-after(normalize-space(.), ' '), ' ')"/>
72802f4aeb0Sopenharmony_ci
72902f4aeb0Sopenharmony_ci  <xsl:variable name="p1">
73002f4aeb0Sopenharmony_ci    <xsl:choose>
73102f4aeb0Sopenharmony_ci      <xsl:when test="contains($rp1, ',')">
73202f4aeb0Sopenharmony_ci	<xsl:value-of select="substring-before($rp1, ',')"/>
73302f4aeb0Sopenharmony_ci      </xsl:when>
73402f4aeb0Sopenharmony_ci      <xsl:otherwise>
73502f4aeb0Sopenharmony_ci	<xsl:value-of select="$rp1"/>
73602f4aeb0Sopenharmony_ci      </xsl:otherwise>
73702f4aeb0Sopenharmony_ci    </xsl:choose>
73802f4aeb0Sopenharmony_ci  </xsl:variable>
73902f4aeb0Sopenharmony_ci
74002f4aeb0Sopenharmony_ci  <xsl:variable name="p2">
74102f4aeb0Sopenharmony_ci    <xsl:choose>
74202f4aeb0Sopenharmony_ci      <xsl:when test="contains($rp2, ',')">
74302f4aeb0Sopenharmony_ci	<xsl:value-of select="substring-before($rp2, ',')"/>
74402f4aeb0Sopenharmony_ci      </xsl:when>
74502f4aeb0Sopenharmony_ci      <xsl:otherwise>
74602f4aeb0Sopenharmony_ci	<xsl:value-of select="$rp2"/>
74702f4aeb0Sopenharmony_ci      </xsl:otherwise>
74802f4aeb0Sopenharmony_ci    </xsl:choose>
74902f4aeb0Sopenharmony_ci  </xsl:variable>
75002f4aeb0Sopenharmony_ci
75102f4aeb0Sopenharmony_ci  <xsl:variable name="p3">
75202f4aeb0Sopenharmony_ci    <xsl:choose>
75302f4aeb0Sopenharmony_ci      <xsl:when test="contains($rp3, ',')">
75402f4aeb0Sopenharmony_ci	<xsl:value-of select="substring-before($rp3, ',')"/>
75502f4aeb0Sopenharmony_ci      </xsl:when>
75602f4aeb0Sopenharmony_ci      <xsl:otherwise>
75702f4aeb0Sopenharmony_ci	<xsl:value-of select="$rp3"/>
75802f4aeb0Sopenharmony_ci      </xsl:otherwise>
75902f4aeb0Sopenharmony_ci    </xsl:choose>
76002f4aeb0Sopenharmony_ci  </xsl:variable>
76102f4aeb0Sopenharmony_ci
76202f4aeb0Sopenharmony_ci  <xsl:variable name="date">
76302f4aeb0Sopenharmony_ci    <xsl:choose>
76402f4aeb0Sopenharmony_ci      <xsl:when test="string($p1+1) != 'NaN' and string($p3+1) != 'NaN'">
76502f4aeb0Sopenharmony_ci	<xsl:choose>
76602f4aeb0Sopenharmony_ci	  <xsl:when test="$p2 = 'Jan' or $p2 = 'January'">
76702f4aeb0Sopenharmony_ci	    <xsl:number value="$p3" format="0001"/>
76802f4aeb0Sopenharmony_ci	    <xsl:text>-01-</xsl:text>
76902f4aeb0Sopenharmony_ci	    <xsl:number value="$p1" format="01"/>
77002f4aeb0Sopenharmony_ci	  </xsl:when>
77102f4aeb0Sopenharmony_ci	  <xsl:when test="$p2 = 'Feb' or $p2 = 'February'">
77202f4aeb0Sopenharmony_ci	    <xsl:number value="$p3" format="0001"/>
77302f4aeb0Sopenharmony_ci	    <xsl:text>-02-</xsl:text>
77402f4aeb0Sopenharmony_ci	    <xsl:number value="$p1" format="01"/>
77502f4aeb0Sopenharmony_ci	  </xsl:when>
77602f4aeb0Sopenharmony_ci	  <xsl:when test="$p2 = 'Mar' or $p2 = 'March'">
77702f4aeb0Sopenharmony_ci	    <xsl:number value="$p3" format="0001"/>
77802f4aeb0Sopenharmony_ci	    <xsl:text>-03-</xsl:text>
77902f4aeb0Sopenharmony_ci	    <xsl:number value="$p1" format="01"/>
78002f4aeb0Sopenharmony_ci	  </xsl:when>
78102f4aeb0Sopenharmony_ci	  <xsl:when test="$p2 = 'Apr' or $p2 = 'April'">
78202f4aeb0Sopenharmony_ci	    <xsl:number value="$p3" format="0001"/>
78302f4aeb0Sopenharmony_ci	    <xsl:text>-04-</xsl:text>
78402f4aeb0Sopenharmony_ci	    <xsl:number value="$p1" format="01"/>
78502f4aeb0Sopenharmony_ci	  </xsl:when>
78602f4aeb0Sopenharmony_ci	  <xsl:when test="$p2 = 'May'">
78702f4aeb0Sopenharmony_ci	    <xsl:number value="$p3" format="0001"/>
78802f4aeb0Sopenharmony_ci	    <xsl:text>-05-</xsl:text>
78902f4aeb0Sopenharmony_ci	    <xsl:number value="$p1" format="01"/>
79002f4aeb0Sopenharmony_ci	  </xsl:when>
79102f4aeb0Sopenharmony_ci	  <xsl:when test="$p2 = 'Jun' or $p2 = 'June'">
79202f4aeb0Sopenharmony_ci	    <xsl:number value="$p3" format="0001"/>
79302f4aeb0Sopenharmony_ci	    <xsl:text>-06-</xsl:text>
79402f4aeb0Sopenharmony_ci	    <xsl:number value="$p1" format="01"/>
79502f4aeb0Sopenharmony_ci	  </xsl:when>
79602f4aeb0Sopenharmony_ci	  <xsl:when test="$p2 = 'Jul' or $p2 = 'July'">
79702f4aeb0Sopenharmony_ci	    <xsl:number value="$p3" format="0001"/>
79802f4aeb0Sopenharmony_ci	    <xsl:text>-07-</xsl:text>
79902f4aeb0Sopenharmony_ci	    <xsl:number value="$p1" format="01"/>
80002f4aeb0Sopenharmony_ci	  </xsl:when>
80102f4aeb0Sopenharmony_ci	  <xsl:when test="$p2 = 'Aug' or $p2 = 'August'">
80202f4aeb0Sopenharmony_ci	    <xsl:number value="$p3" format="0001"/>
80302f4aeb0Sopenharmony_ci	    <xsl:text>-08-</xsl:text>
80402f4aeb0Sopenharmony_ci	    <xsl:number value="$p1" format="01"/>
80502f4aeb0Sopenharmony_ci	  </xsl:when>
80602f4aeb0Sopenharmony_ci	  <xsl:when test="$p2 = 'Sep' or $p2 = 'September'">
80702f4aeb0Sopenharmony_ci	    <xsl:number value="$p3" format="0001"/>
80802f4aeb0Sopenharmony_ci	    <xsl:text>-09-</xsl:text>
80902f4aeb0Sopenharmony_ci	    <xsl:number value="$p1" format="01"/>
81002f4aeb0Sopenharmony_ci	  </xsl:when>
81102f4aeb0Sopenharmony_ci	  <xsl:when test="$p2 = 'Oct' or $p2 = 'October'">
81202f4aeb0Sopenharmony_ci	    <xsl:number value="$p3" format="0001"/>
81302f4aeb0Sopenharmony_ci	    <xsl:text>-10-</xsl:text>
81402f4aeb0Sopenharmony_ci	    <xsl:number value="$p1" format="01"/>
81502f4aeb0Sopenharmony_ci	  </xsl:when>
81602f4aeb0Sopenharmony_ci	  <xsl:when test="$p2 = 'Nov' or $p2 = 'November'">
81702f4aeb0Sopenharmony_ci	    <xsl:number value="$p3" format="0001"/>
81802f4aeb0Sopenharmony_ci	    <xsl:text>-11-</xsl:text>
81902f4aeb0Sopenharmony_ci	    <xsl:number value="$p1" format="01"/>
82002f4aeb0Sopenharmony_ci	  </xsl:when>
82102f4aeb0Sopenharmony_ci	  <xsl:when test="$p2 = 'Dec' or $p2 = 'December'">
82202f4aeb0Sopenharmony_ci	    <xsl:number value="$p3" format="0001"/>
82302f4aeb0Sopenharmony_ci	    <xsl:text>-12-</xsl:text>
82402f4aeb0Sopenharmony_ci	    <xsl:number value="$p1" format="01"/>
82502f4aeb0Sopenharmony_ci	  </xsl:when>
82602f4aeb0Sopenharmony_ci	  <xsl:otherwise>
82702f4aeb0Sopenharmony_ci	    <xsl:apply-templates/>
82802f4aeb0Sopenharmony_ci	  </xsl:otherwise>
82902f4aeb0Sopenharmony_ci	</xsl:choose>
83002f4aeb0Sopenharmony_ci      </xsl:when>
83102f4aeb0Sopenharmony_ci      <xsl:when test="string($p2+1) != 'NaN' and string($p3+1) != 'NaN'">
83202f4aeb0Sopenharmony_ci	<xsl:choose>
83302f4aeb0Sopenharmony_ci	  <xsl:when test="$p1 = 'Jan' or $p1 = 'January'">
83402f4aeb0Sopenharmony_ci	    <xsl:number value="$p3" format="0001"/>
83502f4aeb0Sopenharmony_ci	    <xsl:text>-01-</xsl:text>
83602f4aeb0Sopenharmony_ci	    <xsl:number value="$p2" format="01"/>
83702f4aeb0Sopenharmony_ci	  </xsl:when>
83802f4aeb0Sopenharmony_ci	  <xsl:when test="$p1 = 'Feb' or $p1 = 'February'">
83902f4aeb0Sopenharmony_ci	    <xsl:number value="$p3" format="0001"/>
84002f4aeb0Sopenharmony_ci	    <xsl:text>-02-</xsl:text>
84102f4aeb0Sopenharmony_ci	    <xsl:number value="$p2" format="01"/>
84202f4aeb0Sopenharmony_ci	  </xsl:when>
84302f4aeb0Sopenharmony_ci	  <xsl:when test="$p1 = 'Mar' or $p1 = 'March'">
84402f4aeb0Sopenharmony_ci	    <xsl:number value="$p3" format="0001"/>
84502f4aeb0Sopenharmony_ci	    <xsl:text>-03-</xsl:text>
84602f4aeb0Sopenharmony_ci	    <xsl:number value="$p2" format="01"/>
84702f4aeb0Sopenharmony_ci	  </xsl:when>
84802f4aeb0Sopenharmony_ci	  <xsl:when test="$p1 = 'Apr' or $p1 = 'April'">
84902f4aeb0Sopenharmony_ci	    <xsl:number value="$p3" format="0001"/>
85002f4aeb0Sopenharmony_ci	    <xsl:text>-04-</xsl:text>
85102f4aeb0Sopenharmony_ci	    <xsl:number value="$p2" format="01"/>
85202f4aeb0Sopenharmony_ci	  </xsl:when>
85302f4aeb0Sopenharmony_ci	  <xsl:when test="$p1 = 'May'">
85402f4aeb0Sopenharmony_ci	    <xsl:number value="$p3" format="0001"/>
85502f4aeb0Sopenharmony_ci	    <xsl:text>-05-</xsl:text>
85602f4aeb0Sopenharmony_ci	    <xsl:number value="$p2" format="01"/>
85702f4aeb0Sopenharmony_ci	  </xsl:when>
85802f4aeb0Sopenharmony_ci	  <xsl:when test="$p1 = 'Jun' or $p1 = 'June'">
85902f4aeb0Sopenharmony_ci	    <xsl:number value="$p3" format="0001"/>
86002f4aeb0Sopenharmony_ci	    <xsl:text>-06-</xsl:text>
86102f4aeb0Sopenharmony_ci	    <xsl:number value="$p2" format="01"/>
86202f4aeb0Sopenharmony_ci	  </xsl:when>
86302f4aeb0Sopenharmony_ci	  <xsl:when test="$p1 = 'Jul' or $p1 = 'July'">
86402f4aeb0Sopenharmony_ci	    <xsl:number value="$p3" format="0001"/>
86502f4aeb0Sopenharmony_ci	    <xsl:text>-07-</xsl:text>
86602f4aeb0Sopenharmony_ci	    <xsl:number value="$p2" format="01"/>
86702f4aeb0Sopenharmony_ci	  </xsl:when>
86802f4aeb0Sopenharmony_ci	  <xsl:when test="$p1 = 'Aug' or $p1 = 'August'">
86902f4aeb0Sopenharmony_ci	    <xsl:number value="$p3" format="0001"/>
87002f4aeb0Sopenharmony_ci	    <xsl:text>-08-</xsl:text>
87102f4aeb0Sopenharmony_ci	    <xsl:number value="$p2" format="01"/>
87202f4aeb0Sopenharmony_ci	  </xsl:when>
87302f4aeb0Sopenharmony_ci	  <xsl:when test="$p1 = 'Sep' or $p1 = 'September'">
87402f4aeb0Sopenharmony_ci	    <xsl:number value="$p3" format="0001"/>
87502f4aeb0Sopenharmony_ci	    <xsl:text>-09-</xsl:text>
87602f4aeb0Sopenharmony_ci	    <xsl:number value="$p2" format="01"/>
87702f4aeb0Sopenharmony_ci	  </xsl:when>
87802f4aeb0Sopenharmony_ci	  <xsl:when test="$p1 = 'Oct' or $p1 = 'October'">
87902f4aeb0Sopenharmony_ci	    <xsl:number value="$p3" format="0001"/>
88002f4aeb0Sopenharmony_ci	    <xsl:text>-10-</xsl:text>
88102f4aeb0Sopenharmony_ci	    <xsl:number value="$p2" format="01"/>
88202f4aeb0Sopenharmony_ci	  </xsl:when>
88302f4aeb0Sopenharmony_ci	  <xsl:when test="$p1 = 'Nov' or $p1 = 'November'">
88402f4aeb0Sopenharmony_ci	    <xsl:number value="$p3" format="0001"/>
88502f4aeb0Sopenharmony_ci	    <xsl:text>-11-</xsl:text>
88602f4aeb0Sopenharmony_ci	    <xsl:number value="$p2" format="01"/>
88702f4aeb0Sopenharmony_ci	  </xsl:when>
88802f4aeb0Sopenharmony_ci	  <xsl:when test="$p1 = 'Dec' or $p1 = 'December'">
88902f4aeb0Sopenharmony_ci	    <xsl:number value="$p3" format="0001"/>
89002f4aeb0Sopenharmony_ci	    <xsl:text>-12-</xsl:text>
89102f4aeb0Sopenharmony_ci	    <xsl:number value="$p2" format="01"/>
89202f4aeb0Sopenharmony_ci	  </xsl:when>
89302f4aeb0Sopenharmony_ci	  <xsl:otherwise>
89402f4aeb0Sopenharmony_ci	    <xsl:apply-templates/>
89502f4aeb0Sopenharmony_ci	  </xsl:otherwise>
89602f4aeb0Sopenharmony_ci	</xsl:choose>
89702f4aeb0Sopenharmony_ci      </xsl:when>
89802f4aeb0Sopenharmony_ci      <xsl:otherwise>
89902f4aeb0Sopenharmony_ci	<xsl:apply-templates/>
90002f4aeb0Sopenharmony_ci      </xsl:otherwise>
90102f4aeb0Sopenharmony_ci    </xsl:choose>
90202f4aeb0Sopenharmony_ci  </xsl:variable>
90302f4aeb0Sopenharmony_ci
90402f4aeb0Sopenharmony_ci  <xsl:choose>
90502f4aeb0Sopenharmony_ci    <xsl:when test="normalize-space($date) != normalize-space(.)">
90602f4aeb0Sopenharmony_ci      <xsl:call-template name="emit-message">
90702f4aeb0Sopenharmony_ci        <xsl:with-param name="message">
90802f4aeb0Sopenharmony_ci          <xsl:text>Converted </xsl:text>
90902f4aeb0Sopenharmony_ci          <xsl:value-of select="normalize-space(.)"/>
91002f4aeb0Sopenharmony_ci          <xsl:text> into </xsl:text>
91102f4aeb0Sopenharmony_ci          <xsl:value-of select="$date"/>
91202f4aeb0Sopenharmony_ci          <xsl:text> for </xsl:text>
91302f4aeb0Sopenharmony_ci          <xsl:value-of select="name(.)"/>
91402f4aeb0Sopenharmony_ci        </xsl:with-param>
91502f4aeb0Sopenharmony_ci      </xsl:call-template>
91602f4aeb0Sopenharmony_ci
91702f4aeb0Sopenharmony_ci      <xsl:copy>
91802f4aeb0Sopenharmony_ci	<xsl:copy-of select="@*"/>
91902f4aeb0Sopenharmony_ci	<xsl:value-of select="$date"/>
92002f4aeb0Sopenharmony_ci      </xsl:copy>
92102f4aeb0Sopenharmony_ci    </xsl:when>
92202f4aeb0Sopenharmony_ci
92302f4aeb0Sopenharmony_ci    <xsl:when test="$defaultDate != ''">
92402f4aeb0Sopenharmony_ci      <xsl:call-template name="emit-message">
92502f4aeb0Sopenharmony_ci        <xsl:with-param name="message">
92602f4aeb0Sopenharmony_ci          <xsl:text>Unparseable date: </xsl:text>
92702f4aeb0Sopenharmony_ci          <xsl:value-of select="normalize-space(.)"/>
92802f4aeb0Sopenharmony_ci          <xsl:text> in </xsl:text>
92902f4aeb0Sopenharmony_ci          <xsl:value-of select="name(.)"/>
93002f4aeb0Sopenharmony_ci          <xsl:text> (Using default: </xsl:text>
93102f4aeb0Sopenharmony_ci          <xsl:value-of select="$defaultDate"/>
93202f4aeb0Sopenharmony_ci          <xsl:text>)</xsl:text>
93302f4aeb0Sopenharmony_ci        </xsl:with-param>
93402f4aeb0Sopenharmony_ci      </xsl:call-template>
93502f4aeb0Sopenharmony_ci
93602f4aeb0Sopenharmony_ci      <xsl:copy>
93702f4aeb0Sopenharmony_ci	<xsl:copy-of select="@*"/>
93802f4aeb0Sopenharmony_ci	<xsl:copy-of select="$defaultDate"/>
93902f4aeb0Sopenharmony_ci	<xsl:comment>
94002f4aeb0Sopenharmony_ci	  <xsl:value-of select="."/>
94102f4aeb0Sopenharmony_ci	</xsl:comment>
94202f4aeb0Sopenharmony_ci      </xsl:copy>
94302f4aeb0Sopenharmony_ci    </xsl:when>
94402f4aeb0Sopenharmony_ci
94502f4aeb0Sopenharmony_ci    <xsl:otherwise>
94602f4aeb0Sopenharmony_ci      <!-- these don't really matter anymore
94702f4aeb0Sopenharmony_ci           <xsl:call-template name="emit-message">
94802f4aeb0Sopenharmony_ci           <xsl:with-param name="message">
94902f4aeb0Sopenharmony_ci           <xsl:text>Unparseable date: </xsl:text>
95002f4aeb0Sopenharmony_ci           <xsl:value-of select="normalize-space(.)"/>
95102f4aeb0Sopenharmony_ci           <xsl:text> in </xsl:text>
95202f4aeb0Sopenharmony_ci           <xsl:value-of select="name(.)"/>
95302f4aeb0Sopenharmony_ci           </xsl:with-param>
95402f4aeb0Sopenharmony_ci           </xsl:call-template>
95502f4aeb0Sopenharmony_ci      -->
95602f4aeb0Sopenharmony_ci      <xsl:copy>
95702f4aeb0Sopenharmony_ci	<xsl:copy-of select="@*"/>
95802f4aeb0Sopenharmony_ci	<xsl:apply-templates/>
95902f4aeb0Sopenharmony_ci      </xsl:copy>
96002f4aeb0Sopenharmony_ci    </xsl:otherwise>
96102f4aeb0Sopenharmony_ci  </xsl:choose>      
96202f4aeb0Sopenharmony_ci</xsl:template>
96302f4aeb0Sopenharmony_ci
96402f4aeb0Sopenharmony_ci<xsl:template match="title|subtitle|titleabbrev" priority="300">
96502f4aeb0Sopenharmony_ci  <xsl:variable name="local.name" select="local-name(.)"/>
96602f4aeb0Sopenharmony_ci  <xsl:variable name="parent.name" select="local-name(..)"/>
96702f4aeb0Sopenharmony_ci
96802f4aeb0Sopenharmony_ci  <!-- First three tests drop element if parent ZZZ already has
96902f4aeb0Sopenharmony_ci       ZZZinfo/title (or subtitle, or titleabbrev). -->
97002f4aeb0Sopenharmony_ci  <xsl:choose>
97102f4aeb0Sopenharmony_ci    <xsl:when test="../*[local-name(.) = concat($parent.name, 'info')]/*[local-name(.) = $local.name]">
97202f4aeb0Sopenharmony_ci      <xsl:call-template name="emit-message">
97302f4aeb0Sopenharmony_ci        <xsl:with-param name="message">
97402f4aeb0Sopenharmony_ci          <xsl:text>Check </xsl:text>
97502f4aeb0Sopenharmony_ci          <xsl:value-of select="$parent.name"/>
97602f4aeb0Sopenharmony_ci          <xsl:text> title.</xsl:text>
97702f4aeb0Sopenharmony_ci        </xsl:with-param>
97802f4aeb0Sopenharmony_ci      </xsl:call-template>
97902f4aeb0Sopenharmony_ci    </xsl:when>
98002f4aeb0Sopenharmony_ci    <!-- Before 4.0, <articleinfo> was known as <artheader> -->
98102f4aeb0Sopenharmony_ci    <xsl:when test="$parent.name = 'article' and ../artheader/*[local-name(.) = $local.name]">
98202f4aeb0Sopenharmony_ci      <xsl:call-template name="emit-message">
98302f4aeb0Sopenharmony_ci        <xsl:with-param name="message">
98402f4aeb0Sopenharmony_ci          <xsl:text>Check </xsl:text>
98502f4aeb0Sopenharmony_ci          <xsl:value-of select="$parent.name"/>
98602f4aeb0Sopenharmony_ci          <xsl:text> title.</xsl:text>
98702f4aeb0Sopenharmony_ci        </xsl:with-param>
98802f4aeb0Sopenharmony_ci      </xsl:call-template>
98902f4aeb0Sopenharmony_ci    </xsl:when>
99002f4aeb0Sopenharmony_ci   <xsl:when test="../blockinfo/*[local-name(.) = $local.name]">
99102f4aeb0Sopenharmony_ci      <xsl:call-template name="emit-message">
99202f4aeb0Sopenharmony_ci        <xsl:with-param name="message">
99302f4aeb0Sopenharmony_ci          <xsl:text>Check </xsl:text>
99402f4aeb0Sopenharmony_ci          <xsl:value-of select="$parent.name"/>
99502f4aeb0Sopenharmony_ci          <xsl:text> title.</xsl:text>
99602f4aeb0Sopenharmony_ci        </xsl:with-param>
99702f4aeb0Sopenharmony_ci      </xsl:call-template>
99802f4aeb0Sopenharmony_ci    </xsl:when>
99902f4aeb0Sopenharmony_ci    <!-- always drop title, subtitle, and titleabbrev from refentryinfo -->
100002f4aeb0Sopenharmony_ci    <xsl:when test="$parent.name = 'refentryinfo'">
100102f4aeb0Sopenharmony_ci      <xsl:call-template name="emit-message">
100202f4aeb0Sopenharmony_ci        <xsl:with-param name="message">
100302f4aeb0Sopenharmony_ci          <xsl:text>Removing title in refentryinfo.</xsl:text>
100402f4aeb0Sopenharmony_ci        </xsl:with-param>
100502f4aeb0Sopenharmony_ci      </xsl:call-template>      
100602f4aeb0Sopenharmony_ci    </xsl:when>
100702f4aeb0Sopenharmony_ci    <!-- Also drop title, subtitle, and titleabbrev when they appear after info.
100802f4aeb0Sopenharmony_ci         The title is picked up and moved either into or before the info element
100902f4aeb0Sopenharmony_ci         in the templates that handle info elements. -->
101002f4aeb0Sopenharmony_ci    <xsl:when test="preceding-sibling::*[local-name(.) = concat($parent.name, 'info')]">
101102f4aeb0Sopenharmony_ci      <xsl:call-template name="emit-message">
101202f4aeb0Sopenharmony_ci        <xsl:with-param name="message">
101302f4aeb0Sopenharmony_ci          <xsl:text>Removing </xsl:text><xsl:value-of select="$local.name"/>
101402f4aeb0Sopenharmony_ci          <xsl:text> after </xsl:text><xsl:value-of select="$parent.name"/><xsl:text>info. Moved before or inside info.</xsl:text>
101502f4aeb0Sopenharmony_ci        </xsl:with-param>
101602f4aeb0Sopenharmony_ci      </xsl:call-template> 
101702f4aeb0Sopenharmony_ci    </xsl:when>
101802f4aeb0Sopenharmony_ci    <!-- this covers block elements that use blockinfo-->
101902f4aeb0Sopenharmony_ci    <xsl:when test="preceding-sibling::blockinfo">
102002f4aeb0Sopenharmony_ci      <xsl:call-template name="emit-message">
102102f4aeb0Sopenharmony_ci        <xsl:with-param name="message">
102202f4aeb0Sopenharmony_ci          <xsl:text>Removing </xsl:text><xsl:value-of select="$local.name"/>
102302f4aeb0Sopenharmony_ci          <xsl:text> after blockinfo. Moved before or inside info.</xsl:text>
102402f4aeb0Sopenharmony_ci        </xsl:with-param>
102502f4aeb0Sopenharmony_ci      </xsl:call-template>
102602f4aeb0Sopenharmony_ci    </xsl:when>
102702f4aeb0Sopenharmony_ci    <!-- The next clause removes title, subtitle, or titleabbrev if it was
102802f4aeb0Sopenharmony_ci         moved inside the info block. Only happens when one or more of these
102902f4aeb0Sopenharmony_ci         elements occurs both inside and outside the info element. -->
103002f4aeb0Sopenharmony_ci    <xsl:when test="following-sibling::bookinfo[title|subtitle|titleabbrev] or
103102f4aeb0Sopenharmony_ci                    following-sibling::articleinfo[title|subtitle|titleabbrev] or
103202f4aeb0Sopenharmony_ci                    following-sibling::artheader[title|subtitle|titleabbrev] or
103302f4aeb0Sopenharmony_ci                    following-sibling::setinfo[title|subtitle|titleabbrev]">
103402f4aeb0Sopenharmony_ci      <xsl:call-template name="emit-message">
103502f4aeb0Sopenharmony_ci        <xsl:with-param name="message">
103602f4aeb0Sopenharmony_ci          <xsl:text>Removing </xsl:text><xsl:value-of select="$local.name"/>
103702f4aeb0Sopenharmony_ci          <xsl:text>. Has been moved inside info.</xsl:text>
103802f4aeb0Sopenharmony_ci        </xsl:with-param>
103902f4aeb0Sopenharmony_ci      </xsl:call-template>
104002f4aeb0Sopenharmony_ci    </xsl:when>
104102f4aeb0Sopenharmony_ci    <xsl:otherwise>
104202f4aeb0Sopenharmony_ci      <xsl:copy>
104302f4aeb0Sopenharmony_ci        <xsl:call-template name="copy.attributes"/>
104402f4aeb0Sopenharmony_ci        <xsl:apply-templates/>
104502f4aeb0Sopenharmony_ci      </xsl:copy>
104602f4aeb0Sopenharmony_ci    </xsl:otherwise>
104702f4aeb0Sopenharmony_ci  </xsl:choose>
104802f4aeb0Sopenharmony_ci</xsl:template>
104902f4aeb0Sopenharmony_ci
105002f4aeb0Sopenharmony_ci<!-- Allow abstract inside valid biblio* elements, and inside info elements, otherwise drop -->
105102f4aeb0Sopenharmony_ci<xsl:template match="abstract" priority="300">
105202f4aeb0Sopenharmony_ci  <xsl:choose>
105302f4aeb0Sopenharmony_ci    <xsl:when test="not(contains(name(parent::*),'info'))
105402f4aeb0Sopenharmony_ci                    and not(parent::biblioentry) and not(parent::bibliomixed)
105502f4aeb0Sopenharmony_ci                    and not(parent::bibliomset)  and not(parent::biblioset)">
105602f4aeb0Sopenharmony_ci      <xsl:call-template name="emit-message">
105702f4aeb0Sopenharmony_ci        <xsl:with-param name="message">
105802f4aeb0Sopenharmony_ci          <xsl:text>CHECK abstract: removed from output (invalid location in 5.0).</xsl:text>
105902f4aeb0Sopenharmony_ci        </xsl:with-param>
106002f4aeb0Sopenharmony_ci      </xsl:call-template>
106102f4aeb0Sopenharmony_ci    </xsl:when>
106202f4aeb0Sopenharmony_ci    <xsl:otherwise>
106302f4aeb0Sopenharmony_ci      <xsl:apply-templates select="." mode="copy"/>
106402f4aeb0Sopenharmony_ci    </xsl:otherwise>
106502f4aeb0Sopenharmony_ci  </xsl:choose>
106602f4aeb0Sopenharmony_ci</xsl:template>
106702f4aeb0Sopenharmony_ci
106802f4aeb0Sopenharmony_ci<xsl:template match="indexterm">
106902f4aeb0Sopenharmony_ci  <!-- don't copy the defaulted significance='normal' attribute -->
107002f4aeb0Sopenharmony_ci  <indexterm>
107102f4aeb0Sopenharmony_ci    <xsl:call-template name="copy.attributes">
107202f4aeb0Sopenharmony_ci      <xsl:with-param name="suppress">
107302f4aeb0Sopenharmony_ci	<xsl:if test="@significance = 'normal'">significance</xsl:if>
107402f4aeb0Sopenharmony_ci      </xsl:with-param>
107502f4aeb0Sopenharmony_ci    </xsl:call-template>
107602f4aeb0Sopenharmony_ci    <xsl:apply-templates/>
107702f4aeb0Sopenharmony_ci  </indexterm>
107802f4aeb0Sopenharmony_ci</xsl:template>
107902f4aeb0Sopenharmony_ci
108002f4aeb0Sopenharmony_ci<xsl:template match="ackno" priority="200">
108102f4aeb0Sopenharmony_ci  <acknowledgements>
108202f4aeb0Sopenharmony_ci    <xsl:copy-of select="@*"/>
108302f4aeb0Sopenharmony_ci    <para>
108402f4aeb0Sopenharmony_ci      <xsl:apply-templates/>
108502f4aeb0Sopenharmony_ci    </para>
108602f4aeb0Sopenharmony_ci  </acknowledgements>
108702f4aeb0Sopenharmony_ci</xsl:template>
108802f4aeb0Sopenharmony_ci
108902f4aeb0Sopenharmony_ci<xsl:template match="lot|lotentry|tocback|tocchap|tocfront|toclevel1|
109002f4aeb0Sopenharmony_ci		     toclevel2|toclevel3|toclevel4|toclevel5|tocpart" priority="200">
109102f4aeb0Sopenharmony_ci  <tocdiv>
109202f4aeb0Sopenharmony_ci    <xsl:copy-of select="@*"/>
109302f4aeb0Sopenharmony_ci    <xsl:apply-templates/>
109402f4aeb0Sopenharmony_ci  </tocdiv>
109502f4aeb0Sopenharmony_ci</xsl:template>
109602f4aeb0Sopenharmony_ci
109702f4aeb0Sopenharmony_ci<xsl:template match="action" priority="200">
109802f4aeb0Sopenharmony_ci  <phrase remap="action">
109902f4aeb0Sopenharmony_ci    <xsl:call-template name="copy.attributes"/>
110002f4aeb0Sopenharmony_ci    <xsl:apply-templates/>
110102f4aeb0Sopenharmony_ci  </phrase>
110202f4aeb0Sopenharmony_ci</xsl:template>
110302f4aeb0Sopenharmony_ci
110402f4aeb0Sopenharmony_ci<xsl:template match="beginpage" priority="200">
110502f4aeb0Sopenharmony_ci  <xsl:comment> beginpage pagenum=<xsl:value-of select="@pagenum"/> </xsl:comment>
110602f4aeb0Sopenharmony_ci  <xsl:call-template name="emit-message">
110702f4aeb0Sopenharmony_ci    <xsl:with-param name="message">
110802f4aeb0Sopenharmony_ci      <xsl:text>Replacing beginpage with comment</xsl:text>
110902f4aeb0Sopenharmony_ci    </xsl:with-param>
111002f4aeb0Sopenharmony_ci  </xsl:call-template>
111102f4aeb0Sopenharmony_ci</xsl:template>
111202f4aeb0Sopenharmony_ci
111302f4aeb0Sopenharmony_ci<xsl:template match="structname|structfield" priority="200">
111402f4aeb0Sopenharmony_ci  <varname remap="{local-name(.)}">
111502f4aeb0Sopenharmony_ci    <xsl:call-template name="copy.attributes"/>
111602f4aeb0Sopenharmony_ci    <xsl:apply-templates/>
111702f4aeb0Sopenharmony_ci  </varname>
111802f4aeb0Sopenharmony_ci</xsl:template>
111902f4aeb0Sopenharmony_ci  
112002f4aeb0Sopenharmony_ci<!-- ====================================================================== -->
112102f4aeb0Sopenharmony_ci<!-- glossterm and term have broader content models in 4.x than 5.0.
112202f4aeb0Sopenharmony_ci     Warn when an unsupported element is found under glossterm.
112302f4aeb0Sopenharmony_ci     Because the synopsis elements can contain things that phrase cannot,
112402f4aeb0Sopenharmony_ci     leave them as is and warn.
112502f4aeb0Sopenharmony_ci     For other elements, change them into phrase recursively and lose attributes.
112602f4aeb0Sopenharmony_ci-->
112702f4aeb0Sopenharmony_ci<xsl:template match="glossterm|term">
112802f4aeb0Sopenharmony_ci  <xsl:element name="{local-name(.)}">
112902f4aeb0Sopenharmony_ci    <xsl:call-template name="copy.attributes"/>
113002f4aeb0Sopenharmony_ci    <xsl:apply-templates mode="clean-terms"/>
113102f4aeb0Sopenharmony_ci  </xsl:element>
113202f4aeb0Sopenharmony_ci</xsl:template>
113302f4aeb0Sopenharmony_ci
113402f4aeb0Sopenharmony_ci<!-- Any other elements inside term or glossterm which doesn't have a
113502f4aeb0Sopenharmony_ci     template rule are copied 
113602f4aeb0Sopenharmony_ci-->
113702f4aeb0Sopenharmony_ci<xsl:template match="*" mode="clean-terms">
113802f4aeb0Sopenharmony_ci    <xsl:apply-templates select="." mode="copy"/>
113902f4aeb0Sopenharmony_ci</xsl:template>
114002f4aeb0Sopenharmony_ci  
114102f4aeb0Sopenharmony_ci
114202f4aeb0Sopenharmony_ci<!-- The synopsis elements have child elements that don't work inside phrase, plus
114302f4aeb0Sopenharmony_ci     they have attributes that shouldn't be lost. So, leave as is, but warn. -->
114402f4aeb0Sopenharmony_ci<xsl:template match="classsynopsis|cmdsynopsis|constructorsynopsis
114502f4aeb0Sopenharmony_ci                     |destructorsynopsis|fieldsynopsis|methodsynopsis|synopsis" mode="clean-terms">
114602f4aeb0Sopenharmony_ci  <xsl:call-template name="emit-message">
114702f4aeb0Sopenharmony_ci    <xsl:with-param name="message">
114802f4aeb0Sopenharmony_ci      <xsl:text>CHECK OUTPUT: Found </xsl:text><xsl:value-of select="local-name(.)"/>
114902f4aeb0Sopenharmony_ci      <xsl:text> inside </xsl:text><xsl:value-of select="local-name(..)"/>
115002f4aeb0Sopenharmony_ci    </xsl:with-param>
115102f4aeb0Sopenharmony_ci  </xsl:call-template>
115202f4aeb0Sopenharmony_ci  <xsl:element name="{local-name(.)}">
115302f4aeb0Sopenharmony_ci    <xsl:call-template name="copy.attributes"/>
115402f4aeb0Sopenharmony_ci    <xsl:apply-templates/>
115502f4aeb0Sopenharmony_ci  </xsl:element>
115602f4aeb0Sopenharmony_ci</xsl:template>
115702f4aeb0Sopenharmony_ci
115802f4aeb0Sopenharmony_ci<!-- The following elements probably can be safely turned into phrase recursively -->
115902f4aeb0Sopenharmony_ci<xsl:template match="authorinitials|corpcredit|interface|medialabel|othercredit|revhistory" mode="clean-terms">
116002f4aeb0Sopenharmony_ci  <xsl:call-template name="emit-message">
116102f4aeb0Sopenharmony_ci    <xsl:with-param name="message">
116202f4aeb0Sopenharmony_ci      <xsl:text>Replacing </xsl:text><xsl:value-of select="local-name(.)"/>
116302f4aeb0Sopenharmony_ci      <xsl:text> inside </xsl:text><xsl:value-of select="local-name(..)"/>
116402f4aeb0Sopenharmony_ci      <xsl:text> with phrase.</xsl:text>
116502f4aeb0Sopenharmony_ci    </xsl:with-param>
116602f4aeb0Sopenharmony_ci  </xsl:call-template>
116702f4aeb0Sopenharmony_ci  <phrase remap="{local-name(.)}">
116802f4aeb0Sopenharmony_ci    <!-- Don't copy attributes -->
116902f4aeb0Sopenharmony_ci    <xsl:apply-templates mode="make-phrase"/>
117002f4aeb0Sopenharmony_ci  </phrase>
117102f4aeb0Sopenharmony_ci</xsl:template>
117202f4aeb0Sopenharmony_ci
117302f4aeb0Sopenharmony_ci<!-- affiliation can appear in a much smaller number of elements in 5.0. But, it contains
117402f4aeb0Sopenharmony_ci     elements that cannot appear in a phrase. So, replace all child elements, recursively,
117502f4aeb0Sopenharmony_ci     with <phrase remap="element name"...  Don't keep attributes, which won't work on phrase. -->
117602f4aeb0Sopenharmony_ci
117702f4aeb0Sopenharmony_ci<xsl:template match="affiliation[not(parent::author) and not(parent::collab) and not(parent::editor) and not(parent::org) and not(parent::othercredit) and not(parent::person)]">
117802f4aeb0Sopenharmony_ci    <xsl:call-template name="emit-message">
117902f4aeb0Sopenharmony_ci    <xsl:with-param name="message">
118002f4aeb0Sopenharmony_ci      <xsl:text>CHECK OUTPUT: Converting </xsl:text><xsl:value-of select="local-name(.)"/>
118102f4aeb0Sopenharmony_ci      <xsl:text> to phrase in </xsl:text><xsl:value-of select="local-name(..)"/>
118202f4aeb0Sopenharmony_ci    </xsl:with-param>
118302f4aeb0Sopenharmony_ci  </xsl:call-template>
118402f4aeb0Sopenharmony_ci  <phrase remap="{local-name(.)}">
118502f4aeb0Sopenharmony_ci    <!-- Don't copy attributes -->
118602f4aeb0Sopenharmony_ci    <xsl:apply-templates mode="make-phrase"/>
118702f4aeb0Sopenharmony_ci  </phrase>
118802f4aeb0Sopenharmony_ci</xsl:template>
118902f4aeb0Sopenharmony_ci
119002f4aeb0Sopenharmony_ci<!-- This template recursively changes an element with remap="name of element".
119102f4aeb0Sopenharmony_ci     Does this recursively through children. -->
119202f4aeb0Sopenharmony_ci<xsl:template match="*" mode="make-phrase">
119302f4aeb0Sopenharmony_ci  <phrase remap="{local-name(.)}">
119402f4aeb0Sopenharmony_ci    <!-- Don't copy attributes -->
119502f4aeb0Sopenharmony_ci    <xsl:apply-templates mode="make-phrase"/>
119602f4aeb0Sopenharmony_ci  </phrase>
119702f4aeb0Sopenharmony_ci</xsl:template>
119802f4aeb0Sopenharmony_ci
119902f4aeb0Sopenharmony_ci<!-- ====================================================================== -->
120002f4aeb0Sopenharmony_ci
120102f4aeb0Sopenharmony_ci<!-- 6 Feb 2008, ndw changed mode=copy so that it only copies the first level,
120202f4aeb0Sopenharmony_ci     then it switches back to "normal" mode so that other rewriting templates
120302f4aeb0Sopenharmony_ci     catch embedded fixes -->
120402f4aeb0Sopenharmony_ci
120502f4aeb0Sopenharmony_ci<!--
120602f4aeb0Sopenharmony_ci<xsl:template match="ulink" priority="200" mode="copy">
120702f4aeb0Sopenharmony_ci  <xsl:choose>
120802f4aeb0Sopenharmony_ci    <xsl:when test="node()">
120902f4aeb0Sopenharmony_ci      <xsl:call-template name="emit-message">
121002f4aeb0Sopenharmony_ci        <xsl:with-param name="message">
121102f4aeb0Sopenharmony_ci          <xsl:text>Converting ulink to phrase.</xsl:text>
121202f4aeb0Sopenharmony_ci        </xsl:with-param>
121302f4aeb0Sopenharmony_ci      </xsl:call-template>
121402f4aeb0Sopenharmony_ci
121502f4aeb0Sopenharmony_ci      <phrase xlink:href="{@url}">
121602f4aeb0Sopenharmony_ci	<xsl:call-template name="copy.attributes">
121702f4aeb0Sopenharmony_ci	  <xsl:with-param name="suppress" select="'url'"/>
121802f4aeb0Sopenharmony_ci	</xsl:call-template>
121902f4aeb0Sopenharmony_ci	<xsl:apply-templates/>
122002f4aeb0Sopenharmony_ci      </phrase>
122102f4aeb0Sopenharmony_ci    </xsl:when>
122202f4aeb0Sopenharmony_ci    <xsl:otherwise>
122302f4aeb0Sopenharmony_ci      <xsl:call-template name="emit-message">
122402f4aeb0Sopenharmony_ci        <xsl:with-param name="message">
122502f4aeb0Sopenharmony_ci          <xsl:text>Converting ulink to uri.</xsl:text>
122602f4aeb0Sopenharmony_ci        </xsl:with-param>
122702f4aeb0Sopenharmony_ci      </xsl:call-template>
122802f4aeb0Sopenharmony_ci
122902f4aeb0Sopenharmony_ci      <uri xlink:href="{@url}">
123002f4aeb0Sopenharmony_ci	<xsl:call-template name="copy.attributes">
123102f4aeb0Sopenharmony_ci	  <xsl:with-param name="suppress" select="'url'"/>
123202f4aeb0Sopenharmony_ci	</xsl:call-template>
123302f4aeb0Sopenharmony_ci	<xsl:value-of select="@url"/>
123402f4aeb0Sopenharmony_ci      </uri>
123502f4aeb0Sopenharmony_ci    </xsl:otherwise>
123602f4aeb0Sopenharmony_ci  </xsl:choose>
123702f4aeb0Sopenharmony_ci</xsl:template>
123802f4aeb0Sopenharmony_ci
123902f4aeb0Sopenharmony_ci<xsl:template match="sgmltag" priority="200" mode="copy">
124002f4aeb0Sopenharmony_ci  <tag>
124102f4aeb0Sopenharmony_ci    <xsl:call-template name="copy.attributes"/>
124202f4aeb0Sopenharmony_ci    <xsl:apply-templates/>
124302f4aeb0Sopenharmony_ci  </tag>
124402f4aeb0Sopenharmony_ci</xsl:template>
124502f4aeb0Sopenharmony_ci-->
124602f4aeb0Sopenharmony_ci
124702f4aeb0Sopenharmony_ci<xsl:template match="*" mode="copy">
124802f4aeb0Sopenharmony_ci  <xsl:copy>
124902f4aeb0Sopenharmony_ci    <xsl:call-template name="copy.attributes"/>
125002f4aeb0Sopenharmony_ci    <xsl:apply-templates/>
125102f4aeb0Sopenharmony_ci  </xsl:copy>
125202f4aeb0Sopenharmony_ci</xsl:template>
125302f4aeb0Sopenharmony_ci
125402f4aeb0Sopenharmony_ci<!--
125502f4aeb0Sopenharmony_ci<xsl:template match="comment()|processing-instruction()|text()" mode="copy">
125602f4aeb0Sopenharmony_ci  <xsl:copy/>
125702f4aeb0Sopenharmony_ci</xsl:template>
125802f4aeb0Sopenharmony_ci-->
125902f4aeb0Sopenharmony_ci
126002f4aeb0Sopenharmony_ci<!-- ====================================================================== -->
126102f4aeb0Sopenharmony_ci
126202f4aeb0Sopenharmony_ci<xsl:template match="*">
126302f4aeb0Sopenharmony_ci  <xsl:copy>
126402f4aeb0Sopenharmony_ci    <xsl:call-template name="copy.attributes"/>
126502f4aeb0Sopenharmony_ci    <xsl:apply-templates/>
126602f4aeb0Sopenharmony_ci  </xsl:copy>
126702f4aeb0Sopenharmony_ci</xsl:template>
126802f4aeb0Sopenharmony_ci
126902f4aeb0Sopenharmony_ci<xsl:template match="comment()|processing-instruction()|text()">
127002f4aeb0Sopenharmony_ci  <xsl:copy/>
127102f4aeb0Sopenharmony_ci</xsl:template>
127202f4aeb0Sopenharmony_ci
127302f4aeb0Sopenharmony_ci<!-- ====================================================================== -->
127402f4aeb0Sopenharmony_ci
127502f4aeb0Sopenharmony_ci<xsl:template name="copy.attributes">
127602f4aeb0Sopenharmony_ci  <xsl:param name="src" select="."/>
127702f4aeb0Sopenharmony_ci  <xsl:param name="suppress" select="''"/>
127802f4aeb0Sopenharmony_ci  <xsl:param name="suppress.default" select="''"/>
127902f4aeb0Sopenharmony_ci
128002f4aeb0Sopenharmony_ci  <xsl:for-each select="$src/@*">
128102f4aeb0Sopenharmony_ci    <xsl:variable name="suppressed.value">
128202f4aeb0Sopenharmony_ci      <xsl:choose>
128302f4aeb0Sopenharmony_ci	<xsl:when test="not(contains($suppress.default, concat(local-name(.),'=')))">
128402f4aeb0Sopenharmony_ci	  <xsl:text>this-value-never-matches</xsl:text>
128502f4aeb0Sopenharmony_ci	</xsl:when>
128602f4aeb0Sopenharmony_ci	<xsl:otherwise>
128702f4aeb0Sopenharmony_ci	  <xsl:value-of select="substring-before(substring-after(concat($suppress.default,' '), concat(local-name(.),'=')),' ')"/>
128802f4aeb0Sopenharmony_ci	</xsl:otherwise>
128902f4aeb0Sopenharmony_ci      </xsl:choose>
129002f4aeb0Sopenharmony_ci    </xsl:variable>
129102f4aeb0Sopenharmony_ci
129202f4aeb0Sopenharmony_ci    <xsl:choose>
129302f4aeb0Sopenharmony_ci      <xsl:when test="local-name(.) = 'moreinfo'">
129402f4aeb0Sopenharmony_ci        <xsl:call-template name="emit-message">
129502f4aeb0Sopenharmony_ci          <xsl:with-param name="message">
129602f4aeb0Sopenharmony_ci            <xsl:text>Discarding moreinfo on </xsl:text>
129702f4aeb0Sopenharmony_ci            <xsl:value-of select="local-name($src)"/>
129802f4aeb0Sopenharmony_ci          </xsl:with-param>
129902f4aeb0Sopenharmony_ci        </xsl:call-template>
130002f4aeb0Sopenharmony_ci      </xsl:when>
130102f4aeb0Sopenharmony_ci      <xsl:when test="local-name(.) = 'lang'">
130202f4aeb0Sopenharmony_ci        <xsl:attribute name="xml:lang">
130302f4aeb0Sopenharmony_ci          <xsl:value-of select="."/>
130402f4aeb0Sopenharmony_ci        </xsl:attribute>
130502f4aeb0Sopenharmony_ci      </xsl:when>
130602f4aeb0Sopenharmony_ci      <xsl:when test="local-name(.) = 'id'">
130702f4aeb0Sopenharmony_ci        <xsl:attribute name="xml:id">
130802f4aeb0Sopenharmony_ci          <xsl:value-of select="."/>
130902f4aeb0Sopenharmony_ci        </xsl:attribute>
131002f4aeb0Sopenharmony_ci      </xsl:when>
131102f4aeb0Sopenharmony_ci      <xsl:when test="$suppress = local-name(.)"/>
131202f4aeb0Sopenharmony_ci      <xsl:when test=". = $suppressed.value"/>
131302f4aeb0Sopenharmony_ci      <xsl:when test="local-name(.) = 'float'">
131402f4aeb0Sopenharmony_ci	<xsl:choose>
131502f4aeb0Sopenharmony_ci	  <xsl:when test=". = '1'">
131602f4aeb0Sopenharmony_ci            <xsl:call-template name="emit-message">
131702f4aeb0Sopenharmony_ci              <xsl:with-param name="message">
131802f4aeb0Sopenharmony_ci                <xsl:text>Discarding float on </xsl:text>
131902f4aeb0Sopenharmony_ci                <xsl:value-of select="local-name($src)"/>
132002f4aeb0Sopenharmony_ci              </xsl:with-param>
132102f4aeb0Sopenharmony_ci            </xsl:call-template>
132202f4aeb0Sopenharmony_ci            <xsl:if test="not($src/@floatstyle)">
132302f4aeb0Sopenharmony_ci	      <xsl:call-template name="emit-message">
132402f4aeb0Sopenharmony_ci                <xsl:with-param name="message">
132502f4aeb0Sopenharmony_ci                  <xsl:text>Adding floatstyle='normal' on </xsl:text>
132602f4aeb0Sopenharmony_ci                  <xsl:value-of select="local-name($src)"/>
132702f4aeb0Sopenharmony_ci                </xsl:with-param>
132802f4aeb0Sopenharmony_ci              </xsl:call-template>
132902f4aeb0Sopenharmony_ci              <xsl:attribute name="floatstyle">
133002f4aeb0Sopenharmony_ci                <xsl:text>normal</xsl:text>
133102f4aeb0Sopenharmony_ci	      </xsl:attribute>
133202f4aeb0Sopenharmony_ci	    </xsl:if>
133302f4aeb0Sopenharmony_ci	  </xsl:when>
133402f4aeb0Sopenharmony_ci	  <xsl:when test=". = '0'">
133502f4aeb0Sopenharmony_ci	    <xsl:call-template name="emit-message">
133602f4aeb0Sopenharmony_ci              <xsl:with-param name="message">
133702f4aeb0Sopenharmony_ci                <xsl:text>Discarding float on </xsl:text>
133802f4aeb0Sopenharmony_ci                <xsl:value-of select="local-name($src)"/>
133902f4aeb0Sopenharmony_ci              </xsl:with-param>
134002f4aeb0Sopenharmony_ci            </xsl:call-template>
134102f4aeb0Sopenharmony_ci          </xsl:when>
134202f4aeb0Sopenharmony_ci	  <xsl:otherwise>
134302f4aeb0Sopenharmony_ci	    <xsl:call-template name="emit-message">
134402f4aeb0Sopenharmony_ci          <xsl:with-param name="message">
134502f4aeb0Sopenharmony_ci            <xsl:text>Discarding float on </xsl:text>
134602f4aeb0Sopenharmony_ci            <xsl:value-of select="local-name($src)"/>
134702f4aeb0Sopenharmony_ci          </xsl:with-param>
134802f4aeb0Sopenharmony_ci            </xsl:call-template>
134902f4aeb0Sopenharmony_ci            <xsl:if test="not($src/@floatstyle)">
135002f4aeb0Sopenharmony_ci              <xsl:call-template name="emit-message">
135102f4aeb0Sopenharmony_ci                <xsl:with-param name="message">
135202f4aeb0Sopenharmony_ci                  <xsl:text>Adding floatstyle='</xsl:text>
135302f4aeb0Sopenharmony_ci                  <xsl:value-of select="."/>
135402f4aeb0Sopenharmony_ci                  <xsl:text>' on </xsl:text>
135502f4aeb0Sopenharmony_ci                  <xsl:value-of select="local-name($src)"/>
135602f4aeb0Sopenharmony_ci                </xsl:with-param>
135702f4aeb0Sopenharmony_ci              </xsl:call-template>
135802f4aeb0Sopenharmony_ci              <xsl:attribute name="floatstyle">
135902f4aeb0Sopenharmony_ci		<xsl:value-of select="."/>
136002f4aeb0Sopenharmony_ci	      </xsl:attribute>
136102f4aeb0Sopenharmony_ci	    </xsl:if>
136202f4aeb0Sopenharmony_ci	  </xsl:otherwise>
136302f4aeb0Sopenharmony_ci	</xsl:choose>
136402f4aeb0Sopenharmony_ci      </xsl:when>
136502f4aeb0Sopenharmony_ci      <xsl:when test="local-name(.) = 'entityref'">
136602f4aeb0Sopenharmony_ci	<xsl:attribute name="fileref">
136702f4aeb0Sopenharmony_ci	  <xsl:value-of select="unparsed-entity-uri(@entityref)"/>
136802f4aeb0Sopenharmony_ci	</xsl:attribute>
136902f4aeb0Sopenharmony_ci      </xsl:when>
137002f4aeb0Sopenharmony_ci
137102f4aeb0Sopenharmony_ci      <xsl:when test="local-name($src) = 'simplemsgentry'
137202f4aeb0Sopenharmony_ci	              and local-name(.) = 'audience'">
137302f4aeb0Sopenharmony_ci        <xsl:attribute name="msgaud">
137402f4aeb0Sopenharmony_ci          <xsl:value-of select="."/>
137502f4aeb0Sopenharmony_ci        </xsl:attribute>
137602f4aeb0Sopenharmony_ci      </xsl:when>
137702f4aeb0Sopenharmony_ci      <xsl:when test="local-name($src) = 'simplemsgentry'
137802f4aeb0Sopenharmony_ci	              and local-name(.) = 'origin'">
137902f4aeb0Sopenharmony_ci        <xsl:attribute name="msgorig">
138002f4aeb0Sopenharmony_ci          <xsl:value-of select="."/>
138102f4aeb0Sopenharmony_ci        </xsl:attribute>
138202f4aeb0Sopenharmony_ci      </xsl:when>
138302f4aeb0Sopenharmony_ci      <xsl:when test="local-name($src) = 'simplemsgentry'
138402f4aeb0Sopenharmony_ci	              and local-name(.) = 'level'">
138502f4aeb0Sopenharmony_ci        <xsl:attribute name="msglevel">
138602f4aeb0Sopenharmony_ci          <xsl:value-of select="."/>
138702f4aeb0Sopenharmony_ci        </xsl:attribute>
138802f4aeb0Sopenharmony_ci      </xsl:when>
138902f4aeb0Sopenharmony_ci
139002f4aeb0Sopenharmony_ci      <!-- * for upgrading XSL litprog params documentation -->
139102f4aeb0Sopenharmony_ci      <xsl:when test="local-name($src) = 'refmiscinfo'
139202f4aeb0Sopenharmony_ci                      and local-name(.) = 'role'
139302f4aeb0Sopenharmony_ci                      and . = 'type'
139402f4aeb0Sopenharmony_ci                      ">
139502f4aeb0Sopenharmony_ci        <xsl:call-template name="emit-message">
139602f4aeb0Sopenharmony_ci          <xsl:with-param name="message">
139702f4aeb0Sopenharmony_ci            <xsl:text>Converting refmiscinfo@role=type to </xsl:text>
139802f4aeb0Sopenharmony_ci            <xsl:text>@class=other,otherclass=type</xsl:text>
139902f4aeb0Sopenharmony_ci          </xsl:with-param>
140002f4aeb0Sopenharmony_ci        </xsl:call-template>
140102f4aeb0Sopenharmony_ci        <xsl:attribute name="class">other</xsl:attribute>
140202f4aeb0Sopenharmony_ci        <xsl:attribute name="otherclass">type</xsl:attribute>
140302f4aeb0Sopenharmony_ci      </xsl:when>
140402f4aeb0Sopenharmony_ci
140502f4aeb0Sopenharmony_ci      <xsl:otherwise>
140602f4aeb0Sopenharmony_ci        <xsl:copy/>
140702f4aeb0Sopenharmony_ci      </xsl:otherwise>
140802f4aeb0Sopenharmony_ci    </xsl:choose>
140902f4aeb0Sopenharmony_ci  </xsl:for-each>
141002f4aeb0Sopenharmony_ci</xsl:template>
141102f4aeb0Sopenharmony_ci
141202f4aeb0Sopenharmony_ci<!-- ====================================================================== -->
141302f4aeb0Sopenharmony_ci
141402f4aeb0Sopenharmony_ci<xsl:template match="*" mode="addNS">
141502f4aeb0Sopenharmony_ci  <xsl:choose>
141602f4aeb0Sopenharmony_ci    <xsl:when test="namespace-uri(.) = ''">
141702f4aeb0Sopenharmony_ci      <xsl:element name="{local-name(.)}"
141802f4aeb0Sopenharmony_ci		   namespace="http://docbook.org/ns/docbook">
141902f4aeb0Sopenharmony_ci	<xsl:if test="not(ancestor::*[namespace-uri(.)=''])">
142002f4aeb0Sopenharmony_ci	  <xsl:attribute name="version"><xsl:value-of select="$db5.version.string"/></xsl:attribute>
142102f4aeb0Sopenharmony_ci	</xsl:if>
142202f4aeb0Sopenharmony_ci	<xsl:copy-of select="@*"/>
142302f4aeb0Sopenharmony_ci	<xsl:apply-templates mode="addNS"/>
142402f4aeb0Sopenharmony_ci      </xsl:element>
142502f4aeb0Sopenharmony_ci    </xsl:when>
142602f4aeb0Sopenharmony_ci    <xsl:otherwise>
142702f4aeb0Sopenharmony_ci      <xsl:copy>
142802f4aeb0Sopenharmony_ci      <xsl:if test="namespace-uri(.) = 'http://docbook.org/ns/docbook' and
142902f4aeb0Sopenharmony_ci	      not(ancestor::*[namespace-uri(.)='http://docbook.org/ns/docbook'])">
143002f4aeb0Sopenharmony_ci	  <xsl:attribute name="version"><xsl:value-of select="$db5.version.string"/></xsl:attribute>
143102f4aeb0Sopenharmony_ci	</xsl:if>
143202f4aeb0Sopenharmony_ci	<xsl:copy-of select="@*"/>
143302f4aeb0Sopenharmony_ci	<xsl:apply-templates mode="addNS"/>
143402f4aeb0Sopenharmony_ci      </xsl:copy>
143502f4aeb0Sopenharmony_ci    </xsl:otherwise>
143602f4aeb0Sopenharmony_ci  </xsl:choose>
143702f4aeb0Sopenharmony_ci</xsl:template>
143802f4aeb0Sopenharmony_ci
143902f4aeb0Sopenharmony_ci<xsl:template match="comment()|processing-instruction()|text()" mode="addNS">
144002f4aeb0Sopenharmony_ci  <xsl:copy/>
144102f4aeb0Sopenharmony_ci</xsl:template>
144202f4aeb0Sopenharmony_ci
144302f4aeb0Sopenharmony_ci<!-- ====================================================================== -->
144402f4aeb0Sopenharmony_ci
144502f4aeb0Sopenharmony_ci<xsl:template name="emit-message">
144602f4aeb0Sopenharmony_ci  <xsl:param name="message"/>
144702f4aeb0Sopenharmony_ci  <xsl:message>
144802f4aeb0Sopenharmony_ci    <xsl:value-of select="$message"/>
144902f4aeb0Sopenharmony_ci    <xsl:text> (</xsl:text>
145002f4aeb0Sopenharmony_ci    <xsl:value-of select="$rootid"/>
145102f4aeb0Sopenharmony_ci    <xsl:text>)</xsl:text>
145202f4aeb0Sopenharmony_ci  </xsl:message>
145302f4aeb0Sopenharmony_ci</xsl:template>
145402f4aeb0Sopenharmony_ci
145502f4aeb0Sopenharmony_ci</xsl:stylesheet>
1456