lib/isodoc/un/un.recommendation.xsl in metanorma-un-0.5.6 vs lib/isodoc/un/un.recommendation.xsl in metanorma-un-0.5.7

- old
+ new

@@ -1104,17 +1104,26 @@ <title-descriptors lang="en">Descriptors</title-descriptors> <title-part lang="en"> + </title-part> <title-part lang="fr"> + </title-part> <title-part lang="zh">第 # 部分:</title-part> + <title-subpart lang="en"> + + </title-subpart> + <title-subpart lang="fr"> + + </title-subpart> + <title-modified lang="en">modified</title-modified> <title-modified lang="fr">modifiée</title-modified> <title-modified lang="zh">modified</title-modified> @@ -1554,12 +1563,14 @@ + <!-- <xsl:if test="$namespace = 'bipm'"> + <fo:block>&#xA0;</fo:block> + </xsl:if> --> - <!-- $namespace = 'iso' or --> <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/> @@ -1727,10 +1738,11 @@ </fo:block-container> </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']"/><xsl:template match="*[local-name()='table']/*[local-name() = 'name']" mode="presentation"> <xsl:if test="normalize-space() != ''"> <fo:block xsl:use-attribute-sets="table-name-style"> + <xsl:apply-templates/> </fo:block> </xsl:if> </xsl:template><xsl:template name="calculate-columns-numbers"> <xsl:param name="table-row"/> @@ -2080,10 +2092,11 @@ </xsl:if> + <!-- <xsl:if test="$namespace = 'bipm'"> <xsl:attribute name="height">8mm</xsl:attribute> </xsl:if> --> <xsl:apply-templates/> @@ -2187,11 +2200,12 @@ <xsl:attribute name="number-rows-spanned"> <xsl:value-of select="@rowspan"/> </xsl:attribute> </xsl:if> <xsl:call-template name="display-align"/> - <fo:block> + <fo:block> + <xsl:apply-templates/> </fo:block> </fo:table-cell> </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']" priority="2"/><xsl:template match="*[local-name()='table']/*[local-name()='note']" mode="process"> @@ -2409,22 +2423,29 @@ </xsl:template><xsl:template match="*[local-name()='fn']/*[local-name()='p']"> <fo:inline> <xsl:apply-templates/> </fo:inline> </xsl:template><xsl:template match="*[local-name()='dl']"> - <fo:block-container margin-left="0mm"> + <fo:block-container> + + <xsl:attribute name="margin-left">0mm</xsl:attribute> + + <xsl:if test="parent::*[local-name() = 'note']"> <xsl:attribute name="margin-left"> <xsl:choose> <xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when> <xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise> </xsl:choose> </xsl:attribute> </xsl:if> - <fo:block-container margin-left="0mm"> - + <fo:block-container> + + <xsl:attribute name="margin-left">0mm</xsl:attribute> + + <xsl:variable name="parent" select="local-name(..)"/> <xsl:variable name="key_iso"> <!-- and (not(../@class) or ../@class !='pseudocode') --> </xsl:variable> @@ -2434,13 +2455,16 @@ <fo:block margin-bottom="12pt" text-align="left"> <xsl:variable name="title-where"> - <xsl:call-template name="getTitle"> - <xsl:with-param name="name" select="'title-where'"/> - </xsl:call-template> + + + <xsl:call-template name="getTitle"> + <xsl:with-param name="name" select="'title-where'"/> + </xsl:call-template> + </xsl:variable> <xsl:value-of select="$title-where"/><xsl:text> </xsl:text> <xsl:apply-templates select="*[local-name()='dt']/*"/> <xsl:text/> <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/> @@ -2452,26 +2476,32 @@ <xsl:variable name="title-where"> - <xsl:call-template name="getTitle"> - <xsl:with-param name="name" select="'title-where'"/> - </xsl:call-template> + + + <xsl:call-template name="getTitle"> + <xsl:with-param name="name" select="'title-where'"/> + </xsl:call-template> + </xsl:variable> <xsl:value-of select="$title-where"/> </fo:block> </xsl:when> <xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')"> <fo:block font-weight="bold" text-align="left" margin-bottom="12pt" keep-with-next="always"> <xsl:variable name="title-key"> - <xsl:call-template name="getTitle"> - <xsl:with-param name="name" select="'title-key'"/> - </xsl:call-template> + + + <xsl:call-template name="getTitle"> + <xsl:with-param name="name" select="'title-key'"/> + </xsl:call-template> + </xsl:variable> <xsl:value-of select="$title-key"/> </fo:block> </xsl:when> </xsl:choose> @@ -3038,11 +3068,22 @@ <xsl:apply-templates select="following-sibling::tr[1]" mode="simple-table-rowspan"> <xsl:with-param name="previousRow" select="$newRow"/> </xsl:apply-templates> </xsl:template><xsl:template name="getLang"> - <xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/> + <xsl:variable name="language_current" select="normalize-space(//*[local-name()='bibdata']//*[local-name()='language'][@current = 'true'])"/> + <xsl:variable name="language"> + <xsl:choose> + <xsl:when test="$language_current != ''"> + <xsl:value-of select="$language_current"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="//*[local-name()='bibdata']//*[local-name()='language']"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:choose> <xsl:when test="$language = 'English'">en</xsl:when> <xsl:otherwise><xsl:value-of select="$language"/></xsl:otherwise> </xsl:choose> </xsl:template><xsl:template name="capitalizeWords"> @@ -3073,10 +3114,11 @@ <xsl:param name="str"/> <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(substring($str, 1, 1)))"/> <xsl:value-of select="substring($str, 2)"/> </xsl:template><xsl:template match="mathml:math"> <fo:inline font-family="STIX Two Math"> <!-- --> + <xsl:variable name="mathml"> <xsl:apply-templates select="." mode="mathml"/> </xsl:variable> <fo:instream-foreign-object fox:alt-text="Math"> <!-- <xsl:copy-of select="."/> --> @@ -3155,14 +3197,18 @@ <xsl:if test="not(preceding-sibling::*[local-name() = 'p'])"><xsl:value-of select="$callout"/></xsl:if> <xsl:apply-templates/> </fo:inline> </xsl:template><xsl:template match="*[local-name() = 'modification']"> <xsl:variable name="title-modified"> - <xsl:call-template name="getTitle"> - <xsl:with-param name="name" select="'title-modified'"/> - </xsl:call-template> + + + <xsl:call-template name="getTitle"> + <xsl:with-param name="name" select="'title-modified'"/> + </xsl:call-template> + </xsl:variable> + <xsl:choose> <xsl:when test="$lang = 'zh'"><xsl:text>、</xsl:text><xsl:value-of select="$title-modified"/><xsl:text>—</xsl:text></xsl:when> <xsl:otherwise><xsl:text>, </xsl:text><xsl:value-of select="$title-modified"/><xsl:text> — </xsl:text></xsl:otherwise> </xsl:choose> <xsl:apply-templates/> @@ -4053,13 +4099,16 @@ <fo:block xsl:use-attribute-sets="admitted-style"> <xsl:apply-templates/> </fo:block> </xsl:template><xsl:template match="*[local-name() = 'deprecates']"> <xsl:variable name="title-deprecated"> - <xsl:call-template name="getTitle"> - <xsl:with-param name="name" select="'title-deprecated'"/> - </xsl:call-template> + + + <xsl:call-template name="getTitle"> + <xsl:with-param name="name" select="'title-deprecated'"/> + </xsl:call-template> + </xsl:variable> <fo:block xsl:use-attribute-sets="deprecates-style"> <xsl:value-of select="$title-deprecated"/>: <xsl:apply-templates/> </fo:block> </xsl:template><xsl:template match="*[local-name() = 'definition']"> @@ -4428,17 +4477,26 @@ </xsl:otherwise> </xsl:choose> </xsl:template><xsl:template name="split"> <xsl:param name="pText" select="."/> <xsl:param name="sep" select="','"/> + <xsl:param name="normalize-space" select="'true'"/> <xsl:if test="string-length($pText) &gt;0"> <item> - <xsl:value-of select="normalize-space(substring-before(concat($pText, ','), $sep))"/> + <xsl:choose> + <xsl:when test="$normalize-space = 'true'"> + <xsl:value-of select="normalize-space(substring-before(concat($pText, $sep), $sep))"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="substring-before(concat($pText, $sep), $sep)"/> + </xsl:otherwise> + </xsl:choose> </item> <xsl:call-template name="split"> <xsl:with-param name="pText" select="substring-after($pText, $sep)"/> <xsl:with-param name="sep" select="$sep"/> + <xsl:with-param name="normalize-space" select="$normalize-space"/> </xsl:call-template> </xsl:if> </xsl:template><xsl:template name="getDocumentId"> <xsl:call-template name="getLang"/><xsl:value-of select="//*[local-name() = 'p'][1]/@id"/> </xsl:template><xsl:template name="namespaceCheck"> @@ -4500,6 +4558,25 @@ <xsl:call-template name="add-letter-spacing"> <xsl:with-param name="text" select="substring($text, 2)"/> <xsl:with-param name="letter-spacing" select="$letter-spacing"/> </xsl:call-template> </xsl:if> + </xsl:template><xsl:template name="repeat"> + <xsl:param name="char" select="'*'"/> + <xsl:param name="count"/> + <xsl:if test="$count &gt; 0"> + <xsl:value-of select="$char"/> + <xsl:call-template name="repeat"> + <xsl:with-param name="char" select="$char"/> + <xsl:with-param name="count" select="$count - 1"/> + </xsl:call-template> + </xsl:if> + </xsl:template><xsl:template name="getLocalizedString"> + <xsl:param name="key"/> + + <xsl:variable name="curr_lang"> + <xsl:call-template name="getLang"/> + </xsl:variable> + + <xsl:value-of select="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/> + </xsl:template></xsl:stylesheet> \ No newline at end of file