lib/isodoc/itu/itu.service-publication.xsl in metanorma-itu-2.2.12 vs lib/isodoc/itu/itu.service-publication.xsl in metanorma-itu-2.2.13

- old
+ new

@@ -361,10 +361,13 @@ <!-- ============================================= --> <xsl:if test="$doctype = 'service-publication'"> <fo:page-sequence master-reference="SP-first-page" force-page-count="no-force"> <fo:flow flow-name="xsl-region-body"> <fo:block font-size="10pt" font-style="italic" text-align="center"> + <xsl:if test="$lang = 'ar'"> <!-- to prevent rendering `###` due the missing Arabic glyphs in the italic font (Times New Roman) --> + <xsl:attribute name="font-style">normal</xsl:attribute> + </xsl:if> <fo:block> <xsl:call-template name="getLocalizedString"> <xsl:with-param name="key">annex_to_itu_ob</xsl:with-param> </xsl:call-template> </fo:block> @@ -1093,18 +1096,24 @@ <xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:title[@type = 'main' and @language = $lang]"/> <xsl:variable name="subtitle" select="/itu:itu-standard/itu:bibdata/itu:title[@type = 'subtitle' and @language = $lang]"/> <xsl:if test="$subtitle != ''"> <fo:block margin-top="18pt" font-weight="normal" font-style="italic"> + <xsl:if test="$lang = 'ar'"> <!-- to prevent rendering `###` due the missing Arabic glyphs in the italic font (Times New Roman) --> + <xsl:attribute name="font-style">normal</xsl:attribute> + </xsl:if> <xsl:value-of select="$subtitle"/> </fo:block> </xsl:if> <xsl:variable name="resolution-placedate" select="/itu:itu-standard/itu:bibdata/itu:title[@type = 'resolution-placedate' and @language = $lang]"/> <xsl:if test="$doctype = 'resolution' and $resolution-placedate != ''"> <fo:block font-size="11pt" margin-top="6pt" font-weight="normal"> <fo:inline font-style="italic"> + <xsl:if test="$lang = 'ar'"> <!-- to prevent rendering `###` due the missing Arabic glyphs in the italic font (Times New Roman) --> + <xsl:attribute name="font-style">normal</xsl:attribute> + </xsl:if> <xsl:text>(</xsl:text><xsl:value-of select="$resolution-placedate"/><xsl:text>)</xsl:text> </fo:inline> <xsl:apply-templates select="/itu:itu-standard/itu:bibdata/itu:note[@type = 'title-footnote']" mode="title_footnote"/> </fo:block> </xsl:if> @@ -1481,10 +1490,13 @@ <!-- ============================= --> <!-- ============================= --> <xsl:template match="itu:clause[@id='draft-warning']/itu:title" mode="caution"> <fo:block font-size="16pt" font-family="Times New Roman" font-style="italic" font-weight="bold" text-align="center" space-after="6pt" role="H1"> + <xsl:if test="$lang = 'ar'"> <!-- to prevent rendering `###` due the missing Arabic glyphs in the italic font (Times New Roman) --> + <xsl:attribute name="font-style">normal</xsl:attribute> + </xsl:if> <xsl:apply-templates/> <xsl:apply-templates select="following-sibling::*[1][local-name() = 'variant-title'][@type = 'sub']" mode="subtitle"/> </fo:block> </xsl:template> @@ -3151,10 +3163,14 @@ <xsl:attribute name="margin-left">0mm</xsl:attribute> </xsl:attribute-set> <!-- formula-stem-number-style --> <!-- End Formula's styles --> + <xsl:template name="refine_formula-stem-number-style"> + + </xsl:template> + <xsl:attribute-set name="image-style"> <xsl:attribute name="text-align">center</xsl:attribute> </xsl:attribute-set> @@ -3651,17 +3667,17 @@ <xsl:variable name="ace_tag">ace-tag_</xsl:variable> <xsl:template name="processPrefaceSectionsDefault_Contents"> <xsl:variable name="nodes_preface_"> - <xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition')]"> + <xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition' or @type = 'toc')]"> <node id="{@id}"/> </xsl:for-each> </xsl:variable> <xsl:variable name="nodes_preface" select="xalan:nodeset($nodes_preface_)"/> - <xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition')]"> + <xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition' or @type = 'toc')]"> <xsl:sort select="@displayorder" data-type="number"/> <!-- process Section's title --> <xsl:variable name="preceding-sibling_id" select="$nodes_preface/node[@id = current()/@id]/preceding-sibling::node[1]/@id"/> <xsl:if test="$preceding-sibling_id != ''"> @@ -3691,16 +3707,16 @@ </xsl:if> <xsl:apply-templates select="." mode="contents"/> </xsl:for-each> - <xsl:for-each select="/*/*[local-name()='annex']"> + <!-- <xsl:for-each select="/*/*[local-name()='annex']"> <xsl:sort select="@displayorder" data-type="number"/> <xsl:apply-templates select="." mode="contents"/> - </xsl:for-each> + </xsl:for-each> --> - <xsl:for-each select="/*/*[local-name()='bibliography']/*[not(@normative='true') and not(*[local-name()='references'][@normative='true'])][count(.//*[local-name() = 'bibitem'][not(@hidden) = 'true']) &gt; 0] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][not(@normative='true')]][count(.//*[local-name() = 'bibitem'][not(@hidden) = 'true']) &gt; 0]"> + <xsl:for-each select="/*/*[local-name()='annex'] | /*/*[local-name()='bibliography']/*[not(@normative='true') and not(*[local-name()='references'][@normative='true'])][count(.//*[local-name() = 'bibitem'][not(@hidden) = 'true']) &gt; 0] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][not(@normative='true')]][count(.//*[local-name() = 'bibitem'][not(@hidden) = 'true']) &gt; 0]"> <xsl:sort select="@displayorder" data-type="number"/> <xsl:apply-templates select="." mode="contents"/> </xsl:for-each> </xsl:template> @@ -4164,11 +4180,11 @@ <fo:table-column column-width="proportional-column-width(1)"/> <fo:table-body> <fo:table-row> <fo:table-cell column-number="2"> <xsl:copy-of select="$table-preamble"/> - <fo:block> + <fo:block role="SKIP"> <xsl:call-template name="setTrackChangesStyles"> <xsl:with-param name="isAdded" select="$isAdded"/> <xsl:with-param name="isDeleted" select="$isDeleted"/> </xsl:call-template> <xsl:copy-of select="$table"/> @@ -4207,11 +4223,11 @@ <xsl:template match="*[local-name()='table']/*[local-name() = 'name']"> <xsl:param name="continued"/> <xsl:if test="normalize-space() != ''"> - <fo:block xsl:use-attribute-sets="table-name-style"> + <fo:block xsl:use-attribute-sets="table-name-style" role="SKIP"> <xsl:call-template name="refine_table-name-style"> <xsl:with-param name="continued" select="$continued"/> </xsl:call-template> @@ -4592,21 +4608,21 @@ <!-- template is using for iec, iso, jcgm, bsi only --> <xsl:template name="table-header-title"> <xsl:param name="cols-count"/> <!-- row for title --> - <fo:table-row> - <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"> + <fo:table-row role="SKIP"> + <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" role="SKIP"> <xsl:call-template name="refine_table-header-title-style"/> <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']"> <xsl:with-param name="continued">true</xsl:with-param> </xsl:apply-templates> <xsl:if test="not(ancestor::*[local-name()='table']/*[local-name()='name'])"> <!-- to prevent empty fo:table-cell in case of missing table's name --> - <fo:block/> + <fo:block role="SKIP"/> </xsl:if> </fo:table-cell> </fo:table-row> </xsl:template> <!-- table-header-title --> @@ -4710,11 +4726,11 @@ <xsl:call-template name="setBordersTableArray"/> <!-- fn will be processed inside 'note' processing --> <xsl:if test="$doctype = 'service-publication'"> - <fo:block margin-top="7pt" margin-bottom="2pt"><fo:inline>____________</fo:inline></fo:block> + <fo:block margin-top="7pt" margin-bottom="2pt" role="SKIP"><fo:inline>____________</fo:inline></fo:block> </xsl:if> <!-- for BSI (not PAS) display Notes before footnotes --> <!-- except gb and bsi --> @@ -4927,11 +4943,11 @@ <xsl:with-param name="default">center</xsl:with-param> </xsl:call-template> <xsl:call-template name="refine_table-header-cell-style"/> - <fo:block> + <fo:block role="SKIP"> <xsl:apply-templates/> </fo:block> </fo:table-cell> </xsl:template> <!-- cell in table header row - 'th' --> @@ -4980,11 +4996,11 @@ <xsl:if test="$isGenerateTableIF = 'true'"> <xsl:attribute name="border">1pt solid black</xsl:attribute> <!-- border is mandatory, to determine page width --> <xsl:attribute name="text-align">left</xsl:attribute> </xsl:if> - <fo:block> + <fo:block role="SKIP"> <xsl:if test="$isGenerateTableIF = 'true'"> <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute> </xsl:if> @@ -5855,11 +5871,11 @@ <td number-columns-spanned="2">NOTE <xsl:apply-templates /> </td> </tr> --> <fo:table-row> <fo:table-cell number-columns-spanned="2"> - <fo:block> + <fo:block role="SKIP"> <xsl:call-template name="note"/> </fo:block> </fo:table-cell> </fo:table-row> </xsl:template> <!-- END: dl/note --> @@ -5920,11 +5936,11 @@ </xsl:if> <xsl:call-template name="refine_dt-cell-style"/> - <fo:block xsl:use-attribute-sets="dt-block-style"> + <fo:block xsl:use-attribute-sets="dt-block-style" role="SKIP"> <xsl:copy-of select="@id"/> <xsl:if test="normalize-space($key_iso) = 'true'"> <xsl:attribute name="margin-top">0</xsl:attribute> </xsl:if> @@ -5950,11 +5966,11 @@ <xsl:attribute name="border">0.1pt solid black</xsl:attribute> </xsl:if> <xsl:call-template name="refine_dd-cell-style"/> - <fo:block> + <fo:block role="SKIP"> <xsl:if test="$isGenerateTableIF = 'true'"> <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute> </xsl:if> @@ -6101,10 +6117,14 @@ </fo:inline> </xsl:template> <xsl:template name="refine_italic_style"> + <xsl:if test="$lang = 'ar'"> <!-- to prevent rendering `###` due the missing Arabic glyphs in the italic font (Times New Roman) --> + <xsl:attribute name="font-style">normal</xsl:attribute> + </xsl:if> + </xsl:template> <xsl:template match="*[local-name()='strong'] | *[local-name()='b']"> <xsl:param name="split_keep-within-line"/> <fo:inline font-weight="bold"> @@ -6325,15 +6345,45 @@ </fo:inline> </xsl:template> <xsl:template match="text()[ancestor::*[local-name()='smallcap']]"> <xsl:variable name="text" select="normalize-space(.)"/> - <fo:inline font-size="75%"> + <fo:inline font-size="75%" role="SKIP"> <xsl:if test="string-length($text) &gt; 0"> - <xsl:call-template name="recursiveSmallCaps"> - <xsl:with-param name="text" select="$text"/> - </xsl:call-template> + <xsl:variable name="smallCapsText"> + <xsl:call-template name="recursiveSmallCaps"> + <xsl:with-param name="text" select="$text"/> + </xsl:call-template> + </xsl:variable> + <!-- merge neighboring fo:inline --> + <xsl:for-each select="xalan:nodeset($smallCapsText)/node()"> + <xsl:choose> + <xsl:when test="self::fo:inline and preceding-sibling::node()[1][self::fo:inline]"><!-- <xsl:copy-of select="."/> --></xsl:when> + <xsl:when test="self::fo:inline and @font-size"> + <xsl:variable name="curr_pos" select="count(preceding-sibling::node()) + 1"/> + <!-- <curr_pos><xsl:value-of select="$curr_pos"/></curr_pos> --> + <xsl:variable name="next_text_" select="count(following-sibling::node()[not(local-name() = 'inline')][1]/preceding-sibling::node())"/> + <xsl:variable name="next_text"> + <xsl:choose> + <xsl:when test="$next_text_ = 0">99999999</xsl:when> + <xsl:otherwise><xsl:value-of select="$next_text_ + 1"/></xsl:otherwise> + </xsl:choose> + </xsl:variable> + <!-- <next_text><xsl:value-of select="$next_text"/></next_text> --> + <fo:inline> + <xsl:copy-of select="@*"/> + <xsl:copy-of select="./node()"/> + <xsl:for-each select="following-sibling::node()[position() &lt; $next_text - $curr_pos]"> <!-- [self::fo:inline] --> + <xsl:copy-of select="./node()"/> + </xsl:for-each> + </fo:inline> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="."/> + </xsl:otherwise> + </xsl:choose> + </xsl:for-each> </xsl:if> </fo:inline> </xsl:template> <xsl:template name="recursiveSmallCaps"> @@ -6341,11 +6391,11 @@ <xsl:variable name="char" select="substring($text,1,1)"/> <!-- <xsl:variable name="upperCase" select="translate($char, $lower, $upper)"/> --> <xsl:variable name="upperCase" select="java:toUpperCase(java:java.lang.String.new($char))"/> <xsl:choose> <xsl:when test="$char=$upperCase"> - <fo:inline font-size="{100 div 0.75}%"> + <fo:inline font-size="{100 div 0.75}%" role="SKIP"> <xsl:value-of select="$upperCase"/> </fo:inline> </xsl:when> <xsl:otherwise> <xsl:value-of select="$upperCase"/> @@ -6503,18 +6553,26 @@ <xsl:param name="separator" select="' '"/> <xsl:choose> <xsl:when test="not(contains($text, $separator))"> <word> + <xsl:if test="ancestor::*[local-name() = 'p'][@from_dl = 'true']"> + <xsl:text> + </xsl:text> <!-- to add distance between dt and dd --> + </xsl:if> <xsl:call-template name="enclose_text_in_tags"> <xsl:with-param name="text" select="normalize-space($text)"/> <xsl:with-param name="tags" select="$tags"/> </xsl:call-template> </word> </xsl:when> <xsl:otherwise> <word> + <xsl:if test="ancestor::*[local-name() = 'p'][@from_dl = 'true']"> + <xsl:text> + </xsl:text> <!-- to add distance between dt and dd --> + </xsl:if> <xsl:call-template name="enclose_text_in_tags"> <xsl:with-param name="text" select="normalize-space(substring-before($text, $separator))"/> <xsl:with-param name="tags" select="$tags"/> </xsl:call-template> </word> @@ -6694,10 +6752,14 @@ <!-- Table normalization (colspan,rowspan processing for adding TDs) for column width calculation --> <xsl:template name="getSimpleTable"> <xsl:param name="id"/> + <!-- <test0> + <xsl:copy-of select="."/> + </test0> --> + <xsl:variable name="simple-table"> <!-- Step 0. replace <br/> to <p>...</p> --> <xsl:variable name="table_without_br"> <xsl:apply-templates mode="table-without-br"/> @@ -7739,19 +7801,22 @@ <fo:table-column column-width="95%"/> <fo:table-column column-width="5%"/> <fo:table-body> <fo:table-row> <fo:table-cell display-align="center"> - <fo:block xsl:use-attribute-sets="formula-stem-block-style"> + <fo:block xsl:use-attribute-sets="formula-stem-block-style" role="SKIP"> <xsl:call-template name="refine_formula-stem-block-style"/> <xsl:apply-templates/> </fo:block> </fo:table-cell> <fo:table-cell display-align="center"> - <fo:block xsl:use-attribute-sets="formula-stem-number-style"> + <fo:block xsl:use-attribute-sets="formula-stem-number-style" role="SKIP"> + + <xsl:call-template name="refine_formula-stem-number-style"/> + <xsl:apply-templates select="../*[local-name() = 'name']"/> </fo:block> </fo:table-cell> </fo:table-row> </fo:table-body> @@ -9265,11 +9330,11 @@ </xsl:template> <!-- second td with sourcecode --> <xsl:template match="*[local-name() = 'sourcecode'][@linenums = 'true']/*[local-name()='table']//*[local-name()='tr']/*[local-name()='td'][preceding-sibling::*]" priority="2"> <!-- *[local-name()='table'][@type = 'sourcecode'] --> <fo:table-cell> - <fo:block> + <fo:block role="SKIP"> <xsl:apply-templates/> </fo:block> </fo:table-cell> </xsl:template> <!-- END outer table with line numbers for sourcecode --> @@ -9752,11 +9817,11 @@ <xsl:with-param name="default">left</xsl:with-param> </xsl:call-template> <xsl:call-template name="setTableCellAttributes"/> - <fo:block> + <fo:block role="SKIP"> <xsl:apply-templates/> </fo:block> </fo:table-cell> </xsl:template> @@ -9774,11 +9839,11 @@ <xsl:attribute name="font-weight">bold</xsl:attribute> </xsl:if> <xsl:call-template name="setTableCellAttributes"/> - <fo:block> + <fo:block role="SKIP"> <xsl:apply-templates/> </fo:block> </fo:table-cell> </xsl:template> @@ -10556,11 +10621,52 @@ <xsl:when test="normalize-space($processing_instruction_type) = 'simple'"/> <xsl:otherwise><xsl:call-template name="setULLabel"/></xsl:otherwise> </xsl:choose> </xsl:when> <xsl:when test="local-name(..) = 'ol' and @label"> <!-- for ordered lists 'ol', and if there is @label, for instance label="1.1.2" --> - <xsl:value-of select="@label"/> + + <xsl:variable name="label"> + + <xsl:variable name="type" select="../@type"/> + + <xsl:variable name="style_prefix_"> + <xsl:if test="$type = 'roman'"> + <!-- Example: (i) --> + </xsl:if> + </xsl:variable> + <xsl:variable name="style_prefix" select="normalize-space($style_prefix_)"/> + + <xsl:variable name="style_suffix_"> + <xsl:choose> + <xsl:when test="$type = 'arabic'"> + ) + </xsl:when> + <xsl:when test="$type = 'alphabet' or $type = 'alphabetic'"> + ) + </xsl:when> + <xsl:when test="$type = 'alphabet_upper' or $type = 'alphabetic_upper'"> + . + </xsl:when> + <xsl:when test="$type = 'roman'"> + ) + </xsl:when> + <xsl:when test="$type = 'roman_upper'">.</xsl:when> <!-- Example: I. --> + </xsl:choose> + </xsl:variable> + <xsl:variable name="style_suffix" select="normalize-space($style_suffix_)"/> + + <xsl:if test="$style_prefix != '' and not(starts-with(@label, $style_prefix))"> + <xsl:value-of select="$style_prefix"/> + </xsl:if> + <xsl:value-of select="@label"/> + <xsl:if test="not(java:endsWith(java:java.lang.String.new(@label),$style_suffix))"> + <xsl:value-of select="$style_suffix"/> + </xsl:if> + </xsl:variable> + + <xsl:value-of select="normalize-space($label)"/> + </xsl:when> <xsl:otherwise> <!-- for ordered lists 'ol' --> <!-- Example: for BSI <?list-start 2?> --> <xsl:variable name="processing_instruction_start" select="normalize-space(../preceding-sibling::*[1]/processing-instruction('list-start'))"/> @@ -10749,11 +10855,11 @@ <xsl:copy-of select="@id"/> <xsl:call-template name="refine_list-item-style"/> <fo:list-item-label end-indent="label-end()"> - <fo:block xsl:use-attribute-sets="list-item-label-style"> + <fo:block xsl:use-attribute-sets="list-item-label-style" role="SKIP"> <xsl:call-template name="refine_list-item-label-style"/> <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' --> <xsl:if test="*[1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]"> @@ -10763,11 +10869,11 @@ <xsl:call-template name="getListItemFormat"/> </fo:block> </fo:list-item-label> <fo:list-item-body start-indent="body-start()" xsl:use-attribute-sets="list-item-body-style"> - <fo:block> + <fo:block role="SKIP"> <xsl:call-template name="refine_list-item-body-style"/> <xsl:apply-templates/> @@ -11042,14 +11148,14 @@ <fo:table-column column-width="107mm"/> <fo:table-column column-width="15mm"/> <fo:table-body> <fo:table-row text-align="center" font-weight="bold" background-color="black" color="white"> - <fo:table-cell border="1pt solid black"><fo:block>Date</fo:block></fo:table-cell> - <fo:table-cell border="1pt solid black"><fo:block>Type</fo:block></fo:table-cell> - <fo:table-cell border="1pt solid black"><fo:block>Change</fo:block></fo:table-cell> - <fo:table-cell border="1pt solid black"><fo:block>Pages</fo:block></fo:table-cell> + <fo:table-cell border="1pt solid black"><fo:block role="SKIP">Date</fo:block></fo:table-cell> + <fo:table-cell border="1pt solid black"><fo:block role="SKIP">Type</fo:block></fo:table-cell> + <fo:table-cell border="1pt solid black"><fo:block role="SKIP">Change</fo:block></fo:table-cell> + <fo:table-cell border="1pt solid black"><fo:block role="SKIP">Pages</fo:block></fo:table-cell> </fo:table-row> <xsl:apply-templates/> </fo:table-body> </fo:table> </xsl:template> @@ -11060,11 +11166,11 @@ </fo:table-row> </xsl:template> <xsl:template match="*[local-name() = 'errata']/*[local-name() = 'row']/*"> <fo:table-cell border="1pt solid black" padding-left="1mm" padding-top="0.5mm"> - <fo:block><xsl:apply-templates/></fo:block> + <fo:block role="SKIP"><xsl:apply-templates/></fo:block> </fo:table-cell> </xsl:template> <!-- ============ --> <!-- END errata --> <!-- ============ --> @@ -11163,12 +11269,12 @@ <fo:table width="100%" table-layout="fixed"> <fo:table-column column-width="20%"/> <fo:table-column column-width="80%"/> <fo:table-body> <fo:table-row> - <fo:table-cell><fo:block><xsl:value-of select="$bibitem_label"/></fo:block></fo:table-cell> - <fo:table-cell><fo:block><xsl:copy-of select="$bibitem_body"/></fo:block></fo:table-cell> + <fo:table-cell><fo:block role="SKIP"><xsl:value-of select="$bibitem_label"/></fo:block></fo:table-cell> + <fo:table-cell><fo:block role="SKIP"><xsl:copy-of select="$bibitem_body"/></fo:block></fo:table-cell> </fo:table-row> </fo:table-body> </fo:table> </xsl:when> <!-- $doctype = 'implementers-guide' --> <xsl:when test="$bibitem_label != $docidentifier_metanorma_ordinal"> @@ -11391,11 +11497,11 @@ <!-- <xref target="cgpm9th1948r6">1.6.3<tab/>&#8220;9th CGPM, 1948:<tab/>decision to establish the SI&#8221;</xref> --> <xsl:variable name="target" select="@target"/> <xsl:for-each select="*[local-name() = 'tab']"> <xsl:variable name="current_id" select="generate-id()"/> <fo:table-cell> - <fo:block line-height-shift-adjustment="disregard-shifts"> + <fo:block line-height-shift-adjustment="disregard-shifts" role="SKIP"> <xsl:call-template name="insert_basic_link"> <xsl:with-param name="element"> <fo:basic-link internal-destination="{$target}" fox:alt-text="{.}"> <xsl:for-each select="following-sibling::node()[not(self::*[local-name() = 'tab']) and preceding-sibling::*[local-name() = 'tab'][1][generate-id() = $current_id]]"> <xsl:choose> @@ -11409,10 +11515,10 @@ </fo:block> </fo:table-cell> </xsl:for-each> <!-- last column - for page numbers --> <fo:table-cell text-align="right" font-size="10pt" font-weight="bold" font-family="Arial"> - <fo:block> + <fo:block role="SKIP"> <xsl:call-template name="insert_basic_link"> <xsl:with-param name="element"> <fo:basic-link internal-destination="{$target}" fox:alt-text="{.}"> <fo:page-number-citation ref-id="{$target}"/> </fo:basic-link> \ No newline at end of file