metanorma-iho 0.2.0 → 0.2.5
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.
- checksums.yaml +4 -4
- data/.github/workflows/ubuntu.yml +1 -1
- data/lib/asciidoctor/iho/basicdoc.rng +23 -0
- data/lib/asciidoctor/iho/converter.rb +12 -4
- data/lib/asciidoctor/iho/iho.rng +37 -6
- data/lib/asciidoctor/iho/isodoc.rng +124 -15
- data/lib/isodoc/iho/base_convert.rb +121 -1
- data/lib/isodoc/iho/html/htmlstyle.css +1 -1
- data/lib/isodoc/iho/html/iho.css +16 -4
- data/lib/isodoc/iho/html/iho.scss +18 -4
- data/lib/isodoc/iho/html_convert.rb +1 -0
- data/lib/isodoc/iho/i18n-en.yaml +2 -0
- data/lib/isodoc/iho/iho.specification.xsl +1227 -260
- data/lib/isodoc/iho/iho.standard.xsl +1227 -260
- data/lib/isodoc/iho/init.rb +3 -1
- data/lib/isodoc/iho/metadata.rb +0 -8
- data/lib/isodoc/iho/word_convert.rb +1 -0
- data/lib/isodoc/iho/xref.rb +11 -1
- data/lib/metanorma/iho/version.rb +1 -1
- data/metanorma-iho.gemspec +1 -2
- data/metanorma.yml +1 -0
- metadata +5 -18
@@ -30,24 +30,8 @@
|
|
30
30
|
-->
|
31
31
|
<xsl:variable name="contents">
|
32
32
|
<contents>
|
33
|
-
<xsl:
|
34
|
-
|
35
|
-
<xsl:apply-templates select="/iho:iho-standard/iho:sections/*" mode="contents"/> <!-- iho:clause[1] [@id = '_scope'] -->
|
36
|
-
|
37
|
-
<!-- [@id = '_normative_references'] -->
|
38
|
-
<!-- <xsl:apply-templates select="/iho:iho-standard/iho:bibliography/iho:references[1]" mode="contents">
|
39
|
-
<xsl:with-param name="sectionNum" select="'2'"/>
|
40
|
-
</xsl:apply-templates> -->
|
41
|
-
<!-- @id != '_scope' -->
|
42
|
-
<!-- <xsl:apply-templates select="/iho:iho-standard/iho:sections/*[position() > 1]" mode="contents">
|
43
|
-
<xsl:with-param name="sectionNumSkew" select="'1'"/>
|
44
|
-
</xsl:apply-templates> -->
|
45
|
-
<xsl:apply-templates select="/iho:iho-standard/iho:annex" mode="contents"/>
|
46
|
-
|
47
|
-
|
48
|
-
<!-- Bibliography -->
|
49
|
-
<xsl:apply-templates select="/iho:iho-standard/iho:bibliography/iho:references[position() > 1]" mode="contents"/> <!-- @id = '_bibliography' -->
|
50
|
-
|
33
|
+
<xsl:call-template name="processPrefaceSectionsDefault_Contents"/>
|
34
|
+
<xsl:call-template name="processMainSectionsDefault_Contents"/>
|
51
35
|
</contents>
|
52
36
|
</xsl:variable>
|
53
37
|
|
@@ -127,6 +111,10 @@
|
|
127
111
|
|
128
112
|
<xsl:call-template name="addPDFUAmeta"/>
|
129
113
|
|
114
|
+
<xsl:call-template name="addBookmarks">
|
115
|
+
<xsl:with-param name="contents" select="$contents"/>
|
116
|
+
</xsl:call-template>
|
117
|
+
|
130
118
|
<!-- =========================== -->
|
131
119
|
<!-- Cover Page -->
|
132
120
|
<fo:page-sequence master-reference="cover">
|
@@ -233,7 +221,7 @@
|
|
233
221
|
<xsl:text disable-output-escaping="yes">--></xsl:text>
|
234
222
|
</xsl:if>
|
235
223
|
|
236
|
-
<xsl:for-each select="xalan:nodeset($contents)//item"><!-- [not(@level = 2 and starts-with(@section, '0'))] skip clause from preface -->
|
224
|
+
<xsl:for-each select="xalan:nodeset($contents)//item[@display = 'true']"><!-- [not(@level = 2 and starts-with(@section, '0'))] skip clause from preface -->
|
237
225
|
<fo:block>
|
238
226
|
<xsl:if test="@level = 1">
|
239
227
|
<xsl:attribute name="margin-top">6pt</xsl:attribute>
|
@@ -259,8 +247,8 @@
|
|
259
247
|
</fo:list-item-label>
|
260
248
|
<fo:list-item-body start-indent="body-start()">
|
261
249
|
<fo:block text-align-last="justify" margin-left="12mm" text-indent="-12mm">
|
262
|
-
<fo:basic-link internal-destination="{@id}" fox:alt-text="{
|
263
|
-
<xsl:apply-templates/>
|
250
|
+
<fo:basic-link internal-destination="{@id}" fox:alt-text="{title}">
|
251
|
+
<xsl:apply-templates select="title"/>
|
264
252
|
<fo:inline keep-together.within-line="always">
|
265
253
|
<fo:leader font-size="9pt" font-weight="normal" leader-pattern="dots"/>
|
266
254
|
<fo:inline><fo:page-number-citation ref-id="{@id}"/></fo:inline>
|
@@ -277,7 +265,7 @@
|
|
277
265
|
</fo:block-container>
|
278
266
|
|
279
267
|
<!-- Foreword, Introduction -->
|
280
|
-
<xsl:
|
268
|
+
<xsl:call-template name="processPrefaceSectionsDefault"/>
|
281
269
|
|
282
270
|
</fo:flow>
|
283
271
|
</fo:page-sequence>
|
@@ -302,9 +290,13 @@
|
|
302
290
|
|
303
291
|
<fo:block font-size="16pt" font-weight="bold" margin-bottom="18pt"><xsl:value-of select="$title-en"/></fo:block>
|
304
292
|
|
305
|
-
<xsl:apply-templates select="
|
306
|
-
|
307
|
-
|
293
|
+
<xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']"/>
|
294
|
+
<!-- Normative references -->
|
295
|
+
<xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']"/>
|
296
|
+
<!-- Terms and definitions -->
|
297
|
+
<xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='terms']"/>
|
298
|
+
<xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='definitions']"/>
|
299
|
+
<xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name() != 'terms' and local-name() != 'definitions' and not(@type='scope')]"/>
|
308
300
|
|
309
301
|
</fo:block-container>
|
310
302
|
</fo:flow>
|
@@ -319,12 +311,32 @@
|
|
319
311
|
</fo:static-content>
|
320
312
|
<xsl:call-template name="insertHeaderFooter"/>
|
321
313
|
<fo:flow flow-name="xsl-region-body">
|
322
|
-
<fo:block-container>
|
323
|
-
<xsl:apply-templates select="
|
314
|
+
<fo:block-container>
|
315
|
+
<xsl:apply-templates select="/*/*[local-name()='annex']"/>
|
316
|
+
</fo:block-container>
|
317
|
+
</fo:flow>
|
318
|
+
</fo:page-sequence>
|
319
|
+
</xsl:if>
|
320
|
+
|
321
|
+
<xsl:if test="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]">
|
322
|
+
<fo:page-sequence master-reference="document">
|
323
|
+
<fo:static-content flow-name="xsl-footnote-separator">
|
324
|
+
<fo:block>
|
325
|
+
<fo:leader leader-pattern="rule" leader-length="30%"/>
|
326
|
+
</fo:block>
|
327
|
+
</fo:static-content>
|
328
|
+
<xsl:call-template name="insertHeaderFooter"/>
|
329
|
+
<fo:flow flow-name="xsl-region-body">
|
330
|
+
<fo:block-container>
|
331
|
+
<!-- Bibliography -->
|
332
|
+
<xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]"/>
|
324
333
|
</fo:block-container>
|
325
334
|
</fo:flow>
|
326
335
|
</fo:page-sequence>
|
327
336
|
</xsl:if>
|
337
|
+
|
338
|
+
|
339
|
+
|
328
340
|
<!-- =========================== -->
|
329
341
|
<!-- End Document Pages -->
|
330
342
|
<!-- =========================== -->
|
@@ -353,15 +365,21 @@
|
|
353
365
|
</xsl:variable>
|
354
366
|
|
355
367
|
<xsl:variable name="display">
|
356
|
-
<xsl:choose>
|
357
|
-
<xsl:when test="ancestor-or-self::iho:bibitem">false</xsl:when>
|
358
|
-
<xsl:when test="ancestor-or-self::iho:term">false</xsl:when>
|
368
|
+
<xsl:choose>
|
359
369
|
<xsl:when test="$level <= 2">true</xsl:when>
|
360
370
|
<xsl:otherwise>false</xsl:otherwise>
|
361
371
|
</xsl:choose>
|
362
372
|
</xsl:variable>
|
363
373
|
|
364
|
-
<xsl:
|
374
|
+
<xsl:variable name="skip">
|
375
|
+
<xsl:choose>
|
376
|
+
<xsl:when test="ancestor-or-self::iho:bibitem">true</xsl:when>
|
377
|
+
<xsl:when test="ancestor-or-self::iho:term">true</xsl:when>
|
378
|
+
<xsl:otherwise>false</xsl:otherwise>
|
379
|
+
</xsl:choose>
|
380
|
+
</xsl:variable>
|
381
|
+
|
382
|
+
<xsl:if test="$skip = 'false'">
|
365
383
|
|
366
384
|
<xsl:variable name="section">
|
367
385
|
<xsl:call-template name="getSection"/>
|
@@ -380,10 +398,13 @@
|
|
380
398
|
<xsl:if test="ancestor-or-self::iho:annex">annex</xsl:if>
|
381
399
|
</xsl:variable>
|
382
400
|
|
383
|
-
<item id="{@id}" level="{$level}" section="{$section}" type="{$type}" root="{$root}">
|
384
|
-
<
|
401
|
+
<item id="{@id}" level="{$level}" section="{$section}" type="{$type}" root="{$root}" display="{$display}">
|
402
|
+
<title>
|
403
|
+
<xsl:apply-templates select="xalan:nodeset($title)" mode="contents_item"/>
|
404
|
+
</title>
|
405
|
+
<xsl:apply-templates mode="contents"/>
|
385
406
|
</item>
|
386
|
-
|
407
|
+
|
387
408
|
</xsl:if>
|
388
409
|
|
389
410
|
</xsl:template>
|
@@ -428,7 +449,7 @@
|
|
428
449
|
</fo:block>
|
429
450
|
</xsl:template>
|
430
451
|
|
431
|
-
<xsl:template match="iho:references[
|
452
|
+
<xsl:template match="iho:bibliography/iho:references[not(@normative='true')]/iho:title">
|
432
453
|
<fo:block font-size="16pt" font-weight="bold" text-align="center" margin-top="6pt" margin-bottom="36pt" keep-with-next="always">
|
433
454
|
<xsl:apply-templates/>
|
434
455
|
</fo:block>
|
@@ -570,13 +591,13 @@
|
|
570
591
|
<fo:inline font-size="70%" keep-with-previous.within-line="always" vertical-align="super"> <!-- -->
|
571
592
|
<fo:basic-link internal-destination="footnote_{@reference}_{$number}" fox:alt-text="footnote {@reference} {$number}">
|
572
593
|
<!-- <xsl:value-of select="@reference"/> -->
|
573
|
-
<xsl:value-of select="$number + count(//iho:bibitem[ancestor::iho:references[@
|
594
|
+
<xsl:value-of select="$number + count(//iho:bibitem[ancestor::iho:references[@normative='true']]/iho:note)"/>
|
574
595
|
</fo:basic-link>
|
575
596
|
</fo:inline>
|
576
597
|
<fo:footnote-body>
|
577
598
|
<fo:block font-size="10pt" margin-bottom="12pt">
|
578
599
|
<fo:inline id="footnote_{@reference}_{$number}" font-size="60%" vertical-align="super" keep-with-next.within-line="always" padding-right="1mm"> <!-- font-size="60%" alignment-baseline="hanging" -->
|
579
|
-
<xsl:value-of select="$number + count(//iho:bibitem[ancestor::iho:references[@
|
600
|
+
<xsl:value-of select="$number + count(//iho:bibitem[ancestor::iho:references[@normative='true']]/iho:note)"/>
|
580
601
|
</fo:inline>
|
581
602
|
<xsl:for-each select="iho:p">
|
582
603
|
<xsl:apply-templates/>
|
@@ -600,7 +621,7 @@
|
|
600
621
|
</xsl:template>
|
601
622
|
|
602
623
|
|
603
|
-
<xsl:template match="iho:ul | iho:ol">
|
624
|
+
<xsl:template match="iho:ul | iho:ol" mode="ul_ol">
|
604
625
|
<fo:list-block provisional-distance-between-starts="6mm">
|
605
626
|
<xsl:apply-templates/>
|
606
627
|
</fo:list-block>
|
@@ -616,13 +637,16 @@
|
|
616
637
|
<xsl:apply-templates mode="process"/>
|
617
638
|
</fo:block>
|
618
639
|
</xsl:template>
|
619
|
-
<xsl:template match="iho:ul//iho:note/iho:name | iho:ol//iho:note/iho:name" mode="process"/>
|
620
|
-
<xsl:template match="iho:ul//iho:note/iho:p | iho:ol//iho:note/iho:p" mode="process">
|
640
|
+
<xsl:template match="iho:ul//iho:note/iho:name | iho:ol//iho:note/iho:name" mode="process" priority="2"/>
|
641
|
+
<xsl:template match="iho:ul//iho:note/iho:p | iho:ol//iho:note/iho:p" mode="process" priority="2">
|
621
642
|
<fo:block font-size="11pt" margin-top="4pt">
|
622
643
|
<xsl:apply-templates/>
|
623
644
|
</fo:block>
|
624
645
|
</xsl:template>
|
625
646
|
|
647
|
+
<xsl:template match="iho:ul//iho:note/* | iho:ol//iho:note/*" mode="process">
|
648
|
+
<xsl:apply-templates select="."/>
|
649
|
+
</xsl:template>
|
626
650
|
|
627
651
|
|
628
652
|
<xsl:template match="iho:li">
|
@@ -682,7 +706,13 @@
|
|
682
706
|
</fo:block>
|
683
707
|
</xsl:template>
|
684
708
|
|
685
|
-
|
709
|
+
|
710
|
+
<!-- IHO documents:
|
711
|
+
"[1] S57 edition 3.1: IHO Transfer Standard for Digital Hydrographic Data, International Hydrographic Organization (www.iho.int)”
|
712
|
+
[{number}] {docID} edition {edition}: {title}, {author/organization}
|
713
|
+
|
714
|
+
Non-IHO documents:
|
715
|
+
Provide title and publisher -->
|
686
716
|
<xsl:template match="iho:bibitem">
|
687
717
|
<fo:list-block margin-bottom="12pt" provisional-distance-between-starts="12mm" line-height="115%">
|
688
718
|
<fo:list-item>
|
@@ -695,38 +725,34 @@
|
|
695
725
|
</fo:list-item-label>
|
696
726
|
<fo:list-item-body start-indent="body-start()">
|
697
727
|
<fo:block>
|
698
|
-
<xsl:
|
699
|
-
<xsl:if test="iho:docidentifier">
|
700
|
-
<xsl:choose>
|
701
|
-
<xsl:when test="iho:docidentifier/@type = 'metanorma'"/>
|
702
|
-
<xsl:otherwise><xsl:value-of select="iho:docidentifier"/></xsl:otherwise>
|
703
|
-
</xsl:choose>
|
704
|
-
</xsl:if>
|
705
|
-
</xsl:variable>
|
706
|
-
<xsl:value-of select="$docidentifier"/>
|
707
|
-
<xsl:apply-templates select="iho:note"/>
|
708
|
-
<xsl:if test="normalize-space($docidentifier) != ''">, </xsl:if>
|
709
|
-
<xsl:choose>
|
710
|
-
<xsl:when test="iho:title[@type = 'main' and @language = 'en']">
|
711
|
-
<xsl:apply-templates select="iho:title[@type = 'main' and @language = 'en']"/>
|
712
|
-
</xsl:when>
|
713
|
-
<xsl:otherwise>
|
714
|
-
<xsl:apply-templates select="iho:title"/>
|
715
|
-
</xsl:otherwise>
|
716
|
-
</xsl:choose>
|
717
|
-
<xsl:apply-templates select="iho:formattedref"/>
|
728
|
+
<xsl:call-template name="processBibitem"/>
|
718
729
|
</fo:block>
|
719
730
|
</fo:list-item-body>
|
720
731
|
</fo:list-item>
|
721
732
|
</fo:list-block>
|
722
733
|
</xsl:template>
|
723
734
|
|
735
|
+
<xsl:template match="iho:bibitem/iho:edition">
|
736
|
+
<xsl:text> edition </xsl:text>
|
737
|
+
<xsl:value-of select="."/>
|
738
|
+
</xsl:template>
|
739
|
+
|
724
740
|
<xsl:template match="iho:bibitem/iho:title">
|
725
741
|
<fo:inline font-style="italic">
|
726
742
|
<xsl:apply-templates/>
|
727
743
|
</fo:inline>
|
728
744
|
</xsl:template>
|
729
745
|
|
746
|
+
<xsl:template match="iho:bibitem/iho:uri">
|
747
|
+
<xsl:text> (</xsl:text>
|
748
|
+
<fo:inline xsl:use-attribute-sets="link-style">
|
749
|
+
<fo:basic-link external-destination="." fox:alt-text=".">
|
750
|
+
<xsl:value-of select="."/>
|
751
|
+
</fo:basic-link>
|
752
|
+
</fo:inline>
|
753
|
+
<xsl:text>)</xsl:text>
|
754
|
+
</xsl:template>
|
755
|
+
|
730
756
|
<xsl:template match="iho:bibitem/iho:note" priority="2">
|
731
757
|
<fo:footnote>
|
732
758
|
<xsl:variable name="number">
|
@@ -941,6 +967,12 @@
|
|
941
967
|
|
942
968
|
</title-edition>
|
943
969
|
|
970
|
+
<title-edition lang="fr">
|
971
|
+
|
972
|
+
<xsl:text>Édition </xsl:text>
|
973
|
+
|
974
|
+
</title-edition>
|
975
|
+
|
944
976
|
|
945
977
|
<title-toc lang="en">
|
946
978
|
|
@@ -949,7 +981,12 @@
|
|
949
981
|
|
950
982
|
|
951
983
|
</title-toc>
|
952
|
-
<title-toc lang="fr">
|
984
|
+
<title-toc lang="fr">
|
985
|
+
|
986
|
+
<xsl:text>Sommaire</xsl:text>
|
987
|
+
|
988
|
+
|
989
|
+
</title-toc>
|
953
990
|
|
954
991
|
<title-toc lang="zh">Contents</title-toc>
|
955
992
|
|
@@ -983,7 +1020,12 @@
|
|
983
1020
|
|
984
1021
|
|
985
1022
|
|
986
|
-
<title-source lang="en">
|
1023
|
+
<title-source lang="en">
|
1024
|
+
|
1025
|
+
<xsl:text>SOURCE</xsl:text>
|
1026
|
+
|
1027
|
+
|
1028
|
+
</title-source>
|
987
1029
|
|
988
1030
|
<title-keywords lang="en">Keywords</title-keywords>
|
989
1031
|
|
@@ -1026,12 +1068,25 @@
|
|
1026
1068
|
<title-warning lang="zh">警告</title-warning>
|
1027
1069
|
|
1028
1070
|
<title-amendment lang="en">AMENDMENT</title-amendment>
|
1071
|
+
|
1072
|
+
<title-continued lang="en">(continued)</title-continued>
|
1073
|
+
<title-continued lang="fr">(continué)</title-continued>
|
1074
|
+
|
1029
1075
|
</xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:template name="getTitle">
|
1030
1076
|
<xsl:param name="name"/>
|
1031
|
-
<xsl:
|
1032
|
-
|
1077
|
+
<xsl:param name="lang"/>
|
1078
|
+
<xsl:variable name="lang_">
|
1079
|
+
<xsl:choose>
|
1080
|
+
<xsl:when test="$lang != ''">
|
1081
|
+
<xsl:value-of select="$lang"/>
|
1082
|
+
</xsl:when>
|
1083
|
+
<xsl:otherwise>
|
1084
|
+
<xsl:call-template name="getLang"/>
|
1085
|
+
</xsl:otherwise>
|
1086
|
+
</xsl:choose>
|
1033
1087
|
</xsl:variable>
|
1034
|
-
<xsl:variable name="
|
1088
|
+
<xsl:variable name="language" select="normalize-space($lang_)"/>
|
1089
|
+
<xsl:variable name="title_" select="$titles/*[local-name() = $name][@lang = $language]"/>
|
1035
1090
|
<xsl:choose>
|
1036
1091
|
<xsl:when test="normalize-space($title_) != ''">
|
1037
1092
|
<xsl:value-of select="$title_"/>
|
@@ -1040,12 +1095,15 @@
|
|
1040
1095
|
<xsl:value-of select="$titles/*[local-name() = $name][@lang = 'en']"/>
|
1041
1096
|
</xsl:otherwise>
|
1042
1097
|
</xsl:choose>
|
1043
|
-
</xsl:template><xsl:variable name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable><xsl:variable name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable><xsl:variable name="en_chars" select="concat($lower,$upper,',.`1234567890-=~!@#$%^*()_+[]{}\|?/')"/><xsl:variable name="linebreak" select="'
'"/><xsl:attribute-set name="
|
1098
|
+
</xsl:template><xsl:variable name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable><xsl:variable name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable><xsl:variable name="en_chars" select="concat($lower,$upper,',.`1234567890-=~!@#$%^*()_+[]{}\|?/')"/><xsl:variable name="linebreak" select="'
'"/><xsl:attribute-set name="root-style">
|
1099
|
+
|
1100
|
+
</xsl:attribute-set><xsl:attribute-set name="link-style">
|
1044
1101
|
|
1045
1102
|
<xsl:attribute name="color">blue</xsl:attribute>
|
1046
1103
|
<xsl:attribute name="text-decoration">underline</xsl:attribute>
|
1047
1104
|
|
1048
1105
|
|
1106
|
+
|
1049
1107
|
</xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
|
1050
1108
|
<xsl:attribute name="white-space">pre</xsl:attribute>
|
1051
1109
|
<xsl:attribute name="wrap-option">wrap</xsl:attribute>
|
@@ -1057,8 +1115,8 @@
|
|
1057
1115
|
|
1058
1116
|
|
1059
1117
|
|
1060
|
-
|
1061
|
-
<xsl:attribute name="font-
|
1118
|
+
|
1119
|
+
<xsl:attribute name="font-family">SFMono-Regular</xsl:attribute>
|
1062
1120
|
<xsl:attribute name="margin-bottom">6pt</xsl:attribute>
|
1063
1121
|
<xsl:attribute name="keep-with-next">always</xsl:attribute>
|
1064
1122
|
<xsl:attribute name="line-height">113%</xsl:attribute>
|
@@ -1113,9 +1171,11 @@
|
|
1113
1171
|
|
1114
1172
|
|
1115
1173
|
|
1174
|
+
|
1116
1175
|
</xsl:attribute-set><xsl:attribute-set name="example-body-style">
|
1117
1176
|
|
1118
1177
|
|
1178
|
+
|
1119
1179
|
</xsl:attribute-set><xsl:attribute-set name="example-name-style">
|
1120
1180
|
|
1121
1181
|
|
@@ -1134,6 +1194,9 @@
|
|
1134
1194
|
|
1135
1195
|
|
1136
1196
|
|
1197
|
+
|
1198
|
+
|
1199
|
+
|
1137
1200
|
|
1138
1201
|
</xsl:attribute-set><xsl:attribute-set name="example-p-style">
|
1139
1202
|
|
@@ -1150,6 +1213,8 @@
|
|
1150
1213
|
|
1151
1214
|
|
1152
1215
|
|
1216
|
+
|
1217
|
+
|
1153
1218
|
</xsl:attribute-set><xsl:attribute-set name="termexample-name-style">
|
1154
1219
|
|
1155
1220
|
|
@@ -1174,6 +1239,8 @@
|
|
1174
1239
|
|
1175
1240
|
|
1176
1241
|
|
1242
|
+
|
1243
|
+
|
1177
1244
|
</xsl:attribute-set><xsl:attribute-set name="appendix-style">
|
1178
1245
|
|
1179
1246
|
|
@@ -1187,11 +1254,13 @@
|
|
1187
1254
|
|
1188
1255
|
<xsl:attribute name="color">blue</xsl:attribute>
|
1189
1256
|
<xsl:attribute name="text-decoration">underline</xsl:attribute>
|
1190
|
-
|
1257
|
+
|
1258
|
+
|
1191
1259
|
</xsl:attribute-set><xsl:attribute-set name="eref-style">
|
1192
1260
|
|
1193
1261
|
|
1194
1262
|
|
1263
|
+
|
1195
1264
|
</xsl:attribute-set><xsl:attribute-set name="note-style">
|
1196
1265
|
|
1197
1266
|
|
@@ -1211,9 +1280,7 @@
|
|
1211
1280
|
|
1212
1281
|
|
1213
1282
|
|
1214
|
-
|
1215
|
-
|
1216
|
-
</xsl:attribute-set><xsl:attribute-set name="note-name-style">
|
1283
|
+
</xsl:attribute-set><xsl:variable name="note-body-indent">10mm</xsl:variable><xsl:variable name="note-body-indent-table">5mm</xsl:variable><xsl:attribute-set name="note-name-style">
|
1217
1284
|
|
1218
1285
|
|
1219
1286
|
|
@@ -1225,7 +1292,9 @@
|
|
1225
1292
|
|
1226
1293
|
|
1227
1294
|
|
1228
|
-
|
1295
|
+
|
1296
|
+
|
1297
|
+
|
1229
1298
|
|
1230
1299
|
</xsl:attribute-set><xsl:attribute-set name="note-p-style">
|
1231
1300
|
|
@@ -1255,6 +1324,8 @@
|
|
1255
1324
|
|
1256
1325
|
|
1257
1326
|
|
1327
|
+
</xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
|
1328
|
+
|
1258
1329
|
</xsl:attribute-set><xsl:attribute-set name="quote-style">
|
1259
1330
|
|
1260
1331
|
|
@@ -1285,6 +1356,7 @@
|
|
1285
1356
|
<xsl:attribute name="color">blue</xsl:attribute>
|
1286
1357
|
<xsl:attribute name="text-decoration">underline</xsl:attribute>
|
1287
1358
|
|
1359
|
+
|
1288
1360
|
</xsl:attribute-set><xsl:attribute-set name="term-style">
|
1289
1361
|
|
1290
1362
|
<xsl:attribute name="margin-bottom">10pt</xsl:attribute>
|
@@ -1296,6 +1368,7 @@
|
|
1296
1368
|
|
1297
1369
|
|
1298
1370
|
|
1371
|
+
|
1299
1372
|
<xsl:attribute name="font-size">11pt</xsl:attribute>
|
1300
1373
|
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
1301
1374
|
<xsl:attribute name="text-align">center</xsl:attribute>
|
@@ -1312,7 +1385,7 @@
|
|
1312
1385
|
|
1313
1386
|
|
1314
1387
|
|
1315
|
-
|
1388
|
+
|
1316
1389
|
</xsl:attribute-set><xsl:attribute-set name="formula-style">
|
1317
1390
|
|
1318
1391
|
</xsl:attribute-set><xsl:attribute-set name="image-style">
|
@@ -1337,14 +1410,16 @@
|
|
1337
1410
|
</xsl:attribute-set><xsl:attribute-set name="tt-style">
|
1338
1411
|
|
1339
1412
|
|
1340
|
-
<xsl:attribute name="font-family">Courier</xsl:attribute>
|
1341
|
-
|
1413
|
+
<xsl:attribute name="font-family">Courier</xsl:attribute>
|
1414
|
+
|
1342
1415
|
|
1343
1416
|
</xsl:attribute-set><xsl:attribute-set name="sourcecode-name-style">
|
1344
1417
|
<xsl:attribute name="font-size">11pt</xsl:attribute>
|
1345
1418
|
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
1346
1419
|
<xsl:attribute name="text-align">center</xsl:attribute>
|
1347
1420
|
<xsl:attribute name="margin-bottom">12pt</xsl:attribute>
|
1421
|
+
<xsl:attribute name="keep-with-previous">always</xsl:attribute>
|
1422
|
+
|
1348
1423
|
</xsl:attribute-set><xsl:attribute-set name="domain-style">
|
1349
1424
|
|
1350
1425
|
</xsl:attribute-set><xsl:attribute-set name="admitted-style">
|
@@ -1357,7 +1432,43 @@
|
|
1357
1432
|
|
1358
1433
|
<xsl:attribute name="margin-bottom">6pt</xsl:attribute>
|
1359
1434
|
|
1360
|
-
</xsl:attribute-set><xsl:template
|
1435
|
+
</xsl:attribute-set><xsl:template name="processPrefaceSectionsDefault_Contents">
|
1436
|
+
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']" mode="contents"/>
|
1437
|
+
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']" mode="contents"/>
|
1438
|
+
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']" mode="contents"/>
|
1439
|
+
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']" mode="contents"/>
|
1440
|
+
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']" mode="contents"/>
|
1441
|
+
</xsl:template><xsl:template name="processMainSectionsDefault_Contents">
|
1442
|
+
<xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']" mode="contents"/>
|
1443
|
+
|
1444
|
+
<!-- Normative references -->
|
1445
|
+
<xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']" mode="contents"/>
|
1446
|
+
<!-- Terms and definitions -->
|
1447
|
+
<xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='terms'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='terms']] | /*/*[local-name()='sections']/*[local-name()='definitions'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='definitions']]" mode="contents"/>
|
1448
|
+
<!-- Another main sections -->
|
1449
|
+
<xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name() != 'terms' and local-name() != 'definitions' and not(@type='scope') and not(local-name() = 'clause' and .//*[local-name()='terms']) and not(local-name() = 'clause' and .//*[local-name()='definitions'])]" mode="contents"/>
|
1450
|
+
<xsl:apply-templates select="/*/*[local-name()='annex']" mode="contents"/>
|
1451
|
+
<!-- Bibliography -->
|
1452
|
+
<xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]" mode="contents"/>
|
1453
|
+
</xsl:template><xsl:template name="processPrefaceSectionsDefault">
|
1454
|
+
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']"/>
|
1455
|
+
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']"/>
|
1456
|
+
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']"/>
|
1457
|
+
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']"/>
|
1458
|
+
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']"/>
|
1459
|
+
</xsl:template><xsl:template name="processMainSectionsDefault">
|
1460
|
+
<xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']"/>
|
1461
|
+
|
1462
|
+
<!-- Normative references -->
|
1463
|
+
<xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']"/>
|
1464
|
+
<!-- Terms and definitions -->
|
1465
|
+
<xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='terms'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='terms']] | /*/*[local-name()='sections']/*[local-name()='definitions'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='definitions']]"/>
|
1466
|
+
<!-- Another main sections -->
|
1467
|
+
<xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name() != 'terms' and local-name() != 'definitions' and not(@type='scope') and not(local-name() = 'clause' and .//*[local-name()='terms']) and not(local-name() = 'clause' and .//*[local-name()='definitions'])]"/>
|
1468
|
+
<xsl:apply-templates select="/*/*[local-name()='annex']"/>
|
1469
|
+
<!-- Bibliography -->
|
1470
|
+
<xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]"/>
|
1471
|
+
</xsl:template><xsl:template match="text()">
|
1361
1472
|
<xsl:value-of select="."/>
|
1362
1473
|
</xsl:template><xsl:template match="*[local-name()='br']">
|
1363
1474
|
<xsl:value-of select="$linebreak"/>
|
@@ -1374,6 +1485,10 @@
|
|
1374
1485
|
|
1375
1486
|
|
1376
1487
|
|
1488
|
+
|
1489
|
+
|
1490
|
+
<!-- $namespace = 'iso' or -->
|
1491
|
+
|
1377
1492
|
<xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
|
1378
1493
|
|
1379
1494
|
|
@@ -1409,6 +1524,7 @@
|
|
1409
1524
|
<xsl:with-param name="table" select="$simple-table"/>
|
1410
1525
|
</xsl:call-template>
|
1411
1526
|
</xsl:variable>
|
1527
|
+
<!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
|
1412
1528
|
|
1413
1529
|
<!-- <xsl:variable name="colwidths2">
|
1414
1530
|
<xsl:call-template name="calculate-column-widths">
|
@@ -1430,9 +1546,12 @@
|
|
1430
1546
|
<fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
|
1431
1547
|
|
1432
1548
|
|
1549
|
+
|
1550
|
+
|
1551
|
+
|
1433
1552
|
|
1434
1553
|
|
1435
|
-
|
1554
|
+
|
1436
1555
|
|
1437
1556
|
|
1438
1557
|
|
@@ -1440,20 +1559,43 @@
|
|
1440
1559
|
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
1441
1560
|
<xsl:attribute name="margin-right">0mm</xsl:attribute>
|
1442
1561
|
|
1443
|
-
|
1444
|
-
|
1445
|
-
|
1562
|
+
|
1563
|
+
|
1564
|
+
|
1565
|
+
|
1566
|
+
<xsl:variable name="table_attributes">
|
1567
|
+
<attribute name="table-layout">fixed</attribute>
|
1568
|
+
<attribute name="width">100%</attribute>
|
1569
|
+
<attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
|
1570
|
+
<attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
|
1446
1571
|
|
1447
1572
|
|
1448
1573
|
|
1449
1574
|
|
1575
|
+
|
1576
|
+
|
1577
|
+
|
1578
|
+
|
1579
|
+
<attribute name="margin-left">0mm</attribute>
|
1580
|
+
<attribute name="margin-right">0mm</attribute>
|
1450
1581
|
|
1582
|
+
|
1451
1583
|
|
1584
|
+
</xsl:variable>
|
1585
|
+
|
1586
|
+
|
1587
|
+
<fo:table id="{@id}" table-omit-footer-at-break="true">
|
1452
1588
|
|
1589
|
+
<xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
|
1590
|
+
<xsl:attribute name="{@name}">
|
1591
|
+
<xsl:value-of select="."/>
|
1592
|
+
</xsl:attribute>
|
1593
|
+
</xsl:for-each>
|
1453
1594
|
|
1454
|
-
|
1455
|
-
|
1456
|
-
<xsl:attribute name="
|
1595
|
+
<xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or .//*[local-name()='fn'][local-name(..) != 'name']"/>
|
1596
|
+
<xsl:if test="$isNoteOrFnExist = 'true'">
|
1597
|
+
<xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
|
1598
|
+
</xsl:if>
|
1457
1599
|
|
1458
1600
|
<xsl:for-each select="xalan:nodeset($colwidths)//column">
|
1459
1601
|
<xsl:choose>
|
@@ -1477,6 +1619,33 @@
|
|
1477
1619
|
|
1478
1620
|
</fo:table>
|
1479
1621
|
|
1622
|
+
<xsl:for-each select="*[local-name()='tbody']"><!-- select context to tbody -->
|
1623
|
+
<xsl:call-template name="insertTableFooterInSeparateTable">
|
1624
|
+
<xsl:with-param name="table_attributes" select="$table_attributes"/>
|
1625
|
+
<xsl:with-param name="colwidths" select="$colwidths"/>
|
1626
|
+
</xsl:call-template>
|
1627
|
+
</xsl:for-each>
|
1628
|
+
|
1629
|
+
<!-- insert footer as table -->
|
1630
|
+
<!-- <fo:table>
|
1631
|
+
<xsl:for-each select="xalan::nodeset($table_attributes)/attribute">
|
1632
|
+
<xsl:attribute name="{@name}">
|
1633
|
+
<xsl:value-of select="."/>
|
1634
|
+
</xsl:attribute>
|
1635
|
+
</xsl:for-each>
|
1636
|
+
|
1637
|
+
<xsl:for-each select="xalan:nodeset($colwidths)//column">
|
1638
|
+
<xsl:choose>
|
1639
|
+
<xsl:when test=". = 1 or . = 0">
|
1640
|
+
<fo:table-column column-width="proportional-column-width(2)"/>
|
1641
|
+
</xsl:when>
|
1642
|
+
<xsl:otherwise>
|
1643
|
+
<fo:table-column column-width="proportional-column-width({.})"/>
|
1644
|
+
</xsl:otherwise>
|
1645
|
+
</xsl:choose>
|
1646
|
+
</xsl:for-each>
|
1647
|
+
</fo:table>-->
|
1648
|
+
|
1480
1649
|
|
1481
1650
|
|
1482
1651
|
|
@@ -1485,8 +1654,9 @@
|
|
1485
1654
|
</xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']"/><xsl:template match="*[local-name()='table']/*[local-name() = 'name']" mode="presentation">
|
1486
1655
|
<xsl:if test="normalize-space() != ''">
|
1487
1656
|
<fo:block xsl:use-attribute-sets="table-name-style">
|
1488
|
-
|
1489
|
-
|
1657
|
+
|
1658
|
+
<xsl:apply-templates/>
|
1659
|
+
</fo:block>
|
1490
1660
|
</xsl:if>
|
1491
1661
|
</xsl:template><xsl:template name="calculate-columns-numbers">
|
1492
1662
|
<xsl:param name="table-row"/>
|
@@ -1540,6 +1710,13 @@
|
|
1540
1710
|
<xsl:for-each select="xalan:nodeset($table)//tr">
|
1541
1711
|
<xsl:variable name="td_text">
|
1542
1712
|
<xsl:apply-templates select="td[$curr-col]" mode="td_text"/>
|
1713
|
+
|
1714
|
+
<!-- <xsl:if test="$namespace = 'bipm'">
|
1715
|
+
<xsl:for-each select="*[local-name()='td'][$curr-col]//*[local-name()='math']">
|
1716
|
+
<word><xsl:value-of select="normalize-space(.)"/></word>
|
1717
|
+
</xsl:for-each>
|
1718
|
+
</xsl:if> -->
|
1719
|
+
|
1543
1720
|
</xsl:variable>
|
1544
1721
|
<xsl:variable name="words">
|
1545
1722
|
<xsl:variable name="string_with_added_zerospaces">
|
@@ -1599,13 +1776,31 @@
|
|
1599
1776
|
<xsl:value-of select="*[local-name()='origin']/@citeas"/>
|
1600
1777
|
</xsl:template><xsl:template match="*[local-name()='link']" mode="td_text">
|
1601
1778
|
<xsl:value-of select="@target"/>
|
1779
|
+
</xsl:template><xsl:template match="*[local-name()='math']" mode="td_text">
|
1780
|
+
<xsl:variable name="math_text" select="normalize-space(.)"/>
|
1781
|
+
<xsl:value-of select="translate($math_text, ' ', '#')"/><!-- mathml images as one 'word' without spaces -->
|
1602
1782
|
</xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
|
1603
1783
|
<xsl:param name="cols-count"/>
|
1604
1784
|
<!-- font-weight="bold" -->
|
1605
|
-
<fo:table-header>
|
1785
|
+
<fo:table-header>
|
1606
1786
|
|
1607
1787
|
<xsl:apply-templates/>
|
1608
1788
|
</fo:table-header>
|
1789
|
+
</xsl:template><xsl:template name="table-header-title">
|
1790
|
+
<xsl:param name="cols-count"/>
|
1791
|
+
<!-- row for title -->
|
1792
|
+
<fo:table-row>
|
1793
|
+
<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">
|
1794
|
+
<xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']" mode="presentation"/>
|
1795
|
+
<xsl:for-each select="ancestor::*[local-name()='table'][1]">
|
1796
|
+
<xsl:call-template name="fn_name_display"/>
|
1797
|
+
</xsl:for-each>
|
1798
|
+
<fo:block text-align="right" font-style="italic">
|
1799
|
+
<xsl:text> </xsl:text>
|
1800
|
+
<fo:retrieve-table-marker retrieve-class-name="table_continued"/>
|
1801
|
+
</fo:block>
|
1802
|
+
</fo:table-cell>
|
1803
|
+
</fo:table-row>
|
1609
1804
|
</xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
|
1610
1805
|
<fo:table-body>
|
1611
1806
|
<xsl:apply-templates/>
|
@@ -1613,6 +1808,13 @@
|
|
1613
1808
|
</xsl:template><xsl:template match="*[local-name()='tfoot']"/><xsl:template match="*[local-name()='tfoot']" mode="process">
|
1614
1809
|
<xsl:apply-templates/>
|
1615
1810
|
</xsl:template><xsl:template name="insertTableFooter">
|
1811
|
+
<xsl:param name="cols-count"/>
|
1812
|
+
<xsl:if test="../*[local-name()='tfoot']">
|
1813
|
+
<fo:table-footer>
|
1814
|
+
<xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/>
|
1815
|
+
</fo:table-footer>
|
1816
|
+
</xsl:if>
|
1817
|
+
</xsl:template><xsl:template name="insertTableFooter2">
|
1616
1818
|
<xsl:param name="cols-count"/>
|
1617
1819
|
<xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
|
1618
1820
|
<xsl:if test="../*[local-name()='tfoot'] or $isNoteOrFnExist = 'true'">
|
@@ -1634,11 +1836,15 @@
|
|
1634
1836
|
<!-- fn will be processed inside 'note' processing -->
|
1635
1837
|
|
1636
1838
|
|
1637
|
-
|
1839
|
+
|
1840
|
+
<!-- except gb and bipm -->
|
1638
1841
|
|
1639
1842
|
<xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
|
1640
1843
|
|
1641
1844
|
|
1845
|
+
|
1846
|
+
|
1847
|
+
|
1642
1848
|
<!-- horizontal row separator -->
|
1643
1849
|
|
1644
1850
|
|
@@ -1652,6 +1858,84 @@
|
|
1652
1858
|
</fo:table-footer>
|
1653
1859
|
|
1654
1860
|
</xsl:if>
|
1861
|
+
</xsl:template><xsl:template name="insertTableFooterInSeparateTable">
|
1862
|
+
<xsl:param name="table_attributes"/>
|
1863
|
+
<xsl:param name="colwidths"/>
|
1864
|
+
|
1865
|
+
<xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
|
1866
|
+
|
1867
|
+
<xsl:if test="$isNoteOrFnExist = 'true'">
|
1868
|
+
|
1869
|
+
<xsl:variable name="cols-count" select="count(xalan:nodeset($colwidths)//column)"/>
|
1870
|
+
|
1871
|
+
<fo:table keep-with-previous="always">
|
1872
|
+
<xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
|
1873
|
+
<xsl:choose>
|
1874
|
+
<xsl:when test="@name = 'border-top'">
|
1875
|
+
<xsl:attribute name="{@name}">0pt solid black</xsl:attribute>
|
1876
|
+
</xsl:when>
|
1877
|
+
<xsl:when test="@name = 'border'">
|
1878
|
+
<xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
|
1879
|
+
<xsl:attribute name="border-top">0pt solid black</xsl:attribute>
|
1880
|
+
</xsl:when>
|
1881
|
+
<xsl:otherwise>
|
1882
|
+
<xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
|
1883
|
+
</xsl:otherwise>
|
1884
|
+
</xsl:choose>
|
1885
|
+
</xsl:for-each>
|
1886
|
+
|
1887
|
+
<xsl:for-each select="xalan:nodeset($colwidths)//column">
|
1888
|
+
<xsl:choose>
|
1889
|
+
<xsl:when test=". = 1 or . = 0">
|
1890
|
+
<fo:table-column column-width="proportional-column-width(2)"/>
|
1891
|
+
</xsl:when>
|
1892
|
+
<xsl:otherwise>
|
1893
|
+
<fo:table-column column-width="proportional-column-width({.})"/>
|
1894
|
+
</xsl:otherwise>
|
1895
|
+
</xsl:choose>
|
1896
|
+
</xsl:for-each>
|
1897
|
+
|
1898
|
+
<fo:table-body>
|
1899
|
+
<fo:table-row>
|
1900
|
+
<fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
|
1901
|
+
|
1902
|
+
|
1903
|
+
|
1904
|
+
<!-- fn will be processed inside 'note' processing -->
|
1905
|
+
|
1906
|
+
|
1907
|
+
|
1908
|
+
<!-- except gb and bipm -->
|
1909
|
+
|
1910
|
+
<xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
|
1911
|
+
|
1912
|
+
|
1913
|
+
<!-- <xsl:if test="$namespace = 'bipm'">
|
1914
|
+
<xsl:choose>
|
1915
|
+
<xsl:when test="ancestor::*[local-name()='preface']">
|
1916
|
+
show Note under table in preface (ex. abstract) sections
|
1917
|
+
<xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
|
1918
|
+
</xsl:when>
|
1919
|
+
<xsl:otherwise>
|
1920
|
+
empty, because notes show at page side in main sections
|
1921
|
+
<fo:block/>
|
1922
|
+
</xsl:otherwise>
|
1923
|
+
</xsl:choose>
|
1924
|
+
</xsl:if> -->
|
1925
|
+
|
1926
|
+
|
1927
|
+
<!-- horizontal row separator -->
|
1928
|
+
|
1929
|
+
|
1930
|
+
<!-- fn processing -->
|
1931
|
+
<xsl:call-template name="fn_display"/>
|
1932
|
+
|
1933
|
+
</fo:table-cell>
|
1934
|
+
</fo:table-row>
|
1935
|
+
</fo:table-body>
|
1936
|
+
|
1937
|
+
</fo:table>
|
1938
|
+
</xsl:if>
|
1655
1939
|
</xsl:template><xsl:template match="*[local-name()='tbody']">
|
1656
1940
|
|
1657
1941
|
<xsl:variable name="cols-count">
|
@@ -1669,6 +1953,8 @@
|
|
1669
1953
|
</xsl:choose>
|
1670
1954
|
</xsl:variable>
|
1671
1955
|
|
1956
|
+
|
1957
|
+
|
1672
1958
|
<xsl:apply-templates select="../*[local-name()='thead']" mode="process">
|
1673
1959
|
<xsl:with-param name="cols-count" select="$cols-count"/>
|
1674
1960
|
</xsl:apply-templates>
|
@@ -1678,6 +1964,8 @@
|
|
1678
1964
|
</xsl:call-template>
|
1679
1965
|
|
1680
1966
|
<fo:table-body>
|
1967
|
+
|
1968
|
+
|
1681
1969
|
<xsl:apply-templates/>
|
1682
1970
|
<!-- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/> -->
|
1683
1971
|
|
@@ -1701,10 +1989,23 @@
|
|
1701
1989
|
</xsl:if>
|
1702
1990
|
|
1703
1991
|
|
1992
|
+
|
1993
|
+
|
1704
1994
|
<xsl:apply-templates/>
|
1705
1995
|
</fo:table-row>
|
1706
1996
|
</xsl:template><xsl:template match="*[local-name()='th']">
|
1707
1997
|
<fo:table-cell text-align="{@align}" font-weight="bold" border="solid black 1pt" padding-left="1mm" display-align="center">
|
1998
|
+
<xsl:attribute name="text-align">
|
1999
|
+
<xsl:choose>
|
2000
|
+
<xsl:when test="@align">
|
2001
|
+
<xsl:value-of select="@align"/>
|
2002
|
+
</xsl:when>
|
2003
|
+
<xsl:otherwise>center</xsl:otherwise>
|
2004
|
+
</xsl:choose>
|
2005
|
+
</xsl:attribute>
|
2006
|
+
|
2007
|
+
|
2008
|
+
|
1708
2009
|
|
1709
2010
|
|
1710
2011
|
|
@@ -1723,18 +2024,40 @@
|
|
1723
2024
|
<xsl:value-of select="@rowspan"/>
|
1724
2025
|
</xsl:attribute>
|
1725
2026
|
</xsl:if>
|
2027
|
+
<xsl:call-template name="display-align"/>
|
1726
2028
|
<fo:block>
|
1727
2029
|
<xsl:apply-templates/>
|
1728
2030
|
</fo:block>
|
1729
2031
|
</fo:table-cell>
|
2032
|
+
</xsl:template><xsl:template name="display-align">
|
2033
|
+
<xsl:if test="@valign">
|
2034
|
+
<xsl:attribute name="display-align">
|
2035
|
+
<xsl:choose>
|
2036
|
+
<xsl:when test="@valign = 'top'">before</xsl:when>
|
2037
|
+
<xsl:when test="@valign = 'middle'">center</xsl:when>
|
2038
|
+
<xsl:when test="@valign = 'bottom'">after</xsl:when>
|
2039
|
+
<xsl:otherwise>before</xsl:otherwise>
|
2040
|
+
</xsl:choose>
|
2041
|
+
</xsl:attribute>
|
2042
|
+
</xsl:if>
|
1730
2043
|
</xsl:template><xsl:template match="*[local-name()='td']">
|
1731
2044
|
<fo:table-cell text-align="{@align}" display-align="center" border="solid black 1pt" padding-left="1mm">
|
2045
|
+
<xsl:attribute name="text-align">
|
2046
|
+
<xsl:choose>
|
2047
|
+
<xsl:when test="@align">
|
2048
|
+
<xsl:value-of select="@align"/>
|
2049
|
+
</xsl:when>
|
2050
|
+
<xsl:otherwise>left</xsl:otherwise>
|
2051
|
+
</xsl:choose>
|
2052
|
+
</xsl:attribute>
|
1732
2053
|
<!-- and ancestor::*[local-name() = 'thead'] -->
|
1733
2054
|
<xsl:attribute name="padding-top">0.5mm</xsl:attribute>
|
1734
2055
|
|
1735
2056
|
|
1736
2057
|
|
1737
|
-
|
2058
|
+
|
2059
|
+
|
2060
|
+
|
1738
2061
|
|
1739
2062
|
|
1740
2063
|
|
@@ -1750,8 +2073,8 @@
|
|
1750
2073
|
<xsl:value-of select="@rowspan"/>
|
1751
2074
|
</xsl:attribute>
|
1752
2075
|
</xsl:if>
|
1753
|
-
<
|
1754
|
-
|
2076
|
+
<xsl:call-template name="display-align"/>
|
2077
|
+
<fo:block>
|
1755
2078
|
<xsl:apply-templates/>
|
1756
2079
|
</fo:block>
|
1757
2080
|
</fo:table-cell>
|
@@ -1765,6 +2088,8 @@
|
|
1765
2088
|
|
1766
2089
|
<xsl:attribute name="font-size">12pt</xsl:attribute>
|
1767
2090
|
|
2091
|
+
|
2092
|
+
|
1768
2093
|
<fo:inline padding-right="2mm">
|
1769
2094
|
|
1770
2095
|
|
@@ -1772,10 +2097,11 @@
|
|
1772
2097
|
<xsl:attribute name="padding-right">3mm</xsl:attribute>
|
1773
2098
|
|
1774
2099
|
|
1775
|
-
|
2100
|
+
|
1776
2101
|
<xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
|
1777
2102
|
|
1778
2103
|
</fo:inline>
|
2104
|
+
|
1779
2105
|
<xsl:apply-templates mode="process"/>
|
1780
2106
|
</fo:block>
|
1781
2107
|
|
@@ -1799,6 +2125,7 @@
|
|
1799
2125
|
|
1800
2126
|
|
1801
2127
|
|
2128
|
+
|
1802
2129
|
<fo:inline font-size="80%" padding-right="5mm" id="{@id}">
|
1803
2130
|
|
1804
2131
|
<xsl:attribute name="vertical-align">super</xsl:attribute>
|
@@ -1808,12 +2135,15 @@
|
|
1808
2135
|
|
1809
2136
|
|
1810
2137
|
|
2138
|
+
|
1811
2139
|
<xsl:value-of select="@reference"/>
|
1812
2140
|
|
2141
|
+
|
1813
2142
|
</fo:inline>
|
1814
2143
|
<fo:inline>
|
1815
2144
|
|
1816
|
-
<xsl:apply-templates/>
|
2145
|
+
<!-- <xsl:apply-templates /> -->
|
2146
|
+
<xsl:copy-of select="./node()"/>
|
1817
2147
|
</fo:inline>
|
1818
2148
|
</fo:block>
|
1819
2149
|
</xsl:if>
|
@@ -1850,13 +2180,26 @@
|
|
1850
2180
|
<xsl:variable name="following_dl_colwidths">
|
1851
2181
|
<xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
|
1852
2182
|
<xsl:variable name="html-table">
|
1853
|
-
<xsl:variable name="
|
1854
|
-
|
1855
|
-
|
1856
|
-
|
1857
|
-
|
1858
|
-
|
1859
|
-
|
2183
|
+
<xsl:variable name="doc_ns">
|
2184
|
+
|
2185
|
+
</xsl:variable>
|
2186
|
+
<xsl:variable name="ns">
|
2187
|
+
<xsl:choose>
|
2188
|
+
<xsl:when test="normalize-space($doc_ns) != ''">
|
2189
|
+
<xsl:value-of select="normalize-space($doc_ns)"/>
|
2190
|
+
</xsl:when>
|
2191
|
+
<xsl:otherwise>
|
2192
|
+
<xsl:value-of select="substring-before(name(/*), '-')"/>
|
2193
|
+
</xsl:otherwise>
|
2194
|
+
</xsl:choose>
|
2195
|
+
</xsl:variable>
|
2196
|
+
<!-- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> -->
|
2197
|
+
<xsl:element name="{$ns}:table">
|
2198
|
+
<xsl:for-each select="*[local-name() = 'dl'][1]">
|
2199
|
+
<tbody>
|
2200
|
+
<xsl:apply-templates mode="dl"/>
|
2201
|
+
</tbody>
|
2202
|
+
</xsl:for-each>
|
1860
2203
|
</xsl:element>
|
1861
2204
|
</xsl:variable>
|
1862
2205
|
|
@@ -1915,7 +2258,8 @@
|
|
1915
2258
|
<xsl:attribute name="margin-bottom">0</xsl:attribute>
|
1916
2259
|
</xsl:if>
|
1917
2260
|
|
1918
|
-
<xsl:apply-templates/>
|
2261
|
+
<!-- <xsl:apply-templates /> -->
|
2262
|
+
<xsl:copy-of select="./node()"/>
|
1919
2263
|
</fo:block>
|
1920
2264
|
</fo:table-cell>
|
1921
2265
|
</fo:table-row>
|
@@ -1933,9 +2277,13 @@
|
|
1933
2277
|
|
1934
2278
|
|
1935
2279
|
|
2280
|
+
|
2281
|
+
|
1936
2282
|
<fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
|
1937
2283
|
|
2284
|
+
|
1938
2285
|
<xsl:value-of select="@reference"/>
|
2286
|
+
|
1939
2287
|
</fo:basic-link>
|
1940
2288
|
</fo:inline>
|
1941
2289
|
</xsl:template><xsl:template match="*[local-name()='fn']/*[local-name()='p']">
|
@@ -1943,119 +2291,146 @@
|
|
1943
2291
|
<xsl:apply-templates/>
|
1944
2292
|
</fo:inline>
|
1945
2293
|
</xsl:template><xsl:template match="*[local-name()='dl']">
|
1946
|
-
<
|
1947
|
-
|
1948
|
-
|
1949
|
-
|
1950
|
-
|
1951
|
-
|
1952
|
-
|
1953
|
-
|
1954
|
-
|
1955
|
-
|
1956
|
-
<fo:block margin-bottom="12pt" text-align="left">
|
1957
|
-
|
1958
|
-
<xsl:variable name="title-where">
|
1959
|
-
<xsl:call-template name="getTitle">
|
1960
|
-
<xsl:with-param name="name" select="'title-where'"/>
|
1961
|
-
</xsl:call-template>
|
1962
|
-
</xsl:variable>
|
1963
|
-
<xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
|
1964
|
-
<xsl:apply-templates select="*[local-name()='dt']/*"/>
|
1965
|
-
<xsl:text/>
|
1966
|
-
<xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
|
1967
|
-
</fo:block>
|
1968
|
-
|
1969
|
-
</xsl:when>
|
1970
|
-
<xsl:when test="$parent = 'formula'"> <!-- a few components -->
|
1971
|
-
<fo:block margin-bottom="12pt" text-align="left">
|
1972
|
-
|
1973
|
-
|
1974
|
-
|
1975
|
-
|
1976
|
-
<xsl:variable name="title-where">
|
1977
|
-
<xsl:call-template name="getTitle">
|
1978
|
-
<xsl:with-param name="name" select="'title-where'"/>
|
1979
|
-
</xsl:call-template>
|
1980
|
-
</xsl:variable>
|
1981
|
-
<xsl:value-of select="$title-where"/>
|
1982
|
-
</fo:block>
|
1983
|
-
</xsl:when>
|
1984
|
-
<xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')">
|
1985
|
-
<fo:block font-weight="bold" text-align="left" margin-bottom="12pt" keep-with-next="always">
|
1986
|
-
|
1987
|
-
|
1988
|
-
|
1989
|
-
<xsl:variable name="title-key">
|
1990
|
-
<xsl:call-template name="getTitle">
|
1991
|
-
<xsl:with-param name="name" select="'title-key'"/>
|
1992
|
-
</xsl:call-template>
|
1993
|
-
</xsl:variable>
|
1994
|
-
<xsl:value-of select="$title-key"/>
|
1995
|
-
</fo:block>
|
1996
|
-
</xsl:when>
|
1997
|
-
</xsl:choose>
|
1998
|
-
|
1999
|
-
<!-- a few components -->
|
2000
|
-
<xsl:if test="not($parent = 'formula' and count(*[local-name()='dt']) = 1)">
|
2001
|
-
<fo:block>
|
2002
|
-
|
2294
|
+
<fo:block-container margin-left="0mm">
|
2295
|
+
<xsl:if test="parent::*[local-name() = 'note']">
|
2296
|
+
<xsl:attribute name="margin-left">
|
2297
|
+
<xsl:choose>
|
2298
|
+
<xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
|
2299
|
+
<xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
|
2300
|
+
</xsl:choose>
|
2301
|
+
</xsl:attribute>
|
2003
2302
|
|
2303
|
+
</xsl:if>
|
2304
|
+
<fo:block-container margin-left="0mm">
|
2305
|
+
|
2306
|
+
<xsl:variable name="parent" select="local-name(..)"/>
|
2004
2307
|
|
2308
|
+
<xsl:variable name="key_iso">
|
2309
|
+
<!-- and (not(../@class) or ../@class !='pseudocode') -->
|
2310
|
+
</xsl:variable>
|
2005
2311
|
|
2006
|
-
|
2312
|
+
<xsl:choose>
|
2313
|
+
<xsl:when test="$parent = 'formula' and count(*[local-name()='dt']) = 1"> <!-- only one component -->
|
2314
|
+
|
2315
|
+
|
2316
|
+
<fo:block margin-bottom="12pt" text-align="left">
|
2317
|
+
|
2318
|
+
<xsl:variable name="title-where">
|
2319
|
+
<xsl:call-template name="getTitle">
|
2320
|
+
<xsl:with-param name="name" select="'title-where'"/>
|
2321
|
+
</xsl:call-template>
|
2322
|
+
</xsl:variable>
|
2323
|
+
<xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
|
2324
|
+
<xsl:apply-templates select="*[local-name()='dt']/*"/>
|
2325
|
+
<xsl:text/>
|
2326
|
+
<xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
|
2327
|
+
</fo:block>
|
2328
|
+
|
2329
|
+
</xsl:when>
|
2330
|
+
<xsl:when test="$parent = 'formula'"> <!-- a few components -->
|
2331
|
+
<fo:block margin-bottom="12pt" text-align="left">
|
2332
|
+
|
2333
|
+
|
2334
|
+
|
2335
|
+
|
2336
|
+
<xsl:variable name="title-where">
|
2337
|
+
<xsl:call-template name="getTitle">
|
2338
|
+
<xsl:with-param name="name" select="'title-where'"/>
|
2339
|
+
</xsl:call-template>
|
2340
|
+
</xsl:variable>
|
2341
|
+
<xsl:value-of select="$title-where"/>
|
2342
|
+
</fo:block>
|
2343
|
+
</xsl:when>
|
2344
|
+
<xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')">
|
2345
|
+
<fo:block font-weight="bold" text-align="left" margin-bottom="12pt" keep-with-next="always">
|
2346
|
+
|
2347
|
+
|
2348
|
+
|
2349
|
+
<xsl:variable name="title-key">
|
2350
|
+
<xsl:call-template name="getTitle">
|
2351
|
+
<xsl:with-param name="name" select="'title-key'"/>
|
2352
|
+
</xsl:call-template>
|
2353
|
+
</xsl:variable>
|
2354
|
+
<xsl:value-of select="$title-key"/>
|
2355
|
+
</fo:block>
|
2356
|
+
</xsl:when>
|
2357
|
+
</xsl:choose>
|
2007
2358
|
|
2008
|
-
|
2009
|
-
|
2010
|
-
|
2011
|
-
|
2012
|
-
<xsl:attribute name="margin-left">-3.5mm</xsl:attribute>
|
2013
|
-
|
2014
|
-
|
2015
|
-
<fo:table width="95%" table-layout="fixed">
|
2359
|
+
<!-- a few components -->
|
2360
|
+
<xsl:if test="not($parent = 'formula' and count(*[local-name()='dt']) = 1)">
|
2361
|
+
<fo:block>
|
2016
2362
|
|
2017
|
-
|
2018
|
-
|
2019
|
-
|
2020
|
-
</xsl:
|
2021
|
-
|
2022
|
-
|
2363
|
+
|
2364
|
+
|
2365
|
+
|
2366
|
+
<xsl:attribute name="margin-left">7mm</xsl:attribute>
|
2367
|
+
|
2368
|
+
<fo:block>
|
2369
|
+
|
2370
|
+
|
2371
|
+
|
2372
|
+
<xsl:attribute name="margin-left">-3.5mm</xsl:attribute>
|
2373
|
+
|
2374
|
+
|
2375
|
+
<fo:table width="95%" table-layout="fixed">
|
2023
2376
|
|
2024
|
-
|
2025
|
-
|
2026
|
-
|
2027
|
-
|
2028
|
-
|
2029
|
-
|
2030
|
-
|
2031
|
-
|
2032
|
-
</
|
2033
|
-
|
2034
|
-
|
2035
|
-
|
2036
|
-
|
2037
|
-
|
2038
|
-
|
2039
|
-
|
2040
|
-
|
2041
|
-
|
2042
|
-
|
2043
|
-
|
2044
|
-
|
2045
|
-
|
2046
|
-
|
2047
|
-
|
2048
|
-
|
2049
|
-
|
2050
|
-
|
2051
|
-
|
2052
|
-
|
2053
|
-
|
2054
|
-
|
2055
|
-
|
2056
|
-
|
2057
|
-
|
2058
|
-
|
2377
|
+
<xsl:choose>
|
2378
|
+
<xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'">
|
2379
|
+
<!-- <xsl:attribute name="font-size">11pt</xsl:attribute> -->
|
2380
|
+
</xsl:when>
|
2381
|
+
<xsl:when test="normalize-space($key_iso) = 'true'">
|
2382
|
+
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
2383
|
+
|
2384
|
+
</xsl:when>
|
2385
|
+
</xsl:choose>
|
2386
|
+
<!-- create virtual html table for dl/[dt and dd] -->
|
2387
|
+
<xsl:variable name="html-table">
|
2388
|
+
<xsl:variable name="doc_ns">
|
2389
|
+
|
2390
|
+
</xsl:variable>
|
2391
|
+
<xsl:variable name="ns">
|
2392
|
+
<xsl:choose>
|
2393
|
+
<xsl:when test="normalize-space($doc_ns) != ''">
|
2394
|
+
<xsl:value-of select="normalize-space($doc_ns)"/>
|
2395
|
+
</xsl:when>
|
2396
|
+
<xsl:otherwise>
|
2397
|
+
<xsl:value-of select="substring-before(name(/*), '-')"/>
|
2398
|
+
</xsl:otherwise>
|
2399
|
+
</xsl:choose>
|
2400
|
+
</xsl:variable>
|
2401
|
+
<!-- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> -->
|
2402
|
+
<xsl:element name="{$ns}:table">
|
2403
|
+
<tbody>
|
2404
|
+
<xsl:apply-templates mode="dl"/>
|
2405
|
+
</tbody>
|
2406
|
+
</xsl:element>
|
2407
|
+
</xsl:variable>
|
2408
|
+
<!-- html-table<xsl:copy-of select="$html-table"/> -->
|
2409
|
+
<xsl:variable name="colwidths">
|
2410
|
+
<xsl:call-template name="calculate-column-widths">
|
2411
|
+
<xsl:with-param name="cols-count" select="2"/>
|
2412
|
+
<xsl:with-param name="table" select="$html-table"/>
|
2413
|
+
</xsl:call-template>
|
2414
|
+
</xsl:variable>
|
2415
|
+
<!-- colwidths=<xsl:value-of select="$colwidths"/> -->
|
2416
|
+
<xsl:variable name="maxlength_dt">
|
2417
|
+
<xsl:call-template name="getMaxLength_dt"/>
|
2418
|
+
</xsl:variable>
|
2419
|
+
<xsl:call-template name="setColumnWidth_dl">
|
2420
|
+
<xsl:with-param name="colwidths" select="$colwidths"/>
|
2421
|
+
<xsl:with-param name="maxlength_dt" select="$maxlength_dt"/>
|
2422
|
+
</xsl:call-template>
|
2423
|
+
<fo:table-body>
|
2424
|
+
<xsl:apply-templates>
|
2425
|
+
<xsl:with-param name="key_iso" select="normalize-space($key_iso)"/>
|
2426
|
+
</xsl:apply-templates>
|
2427
|
+
</fo:table-body>
|
2428
|
+
</fo:table>
|
2429
|
+
</fo:block>
|
2430
|
+
</fo:block>
|
2431
|
+
</xsl:if>
|
2432
|
+
</fo:block-container>
|
2433
|
+
</fo:block-container>
|
2059
2434
|
</xsl:template><xsl:template name="setColumnWidth_dl">
|
2060
2435
|
<xsl:param name="colwidths"/>
|
2061
2436
|
<xsl:param name="maxlength_dt"/>
|
@@ -2152,6 +2527,7 @@
|
|
2152
2527
|
<xsl:param name="key_iso"/>
|
2153
2528
|
|
2154
2529
|
<fo:table-row>
|
2530
|
+
|
2155
2531
|
<fo:table-cell>
|
2156
2532
|
|
2157
2533
|
<fo:block margin-top="6pt">
|
@@ -2169,6 +2545,7 @@
|
|
2169
2545
|
|
2170
2546
|
|
2171
2547
|
|
2548
|
+
|
2172
2549
|
<xsl:apply-templates/>
|
2173
2550
|
<!-- <xsl:if test="$namespace = 'gb'">
|
2174
2551
|
<xsl:if test="ancestor::*[local-name()='formula']">
|
@@ -2180,14 +2557,36 @@
|
|
2180
2557
|
<fo:table-cell>
|
2181
2558
|
<fo:block>
|
2182
2559
|
|
2183
|
-
|
2560
|
+
<!-- <xsl:if test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
|
2561
|
+
<xsl:if test="local-name(*[1]) != 'stem'">
|
2562
|
+
<xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
|
2563
|
+
</xsl:if>
|
2564
|
+
</xsl:if> -->
|
2184
2565
|
|
2185
2566
|
<xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
|
2186
2567
|
|
2187
2568
|
</fo:block>
|
2188
2569
|
</fo:table-cell>
|
2189
2570
|
</fo:table-row>
|
2190
|
-
|
2571
|
+
<!-- <xsl:if test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
|
2572
|
+
<xsl:if test="local-name(*[1]) = 'stem'">
|
2573
|
+
<fo:table-row>
|
2574
|
+
<fo:table-cell>
|
2575
|
+
<fo:block margin-top="6pt">
|
2576
|
+
<xsl:if test="normalize-space($key_iso) = 'true'">
|
2577
|
+
<xsl:attribute name="margin-top">0</xsl:attribute>
|
2578
|
+
</xsl:if>
|
2579
|
+
<xsl:text> </xsl:text>
|
2580
|
+
</fo:block>
|
2581
|
+
</fo:table-cell>
|
2582
|
+
<fo:table-cell>
|
2583
|
+
<fo:block>
|
2584
|
+
<xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
|
2585
|
+
</fo:block>
|
2586
|
+
</fo:table-cell>
|
2587
|
+
</fo:table-row>
|
2588
|
+
</xsl:if>
|
2589
|
+
</xsl:if> -->
|
2191
2590
|
</xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
|
2192
2591
|
<xsl:apply-templates/>
|
2193
2592
|
</xsl:template><xsl:template match="*[local-name()='dd']"/><xsl:template match="*[local-name()='dd']" mode="process">
|
@@ -2212,6 +2611,31 @@
|
|
2212
2611
|
</fo:inline>
|
2213
2612
|
</xsl:template><xsl:template match="*[local-name()='tt']">
|
2214
2613
|
<fo:inline xsl:use-attribute-sets="tt-style">
|
2614
|
+
<xsl:variable name="_font-size">
|
2615
|
+
|
2616
|
+
|
2617
|
+
|
2618
|
+
|
2619
|
+
10
|
2620
|
+
|
2621
|
+
|
2622
|
+
|
2623
|
+
|
2624
|
+
|
2625
|
+
|
2626
|
+
|
2627
|
+
|
2628
|
+
|
2629
|
+
</xsl:variable>
|
2630
|
+
<xsl:variable name="font-size" select="normalize-space($_font-size)"/>
|
2631
|
+
<xsl:if test="$font-size != ''">
|
2632
|
+
<xsl:attribute name="font-size">
|
2633
|
+
<xsl:choose>
|
2634
|
+
<xsl:when test="ancestor::*[local-name()='note']"><xsl:value-of select="$font-size * 0.91"/>pt</xsl:when>
|
2635
|
+
<xsl:otherwise><xsl:value-of select="$font-size"/>pt</xsl:otherwise>
|
2636
|
+
</xsl:choose>
|
2637
|
+
</xsl:attribute>
|
2638
|
+
</xsl:if>
|
2215
2639
|
<xsl:apply-templates/>
|
2216
2640
|
</fo:inline>
|
2217
2641
|
</xsl:template><xsl:template match="*[local-name()='del']">
|
@@ -2537,11 +2961,24 @@
|
|
2537
2961
|
<xsl:value-of select="java:toUpperCase(java:java.lang.String.new(substring($str, 1, 1)))"/>
|
2538
2962
|
<xsl:value-of select="substring($str, 2)"/>
|
2539
2963
|
</xsl:template><xsl:template match="mathml:math">
|
2540
|
-
<fo:inline font-family="
|
2541
|
-
<
|
2542
|
-
<xsl:
|
2543
|
-
</
|
2964
|
+
<fo:inline font-family="STIX Two Math"> <!-- -->
|
2965
|
+
<xsl:variable name="mathml">
|
2966
|
+
<xsl:apply-templates select="." mode="mathml"/>
|
2967
|
+
</xsl:variable>
|
2968
|
+
<fo:instream-foreign-object fox:alt-text="Math">
|
2969
|
+
<!-- <xsl:copy-of select="."/> -->
|
2970
|
+
<xsl:copy-of select="xalan:nodeset($mathml)"/>
|
2971
|
+
</fo:instream-foreign-object>
|
2544
2972
|
</fo:inline>
|
2973
|
+
</xsl:template><xsl:template match="@*|node()" mode="mathml">
|
2974
|
+
<xsl:copy>
|
2975
|
+
<xsl:apply-templates select="@*|node()" mode="mathml"/>
|
2976
|
+
</xsl:copy>
|
2977
|
+
</xsl:template><xsl:template match="mathml:mtext" mode="mathml">
|
2978
|
+
<xsl:copy>
|
2979
|
+
<!-- replace start and end spaces to non-break space -->
|
2980
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'(^ )|( $)',' ')"/>
|
2981
|
+
</xsl:copy>
|
2545
2982
|
</xsl:template><xsl:template match="*[local-name()='localityStack']"/><xsl:template match="*[local-name()='link']" name="link">
|
2546
2983
|
<xsl:variable name="target">
|
2547
2984
|
<xsl:choose>
|
@@ -2618,13 +3055,26 @@
|
|
2618
3055
|
<xsl:apply-templates/>
|
2619
3056
|
</xsl:template><xsl:template match="*[local-name() = 'xref']">
|
2620
3057
|
<fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
|
2621
|
-
|
3058
|
+
|
2622
3059
|
<xsl:apply-templates/>
|
2623
3060
|
</fo:basic-link>
|
2624
3061
|
</xsl:template><xsl:template match="*[local-name() = 'formula']" name="formula">
|
2625
|
-
<fo:block
|
2626
|
-
<xsl:
|
2627
|
-
|
3062
|
+
<fo:block-container margin-left="0mm">
|
3063
|
+
<xsl:if test="parent::*[local-name() = 'note']">
|
3064
|
+
<xsl:attribute name="margin-left">
|
3065
|
+
<xsl:choose>
|
3066
|
+
<xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
|
3067
|
+
<xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
|
3068
|
+
</xsl:choose>
|
3069
|
+
</xsl:attribute>
|
3070
|
+
|
3071
|
+
</xsl:if>
|
3072
|
+
<fo:block-container margin-left="0mm">
|
3073
|
+
<fo:block id="{@id}" xsl:use-attribute-sets="formula-style">
|
3074
|
+
<xsl:apply-templates/>
|
3075
|
+
</fo:block>
|
3076
|
+
</fo:block-container>
|
3077
|
+
</fo:block-container>
|
2628
3078
|
</xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'dt']/*[local-name() = 'stem']">
|
2629
3079
|
<fo:inline>
|
2630
3080
|
<xsl:apply-templates/>
|
@@ -2688,7 +3138,9 @@
|
|
2688
3138
|
</xsl:choose>
|
2689
3139
|
</xsl:template><xsl:template match="*[local-name() = 'termnote']">
|
2690
3140
|
<fo:block id="{@id}" xsl:use-attribute-sets="termnote-style">
|
2691
|
-
<xsl:
|
3141
|
+
<fo:inline xsl:use-attribute-sets="termnote-name-style">
|
3142
|
+
<xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
|
3143
|
+
</fo:inline>
|
2692
3144
|
<xsl:apply-templates/>
|
2693
3145
|
</fo:block>
|
2694
3146
|
</xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name'] | *[local-name() = 'termnote']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name']" mode="presentation">
|
@@ -2783,15 +3235,109 @@
|
|
2783
3235
|
|
2784
3236
|
<fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style"/>
|
2785
3237
|
</fo:block>
|
2786
|
-
</xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name']" mode="contents">
|
3238
|
+
</xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name']" mode="contents">
|
2787
3239
|
<xsl:apply-templates mode="contents"/>
|
2788
3240
|
<xsl:text> </xsl:text>
|
2789
|
-
</xsl:template><xsl:template match="
|
3241
|
+
</xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name']" mode="bookmarks">
|
3242
|
+
<xsl:apply-templates mode="bookmarks"/>
|
3243
|
+
<xsl:text> </xsl:text>
|
3244
|
+
</xsl:template><xsl:template match="*[local-name() = 'name']/text()" mode="contents" priority="2">
|
3245
|
+
<xsl:value-of select="."/>
|
3246
|
+
</xsl:template><xsl:template match="*[local-name() = 'name']/text()" mode="bookmarks" priority="2">
|
2790
3247
|
<xsl:value-of select="."/>
|
2791
|
-
</xsl:template><xsl:template match="
|
3248
|
+
</xsl:template><xsl:template match="node()" mode="contents">
|
3249
|
+
<xsl:apply-templates mode="contents"/>
|
3250
|
+
</xsl:template><xsl:template match="node()" mode="bookmarks">
|
3251
|
+
<xsl:apply-templates mode="bookmarks"/>
|
3252
|
+
</xsl:template><xsl:template match="*[local-name() = 'stem']" mode="contents">
|
3253
|
+
<xsl:apply-templates select="."/>
|
3254
|
+
</xsl:template><xsl:template match="*[local-name() = 'stem']" mode="bookmarks">
|
3255
|
+
<xsl:apply-templates mode="bookmarks"/>
|
3256
|
+
</xsl:template><xsl:template name="addBookmarks">
|
3257
|
+
<xsl:param name="contents"/>
|
3258
|
+
<xsl:if test="xalan:nodeset($contents)//item">
|
3259
|
+
<fo:bookmark-tree>
|
3260
|
+
<xsl:choose>
|
3261
|
+
<xsl:when test="xalan:nodeset($contents)/doc">
|
3262
|
+
<xsl:choose>
|
3263
|
+
<xsl:when test="count(xalan:nodeset($contents)/doc) > 1">
|
3264
|
+
<xsl:for-each select="xalan:nodeset($contents)/doc">
|
3265
|
+
<fo:bookmark internal-destination="{contents/item[1]/@id}" starting-state="hide">
|
3266
|
+
<fo:bookmark-title>
|
3267
|
+
<xsl:variable name="bookmark-title_">
|
3268
|
+
<xsl:call-template name="getLangVersion">
|
3269
|
+
<xsl:with-param name="lang" select="@lang"/>
|
3270
|
+
</xsl:call-template>
|
3271
|
+
</xsl:variable>
|
3272
|
+
<xsl:choose>
|
3273
|
+
<xsl:when test="normalize-space($bookmark-title_) != ''">
|
3274
|
+
<xsl:value-of select="normalize-space($bookmark-title_)"/>
|
3275
|
+
</xsl:when>
|
3276
|
+
<xsl:otherwise>
|
3277
|
+
<xsl:choose>
|
3278
|
+
<xsl:when test="@lang = 'en'">English</xsl:when>
|
3279
|
+
<xsl:when test="@lang = 'fr'">Français</xsl:when>
|
3280
|
+
<xsl:when test="@lang = 'de'">Deutsche</xsl:when>
|
3281
|
+
<xsl:otherwise><xsl:value-of select="@lang"/> version</xsl:otherwise>
|
3282
|
+
</xsl:choose>
|
3283
|
+
</xsl:otherwise>
|
3284
|
+
</xsl:choose>
|
3285
|
+
</fo:bookmark-title>
|
3286
|
+
<xsl:apply-templates select="contents/item" mode="bookmark"/>
|
3287
|
+
</fo:bookmark>
|
3288
|
+
|
3289
|
+
</xsl:for-each>
|
3290
|
+
</xsl:when>
|
3291
|
+
<xsl:otherwise>
|
3292
|
+
<xsl:for-each select="xalan:nodeset($contents)/doc">
|
3293
|
+
<xsl:apply-templates select="contents/item" mode="bookmark"/>
|
3294
|
+
</xsl:for-each>
|
3295
|
+
</xsl:otherwise>
|
3296
|
+
</xsl:choose>
|
3297
|
+
</xsl:when>
|
3298
|
+
<xsl:otherwise>
|
3299
|
+
<xsl:apply-templates select="xalan:nodeset($contents)/contents/item" mode="bookmark"/>
|
3300
|
+
</xsl:otherwise>
|
3301
|
+
</xsl:choose>
|
3302
|
+
|
3303
|
+
|
3304
|
+
|
3305
|
+
|
3306
|
+
|
3307
|
+
|
3308
|
+
|
3309
|
+
|
3310
|
+
</fo:bookmark-tree>
|
3311
|
+
</xsl:if>
|
3312
|
+
</xsl:template><xsl:template name="getLangVersion">
|
3313
|
+
<xsl:param name="lang"/>
|
3314
|
+
<xsl:choose>
|
3315
|
+
<xsl:when test="$lang = 'en'">
|
3316
|
+
|
3317
|
+
|
3318
|
+
</xsl:when>
|
3319
|
+
<xsl:when test="$lang = 'fr'">
|
3320
|
+
|
3321
|
+
|
3322
|
+
</xsl:when>
|
3323
|
+
<xsl:when test="$lang = 'de'">Deutsche</xsl:when>
|
3324
|
+
<xsl:otherwise><xsl:value-of select="$lang"/> version</xsl:otherwise>
|
3325
|
+
</xsl:choose>
|
3326
|
+
</xsl:template><xsl:template match="item" mode="bookmark">
|
3327
|
+
<fo:bookmark internal-destination="{@id}" starting-state="hide">
|
3328
|
+
<fo:bookmark-title>
|
3329
|
+
<xsl:if test="@section != ''">
|
3330
|
+
<xsl:value-of select="@section"/>
|
3331
|
+
<xsl:text> </xsl:text>
|
3332
|
+
</xsl:if>
|
3333
|
+
<xsl:value-of select="normalize-space(title)"/>
|
3334
|
+
</fo:bookmark-title>
|
3335
|
+
<xsl:apply-templates mode="bookmark"/>
|
3336
|
+
</fo:bookmark>
|
3337
|
+
</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">
|
2792
3338
|
<xsl:if test="normalize-space() != ''">
|
2793
3339
|
<fo:block xsl:use-attribute-sets="figure-name-style">
|
2794
|
-
|
3340
|
+
|
2795
3341
|
<xsl:apply-templates/>
|
2796
3342
|
</fo:block>
|
2797
3343
|
</xsl:if>
|
@@ -2846,7 +3392,7 @@
|
|
2846
3392
|
<xsl:apply-templates/>
|
2847
3393
|
</xsl:otherwise>
|
2848
3394
|
</xsl:choose>
|
2849
|
-
</xsl:template><xsl:template match="*[local-name() = 'fn']" mode="contents"/><xsl:template match="*[local-name() = 'fn']" mode="contents_item"/><xsl:template match="*[local-name() = 'tab']" mode="contents_item">
|
3395
|
+
</xsl:template><xsl:template match="*[local-name() = 'fn']" mode="contents"/><xsl:template match="*[local-name() = 'fn']" mode="bookmarks"/><xsl:template match="*[local-name() = 'fn']" mode="contents_item"/><xsl:template match="*[local-name() = 'tab']" mode="contents_item">
|
2850
3396
|
<xsl:text> </xsl:text>
|
2851
3397
|
</xsl:template><xsl:template match="*[local-name() = 'strong']" mode="contents_item">
|
2852
3398
|
<xsl:copy>
|
@@ -2855,21 +3401,61 @@
|
|
2855
3401
|
</xsl:template><xsl:template match="*[local-name() = 'br']" mode="contents_item">
|
2856
3402
|
<xsl:text> </xsl:text>
|
2857
3403
|
</xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
|
2858
|
-
|
2859
|
-
|
2860
|
-
|
2861
|
-
|
2862
|
-
|
3404
|
+
|
3405
|
+
<fo:block-container margin-left="0mm">
|
3406
|
+
<xsl:if test="parent::*[local-name() = 'note']">
|
3407
|
+
<xsl:attribute name="margin-left">
|
3408
|
+
<xsl:choose>
|
3409
|
+
<xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
|
3410
|
+
<xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
|
3411
|
+
</xsl:choose>
|
3412
|
+
</xsl:attribute>
|
3413
|
+
|
3414
|
+
</xsl:if>
|
3415
|
+
<fo:block-container margin-left="0mm">
|
3416
|
+
|
3417
|
+
<fo:block xsl:use-attribute-sets="sourcecode-style">
|
3418
|
+
<xsl:variable name="_font-size">
|
3419
|
+
|
3420
|
+
|
3421
|
+
|
3422
|
+
|
3423
|
+
10
|
3424
|
+
|
3425
|
+
|
3426
|
+
|
3427
|
+
|
3428
|
+
|
3429
|
+
|
3430
|
+
|
3431
|
+
|
3432
|
+
|
3433
|
+
</xsl:variable>
|
3434
|
+
<xsl:variable name="font-size" select="normalize-space($_font-size)"/>
|
3435
|
+
<xsl:if test="$font-size != ''">
|
3436
|
+
<xsl:attribute name="font-size">
|
3437
|
+
<xsl:choose>
|
3438
|
+
<xsl:when test="ancestor::*[local-name()='note']"><xsl:value-of select="$font-size * 0.91"/>pt</xsl:when>
|
3439
|
+
<xsl:otherwise><xsl:value-of select="$font-size"/>pt</xsl:otherwise>
|
3440
|
+
</xsl:choose>
|
3441
|
+
</xsl:attribute>
|
3442
|
+
</xsl:if>
|
3443
|
+
<xsl:apply-templates/>
|
3444
|
+
</fo:block>
|
3445
|
+
<xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
|
3446
|
+
|
3447
|
+
</fo:block-container>
|
3448
|
+
</fo:block-container>
|
3449
|
+
</xsl:template><xsl:template match="*[local-name()='sourcecode']/text()" priority="2">
|
2863
3450
|
<xsl:variable name="text">
|
2864
3451
|
<xsl:call-template name="add-zero-spaces-equal"/>
|
2865
3452
|
</xsl:variable>
|
2866
|
-
<xsl:call-template name="add-zero-spaces">
|
3453
|
+
<xsl:call-template name="add-zero-spaces-java">
|
2867
3454
|
<xsl:with-param name="text" select="$text"/>
|
2868
3455
|
</xsl:call-template>
|
2869
3456
|
</xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']" mode="presentation">
|
2870
3457
|
<xsl:if test="normalize-space() != ''">
|
2871
|
-
<fo:block xsl:use-attribute-sets="sourcecode-name-style">
|
2872
|
-
|
3458
|
+
<fo:block xsl:use-attribute-sets="sourcecode-name-style">
|
2873
3459
|
<xsl:apply-templates/>
|
2874
3460
|
</fo:block>
|
2875
3461
|
</xsl:if>
|
@@ -2937,6 +3523,145 @@
|
|
2937
3523
|
<fo:block xsl:use-attribute-sets="recommendation-label-style">
|
2938
3524
|
<xsl:apply-templates/>
|
2939
3525
|
</fo:block>
|
3526
|
+
</xsl:template><xsl:template match="*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
|
3527
|
+
<fo:block-container margin-left="0mm" margin-right="0mm" margin-bottom="12pt">
|
3528
|
+
<xsl:if test="ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
|
3529
|
+
<xsl:attribute name="margin-bottom">0pt</xsl:attribute>
|
3530
|
+
</xsl:if>
|
3531
|
+
<fo:block-container margin-left="0mm" margin-right="0mm">
|
3532
|
+
<fo:table id="{@id}" table-layout="fixed" width="100%"> <!-- border="1pt solid black" -->
|
3533
|
+
<xsl:if test="ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
|
3534
|
+
<!-- <xsl:attribute name="border">0.5pt solid black</xsl:attribute> -->
|
3535
|
+
</xsl:if>
|
3536
|
+
<xsl:variable name="simple-table">
|
3537
|
+
<xsl:call-template name="getSimpleTable"/>
|
3538
|
+
</xsl:variable>
|
3539
|
+
<xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
|
3540
|
+
<xsl:if test="$cols-count = 2 and not(ancestor::*[local-name()='table'])">
|
3541
|
+
<!-- <fo:table-column column-width="35mm"/>
|
3542
|
+
<fo:table-column column-width="115mm"/> -->
|
3543
|
+
<fo:table-column column-width="30%"/>
|
3544
|
+
<fo:table-column column-width="70%"/>
|
3545
|
+
</xsl:if>
|
3546
|
+
<xsl:apply-templates mode="requirement"/>
|
3547
|
+
</fo:table>
|
3548
|
+
<!-- fn processing -->
|
3549
|
+
<xsl:if test=".//*[local-name() = 'fn']">
|
3550
|
+
<xsl:for-each select="*[local-name() = 'tbody']">
|
3551
|
+
<fo:block font-size="90%" border-bottom="1pt solid black">
|
3552
|
+
<xsl:call-template name="fn_display"/>
|
3553
|
+
</fo:block>
|
3554
|
+
</xsl:for-each>
|
3555
|
+
</xsl:if>
|
3556
|
+
</fo:block-container>
|
3557
|
+
</fo:block-container>
|
3558
|
+
</xsl:template><xsl:template match="*[local-name()='thead']" mode="requirement">
|
3559
|
+
<fo:table-header>
|
3560
|
+
<xsl:apply-templates mode="requirement"/>
|
3561
|
+
</fo:table-header>
|
3562
|
+
</xsl:template><xsl:template match="*[local-name()='tbody']" mode="requirement">
|
3563
|
+
<fo:table-body>
|
3564
|
+
<xsl:apply-templates mode="requirement"/>
|
3565
|
+
</fo:table-body>
|
3566
|
+
</xsl:template><xsl:template match="*[local-name()='tr']" mode="requirement">
|
3567
|
+
<fo:table-row height="7mm" border-bottom="0.5pt solid grey">
|
3568
|
+
<xsl:if test="parent::*[local-name()='thead']"> <!-- and not(ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']) -->
|
3569
|
+
<!-- <xsl:attribute name="border">1pt solid black</xsl:attribute> -->
|
3570
|
+
<xsl:attribute name="background-color">rgb(33, 55, 92)</xsl:attribute>
|
3571
|
+
</xsl:if>
|
3572
|
+
<xsl:if test="starts-with(*[local-name()='td'][1], 'Requirement ')">
|
3573
|
+
<xsl:attribute name="background-color">rgb(252, 246, 222)</xsl:attribute>
|
3574
|
+
</xsl:if>
|
3575
|
+
<xsl:if test="starts-with(*[local-name()='td'][1], 'Recommendation ')">
|
3576
|
+
<xsl:attribute name="background-color">rgb(233, 235, 239)</xsl:attribute>
|
3577
|
+
</xsl:if>
|
3578
|
+
<xsl:apply-templates mode="requirement"/>
|
3579
|
+
</fo:table-row>
|
3580
|
+
</xsl:template><xsl:template match="*[local-name()='th']" mode="requirement">
|
3581
|
+
<fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm"> <!-- border="0.5pt solid black" -->
|
3582
|
+
<xsl:attribute name="text-align">
|
3583
|
+
<xsl:choose>
|
3584
|
+
<xsl:when test="@align">
|
3585
|
+
<xsl:value-of select="@align"/>
|
3586
|
+
</xsl:when>
|
3587
|
+
<xsl:otherwise>left</xsl:otherwise>
|
3588
|
+
</xsl:choose>
|
3589
|
+
</xsl:attribute>
|
3590
|
+
<xsl:if test="@colspan">
|
3591
|
+
<xsl:attribute name="number-columns-spanned">
|
3592
|
+
<xsl:value-of select="@colspan"/>
|
3593
|
+
</xsl:attribute>
|
3594
|
+
</xsl:if>
|
3595
|
+
<xsl:if test="@rowspan">
|
3596
|
+
<xsl:attribute name="number-rows-spanned">
|
3597
|
+
<xsl:value-of select="@rowspan"/>
|
3598
|
+
</xsl:attribute>
|
3599
|
+
</xsl:if>
|
3600
|
+
<xsl:call-template name="display-align"/>
|
3601
|
+
|
3602
|
+
<!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
|
3603
|
+
<xsl:attribute name="padding-top">0.5mm</xsl:attribute>
|
3604
|
+
<xsl:attribute name="background-color">rgb(165, 165, 165)</xsl:attribute>
|
3605
|
+
</xsl:if>
|
3606
|
+
<xsl:if test="ancestor::*[local-name()='table']/@type = 'recommendtest'">
|
3607
|
+
<xsl:attribute name="padding-top">0.5mm</xsl:attribute>
|
3608
|
+
<xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
|
3609
|
+
</xsl:if> -->
|
3610
|
+
|
3611
|
+
<fo:block>
|
3612
|
+
<xsl:apply-templates/>
|
3613
|
+
</fo:block>
|
3614
|
+
</fo:table-cell>
|
3615
|
+
</xsl:template><xsl:template match="*[local-name()='td']" mode="requirement">
|
3616
|
+
<fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm"> <!-- border="0.5pt solid black" -->
|
3617
|
+
<xsl:if test="*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
|
3618
|
+
<xsl:attribute name="padding">0mm</xsl:attribute>
|
3619
|
+
<xsl:attribute name="padding-left">0mm</xsl:attribute>
|
3620
|
+
</xsl:if>
|
3621
|
+
<xsl:attribute name="text-align">
|
3622
|
+
<xsl:choose>
|
3623
|
+
<xsl:when test="@align">
|
3624
|
+
<xsl:value-of select="@align"/>
|
3625
|
+
</xsl:when>
|
3626
|
+
<xsl:otherwise>left</xsl:otherwise>
|
3627
|
+
</xsl:choose>
|
3628
|
+
</xsl:attribute>
|
3629
|
+
<xsl:if test="following-sibling::*[local-name()='td'] and not(preceding-sibling::*[local-name()='td'])">
|
3630
|
+
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
3631
|
+
</xsl:if>
|
3632
|
+
<xsl:if test="@colspan">
|
3633
|
+
<xsl:attribute name="number-columns-spanned">
|
3634
|
+
<xsl:value-of select="@colspan"/>
|
3635
|
+
</xsl:attribute>
|
3636
|
+
</xsl:if>
|
3637
|
+
<xsl:if test="@rowspan">
|
3638
|
+
<xsl:attribute name="number-rows-spanned">
|
3639
|
+
<xsl:value-of select="@rowspan"/>
|
3640
|
+
</xsl:attribute>
|
3641
|
+
</xsl:if>
|
3642
|
+
<xsl:call-template name="display-align"/>
|
3643
|
+
|
3644
|
+
<!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
|
3645
|
+
<xsl:attribute name="padding-left">0.5mm</xsl:attribute>
|
3646
|
+
<xsl:attribute name="padding-top">0.5mm</xsl:attribute>
|
3647
|
+
<xsl:if test="parent::*[local-name()='tr']/preceding-sibling::*[local-name()='tr'] and not(*[local-name()='table'])">
|
3648
|
+
<xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
|
3649
|
+
</xsl:if>
|
3650
|
+
</xsl:if> -->
|
3651
|
+
<!-- 2nd line and below -->
|
3652
|
+
|
3653
|
+
<fo:block>
|
3654
|
+
<xsl:apply-templates/>
|
3655
|
+
</fo:block>
|
3656
|
+
</fo:table-cell>
|
3657
|
+
</xsl:template><xsl:template match="*[local-name() = 'p'][@class='RecommendationTitle' or @class = 'RecommendationTestTitle']" priority="2">
|
3658
|
+
<fo:block font-size="11pt" color="rgb(237, 193, 35)"> <!-- font-weight="bold" margin-bottom="4pt" text-align="center" -->
|
3659
|
+
<xsl:apply-templates/>
|
3660
|
+
</fo:block>
|
3661
|
+
</xsl:template><xsl:template match="*[local-name() = 'p2'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
|
3662
|
+
<fo:block> <!-- margin-bottom="10pt" -->
|
3663
|
+
<xsl:apply-templates/>
|
3664
|
+
</fo:block>
|
2940
3665
|
</xsl:template><xsl:template match="*[local-name() = 'termexample']">
|
2941
3666
|
<fo:block id="{@id}" xsl:use-attribute-sets="termexample-style">
|
2942
3667
|
<xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
|
@@ -2956,12 +3681,13 @@
|
|
2956
3681
|
<xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
|
2957
3682
|
|
2958
3683
|
<xsl:variable name="element">
|
2959
|
-
block
|
3684
|
+
block
|
2960
3685
|
|
3686
|
+
<xsl:if test=".//*[local-name() = 'table']">block</xsl:if>
|
2961
3687
|
</xsl:variable>
|
2962
3688
|
|
2963
3689
|
<xsl:choose>
|
2964
|
-
<xsl:when test="normalize-space($element)
|
3690
|
+
<xsl:when test="contains(normalize-space($element), 'block')">
|
2965
3691
|
<fo:block xsl:use-attribute-sets="example-body-style">
|
2966
3692
|
<xsl:apply-templates/>
|
2967
3693
|
</fo:block>
|
@@ -2998,25 +3724,44 @@
|
|
2998
3724
|
</xsl:otherwise>
|
2999
3725
|
</xsl:choose>
|
3000
3726
|
|
3001
|
-
</xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
|
3002
|
-
|
3727
|
+
</xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
|
3728
|
+
|
3729
|
+
<xsl:variable name="element">
|
3730
|
+
block
|
3003
3731
|
|
3004
|
-
|
3005
|
-
|
3732
|
+
</xsl:variable>
|
3733
|
+
<xsl:choose>
|
3734
|
+
<xsl:when test="normalize-space($element) = 'block'">
|
3735
|
+
<fo:block xsl:use-attribute-sets="example-p-style">
|
3736
|
+
|
3737
|
+
<xsl:apply-templates/>
|
3738
|
+
</fo:block>
|
3739
|
+
</xsl:when>
|
3740
|
+
<xsl:otherwise>
|
3741
|
+
<fo:inline xsl:use-attribute-sets="example-p-style">
|
3742
|
+
<xsl:apply-templates/>
|
3743
|
+
</fo:inline>
|
3744
|
+
</xsl:otherwise>
|
3745
|
+
</xsl:choose>
|
3006
3746
|
</xsl:template><xsl:template match="*[local-name() = 'termsource']">
|
3007
3747
|
<fo:block xsl:use-attribute-sets="termsource-style">
|
3008
3748
|
<!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
|
3009
3749
|
<xsl:variable name="termsource_text">
|
3010
3750
|
<xsl:apply-templates/>
|
3011
3751
|
</xsl:variable>
|
3752
|
+
|
3012
3753
|
<xsl:choose>
|
3013
3754
|
<xsl:when test="starts-with(normalize-space($termsource_text), '[')">
|
3014
3755
|
<xsl:apply-templates/>
|
3015
3756
|
</xsl:when>
|
3016
|
-
<xsl:otherwise>
|
3017
|
-
|
3018
|
-
|
3019
|
-
|
3757
|
+
<xsl:otherwise>
|
3758
|
+
|
3759
|
+
<xsl:text>[</xsl:text>
|
3760
|
+
|
3761
|
+
<xsl:apply-templates/>
|
3762
|
+
|
3763
|
+
<xsl:text>]</xsl:text>
|
3764
|
+
|
3020
3765
|
</xsl:otherwise>
|
3021
3766
|
</xsl:choose>
|
3022
3767
|
</fo:block>
|
@@ -3027,10 +3772,13 @@
|
|
3027
3772
|
</xsl:template><xsl:template match="*[local-name() = 'origin']">
|
3028
3773
|
<fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
|
3029
3774
|
|
3030
|
-
<
|
3031
|
-
|
3032
|
-
|
3033
|
-
|
3775
|
+
<fo:inline>
|
3776
|
+
|
3777
|
+
<xsl:call-template name="getTitle">
|
3778
|
+
<xsl:with-param name="name" select="'title-source'"/>
|
3779
|
+
</xsl:call-template>
|
3780
|
+
<xsl:text>: </xsl:text>
|
3781
|
+
</fo:inline>
|
3034
3782
|
|
3035
3783
|
<fo:inline xsl:use-attribute-sets="origin-style">
|
3036
3784
|
<xsl:apply-templates/>
|
@@ -3042,18 +3790,29 @@
|
|
3042
3790
|
<xsl:if test="normalize-space() != ''">
|
3043
3791
|
<xsl:value-of select="."/>
|
3044
3792
|
</xsl:if>
|
3045
|
-
</xsl:template><xsl:template match="*[local-name() = 'quote']">
|
3793
|
+
</xsl:template><xsl:template match="*[local-name() = 'quote']">
|
3794
|
+
<fo:block-container margin-left="0mm">
|
3795
|
+
<xsl:if test="parent::*[local-name() = 'note']">
|
3796
|
+
<xsl:if test="not(ancestor::*[local-name() = 'table'])">
|
3797
|
+
<xsl:attribute name="margin-left">5mm</xsl:attribute>
|
3798
|
+
</xsl:if>
|
3799
|
+
</xsl:if>
|
3800
|
+
|
3801
|
+
<fo:block-container margin-left="0mm">
|
3046
3802
|
|
3047
|
-
|
3048
|
-
|
3049
|
-
|
3050
|
-
|
3051
|
-
|
3052
|
-
|
3053
|
-
|
3054
|
-
|
3055
|
-
|
3056
|
-
|
3803
|
+
<fo:block xsl:use-attribute-sets="quote-style">
|
3804
|
+
<xsl:apply-templates select=".//*[local-name() = 'p']"/>
|
3805
|
+
</fo:block>
|
3806
|
+
<xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
|
3807
|
+
<fo:block xsl:use-attribute-sets="quote-source-style">
|
3808
|
+
<!-- — ISO, ISO 7301:2011, Clause 1 -->
|
3809
|
+
<xsl:apply-templates select="*[local-name() = 'author']"/>
|
3810
|
+
<xsl:apply-templates select="*[local-name() = 'source']"/>
|
3811
|
+
</fo:block>
|
3812
|
+
</xsl:if>
|
3813
|
+
|
3814
|
+
</fo:block-container>
|
3815
|
+
</fo:block-container>
|
3057
3816
|
</xsl:template><xsl:template match="*[local-name() = 'source']">
|
3058
3817
|
<xsl:if test="../*[local-name() = 'author']">
|
3059
3818
|
<xsl:text>, </xsl:text>
|
@@ -3084,6 +3843,7 @@
|
|
3084
3843
|
<xsl:attribute name="text-decoration">underline</xsl:attribute>
|
3085
3844
|
|
3086
3845
|
|
3846
|
+
|
3087
3847
|
</xsl:if>
|
3088
3848
|
|
3089
3849
|
|
@@ -3122,6 +3882,7 @@
|
|
3122
3882
|
|
3123
3883
|
|
3124
3884
|
|
3885
|
+
|
3125
3886
|
</xsl:variable>
|
3126
3887
|
|
3127
3888
|
<xsl:variable name="padding-right">
|
@@ -3212,13 +3973,14 @@
|
|
3212
3973
|
</xsl:template><xsl:template match="*[local-name() = 'clause']">
|
3213
3974
|
<fo:block>
|
3214
3975
|
<xsl:call-template name="setId"/>
|
3976
|
+
|
3215
3977
|
<xsl:apply-templates/>
|
3216
3978
|
</fo:block>
|
3217
3979
|
</xsl:template><xsl:template match="*[local-name() = 'definitions']">
|
3218
3980
|
<fo:block id="{@id}">
|
3219
3981
|
<xsl:apply-templates/>
|
3220
3982
|
</fo:block>
|
3221
|
-
</xsl:template><xsl:template match="/*/*[local-name() = 'bibliography']/*[local-name() = 'references'][@
|
3983
|
+
</xsl:template><xsl:template match="/*/*[local-name() = 'bibliography']/*[local-name() = 'references'][@normative='true']">
|
3222
3984
|
|
3223
3985
|
<fo:block id="{@id}">
|
3224
3986
|
<xsl:apply-templates/>
|
@@ -3236,6 +3998,31 @@
|
|
3236
3998
|
</xsl:template><xsl:template match="*[local-name() = 'name']/text()">
|
3237
3999
|
<!-- 0xA0 to space replacement -->
|
3238
4000
|
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
|
4001
|
+
</xsl:template><xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
|
4002
|
+
<xsl:choose>
|
4003
|
+
<xsl:when test="parent::*[local-name() = 'note']">
|
4004
|
+
<fo:block-container>
|
4005
|
+
<xsl:attribute name="margin-left">
|
4006
|
+
<xsl:choose>
|
4007
|
+
<xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
|
4008
|
+
<xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
|
4009
|
+
</xsl:choose>
|
4010
|
+
</xsl:attribute>
|
4011
|
+
|
4012
|
+
|
4013
|
+
<fo:block-container margin-left="0mm">
|
4014
|
+
<fo:block>
|
4015
|
+
<xsl:apply-templates select="." mode="ul_ol"/>
|
4016
|
+
</fo:block>
|
4017
|
+
</fo:block-container>
|
4018
|
+
</fo:block-container>
|
4019
|
+
</xsl:when>
|
4020
|
+
<xsl:otherwise>
|
4021
|
+
<fo:block>
|
4022
|
+
<xsl:apply-templates select="." mode="ul_ol"/>
|
4023
|
+
</fo:block>
|
4024
|
+
</xsl:otherwise>
|
4025
|
+
</xsl:choose>
|
3239
4026
|
</xsl:template><xsl:template match="*[local-name() = 'errata']">
|
3240
4027
|
<!-- <row>
|
3241
4028
|
<date>05-07-2013</date>
|
@@ -3267,6 +4054,164 @@
|
|
3267
4054
|
<fo:table-cell border="1pt solid black" padding-left="1mm" padding-top="0.5mm">
|
3268
4055
|
<fo:block><xsl:apply-templates/></fo:block>
|
3269
4056
|
</fo:table-cell>
|
4057
|
+
</xsl:template><xsl:template name="processBibitem">
|
4058
|
+
|
4059
|
+
|
4060
|
+
|
4061
|
+
|
4062
|
+
<!-- start IHO bibtem processing -->
|
4063
|
+
<xsl:choose>
|
4064
|
+
<xsl:when test="iho:formattedref">
|
4065
|
+
<xsl:apply-templates select="iho:formattedref"/>
|
4066
|
+
</xsl:when>
|
4067
|
+
<xsl:otherwise>
|
4068
|
+
<xsl:choose>
|
4069
|
+
<!-- IHO documents -->
|
4070
|
+
<!-- {docID} edition {edition}: {title}, {author/organization} -->
|
4071
|
+
<xsl:when test="iho:docidentifier[1]/@type='IHO'">
|
4072
|
+
<xsl:value-of select="iho:docidentifier[1]"/>
|
4073
|
+
<xsl:apply-templates select="iho:edition"/>
|
4074
|
+
<xsl:if test="iho:title or iho:contributor or iho:url">
|
4075
|
+
<xsl:text>: </xsl:text>
|
4076
|
+
</xsl:if>
|
4077
|
+
</xsl:when>
|
4078
|
+
|
4079
|
+
<!-- Non-IHO documents -->
|
4080
|
+
<!-- title and publisher -->
|
4081
|
+
<xsl:otherwise>
|
4082
|
+
<xsl:variable name="docID">
|
4083
|
+
<xsl:call-template name="processBibitemDocId"/>
|
4084
|
+
</xsl:variable>
|
4085
|
+
<xsl:value-of select="normalize-space($docID)"/>
|
4086
|
+
<xsl:if test="normalize-space($docID) != ''"><xsl:text>: </xsl:text></xsl:if>
|
4087
|
+
</xsl:otherwise>
|
4088
|
+
</xsl:choose>
|
4089
|
+
|
4090
|
+
<xsl:choose>
|
4091
|
+
<xsl:when test="iho:title[@type = 'main' and @language = 'en']">
|
4092
|
+
<xsl:apply-templates select="iho:title[@type = 'main' and @language = 'en']"/>
|
4093
|
+
</xsl:when>
|
4094
|
+
<xsl:otherwise>
|
4095
|
+
<xsl:apply-templates select="iho:title"/>
|
4096
|
+
</xsl:otherwise>
|
4097
|
+
</xsl:choose>
|
4098
|
+
|
4099
|
+
<xsl:if test="iho:title and iho:contributor">
|
4100
|
+
<xsl:text>, </xsl:text>
|
4101
|
+
</xsl:if>
|
4102
|
+
|
4103
|
+
<xsl:variable name="authors">
|
4104
|
+
<xsl:choose>
|
4105
|
+
<xsl:when test="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
|
4106
|
+
<xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
|
4107
|
+
<xsl:copy-of select="."/>
|
4108
|
+
</xsl:for-each>
|
4109
|
+
</xsl:when>
|
4110
|
+
<xsl:when test="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='editor']">
|
4111
|
+
<xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='editor']">
|
4112
|
+
<xsl:copy-of select="."/>
|
4113
|
+
</xsl:for-each>
|
4114
|
+
</xsl:when>
|
4115
|
+
<xsl:when test="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='publisher'][*[local-name() = 'organization']]">
|
4116
|
+
<xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='publisher'][*[local-name() = 'organization']]">
|
4117
|
+
<xsl:copy>
|
4118
|
+
<xsl:choose>
|
4119
|
+
<xsl:when test="position() != 1 and position() != last()">, </xsl:when>
|
4120
|
+
<xsl:when test="position() != 1 and position() = last()"> and </xsl:when>
|
4121
|
+
</xsl:choose>
|
4122
|
+
<xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
|
4123
|
+
</xsl:copy>
|
4124
|
+
</xsl:for-each>
|
4125
|
+
</xsl:when>
|
4126
|
+
</xsl:choose>
|
4127
|
+
</xsl:variable>
|
4128
|
+
|
4129
|
+
<xsl:for-each select="xalan:nodeset($authors)/*">
|
4130
|
+
<xsl:choose>
|
4131
|
+
<xsl:when test="not(*[local-name() = 'role'])"><!-- publisher organisation -->
|
4132
|
+
<xsl:value-of select="."/>
|
4133
|
+
</xsl:when>
|
4134
|
+
<xsl:otherwise> <!-- author, editor -->
|
4135
|
+
<xsl:choose>
|
4136
|
+
<xsl:when test="*[local-name() = 'organization']/*[local-name() = 'name']">
|
4137
|
+
<xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
|
4138
|
+
</xsl:when>
|
4139
|
+
<xsl:otherwise>
|
4140
|
+
<xsl:for-each select="*[local-name() = 'person']">
|
4141
|
+
<xsl:variable name="author">
|
4142
|
+
<xsl:call-template name="processPersonalAuthor"/>
|
4143
|
+
</xsl:variable>
|
4144
|
+
<xsl:value-of select="xalan:nodeset($author)/author"/>
|
4145
|
+
</xsl:for-each>
|
4146
|
+
</xsl:otherwise>
|
4147
|
+
</xsl:choose>
|
4148
|
+
</xsl:otherwise>
|
4149
|
+
</xsl:choose>
|
4150
|
+
<xsl:if test="*[local-name() = 'organization']/*[local-name() = 'name'] and position() != last()">
|
4151
|
+
<xsl:text>, </xsl:text>
|
4152
|
+
</xsl:if>
|
4153
|
+
</xsl:for-each>
|
4154
|
+
|
4155
|
+
<xsl:apply-templates select="*[local-name() = 'uri'][1]"/>
|
4156
|
+
|
4157
|
+
</xsl:otherwise>
|
4158
|
+
</xsl:choose>
|
4159
|
+
<!-- end IHO bibitem processing -->
|
4160
|
+
|
4161
|
+
</xsl:template><xsl:template name="processBibitemDocId">
|
4162
|
+
<xsl:variable name="_doc_ident" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]"/>
|
4163
|
+
<xsl:choose>
|
4164
|
+
<xsl:when test="normalize-space($_doc_ident) != ''">
|
4165
|
+
<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"/>
|
4166
|
+
<xsl:if test="$type != '' and not(contains($_doc_ident, $type))">
|
4167
|
+
<xsl:value-of select="$type"/><xsl:text> </xsl:text>
|
4168
|
+
</xsl:if>
|
4169
|
+
<xsl:value-of select="$_doc_ident"/>
|
4170
|
+
</xsl:when>
|
4171
|
+
<xsl:otherwise>
|
4172
|
+
<xsl:variable name="type" select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]/@type"/>
|
4173
|
+
<xsl:if test="$type != ''">
|
4174
|
+
<xsl:value-of select="$type"/><xsl:text> </xsl:text>
|
4175
|
+
</xsl:if>
|
4176
|
+
<xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]"/>
|
4177
|
+
</xsl:otherwise>
|
4178
|
+
</xsl:choose>
|
4179
|
+
</xsl:template><xsl:template name="processPersonalAuthor">
|
4180
|
+
<xsl:choose>
|
4181
|
+
<xsl:when test="*[local-name() = 'name']/*[local-name() = 'completename']">
|
4182
|
+
<author>
|
4183
|
+
<xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'completename']"/>
|
4184
|
+
</author>
|
4185
|
+
</xsl:when>
|
4186
|
+
<xsl:when test="*[local-name() = 'name']/*[local-name() = 'surname'] and *[local-name() = 'name']/*[local-name() = 'initial']">
|
4187
|
+
<author>
|
4188
|
+
<xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'surname']"/>
|
4189
|
+
<xsl:text> </xsl:text>
|
4190
|
+
<xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'initial']" mode="strip"/>
|
4191
|
+
</author>
|
4192
|
+
</xsl:when>
|
4193
|
+
<xsl:when test="*[local-name() = 'name']/*[local-name() = 'surname'] and *[local-name() = 'name']/*[local-name() = 'forename']">
|
4194
|
+
<author>
|
4195
|
+
<xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'surname']"/>
|
4196
|
+
<xsl:text> </xsl:text>
|
4197
|
+
<xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'forename']" mode="strip"/>
|
4198
|
+
</author>
|
4199
|
+
</xsl:when>
|
4200
|
+
<xsl:otherwise>
|
4201
|
+
<xsl:apply-templates/>
|
4202
|
+
</xsl:otherwise>
|
4203
|
+
</xsl:choose>
|
4204
|
+
</xsl:template><xsl:template name="renderDate">
|
4205
|
+
<xsl:if test="normalize-space(*[local-name() = 'on']) != ''">
|
4206
|
+
<xsl:value-of select="*[local-name() = 'on']"/>
|
4207
|
+
</xsl:if>
|
4208
|
+
<xsl:if test="normalize-space(*[local-name() = 'from']) != ''">
|
4209
|
+
<xsl:value-of select="concat(*[local-name() = 'from'], '–', *[local-name() = 'to'])"/>
|
4210
|
+
</xsl:if>
|
4211
|
+
</xsl:template><xsl:template match="*[local-name() = 'name']/*[local-name() = 'initial']/text()" mode="strip">
|
4212
|
+
<xsl:value-of select="translate(.,'. ','')"/>
|
4213
|
+
</xsl:template><xsl:template match="*[local-name() = 'name']/*[local-name() = 'forename']/text()" mode="strip">
|
4214
|
+
<xsl:value-of select="substring(.,1,1)"/>
|
3270
4215
|
</xsl:template><xsl:template name="convertDate">
|
3271
4216
|
<xsl:param name="date"/>
|
3272
4217
|
<xsl:param name="format" select="'short'"/>
|
@@ -3345,6 +4290,7 @@
|
|
3345
4290
|
<dc:title>
|
3346
4291
|
<xsl:variable name="title">
|
3347
4292
|
|
4293
|
+
|
3348
4294
|
|
3349
4295
|
<xsl:value-of select="/*/*[local-name() = 'bibdata']/*[local-name() = 'title'][@language = 'en']"/>
|
3350
4296
|
|
@@ -3365,6 +4311,7 @@
|
|
3365
4311
|
<xsl:value-of select="/*/*[local-name() = 'bibdata']/*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']/*[local-name() = 'organization']/*[local-name() = 'name']"/>
|
3366
4312
|
|
3367
4313
|
|
4314
|
+
|
3368
4315
|
</dc:creator>
|
3369
4316
|
<dc:description>
|
3370
4317
|
<xsl:variable name="abstract">
|
@@ -3374,6 +4321,7 @@
|
|
3374
4321
|
|
3375
4322
|
|
3376
4323
|
|
4324
|
+
|
3377
4325
|
</xsl:variable>
|
3378
4326
|
<xsl:value-of select="normalize-space($abstract)"/>
|
3379
4327
|
</dc:description>
|
@@ -3472,7 +4420,9 @@
|
|
3472
4420
|
|
3473
4421
|
<xsl:value-of select="document('')//*/namespace::iho"/>
|
3474
4422
|
|
3475
|
-
|
4423
|
+
|
4424
|
+
|
4425
|
+
|
3476
4426
|
</xsl:variable>
|
3477
4427
|
<xsl:if test="$documentNS != $XSLNS">
|
3478
4428
|
<xsl:message>[WARNING]: Document namespace: '<xsl:value-of select="$documentNS"/>' doesn't equal to xslt namespace '<xsl:value-of select="$XSLNS"/>'</xsl:message>
|
@@ -3498,4 +4448,21 @@
|
|
3498
4448
|
</xsl:otherwise>
|
3499
4449
|
</xsl:choose>
|
3500
4450
|
</xsl:attribute>
|
4451
|
+
</xsl:template><xsl:template name="add-letter-spacing">
|
4452
|
+
<xsl:param name="text"/>
|
4453
|
+
<xsl:param name="letter-spacing" select="'0.15'"/>
|
4454
|
+
<xsl:if test="string-length($text) > 0">
|
4455
|
+
<xsl:variable name="char" select="substring($text, 1, 1)"/>
|
4456
|
+
<fo:inline padding-right="{$letter-spacing}mm">
|
4457
|
+
<xsl:if test="$char = '®'">
|
4458
|
+
<xsl:attribute name="font-size">58%</xsl:attribute>
|
4459
|
+
<xsl:attribute name="baseline-shift">30%</xsl:attribute>
|
4460
|
+
</xsl:if>
|
4461
|
+
<xsl:value-of select="$char"/>
|
4462
|
+
</fo:inline>
|
4463
|
+
<xsl:call-template name="add-letter-spacing">
|
4464
|
+
<xsl:with-param name="text" select="substring($text, 2)"/>
|
4465
|
+
<xsl:with-param name="letter-spacing" select="$letter-spacing"/>
|
4466
|
+
</xsl:call-template>
|
4467
|
+
</xsl:if>
|
3501
4468
|
</xsl:template></xsl:stylesheet>
|