Skip to content

Commit

Permalink
xslt update based on metanorma/mn-native-pdf@4aed7c6
Browse files Browse the repository at this point in the history
  • Loading branch information
Intelligent2013 authored Apr 3, 2024
1 parent 8ea5c2f commit fc79a6d
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 10 deletions.
32 changes: 27 additions & 5 deletions lib/isodoc/m3aawg/m3aawg.policy.xsl
Original file line number Diff line number Diff line change
Expand Up @@ -912,6 +912,9 @@
<xsl:variable name="hair_space"> </xsl:variable>
<xsl:variable name="en_dash">–</xsl:variable>
<xsl:variable name="em_dash">—</xsl:variable>
<xsl:variable name="cr">&#13;</xsl:variable>
<xsl:variable name="lf">
</xsl:variable>

<xsl:template name="getTitle">
<xsl:param name="name"/>
Expand Down Expand Up @@ -2649,9 +2652,9 @@
</xsl:attribute>
</xsl:for-each>

<xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or ./*[local-name()='example'] or .//*[local-name()='fn'][local-name(..) != 'name'] or ./*[local-name()='source']"/>
<xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'][not(@type = 'units')] or ./*[local-name()='example'] or .//*[local-name()='fn'][local-name(..) != 'name'] or ./*[local-name()='source']"/>
<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: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>
Expand Down Expand Up @@ -2804,9 +2807,28 @@

</fo:block>

<!-- <xsl:if test="$namespace = 'bsi' or $namespace = 'iec' or $namespace = 'iso'"> -->
<xsl:if test="$continued = 'true'">
<fo:block text-align="right">
<xsl:apply-templates select="../*[local-name() = 'note'][@type = 'units']/node()"/>
</fo:block>
</xsl:if>
<!-- </xsl:if> -->

</xsl:if>
</xsl:template> <!-- table/name -->

<!-- workaround solution for https://github.com/metanorma/metanorma-iso/issues/1151#issuecomment-2033087938 -->
<xsl:template match="*[local-name()='table']/*[local-name() = 'note'][@type = 'units']/*[local-name() = 'p']/text()" priority="4">
<xsl:choose>
<xsl:when test="preceding-sibling::*[local-name() = 'br']">
<!-- remove CR or LF at start -->
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'^(&#13;&#10;|&#13;|&#10;)', '')"/>
</xsl:when>
<xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
</xsl:choose>
</xsl:template>

<!-- SOURCE: ... -->
<xsl:template match="*[local-name()='table']/*[local-name() = 'source']" priority="2">
<xsl:call-template name="termsource"/>
Expand Down Expand Up @@ -3217,7 +3239,7 @@
<xsl:param name="colwidths"/>
<xsl:param name="colgroup"/>

<xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ../*[local-name()='example'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name'] or ../*[local-name()='source'] or ../*[local-name()='p']"/>
<xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'][not(@type = 'units')] or ../*[local-name()='example'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name'] or ../*[local-name()='source'] or ../*[local-name()='p']"/>

<xsl:variable name="isNoteOrFnExistShowAfterTable">

Expand Down Expand Up @@ -3289,7 +3311,7 @@

<xsl:apply-templates select="../*[local-name()='p']"/>
<xsl:apply-templates select="../*[local-name()='dl']"/>
<xsl:apply-templates select="../*[local-name()='note']"/>
<xsl:apply-templates select="../*[local-name()='note'][not(@type = 'units')]"/>
<xsl:apply-templates select="../*[local-name()='example']"/>
<xsl:apply-templates select="../*[local-name()='source']"/>

Expand All @@ -3299,7 +3321,7 @@

<!-- horizontal row separator -->
<xsl:if test="normalize-space($isDisplayRowSeparator) = 'true'">
<xsl:if test="(../*[local-name()='note'] or ../*[local-name()='example']) and normalize-space($table_fn_block) != ''">
<xsl:if test="(../*[local-name()='note'][not(@type = 'units')] or ../*[local-name()='example']) and normalize-space($table_fn_block) != ''">
<fo:block-container border-top="0.5pt solid black" padding-left="1mm" padding-right="1mm">

<xsl:call-template name="setBordersTableArray"/>
Expand Down
32 changes: 27 additions & 5 deletions lib/isodoc/m3aawg/m3aawg.report.xsl
Original file line number Diff line number Diff line change
Expand Up @@ -912,6 +912,9 @@
<xsl:variable name="hair_space"> </xsl:variable>
<xsl:variable name="en_dash">–</xsl:variable>
<xsl:variable name="em_dash">—</xsl:variable>
<xsl:variable name="cr">&#13;</xsl:variable>
<xsl:variable name="lf">
</xsl:variable>

<xsl:template name="getTitle">
<xsl:param name="name"/>
Expand Down Expand Up @@ -2649,9 +2652,9 @@
</xsl:attribute>
</xsl:for-each>

<xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or ./*[local-name()='example'] or .//*[local-name()='fn'][local-name(..) != 'name'] or ./*[local-name()='source']"/>
<xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'][not(@type = 'units')] or ./*[local-name()='example'] or .//*[local-name()='fn'][local-name(..) != 'name'] or ./*[local-name()='source']"/>
<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: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>
Expand Down Expand Up @@ -2804,9 +2807,28 @@

</fo:block>

<!-- <xsl:if test="$namespace = 'bsi' or $namespace = 'iec' or $namespace = 'iso'"> -->
<xsl:if test="$continued = 'true'">
<fo:block text-align="right">
<xsl:apply-templates select="../*[local-name() = 'note'][@type = 'units']/node()"/>
</fo:block>
</xsl:if>
<!-- </xsl:if> -->

</xsl:if>
</xsl:template> <!-- table/name -->

<!-- workaround solution for https://github.com/metanorma/metanorma-iso/issues/1151#issuecomment-2033087938 -->
<xsl:template match="*[local-name()='table']/*[local-name() = 'note'][@type = 'units']/*[local-name() = 'p']/text()" priority="4">
<xsl:choose>
<xsl:when test="preceding-sibling::*[local-name() = 'br']">
<!-- remove CR or LF at start -->
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'^(&#13;&#10;|&#13;|&#10;)', '')"/>
</xsl:when>
<xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
</xsl:choose>
</xsl:template>

<!-- SOURCE: ... -->
<xsl:template match="*[local-name()='table']/*[local-name() = 'source']" priority="2">
<xsl:call-template name="termsource"/>
Expand Down Expand Up @@ -3217,7 +3239,7 @@
<xsl:param name="colwidths"/>
<xsl:param name="colgroup"/>

<xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ../*[local-name()='example'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name'] or ../*[local-name()='source'] or ../*[local-name()='p']"/>
<xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'][not(@type = 'units')] or ../*[local-name()='example'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name'] or ../*[local-name()='source'] or ../*[local-name()='p']"/>

<xsl:variable name="isNoteOrFnExistShowAfterTable">

Expand Down Expand Up @@ -3289,7 +3311,7 @@

<xsl:apply-templates select="../*[local-name()='p']"/>
<xsl:apply-templates select="../*[local-name()='dl']"/>
<xsl:apply-templates select="../*[local-name()='note']"/>
<xsl:apply-templates select="../*[local-name()='note'][not(@type = 'units')]"/>
<xsl:apply-templates select="../*[local-name()='example']"/>
<xsl:apply-templates select="../*[local-name()='source']"/>

Expand All @@ -3299,7 +3321,7 @@

<!-- horizontal row separator -->
<xsl:if test="normalize-space($isDisplayRowSeparator) = 'true'">
<xsl:if test="(../*[local-name()='note'] or ../*[local-name()='example']) and normalize-space($table_fn_block) != ''">
<xsl:if test="(../*[local-name()='note'][not(@type = 'units')] or ../*[local-name()='example']) and normalize-space($table_fn_block) != ''">
<fo:block-container border-top="0.5pt solid black" padding-left="1mm" padding-right="1mm">

<xsl:call-template name="setBordersTableArray"/>
Expand Down

0 comments on commit fc79a6d

Please sign in to comment.