metanorma-un 0.10.0 → 0.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1519,6 +1519,12 @@
1519
1519
  <xsl:attribute name="font-weight">bold</xsl:attribute>
1520
1520
  </xsl:attribute-set>
1521
1521
 
1522
+ <xsl:attribute-set name="figure-block-style">
1523
+
1524
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1525
+
1526
+ </xsl:attribute-set>
1527
+
1522
1528
  <xsl:attribute-set name="figure-style">
1523
1529
 
1524
1530
  </xsl:attribute-set>
@@ -1526,7 +1532,7 @@
1526
1532
  <xsl:attribute-set name="figure-name-style">
1527
1533
 
1528
1534
  <xsl:attribute name="text-align">center</xsl:attribute>
1529
- <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1535
+ <xsl:attribute name="space-after">6pt</xsl:attribute>
1530
1536
  <xsl:attribute name="keep-with-previous">always</xsl:attribute>
1531
1537
 
1532
1538
  </xsl:attribute-set>
@@ -2926,6 +2932,10 @@
2926
2932
  <xsl:with-param name="continued">true</xsl:with-param>
2927
2933
  </xsl:apply-templates>
2928
2934
 
2935
+ <xsl:if test="not(ancestor::*[local-name()='table']/*[local-name()='name'])"> <!-- to prevent empty fo:table-cell in case of missing table's name -->
2936
+ <fo:block/>
2937
+ </xsl:if>
2938
+
2929
2939
  </fo:table-cell>
2930
2940
  </fo:table-row>
2931
2941
  </xsl:template> <!-- table-header-title -->
@@ -3318,7 +3328,22 @@
3318
3328
 
3319
3329
  <xsl:variable name="ref_id" select="concat('footnote_', $lang, '_', $reference, '_', $current_fn_number)"/>
3320
3330
  <xsl:variable name="footnote_inline">
3321
- <fo:inline xsl:use-attribute-sets="fn-num-style">
3331
+ <fo:inline>
3332
+
3333
+ <xsl:variable name="fn_styles">
3334
+ <xsl:choose>
3335
+ <xsl:when test="ancestor::*[local-name() = 'bibitem']">
3336
+ <fn_styles xsl:use-attribute-sets="bibitem-note-fn-style"/>
3337
+ </xsl:when>
3338
+ <xsl:otherwise>
3339
+ <fn_styles xsl:use-attribute-sets="fn-num-style"/>
3340
+ </xsl:otherwise>
3341
+ </xsl:choose>
3342
+ </xsl:variable>
3343
+
3344
+ <xsl:for-each select="xalan:nodeset($fn_styles)/fn_styles/@*">
3345
+ <xsl:copy-of select="."/>
3346
+ </xsl:for-each>
3322
3347
 
3323
3348
  <xsl:if test="following-sibling::*[1][local-name() = 'fn']">
3324
3349
  <xsl:attribute name="padding-right">0.5mm</xsl:attribute>
@@ -3382,7 +3407,10 @@
3382
3407
  </xsl:for-each>
3383
3408
  <xsl:for-each select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='boilerplate']/* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='preface']/* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='sections']/* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='annex'] | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibliography']/*">
3384
3409
  <xsl:sort select="@displayorder" data-type="number"/>
3385
- <xsl:for-each select=".//*[local-name() = 'bibitem'][ancestor::*[local-name() = 'references']]/*[local-name() = 'note'] | .//*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure') and not(ancestor::*[local-name() = 'name'])])][generate-id(.)=generate-id(key('kfn',@reference)[1])]">
3410
+ <!-- commented:
3411
+ .//*[local-name() = 'bibitem'][ancestor::*[local-name() = 'references']]/*[local-name() = 'note'] |
3412
+ because 'fn' there is in biblio-tag -->
3413
+ <xsl:for-each select=".//*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure') and not(ancestor::*[local-name() = 'name'])])][generate-id(.)=generate-id(key('kfn',@reference)[1])]">
3386
3414
  <!-- copy unique fn -->
3387
3415
  <fn gen_id="{generate-id(.)}">
3388
3416
  <xsl:copy-of select="@*"/>
@@ -4231,7 +4259,7 @@
4231
4259
 
4232
4260
  <xsl:variable name="_font-size">
4233
4261
 
4234
- <!-- 10 -->
4262
+ <!-- inherit -->
4235
4263
 
4236
4264
  </xsl:variable>
4237
4265
  <xsl:variable name="font-size" select="normalize-space($_font-size)"/>
@@ -5199,6 +5227,33 @@
5199
5227
  </xsl:choose>
5200
5228
  </xsl:template>
5201
5229
 
5230
+ <xsl:template name="getLang_fromCurrentNode">
5231
+ <xsl:variable name="language_current" select="normalize-space(.//*[local-name()='bibdata']//*[local-name()='language'][@current = 'true'])"/>
5232
+ <xsl:variable name="language">
5233
+ <xsl:choose>
5234
+ <xsl:when test="$language_current != ''">
5235
+ <xsl:value-of select="$language_current"/>
5236
+ </xsl:when>
5237
+ <xsl:otherwise>
5238
+ <xsl:variable name="language_current_2" select="normalize-space(xalan:nodeset($bibdata)//*[local-name()='bibdata']//*[local-name()='language'][@current = 'true'])"/>
5239
+ <xsl:choose>
5240
+ <xsl:when test="$language_current_2 != ''">
5241
+ <xsl:value-of select="$language_current_2"/>
5242
+ </xsl:when>
5243
+ <xsl:otherwise>
5244
+ <xsl:value-of select=".//*[local-name()='bibdata']//*[local-name()='language']"/>
5245
+ </xsl:otherwise>
5246
+ </xsl:choose>
5247
+ </xsl:otherwise>
5248
+ </xsl:choose>
5249
+ </xsl:variable>
5250
+
5251
+ <xsl:choose>
5252
+ <xsl:when test="$language = 'English'">en</xsl:when>
5253
+ <xsl:otherwise><xsl:value-of select="$language"/></xsl:otherwise>
5254
+ </xsl:choose>
5255
+ </xsl:template>
5256
+
5202
5257
  <xsl:template name="capitalizeWords">
5203
5258
  <xsl:param name="str"/>
5204
5259
  <xsl:variable name="str2" select="translate($str, '-', ' ')"/>
@@ -5831,7 +5886,7 @@
5831
5886
  <xsl:template match="*[local-name() = 'figure']" name="figure">
5832
5887
  <xsl:variable name="isAdded" select="@added"/>
5833
5888
  <xsl:variable name="isDeleted" select="@deleted"/>
5834
- <fo:block-container id="{@id}">
5889
+ <fo:block-container id="{@id}" xsl:use-attribute-sets="figure-block-style">
5835
5890
 
5836
5891
  <xsl:call-template name="setTrackChangesStyles">
5837
5892
  <xsl:with-param name="isAdded" select="$isAdded"/>
@@ -6817,7 +6872,13 @@
6817
6872
  </xsl:template>
6818
6873
 
6819
6874
  <xsl:template match="text()" mode="contents_item">
6820
- <xsl:call-template name="keep_together_standard_number"/>
6875
+ <xsl:variable name="text">
6876
+ <!-- to split by '_' and other chars -->
6877
+ <text><xsl:call-template name="add-zero-spaces-java"/></text>
6878
+ </xsl:variable>
6879
+ <xsl:for-each select="xalan:nodeset($text)/text/text()">
6880
+ <xsl:call-template name="keep_together_standard_number"/>
6881
+ </xsl:for-each>
6821
6882
  </xsl:template>
6822
6883
 
6823
6884
  <!-- Note: to enable the addition of character span markup with semantic styling for DIS Word output -->
@@ -6828,35 +6889,53 @@
6828
6889
  <!-- =============== -->
6829
6890
  <!-- sourcecode -->
6830
6891
  <!-- =============== -->
6831
- <xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
6832
6892
 
6833
- <xsl:variable name="sourcecode_attributes">
6834
- <xsl:element name="sourcecode_attributes" use-attribute-sets="sourcecode-style">
6835
- <xsl:variable name="_font-size">
6893
+ <xsl:variable name="source-highlighter-css_" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'source-highlighter-css']"/>
6894
+ <xsl:variable name="sourcecode_css_" select="java:org.metanorma.fop.Util.parseCSS($source-highlighter-css_)"/>
6895
+ <xsl:variable name="sourcecode_css" select="xalan:nodeset($sourcecode_css_)"/>
6836
6896
 
6837
- <!-- 9 -->
6897
+ <xsl:template match="*[local-name() = 'property']" mode="css">
6898
+ <xsl:attribute name="{@name}">
6899
+ <xsl:value-of select="@value"/>
6900
+ </xsl:attribute>
6901
+ </xsl:template>
6838
6902
 
6839
- <!-- <xsl:if test="$namespace = 'ieee'">
6840
- <xsl:if test="$current_template = 'standard'">8</xsl:if>
6841
- </xsl:if> -->
6903
+ <xsl:template name="get_sourcecode_attributes">
6904
+ <xsl:element name="sourcecode_attributes" use-attribute-sets="sourcecode-style">
6905
+ <xsl:variable name="_font-size">
6842
6906
 
6843
- 10
6844
- </xsl:variable>
6907
+ <!-- inherit -->
6845
6908
 
6846
- <xsl:variable name="font-size" select="normalize-space($_font-size)"/>
6847
- <xsl:if test="$font-size != ''">
6848
- <xsl:attribute name="font-size">
6849
- <xsl:choose>
6850
- <xsl:when test="$font-size = 'inherit'"><xsl:value-of select="$font-size"/></xsl:when>
6851
- <xsl:when test="contains($font-size, '%')"><xsl:value-of select="$font-size"/></xsl:when>
6852
- <xsl:when test="ancestor::*[local-name()='note']"><xsl:value-of select="$font-size * 0.91"/>pt</xsl:when>
6853
- <xsl:otherwise><xsl:value-of select="$font-size"/>pt</xsl:otherwise>
6854
- </xsl:choose>
6855
- </xsl:attribute>
6856
- </xsl:if>
6857
- </xsl:element>
6909
+ <!-- <xsl:if test="$namespace = 'ieee'">
6910
+ <xsl:if test="$current_template = 'standard'">8</xsl:if>
6911
+ </xsl:if> -->
6912
+
6913
+ 10
6914
+ </xsl:variable>
6915
+
6916
+ <xsl:variable name="font-size" select="normalize-space($_font-size)"/>
6917
+ <xsl:if test="$font-size != ''">
6918
+ <xsl:attribute name="font-size">
6919
+ <xsl:choose>
6920
+ <xsl:when test="$font-size = 'inherit'"><xsl:value-of select="$font-size"/></xsl:when>
6921
+ <xsl:when test="contains($font-size, '%')"><xsl:value-of select="$font-size"/></xsl:when>
6922
+ <xsl:when test="ancestor::*[local-name()='note']"><xsl:value-of select="$font-size * 0.91"/>pt</xsl:when>
6923
+ <xsl:otherwise><xsl:value-of select="$font-size"/>pt</xsl:otherwise>
6924
+ </xsl:choose>
6925
+ </xsl:attribute>
6926
+ </xsl:if>
6927
+ <xsl:apply-templates select="$sourcecode_css//class[@name = 'sourcecode']" mode="css"/>
6928
+ </xsl:element>
6929
+ </xsl:template>
6930
+
6931
+ <xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
6932
+
6933
+ <xsl:variable name="sourcecode_attributes">
6934
+ <xsl:call-template name="get_sourcecode_attributes"/>
6858
6935
  </xsl:variable>
6859
6936
 
6937
+ <!-- <xsl:copy-of select="$sourcecode_css"/> -->
6938
+
6860
6939
  <xsl:choose>
6861
6940
  <xsl:when test="$isGenerateTableIF = 'true' and (ancestor::*[local-name() = 'td'] or ancestor::*[local-name() = 'th'])">
6862
6941
  <xsl:for-each select="xalan:nodeset($sourcecode_attributes)/sourcecode_attributes/@*">
@@ -6910,9 +6989,10 @@
6910
6989
  </xsl:choose>
6911
6990
  </xsl:template>
6912
6991
 
6913
- <xsl:template match="*[local-name()='sourcecode']/text()" priority="2">
6992
+ <xsl:template match="*[local-name()='sourcecode']/text() | *[local-name()='sourcecode']//*[local-name()='span']/text()" priority="2">
6914
6993
  <xsl:choose>
6915
- <xsl:when test="normalize-space($syntax-highlight) = 'true' and normalize-space(../@lang) != ''"> <!-- condition for turn on of highlighting -->
6994
+ <!-- disabled -->
6995
+ <xsl:when test="1 = 2 and normalize-space($syntax-highlight) = 'true' and normalize-space(../@lang) != ''"> <!-- condition for turn on of highlighting -->
6916
6996
  <xsl:variable name="syntax" select="java:org.metanorma.fop.Util.syntaxHighlight(., ../@lang)"/>
6917
6997
  <xsl:choose>
6918
6998
  <xsl:when test="normalize-space($syntax) != ''"><!-- if there is highlighted result -->
@@ -6927,8 +7007,75 @@
6927
7007
  <xsl:call-template name="add_spaces_to_sourcecode"/>
6928
7008
  </xsl:otherwise>
6929
7009
  </xsl:choose>
7010
+ </xsl:template>
7011
+
7012
+ <!-- add sourcecode highlighting -->
7013
+ <xsl:template match="*[local-name()='sourcecode']//*[local-name()='span'][@class]" priority="2">
7014
+ <xsl:variable name="class" select="@class"/>
7015
+ <xsl:choose>
7016
+ <xsl:when test="$sourcecode_css//class[@name = $class]">
7017
+ <fo:inline>
7018
+ <xsl:apply-templates select="$sourcecode_css//class[@name = $class]" mode="css"/>
7019
+ <xsl:apply-templates/>
7020
+ </fo:inline>
7021
+ </xsl:when>
7022
+ <xsl:otherwise>
7023
+ <xsl:apply-templates/>
7024
+ </xsl:otherwise>
7025
+ </xsl:choose>
7026
+ </xsl:template>
7027
+
7028
+ <!-- outer table with line numbers for sourcecode -->
7029
+ <xsl:template match="*[local-name()='table'][@type = 'sourcecode']" priority="2">
7030
+ <fo:block>
7031
+ <fo:table width="100%" table-layout="fixed">
7032
+ <xsl:copy-of select="@id"/>
7033
+ <fo:table-column column-width="8%"/>
7034
+ <fo:table-column column-width="92%"/>
7035
+ <fo:table-body>
7036
+ <xsl:apply-templates/>
7037
+ </fo:table-body>
7038
+ </fo:table>
7039
+ </fo:block>
7040
+ </xsl:template>
7041
+ <xsl:template match="*[local-name()='table'][@type = 'sourcecode']/*[local-name() = 'tbody']" priority="2">
7042
+ <xsl:apply-templates/>
7043
+ </xsl:template>
7044
+ <xsl:template match="*[local-name()='table'][@type = 'sourcecode']//*[local-name()='tr']" priority="2">
7045
+ <fo:table-row>
7046
+ <xsl:apply-templates/>
7047
+ </fo:table-row>
7048
+ </xsl:template>
7049
+ <!-- first td with line numbers -->
7050
+ <xsl:template match="*[local-name()='table'][@type = 'sourcecode']//*[local-name()='tr']/*[local-name()='td'][not(preceding-sibling::*)]" priority="2">
7051
+ <fo:table-cell>
7052
+ <fo:block>
7053
+
7054
+ <!-- set attibutes for line numbers - same as sourcecode -->
7055
+ <xsl:variable name="sourcecode_attributes">
7056
+ <xsl:for-each select="following-sibling::*[local-name() = 'td']/*[local-name() = 'sourcecode']">
7057
+ <xsl:call-template name="get_sourcecode_attributes"/>
7058
+ </xsl:for-each>
7059
+ </xsl:variable>
7060
+ <xsl:for-each select="xalan:nodeset($sourcecode_attributes)/sourcecode_attributes/@*[not(starts-with(local-name(), 'margin-') or starts-with(local-name(), 'space-'))]">
7061
+ <xsl:attribute name="{local-name()}">
7062
+ <xsl:value-of select="."/>
7063
+ </xsl:attribute>
7064
+ </xsl:for-each>
6930
7065
 
7066
+ <xsl:apply-templates/>
7067
+ </fo:block>
7068
+ </fo:table-cell>
6931
7069
  </xsl:template>
7070
+ <!-- second td with sourcecode -->
7071
+ <xsl:template match="*[local-name()='table'][@type = 'sourcecode']//*[local-name()='tr']/*[local-name()='td'][preceding-sibling::*]" priority="2">
7072
+ <fo:table-cell>
7073
+ <fo:block>
7074
+ <xsl:apply-templates/>
7075
+ </fo:block>
7076
+ </fo:table-cell>
7077
+ </xsl:template>
7078
+ <!-- END outer table with line numbers for sourcecode -->
6932
7079
 
6933
7080
  <xsl:template name="add_spaces_to_sourcecode">
6934
7081
  <xsl:variable name="text_step1">
@@ -8611,160 +8758,53 @@
8611
8758
  </xsl:template> <!-- references[not(@normative='true')]/bibitem -->
8612
8759
 
8613
8760
  <xsl:template name="processBibitem">
8761
+ <xsl:param name="biblio_tag_part">both</xsl:param>
8614
8762
 
8615
8763
  <!-- start UNECE bibitem processing -->
8616
- <fo:inline padding-right="5mm">[<xsl:value-of select="un:docidentifier"/>]</fo:inline><xsl:value-of select="un:docidentifier"/>
8617
- <xsl:text> </xsl:text>
8764
+ <fo:inline padding-right="5mm">
8765
+ <xsl:apply-templates select="*[local-name() = 'biblio-tag']">
8766
+ <xsl:with-param name="biblio_tag_part">first</xsl:with-param>
8767
+ </xsl:apply-templates>
8768
+ </fo:inline>
8769
+ <xsl:apply-templates select="*[local-name() = 'biblio-tag']">
8770
+ <xsl:with-param name="biblio_tag_part">last</xsl:with-param>
8771
+ </xsl:apply-templates>
8772
+
8618
8773
  <xsl:apply-templates select="un:formattedref"/>
8619
8774
  <!-- END UNECE bibitem processing -->
8620
8775
 
8621
8776
  </xsl:template> <!-- processBibitem (bibitem) -->
8622
8777
 
8623
- <xsl:template name="processBibitemDocId">
8624
- <xsl:variable name="_doc_ident" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'metanorma-ordinal' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]"/>
8625
- <xsl:choose>
8626
- <xsl:when test="normalize-space($_doc_ident) != ''">
8627
- <!-- <xsl:variable name="type" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]/@type"/>
8628
- <xsl:if test="$type != '' and not(contains($_doc_ident, $type))">
8629
- <xsl:value-of select="$type"/><xsl:text> </xsl:text>
8630
- </xsl:if> -->
8631
- <xsl:value-of select="$_doc_ident"/>
8632
- </xsl:when>
8633
- <xsl:otherwise>
8634
- <!-- <xsl:variable name="type" select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]/@type"/>
8635
- <xsl:if test="$type != ''">
8636
- <xsl:value-of select="$type"/><xsl:text> </xsl:text>
8637
- </xsl:if> -->
8638
- <xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma') and not(@type = 'metanorma-ordinal')]"/>
8639
- </xsl:otherwise>
8640
- </xsl:choose>
8641
- </xsl:template> <!-- processBibitemDocId -->
8778
+ <xsl:template match="*[local-name() = 'title']" mode="title">
8779
+ <fo:inline><xsl:apply-templates/></fo:inline>
8780
+ </xsl:template>
8642
8781
 
8643
- <xsl:template name="processPersonalAuthor">
8782
+ <xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'docidentifier']"/>
8783
+
8784
+ <xsl:template match="*[local-name() = 'formattedref']">
8785
+ <!-- <xsl:if test="$namespace = 'unece' or $namespace = 'unece-rec'">
8786
+ <xsl:text>, </xsl:text>
8787
+ </xsl:if> -->
8788
+ <xsl:apply-templates/>
8789
+ </xsl:template>
8790
+
8791
+ <xsl:template match="*[local-name() = 'biblio-tag']">
8792
+ <xsl:param name="biblio_tag_part">both</xsl:param>
8644
8793
  <xsl:choose>
8645
- <xsl:when test="*[local-name() = 'name']/*[local-name() = 'completename']">
8646
- <author>
8647
- <xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'completename']"/>
8648
- </author>
8649
- </xsl:when>
8650
- <xsl:when test="*[local-name() = 'name']/*[local-name() = 'surname'] and *[local-name() = 'name']/*[local-name() = 'initial']">
8651
- <author>
8652
- <xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'surname']"/>
8653
- <xsl:text> </xsl:text>
8654
- <xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'initial']" mode="strip"/>
8655
- </author>
8794
+ <xsl:when test="$biblio_tag_part = 'first' and *[local-name() = 'tab']">
8795
+ <xsl:apply-templates select="./*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
8656
8796
  </xsl:when>
8657
- <xsl:when test="*[local-name() = 'name']/*[local-name() = 'surname'] and *[local-name() = 'name']/*[local-name() = 'forename']">
8658
- <author>
8659
- <xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'surname']"/>
8660
- <xsl:text> </xsl:text>
8661
- <xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'forename']" mode="strip"/>
8662
- </author>
8797
+ <xsl:when test="$biblio_tag_part = 'last'">
8798
+ <xsl:apply-templates select="./*[local-name() = 'tab'][1]/following-sibling::node()"/>
8663
8799
  </xsl:when>
8664
8800
  <xsl:otherwise>
8665
8801
  <xsl:apply-templates/>
8666
8802
  </xsl:otherwise>
8667
8803
  </xsl:choose>
8668
- </xsl:template> <!-- processPersonalAuthor -->
8669
-
8670
- <xsl:template name="renderDate">
8671
- <xsl:if test="normalize-space(*[local-name() = 'on']) != ''">
8672
- <xsl:value-of select="*[local-name() = 'on']"/>
8673
- </xsl:if>
8674
- <xsl:if test="normalize-space(*[local-name() = 'from']) != ''">
8675
- <xsl:value-of select="concat(*[local-name() = 'from'], '–', *[local-name() = 'to'])"/>
8676
- </xsl:if>
8677
8804
  </xsl:template>
8678
8805
 
8679
- <xsl:template match="*[local-name() = 'name']/*[local-name() = 'initial']/text()" mode="strip">
8680
- <xsl:value-of select="translate(.,'. ','')"/>
8681
- </xsl:template>
8682
-
8683
- <xsl:template match="*[local-name() = 'name']/*[local-name() = 'forename']/text()" mode="strip">
8684
- <xsl:value-of select="substring(.,1,1)"/>
8685
- </xsl:template>
8686
-
8687
- <xsl:template match="*[local-name() = 'title']" mode="title">
8688
- <fo:inline><xsl:apply-templates/></fo:inline>
8689
- </xsl:template>
8690
-
8691
- <xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'title']" priority="2">
8692
- <!-- <fo:inline><xsl:apply-templates /></fo:inline> -->
8693
- <fo:inline font-style="italic"> <!-- BIPM BSI CSD CSA GB IEC IHO ISO ITU JCGM -->
8694
- <xsl:apply-templates/>
8695
- </fo:inline>
8696
- </xsl:template>
8697
-
8698
- <!-- bibitem/note renders as footnote -->
8699
- <xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'note']" priority="2">
8700
-
8701
- <!-- list of footnotes to calculate actual footnotes number -->
8702
- <xsl:variable name="p_fn_">
8703
- <xsl:call-template name="get_fn_list"/>
8704
- </xsl:variable>
8705
- <xsl:variable name="p_fn" select="xalan:nodeset($p_fn_)"/>
8706
- <xsl:variable name="gen_id" select="generate-id(.)"/>
8707
- <xsl:variable name="lang" select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibdata']//*[local-name()='language'][@current = 'true']"/>
8708
- <!-- fn sequence number in document -->
8709
- <xsl:variable name="current_fn_number">
8710
- <xsl:choose>
8711
- <xsl:when test="@current_fn_number"><xsl:value-of select="@current_fn_number"/></xsl:when> <!-- for BSI -->
8712
- <xsl:otherwise>
8713
- <!-- <xsl:value-of select="count($p_fn//fn[@reference = $reference]/preceding-sibling::fn) + 1" /> -->
8714
- <xsl:value-of select="count($p_fn//fn[@gen_id = $gen_id]/preceding-sibling::fn) + 1"/>
8715
- </xsl:otherwise>
8716
- </xsl:choose>
8717
- </xsl:variable>
8718
- <fo:footnote>
8719
- <xsl:variable name="number">
8720
-
8721
- <xsl:value-of select="$current_fn_number"/>
8722
-
8723
- </xsl:variable>
8724
-
8725
- <xsl:variable name="current_fn_number_text">
8726
- <xsl:value-of select="$number"/>
8727
-
8728
- </xsl:variable>
8729
-
8730
- <fo:inline xsl:use-attribute-sets="bibitem-note-fn-style">
8731
- <fo:basic-link internal-destination="{$gen_id}" fox:alt-text="footnote {$number}">
8732
- <xsl:value-of select="$current_fn_number_text"/>
8733
- </fo:basic-link>
8734
- </fo:inline>
8735
- <fo:footnote-body>
8736
- <fo:block xsl:use-attribute-sets="bibitem-note-fn-body-style">
8737
- <fo:inline id="{$gen_id}" xsl:use-attribute-sets="bibitem-note-fn-number-style">
8738
- <xsl:value-of select="$current_fn_number_text"/>
8739
- </fo:inline>
8740
- <xsl:apply-templates/>
8741
- </fo:block>
8742
- </fo:footnote-body>
8743
- </fo:footnote>
8744
- </xsl:template>
8745
-
8746
- <xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'edition']"> <!-- for iho -->
8747
- <xsl:text> edition </xsl:text>
8748
- <xsl:value-of select="."/>
8749
- </xsl:template>
8750
-
8751
- <xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'uri']"> <!-- for iho -->
8752
- <xsl:text> (</xsl:text>
8753
- <fo:inline xsl:use-attribute-sets="link-style">
8754
- <fo:basic-link external-destination="." fox:alt-text=".">
8755
- <xsl:value-of select="."/>
8756
- </fo:basic-link>
8757
- </fo:inline>
8758
- <xsl:text>)</xsl:text>
8759
- </xsl:template>
8760
-
8761
- <xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'docidentifier']"/>
8762
-
8763
- <xsl:template match="*[local-name() = 'formattedref']">
8764
-
8765
- <xsl:text>, </xsl:text>
8766
-
8767
- <xsl:apply-templates/>
8806
+ <xsl:template match="*[local-name() = 'biblio-tag']/*[local-name() = 'tab']" priority="2">
8807
+ <xsl:text> </xsl:text>
8768
8808
  </xsl:template>
8769
8809
 
8770
8810
  <!-- ======================= -->
@@ -9197,6 +9237,12 @@
9197
9237
  <xsl:template match="*[local-name() = 'span']" mode="update_xml_step1">
9198
9238
  <xsl:apply-templates mode="update_xml_step1"/>
9199
9239
  </xsl:template>
9240
+ <xsl:template match="*[local-name() = 'sourcecode']//*[local-name() = 'span'][@class]" mode="update_xml_step1" priority="2">
9241
+ <xsl:copy>
9242
+ <xsl:copy-of select="@*"/>
9243
+ <xsl:apply-templates mode="update_xml_step1"/>
9244
+ </xsl:copy>
9245
+ </xsl:template>
9200
9246
  <!-- =========================================================================== -->
9201
9247
  <!-- END STEP1: Re-order elements in 'preface', 'sections' based on @displayorder -->
9202
9248
  <!-- =========================================================================== -->
@@ -9677,6 +9723,10 @@
9677
9723
  <xsl:call-template name="getLang"/><xsl:value-of select="//*[local-name() = 'p'][1]/@id"/>
9678
9724
  </xsl:template>
9679
9725
 
9726
+ <xsl:template name="getDocumentId_fromCurrentNode">
9727
+ <xsl:call-template name="getLang_fromCurrentNode"/><xsl:value-of select=".//*[local-name() = 'p'][1]/@id"/>
9728
+ </xsl:template>
9729
+
9680
9730
  <xsl:template name="namespaceCheck">
9681
9731
  <xsl:variable name="documentNS" select="namespace-uri(/*)"/>
9682
9732
  <xsl:variable name="XSLNS">