lib/isodoc/ogc/ogc.best-practice.xsl in metanorma-ogc-1.3.8 vs lib/isodoc/ogc/ogc.best-practice.xsl in metanorma-ogc-1.4.0
- old
+ new
@@ -1772,10 +1772,11 @@
+
<xsl:attribute name="margin-bottom">14pt</xsl:attribute>
@@ -2261,10 +2262,12 @@
<xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or .//*[local-name()='fn'][local-name(..) != 'name']"/>
<xsl:if test="$isNoteOrFnExist = 'true'">
<xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
</xsl:if>
+
+
<xsl:choose>
<xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
<xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
<fo:table-column column-width="{@width}"/>
</xsl:for-each>
@@ -2545,14 +2548,14 @@
<fo:table-cell number-columns-spanned="{$cols-count}" border-left="1.5pt solid white" border-right="1.5pt solid white" border-top="1.5pt solid white" border-bottom="1.5pt solid black">
<xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']" mode="presentation">
<xsl:with-param name="continued">true</xsl:with-param>
</xsl:apply-templates>
- <xsl:for-each select="ancestor::*[local-name()='table'][1]">
- <xsl:call-template name="fn_name_display"/>
- </xsl:for-each>
+
+
+
</fo:table-cell>
</fo:table-row>
</xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
<fo:table-body>
<xsl:apply-templates/>
@@ -2631,12 +2634,16 @@
<xsl:param name="colwidths"/>
<xsl:param name="colgroup"/>
<xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
- <xsl:if test="$isNoteOrFnExist = 'true'">
+ <xsl:variable name="isNoteOrFnExistShowAfterTable">
+
+ </xsl:variable>
+ <xsl:if test="$isNoteOrFnExist = 'true' or normalize-space($isNoteOrFnExistShowAfterTable) = 'true'">
+
<xsl:variable name="cols-count">
<xsl:choose>
<xsl:when test="xalan:nodeset($colgroup)//*[local-name()='col']">
<xsl:value-of select="count(xalan:nodeset($colgroup)//*[local-name()='col'])"/>
</xsl:when>
@@ -2774,10 +2781,23 @@
<xsl:apply-templates/>
<!-- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/> -->
</fo:table-body>
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']/text()[1]" priority="2" mode="presentation_name">
+ <xsl:choose>
+ <xsl:when test="substring-after(., '—') != ''">
+ <xsl:text>—</xsl:text><xsl:value-of select="substring-after(., '—')"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="."/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']" mode="presentation_name">
+ <xsl:apply-templates mode="presentation_name"/>
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']/node()" mode="presentation_name">
+ <xsl:apply-templates select="."/>
</xsl:template><xsl:template match="*[local-name()='tr']">
<xsl:variable name="parent-name" select="local-name(..)"/>
<!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
<fo:table-row min-height="4mm">
<xsl:if test="$parent-name = 'thead'">
@@ -2962,24 +2982,16 @@
</xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='name']" mode="process"/><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" mode="process">
<xsl:apply-templates/>
</xsl:template><xsl:template name="fn_display">
<xsl:variable name="references">
+
<xsl:for-each select="..//*[local-name()='fn'][local-name(..) != 'name']">
- <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
-
-
- <xsl:attribute name="id">
- <xsl:value-of select="@reference"/>
- <xsl:text>_</xsl:text>
- <xsl:value-of select="ancestor::*[local-name()='table'][1]/@id"/>
- </xsl:attribute>
-
- <xsl:apply-templates/>
- </fn>
+ <xsl:call-template name="create_fn"/>
</xsl:for-each>
</xsl:variable>
+
<xsl:for-each select="xalan:nodeset($references)//fn">
<xsl:variable name="reference" select="@reference"/>
<xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
<fo:block margin-bottom="12pt">
@@ -3011,10 +3023,22 @@
<xsl:copy-of select="./node()"/>
</fo:inline>
</fo:block>
</xsl:if>
</xsl:for-each>
+ </xsl:template><xsl:template name="create_fn">
+ <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
+
+
+ <xsl:attribute name="id">
+ <xsl:value-of select="@reference"/>
+ <xsl:text>_</xsl:text>
+ <xsl:value-of select="ancestor::*[local-name()='table'][1]/@id"/>
+ </xsl:attribute>
+
+ <xsl:apply-templates/>
+ </fn>
</xsl:template><xsl:template name="fn_name_display">
<!-- <xsl:variable name="references">
<xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
<fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
<xsl:apply-templates />
@@ -4021,23 +4045,10 @@
</xsl:template><xsl:template match="mathml:mtext" mode="mathml">
<xsl:copy>
<!-- replace start and end spaces to non-break space -->
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'(^ )|( $)',' ')"/>
</xsl:copy>
- </xsl:template><xsl:template match="mathml:mi[. = ',' and not(following-sibling::*[1][local-name() = 'mtext' and text() = ' '])]" mode="mathml">
- <xsl:copy>
- <xsl:apply-templates select="@*|node()" mode="mathml"/>
- </xsl:copy>
- <xsl:choose>
- <!-- if in msub, then don't add space -->
- <xsl:when test="ancestor::mathml:mrow[parent::mathml:msub and preceding-sibling::*[1][self::mathml:mrow]]"/>
- <!-- if next char in digit, don't add space -->
- <xsl:when test="translate(substring(following-sibling::*[1]/text(),1,1),'0123456789','') = ''"/>
- <xsl:otherwise>
- <mathml:mspace width="0.5ex"/>
- </xsl:otherwise>
- </xsl:choose>
</xsl:template><xsl:template match="mathml:math/*[local-name()='unit']" mode="mathml"/><xsl:template match="mathml:math/*[local-name()='prefix']" mode="mathml"/><xsl:template match="mathml:math/*[local-name()='dimension']" mode="mathml"/><xsl:template match="mathml:math/*[local-name()='quantity']" mode="mathml"/><xsl:template match="*[local-name()='localityStack']"/><xsl:template match="*[local-name()='link']" name="link">
<xsl:variable name="target">
<xsl:choose>
<xsl:when test="@updatetype = 'true'">
<xsl:value-of select="concat(normalize-space(@target), '.pdf')"/>
@@ -5272,11 +5283,23 @@
<fo:inline xsl:use-attribute-sets="termexample-name-style">
<xsl:apply-templates/>
</fo:inline>
</xsl:if>
</xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'p']">
- <fo:inline><xsl:apply-templates/></fo:inline>
+ <xsl:variable name="element">inline
+
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="contains($element, 'block')">
+ <fo:block xsl:use-attribute-sets="example-p-style">
+ <xsl:apply-templates/>
+ </fo:block>
+ </xsl:when>
+ <xsl:otherwise>
+ <fo:inline><xsl:apply-templates/></fo:inline>
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:template><xsl:template match="*[local-name() = 'example']">
<fo:block id="{@id}" xsl:use-attribute-sets="example-style">
<xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
@@ -5855,10 +5878,9 @@
<fo:block><xsl:apply-templates/></fo:block>
</fo:table-cell>
</xsl:template><xsl:template name="processBibitem">
- <!-- end BIPM bibitem processing-->
<!-- start OGC bibtem processing -->
<xsl:choose>
<xsl:when test="*[local-name() = 'formattedref']">
\ No newline at end of file