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> </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