lib/isodoc/ogc/ogc.reference-model.xsl in metanorma-ogc-1.2.4 vs lib/isodoc/ogc/ogc.reference-model.xsl in metanorma-ogc-1.2.5

- old
+ new

@@ -34,14 +34,15 @@ <!-- Abstract, Keywords, Preface, Submitting Organizations, Submitters --> <!-- <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/*" mode="contents"/> --> <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:abstract" mode="contents"/> <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:clause[@type = 'keywords']" mode="contents"/> <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:foreword" mode="contents"/> + <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:clause[@type = 'security']" mode="contents"/> <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:clause[@type = 'submitting_orgs']" mode="contents"/> <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:submitters" mode="contents"/> <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:introduction" mode="contents"/> - <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:clause[not(@type = 'submitting_orgs') and not(@type = 'keywords')]" mode="contents"/> + <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:clause[not(@type = 'security') and not(@type = 'submitting_orgs') and not(@type = 'keywords')]" mode="contents"/> <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:acknowledgements" mode="contents"/> <xsl:apply-templates select="/ogc:ogc-standard/ogc:sections/ogc:clause[@type='scope']" mode="contents"/> <xsl:apply-templates select="/ogc:ogc-standard/ogc:sections/ogc:clause[@type='conformance']" mode="contents"/> @@ -66,11 +67,11 @@ <xsl:call-template name="getLang"/> </xsl:variable> <xsl:template match="/"> <xsl:call-template name="namespaceCheck"/> - <fo:root font-family="Lato, STIX2Math, HanSans" font-size="11pt" color="{$color_main}" xml:lang="{$lang}"> + <fo:root font-family="Lato, STIX Two Math, HanSans" font-size="11pt" color="{$color_main}" xml:lang="{$lang}"> <fo:layout-master-set> <!-- Cover page --> <fo:simple-page-master master-name="cover-page" page-width="{$pageWidth}" page-height="{$pageHeight}"> <fo:region-body margin-top="16.5mm" margin-bottom="10mm" margin-left="16.5mm" margin-right="14mm"/> <fo:region-before region-name="cover-page-header" extent="16.5mm"/> @@ -184,12 +185,13 @@ <xsl:with-param name="text" select="'Conceptual model &amp; encoding'"/> <xsl:with-param name="letter-spacing" select="0.25"/> </xsl:call-template> </fo:block> <fo:block font-size="12pt" font-weight="bold"> + <xsl:variable name="stage" select="java:toUpperCase(java:java.lang.String.new(//ogc:local_bibdata/ogc:status/ogc:stage))"/> <xsl:call-template name="addLetterSpacing"> - <xsl:with-param name="text" select="'APPROVED'"/> + <xsl:with-param name="text" select="$stage"/> </xsl:call-template> </fo:block> </fo:block> </fo:block-container> </fo:block-container> @@ -492,23 +494,30 @@ <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:clause[@type = 'keywords']"/> <xsl:if test="/ogc:ogc-standard/ogc:preface/ogc:foreword"> <fo:block break-after="page"/> </xsl:if> <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:foreword"/> + + <xsl:if test="/ogc:ogc-standard/ogc:preface/ogc:clause[@type = 'security']"> + <fo:block break-after="page"/> + </xsl:if> + <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:clause[@type = 'security']"/> + <xsl:if test="/ogc:ogc-standard/ogc:preface/ogc:clause[@type = 'submitting_orgs']"> <fo:block break-after="page"/> </xsl:if> <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:clause[@type = 'submitting_orgs']"/> + <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:submitters"/> <xsl:if test="/ogc:ogc-standard/ogc:preface/ogc:introduction"> <fo:block break-after="page"/> </xsl:if> <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:introduction"/> - <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:clause[not(@type = 'submitting_orgs') and not(@type = 'keywords')]"/> + <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:clause[not(@type = 'security') and not(@type = 'submitting_orgs') and not(@type = 'keywords')]"/> <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:acknowledgements"/> </fo:block> </fo:flow> </fo:page-sequence> @@ -545,11 +554,11 @@ <!-- Lato font doesn't contain 'thin space' glyph --> <xsl:template match="text()" priority="1"> <xsl:value-of select="translate(., $thinspace, ' ')"/> </xsl:template> - <xsl:template match="text()" priority="1" mode="contents"> + <xsl:template match="text()" priority="3" mode="contents"> <xsl:value-of select="translate(., $thinspace, ' ')"/> </xsl:template> <xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text()" priority="2"> <xsl:variable name="content"> @@ -851,15 +860,24 @@ </fo:block-container> </xsl:when> <xsl:when test="$level = 2"> <fo:block space-before="24pt" margin-bottom="10pt"> <xsl:attribute name="keep-with-next">always</xsl:attribute> - <!-- <xsl:variable name="title"> - <xsl:apply-templates/> - </xsl:variable> --> + <xsl:variable name="title"> + <xsl:choose> + <xsl:when test="*[local-name() = 'tab']"> + <xsl:copy-of select="*[local-name() = 'tab'][1]/following-sibling::node()"/> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="."/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:variable name="section" select="*[local-name() = 'tab'][1]/preceding-sibling::node()"/> <xsl:call-template name="insertSectionTitle"> - <xsl:with-param name="title" select="."/> + <xsl:with-param name="section" select="$section"/> + <xsl:with-param name="title" select="$title"/> </xsl:call-template> </fo:block> </xsl:when> <xsl:otherwise> <xsl:element name="{$element-name}"> @@ -1000,12 +1018,18 @@ <xsl:template match="ogc:ul | ogc:ol" mode="ul_ol"> <fo:block-container margin-left="13mm"> + <xsl:if test="ancestor::ogc:table"> + <xsl:attribute name="margin-left">1.5mm</xsl:attribute> + </xsl:if> <fo:block-container margin-left="0mm"> <fo:list-block provisional-distance-between-starts="12mm" space-after="12pt" line-height="115%"> + <xsl:if test="ancestor::ogc:table"> + <xsl:attribute name="provisional-distance-between-starts">5mm</xsl:attribute> + </xsl:if> <xsl:if test="ancestor::ogc:ul | ancestor::ogc:ol"> <xsl:attribute name="margin-bottom">0pt</xsl:attribute> </xsl:if> <xsl:if test="following-sibling::*[1][local-name() = 'ul' or local-name() = 'ol']"> <xsl:attribute name="margin-bottom">0pt</xsl:attribute> @@ -1361,24 +1385,33 @@ <xsl:template match="ogc:fn" mode="titlebig"> </xsl:template> <xsl:template name="insertSectionTitle"> + <xsl:param name="section"/> <xsl:param name="title"/> <fo:block> <fo:block font-size="18pt" color="{$color_blue}" keep-with-next="always" line-height="150%"> + <xsl:if test="$section != ''"> + <fo:inline padding-right="2mm"> + <xsl:call-template name="addLetterSpacing"> + <xsl:with-param name="text" select="$section"/> + <xsl:with-param name="letter-spacing" select="0.6"/> + </xsl:call-template> + </fo:inline> + </xsl:if> <xsl:apply-templates select="xalan:nodeset($title)" mode="titlesmall"/> </fo:block> <xsl:call-template name="insertOrangeHorizontalLine"/> </fo:block> </xsl:template> <xsl:template match="text()" mode="titlesmall"> <xsl:call-template name="addLetterSpacing"> - <xsl:with-param name="text" select="java:toUpperCase(java:java.lang.String.new(.))"/> - <xsl:with-param name="letter-spacing" select="0.6"/> - </xsl:call-template> + <xsl:with-param name="text" select="java:toUpperCase(java:java.lang.String.new(.))"/> + <xsl:with-param name="letter-spacing" select="0.6"/> + </xsl:call-template> </xsl:template> <xsl:template match="ogc:strong" mode="titlesmall"> <xsl:apply-templates mode="titlesmall"/> </xsl:template> @@ -1441,11 +1474,16 @@ <xsl:text>Contents</xsl:text> </title-toc> - <title-toc lang="fr">Sommaire</title-toc> + <title-toc lang="fr"> + + <xsl:text>Sommaire</xsl:text> + + + </title-toc> <title-toc lang="zh">Contents</title-toc> @@ -1529,14 +1567,23 @@ <title-continued lang="en">(continued)</title-continued> <title-continued lang="fr">(continué)</title-continued> </xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:template name="getTitle"> <xsl:param name="name"/> - <xsl:variable name="lang"> - <xsl:call-template name="getLang"/> + <xsl:param name="lang"/> + <xsl:variable name="lang_"> + <xsl:choose> + <xsl:when test="$lang != ''"> + <xsl:value-of select="$lang"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="getLang"/> + </xsl:otherwise> + </xsl:choose> </xsl:variable> - <xsl:variable name="title_" select="$titles/*[local-name() = $name][@lang = $lang]"/> + <xsl:variable name="language" select="normalize-space($lang_)"/> + <xsl:variable name="title_" select="$titles/*[local-name() = $name][@lang = $language]"/> <xsl:choose> <xsl:when test="normalize-space($title_) != ''"> <xsl:value-of select="$title_"/> </xsl:when> <xsl:otherwise> @@ -1720,10 +1767,11 @@ + </xsl:attribute-set><xsl:attribute-set name="appendix-style"> <xsl:attribute name="font-size">12pt</xsl:attribute> <xsl:attribute name="font-weight">bold</xsl:attribute> <xsl:attribute name="margin-top">12pt</xsl:attribute> @@ -1974,10 +2022,12 @@ <fo:block> </fo:block> + + <!-- $namespace = 'iso' or --> <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/> @@ -2011,10 +2061,11 @@ <xsl:call-template name="calculate-column-widths"> <xsl:with-param name="cols-count" select="$cols-count"/> <xsl:with-param name="table" select="$simple-table"/> </xsl:call-template> </xsl:variable> + <!-- colwidths=<xsl:copy-of select="$colwidths"/> --> <!-- <xsl:variable name="colwidths2"> <xsl:call-template name="calculate-column-widths"> <xsl:with-param name="cols-count" select="$cols-count"/> </xsl:call-template> @@ -2032,43 +2083,65 @@ </xsl:variable> <fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm"> + + + - <xsl:attribute name="margin-left">0mm</xsl:attribute> <xsl:attribute name="margin-right">0mm</xsl:attribute> <xsl:attribute name="space-after">12pt</xsl:attribute> - + + <xsl:if test="ancestor::*[local-name()='sections']"> + <xsl:attribute name="font-size">9pt</xsl:attribute> + </xsl:if> - <fo:table id="{@id}" table-layout="fixed" width="100%" margin-left="{$margin-left}mm" margin-right="{$margin-left}mm" table-omit-footer-at-break="true"> + + + + + + <xsl:variable name="table_attributes"> + <attribute name="table-layout">fixed</attribute> + <attribute name="width">100%</attribute> + <attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute> + <attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute> - <xsl:attribute name="margin-left">0mm</xsl:attribute> - <xsl:attribute name="margin-right">0mm</xsl:attribute> + <attribute name="margin-left">0mm</attribute> + <attribute name="margin-right">0mm</attribute> + + + + + </xsl:variable> + + + <fo:table id="{@id}" table-omit-footer-at-break="true"> + <xsl:for-each select="xalan:nodeset($table_attributes)/attribute"> + <xsl:attribute name="{@name}"> + <xsl:value-of select="."/> + </xsl:attribute> + </xsl:for-each> + <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:if test="ancestor::*[local-name()='sections']"> - <xsl:attribute name="font-size">9pt</xsl:attribute> - </xsl:if> - - - - - <xsl:for-each select="xalan:nodeset($colwidths)//column"> <xsl:choose> <xsl:when test=". = 1 or . = 0"> <fo:table-column column-width="proportional-column-width(2)"/> </xsl:when> @@ -2087,14 +2160,41 @@ </xsl:otherwise> </xsl:choose> </fo:table> + <xsl:for-each select="*[local-name()='tbody']"><!-- select context to tbody --> + <xsl:call-template name="insertTableFooterInSeparateTable"> + <xsl:with-param name="table_attributes" select="$table_attributes"/> + <xsl:with-param name="colwidths" select="$colwidths"/> + </xsl:call-template> + </xsl:for-each> + <!-- insert footer as table --> + <!-- <fo:table> + <xsl:for-each select="xalan::nodeset($table_attributes)/attribute"> + <xsl:attribute name="{@name}"> + <xsl:value-of select="."/> + </xsl:attribute> + </xsl:for-each> + + <xsl:for-each select="xalan:nodeset($colwidths)//column"> + <xsl:choose> + <xsl:when test=". = 1 or . = 0"> + <fo:table-column column-width="proportional-column-width(2)"/> + </xsl:when> + <xsl:otherwise> + <fo:table-column column-width="proportional-column-width({.})"/> + </xsl:otherwise> + </xsl:choose> + </xsl:for-each> + </fo:table>--> + + </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"> @@ -2151,10 +2251,17 @@ </xsl:when> <xsl:otherwise> <xsl:for-each select="xalan:nodeset($table)//tr"> <xsl:variable name="td_text"> <xsl:apply-templates select="td[$curr-col]" mode="td_text"/> + + <!-- <xsl:if test="$namespace = 'bipm'"> + <xsl:for-each select="*[local-name()='td'][$curr-col]//*[local-name()='math']"> + <word><xsl:value-of select="normalize-space(.)"/></word> + </xsl:for-each> + </xsl:if> --> + </xsl:variable> <xsl:variable name="words"> <xsl:variable name="string_with_added_zerospaces"> <xsl:call-template name="add-zero-spaces-java"> <xsl:with-param name="text" select="$td_text"/> @@ -2210,15 +2317,18 @@ <xsl:value-of select="translate(., $zero-space, ' ')"/><xsl:text> </xsl:text> </xsl:template><xsl:template match="*[local-name()='termsource']" mode="td_text"> <xsl:value-of select="*[local-name()='origin']/@citeas"/> </xsl:template><xsl:template match="*[local-name()='link']" mode="td_text"> <xsl:value-of select="@target"/> + </xsl:template><xsl:template match="*[local-name()='math']" mode="td_text"> + <xsl:variable name="math_text" select="normalize-space(.)"/> + <xsl:value-of select="translate($math_text, ' ', '#')"/><!-- mathml images as one 'word' without spaces --> </xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process"> <xsl:param name="cols-count"/> <!-- font-weight="bold" --> <fo:table-header> - + <xsl:apply-templates/> </fo:table-header> </xsl:template><xsl:template name="table-header-title"> <xsl:param name="cols-count"/> <!-- row for title --> @@ -2240,10 +2350,17 @@ </fo:table-body> </xsl:template><xsl:template match="*[local-name()='tfoot']"/><xsl:template match="*[local-name()='tfoot']" mode="process"> <xsl:apply-templates/> </xsl:template><xsl:template name="insertTableFooter"> <xsl:param name="cols-count"/> + <xsl:if test="../*[local-name()='tfoot']"> + <fo:table-footer> + <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/> + </fo:table-footer> + </xsl:if> + </xsl:template><xsl:template name="insertTableFooter2"> + <xsl:param name="cols-count"/> <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/> <xsl:if test="../*[local-name()='tfoot'] or $isNoteOrFnExist = 'true'"> <fo:table-footer> @@ -2262,15 +2379,19 @@ <!-- fn will be processed inside 'note' processing --> <xsl:attribute name="border">solid black 0pt</xsl:attribute> - <!-- except gb --> + <!-- except gb and bipm --> + <xsl:apply-templates select="../*[local-name()='note']" mode="process"/> + + + <!-- horizontal row separator --> <!-- fn processing --> <xsl:call-template name="fn_display"/> @@ -2280,10 +2401,90 @@ </xsl:if> </fo:table-footer> </xsl:if> + </xsl:template><xsl:template name="insertTableFooterInSeparateTable"> + <xsl:param name="table_attributes"/> + <xsl:param name="colwidths"/> + + <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/> + + <xsl:if test="$isNoteOrFnExist = 'true'"> + + <xsl:variable name="cols-count" select="count(xalan:nodeset($colwidths)//column)"/> + + <fo:table keep-with-previous="always"> + <xsl:for-each select="xalan:nodeset($table_attributes)/attribute"> + <xsl:choose> + <xsl:when test="@name = 'border-top'"> + <xsl:attribute name="{@name}">0pt solid black</xsl:attribute> + </xsl:when> + <xsl:when test="@name = 'border'"> + <xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute> + <xsl:attribute name="border-top">0pt solid black</xsl:attribute> + </xsl:when> + <xsl:otherwise> + <xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute> + </xsl:otherwise> + </xsl:choose> + </xsl:for-each> + + <xsl:for-each select="xalan:nodeset($colwidths)//column"> + <xsl:choose> + <xsl:when test=". = 1 or . = 0"> + <fo:table-column column-width="proportional-column-width(2)"/> + </xsl:when> + <xsl:otherwise> + <fo:table-column column-width="proportional-column-width({.})"/> + </xsl:otherwise> + </xsl:choose> + </xsl:for-each> + + <fo:table-body> + <fo:table-row> + <fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}"> + + + + <!-- fn will be processed inside 'note' processing --> + + + <xsl:attribute name="border">solid black 0pt</xsl:attribute> + + + <!-- except gb and bipm --> + + <xsl:apply-templates select="../*[local-name()='note']" mode="process"/> + + + <!-- <xsl:if test="$namespace = 'bipm'"> + <xsl:choose> + <xsl:when test="ancestor::*[local-name()='preface']"> + show Note under table in preface (ex. abstract) sections + <xsl:apply-templates select="../*[local-name()='note']" mode="process"/> + </xsl:when> + <xsl:otherwise> + empty, because notes show at page side in main sections + <fo:block/> + </xsl:otherwise> + </xsl:choose> + </xsl:if> --> + + + <!-- horizontal row separator --> + + + <!-- fn processing --> + <xsl:call-template name="fn_display"/> + + </fo:table-cell> + </fo:table-row> + </fo:table-body> + + </fo:table> + </xsl:if> </xsl:template><xsl:template match="*[local-name()='tbody']"> <xsl:variable name="cols-count"> <xsl:choose> <xsl:when test="../*[local-name()='thead']"> @@ -2332,12 +2533,12 @@ <xsl:if test="$parent-name = 'tfoot'"> </xsl:if> - + <xsl:attribute name="min-height">8.5mm</xsl:attribute> <xsl:if test="$parent-name = 'thead'"> <xsl:attribute name="background-color">rgb(33, 55, 92)</xsl:attribute> <xsl:attribute name="color">white</xsl:attribute> </xsl:if> @@ -2345,12 +2546,13 @@ <xsl:variable name="number"><xsl:number/></xsl:variable> <xsl:if test="$number mod 2 = 0"> <xsl:attribute name="background-color">rgb(252, 246, 222)</xsl:attribute> </xsl:if> </xsl:if> - + + <xsl:apply-templates/> </fo:table-row> </xsl:template><xsl:template match="*[local-name()='th']"> <fo:table-cell text-align="{@align}" font-weight="bold" border="solid black 1pt" padding-left="1mm" display-align="center"> <xsl:attribute name="text-align"> @@ -2364,18 +2566,18 @@ - <xsl:attribute name="border">solid black 0pt</xsl:attribute> - + <xsl:attribute name="border">solid black 0pt</xsl:attribute> + <xsl:if test="@colspan"> <xsl:attribute name="number-columns-spanned"> <xsl:value-of select="@colspan"/> </xsl:attribute> </xsl:if> @@ -2411,19 +2613,20 @@ </xsl:choose> </xsl:attribute> - + <xsl:attribute name="border">solid 0pt white</xsl:attribute> + <xsl:if test="@colspan"> <xsl:attribute name="number-columns-spanned"> <xsl:value-of select="@colspan"/> </xsl:attribute> </xsl:if> @@ -2443,18 +2646,21 @@ <fo:block font-size="10pt" margin-bottom="12pt"> + + <fo:inline padding-right="2mm"> - + <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/> </fo:inline> + <xsl:apply-templates mode="process"/> </fo:block> </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/> @@ -2480,25 +2686,29 @@ <fo:block margin-bottom="12pt"> + <fo:inline font-size="80%" padding-right="5mm" id="{@id}"> <xsl:attribute name="vertical-align">super</xsl:attribute> + <xsl:value-of select="@reference"/> + </fo:inline> <fo:inline> - <xsl:apply-templates/> + <!-- <xsl:apply-templates /> --> + <xsl:copy-of select="./node()"/> </fo:inline> </fo:block> </xsl:if> </xsl:for-each> </xsl:template><xsl:template name="fn_name_display"> @@ -2531,11 +2741,24 @@ <!-- current hierarchy is 'figure' element --> <xsl:variable name="following_dl_colwidths"> <xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' --> <xsl:variable name="html-table"> - <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> + <xsl:variable name="doc_ns"> + + </xsl:variable> + <xsl:variable name="ns"> + <xsl:choose> + <xsl:when test="normalize-space($doc_ns) != ''"> + <xsl:value-of select="normalize-space($doc_ns)"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="substring-before(name(/*), '-')"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <!-- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> --> <xsl:element name="{$ns}:table"> <xsl:for-each select="*[local-name() = 'dl'][1]"> <tbody> <xsl:apply-templates mode="dl"/> </tbody> @@ -2596,11 +2819,12 @@ <xsl:if test="normalize-space($key_iso) = 'true'"> <xsl:attribute name="margin-bottom">0</xsl:attribute> </xsl:if> - <xsl:apply-templates/> + <!-- <xsl:apply-templates /> --> + <xsl:copy-of select="./node()"/> </fo:block> </fo:table-cell> </fo:table-row> </xsl:if> </xsl:for-each> @@ -2617,18 +2841,21 @@ <xsl:attribute name="vertical-align">super</xsl:attribute> + <fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id--> <xsl:attribute name="internal-destination"> <xsl:value-of select="@reference"/><xsl:text>_</xsl:text> <xsl:value-of select="ancestor::*[local-name()='table'][1]/@id"/> </xsl:attribute> + <xsl:value-of select="@reference"/> + </fo:basic-link> </fo:inline> </xsl:template><xsl:template match="*[local-name()='fn']/*[local-name()='p']"> <fo:inline> <xsl:apply-templates/> @@ -2722,11 +2949,24 @@ </xsl:when> </xsl:choose> <!-- create virtual html table for dl/[dt and dd] --> <xsl:variable name="html-table"> - <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> + <xsl:variable name="doc_ns"> + + </xsl:variable> + <xsl:variable name="ns"> + <xsl:choose> + <xsl:when test="normalize-space($doc_ns) != ''"> + <xsl:value-of select="normalize-space($doc_ns)"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="substring-before(name(/*), '-')"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <!-- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> --> <xsl:element name="{$ns}:table"> <tbody> <xsl:apply-templates mode="dl"/> </tbody> </xsl:element> @@ -2871,10 +3111,11 @@ <xsl:attribute name="margin-top">0pt</xsl:attribute> <xsl:attribute name="margin-bottom">6pt</xsl:attribute> + <xsl:apply-templates/> <!-- <xsl:if test="$namespace = 'gb'"> <xsl:if test="ancestor::*[local-name()='formula']"> <xsl:text>—</xsl:text> </xsl:if> @@ -2937,23 +3178,23 @@ <xsl:apply-templates/> </fo:inline> </xsl:template><xsl:template match="*[local-name()='tt']"> <fo:inline xsl:use-attribute-sets="tt-style"> <xsl:variable name="_font-size"> - - - - + + + + 10 - + </xsl:variable> <xsl:variable name="font-size" select="normalize-space($_font-size)"/> <xsl:if test="$font-size != ''"> <xsl:attribute name="font-size"> @@ -3286,11 +3527,11 @@ </xsl:template><xsl:template name="capitalize"> <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="STIX2Math"> + <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="."/> --> @@ -3380,11 +3621,11 @@ <xsl:otherwise><xsl:text>, </xsl:text><xsl:value-of select="$title-modified"/><xsl:text> — </xsl:text></xsl:otherwise> </xsl:choose> <xsl:apply-templates/> </xsl:template><xsl:template match="*[local-name() = 'xref']"> <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style"> - + <xsl:apply-templates/> </fo:basic-link> </xsl:template><xsl:template match="*[local-name() = 'formula']" name="formula"> <fo:block-container margin-left="0mm"> <xsl:if test="parent::*[local-name() = 'note']"> @@ -3594,22 +3835,13 @@ <xsl:when test="count(xalan:nodeset($contents)/doc) &gt; 1"> <xsl:for-each select="xalan:nodeset($contents)/doc"> <fo:bookmark internal-destination="{contents/item[1]/@id}" starting-state="hide"> <fo:bookmark-title> <xsl:variable name="bookmark-title_"> - <xsl:choose> - <xsl:when test="@lang = 'en'"> - - - </xsl:when> - <xsl:when test="@lang = 'fr'"> - - - </xsl:when> - <xsl:when test="@lang = 'de'">Deutsche</xsl:when> - <xsl:otherwise><xsl:value-of select="@lang"/> version</xsl:otherwise> - </xsl:choose> + <xsl:call-template name="getLangVersion"> + <xsl:with-param name="lang" select="@lang"/> + </xsl:call-template> </xsl:variable> <xsl:choose> <xsl:when test="normalize-space($bookmark-title_) != ''"> <xsl:value-of select="normalize-space($bookmark-title_)"/> </xsl:when> @@ -3667,11 +3899,11 @@ <fo:bookmark internal-destination="{@id}"> <fo:bookmark-title><xsl:apply-templates select="*[local-name() = 'name']//text()" mode="bookmarks"/></fo:bookmark-title> </fo:bookmark> </xsl:for-each> </fo:bookmark> - </xsl:if> + </xsl:if> <xsl:if test="//*[local-name() = 'table'][.//*[local-name() = 'p'][@class = 'RecommendationTitle']]"> @@ -3690,10 +3922,24 @@ </fo:bookmark-tree> </xsl:if> + </xsl:template><xsl:template name="getLangVersion"> + <xsl:param name="lang"/> + <xsl:choose> + <xsl:when test="$lang = 'en'"> + + + </xsl:when> + <xsl:when test="$lang = 'fr'"> + + + </xsl:when> + <xsl:when test="$lang = 'de'">Deutsche</xsl:when> + <xsl:otherwise><xsl:value-of select="$lang"/> version</xsl:otherwise> + </xsl:choose> </xsl:template><xsl:template match="item" mode="bookmark"> <fo:bookmark internal-destination="{@id}" starting-state="hide"> <fo:bookmark-title> <xsl:if test="@section != ''"> <xsl:value-of select="@section"/> @@ -3704,11 +3950,11 @@ <xsl:apply-templates mode="bookmark"/> </fo:bookmark> </xsl:template><xsl:template match="title" mode="bookmark"/><xsl:template match="text()" mode="bookmark"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'image']/*[local-name() = 'name']" mode="presentation"> <xsl:if test="normalize-space() != ''"> <fo:block xsl:use-attribute-sets="figure-name-style"> - + <xsl:apply-templates/> </fo:block> </xsl:if> </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'fn']" priority="2"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'note']"/><xsl:template match="*[local-name() = 'title']" mode="contents_item"> <xsl:apply-templates mode="contents_item"/> @@ -4349,10 +4595,11 @@ <xsl:apply-templates/> </fo:block> </xsl:template><xsl:template match="*[local-name() = 'clause']"> <fo:block> <xsl:call-template name="setId"/> + <xsl:apply-templates/> </fo:block> </xsl:template><xsl:template match="*[local-name() = 'definitions']"> <fo:block id="{@id}"> <xsl:apply-templates/> @@ -4384,10 +4631,11 @@ <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> + <fo:block-container margin-left="0mm"> <fo:block> <xsl:apply-templates select="." mode="ul_ol"/> </fo:block> </fo:block-container> @@ -4707,10 +4955,11 @@ <rdf:Description xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" rdf:about=""> <!-- Dublin Core properties go here --> <dc:title> <xsl:variable name="title"> + <xsl:value-of select="/*/*[local-name() = 'bibdata']/*[local-name() = 'title'][@language = 'en']"/> @@ -4725,17 +4974,19 @@ </xsl:choose> </dc:title> <dc:creator> + </dc:creator> <dc:description> <xsl:variable name="abstract"> <xsl:copy-of select="/*/*[local-name() = 'bibdata']/*[local-name() = 'abstract']//text()"/> + </xsl:variable> <xsl:value-of select="normalize-space($abstract)"/> </dc:description> <pdf:Keywords> \ No newline at end of file