metanorma-iso 2.8.9 → 2.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/isodoc/iso/base_convert.rb +31 -61
- data/lib/isodoc/iso/html/isodoc-dis.css +1 -1
- data/lib/isodoc/iso/html/isodoc-dis.scss +1 -1
- data/lib/isodoc/iso/html/isodoc.css +1 -1
- data/lib/isodoc/iso/html/isodoc.scss +1 -1
- data/lib/isodoc/iso/iso.amendment.xsl +723 -182
- data/lib/isodoc/iso/iso.international-standard.xsl +723 -182
- data/lib/isodoc/iso/presentation_bibdata.rb +0 -29
- data/lib/isodoc/iso/presentation_terms.rb +0 -13
- data/lib/isodoc/iso/presentation_xml_convert.rb +122 -48
- data/lib/isodoc/iso/presentation_xref.rb +6 -2
- data/lib/isodoc/iso/sections.rb +2 -2
- data/lib/isodoc/iso/word_convert.rb +11 -13
- data/lib/isodoc/iso/word_dis_convert.rb +1 -4
- data/lib/isodoc/iso/xref.rb +52 -14
- data/lib/isodoc/iso/xref_section.rb +23 -28
- data/lib/metanorma/iso/biblio.rng +13 -1
- data/lib/metanorma/iso/front.rb +1 -0
- data/lib/metanorma/iso/front_contributor.rb +1 -3
- data/lib/metanorma/iso/isodoc.rng +6 -6
- data/lib/metanorma/iso/relaton-iso.rng +21 -30
- data/lib/metanorma/iso/version.rb +1 -1
- data/lib/metanorma/requirements/modspec.rb +10 -6
- data/metanorma-iso.gemspec +1 -1
- metadata +4 -4
| @@ -1898,7 +1898,7 @@ | |
| 1898 1898 | 
             
            										</fo:table-cell>
         | 
| 1899 1899 | 
             
            										<fo:table-cell number-columns-spanned="2" display-align="after" padding-left="6mm">
         | 
| 1900 1900 | 
             
            											<fo:block font-size="19pt" font-weight="bold" line-height="1">
         | 
| 1901 | 
            -
            												<xsl:if test="$stage >=60">
         | 
| 1901 | 
            +
            												<xsl:if test="$stage >=60 and $substage != 0">
         | 
| 1902 1902 | 
             
            													<xsl:attribute name="color"><xsl:value-of select="$color_red"/></xsl:attribute>
         | 
| 1903 1903 | 
             
            												</xsl:if>
         | 
| 1904 1904 | 
             
            												<xsl:value-of select="$docidentifierISO"/>
         | 
| @@ -1924,7 +1924,7 @@ | |
| 1924 1924 | 
             
            														<xsl:call-template name="insertTitlesLangMain"/>
         | 
| 1925 1925 | 
             
            													</fo:block>
         | 
| 1926 1926 |  | 
| 1927 | 
            -
            													<xsl:if test="not($stage-abbreviation = 'FDAMD' or $stage-abbreviation = 'FDAM')">
         | 
| 1927 | 
            +
            													<xsl:if test="not($stage-abbreviation = 'FDAMD' or $stage-abbreviation = 'FDAM' or $stage-abbreviation = 'PRF')">
         | 
| 1928 1928 | 
             
            														<xsl:for-each select="xalan:nodeset($lang_other)/lang">
         | 
| 1929 1929 | 
             
            															<xsl:variable name="lang_other" select="."/>
         | 
| 1930 1930 | 
             
            															<fo:block font-size="12pt" role="SKIP"><xsl:value-of select="$linebreak"/></fo:block>
         | 
| @@ -1961,7 +1961,7 @@ | |
| 1961 1961 | 
             
            												</xsl:if>
         | 
| 1962 1962 |  | 
| 1963 1963 | 
             
            												<xsl:if test="$doctype = 'amendment'"> <!-- and not($stage-abbreviation = 'FDAMD' or $stage-abbreviation = 'FDAM') -->
         | 
| 1964 | 
            -
            													<fo:block font-size=" | 
| 1964 | 
            +
            													<fo:block font-size="15pt" font-weight="bold" margin-bottom="3mm">
         | 
| 1965 1965 | 
             
            														<xsl:value-of select="$doctype_uppercased"/>
         | 
| 1966 1966 | 
             
            														<xsl:text> </xsl:text>
         | 
| 1967 1967 | 
             
            														<xsl:variable name="amendment-number" select="/iso:iso-standard/iso:bibdata/iso:ext/iso:structuredidentifier/iso:project-number/@amendment"/>
         | 
| @@ -2030,7 +2030,10 @@ | |
| 2030 2030 | 
             
            											<xsl:variable name="additionalNotes">
         | 
| 2031 2031 | 
             
            												<xsl:call-template name="insertCoverPageAdditionalNotes"/>
         | 
| 2032 2032 | 
             
            											</xsl:variable>
         | 
| 2033 | 
            -
             | 
| 2033 | 
            +
             | 
| 2034 | 
            +
            											<xsl:variable name="feedback_link" select="normalize-space(/iso:iso-standard/iso:metanorma-extension/iso:semantic-metadata/iso:feedback-link)"/>
         | 
| 2035 | 
            +
             | 
| 2036 | 
            +
            											<xsl:if test="normalize-space($additionalNotes) != ''"> <!--  or $stage-abbreviation = 'PRF' -->
         | 
| 2034 2037 | 
             
            												<xsl:attribute name="display-align">center</xsl:attribute>
         | 
| 2035 2038 | 
             
            												<fo:block>
         | 
| 2036 2039 | 
             
            													<xsl:copy-of select="$additionalNotes"/>
         | 
| @@ -2038,7 +2041,10 @@ | |
| 2038 2041 | 
             
            											</xsl:if>
         | 
| 2039 2042 |  | 
| 2040 2043 | 
             
            											<xsl:if test="$stage-abbreviation = 'PRF'">
         | 
| 2041 | 
            -
            												<fo:block font-size=" | 
| 2044 | 
            +
            												<fo:block font-size="34pt" font-weight="bold">
         | 
| 2045 | 
            +
            													<xsl:if test="normalize-space($additionalNotes) = '' and $feedback_link = ''">
         | 
| 2046 | 
            +
            														<xsl:attribute name="margin-bottom">3.5mm</xsl:attribute>
         | 
| 2047 | 
            +
            													</xsl:if>
         | 
| 2042 2048 | 
             
            													<xsl:call-template name="add-letter-spacing">
         | 
| 2043 2049 | 
             
            														<xsl:with-param name="text" select="$proof-text"/>
         | 
| 2044 2050 | 
             
            														<xsl:with-param name="letter-spacing" select="0.65"/>
         | 
| @@ -2047,7 +2053,6 @@ | |
| 2047 2053 | 
             
            											</xsl:if>
         | 
| 2048 2054 |  | 
| 2049 2055 | 
             
            											<fo:block>
         | 
| 2050 | 
            -
            												<xsl:variable name="feedback_link" select="normalize-space(/iso:iso-standard/iso:metanorma-extension/iso:semantic-metadata/iso:feedback-link)"/>
         | 
| 2051 2056 | 
             
            												<xsl:if test="$stage >=60 and $feedback_link != ''">
         | 
| 2052 2057 | 
             
            													<fo:block-container width="69mm" background-color="rgb(242,242,242)" display-align="before">
         | 
| 2053 2058 | 
             
            														<fo:table table-layout="fixed" width="100%" role="SKIP">
         | 
| @@ -2973,7 +2978,7 @@ | |
| 2973 2978 | 
             
            				<xsl:when test="($stage-abbreviation = 'IS' or $stage-abbreviation = 'D') and /iso:iso-standard/iso:bibdata/iso:date[@type = 'created']">
         | 
| 2974 2979 | 
             
            					<xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:date[@type = 'created']"/>
         | 
| 2975 2980 | 
             
            				</xsl:when>
         | 
| 2976 | 
            -
            				<xsl:when test="$stage-abbreviation = 'IS' or $stage-abbreviation = 'published'">
         | 
| 2981 | 
            +
            				<xsl:when test="$stage-abbreviation = 'IS' or $stage-abbreviation = 'published' or $stage-abbreviation = 'PRF'">
         | 
| 2977 2982 | 
             
            					<xsl:value-of select="substring(/iso:iso-standard/iso:bibdata/iso:version/iso:revision-date,1, 7)"/>
         | 
| 2978 2983 | 
             
            				</xsl:when>
         | 
| 2979 2984 | 
             
            			</xsl:choose>
         | 
| @@ -3587,10 +3592,10 @@ | |
| 3587 3592 | 
             
            	<!-- ============================= -->
         | 
| 3588 3593 |  | 
| 3589 3594 | 
             
            	<!-- element with title -->
         | 
| 3590 | 
            -
            	<xsl:template match="*[iso:title]" mode="contents">
         | 
| 3595 | 
            +
            	<xsl:template match="*[iso:title or iso:fmt-title]" mode="contents">
         | 
| 3591 3596 | 
             
            		<xsl:variable name="level">
         | 
| 3592 3597 | 
             
            			<xsl:call-template name="getLevel">
         | 
| 3593 | 
            -
            				<xsl:with-param name="depth" select="iso:title/@depth"/>
         | 
| 3598 | 
            +
            				<xsl:with-param name="depth" select="iso:fmt-title/@depth | iso:title/@depth"/>
         | 
| 3594 3599 | 
             
            			</xsl:call-template>
         | 
| 3595 3600 | 
             
            		</xsl:variable>
         | 
| 3596 3601 |  | 
| @@ -3731,6 +3736,21 @@ | |
| 3731 3736 | 
             
            		</xsl:choose>
         | 
| 3732 3737 | 
             
            	</xsl:template>
         | 
| 3733 3738 |  | 
| 3739 | 
            +
            	<xsl:template match="iso:copyright-statement/iso:clause" priority="3">
         | 
| 3740 | 
            +
            		<fo:block role="SKIP">
         | 
| 3741 | 
            +
            			<xsl:if test="@id = 'boilerplate-copyright-default' and ../iso:clause[not(@id = 'boilerplate-copyright-default')]">
         | 
| 3742 | 
            +
            				<xsl:attribute name="color">blue</xsl:attribute>
         | 
| 3743 | 
            +
            				<xsl:attribute name="border">1pt solid blue</xsl:attribute>
         | 
| 3744 | 
            +
            				<xsl:attribute name="padding">1mm</xsl:attribute>
         | 
| 3745 | 
            +
            			</xsl:if>
         | 
| 3746 | 
            +
            			<xsl:if test="not(@id = 'boilerplate-copyright-default') and preceding-sibling::iso:clause">
         | 
| 3747 | 
            +
            				<xsl:attribute name="margin-top">5mm</xsl:attribute>
         | 
| 3748 | 
            +
            			</xsl:if>
         | 
| 3749 | 
            +
            			<xsl:copy-of select="@id"/>
         | 
| 3750 | 
            +
            			<xsl:apply-templates/>
         | 
| 3751 | 
            +
            		</fo:block>
         | 
| 3752 | 
            +
            	</xsl:template>
         | 
| 3753 | 
            +
             | 
| 3734 3754 | 
             
            	<xsl:template match="iso:copyright-statement//iso:p" priority="2">
         | 
| 3735 3755 | 
             
            		<xsl:choose>
         | 
| 3736 3756 | 
             
            			<xsl:when test="$layoutVersion = '1951'">
         | 
| @@ -3777,7 +3797,7 @@ | |
| 3777 3797 | 
             
            						<xsl:attribute name="margin-left">0.5mm</xsl:attribute>
         | 
| 3778 3798 | 
             
            						<xsl:attribute name="margin-right">0.5mm</xsl:attribute>
         | 
| 3779 3799 | 
             
            					</xsl:if>
         | 
| 3780 | 
            -
            					<xsl:if test="contains(@id, 'address')">
         | 
| 3800 | 
            +
            					<xsl:if test="contains(@id, 'address') or contains(normalize-space(), 'Tel:') or contains(normalize-space(), 'Phone:')">
         | 
| 3781 3801 | 
             
            						<xsl:attribute name="margin-left">4.5mm</xsl:attribute>
         | 
| 3782 3802 | 
             
            					</xsl:if>
         | 
| 3783 3803 | 
             
            					<xsl:apply-templates/>
         | 
| @@ -4415,6 +4435,8 @@ | |
| 4415 4435 | 
             
            				</xsl:if>
         | 
| 4416 4436 | 
             
            			</xsl:if>
         | 
| 4417 4437 |  | 
| 4438 | 
            +
            			<xsl:call-template name="addReviewHelper"/>
         | 
| 4439 | 
            +
             | 
| 4418 4440 | 
             
            			<xsl:call-template name="processElementContent"/>
         | 
| 4419 4441 | 
             
            		</fo:block>
         | 
| 4420 4442 | 
             
            	</xsl:template>
         | 
| @@ -4431,6 +4453,8 @@ | |
| 4431 4453 |  | 
| 4432 4454 | 
             
            			<xsl:call-template name="refine_clause_style"/>
         | 
| 4433 4455 |  | 
| 4456 | 
            +
            			<xsl:call-template name="addReviewHelper"/>
         | 
| 4457 | 
            +
             | 
| 4434 4458 | 
             
            			<xsl:call-template name="processElementContent"/>
         | 
| 4435 4459 |  | 
| 4436 4460 | 
             
            		</fo:block>
         | 
| @@ -5080,12 +5104,22 @@ | |
| 5080 5104 | 
             
            		<xsl:param name="font-weight" select="'bold'"/>
         | 
| 5081 5105 | 
             
            		<xsl:attribute name="text-align">center</xsl:attribute>
         | 
| 5082 5106 | 
             
            		<xsl:attribute name="line-height">1.1</xsl:attribute>
         | 
| 5107 | 
            +
            		<xsl:if test="$stage-abbreviation = 'PRF'">
         | 
| 5108 | 
            +
            			<fo:block font-size="10pt" font-weight="bold" text-align="center">
         | 
| 5109 | 
            +
            				<xsl:value-of select="$proof-text"/>
         | 
| 5110 | 
            +
            			</fo:block>
         | 
| 5111 | 
            +
            		</xsl:if>
         | 
| 5083 5112 | 
             
            		<fo:block font-size="9pt">
         | 
| 5084 5113 | 
             
            			<!-- <xsl:call-template name="insertInterFont"/> -->
         | 
| 5085 5114 | 
             
            			<xsl:value-of select="$copyrightText"/>
         | 
| 5086 5115 | 
             
            		</fo:block>
         | 
| 5087 | 
            -
            		<xsl:if test="$copyrightAbbrIEEE = ''"><fo:block> </fo:block></xsl:if>
         | 
| 5088 | 
            -
            		<fo:block font-size="11pt" font-weight="{$font-weight}" | 
| 5116 | 
            +
            		<xsl:if test="$copyrightAbbrIEEE = '' and $stage-abbreviation != 'PRF'"><fo:block> </fo:block></xsl:if>
         | 
| 5117 | 
            +
            		<fo:block font-size="11pt" font-weight="{$font-weight}">
         | 
| 5118 | 
            +
            			<xsl:if test="$stage-abbreviation = 'PRF'">
         | 
| 5119 | 
            +
            				<xsl:attribute name="margin-top">1mm</xsl:attribute>
         | 
| 5120 | 
            +
            			</xsl:if>
         | 
| 5121 | 
            +
            			<fo:page-number/>
         | 
| 5122 | 
            +
            		</fo:block>
         | 
| 5089 5123 | 
             
            	</xsl:template>
         | 
| 5090 5124 | 
             
            	<xsl:template name="insertLayoutVersionAttributesTop">
         | 
| 5091 5125 | 
             
            		<xsl:param name="odd_or_even"/>
         | 
| @@ -5301,7 +5335,7 @@ | |
| 5301 5335 | 
             
            							</fo:table-cell>
         | 
| 5302 5336 | 
             
            							<fo:table-cell number-columns-spanned="2" text-align="right" display-align="after">
         | 
| 5303 5337 | 
             
            								<fo:block font-size="16pt" font-weight="bold" margin-bottom="1mm" margin-right="1.5mm">
         | 
| 5304 | 
            -
            									<xsl:if test="$stage >=60">
         | 
| 5338 | 
            +
            									<xsl:if test="$stage >=60 and $substage != 0">
         | 
| 5305 5339 | 
             
            										<xsl:attribute name="color"><xsl:value-of select="$color_red"/></xsl:attribute>
         | 
| 5306 5340 | 
             
            									</xsl:if>
         | 
| 5307 5341 | 
             
            									<xsl:text>iso.org</xsl:text>
         | 
| @@ -5341,7 +5375,7 @@ | |
| 5341 5375 | 
             
            	<xsl:variable name="Image-ISO-Logo-SVG">
         | 
| 5342 5376 | 
             
            		<xsl:variable name="logo_color">
         | 
| 5343 5377 | 
             
            			<xsl:choose>
         | 
| 5344 | 
            -
            				<xsl:when test="$stage >=60"><xsl:value-of select="$color_red"/></xsl:when>
         | 
| 5378 | 
            +
            				<xsl:when test="$stage >=60 and $substage != 0"><xsl:value-of select="$color_red"/></xsl:when>
         | 
| 5345 5379 | 
             
            				<xsl:otherwise>rgb(88,88,90)</xsl:otherwise>
         | 
| 5346 5380 | 
             
            			</xsl:choose>
         | 
| 5347 5381 | 
             
            		</xsl:variable>
         | 
| @@ -5505,7 +5539,7 @@ | |
| 5505 5539 | 
             
            		<fo:block id="lastBlock" font-size="1pt" keep-with-previous="always" role="SKIP"><fo:wrapper role="artifact"> </fo:wrapper></fo:block>
         | 
| 5506 5540 | 
             
            	</xsl:template>
         | 
| 5507 5541 |  | 
| 5508 | 
            -
            			<xsl:strip-space elements="iso:xref"/>
         | 
| 5542 | 
            +
            			<!-- <xsl:strip-space elements="iso:xref"/> -->
         | 
| 5509 5543 |  | 
| 5510 5544 | 
             
            	<xsl:variable name="namespace_full" select="namespace-uri(/*)"/> <!-- example: https://www.metanorma.org/ns/iso -->
         | 
| 5511 5545 | 
             
            	<xsl:variable name="root_element" select="local-name(/*)"/> <!-- example: iso-standard -->
         | 
| @@ -6718,6 +6752,10 @@ | |
| 6718 6752 |  | 
| 6719 6753 | 
             
            	<xsl:template name="refine_termnote-name-style">
         | 
| 6720 6754 |  | 
| 6755 | 
            +
            		<!-- <xsl:if test="$namespace = 'ieee'">
         | 
| 6756 | 
            +
            			<xsl:attribute name="padding-right">0mm</xsl:attribute>
         | 
| 6757 | 
            +
            		</xsl:if> -->
         | 
| 6758 | 
            +
             | 
| 6721 6759 | 
             
            	</xsl:template>
         | 
| 6722 6760 |  | 
| 6723 6761 | 
             
            	<xsl:attribute-set name="termnote-p-style">
         | 
| @@ -7433,9 +7471,21 @@ | |
| 7433 7471 | 
             
            	<xsl:template name="processTables_Contents">
         | 
| 7434 7472 | 
             
            		<tables>
         | 
| 7435 7473 | 
             
            			<xsl:for-each select="//*[local-name() = 'table'][not(ancestor::*[local-name() = 'metanorma-extension'])][@id and *[local-name() = 'name'] and normalize-space(@id) != '']">
         | 
| 7436 | 
            -
            				< | 
| 7437 | 
            -
            					<xsl: | 
| 7438 | 
            -
             | 
| 7474 | 
            +
            				<xsl:choose>
         | 
| 7475 | 
            +
            					<xsl:when test="*[local-name() = 'fmt-name']">
         | 
| 7476 | 
            +
            						<xsl:variable name="fmt_name">
         | 
| 7477 | 
            +
            							<xsl:apply-templates select="*[local-name() = 'fmt-name']" mode="update_xml_step1"/>
         | 
| 7478 | 
            +
            						</xsl:variable>
         | 
| 7479 | 
            +
            						<table id="{@id}" alt-text="{normalize-space($fmt_name)}">
         | 
| 7480 | 
            +
            							<xsl:copy-of select="$fmt_name"/>
         | 
| 7481 | 
            +
            						</table>
         | 
| 7482 | 
            +
            					</xsl:when>
         | 
| 7483 | 
            +
            					<xsl:otherwise>
         | 
| 7484 | 
            +
            						<table id="{@id}" alt-text="{*[local-name() = 'name']}">
         | 
| 7485 | 
            +
            							<xsl:copy-of select="*[local-name() = 'name']"/>
         | 
| 7486 | 
            +
            						</table>
         | 
| 7487 | 
            +
            					</xsl:otherwise>
         | 
| 7488 | 
            +
            				</xsl:choose>
         | 
| 7439 7489 | 
             
            			</xsl:for-each>
         | 
| 7440 7490 | 
             
            		</tables>
         | 
| 7441 7491 | 
             
            	</xsl:template>
         | 
| @@ -7443,9 +7493,21 @@ | |
| 7443 7493 | 
             
            	<xsl:template name="processFigures_Contents">
         | 
| 7444 7494 | 
             
            		<figures>
         | 
| 7445 7495 | 
             
            			<xsl:for-each select="//*[local-name() = 'figure'][@id and *[local-name() = 'name'] and not(@unnumbered = 'true') and normalize-space(@id) != ''] | //*[@id and starts-with(*[local-name() = 'name'], 'Figure ') and normalize-space(@id) != '']">
         | 
| 7446 | 
            -
            				< | 
| 7447 | 
            -
            					<xsl: | 
| 7448 | 
            -
             | 
| 7496 | 
            +
            				<xsl:choose>
         | 
| 7497 | 
            +
            					<xsl:when test="*[local-name() = 'fmt-name']">
         | 
| 7498 | 
            +
            						<xsl:variable name="fmt_name">
         | 
| 7499 | 
            +
            							<xsl:apply-templates select="*[local-name() = 'fmt-name']" mode="update_xml_step1"/>
         | 
| 7500 | 
            +
            						</xsl:variable>
         | 
| 7501 | 
            +
            						<figure id="{@id}" alt-text="{normalize-space($fmt_name)}">
         | 
| 7502 | 
            +
            							<xsl:copy-of select="$fmt_name"/>
         | 
| 7503 | 
            +
            						</figure>
         | 
| 7504 | 
            +
            					</xsl:when>
         | 
| 7505 | 
            +
            					<xsl:otherwise>
         | 
| 7506 | 
            +
            						<figure id="{@id}" alt-text="{*[local-name() = 'name']}">
         | 
| 7507 | 
            +
            							<xsl:copy-of select="*[local-name() = 'name']"/>
         | 
| 7508 | 
            +
            						</figure>
         | 
| 7509 | 
            +
            					</xsl:otherwise>
         | 
| 7510 | 
            +
            				</xsl:choose>
         | 
| 7449 7511 | 
             
            			</xsl:for-each>
         | 
| 7450 7512 | 
             
            		</figures>
         | 
| 7451 7513 | 
             
            	</xsl:template>
         | 
| @@ -9357,6 +9419,11 @@ | |
| 9357 9419 |  | 
| 9358 9420 | 
             
            								<xsl:value-of select="@reference"/>
         | 
| 9359 9421 |  | 
| 9422 | 
            +
            								<!-- commented https://github.com/metanorma/isodoc/issues/614 -->
         | 
| 9423 | 
            +
            								<!-- <xsl:if test="$namespace = 'itu'">
         | 
| 9424 | 
            +
            									<xsl:text>)</xsl:text>
         | 
| 9425 | 
            +
            								</xsl:if> -->
         | 
| 9426 | 
            +
             | 
| 9360 9427 | 
             
            							</fo:inline>
         | 
| 9361 9428 | 
             
            							<fo:inline xsl:use-attribute-sets="table-fn-body-style">
         | 
| 9362 9429 | 
             
            								<xsl:copy-of select="./node()"/>
         | 
| @@ -9366,7 +9433,7 @@ | |
| 9366 9433 |  | 
| 9367 9434 | 
             
            			</xsl:if>
         | 
| 9368 9435 | 
             
            		</xsl:for-each>
         | 
| 9369 | 
            -
            	</xsl:template>
         | 
| 9436 | 
            +
            	</xsl:template> <!-- table_fn_display -->
         | 
| 9370 9437 |  | 
| 9371 9438 | 
             
            	<xsl:template name="create_fn">
         | 
| 9372 9439 | 
             
            		<fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
         | 
| @@ -9394,8 +9461,10 @@ | |
| 9394 9461 | 
             
            	<!-- EMD table's footnotes rendering -->
         | 
| 9395 9462 | 
             
            	<!-- ============================ -->
         | 
| 9396 9463 |  | 
| 9464 | 
            +
            	<!-- ============================ -->
         | 
| 9397 9465 | 
             
            	<!-- figure's footnotes rendering -->
         | 
| 9398 | 
            -
            	 | 
| 9466 | 
            +
            	<!-- ============================ -->
         | 
| 9467 | 
            +
            	<xsl:template name="fn_display_figure"> <!-- figure_fn_display -->
         | 
| 9399 9468 |  | 
| 9400 9469 | 
             
            		<!-- current figure id -->
         | 
| 9401 9470 | 
             
            		<xsl:variable name="figure_id_">
         | 
| @@ -9508,9 +9577,28 @@ | |
| 9508 9577 |  | 
| 9509 9578 | 
             
            			</fo:block>
         | 
| 9510 9579 | 
             
            		</xsl:if>
         | 
| 9511 | 
            -
             | 
| 9512 9580 | 
             
            	</xsl:template> <!-- fn_display_figure -->
         | 
| 9513 9581 |  | 
| 9582 | 
            +
            	<!-- added for https://github.com/metanorma/isodoc/issues/607 -->
         | 
| 9583 | 
            +
            	<!-- figure's footnote label -->
         | 
| 9584 | 
            +
            	<xsl:template match="*[local-name() = 'figure']/*[local-name() = 'dl'][@key = 'true']/*[local-name() = 'dt']/     *[local-name() = 'p'][count(node()[normalize-space() != '']) = 1]/*[local-name() = 'sup']" priority="3">
         | 
| 9585 | 
            +
            		<xsl:variable name="key_iso">
         | 
| 9586 | 
            +
            			true
         | 
| 9587 | 
            +
            		</xsl:variable>
         | 
| 9588 | 
            +
            		<xsl:if test="normalize-space($key_iso) = 'true'">
         | 
| 9589 | 
            +
            			<xsl:attribute name="font-size">10pt</xsl:attribute>
         | 
| 9590 | 
            +
             | 
| 9591 | 
            +
            		</xsl:if>
         | 
| 9592 | 
            +
            		<fo:inline xsl:use-attribute-sets="figure-fn-number-style"> <!-- id="{@id}"  -->
         | 
| 9593 | 
            +
            			<!-- <xsl:value-of select="@reference"/> -->
         | 
| 9594 | 
            +
            			<xsl:apply-templates/>
         | 
| 9595 | 
            +
            		</fo:inline>
         | 
| 9596 | 
            +
            	</xsl:template>
         | 
| 9597 | 
            +
             | 
| 9598 | 
            +
            	<!-- ============================ -->
         | 
| 9599 | 
            +
            	<!-- END: figure's footnotes rendering -->
         | 
| 9600 | 
            +
            	<!-- ============================ -->
         | 
| 9601 | 
            +
             | 
| 9514 9602 | 
             
            	<!-- fn reference in the text rendering (for instance, 'some text 1) some text' ) -->
         | 
| 9515 9603 | 
             
            	<xsl:template match="*[local-name()='fn']">
         | 
| 9516 9604 | 
             
            		<fo:inline xsl:use-attribute-sets="fn-reference-style">
         | 
| @@ -9526,6 +9614,10 @@ | |
| 9526 9614 |  | 
| 9527 9615 | 
             
            				<xsl:value-of select="@reference"/>
         | 
| 9528 9616 |  | 
| 9617 | 
            +
            				<!-- commented, https://github.com/metanorma/isodoc/issues/614 -->
         | 
| 9618 | 
            +
            				<!-- <xsl:if test="$namespace = 'jis'">
         | 
| 9619 | 
            +
            					<fo:inline font-weight="normal">)</fo:inline>
         | 
| 9620 | 
            +
            				</xsl:if> -->
         | 
| 9529 9621 | 
             
            			</fo:basic-link>
         | 
| 9530 9622 | 
             
            		</fo:inline>
         | 
| 9531 9623 | 
             
            	</xsl:template>
         | 
| @@ -9656,17 +9748,22 @@ | |
| 9656 9748 | 
             
            						</fo:block>
         | 
| 9657 9749 | 
             
            					</xsl:when>  <!-- END: a few components -->
         | 
| 9658 9750 | 
             
            					<xsl:when test="$parent = 'figure' and  (not(../@class) or ../@class !='pseudocode')"> <!-- definition list in a figure -->
         | 
| 9659 | 
            -
            						 | 
| 9751 | 
            +
            						<!-- Presentation XML contains 'Key' caption, https://github.com/metanorma/isodoc/issues/607 -->
         | 
| 9752 | 
            +
            						<xsl:if test="not(preceding-sibling::*[1][local-name() = 'p' and @keep-with-next])"> <!-- for old Presentation XML -->
         | 
| 9660 9753 |  | 
| 9661 | 
            -
             | 
| 9754 | 
            +
            									<fo:block font-weight="bold" text-align="left" margin-bottom="12pt" keep-with-next="always">
         | 
| 9662 9755 |  | 
| 9663 | 
            -
             | 
| 9664 | 
            -
             | 
| 9665 | 
            -
             | 
| 9666 | 
            -
             | 
| 9667 | 
            -
             | 
| 9668 | 
            -
             | 
| 9669 | 
            -
             | 
| 9756 | 
            +
            										<xsl:call-template name="refine_figure_key_style"/>
         | 
| 9757 | 
            +
             | 
| 9758 | 
            +
            										<xsl:variable name="title-key">
         | 
| 9759 | 
            +
            											<xsl:call-template name="getLocalizedString">
         | 
| 9760 | 
            +
            												<xsl:with-param name="key">key</xsl:with-param>
         | 
| 9761 | 
            +
            											</xsl:call-template>
         | 
| 9762 | 
            +
            										</xsl:variable>
         | 
| 9763 | 
            +
            										<xsl:value-of select="$title-key"/>
         | 
| 9764 | 
            +
            									</fo:block>
         | 
| 9765 | 
            +
             | 
| 9766 | 
            +
            						</xsl:if>
         | 
| 9670 9767 | 
             
            					</xsl:when>  <!-- END: definition list in a figure -->
         | 
| 9671 9768 | 
             
            				</xsl:choose>
         | 
| 9672 9769 |  | 
| @@ -9856,6 +9953,14 @@ | |
| 9856 9953 |  | 
| 9857 9954 | 
             
            	</xsl:template> <!-- END: dl -->
         | 
| 9858 9955 |  | 
| 9956 | 
            +
            	<!-- caption for figure key and another caption, https://github.com/metanorma/isodoc/issues/607 -->
         | 
| 9957 | 
            +
            	<xsl:template match="*[local-name() = 'figure']/*[local-name() = 'p'][@keep-with-next = 'true' and *[local-name() = 'strong']]" priority="3">
         | 
| 9958 | 
            +
            		<fo:block text-align="left" margin-bottom="12pt" keep-with-next="always">
         | 
| 9959 | 
            +
            			<xsl:call-template name="refine_figure_key_style"/>
         | 
| 9960 | 
            +
            			<xsl:apply-templates/>
         | 
| 9961 | 
            +
            		</fo:block>
         | 
| 9962 | 
            +
            	</xsl:template>
         | 
| 9963 | 
            +
             | 
| 9859 9964 | 
             
            	<xsl:template name="refine_dl_formula_where_style">
         | 
| 9860 9965 |  | 
| 9861 9966 | 
             
            			<xsl:attribute name="margin-bottom">6pt</xsl:attribute>
         | 
| @@ -11988,6 +12093,39 @@ | |
| 11988 12093 | 
             
            		</xsl:copy>
         | 
| 11989 12094 | 
             
            	</xsl:template>
         | 
| 11990 12095 |  | 
| 12096 | 
            +
            	<xsl:template match="@*|node()" mode="mathml_linebreak">
         | 
| 12097 | 
            +
            		<xsl:copy>
         | 
| 12098 | 
            +
            			<xsl:apply-templates select="@*|node()" mode="mathml_linebreak"/>
         | 
| 12099 | 
            +
            		</xsl:copy>
         | 
| 12100 | 
            +
            	</xsl:template>
         | 
| 12101 | 
            +
             | 
| 12102 | 
            +
            	<!-- split math into two math -->
         | 
| 12103 | 
            +
            	<xsl:template match="mathml:mo[@linebreak] | mathml:mspace[@linebreak]" mode="mathml_linebreak">
         | 
| 12104 | 
            +
            		<xsl:variable name="math_elements_tree_">
         | 
| 12105 | 
            +
            			<xsl:for-each select="ancestor::*[ancestor-or-self::mathml:math]">
         | 
| 12106 | 
            +
            				<element pos="{position()}">
         | 
| 12107 | 
            +
            					<xsl:copy-of select="@*[local-name() != 'id']"/>
         | 
| 12108 | 
            +
            					<xsl:value-of select="name()"/>
         | 
| 12109 | 
            +
            				</element>
         | 
| 12110 | 
            +
            			</xsl:for-each>
         | 
| 12111 | 
            +
            		</xsl:variable>
         | 
| 12112 | 
            +
             | 
| 12113 | 
            +
            		<xsl:variable name="math_elements_tree" select="xalan:nodeset($math_elements_tree_)"/>
         | 
| 12114 | 
            +
             | 
| 12115 | 
            +
            		<xsl:call-template name="insertClosingElements">
         | 
| 12116 | 
            +
            			<xsl:with-param name="tree" select="$math_elements_tree"/>
         | 
| 12117 | 
            +
            		</xsl:call-template>
         | 
| 12118 | 
            +
             | 
| 12119 | 
            +
            		<xsl:element name="br" namespace="{$namespace_full}"/>
         | 
| 12120 | 
            +
             | 
| 12121 | 
            +
            		<xsl:call-template name="insertOpeningElements">
         | 
| 12122 | 
            +
            			<xsl:with-param name="tree" select="$math_elements_tree"/>
         | 
| 12123 | 
            +
            			<xsl:with-param name="xmlns">http://www.w3.org/1998/Math/MathML</xsl:with-param>
         | 
| 12124 | 
            +
            			<xsl:with-param name="add_continue">false</xsl:with-param>
         | 
| 12125 | 
            +
            		</xsl:call-template>
         | 
| 12126 | 
            +
             | 
| 12127 | 
            +
            	</xsl:template>
         | 
| 12128 | 
            +
             | 
| 11991 12129 | 
             
            	<!-- Examples: 
         | 
| 11992 12130 | 
             
            		<stem type="AsciiMath">x = 1</stem> 
         | 
| 11993 12131 | 
             
            		<stem type="AsciiMath"><asciimath>x = 1</asciimath></stem>
         | 
| @@ -12241,9 +12379,11 @@ | |
| 12241 12379 | 
             
            	</xsl:template>
         | 
| 12242 12380 |  | 
| 12243 12381 | 
             
            	<xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']"> <!-- show in 'stem' template -->
         | 
| 12382 | 
            +
            		<!-- https://github.com/metanorma/isodoc/issues/607 
         | 
| 12244 12383 | 
             
            		<xsl:if test="normalize-space() != ''">
         | 
| 12245 | 
            -
            			<xsl:text>(</xsl:text><xsl:apply-templates/><xsl:text>)</xsl:text>
         | 
| 12246 | 
            -
            		</xsl:if>
         | 
| 12384 | 
            +
            			<xsl:text>(</xsl:text><xsl:apply-templates /><xsl:text>)</xsl:text>
         | 
| 12385 | 
            +
            		</xsl:if> -->
         | 
| 12386 | 
            +
            		<xsl:apply-templates/>
         | 
| 12247 12387 | 
             
            	</xsl:template>
         | 
| 12248 12388 |  | 
| 12249 12389 | 
             
            	<!-- stem inside formula with name (with formula's number) -->
         | 
| @@ -12314,6 +12454,8 @@ | |
| 12314 12454 |  | 
| 12315 12455 | 
             
            									<fo:inline xsl:use-attribute-sets="note-name-style" role="SKIP">
         | 
| 12316 12456 |  | 
| 12457 | 
            +
            										<xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'tab']" mode="tab"/>
         | 
| 12458 | 
            +
             | 
| 12317 12459 | 
             
            										<xsl:call-template name="refine_note-name-style"/>
         | 
| 12318 12460 |  | 
| 12319 12461 | 
             
            										<!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
         | 
| @@ -12393,10 +12535,6 @@ | |
| 12393 12535 |  | 
| 12394 12536 | 
             
            			<fo:inline xsl:use-attribute-sets="termnote-name-style">
         | 
| 12395 12537 |  | 
| 12396 | 
            -
            				<xsl:if test="not(*[local-name() = 'name']/following-sibling::node()[1][self::text()][normalize-space()=''])">
         | 
| 12397 | 
            -
            					<xsl:attribute name="padding-right">1mm</xsl:attribute>
         | 
| 12398 | 
            -
            				</xsl:if>
         | 
| 12399 | 
            -
             | 
| 12400 12538 | 
             
            				<xsl:call-template name="refine_termnote-name-style"/>
         | 
| 12401 12539 |  | 
| 12402 12540 | 
             
            				<!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
         | 
| @@ -12422,10 +12560,21 @@ | |
| 12422 12560 | 
             
            				</xsl:when>
         | 
| 12423 12561 | 
             
            				<xsl:otherwise>
         | 
| 12424 12562 |  | 
| 12563 | 
            +
            					<!-- https://github.com/metanorma/isodoc/issues/607 -->
         | 
| 12564 | 
            +
            					<!-- <xsl:if test="$namespace = 'ieee'">
         | 
| 12565 | 
            +
            						<xsl:text>—</xsl:text> em dash —
         | 
| 12566 | 
            +
            					</xsl:if> -->
         | 
| 12567 | 
            +
            					<!-- <xsl:if test="$namespace = 'iho' or $namespace = 'gb' or $namespace = 'm3d' or $namespace = 'unece-rec' or $namespace = 'unece'  or $namespace = 'rsd'">
         | 
| 12568 | 
            +
            						<xsl:text>:</xsl:text>
         | 
| 12569 | 
            +
            					</xsl:if> -->
         | 
| 12570 | 
            +
             | 
| 12425 12571 | 
             
            						<xsl:if test="$layoutVersion = '1987' and . = translate(.,'1234567890','')"> <!-- NOTE without number -->
         | 
| 12426 12572 | 
             
            							<xsl:text> — </xsl:text>
         | 
| 12427 12573 | 
             
            						</xsl:if>
         | 
| 12428 12574 |  | 
| 12575 | 
            +
            					<!-- <xsl:if test="$namespace = 'itu' or $namespace = 'nist-cswp'  or $namespace = 'nist-sp'">				
         | 
| 12576 | 
            +
            						<xsl:text> – </xsl:text> en dash –
         | 
| 12577 | 
            +
            					</xsl:if> -->
         | 
| 12429 12578 | 
             
            				</xsl:otherwise>
         | 
| 12430 12579 | 
             
            			</xsl:choose>
         | 
| 12431 12580 | 
             
            		</xsl:variable>
         | 
| @@ -12444,8 +12593,16 @@ | |
| 12444 12593 | 
             
            				</xsl:when>
         | 
| 12445 12594 | 
             
            				<xsl:otherwise>
         | 
| 12446 12595 |  | 
| 12596 | 
            +
            					<!-- https://github.com/metanorma/isodoc/issues/607 -->
         | 
| 12597 | 
            +
            					<!-- <xsl:if test="$namespace = 'ieee'">
         | 
| 12598 | 
            +
            						<xsl:text>—</xsl:text> em dash —
         | 
| 12599 | 
            +
            					</xsl:if> -->
         | 
| 12600 | 
            +
            					<!-- <xsl:if test="$namespace = 'gb' or $namespace = 'iso' or $namespace = 'iec' or $namespace = 'ogc' or $namespace = 'ogc-white-paper' or $namespace = 'rsd' or $namespace = 'jcgm'">
         | 
| 12447 12601 | 
             
            						<xsl:text>:</xsl:text>
         | 
| 12448 | 
            -
             | 
| 12602 | 
            +
            					</xsl:if> -->
         | 
| 12603 | 
            +
            					<!-- <xsl:if test="$namespace = 'itu' or $namespace = 'nist-cswp'  or $namespace = 'nist-sp' or $namespace = 'unece-rec' or $namespace = 'unece'">				
         | 
| 12604 | 
            +
            						<xsl:text> – </xsl:text> en dash –
         | 
| 12605 | 
            +
            					</xsl:if> -->
         | 
| 12449 12606 | 
             
            				</xsl:otherwise>
         | 
| 12450 12607 | 
             
            			</xsl:choose>
         | 
| 12451 12608 | 
             
            		</xsl:variable>
         | 
| @@ -12530,17 +12687,29 @@ | |
| 12530 12687 | 
             
            			<!-- Example: Dimensions in millimeters -->
         | 
| 12531 12688 | 
             
            			<xsl:apply-templates select="*[local-name() = 'note'][@type = 'units']"/>
         | 
| 12532 12689 |  | 
| 12690 | 
            +
            			<xsl:variable name="show_figure_key_in_block_container">
         | 
| 12691 | 
            +
            				true
         | 
| 12692 | 
            +
            			</xsl:variable>
         | 
| 12693 | 
            +
             | 
| 12533 12694 | 
             
            			<fo:block xsl:use-attribute-sets="figure-style" role="SKIP">
         | 
| 12534 12695 | 
             
            				<xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note' and @type = 'units')]"/>
         | 
| 12535 12696 | 
             
            			</fo:block>
         | 
| 12536 | 
            -
             | 
| 12537 | 
            -
             | 
| 12538 | 
            -
             | 
| 12539 | 
            -
            			 | 
| 12697 | 
            +
             | 
| 12698 | 
            +
            			<xsl:if test="normalize-space($show_figure_key_in_block_container) = 'true'">
         | 
| 12699 | 
            +
            				<xsl:call-template name="showFigureKey"/>
         | 
| 12700 | 
            +
            			</xsl:if>
         | 
| 12540 12701 |  | 
| 12541 12702 | 
             
            					<xsl:apply-templates select="*[local-name() = 'name']"/> <!-- show figure's name AFTER image -->
         | 
| 12542 12703 |  | 
| 12543 12704 | 
             
            		</fo:block-container>
         | 
| 12705 | 
            +
             | 
| 12706 | 
            +
            	</xsl:template>
         | 
| 12707 | 
            +
             | 
| 12708 | 
            +
            	<xsl:template name="showFigureKey">
         | 
| 12709 | 
            +
            		<xsl:for-each select="*[local-name() = 'note'][not(@type = 'units')]">
         | 
| 12710 | 
            +
            			<xsl:call-template name="note"/>
         | 
| 12711 | 
            +
            		</xsl:for-each>
         | 
| 12712 | 
            +
            		<xsl:call-template name="fn_display_figure"/>
         | 
| 12544 12713 | 
             
            	</xsl:template>
         | 
| 12545 12714 |  | 
| 12546 12715 | 
             
            	<xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']">
         | 
| @@ -12736,6 +12905,22 @@ | |
| 12736 12905 | 
             
            		</xsl:if>
         | 
| 12737 12906 | 
             
            	</xsl:template>
         | 
| 12738 12907 |  | 
| 12908 | 
            +
            	<xsl:template name="getImageSrc">
         | 
| 12909 | 
            +
            		<xsl:choose>
         | 
| 12910 | 
            +
            			<xsl:when test="not(starts-with(@src, 'data:'))">
         | 
| 12911 | 
            +
            				<xsl:choose>
         | 
| 12912 | 
            +
            					<xsl:when test="@extracted = 'true'"> <!-- added in mn2pdf v1.97 -->
         | 
| 12913 | 
            +
            						<xsl:value-of select="@src"/>
         | 
| 12914 | 
            +
            					</xsl:when>
         | 
| 12915 | 
            +
            					<xsl:otherwise>
         | 
| 12916 | 
            +
            						<xsl:value-of select="concat($basepath, @src)"/>
         | 
| 12917 | 
            +
            					</xsl:otherwise>
         | 
| 12918 | 
            +
            				</xsl:choose>
         | 
| 12919 | 
            +
            			</xsl:when>
         | 
| 12920 | 
            +
            			<xsl:otherwise><xsl:value-of select="@src"/></xsl:otherwise>
         | 
| 12921 | 
            +
            		</xsl:choose>
         | 
| 12922 | 
            +
            	</xsl:template>
         | 
| 12923 | 
            +
             | 
| 12739 12924 | 
             
            	<xsl:template name="getImageScale">
         | 
| 12740 12925 | 
             
            		<xsl:param name="indent"/>
         | 
| 12741 12926 | 
             
            		<xsl:variable name="indent_left">
         | 
| @@ -12745,19 +12930,7 @@ | |
| 12745 12930 | 
             
            			</xsl:choose>
         | 
| 12746 12931 | 
             
            		</xsl:variable>
         | 
| 12747 12932 | 
             
            		<xsl:variable name="img_src">
         | 
| 12748 | 
            -
            			<xsl: | 
| 12749 | 
            -
            				<xsl:when test="not(starts-with(@src, 'data:'))">
         | 
| 12750 | 
            -
            					<xsl:choose>
         | 
| 12751 | 
            -
            						<xsl:when test="@extracted = 'true'"> <!-- added in mn2pdf v1.97 -->
         | 
| 12752 | 
            -
            							<xsl:value-of select="@src"/>
         | 
| 12753 | 
            -
            						</xsl:when>
         | 
| 12754 | 
            -
            						<xsl:otherwise>
         | 
| 12755 | 
            -
            							<xsl:value-of select="concat($basepath, @src)"/>
         | 
| 12756 | 
            -
            						</xsl:otherwise>
         | 
| 12757 | 
            -
            					</xsl:choose>
         | 
| 12758 | 
            -
            				</xsl:when>
         | 
| 12759 | 
            -
            				<xsl:otherwise><xsl:value-of select="@src"/></xsl:otherwise>
         | 
| 12760 | 
            -
            			</xsl:choose>
         | 
| 12933 | 
            +
            			<xsl:call-template name="getImageSrc"/>
         | 
| 12761 12934 | 
             
            		</xsl:variable>
         | 
| 12762 12935 |  | 
| 12763 12936 | 
             
            		<xsl:variable name="image_width_effective">
         | 
| @@ -12765,10 +12938,15 @@ | |
| 12765 12938 | 
             
            					<xsl:value-of select="$width_effective - number($indent_left)"/>
         | 
| 12766 12939 |  | 
| 12767 12940 | 
             
            		</xsl:variable>
         | 
| 12941 | 
            +
            		<xsl:variable name="image_height_effective" select="$height_effective - number($indent_left)"/>
         | 
| 12768 12942 | 
             
            		<!-- <xsl:message>width_effective=<xsl:value-of select="$width_effective"/></xsl:message>
         | 
| 12769 12943 | 
             
            		<xsl:message>indent_left=<xsl:value-of select="$indent_left"/></xsl:message>
         | 
| 12770 12944 | 
             
            		<xsl:message>image_width_effective=<xsl:value-of select="$image_width_effective"/> for <xsl:value-of select="ancestor::ogc:p[1]/@id"/></xsl:message> -->
         | 
| 12771 | 
            -
            		<xsl:variable name="scale" | 
| 12945 | 
            +
            		<xsl:variable name="scale">
         | 
| 12946 | 
            +
             | 
| 12947 | 
            +
            					<xsl:value-of select="java:org.metanorma.fop.utils.ImageUtils.getImageScale($img_src, $image_width_effective, $height_effective)"/>
         | 
| 12948 | 
            +
             | 
| 12949 | 
            +
            		</xsl:variable>
         | 
| 12772 12950 | 
             
            		<xsl:value-of select="$scale"/>
         | 
| 12773 12951 | 
             
            	</xsl:template>
         | 
| 12774 12952 |  | 
| @@ -13321,20 +13499,48 @@ | |
| 13321 13499 | 
             
            	<xsl:template match="*[local-name() = 'emf']"/>
         | 
| 13322 13500 |  | 
| 13323 13501 | 
             
            	<xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] |                *[local-name() = 'table']/*[local-name() = 'name'] |               *[local-name() = 'permission']/*[local-name() = 'name'] |               *[local-name() = 'recommendation']/*[local-name() = 'name'] |               *[local-name() = 'requirement']/*[local-name() = 'name']" mode="contents">
         | 
| 13502 | 
            +
            		<xsl:if test="not(following-sibling::*[1][local-name() = 'fmt-name'])">
         | 
| 13503 | 
            +
            			<xsl:apply-templates mode="contents"/>
         | 
| 13504 | 
            +
            			<xsl:text> </xsl:text>
         | 
| 13505 | 
            +
            		</xsl:if>
         | 
| 13506 | 
            +
            	</xsl:template>
         | 
| 13507 | 
            +
             | 
| 13508 | 
            +
            	<xsl:template match="*[local-name() = 'title'][following-sibling::*[1][local-name() = 'fmt-title']]" mode="contents"/>
         | 
| 13509 | 
            +
             | 
| 13510 | 
            +
            	<xsl:template match="*[local-name() = 'figure']/*[local-name() = 'fmt-name'] |                *[local-name() = 'table']/*[local-name() = 'fmt-name'] |               *[local-name() = 'permission']/*[local-name() = 'fmt-name'] |               *[local-name() = 'recommendation']/*[local-name() = 'fmt-name'] |               *[local-name() = 'requirement']/*[local-name() = 'fmt-name']" mode="contents">
         | 
| 13324 13511 | 
             
            		<xsl:apply-templates mode="contents"/>
         | 
| 13325 13512 | 
             
            		<xsl:text> </xsl:text>
         | 
| 13326 13513 | 
             
            	</xsl:template>
         | 
| 13327 13514 |  | 
| 13328 13515 | 
             
            	<xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] |                *[local-name() = 'table']/*[local-name() = 'name'] |               *[local-name() = 'permission']/*[local-name() = 'name'] |               *[local-name() = 'recommendation']/*[local-name() = 'name'] |               *[local-name() = 'requirement']/*[local-name() = 'name'] |               *[local-name() = 'sourcecode']/*[local-name() = 'name']" mode="bookmarks">
         | 
| 13516 | 
            +
            		<xsl:if test="not(following-sibling::*[1][local-name() = 'fmt-name'])">
         | 
| 13517 | 
            +
            			<xsl:apply-templates mode="bookmarks"/>
         | 
| 13518 | 
            +
            			<xsl:text> </xsl:text>
         | 
| 13519 | 
            +
            		</xsl:if>
         | 
| 13520 | 
            +
            	</xsl:template>
         | 
| 13521 | 
            +
             | 
| 13522 | 
            +
            	<xsl:template match="*[local-name() = 'figure']/*[local-name() = 'fmt-name'] |                *[local-name() = 'table']/*[local-name() = 'fmt-name'] |               *[local-name() = 'permission']/*[local-name() = 'fmt-name'] |               *[local-name() = 'recommendation']/*[local-name() = 'fmt-name'] |               *[local-name() = 'requirement']/*[local-name() = 'fmt-name'] |               *[local-name() = 'sourcecode']/*[local-name() = 'fmt-name']" mode="bookmarks">
         | 
| 13329 13523 | 
             
            		<xsl:apply-templates mode="bookmarks"/>
         | 
| 13330 13524 | 
             
            		<xsl:text> </xsl:text>
         | 
| 13331 13525 | 
             
            	</xsl:template>
         | 
| 13332 13526 |  | 
| 13333 13527 | 
             
            	<xsl:template match="*[local-name() = 'figure' or local-name() = 'table' or local-name() = 'permission' or local-name() = 'recommendation' or local-name() = 'requirement']/*[local-name() = 'name']/text()" mode="contents" priority="2">
         | 
| 13528 | 
            +
            		<xsl:if test="not(../following-sibling::*[1][local-name() = 'fmt-name'])">
         | 
| 13529 | 
            +
            			<xsl:value-of select="."/>
         | 
| 13530 | 
            +
            		</xsl:if>
         | 
| 13531 | 
            +
            	</xsl:template>
         | 
| 13532 | 
            +
             | 
| 13533 | 
            +
            	<xsl:template match="*[local-name() = 'figure' or local-name() = 'table' or local-name() = 'permission' or local-name() = 'recommendation' or local-name() = 'requirement']/*[local-name() = 'fmt-name']/text()" mode="contents" priority="2">
         | 
| 13334 13534 | 
             
            		<xsl:value-of select="."/>
         | 
| 13335 13535 | 
             
            	</xsl:template>
         | 
| 13336 13536 |  | 
| 13337 13537 | 
             
            	<xsl:template match="*[local-name() = 'figure' or local-name() = 'table' or local-name() = 'permission' or local-name() = 'recommendation' or local-name() = 'requirement' or local-name() = 'sourcecode']/*[local-name() = 'name']//text()" mode="bookmarks" priority="2">
         | 
| 13538 | 
            +
            		<xsl:if test="not(../following-sibling::*[1][local-name() = 'fmt-name'])">
         | 
| 13539 | 
            +
            			<xsl:value-of select="."/>
         | 
| 13540 | 
            +
            		</xsl:if>
         | 
| 13541 | 
            +
            	</xsl:template>
         | 
| 13542 | 
            +
             | 
| 13543 | 
            +
            	<xsl:template match="*[local-name() = 'figure' or local-name() = 'table' or local-name() = 'permission' or local-name() = 'recommendation' or local-name() = 'requirement' or local-name() = 'sourcecode']/*[local-name() = 'fmt-name']//text()" mode="bookmarks" priority="2">
         | 
| 13338 13544 | 
             
            		<xsl:value-of select="."/>
         | 
| 13339 13545 | 
             
            	</xsl:template>
         | 
| 13340 13546 |  | 
| @@ -13355,7 +13561,7 @@ | |
| 13355 13561 | 
             
            	</xsl:template>
         | 
| 13356 13562 |  | 
| 13357 13563 | 
             
            	<!-- special case: ignore section-title if @depth different than @depth of parent clause, or @depth of parent clause = 1 -->
         | 
| 13358 | 
            -
            	<xsl:template match="*[local-name() = 'clause']/*[local-name() = 'p'][@type = 'section-title' and (@depth != ../*[local-name() = 'title']/@depth or ../*[local-name() = 'title']/@depth = 1)]" priority="3" mode="contents"/>
         | 
| 13564 | 
            +
            	<xsl:template match="*[local-name() = 'clause']/*[local-name() = 'p'][@type = 'section-title' and (@depth != ../*[local-name() = 'title' or local-name() = 'fmt-title']/@depth or ../*[local-name() = 'title' or local-name() = 'fmt-title']/@depth = 1)]" priority="3" mode="contents"/>
         | 
| 13359 13565 |  | 
| 13360 13566 | 
             
            	<xsl:template match="*[local-name() = 'p'][@type = 'floating-title' or @type = 'section-title']" priority="2" name="contents_section-title" mode="contents">
         | 
| 13361 13567 | 
             
            		<xsl:variable name="level">
         | 
| @@ -13367,6 +13573,9 @@ | |
| 13367 13573 | 
             
            		<xsl:variable name="section">
         | 
| 13368 13574 | 
             
            			<xsl:choose>
         | 
| 13369 13575 | 
             
            				<xsl:when test="@type = 'section-title'"/>
         | 
| 13576 | 
            +
            				<xsl:when test="*[local-name() = 'span'][@class = 'fmt-caption-delim']">
         | 
| 13577 | 
            +
            					<xsl:value-of select="*[local-name() = 'span'][@class = 'fmt-caption-delim'][1]/preceding-sibling::node()"/>
         | 
| 13578 | 
            +
            				</xsl:when>
         | 
| 13370 13579 | 
             
            				<xsl:otherwise>
         | 
| 13371 13580 | 
             
            					<xsl:value-of select="*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
         | 
| 13372 13581 | 
             
            				</xsl:otherwise>
         | 
| @@ -13389,6 +13598,19 @@ | |
| 13389 13598 |  | 
| 13390 13599 | 
             
            			<xsl:variable name="title">
         | 
| 13391 13600 | 
             
            				<xsl:choose>
         | 
| 13601 | 
            +
            					<!-- https://github.com/metanorma/mn-native-pdf/issues/770 -->
         | 
| 13602 | 
            +
            					<xsl:when test="*[local-name() = 'span'][@class = 'fmt-caption-delim']">
         | 
| 13603 | 
            +
            						<xsl:choose>
         | 
| 13604 | 
            +
            							<xsl:when test="@type = 'section-title'">
         | 
| 13605 | 
            +
            								<xsl:value-of select="*[local-name() = 'span'][@class = 'fmt-caption-delim'][1]/preceding-sibling::node()"/>
         | 
| 13606 | 
            +
            								<xsl:text>: </xsl:text>
         | 
| 13607 | 
            +
            								<xsl:copy-of select="*[local-name() = 'span'][@class = 'fmt-caption-delim'][1]/following-sibling::node()[not(local-name = 'fmt-xref-label')]"/>
         | 
| 13608 | 
            +
            							</xsl:when>
         | 
| 13609 | 
            +
            							<xsl:otherwise>
         | 
| 13610 | 
            +
            								<xsl:copy-of select="*[local-name() = 'span'][@class = 'fmt-caption-delim'][1]/following-sibling::node()[not(local-name = 'fmt-xref-label')]"/>
         | 
| 13611 | 
            +
            							</xsl:otherwise>
         | 
| 13612 | 
            +
            						</xsl:choose>
         | 
| 13613 | 
            +
            					</xsl:when>
         | 
| 13392 13614 | 
             
            					<xsl:when test="*[local-name() = 'tab']">
         | 
| 13393 13615 | 
             
            						<xsl:choose>
         | 
| 13394 13616 | 
             
            							<xsl:when test="@type = 'section-title'">
         | 
| @@ -13424,7 +13646,7 @@ | |
| 13424 13646 | 
             
            		<xsl:apply-templates mode="bookmarks"/>
         | 
| 13425 13647 | 
             
            	</xsl:template>
         | 
| 13426 13648 |  | 
| 13427 | 
            -
            	<xsl:template match="*[local-name() = 'title' or local-name() = 'name']//*[local-name() = 'stem']" mode="contents">
         | 
| 13649 | 
            +
            	<xsl:template match="*[local-name() = 'title' or local-name() = 'name' or local-name() = 'fmt-title' or local-name() = 'fmt-name']//*[local-name() = 'stem']" mode="contents">
         | 
| 13428 13650 | 
             
            		<xsl:apply-templates select="."/>
         | 
| 13429 13651 | 
             
            	</xsl:template>
         | 
| 13430 13652 |  | 
| @@ -13437,6 +13659,10 @@ | |
| 13437 13659 | 
             
            		<xsl:apply-templates mode="contents"/>
         | 
| 13438 13660 | 
             
            	</xsl:template>
         | 
| 13439 13661 |  | 
| 13662 | 
            +
            	<xsl:template match="*[local-name() = 'semx']" mode="contents">
         | 
| 13663 | 
            +
            		<xsl:apply-templates mode="contents"/>
         | 
| 13664 | 
            +
            	</xsl:template>
         | 
| 13665 | 
            +
             | 
| 13440 13666 | 
             
            	<xsl:template match="*[local-name() = 'stem']" mode="bookmarks">
         | 
| 13441 13667 | 
             
            		<xsl:apply-templates mode="bookmarks"/>
         | 
| 13442 13668 | 
             
            	</xsl:template>
         | 
| @@ -13446,9 +13672,14 @@ | |
| 13446 13672 | 
             
            		<xsl:apply-templates mode="bookmarks"/>
         | 
| 13447 13673 | 
             
            	</xsl:template>
         | 
| 13448 13674 |  | 
| 13675 | 
            +
            	<xsl:template match="*[local-name() = 'semx']" mode="bookmarks">
         | 
| 13676 | 
            +
            		<xsl:apply-templates mode="bookmarks"/>
         | 
| 13677 | 
            +
            	</xsl:template>
         | 
| 13678 | 
            +
             | 
| 13449 13679 | 
             
            	<!-- Bookmarks -->
         | 
| 13450 13680 | 
             
            	<xsl:template name="addBookmarks">
         | 
| 13451 13681 | 
             
            		<xsl:param name="contents"/>
         | 
| 13682 | 
            +
            		<xsl:param name="contents_addon"/>
         | 
| 13452 13683 | 
             
            		<xsl:variable name="contents_nodes" select="xalan:nodeset($contents)"/>
         | 
| 13453 13684 | 
             
            		<xsl:if test="$contents_nodes//item">
         | 
| 13454 13685 | 
             
            			<fo:bookmark-tree>
         | 
| @@ -13546,6 +13777,9 @@ | |
| 13546 13777 | 
             
            					</xsl:otherwise>
         | 
| 13547 13778 | 
             
            				</xsl:choose>
         | 
| 13548 13779 |  | 
| 13780 | 
            +
            				<!-- for $namespace = 'nist-sp' $namespace = 'ogc' $namespace = 'ogc-white-paper' -->
         | 
| 13781 | 
            +
            				<xsl:copy-of select="$contents_addon"/>
         | 
| 13782 | 
            +
             | 
| 13549 13783 | 
             
            			</fo:bookmark-tree>
         | 
| 13550 13784 | 
             
            		</xsl:if>
         | 
| 13551 13785 | 
             
            	</xsl:template>
         | 
| @@ -13699,6 +13933,16 @@ | |
| 13699 13933 | 
             
            	<!-- ====== -->
         | 
| 13700 13934 | 
             
            	<!-- ====== -->
         | 
| 13701 13935 | 
             
            	<xsl:template match="*[local-name() = 'title']" mode="contents_item">
         | 
| 13936 | 
            +
            		<xsl:param name="mode">bookmarks</xsl:param>
         | 
| 13937 | 
            +
            		<xsl:if test="not(following-sibling::*[1][local-name() = 'fmt-title'])">
         | 
| 13938 | 
            +
            			<xsl:apply-templates mode="contents_item">
         | 
| 13939 | 
            +
            				<xsl:with-param name="mode" select="$mode"/>
         | 
| 13940 | 
            +
            			</xsl:apply-templates>
         | 
| 13941 | 
            +
            			<!-- <xsl:text> </xsl:text> -->
         | 
| 13942 | 
            +
            		</xsl:if>
         | 
| 13943 | 
            +
            	</xsl:template>
         | 
| 13944 | 
            +
             | 
| 13945 | 
            +
            	<xsl:template match="*[local-name() = 'fmt-title']" mode="contents_item">
         | 
| 13702 13946 | 
             
            		<xsl:param name="mode">bookmarks</xsl:param>
         | 
| 13703 13947 | 
             
            		<xsl:apply-templates mode="contents_item">
         | 
| 13704 13948 | 
             
            			<xsl:with-param name="mode" select="$mode"/>
         | 
| @@ -13706,12 +13950,38 @@ | |
| 13706 13950 | 
             
            		<!-- <xsl:text> </xsl:text> -->
         | 
| 13707 13951 | 
             
            	</xsl:template>
         | 
| 13708 13952 |  | 
| 13953 | 
            +
            	<xsl:template match="*[local-name() = 'span'][                @class = 'fmt-caption-label' or                 @class = 'fmt-element-name' or                @class = 'fmt-caption-delim']" mode="contents_item" priority="3">
         | 
| 13954 | 
            +
            		<xsl:apply-templates mode="contents_item"/>
         | 
| 13955 | 
            +
            	</xsl:template>
         | 
| 13956 | 
            +
             | 
| 13957 | 
            +
            	<xsl:template match="*[local-name() = 'semx']" mode="contents_item">
         | 
| 13958 | 
            +
            		<xsl:apply-templates mode="contents_item"/>
         | 
| 13959 | 
            +
            	</xsl:template>
         | 
| 13960 | 
            +
             | 
| 13961 | 
            +
            	<xsl:template match="*[local-name() = 'fmt-xref-label']" mode="contents_item"/>
         | 
| 13962 | 
            +
             | 
| 13709 13963 | 
             
            	<xsl:template name="getSection">
         | 
| 13710 | 
            -
            		<xsl: | 
| 13964 | 
            +
            		<xsl:choose>
         | 
| 13965 | 
            +
            			<xsl:when test="*[local-name() = 'fmt-title']">
         | 
| 13966 | 
            +
            				<xsl:variable name="fmt_title_section">
         | 
| 13967 | 
            +
            					<xsl:copy-of select="*[local-name() = 'fmt-title']//*[local-name() = 'span'][@class = 'fmt-caption-delim'][*[local-name() = 'tab']][1]/preceding-sibling::node()[not(local-name() = 'review')]"/>
         | 
| 13968 | 
            +
            				</xsl:variable>
         | 
| 13969 | 
            +
            				<xsl:value-of select="normalize-space($fmt_title_section)"/>
         | 
| 13970 | 
            +
            			</xsl:when>
         | 
| 13971 | 
            +
            			<xsl:otherwise>
         | 
| 13972 | 
            +
            				<xsl:value-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
         | 
| 13973 | 
            +
            			</xsl:otherwise>
         | 
| 13974 | 
            +
            		</xsl:choose>
         | 
| 13711 13975 | 
             
            	</xsl:template>
         | 
| 13712 13976 |  | 
| 13713 13977 | 
             
            	<xsl:template name="getName">
         | 
| 13714 13978 | 
             
            		<xsl:choose>
         | 
| 13979 | 
            +
            			<xsl:when test="*[local-name() = 'fmt-title']//*[local-name() = 'span'][@class = 'fmt-caption-delim'][*[local-name() = 'tab']]">
         | 
| 13980 | 
            +
            				<xsl:copy-of select="*[local-name() = 'fmt-title']//*[local-name() = 'span'][@class = 'fmt-caption-delim'][*[local-name() = 'tab']][1]/following-sibling::node()"/>
         | 
| 13981 | 
            +
            			</xsl:when>
         | 
| 13982 | 
            +
            			<xsl:when test="*[local-name() = 'fmt-title']">
         | 
| 13983 | 
            +
            				<xsl:copy-of select="*[local-name() = 'fmt-title']/node()"/>
         | 
| 13984 | 
            +
            			</xsl:when>
         | 
| 13715 13985 | 
             
            			<xsl:when test="*[local-name() = 'title']/*[local-name() = 'tab']">
         | 
| 13716 13986 | 
             
            				<xsl:copy-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/following-sibling::node()"/>
         | 
| 13717 13987 | 
             
            			</xsl:when>
         | 
| @@ -13818,6 +14088,15 @@ | |
| 13818 14088 | 
             
            	</xsl:template>
         | 
| 13819 14089 |  | 
| 13820 14090 | 
             
            	<xsl:template match="*[local-name() = 'name']" mode="contents_item">
         | 
| 14091 | 
            +
            		<xsl:param name="mode">bookmarks</xsl:param>
         | 
| 14092 | 
            +
            		<xsl:if test="not(following-sibling::*[1][local-name() = 'fmt-name'])">
         | 
| 14093 | 
            +
            			<xsl:apply-templates mode="contents_item">
         | 
| 14094 | 
            +
            				<xsl:with-param name="mode" select="$mode"/>
         | 
| 14095 | 
            +
            			</xsl:apply-templates>
         | 
| 14096 | 
            +
            		</xsl:if>
         | 
| 14097 | 
            +
            	</xsl:template>
         | 
| 14098 | 
            +
             | 
| 14099 | 
            +
            	<xsl:template match="*[local-name() = 'fmt-name']" mode="contents_item">
         | 
| 13821 14100 | 
             
            		<xsl:param name="mode">bookmarks</xsl:param>
         | 
| 13822 14101 | 
             
            		<xsl:apply-templates mode="contents_item">
         | 
| 13823 14102 | 
             
            			<xsl:with-param name="mode" select="$mode"/>
         | 
| @@ -14615,7 +14894,7 @@ | |
| 14615 14894 | 
             
            		<xsl:if test="normalize-space() != ''">
         | 
| 14616 14895 | 
             
            			<fo:inline xsl:use-attribute-sets="termexample-name-style">
         | 
| 14617 14896 | 
             
            				<xsl:call-template name="refine_termexample-name-style"/>
         | 
| 14618 | 
            -
            				<xsl:apply-templates/>
         | 
| 14897 | 
            +
            				<xsl:apply-templates/> <!-- commented $namespace = 'ieee', https://github.com/metanorma/isodoc/issues/614-->
         | 
| 14619 14898 | 
             
            			</fo:inline>
         | 
| 14620 14899 | 
             
            		</xsl:if>
         | 
| 14621 14900 | 
             
            	</xsl:template>
         | 
| @@ -14656,112 +14935,113 @@ | |
| 14656 14935 | 
             
            	-->
         | 
| 14657 14936 | 
             
            	<xsl:template match="*[local-name() = 'example']">
         | 
| 14658 14937 |  | 
| 14659 | 
            -
             | 
| 14660 | 
            -
             | 
| 14661 | 
            -
            			<xsl:call-template name="setBlockSpanAll"/>
         | 
| 14938 | 
            +
            				<fo:block-container id="{@id}" xsl:use-attribute-sets="example-style" role="SKIP">
         | 
| 14662 14939 |  | 
| 14663 | 
            -
             | 
| 14940 | 
            +
            					<xsl:call-template name="setBlockSpanAll"/>
         | 
| 14664 14941 |  | 
| 14665 | 
            -
             | 
| 14666 | 
            -
            				<xsl:if test=".//*[local-name() = 'table'] or .//*[local-name() = 'dl'] or *[not(local-name() = 'name')][1][local-name() = 'sourcecode']">block</xsl:if>
         | 
| 14942 | 
            +
            					<xsl:call-template name="refine_example-style"/>
         | 
| 14667 14943 |  | 
| 14668 | 
            -
             | 
| 14669 | 
            -
             | 
| 14670 | 
            -
            							<xsl:otherwise>inline</xsl:otherwise>
         | 
| 14671 | 
            -
            						</xsl:choose>
         | 
| 14944 | 
            +
            					<xsl:variable name="fo_element">
         | 
| 14945 | 
            +
            						<xsl:if test=".//*[local-name() = 'table'] or .//*[local-name() = 'dl'] or *[not(local-name() = 'name')][1][local-name() = 'sourcecode']">block</xsl:if>
         | 
| 14672 14946 |  | 
| 14673 | 
            -
             | 
| 14947 | 
            +
            								<xsl:choose>
         | 
| 14948 | 
            +
            									<xsl:when test="$layoutVersion = '1951' and $revision_date_num < 19610101">list</xsl:when>
         | 
| 14949 | 
            +
            									<xsl:otherwise>inline</xsl:otherwise>
         | 
| 14950 | 
            +
            								</xsl:choose>
         | 
| 14674 14951 |  | 
| 14675 | 
            -
             | 
| 14952 | 
            +
            					</xsl:variable>
         | 
| 14676 14953 |  | 
| 14677 | 
            -
             | 
| 14954 | 
            +
            					<fo:block-container margin-left="0mm" role="SKIP">
         | 
| 14678 14955 |  | 
| 14679 | 
            -
             | 
| 14956 | 
            +
            						<xsl:choose>
         | 
| 14680 14957 |  | 
| 14681 | 
            -
             | 
| 14682 | 
            -
            						<fo:block>
         | 
| 14683 | 
            -
            							<xsl:apply-templates select="*[local-name()='name']">
         | 
| 14684 | 
            -
            								<xsl:with-param name="fo_element" select="$fo_element"/>
         | 
| 14685 | 
            -
            							</xsl:apply-templates>
         | 
| 14686 | 
            -
            						</fo:block>
         | 
| 14958 | 
            +
            							<xsl:when test="contains(normalize-space($fo_element), 'block')">
         | 
| 14687 14959 |  | 
| 14688 | 
            -
             | 
| 14689 | 
            -
             | 
| 14690 | 
            -
             | 
| 14691 | 
            -
            									<xsl:apply-templates select="node()[not(local-name() = 'name')]">
         | 
| 14960 | 
            +
            								<!-- display name 'EXAMPLE' in a separate block  -->
         | 
| 14961 | 
            +
            								<fo:block>
         | 
| 14962 | 
            +
            									<xsl:apply-templates select="*[local-name()='name']">
         | 
| 14692 14963 | 
             
            										<xsl:with-param name="fo_element" select="$fo_element"/>
         | 
| 14693 14964 | 
             
            									</xsl:apply-templates>
         | 
| 14965 | 
            +
            								</fo:block>
         | 
| 14966 | 
            +
             | 
| 14967 | 
            +
            								<fo:block-container xsl:use-attribute-sets="example-body-style" role="SKIP">
         | 
| 14968 | 
            +
            									<fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
         | 
| 14969 | 
            +
            										<xsl:variable name="example_body">
         | 
| 14970 | 
            +
            											<xsl:apply-templates select="node()[not(local-name() = 'name')]">
         | 
| 14971 | 
            +
            												<xsl:with-param name="fo_element" select="$fo_element"/>
         | 
| 14972 | 
            +
            											</xsl:apply-templates>
         | 
| 14973 | 
            +
            										</xsl:variable>
         | 
| 14974 | 
            +
            										<xsl:choose>
         | 
| 14975 | 
            +
            											<xsl:when test="xalan:nodeset($example_body)/*">
         | 
| 14976 | 
            +
            												<xsl:copy-of select="$example_body"/>
         | 
| 14977 | 
            +
            											</xsl:when>
         | 
| 14978 | 
            +
            											<xsl:otherwise><fo:block/><!-- prevent empty block-container --></xsl:otherwise>
         | 
| 14979 | 
            +
            										</xsl:choose>
         | 
| 14980 | 
            +
            									</fo:block-container>
         | 
| 14981 | 
            +
            								</fo:block-container>
         | 
| 14982 | 
            +
            							</xsl:when> <!-- end block -->
         | 
| 14983 | 
            +
             | 
| 14984 | 
            +
            							<xsl:when test="contains(normalize-space($fo_element), 'list')">
         | 
| 14985 | 
            +
             | 
| 14986 | 
            +
            								<xsl:variable name="provisional_distance_between_starts_">
         | 
| 14987 | 
            +
            									45
         | 
| 14694 14988 | 
             
            								</xsl:variable>
         | 
| 14695 | 
            -
            								<xsl: | 
| 14696 | 
            -
             | 
| 14697 | 
            -
             | 
| 14698 | 
            -
             | 
| 14699 | 
            -
             | 
| 14700 | 
            -
            								</xsl:choose>
         | 
| 14701 | 
            -
            							</fo:block-container>
         | 
| 14702 | 
            -
            						</fo:block-container>
         | 
| 14703 | 
            -
            					</xsl:when> <!-- end block -->
         | 
| 14989 | 
            +
            								<xsl:variable name="provisional_distance_between_starts" select="normalize-space($provisional_distance_between_starts_)"/>
         | 
| 14990 | 
            +
            								<xsl:variable name="indent_">
         | 
| 14991 | 
            +
            									28
         | 
| 14992 | 
            +
            								</xsl:variable>
         | 
| 14993 | 
            +
            								<xsl:variable name="indent" select="normalize-space($indent_)"/>
         | 
| 14704 14994 |  | 
| 14705 | 
            -
             | 
| 14995 | 
            +
            								<fo:list-block provisional-distance-between-starts="{$provisional_distance_between_starts}mm">
         | 
| 14996 | 
            +
            									<fo:list-item>
         | 
| 14997 | 
            +
            										<fo:list-item-label start-indent="{$indent}mm" end-indent="label-end()">
         | 
| 14998 | 
            +
            											<fo:block>
         | 
| 14999 | 
            +
            												<xsl:apply-templates select="*[local-name()='name']">
         | 
| 15000 | 
            +
            													<xsl:with-param name="fo_element">block</xsl:with-param>
         | 
| 15001 | 
            +
            												</xsl:apply-templates>
         | 
| 15002 | 
            +
            											</fo:block>
         | 
| 15003 | 
            +
            										</fo:list-item-label>
         | 
| 15004 | 
            +
            										<fo:list-item-body start-indent="body-start()">
         | 
| 15005 | 
            +
            											<fo:block>
         | 
| 15006 | 
            +
            												<xsl:apply-templates select="node()[not(local-name() = 'name')]">
         | 
| 15007 | 
            +
            													<xsl:with-param name="fo_element" select="$fo_element"/>
         | 
| 15008 | 
            +
            												</xsl:apply-templates>
         | 
| 15009 | 
            +
            											</fo:block>
         | 
| 15010 | 
            +
            										</fo:list-item-body>
         | 
| 15011 | 
            +
            									</fo:list-item>
         | 
| 15012 | 
            +
            								</fo:list-block>
         | 
| 15013 | 
            +
            							</xsl:when> <!-- end list -->
         | 
| 14706 15014 |  | 
| 14707 | 
            -
             | 
| 14708 | 
            -
            							45
         | 
| 14709 | 
            -
            						</xsl:variable>
         | 
| 14710 | 
            -
            						<xsl:variable name="provisional_distance_between_starts" select="normalize-space($provisional_distance_between_starts_)"/>
         | 
| 14711 | 
            -
            						<xsl:variable name="indent_">
         | 
| 14712 | 
            -
            							28
         | 
| 14713 | 
            -
            						</xsl:variable>
         | 
| 14714 | 
            -
            						<xsl:variable name="indent" select="normalize-space($indent_)"/>
         | 
| 15015 | 
            +
            							<xsl:otherwise> <!-- inline -->
         | 
| 14715 15016 |  | 
| 14716 | 
            -
             | 
| 14717 | 
            -
             | 
| 14718 | 
            -
             | 
| 14719 | 
            -
             | 
| 14720 | 
            -
             | 
| 14721 | 
            -
             | 
| 14722 | 
            -
            										 | 
| 14723 | 
            -
            									</fo:block>
         | 
| 14724 | 
            -
            								</fo:list-item-label>
         | 
| 14725 | 
            -
            								<fo:list-item-body start-indent="body-start()">
         | 
| 14726 | 
            -
            									<fo:block>
         | 
| 14727 | 
            -
            										<xsl:apply-templates select="node()[not(local-name() = 'name')]">
         | 
| 15017 | 
            +
            								<!-- display 'EXAMPLE' and first element in the same line -->
         | 
| 15018 | 
            +
            								<fo:block>
         | 
| 15019 | 
            +
            									<xsl:apply-templates select="*[local-name()='name']">
         | 
| 15020 | 
            +
            										<xsl:with-param name="fo_element" select="$fo_element"/>
         | 
| 15021 | 
            +
            									</xsl:apply-templates>
         | 
| 15022 | 
            +
            									<fo:inline>
         | 
| 15023 | 
            +
            										<xsl:apply-templates select="*[not(local-name() = 'name')][1]">
         | 
| 14728 15024 | 
             
            											<xsl:with-param name="fo_element" select="$fo_element"/>
         | 
| 14729 15025 | 
             
            										</xsl:apply-templates>
         | 
| 14730 | 
            -
            									</fo: | 
| 14731 | 
            -
            								</fo: | 
| 14732 | 
            -
            							</fo:list-item>
         | 
| 14733 | 
            -
            						</fo:list-block>
         | 
| 14734 | 
            -
            					</xsl:when> <!-- end list -->
         | 
| 14735 | 
            -
             | 
| 14736 | 
            -
            					<xsl:otherwise> <!-- inline -->
         | 
| 15026 | 
            +
            									</fo:inline>
         | 
| 15027 | 
            +
            								</fo:block>
         | 
| 14737 15028 |  | 
| 14738 | 
            -
             | 
| 14739 | 
            -
             | 
| 14740 | 
            -
             | 
| 14741 | 
            -
             | 
| 14742 | 
            -
             | 
| 14743 | 
            -
             | 
| 14744 | 
            -
             | 
| 14745 | 
            -
             | 
| 14746 | 
            -
             | 
| 14747 | 
            -
             | 
| 14748 | 
            -
             | 
| 15029 | 
            +
            								<xsl:if test="*[not(local-name() = 'name')][position() > 1]">
         | 
| 15030 | 
            +
            									<!-- display further elements in blocks -->
         | 
| 15031 | 
            +
            									<fo:block-container xsl:use-attribute-sets="example-body-style" role="SKIP">
         | 
| 15032 | 
            +
            										<fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
         | 
| 15033 | 
            +
            											<xsl:apply-templates select="*[not(local-name() = 'name')][position() > 1]">
         | 
| 15034 | 
            +
            												<xsl:with-param name="fo_element" select="'block'"/>
         | 
| 15035 | 
            +
            											</xsl:apply-templates>
         | 
| 15036 | 
            +
            										</fo:block-container>
         | 
| 15037 | 
            +
            									</fo:block-container>
         | 
| 15038 | 
            +
            								</xsl:if>
         | 
| 15039 | 
            +
            							</xsl:otherwise> <!-- end inline -->
         | 
| 14749 15040 |  | 
| 14750 | 
            -
            						 | 
| 14751 | 
            -
             | 
| 14752 | 
            -
             | 
| 14753 | 
            -
            								<fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
         | 
| 14754 | 
            -
            									<xsl:apply-templates select="*[not(local-name() = 'name')][position() > 1]">
         | 
| 14755 | 
            -
            										<xsl:with-param name="fo_element" select="'block'"/>
         | 
| 14756 | 
            -
            									</xsl:apply-templates>
         | 
| 14757 | 
            -
            								</fo:block-container>
         | 
| 14758 | 
            -
            							</fo:block-container>
         | 
| 14759 | 
            -
            						</xsl:if>
         | 
| 14760 | 
            -
            					</xsl:otherwise> <!-- end inline -->
         | 
| 15041 | 
            +
            						</xsl:choose>
         | 
| 15042 | 
            +
            					</fo:block-container>
         | 
| 15043 | 
            +
            				</fo:block-container>
         | 
| 14761 15044 |  | 
| 14762 | 
            -
            				</xsl:choose>
         | 
| 14763 | 
            -
            			</fo:block-container>
         | 
| 14764 | 
            -
            		</fo:block-container>
         | 
| 14765 15045 | 
             
            	</xsl:template>
         | 
| 14766 15046 |  | 
| 14767 15047 | 
             
            	<xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']">
         | 
| @@ -14782,7 +15062,7 @@ | |
| 14782 15062 | 
             
            			<xsl:otherwise>
         | 
| 14783 15063 | 
             
            				<fo:inline xsl:use-attribute-sets="example-name-style">
         | 
| 14784 15064 | 
             
            					<xsl:call-template name="refine_example-name-style"/>
         | 
| 14785 | 
            -
            					<xsl:apply-templates/>
         | 
| 15065 | 
            +
            					<xsl:apply-templates/> <!-- $namespace = 'ieee', see https://github.com/metanorma/isodoc/issues/614  -->
         | 
| 14786 15066 | 
             
            				</fo:inline>
         | 
| 14787 15067 | 
             
            			</xsl:otherwise>
         | 
| 14788 15068 | 
             
            		</xsl:choose>
         | 
| @@ -14974,15 +15254,17 @@ | |
| 14974 15254 |  | 
| 14975 15255 | 
             
            					<fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
         | 
| 14976 15256 | 
             
            						<fo:block role="BlockQuote">
         | 
| 14977 | 
            -
            							<xsl:apply-templates select="./node()[not(local-name() = 'author') and | 
| 15257 | 
            +
            							<xsl:apply-templates select="./node()[not(local-name() = 'author') and         not(local-name() = 'source') and         not(local-name() = 'attribution')]"/> <!-- process all nested nodes, except author and source -->
         | 
| 14978 15258 | 
             
            						</fo:block>
         | 
| 14979 15259 | 
             
            					</fo:block-container>
         | 
| 14980 15260 | 
             
            				</fo:block-container>
         | 
| 14981 | 
            -
            				<xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
         | 
| 15261 | 
            +
            				<xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source'] or *[local-name() = 'attribution']">
         | 
| 14982 15262 | 
             
            					<fo:block xsl:use-attribute-sets="quote-source-style">
         | 
| 14983 15263 | 
             
            						<!-- — ISO, ISO 7301:2011, Clause 1 -->
         | 
| 14984 15264 | 
             
            						<xsl:apply-templates select="*[local-name() = 'author']"/>
         | 
| 14985 15265 | 
             
            						<xsl:apply-templates select="*[local-name() = 'source']"/>
         | 
| 15266 | 
            +
            						<!-- added for https://github.com/metanorma/isodoc/issues/607 -->
         | 
| 15267 | 
            +
            						<xsl:apply-templates select="*[local-name() = 'attribution']/*[local-name() = 'p']/node()"/>
         | 
| 14986 15268 | 
             
            					</fo:block>
         | 
| 14987 15269 | 
             
            				</xsl:if>
         | 
| 14988 15270 |  | 
| @@ -15004,9 +15286,13 @@ | |
| 15004 15286 | 
             
            	</xsl:template>
         | 
| 15005 15287 |  | 
| 15006 15288 | 
             
            	<xsl:template match="*[local-name() = 'author']">
         | 
| 15007 | 
            -
            		<xsl: | 
| 15289 | 
            +
            		<xsl:if test="local-name(..) = 'quote'"> <!-- for old Presentation XML, https://github.com/metanorma/isodoc/issues/607 -->
         | 
| 15290 | 
            +
            			<xsl:text>— </xsl:text>
         | 
| 15291 | 
            +
            		</xsl:if>
         | 
| 15008 15292 | 
             
            		<xsl:apply-templates/>
         | 
| 15009 15293 | 
             
            	</xsl:template>
         | 
| 15294 | 
            +
             | 
| 15295 | 
            +
            	<xsl:template match="*[local-name() = 'quote']//*[local-name() = 'referenceFrom']"/>
         | 
| 15010 15296 | 
             
            	<!-- ====== -->
         | 
| 15011 15297 | 
             
            	<!-- ====== -->
         | 
| 15012 15298 |  | 
| @@ -15148,6 +15434,15 @@ | |
| 15148 15434 |  | 
| 15149 15435 | 
             
            	</xsl:template> <!-- tab -->
         | 
| 15150 15436 |  | 
| 15437 | 
            +
            	<xsl:template match="*[local-name() = 'note']/*[local-name() = 'name']/*[local-name() = 'tab']" priority="2"/>
         | 
| 15438 | 
            +
            	<xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'name']/*[local-name() = 'tab']" priority="2"/>
         | 
| 15439 | 
            +
             | 
| 15440 | 
            +
            	<xsl:template match="*[local-name() = 'note']/*[local-name() = 'name']/*[local-name() = 'tab']" mode="tab">
         | 
| 15441 | 
            +
             | 
| 15442 | 
            +
            			<xsl:attribute name="padding-right">6mm</xsl:attribute>
         | 
| 15443 | 
            +
             | 
| 15444 | 
            +
            	</xsl:template>
         | 
| 15445 | 
            +
             | 
| 15151 15446 | 
             
            	<xsl:template name="insertNonBreakSpaces">
         | 
| 15152 15447 | 
             
            		<xsl:param name="count"/>
         | 
| 15153 15448 | 
             
            		<xsl:if test="$count > 0">
         | 
| @@ -15187,8 +15482,12 @@ | |
| 15187 15482 | 
             
            	</xsl:template>
         | 
| 15188 15483 |  | 
| 15189 15484 | 
             
            	<xsl:template match="*[local-name() = 'domain']">
         | 
| 15485 | 
            +
            		<!-- https://github.com/metanorma/isodoc/issues/607 
         | 
| 15190 15486 | 
             
            		<fo:inline xsl:use-attribute-sets="domain-style"><<xsl:apply-templates/>></fo:inline>
         | 
| 15191 | 
            -
            		<xsl:text> </xsl:text>
         | 
| 15487 | 
            +
            		<xsl:text> </xsl:text> -->
         | 
| 15488 | 
            +
            		<xsl:if test="not(@hidden = 'true')">
         | 
| 15489 | 
            +
            			<xsl:apply-templates/>
         | 
| 15490 | 
            +
            		</xsl:if>
         | 
| 15192 15491 | 
             
            	</xsl:template>
         | 
| 15193 15492 |  | 
| 15194 15493 | 
             
            	<xsl:template match="*[local-name() = 'admitted']">
         | 
| @@ -15236,6 +15535,29 @@ | |
| 15236 15535 | 
             
            	<!-- END definition -->
         | 
| 15237 15536 | 
             
            	<!-- ========== -->
         | 
| 15238 15537 |  | 
| 15538 | 
            +
            	<xsl:variable name="reviews_">
         | 
| 15539 | 
            +
            		<xsl:for-each select="//*[local-name() = 'review'][@from]">
         | 
| 15540 | 
            +
            			<xsl:copy>
         | 
| 15541 | 
            +
            				<xsl:copy-of select="@from"/>
         | 
| 15542 | 
            +
            				<xsl:copy-of select="@id"/>
         | 
| 15543 | 
            +
            			</xsl:copy>
         | 
| 15544 | 
            +
            		</xsl:for-each>
         | 
| 15545 | 
            +
            	</xsl:variable>
         | 
| 15546 | 
            +
            	<xsl:variable name="reviews" select="xalan:nodeset($reviews_)"/>
         | 
| 15547 | 
            +
             | 
| 15548 | 
            +
            	<xsl:template name="addReviewHelper">
         | 
| 15549 | 
            +
            		<!-- if there is review with from="...", then add small helper block for Annot tag adding, see 'review' template -->
         | 
| 15550 | 
            +
            		<xsl:variable name="curr_id" select="@id"/>
         | 
| 15551 | 
            +
            		<xsl:variable name="review_id" select="normalize-space($reviews//*[local-name() = 'review'][@from = $curr_id]/@id)"/>
         | 
| 15552 | 
            +
            		<xsl:if test="$review_id != ''"> <!-- i.e. if review found -->
         | 
| 15553 | 
            +
            			<fo:block keep-with-next="always" line-height="0.1" id="{$review_id}" font-size="1pt" role="SKIP"><xsl:value-of select="$hair_space"/><fo:basic-link internal-destination="{$review_id}" fox:alt-text="Annot___{$review_id}" role="Annot"><xsl:value-of select="$hair_space"/></fo:basic-link></fo:block>
         | 
| 15554 | 
            +
            		</xsl:if>
         | 
| 15555 | 
            +
            		<!-- <fo:block>
         | 
| 15556 | 
            +
            			<curr_id><xsl:value-of select="$curr_id"/></curr_id>
         | 
| 15557 | 
            +
            			<xsl:copy-of select="$reviews"/>
         | 
| 15558 | 
            +
            		</fo:block> -->
         | 
| 15559 | 
            +
            	</xsl:template>
         | 
| 15560 | 
            +
             | 
| 15239 15561 | 
             
            	<!-- main sections -->
         | 
| 15240 15562 | 
             
            	<xsl:template match="/*/*[local-name() = 'sections']/*" name="sections_node" priority="2">
         | 
| 15241 15563 |  | 
| @@ -15244,6 +15566,8 @@ | |
| 15244 15566 |  | 
| 15245 15567 | 
             
            			<xsl:call-template name="sections_element_style"/>
         | 
| 15246 15568 |  | 
| 15569 | 
            +
            			<xsl:call-template name="addReviewHelper"/>
         | 
| 15570 | 
            +
             | 
| 15247 15571 | 
             
            			<xsl:apply-templates/>
         | 
| 15248 15572 | 
             
            		</fo:block>
         | 
| 15249 15573 |  | 
| @@ -15290,6 +15614,7 @@ | |
| 15290 15614 |  | 
| 15291 15615 | 
             
            		<fo:block>
         | 
| 15292 15616 | 
             
            			<xsl:call-template name="setId"/>
         | 
| 15617 | 
            +
            			<xsl:call-template name="addReviewHelper"/>
         | 
| 15293 15618 | 
             
            			<xsl:apply-templates/>
         | 
| 15294 15619 | 
             
            		</fo:block>
         | 
| 15295 15620 | 
             
            	</xsl:template>
         | 
| @@ -15326,6 +15651,8 @@ | |
| 15326 15651 |  | 
| 15327 15652 | 
             
            			<xsl:call-template name="refine_clause_style"/>
         | 
| 15328 15653 |  | 
| 15654 | 
            +
            			<xsl:call-template name="addReviewHelper"/>
         | 
| 15655 | 
            +
             | 
| 15329 15656 | 
             
            			<xsl:apply-templates/>
         | 
| 15330 15657 | 
             
            		</fo:block>
         | 
| 15331 15658 | 
             
            	</xsl:template>
         | 
| @@ -15378,6 +15705,23 @@ | |
| 15378 15705 |  | 
| 15379 15706 | 
             
            		<xsl:variable name="id_from" select="normalize-space(current()/@from)"/>
         | 
| 15380 15707 |  | 
| 15708 | 
            +
            		<xsl:if test="1 = 1">
         | 
| 15709 | 
            +
            		<xsl:choose>
         | 
| 15710 | 
            +
            			<!-- if there isn't the attribute '@from', then -->
         | 
| 15711 | 
            +
            			<xsl:when test="$id_from = ''">
         | 
| 15712 | 
            +
            				<fo:block id="{@id}" font-size="1pt" role="SKIP"><xsl:value-of select="$hair_space"/><fo:basic-link internal-destination="{@id}" fox:alt-text="Annot___{@id}" role="Annot"><xsl:value-of select="$hair_space"/></fo:basic-link></fo:block>
         | 
| 15713 | 
            +
            			</xsl:when>
         | 
| 15714 | 
            +
            			<!-- if there isn't element with id 'from', then create 'bookmark' here -->
         | 
| 15715 | 
            +
            			<xsl:when test="ancestor::*[contains(local-name(), '-standard')] and not(ancestor::*[contains(local-name(), '-standard')]//*[@id = $id_from])">
         | 
| 15716 | 
            +
            				<fo:block id="{@from}" font-size="1pt" role="SKIP"><xsl:value-of select="$hair_space"/><fo:basic-link internal-destination="{@from}" fox:alt-text="Annot___{@id}" role="Annot"><xsl:value-of select="$hair_space"/></fo:basic-link></fo:block>
         | 
| 15717 | 
            +
            			</xsl:when>
         | 
| 15718 | 
            +
            			<xsl:when test="not(/*[@id = $id_from]) and not(/*//*[@id = $id_from]) and not(preceding-sibling::*[@id = $id_from])">
         | 
| 15719 | 
            +
            				<fo:block id="{@from}" font-size="1pt" role="SKIP"><xsl:value-of select="$hair_space"/><fo:basic-link internal-destination="{@from}" fox:alt-text="Annot___{@id}" role="Annot"><xsl:value-of select="$hair_space"/></fo:basic-link></fo:block>
         | 
| 15720 | 
            +
            			</xsl:when>
         | 
| 15721 | 
            +
            		</xsl:choose>
         | 
| 15722 | 
            +
            		</xsl:if>
         | 
| 15723 | 
            +
             | 
| 15724 | 
            +
                <xsl:if test="1 = 2">
         | 
| 15381 15725 | 
             
            		<xsl:choose>
         | 
| 15382 15726 | 
             
            			<!-- if there isn't the attribute '@from', then -->
         | 
| 15383 15727 | 
             
            			<xsl:when test="$id_from = ''">
         | 
| @@ -15391,6 +15735,7 @@ | |
| 15391 15735 | 
             
            				<fo:block id="{@from}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:block>
         | 
| 15392 15736 | 
             
            			</xsl:when>
         | 
| 15393 15737 | 
             
            		</xsl:choose>
         | 
| 15738 | 
            +
                </xsl:if>
         | 
| 15394 15739 |  | 
| 15395 15740 | 
             
            	</xsl:template>
         | 
| 15396 15741 |  | 
| @@ -16545,9 +16890,9 @@ | |
| 16545 16890 | 
             
            					</xsl:if>
         | 
| 16546 16891 |  | 
| 16547 16892 | 
             
            						<xsl:if test="@type != 'editorial'">
         | 
| 16548 | 
            -
            							<xsl:call-template name="displayAdmonitionName" | 
| 16549 | 
            -
            								 | 
| 16550 | 
            -
             | 
| 16893 | 
            +
            							<xsl:call-template name="displayAdmonitionName"/>
         | 
| 16894 | 
            +
            								<!-- https://github.com/metanorma/isodoc/issues/614 -->
         | 
| 16895 | 
            +
            								<!-- <xsl:with-param name="sep"> — </xsl:with-param> -->
         | 
| 16551 16896 | 
             
            						</xsl:if>
         | 
| 16552 16897 |  | 
| 16553 16898 | 
             
            					<xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
         | 
| @@ -16696,6 +17041,10 @@ | |
| 16696 17041 | 
             
            	<!--   - Remove semantic xml part -->
         | 
| 16697 17042 | 
             
            	<!--   - Remove image/emf (EMF vector image for Word) -->
         | 
| 16698 17043 | 
             
            	<!--   - add @id, redundant for table auto-layout algorithm -->
         | 
| 17044 | 
            +
            	<!--   - process 'passthrough' element -->
         | 
| 17045 | 
            +
            	<!--   - split math by element with @linebreak into maths -->
         | 
| 17046 | 
            +
            	<!--   - rename fmt-title to title, fmt-name to name and another changes to convert new presentation XML to  -->
         | 
| 17047 | 
            +
            	<!--   - old XML without significant changes in XSLT -->
         | 
| 16699 17048 | 
             
            	<!-- =========================================================================== -->
         | 
| 16700 17049 | 
             
            	<xsl:template match="@*|node()" mode="update_xml_step1">
         | 
| 16701 17050 | 
             
            		<xsl:copy>
         | 
| @@ -16703,6 +17052,12 @@ | |
| 16703 17052 | 
             
            		</xsl:copy>
         | 
| 16704 17053 | 
             
            	</xsl:template>
         | 
| 16705 17054 |  | 
| 17055 | 
            +
            	<xsl:template match="@*|node()" mode="update_xml_pres">
         | 
| 17056 | 
            +
            		<xsl:copy>
         | 
| 17057 | 
            +
            			<xsl:apply-templates select="@*|node()" mode="update_xml_pres"/>
         | 
| 17058 | 
            +
            		</xsl:copy>
         | 
| 17059 | 
            +
            	</xsl:template>
         | 
| 17060 | 
            +
             | 
| 16706 17061 | 
             
            	<!-- change section's order based on @displayorder value -->
         | 
| 16707 17062 | 
             
            	<xsl:template match="*[local-name() = 'preface']" mode="update_xml_step1">
         | 
| 16708 17063 | 
             
            		<xsl:copy>
         | 
| @@ -16779,7 +17134,7 @@ | |
| 16779 17134 | 
             
            	</xsl:template>
         | 
| 16780 17135 |  | 
| 16781 17136 | 
             
            	<!-- Example with 'class': <span class="stdpublisher">ISO</span> <span class="stddocNumber">10303</span>-<span class="stddocPartNumber">1</span>:<span class="stdyear">1994</span> -->
         | 
| 16782 | 
            -
            	<xsl:template match="*[local-name() = 'span'][@style or @class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear']" mode="update_xml_step1" priority="2">
         | 
| 17137 | 
            +
            	<xsl:template match="*[local-name() = 'span'][@style or @class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear' or @class = 'horizontal' or @class = 'norotate' or @class = 'halffontsize']" mode="update_xml_step1" priority="2">
         | 
| 16783 17138 | 
             
            		<xsl:copy>
         | 
| 16784 17139 | 
             
            			<xsl:copy-of select="@*"/>
         | 
| 16785 17140 | 
             
            			<xsl:apply-templates mode="update_xml_step1"/>
         | 
| @@ -16798,14 +17153,17 @@ | |
| 16798 17153 |  | 
| 16799 17154 | 
             
            	<!-- remove semantic xml -->
         | 
| 16800 17155 | 
             
            	<xsl:template match="*[local-name() = 'metanorma-extension']/*[local-name() = 'metanorma']/*[local-name() = 'source']" mode="update_xml_step1"/>
         | 
| 17156 | 
            +
            	<xsl:template match="*[local-name() = 'metanorma-extension']/*[local-name() = 'metanorma']/*[local-name() = 'source']" mode="update_xml_pres"/>
         | 
| 16801 17157 |  | 
| 16802 17158 | 
             
            	<!-- remove image/emf -->
         | 
| 16803 17159 | 
             
            	<xsl:template match="*[local-name() = 'image']/*[local-name() = 'emf']" mode="update_xml_step1"/>
         | 
| 17160 | 
            +
            	<xsl:template match="*[local-name() = 'image']/*[local-name() = 'emf']" mode="update_xml_pres"/>
         | 
| 16804 17161 |  | 
| 16805 17162 | 
             
            	<!-- remove preprocess-xslt -->
         | 
| 16806 17163 | 
             
            	<xsl:template match="*[local-name() = 'preprocess-xslt']" mode="update_xml_step1"/>
         | 
| 17164 | 
            +
            	<xsl:template match="*[local-name() = 'preprocess-xslt']" mode="update_xml_pres"/>
         | 
| 16807 17165 |  | 
| 16808 | 
            -
            	<xsl:template match="*[local-name() = 'stem'] |        *[local-name() = 'image'] |        *[local-name() = 'sourcecode'] |        *[local-name() = 'bibdata'] |        *[local-name() = 'localized-strings']" mode="update_xml_step1">
         | 
| 17166 | 
            +
            	<xsl:template match="*[local-name() = 'stem'][not(.//*[local-name() = 'passthrough']) and not(.//*[@linebreak])] |        *[local-name() = 'image'][not(.//*[local-name() = 'passthrough'])] |        *[local-name() = 'sourcecode'][not(.//*[local-name() = 'passthrough']) and not(.//*[local-name() = 'fmt-name'])] |        *[local-name() = 'bibdata'][not(.//*[local-name() = 'passthrough'])] |        *[local-name() = 'localized-strings']" mode="update_xml_step1">
         | 
| 16809 17167 | 
             
            		<xsl:copy-of select="."/>
         | 
| 16810 17168 | 
             
            	</xsl:template>
         | 
| 16811 17169 |  | 
| @@ -16871,6 +17229,93 @@ | |
| 16871 17229 | 
             
            		</xsl:choose>
         | 
| 16872 17230 | 
             
            	</xsl:template>
         | 
| 16873 17231 |  | 
| 17232 | 
            +
            	<xsl:variable name="regex_passthrough">.*\bpdf\b.*</xsl:variable>
         | 
| 17233 | 
            +
            	<xsl:template match="*[local-name() = 'passthrough']" mode="update_xml_step1">
         | 
| 17234 | 
            +
            		<!-- <xsl:if test="contains(@formats, ' pdf ')"> -->
         | 
| 17235 | 
            +
            		<xsl:if test="normalize-space(java:matches(java:java.lang.String.new(@formats), $regex_passthrough)) = 'true'">
         | 
| 17236 | 
            +
            			<xsl:apply-templates mode="update_xml_step1"/>
         | 
| 17237 | 
            +
            		</xsl:if>
         | 
| 17238 | 
            +
            	</xsl:template>
         | 
| 17239 | 
            +
             | 
| 17240 | 
            +
            	<!-- split math by element with @linebreak into maths -->
         | 
| 17241 | 
            +
            	<xsl:template match="mathml:math[.//mathml:mo[@linebreak] or .//mathml:mspace[@linebreak]]" mode="update_xml_step1">
         | 
| 17242 | 
            +
            		<xsl:variable name="maths">
         | 
| 17243 | 
            +
            			<xsl:apply-templates select="." mode="mathml_linebreak"/>
         | 
| 17244 | 
            +
            		</xsl:variable>
         | 
| 17245 | 
            +
            		<xsl:copy-of select="$maths"/>
         | 
| 17246 | 
            +
            	</xsl:template>
         | 
| 17247 | 
            +
             | 
| 17248 | 
            +
            	<!-- update new Presentation XML -->
         | 
| 17249 | 
            +
            	<xsl:template match="*[local-name() = 'title'][following-sibling::*[1][local-name() = 'fmt-title']]" mode="update_xml_step1"/>
         | 
| 17250 | 
            +
            	<xsl:template match="*[local-name() = 'title'][following-sibling::*[1][local-name() = 'fmt-title']]" mode="update_xml_pres"/>
         | 
| 17251 | 
            +
            	<xsl:template match="*[local-name() = 'name'][following-sibling::*[1][local-name() = 'fmt-name']]" mode="update_xml_step1"/>
         | 
| 17252 | 
            +
            	<xsl:template match="*[local-name() = 'name'][following-sibling::*[1][local-name() = 'fmt-name']]" mode="update_xml_pres"/>
         | 
| 17253 | 
            +
            	<xsl:template match="*[local-name() = 'section-title'][following-sibling::*[1][local-name() = 'p'][@type = 'section-title' or @type = 'floating-title']]" mode="update_xml_step1"/>
         | 
| 17254 | 
            +
            	<xsl:template match="*[local-name() = 'section-title'][following-sibling::*[1][local-name() = 'p'][@type = 'section-title' or @type = 'floating-title']]" mode="update_xml_pres"/>
         | 
| 17255 | 
            +
             | 
| 17256 | 
            +
            	<xsl:template match="*[local-name() = 'p'][@type = 'section-title' or @type = 'floating-title'][preceding-sibling::*[1][local-name() = 'section-title']]" mode="update_xml_step1">
         | 
| 17257 | 
            +
            		<xsl:copy>
         | 
| 17258 | 
            +
            			<xsl:apply-templates select="@*" mode="update_xml_step1"/>
         | 
| 17259 | 
            +
            			<xsl:copy-of select="preceding-sibling::*[1][local-name() = 'section-title']/@depth"/>
         | 
| 17260 | 
            +
            			<xsl:apply-templates select="node()" mode="update_xml_step1"/>
         | 
| 17261 | 
            +
            		</xsl:copy>
         | 
| 17262 | 
            +
            	</xsl:template>
         | 
| 17263 | 
            +
            	<xsl:template match="*[local-name() = 'p'][@type = 'section-title' or @type = 'floating-title'][preceding-sibling::*[1][local-name() = 'section-title']]" mode="update_xml_pres">
         | 
| 17264 | 
            +
            		<xsl:copy>
         | 
| 17265 | 
            +
            			<xsl:apply-templates select="@*" mode="update_xml_pres"/>
         | 
| 17266 | 
            +
            			<xsl:copy-of select="preceding-sibling::*[1][local-name() = 'section-title']/@depth"/>
         | 
| 17267 | 
            +
            			<xsl:apply-templates select="node()" mode="update_xml_pres"/>
         | 
| 17268 | 
            +
            		</xsl:copy>
         | 
| 17269 | 
            +
            	</xsl:template>
         | 
| 17270 | 
            +
             | 
| 17271 | 
            +
            	<xsl:template match="*[local-name() = 'fmt-title']"/>
         | 
| 17272 | 
            +
            	<xsl:template match="*[local-name() = 'fmt-title']" mode="update_xml_step1">
         | 
| 17273 | 
            +
            		<xsl:element name="title" namespace="{$namespace_full}">
         | 
| 17274 | 
            +
            			<xsl:copy-of select="@*"/>
         | 
| 17275 | 
            +
            			<xsl:apply-templates mode="update_xml_step1"/>
         | 
| 17276 | 
            +
            		</xsl:element>
         | 
| 17277 | 
            +
            	</xsl:template>
         | 
| 17278 | 
            +
            	<xsl:template match="*[local-name() = 'fmt-title']" mode="update_xml_pres">
         | 
| 17279 | 
            +
            		<xsl:element name="title" namespace="{$namespace_full}">
         | 
| 17280 | 
            +
            			<xsl:copy-of select="@*"/>
         | 
| 17281 | 
            +
            			<xsl:apply-templates mode="update_xml_pres"/>
         | 
| 17282 | 
            +
            		</xsl:element>
         | 
| 17283 | 
            +
            	</xsl:template>
         | 
| 17284 | 
            +
             | 
| 17285 | 
            +
            	<xsl:template match="*[local-name() = 'fmt-name']"/>
         | 
| 17286 | 
            +
            	<xsl:template match="*[local-name() = 'fmt-name']" mode="update_xml_step1">
         | 
| 17287 | 
            +
            		<xsl:element name="name" namespace="{$namespace_full}">
         | 
| 17288 | 
            +
            			<xsl:copy-of select="@*"/>
         | 
| 17289 | 
            +
            			<xsl:apply-templates mode="update_xml_step1"/>
         | 
| 17290 | 
            +
            		</xsl:element>
         | 
| 17291 | 
            +
            	</xsl:template>
         | 
| 17292 | 
            +
            	<xsl:template match="*[local-name() = 'fmt-name']" mode="update_xml_pres">
         | 
| 17293 | 
            +
            		<xsl:element name="name" namespace="{$namespace_full}">
         | 
| 17294 | 
            +
            			<xsl:copy-of select="@*"/>
         | 
| 17295 | 
            +
            			<xsl:apply-templates mode="update_xml_pres"/>
         | 
| 17296 | 
            +
            		</xsl:element>
         | 
| 17297 | 
            +
            	</xsl:template>
         | 
| 17298 | 
            +
             | 
| 17299 | 
            +
            	<xsl:template match="*[local-name() = 'span'][                @class = 'fmt-caption-label' or                 @class = 'fmt-element-name' or                @class = 'fmt-caption-delim' or                @class = 'fmt-autonum-delim']" mode="update_xml_step1" priority="3">
         | 
| 17300 | 
            +
            		<xsl:apply-templates mode="update_xml_step1"/>
         | 
| 17301 | 
            +
            	</xsl:template>
         | 
| 17302 | 
            +
            	<xsl:template match="*[local-name() = 'span'][                @class = 'fmt-caption-label' or                 @class = 'fmt-element-name' or                @class = 'fmt-caption-delim' or                @class = 'fmt-autonum-delim']" mode="update_xml_pres" priority="3">
         | 
| 17303 | 
            +
            		<xsl:apply-templates mode="update_xml_pres"/>
         | 
| 17304 | 
            +
            	</xsl:template>
         | 
| 17305 | 
            +
             | 
| 17306 | 
            +
            	<xsl:template match="*[local-name() = 'semx']" mode="update_xml_step1">
         | 
| 17307 | 
            +
            		<xsl:apply-templates mode="update_xml_step1"/>
         | 
| 17308 | 
            +
            	</xsl:template>
         | 
| 17309 | 
            +
            	<xsl:template match="*[local-name() = 'semx']" mode="update_xml_pres">
         | 
| 17310 | 
            +
            		<xsl:apply-templates mode="update_xml_pres"/>
         | 
| 17311 | 
            +
            	</xsl:template>
         | 
| 17312 | 
            +
             | 
| 17313 | 
            +
            	<xsl:template match="*[local-name() = 'fmt-xref-label']"/>
         | 
| 17314 | 
            +
            	<xsl:template match="*[local-name() = 'fmt-xref-label']" mode="update_xml_step1"/>
         | 
| 17315 | 
            +
            	<xsl:template match="*[local-name() = 'fmt-xref-label']" mode="update_xml_pres"/>
         | 
| 17316 | 
            +
             | 
| 17317 | 
            +
            	<!-- END: update new Presentation XML -->
         | 
| 17318 | 
            +
             | 
| 16874 17319 | 
             
            	<!-- =========================================================================== -->
         | 
| 16875 17320 | 
             
            	<!-- END STEP1: Re-order elements in 'preface', 'sections' based on @displayorder -->
         | 
| 16876 17321 | 
             
            	<!-- =========================================================================== -->
         | 
| @@ -16974,6 +17419,8 @@ | |
| 16974 17419 |  | 
| 16975 17420 | 
             
            	<xsl:template name="insertOpeningElements">
         | 
| 16976 17421 | 
             
            		<xsl:param name="tree"/>
         | 
| 17422 | 
            +
            		<xsl:param name="xmlns"/>
         | 
| 17423 | 
            +
            		<xsl:param name="add_continue">true</xsl:param>
         | 
| 16977 17424 | 
             
            		<xsl:for-each select="$tree//element">
         | 
| 16978 17425 | 
             
            			<xsl:text disable-output-escaping="yes"><</xsl:text>
         | 
| 16979 17426 | 
             
            				<xsl:value-of select="."/>
         | 
| @@ -16984,7 +17431,8 @@ | |
| 16984 17431 | 
             
            					<xsl:value-of select="."/>
         | 
| 16985 17432 | 
             
            					<xsl:text>"</xsl:text>
         | 
| 16986 17433 | 
             
            				</xsl:for-each>
         | 
| 16987 | 
            -
            				<xsl:if test="position() = 1"> continue="true"</xsl:if>
         | 
| 17434 | 
            +
            				<xsl:if test="position() = 1 and $add_continue = 'true'"> continue="true"</xsl:if>
         | 
| 17435 | 
            +
            				<xsl:if test="position() = 1 and $xmlns != ''"> xmlns="<xsl:value-of select="$xmlns"/>"</xsl:if>
         | 
| 16988 17436 | 
             
            			<xsl:text disable-output-escaping="yes">></xsl:text>
         | 
| 16989 17437 | 
             
            			<xsl:if test="$debug = 'true'">
         | 
| 16990 17438 | 
             
            				<xsl:message><<xsl:value-of select="."/>></xsl:message>
         | 
| @@ -17164,7 +17612,7 @@ | |
| 17164 17612 | 
             
            	<xsl:variable name="non_white_space">[^\s\u3000-\u9FFF]</xsl:variable>
         | 
| 17165 17613 | 
             
            	<xsl:variable name="regex_dots_units">((\b((<xsl:value-of select="$non_white_space"/>{1,3}\.<xsl:value-of select="$non_white_space"/>+)|(<xsl:value-of select="$non_white_space"/>+\.<xsl:value-of select="$non_white_space"/>{1,3}))\b)|(\.<xsl:value-of select="$non_white_space"/>{1,3})\b)</xsl:variable>
         | 
| 17166 17614 |  | 
| 17167 | 
            -
            	<xsl:template match="text()[not(ancestor::*[local-name() = 'bibdata'] or      ancestor::*[local-name() = 'link'][not(contains(.,' '))] or      ancestor::*[local-name() = 'sourcecode'] or      ancestor::*[local-name() = 'math'] or     ancestor::*[local-name() = 'svg'] or     starts-with(., 'http://') or starts-with(., 'https://') or starts-with(., 'www.') or normalize-space() = '' )]" name="keep_together_standard_number" mode="update_xml_enclose_keep-together_within-line">
         | 
| 17615 | 
            +
            	<xsl:template match="text()[not(ancestor::*[local-name() = 'bibdata'] or      ancestor::*[local-name() = 'link'][not(contains(.,' '))] or      ancestor::*[local-name() = 'sourcecode'] or      ancestor::*[local-name() = 'math'] or     ancestor::*[local-name() = 'svg'] or     ancestor::*[local-name() = 'name'] or     starts-with(., 'http://') or starts-with(., 'https://') or starts-with(., 'www.') or normalize-space() = '' )]" name="keep_together_standard_number" mode="update_xml_enclose_keep-together_within-line">
         | 
| 17168 17616 |  | 
| 17169 17617 | 
             
            		<xsl:variable name="parent" select="local-name(..)"/>
         | 
| 17170 17618 |  | 
| @@ -17766,6 +18214,7 @@ | |
| 17766 18214 | 
             
            		</pdf:catalog>
         | 
| 17767 18215 | 
             
            		<x:xmpmeta xmlns:x="adobe:ns:meta/">
         | 
| 17768 18216 | 
             
            			<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
         | 
| 18217 | 
            +
            				<!-- Commented after upgrade to Apache FOP 2.10
         | 
| 17769 18218 | 
             
            				<rdf:Description xmlns:pdfaExtension="http://www.aiim.org/pdfa/ns/extension/" xmlns:pdfaProperty="http://www.aiim.org/pdfa/ns/property#" xmlns:pdfaSchema="http://www.aiim.org/pdfa/ns/schema#" rdf:about="">
         | 
| 17770 18219 | 
             
            					<pdfaExtension:schemas>
         | 
| 17771 18220 | 
             
            						<rdf:Bag>
         | 
| @@ -17798,7 +18247,7 @@ | |
| 17798 18247 | 
             
            							</rdf:li>
         | 
| 17799 18248 | 
             
            						</rdf:Bag>
         | 
| 17800 18249 | 
             
            					</pdfaExtension:schemas>
         | 
| 17801 | 
            -
            				</rdf:Description>
         | 
| 18250 | 
            +
            				</rdf:Description> -->
         | 
| 17802 18251 | 
             
            				<rdf:Description xmlns:pdf="http://ns.adobe.com/pdf/1.3/" xmlns:dc="http://purl.org/dc/elements/1.1/" rdf:about="">
         | 
| 17803 18252 | 
             
            				<!-- Dublin Core properties go here -->
         | 
| 17804 18253 | 
             
            					<dc:title>
         | 
| @@ -17845,7 +18294,7 @@ | |
| 17845 18294 | 
             
            					<xsl:variable name="dc_description">
         | 
| 17846 18295 | 
             
            						<xsl:variable name="abstract">
         | 
| 17847 18296 |  | 
| 17848 | 
            -
            									<xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()[not(ancestor::*[local-name() = 'title'])]"/>
         | 
| 18297 | 
            +
            									<xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()[not(ancestor::*[local-name() = 'fmt-title']) and not(ancestor::*[local-name() = 'title']) and not(ancestor::*[local-name() = 'fmt-xref-label'])]"/>
         | 
| 17849 18298 |  | 
| 17850 18299 | 
             
            						</xsl:variable>
         | 
| 17851 18300 | 
             
            						<rdf:Alt>
         | 
| @@ -18390,31 +18839,123 @@ | |
| 18390 18839 |  | 
| 18391 18840 | 
             
            	<!-- END: insert cover page image -->
         | 
| 18392 18841 |  | 
| 18393 | 
            -
            	 | 
| 18842 | 
            +
            	<!-- https://github.com/metanorma/docs/blob/main/109.adoc -->
         | 
| 18843 | 
            +
            	<xsl:variable name="regex_ja_spec_">[
         | 
| 18844 | 
            +
            		<!-- Rotate 90° clockwise -->
         | 
| 18845 | 
            +
            		\u0028  <!-- U+0028 LEFT PARENTHESIS (() -->
         | 
| 18846 | 
            +
            		\uFF08 <!-- U+FF08 FULLWIDTH LEFT PARENTHESIS (() -->
         | 
| 18847 | 
            +
            		\u0029 <!-- U+0029 RIGHT PARENTHESIS ()) -->
         | 
| 18848 | 
            +
            		\uFF09 <!-- U+FF09 FULLWIDTH RIGHT PARENTHESIS ()) -->
         | 
| 18849 | 
            +
            		\u007B <!-- U+007B LEFT CURLY BRACKET ({) -->
         | 
| 18850 | 
            +
            		\uFF5B <!-- U+FF5B FULLWIDTH LEFT CURLY BRACKET ({) -->
         | 
| 18851 | 
            +
            		\u007D <!-- U+007D RIGHT CURLY BRACKET (}) -->
         | 
| 18852 | 
            +
            		\uFF5D <!-- U+FF5D FULLWIDTH RIGHT CURLY BRACKET (}) -->
         | 
| 18853 | 
            +
            		\u3014 <!-- U+3014 LEFT TORTOISE SHELL BRACKET (〔) -->
         | 
| 18854 | 
            +
            		\u3015 <!-- U+3015 RIGHT TORTOISE SHELL BRACKET (〕) -->
         | 
| 18855 | 
            +
            		\u3010 <!-- U+3010 LEFT BLACK LENTICULAR BRACKET (【) -->
         | 
| 18856 | 
            +
            		\u3011 <!-- U+3011 RIGHT BLACK LENTICULAR BRACKET (】) -->
         | 
| 18857 | 
            +
            		\u300A <!-- U+300A LEFT DOUBLE ANGLE BRACKET (《) -->
         | 
| 18858 | 
            +
            		\u300B <!-- U+300B RIGHT DOUBLE ANGLE BRACKET (》) -->
         | 
| 18859 | 
            +
            		\uFF62 <!-- U+FF62 HALFWIDTH LEFT CORNER BRACKET (「) -->
         | 
| 18860 | 
            +
            		\u300C <!-- U+300C LEFT CORNER BRACKET (「) -->
         | 
| 18861 | 
            +
            		\uFF63 <!-- U+FF63 HALFWIDTH RIGHT CORNER BRACKET (」) -->
         | 
| 18862 | 
            +
            		\u300D <!-- U+300D RIGHT CORNER BRACKET (」) -->
         | 
| 18863 | 
            +
            		\u300E <!-- U+300E LEFT WHITE CORNER BRACKET (『) -->
         | 
| 18864 | 
            +
            		\u300F <!-- U+300F RIGHT WHITE CORNER BRACKET (』) -->
         | 
| 18865 | 
            +
            		\u005B <!-- U+005B LEFT SQUARE BRACKET ([) -->
         | 
| 18866 | 
            +
            		\uFF3B <!-- U+FF3B FULLWIDTH LEFT SQUARE BRACKET ([) -->
         | 
| 18867 | 
            +
            		\u005D <!-- U+005D RIGHT SQUARE BRACKET (]) -->
         | 
| 18868 | 
            +
            		\uFF3D <!-- U+FF3D FULLWIDTH RIGHT SQUARE BRACKET (]) -->
         | 
| 18869 | 
            +
            		\u3008 <!-- U+3008 LEFT ANGLE BRACKET (〈) -->
         | 
| 18870 | 
            +
            		\u3009 <!-- U+3009 RIGHT ANGLE BRACKET (〉) -->
         | 
| 18871 | 
            +
            		\u3016 <!-- U+3016 LEFT WHITE LENTICULAR BRACKET (〖) -->
         | 
| 18872 | 
            +
            		\u3017 <!-- U+3017 RIGHT WHITE LENTICULAR BRACKET (〗) -->
         | 
| 18873 | 
            +
             | 
| 18874 | 
            +
            		\u301A <!-- U+301A LEFT WHITE SQUARE BRACKET (〚) -->
         | 
| 18875 | 
            +
            		\u301B <!-- U+301B RIGHT WHITE SQUARE BRACKET (〛) -->
         | 
| 18876 | 
            +
            		\u301C <!-- U+301C WAVE DASH (〜) -->
         | 
| 18877 | 
            +
            		\u3030 <!-- U+3030 WAVY DASH (〰 )-->
         | 
| 18878 | 
            +
            		\u30FC <!-- U+30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK (ー) -->
         | 
| 18879 | 
            +
            		\u2329 <!-- U+2329 LEFT-POINTING ANGLE BRACKET (〈) -->
         | 
| 18880 | 
            +
            		\u232A <!-- U+232A RIGHT-POINTING ANGLE BRACKET (〉) -->
         | 
| 18881 | 
            +
            		\u3018 <!-- U+3018 LEFT WHITE TORTOISE SHELL BRACKET (〘) -->
         | 
| 18882 | 
            +
            		\u3019 <!-- U+3019 RIGHT WHITE TORTOISE SHELL BRACKET (〙) -->
         | 
| 18883 | 
            +
            		\u30A0 <!-- U+30A0 KATAKANA-HIRAGANA DOUBLE HYPHEN (゠) -->
         | 
| 18884 | 
            +
            		\uFE59 <!-- U+FE59 SMALL LEFT PARENTHESIS (﹙) -->
         | 
| 18885 | 
            +
            		\uFE5A <!-- U+FE5A SMALL RIGHT PARENTHESIS (﹚) -->
         | 
| 18886 | 
            +
            		\uFE5B <!-- U+FE5B SMALL LEFT CURLY BRACKET (﹛) -->
         | 
| 18887 | 
            +
            		\uFE5C <!-- U+FE5C SMALL RIGHT CURLY BRACKET (﹜) -->
         | 
| 18888 | 
            +
            		\uFE5D <!-- U+FE5D SMALL LEFT TORTOISE SHELL BRACKET (﹝) -->
         | 
| 18889 | 
            +
            		\uFE5E <!-- U+FE5E SMALL RIGHT TORTOISE SHELL BRACKET (﹞) -->
         | 
| 18890 | 
            +
            		\uFF5C <!-- U+FF5C FULLWIDTH VERTICAL LINE (|) -->
         | 
| 18891 | 
            +
            		\uFF5F <!-- U+FF5F FULLWIDTH LEFT WHITE PARENTHESIS (⦅) -->
         | 
| 18892 | 
            +
            		\uFF60 <!-- U+FF60 FULLWIDTH RIGHT WHITE PARENTHESIS (⦆) -->
         | 
| 18893 | 
            +
            		\uFFE3 <!-- U+FFE3 FULLWIDTH MACRON ( ̄) -->
         | 
| 18894 | 
            +
            		\uFF3F <!-- U+FF3F FULLWIDTH LOW LINE (_) -->
         | 
| 18895 | 
            +
            		\uFF5E <!-- U+FF5E FULLWIDTH TILDE (~) -->
         | 
| 18896 | 
            +
            		<!-- Rotate 180° -->
         | 
| 18897 | 
            +
            		\u309C <!-- U+309C KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK (゜) -->
         | 
| 18898 | 
            +
            		\u3002 <!-- U+3002 IDEOGRAPHIC FULL STOP (。) -->
         | 
| 18899 | 
            +
            		\uFE52 <!-- U+FE52 SMALL FULL STOP (﹒) -->
         | 
| 18900 | 
            +
            		\uFF0E <!-- U+FF0E FULLWIDTH FULL STOP (.) -->
         | 
| 18901 | 
            +
            		]</xsl:variable>
         | 
| 18902 | 
            +
            	<xsl:variable name="regex_ja_spec"><xsl:value-of select="translate(normalize-space($regex_ja_spec_), ' ', '')"/></xsl:variable>
         | 
| 18394 18903 | 
             
            	<xsl:template name="insertVerticalChar">
         | 
| 18395 18904 | 
             
            		<xsl:param name="str"/>
         | 
| 18396 18905 | 
             
            		<xsl:param name="writing-mode">lr-tb</xsl:param>
         | 
| 18397 18906 | 
             
            		<xsl:param name="reference-orientation">90</xsl:param>
         | 
| 18398 | 
            -
            		<xsl: | 
| 18399 | 
            -
             | 
| 18400 | 
            -
             | 
| 18401 | 
            -
             | 
| 18402 | 
            -
             | 
| 18403 | 
            -
             | 
| 18404 | 
            -
            				<xsl: | 
| 18405 | 
            -
             | 
| 18406 | 
            -
            					<xsl: | 
| 18907 | 
            +
            		<xsl:param name="add_zero_width_space">false</xsl:param>
         | 
| 18908 | 
            +
            		<xsl:choose>
         | 
| 18909 | 
            +
            			<xsl:when test="ancestor::*[local-name() = 'span'][@class = 'norotate']">
         | 
| 18910 | 
            +
            				<xsl:value-of select="$str"/>
         | 
| 18911 | 
            +
            			</xsl:when>
         | 
| 18912 | 
            +
            			<xsl:otherwise>
         | 
| 18913 | 
            +
            				<xsl:if test="string-length($str) > 0">
         | 
| 18914 | 
            +
            					<xsl:variable name="horizontal_mode" select="normalize-space(ancestor::*[local-name() = 'span'][@class = 'horizontal'] and 1 = 1)"/>
         | 
| 18915 | 
            +
            					<xsl:variable name="char" select="substring($str,1,1)"/>
         | 
| 18916 | 
            +
            					<fo:inline-container text-align="center" alignment-baseline="central" width="1em" margin="0" padding="0" text-indent="0mm" last-line-end-indent="0mm" start-indent="0mm" end-indent="0mm">
         | 
| 18917 | 
            +
            						<xsl:if test="normalize-space($writing-mode) != ''">
         | 
| 18918 | 
            +
            							<xsl:attribute name="writing-mode"><xsl:value-of select="$writing-mode"/></xsl:attribute>
         | 
| 18919 | 
            +
            							<xsl:attribute name="reference-orientation">90</xsl:attribute>
         | 
| 18920 | 
            +
            						</xsl:if>
         | 
| 18921 | 
            +
            						<xsl:if test="normalize-space(java:matches(java:java.lang.String.new($char), concat('(', $regex_ja_spec, '{1,})'))) = 'true'">
         | 
| 18922 | 
            +
            							<xsl:attribute name="reference-orientation">0</xsl:attribute>
         | 
| 18923 | 
            +
            						</xsl:if>
         | 
| 18924 | 
            +
            						<xsl:if test="$char = '゜' or $char = '。' or $char = '﹒' or $char = '.'">
         | 
| 18925 | 
            +
            							<!-- Rotate 180°: 
         | 
| 18926 | 
            +
            								U+309C KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK (゜)
         | 
| 18927 | 
            +
            								U+3002 IDEOGRAPHIC FULL STOP (。)
         | 
| 18928 | 
            +
            								U+FE52 SMALL FULL STOP (﹒)
         | 
| 18929 | 
            +
            								U+FF0E FULLWIDTH FULL STOP (.)
         | 
| 18930 | 
            +
            							-->
         | 
| 18931 | 
            +
            							<xsl:attribute name="reference-orientation">-90</xsl:attribute>
         | 
| 18932 | 
            +
            						</xsl:if>
         | 
| 18933 | 
            +
            						<fo:block-container width="1em">
         | 
| 18934 | 
            +
            							<fo:block line-height="1em">
         | 
| 18935 | 
            +
            								<xsl:choose>
         | 
| 18936 | 
            +
            									<xsl:when test="$horizontal_mode = 'true'">
         | 
| 18937 | 
            +
            										<xsl:value-of select="$str"/>
         | 
| 18938 | 
            +
            									</xsl:when>
         | 
| 18939 | 
            +
            									<xsl:otherwise>
         | 
| 18940 | 
            +
            										<xsl:value-of select="$char"/>
         | 
| 18941 | 
            +
            									</xsl:otherwise>
         | 
| 18942 | 
            +
            								</xsl:choose>
         | 
| 18943 | 
            +
            							</fo:block>
         | 
| 18944 | 
            +
            						</fo:block-container>
         | 
| 18945 | 
            +
            					</fo:inline-container>
         | 
| 18946 | 
            +
            					<xsl:if test="$add_zero_width_space = 'true' and ($char = ',' or $char = '.' or $char = ' ' or $char = '·' or $char = ')' or $char = ']' or $char = '}')"><xsl:value-of select="$zero_width_space"/></xsl:if>
         | 
| 18947 | 
            +
             | 
| 18948 | 
            +
            					<xsl:if test="$horizontal_mode = 'false'">
         | 
| 18949 | 
            +
            						<xsl:call-template name="insertVerticalChar">
         | 
| 18950 | 
            +
            							<xsl:with-param name="str" select="substring($str, 2)"/>
         | 
| 18951 | 
            +
            							<xsl:with-param name="writing-mode" select="$writing-mode"/>
         | 
| 18952 | 
            +
            							<xsl:with-param name="reference-orientation" select="$reference-orientation"/>
         | 
| 18953 | 
            +
            							<xsl:with-param name="add_zero_width_space" select="$add_zero_width_space"/>
         | 
| 18954 | 
            +
            						</xsl:call-template>
         | 
| 18955 | 
            +
            					</xsl:if>
         | 
| 18407 18956 | 
             
            				</xsl:if>
         | 
| 18408 | 
            -
             | 
| 18409 | 
            -
             | 
| 18410 | 
            -
            				</fo:block-container>
         | 
| 18411 | 
            -
            			</fo:inline-container>
         | 
| 18412 | 
            -
            			<xsl:call-template name="insertVerticalChar">
         | 
| 18413 | 
            -
            				<xsl:with-param name="str" select="substring($str, 2)"/>
         | 
| 18414 | 
            -
            				<xsl:with-param name="writing-mode" select="$writing-mode"/>
         | 
| 18415 | 
            -
            				<xsl:with-param name="reference-orientation" select="$reference-orientation"/>
         | 
| 18416 | 
            -
            			</xsl:call-template>
         | 
| 18417 | 
            -
            		</xsl:if>
         | 
| 18957 | 
            +
            			</xsl:otherwise>
         | 
| 18958 | 
            +
            		</xsl:choose>
         | 
| 18418 18959 | 
             
            	</xsl:template>
         | 
| 18419 18960 |  | 
| 18420 18961 | 
             
            	<xsl:template name="number-to-words">
         |