metanorma-iso 2.0.3 → 2.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/lib/isodoc/iso/html/header.html +42 -33
- data/lib/isodoc/iso/html/html_iso_titlepage.html +1 -1
- data/lib/isodoc/iso/html/isodoc.css +9 -7
- data/lib/isodoc/iso/html/isodoc.scss +7 -5
- data/lib/isodoc/iso/html/style-human.css +0 -1
- data/lib/isodoc/iso/html/style-human.scss +0 -1
- data/lib/isodoc/iso/html/style-iso.css +0 -1
- data/lib/isodoc/iso/html/style-iso.scss +0 -1
- data/lib/isodoc/iso/html/word_iso_titlepage.html +12 -11
- data/lib/isodoc/iso/html/wordstyle.css +46 -19
- data/lib/isodoc/iso/html/wordstyle.scss +52 -25
- data/lib/isodoc/iso/i18n-en.yaml +29 -2
- data/lib/isodoc/iso/i18n-fr.yaml +27 -3
- data/lib/isodoc/iso/i18n-ru.yaml +45 -0
- data/lib/isodoc/iso/i18n-zh-Hans.yaml +27 -3
- data/lib/isodoc/iso/i18n.rb +1 -0
- data/lib/isodoc/iso/init.rb +1 -2
- data/lib/isodoc/iso/iso.amendment.xsl +1204 -615
- data/lib/isodoc/iso/iso.international-standard.xsl +1204 -615
- data/lib/isodoc/iso/metadata.rb +12 -2
- data/lib/isodoc/iso/presentation_xml_convert.rb +58 -21
- data/lib/metanorma/iso/boilerplate-fr.xml +6 -7
- data/lib/metanorma/iso/boilerplate-ru.xml +37 -0
- data/lib/metanorma/iso/boilerplate.xml +6 -7
- data/lib/metanorma/iso/cleanup.rb +48 -11
- data/lib/metanorma/iso/front.rb +1 -1
- data/lib/metanorma/iso/front_id.rb +2 -0
- data/lib/metanorma/iso/isodoc.rng +73 -3
- data/lib/metanorma/iso/processor.rb +14 -7
- data/lib/metanorma/iso/validate.rb +30 -2
- data/lib/metanorma/iso/validate_image.rb +3 -3
- data/lib/metanorma/iso/validate_list.rb +122 -0
- data/lib/metanorma/iso/validate_section.rb +39 -32
- data/lib/metanorma/iso/validate_style.rb +32 -2
- data/lib/metanorma/iso/validate_title.rb +13 -1
- data/lib/metanorma/iso/version.rb +1 -1
- data/metanorma-iso.gemspec +1 -1
- data/spec/isodoc/amd_spec.rb +10 -5
- data/spec/isodoc/i18n_spec.rb +350 -9
- data/spec/isodoc/inline_spec.rb +127 -10
- data/spec/isodoc/metadata_spec.rb +153 -3
- data/spec/isodoc/postproc_spec.rb +3 -4
- data/spec/isodoc/section_spec.rb +1 -0
- data/spec/isodoc/terms_spec.rb +4 -4
- data/spec/metanorma/base_spec.rb +434 -326
- data/spec/metanorma/cleanup_spec.rb +11 -11
- data/spec/metanorma/refs_spec.rb +273 -61
- data/spec/metanorma/section_spec.rb +18 -26
- data/spec/metanorma/validate_spec.rb +448 -17
- data/spec/spec_helper.rb +6 -4
- data/spec/vcr_cassettes/docrels.yml +393 -0
- data/spec/vcr_cassettes/withdrawn_iso.yml +301 -0
- metadata +10 -5
@@ -10,6 +10,8 @@
|
|
10
10
|
|
11
11
|
|
12
12
|
|
13
|
+
<xsl:variable name="namespace_full">https://www.metanorma.org/ns/iso</xsl:variable>
|
14
|
+
|
13
15
|
<xsl:variable name="debug">false</xsl:variable>
|
14
16
|
|
15
17
|
<xsl:variable name="docidentifierISO" select="/iso:iso-standard/iso:bibdata/iso:docidentifier[@type = 'iso'] | /iso:iso-standard/iso:bibdata/iso:docidentifier[@type = 'ISO']"/>
|
@@ -27,19 +29,26 @@
|
|
27
29
|
<!-- <xsl:variable name="ISOname" select="concat(/iso:iso-standard/iso:bibdata/iso:docidentifier, ':', /iso:iso-standard/iso:bibdata/iso:copyright/iso:from , $lang-1st-letter)"/> -->
|
28
30
|
<xsl:variable name="ISOname" select="/iso:iso-standard/iso:bibdata/iso:docidentifier[@type = 'iso-reference']"/>
|
29
31
|
|
30
|
-
<!-- Information and documentation — Codes for transcription systems -->
|
31
|
-
<xsl:variable name="title-intro" select="/iso:iso-standard/iso:bibdata/iso:title[@language = 'en' and @type = 'title-intro']"/>
|
32
|
-
<xsl:variable name="title-intro-fr" select="/iso:iso-standard/iso:bibdata/iso:title[@language = 'fr' and @type = 'title-intro']"/>
|
33
|
-
<xsl:variable name="title-main" select="/iso:iso-standard/iso:bibdata/iso:title[@language = 'en' and @type = 'title-main']"/>
|
34
|
-
<xsl:variable name="title-main-fr" select="/iso:iso-standard/iso:bibdata/iso:title[@language = 'fr' and @type = 'title-main']"/>
|
35
32
|
<xsl:variable name="part" select="/iso:iso-standard/iso:bibdata/iso:ext/iso:structuredidentifier/iso:project-number/@part"/>
|
36
33
|
|
37
34
|
<xsl:variable name="doctype" select="/iso:iso-standard/iso:bibdata/iso:ext/iso:doctype"/>
|
38
|
-
|
35
|
+
<xsl:variable name="doctype_localized" select="/iso:iso-standard/iso:bibdata/iso:ext/iso:doctype[@language = $lang]"/>
|
36
|
+
|
37
|
+
<xsl:variable name="doctype_uppercased">
|
38
|
+
<xsl:choose>
|
39
|
+
<xsl:when test="$doctype_localized != ''">
|
40
|
+
<xsl:value-of select="java:toUpperCase(java:java.lang.String.new(translate(normalize-space($doctype_localized),'-',' ')))"/>
|
41
|
+
</xsl:when>
|
42
|
+
<xsl:otherwise>
|
43
|
+
<xsl:value-of select="java:toUpperCase(java:java.lang.String.new(translate(normalize-space($doctype),'-',' ')))"/>
|
44
|
+
</xsl:otherwise>
|
45
|
+
</xsl:choose>
|
46
|
+
</xsl:variable>
|
39
47
|
|
40
48
|
<xsl:variable name="stage" select="number(/iso:iso-standard/iso:bibdata/iso:status/iso:stage)"/>
|
41
49
|
<xsl:variable name="substage" select="number(/iso:iso-standard/iso:bibdata/iso:status/iso:substage)"/>
|
42
50
|
<xsl:variable name="stagename" select="normalize-space(/iso:iso-standard/iso:bibdata/iso:ext/iso:stagename)"/>
|
51
|
+
<xsl:variable name="stagename_localized" select="normalize-space(/iso:iso-standard/iso:bibdata/iso:status/iso:stage[@language = $lang])"/>
|
43
52
|
<xsl:variable name="abbreviation" select="normalize-space(/iso:iso-standard/iso:bibdata/iso:status/iso:stage/@abbreviation)"/>
|
44
53
|
|
45
54
|
<xsl:variable name="stage-abbreviation">
|
@@ -63,7 +72,10 @@
|
|
63
72
|
|
64
73
|
<xsl:variable name="stage-fullname-uppercased">
|
65
74
|
<xsl:choose>
|
66
|
-
<xsl:when test="$
|
75
|
+
<xsl:when test="$stagename_localized != ''">
|
76
|
+
<xsl:value-of select="java:toUpperCase(java:java.lang.String.new($stagename_localized))"/>
|
77
|
+
</xsl:when>
|
78
|
+
<xsl:when test="$stagename != ''">
|
67
79
|
<xsl:value-of select="java:toUpperCase(java:java.lang.String.new($stagename))"/>
|
68
80
|
</xsl:when>
|
69
81
|
<xsl:when test="$stage-abbreviation = 'NWIP' or $stage-abbreviation = 'NP'">NEW WORK ITEM PROPOSAL</xsl:when>
|
@@ -150,13 +162,25 @@
|
|
150
162
|
<item level="1" id="Foreword" display="true">Foreword</item>
|
151
163
|
<item id="term-script" display="false">3.2</item>
|
152
164
|
-->
|
153
|
-
<xsl:variable name="
|
165
|
+
<xsl:variable name="contents_">
|
154
166
|
<contents>
|
155
167
|
<xsl:call-template name="processPrefaceSectionsDefault_Contents"/>
|
156
168
|
<xsl:call-template name="processMainSectionsDefault_Contents"/>
|
157
169
|
<xsl:apply-templates select="//iso:indexsect" mode="contents"/>
|
170
|
+
<xsl:call-template name="processTablesFigures_Contents"/>
|
158
171
|
</contents>
|
159
172
|
</xsl:variable>
|
173
|
+
<xsl:variable name="contents" select="xalan:nodeset($contents_)"/>
|
174
|
+
|
175
|
+
<xsl:variable name="lang_other">
|
176
|
+
<xsl:for-each select="/iso:iso-standard/iso:bibdata/iso:title[@language != $lang]">
|
177
|
+
<xsl:if test="not(preceding-sibling::iso:title[@language = current()/@language])">
|
178
|
+
<lang><xsl:value-of select="@language"/></lang>
|
179
|
+
</xsl:if>
|
180
|
+
</xsl:for-each>
|
181
|
+
</xsl:variable>
|
182
|
+
|
183
|
+
<xsl:variable name="XML" select="/"/>
|
160
184
|
|
161
185
|
<xsl:template match="/">
|
162
186
|
<xsl:call-template name="namespaceCheck"/>
|
@@ -414,7 +438,7 @@
|
|
414
438
|
<!-- Reference number -->
|
415
439
|
<fo:block>
|
416
440
|
<xsl:call-template name="getLocalizedString">
|
417
|
-
<xsl:with-param name="key">reference_number</xsl:with-param>
|
441
|
+
<xsl:with-param name="key">reference_number</xsl:with-param>
|
418
442
|
</xsl:call-template>
|
419
443
|
</fo:block>
|
420
444
|
<fo:block>
|
@@ -462,7 +486,12 @@
|
|
462
486
|
</fo:block>
|
463
487
|
</fo:table-cell>
|
464
488
|
<fo:table-cell>
|
465
|
-
<fo:block>
|
489
|
+
<fo:block>
|
490
|
+
<xsl:call-template name="getLocalizedString">
|
491
|
+
<xsl:with-param name="key">secretariat</xsl:with-param>
|
492
|
+
</xsl:call-template>
|
493
|
+
<xsl:text>: </xsl:text>
|
494
|
+
Secretariat: <fo:inline font-weight="bold"><xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:ext/iso:editorialgroup/iso:secretariat"/></fo:inline></fo:block>
|
466
495
|
</fo:table-cell>
|
467
496
|
</fo:table-row>
|
468
497
|
<fo:table-row>
|
@@ -507,47 +536,45 @@
|
|
507
536
|
<fo:block-container border-top="1mm double black" line-height="1.1" margin-top="3mm">
|
508
537
|
<fo:block margin-right="5mm">
|
509
538
|
<fo:block font-size="18pt" font-weight="bold" margin-top="6pt" role="H1">
|
510
|
-
|
511
|
-
|
512
|
-
|
513
|
-
|
514
|
-
|
515
|
-
<xsl:value-of select="$title-main"/>
|
516
|
-
|
517
|
-
<xsl:call-template name="printTitlePartEn"/>
|
518
|
-
|
519
|
-
<xsl:variable name="title-amd" select="/iso:iso-standard/iso:bibdata/iso:title[@language = 'en' and @type = 'title-amd']"/>
|
520
|
-
<xsl:if test="$doctype = 'amendment' and normalize-space($title-amd) != ''">
|
521
|
-
<fo:block margin-top="12pt" role="H1">
|
522
|
-
<xsl:call-template name="printAmendmentTitle"/>
|
523
|
-
</fo:block>
|
524
|
-
</xsl:if>
|
525
|
-
|
526
|
-
</fo:block>
|
527
|
-
|
528
|
-
<fo:block font-size="9pt"><xsl:value-of select="$linebreak"/></fo:block>
|
529
|
-
<fo:block font-size="11pt" font-style="italic" line-height="1.5" role="H1">
|
530
|
-
|
531
|
-
<xsl:if test="normalize-space($title-intro-fr) != ''">
|
532
|
-
<xsl:value-of select="$title-intro-fr"/>
|
533
|
-
<xsl:text> — </xsl:text>
|
534
|
-
</xsl:if>
|
539
|
+
|
540
|
+
<xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-intro']"/>
|
541
|
+
|
542
|
+
<xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-main']"/>
|
535
543
|
|
536
|
-
<xsl:
|
537
|
-
|
538
|
-
|
539
|
-
|
540
|
-
<xsl:variable name="title-amd" select="/iso:iso-standard/iso:bibdata/iso:title[@language = 'fr' and @type = 'title-amd']"/>
|
541
|
-
<xsl:if test="$doctype = 'amendment' and normalize-space($title-amd) != ''">
|
542
|
-
<fo:block margin-top="6pt" role="H1">
|
543
|
-
<xsl:call-template name="printAmendmentTitle">
|
544
|
-
<xsl:with-param name="lang" select="'fr'"/>
|
545
|
-
</xsl:call-template>
|
546
|
-
</fo:block>
|
547
|
-
</xsl:if>
|
544
|
+
<xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-part']">
|
545
|
+
<xsl:with-param name="isMainLang">true</xsl:with-param>
|
546
|
+
</xsl:apply-templates>
|
548
547
|
|
548
|
+
<xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-amd']">
|
549
|
+
<xsl:with-param name="isMainLang">true</xsl:with-param>
|
550
|
+
</xsl:apply-templates>
|
551
|
+
|
549
552
|
</fo:block>
|
553
|
+
|
554
|
+
|
555
|
+
<xsl:for-each select="xalan:nodeset($lang_other)/lang">
|
556
|
+
<xsl:variable name="lang_other" select="."/>
|
557
|
+
|
558
|
+
<fo:block font-size="9pt"><xsl:value-of select="$linebreak"/></fo:block>
|
559
|
+
<fo:block font-size="11pt" font-style="italic" line-height="1.5" role="H1">
|
560
|
+
|
561
|
+
<!-- Example: title-intro fr -->
|
562
|
+
<xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-intro']"/>
|
563
|
+
|
564
|
+
<xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-main']"/>
|
565
|
+
|
566
|
+
<xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-part']">
|
567
|
+
<xsl:with-param name="curr_lang" select="$lang_other"/>
|
568
|
+
</xsl:apply-templates>
|
569
|
+
|
570
|
+
<xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-amd']">
|
571
|
+
<xsl:with-param name="curr_lang" select="$lang_other"/>
|
572
|
+
</xsl:apply-templates>
|
573
|
+
|
574
|
+
</fo:block>
|
575
|
+
</xsl:for-each>
|
550
576
|
</fo:block>
|
577
|
+
|
551
578
|
<fo:block margin-top="10mm">
|
552
579
|
<xsl:for-each select="/iso:iso-standard/iso:bibdata/iso:ext/iso:ics/iso:code">
|
553
580
|
<xsl:if test="position() = 1"><fo:inline>ICS: </fo:inline></xsl:if>
|
@@ -555,6 +582,7 @@
|
|
555
582
|
<xsl:if test="position() != last()"><xsl:text>; </xsl:text></xsl:if>
|
556
583
|
</xsl:for-each>
|
557
584
|
</fo:block>
|
585
|
+
|
558
586
|
</fo:block-container>
|
559
587
|
|
560
588
|
|
@@ -588,6 +616,15 @@
|
|
588
616
|
<xsl:if test="$stage-name = 'final-draft'">FINAL<xsl:value-of select="$linebreak"/>DRAFT</xsl:if> -->
|
589
617
|
</fo:block>
|
590
618
|
</fo:table-cell>
|
619
|
+
|
620
|
+
<xsl:variable name="lastWord">
|
621
|
+
<xsl:call-template name="substring-after-last">
|
622
|
+
<xsl:with-param name="value" select="$doctype_uppercased"/>
|
623
|
+
<xsl:with-param name="delimiter" select="' '"/>
|
624
|
+
</xsl:call-template>
|
625
|
+
</xsl:variable>
|
626
|
+
<xsl:variable name="font-size"><xsl:if test="string-length($lastWord) >= 12">90%</xsl:if></xsl:variable> <!-- to prevent overlapping 'NORME INTERNATIONALE' to number -->
|
627
|
+
|
591
628
|
<fo:table-cell>
|
592
629
|
<fo:block text-align="left">
|
593
630
|
<xsl:choose>
|
@@ -595,6 +632,9 @@
|
|
595
632
|
<xsl:value-of select="java:toUpperCase(java:java.lang.String.new(translate(/iso:iso-standard/iso:bibdata/iso:ext/iso:updates-document-type,'-',' ')))"/>
|
596
633
|
</xsl:when>
|
597
634
|
<xsl:otherwise>
|
635
|
+
<xsl:if test="$font-size != ''">
|
636
|
+
<xsl:attribute name="font-size"><xsl:value-of select="$font-size"/></xsl:attribute>
|
637
|
+
</xsl:if>
|
598
638
|
<xsl:value-of select="$doctype_uppercased"/>
|
599
639
|
</xsl:otherwise>
|
600
640
|
</xsl:choose>
|
@@ -602,6 +642,9 @@
|
|
602
642
|
</fo:table-cell>
|
603
643
|
<fo:table-cell>
|
604
644
|
<fo:block text-align="right" font-weight="bold" margin-bottom="13mm">
|
645
|
+
<xsl:if test="$font-size != ''">
|
646
|
+
<xsl:attribute name="font-size"><xsl:value-of select="$font-size"/></xsl:attribute>
|
647
|
+
</xsl:if>
|
605
648
|
<xsl:value-of select="$docidentifierISO"/>
|
606
649
|
</fo:block>
|
607
650
|
</fo:table-cell>
|
@@ -699,54 +742,43 @@
|
|
699
742
|
<fo:block margin-right="5mm">
|
700
743
|
<fo:block font-size="18pt" font-weight="bold" margin-top="12pt" role="H1">
|
701
744
|
|
702
|
-
<xsl:
|
703
|
-
<xsl:value-of select="$title-intro"/>
|
704
|
-
<xsl:text> — </xsl:text>
|
705
|
-
</xsl:if>
|
745
|
+
<xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-intro']"/>
|
706
746
|
|
707
|
-
<xsl:
|
747
|
+
<xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-main']"/>
|
708
748
|
|
709
|
-
<xsl:
|
710
|
-
|
711
|
-
|
712
|
-
<xsl:text> — </xsl:text>
|
713
|
-
<fo:block font-weight="normal" margin-top="6pt">
|
714
|
-
<xsl:text>Part </xsl:text><xsl:value-of select="$part"/>
|
715
|
-
<xsl:text>:</xsl:text>
|
716
|
-
</fo:block>
|
717
|
-
</xsl:if>
|
718
|
-
<xsl:value-of select="$title-part"/>
|
719
|
-
</xsl:if> -->
|
720
|
-
<xsl:variable name="title-amd" select="/iso:iso-standard/iso:bibdata/iso:title[@language = 'en' and @type = 'title-amd']"/>
|
721
|
-
<xsl:if test="$doctype = 'amendment' and normalize-space($title-amd) != ''">
|
722
|
-
<fo:block margin-right="-5mm" margin-top="12pt" role="H1">
|
723
|
-
<xsl:call-template name="printAmendmentTitle"/>
|
724
|
-
</fo:block>
|
725
|
-
</xsl:if>
|
726
|
-
</fo:block>
|
727
|
-
|
728
|
-
<fo:block font-size="9pt"><xsl:value-of select="$linebreak"/></fo:block>
|
729
|
-
<fo:block font-size="11pt" font-style="italic" line-height="1.5" role="H1">
|
749
|
+
<xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-part']">
|
750
|
+
<xsl:with-param name="isMainLang">true</xsl:with-param>
|
751
|
+
</xsl:apply-templates>
|
730
752
|
|
731
|
-
<xsl:
|
732
|
-
<xsl:
|
733
|
-
|
734
|
-
</xsl:if>
|
735
|
-
|
736
|
-
<xsl:value-of select="$title-main-fr"/>
|
737
|
-
|
738
|
-
<xsl:call-template name="printTitlePartFr"/>
|
739
|
-
|
740
|
-
<xsl:variable name="title-amd" select="/iso:iso-standard/iso:bibdata/iso:title[@language = 'fr' and @type = 'title-amd']"/>
|
741
|
-
<xsl:if test="$doctype = 'amendment' and normalize-space($title-amd) != ''">
|
742
|
-
<fo:block margin-right="-5mm" margin-top="6pt" role="H1">
|
743
|
-
<xsl:call-template name="printAmendmentTitle">
|
744
|
-
<xsl:with-param name="lang" select="'fr'"/>
|
745
|
-
</xsl:call-template>
|
746
|
-
</fo:block>
|
747
|
-
</xsl:if>
|
753
|
+
<xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-amd']">
|
754
|
+
<xsl:with-param name="isMainLang">true</xsl:with-param>
|
755
|
+
</xsl:apply-templates>
|
748
756
|
|
749
757
|
</fo:block>
|
758
|
+
|
759
|
+
|
760
|
+
<xsl:for-each select="xalan:nodeset($lang_other)/lang">
|
761
|
+
<xsl:variable name="lang_other" select="."/>
|
762
|
+
|
763
|
+
<fo:block font-size="9pt"><xsl:value-of select="$linebreak"/></fo:block>
|
764
|
+
<fo:block font-size="11pt" font-style="italic" line-height="1.5" role="H1">
|
765
|
+
|
766
|
+
<!-- Example: title-intro fr -->
|
767
|
+
<xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-intro']"/>
|
768
|
+
|
769
|
+
<xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-main']"/>
|
770
|
+
|
771
|
+
<xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-part']">
|
772
|
+
<xsl:with-param name="curr_lang" select="$lang_other"/>
|
773
|
+
</xsl:apply-templates>
|
774
|
+
|
775
|
+
<xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-amd']">
|
776
|
+
<xsl:with-param name="curr_lang" select="$lang_other"/>
|
777
|
+
</xsl:apply-templates>
|
778
|
+
|
779
|
+
</fo:block>
|
780
|
+
</xsl:for-each>
|
781
|
+
|
750
782
|
</fo:block>
|
751
783
|
</fo:block-container>
|
752
784
|
</fo:table-cell>
|
@@ -830,41 +862,35 @@
|
|
830
862
|
|
831
863
|
<fo:block-container border-top="1mm double black" line-height="1.1">
|
832
864
|
<fo:block margin-right="40mm">
|
833
|
-
|
834
|
-
|
835
|
-
<xsl:if test="normalize-space($title-intro) != ''">
|
836
|
-
<xsl:value-of select="$title-intro"/>
|
837
|
-
<xsl:text> — </xsl:text>
|
838
|
-
</xsl:if>
|
839
|
-
|
840
|
-
<xsl:value-of select="$title-main"/>
|
865
|
+
<fo:block font-size="18pt" font-weight="bold" margin-top="12pt" role="H1">
|
841
866
|
|
842
|
-
|
843
|
-
|
844
|
-
<xsl:
|
845
|
-
|
846
|
-
|
847
|
-
|
848
|
-
|
849
|
-
|
850
|
-
|
851
|
-
|
852
|
-
|
853
|
-
|
867
|
+
<xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-intro']"/>
|
868
|
+
|
869
|
+
<xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-main']"/>
|
870
|
+
|
871
|
+
<xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-part']">
|
872
|
+
<xsl:with-param name="isMainLang">true</xsl:with-param>
|
873
|
+
</xsl:apply-templates>
|
874
|
+
|
875
|
+
</fo:block>
|
876
|
+
|
877
|
+
<xsl:for-each select="xalan:nodeset($lang_other)/lang">
|
878
|
+
<xsl:variable name="lang_other" select="."/>
|
879
|
+
|
880
|
+
<fo:block font-size="9pt"><xsl:value-of select="$linebreak"/></fo:block>
|
881
|
+
<fo:block font-size="11pt" font-style="italic" line-height="1.5" role="H1">
|
854
882
|
|
855
|
-
|
856
|
-
|
857
|
-
|
858
|
-
|
859
|
-
|
860
|
-
|
861
|
-
|
862
|
-
|
863
|
-
|
864
|
-
|
865
|
-
|
866
|
-
|
867
|
-
</fo:block>
|
883
|
+
<!-- Example: title-intro fr -->
|
884
|
+
<xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-intro']"/>
|
885
|
+
|
886
|
+
<xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-main']"/>
|
887
|
+
|
888
|
+
<xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-part']">
|
889
|
+
<xsl:with-param name="curr_lang" select="$lang_other"/>
|
890
|
+
</xsl:apply-templates>
|
891
|
+
|
892
|
+
</fo:block>
|
893
|
+
</xsl:for-each>
|
868
894
|
</fo:block>
|
869
895
|
</fo:block-container>
|
870
896
|
</fo:block-container>
|
@@ -947,48 +973,35 @@
|
|
947
973
|
<!-- Information and documentation — Codes for transcription systems -->
|
948
974
|
<fo:block font-weight="bold" role="H1">
|
949
975
|
|
950
|
-
<xsl:
|
951
|
-
|
952
|
-
|
953
|
-
</xsl:if>
|
954
|
-
|
955
|
-
<xsl:value-of select="$title-main"/>
|
976
|
+
<xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-intro']"/>
|
977
|
+
|
978
|
+
<xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-main']"/>
|
956
979
|
|
957
|
-
<xsl:
|
958
|
-
|
959
|
-
|
960
|
-
|
961
|
-
<fo:block font-weight="normal" margin-top="6pt">
|
962
|
-
<xsl:text>Part </xsl:text><xsl:value-of select="$part"/>
|
963
|
-
<xsl:text>:</xsl:text>
|
964
|
-
</fo:block>
|
965
|
-
</xsl:if>
|
966
|
-
<xsl:value-of select="$title-part"/>
|
967
|
-
</xsl:if> -->
|
980
|
+
<xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-part']">
|
981
|
+
<xsl:with-param name="isMainLang">true</xsl:with-param>
|
982
|
+
</xsl:apply-templates>
|
983
|
+
|
968
984
|
</fo:block>
|
969
985
|
|
970
|
-
<
|
971
|
-
|
972
|
-
|
973
|
-
|
974
|
-
|
975
|
-
</xsl:if>
|
986
|
+
<xsl:for-each select="xalan:nodeset($lang_other)/lang">
|
987
|
+
<xsl:variable name="lang_other" select="."/>
|
988
|
+
|
989
|
+
<fo:block font-size="12pt"><xsl:value-of select="$linebreak"/></fo:block>
|
990
|
+
<fo:block role="H1">
|
976
991
|
|
977
|
-
|
992
|
+
<!-- Example: title-intro fr -->
|
993
|
+
<xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-intro']"/>
|
994
|
+
|
995
|
+
<xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-main']"/>
|
996
|
+
|
997
|
+
<xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-part']">
|
998
|
+
<xsl:with-param name="curr_lang" select="$lang_other"/>
|
999
|
+
</xsl:apply-templates>
|
1000
|
+
|
1001
|
+
</fo:block>
|
978
1002
|
|
979
|
-
|
980
|
-
|
981
|
-
<xsl:if test="$part != ''">
|
982
|
-
<xsl:text> — </xsl:text>
|
983
|
-
<fo:block margin-top="6pt" font-weight="normal">
|
984
|
-
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($titles/title-part[@lang='fr']),'#',$part)"/>
|
985
|
-
<!-- <xsl:value-of select="$title-part-fr"/><xsl:value-of select="$part"/>
|
986
|
-
<xsl:text>:</xsl:text> -->
|
987
|
-
</fo:block>
|
988
|
-
</xsl:if>
|
989
|
-
<xsl:value-of select="$part-fr"/>
|
990
|
-
</xsl:if>
|
991
|
-
</fo:block>
|
1003
|
+
</xsl:for-each>
|
1004
|
+
|
992
1005
|
</fo:block-container>
|
993
1006
|
<fo:block font-size="11pt" margin-bottom="8pt"><xsl:value-of select="$linebreak"/></fo:block>
|
994
1007
|
<fo:block-container font-size="40pt" text-align="center" margin-bottom="12pt" border="0.5pt solid black">
|
@@ -1017,312 +1030,418 @@
|
|
1017
1030
|
</xsl:otherwise>
|
1018
1031
|
</xsl:choose>
|
1019
1032
|
|
1020
|
-
<
|
1021
|
-
<xsl:
|
1022
|
-
|
1023
|
-
|
1024
|
-
|
1025
|
-
|
1026
|
-
|
1027
|
-
|
1028
|
-
|
1029
|
-
|
1030
|
-
|
1031
|
-
|
1032
|
-
|
1033
|
-
|
1034
|
-
|
1033
|
+
<xsl:variable name="updated_xml_step1">
|
1034
|
+
<xsl:apply-templates mode="update_xml_step1"/>
|
1035
|
+
</xsl:variable>
|
1036
|
+
<!-- DEBUG: updated_xml_step1=<xsl:copy-of select="$updated_xml_step1"/> -->
|
1037
|
+
|
1038
|
+
<xsl:variable name="updated_xml_step2">
|
1039
|
+
<xsl:apply-templates select="xalan:nodeset($updated_xml_step1)" mode="update_xml_step2"/>
|
1040
|
+
</xsl:variable>
|
1041
|
+
<!-- DEBUG: updated_xml_step2=<xsl:copy-of select="$updated_xml_step2"/> -->
|
1042
|
+
|
1043
|
+
<xsl:for-each select="xalan:nodeset($updated_xml_step2)">
|
1044
|
+
|
1045
|
+
<fo:page-sequence master-reference="preface{$document-master-reference}" format="i" force-page-count="{$force-page-count-preface}">
|
1046
|
+
<xsl:call-template name="insertHeaderFooter">
|
1047
|
+
<xsl:with-param name="font-weight">normal</xsl:with-param>
|
1048
|
+
</xsl:call-template>
|
1049
|
+
<fo:flow flow-name="xsl-region-body" line-height="115%">
|
1050
|
+
<xsl:if test="/iso:iso-standard/iso:boilerplate/iso:copyright-statement">
|
1051
|
+
|
1052
|
+
<fo:block-container height="252mm" display-align="after">
|
1053
|
+
<!-- <fo:block margin-bottom="3mm">
|
1054
|
+
<fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Attention))}" width="14mm" content-height="13mm" content-width="scale-to-fit" scaling="uniform" fox:alt-text="Image {@alt}"/>
|
1055
|
+
<fo:inline padding-left="6mm" font-size="12pt" font-weight="bold"></fo:inline>
|
1056
|
+
</fo:block> -->
|
1057
|
+
<fo:block line-height="90%">
|
1058
|
+
<fo:block font-size="9pt" text-align="justify">
|
1059
|
+
<xsl:apply-templates select="/iso:iso-standard/iso:boilerplate/iso:copyright-statement"/>
|
1060
|
+
</fo:block>
|
1035
1061
|
</fo:block>
|
1036
|
-
</fo:block>
|
1037
|
-
</
|
1038
|
-
</xsl:if>
|
1039
|
-
|
1040
|
-
|
1041
|
-
<xsl:choose>
|
1042
|
-
<xsl:when test="$doctype = 'amendment'"/><!-- ToC shouldn't be generated in amendments. -->
|
1062
|
+
</fo:block-container>
|
1063
|
+
</xsl:if>
|
1043
1064
|
|
1044
|
-
|
1045
|
-
|
1046
|
-
|
1047
|
-
|
1048
|
-
<
|
1049
|
-
<
|
1050
|
-
<fo:block
|
1051
|
-
|
1052
|
-
|
1053
|
-
|
1054
|
-
|
1055
|
-
|
1056
|
-
|
1057
|
-
<fo:inline keep-together.within-line="always">
|
1058
|
-
<fo:leader leader-pattern="space"/>
|
1059
|
-
<fo:inline font-weight="normal" font-size="10pt">
|
1060
|
-
<!-- Page -->
|
1065
|
+
|
1066
|
+
<xsl:choose>
|
1067
|
+
<xsl:when test="$doctype = 'amendment'"/><!-- ToC shouldn't be generated in amendments. -->
|
1068
|
+
|
1069
|
+
<xsl:otherwise>
|
1070
|
+
<xsl:if test="/iso:iso-standard/iso:boilerplate/iso:copyright-statement">
|
1071
|
+
<fo:block break-after="page"/>
|
1072
|
+
</xsl:if>
|
1073
|
+
<fo:block-container font-weight="bold">
|
1074
|
+
<fo:block role="TOC">
|
1075
|
+
<fo:block text-align-last="justify" font-size="16pt" margin-top="10pt" margin-bottom="18pt">
|
1076
|
+
<fo:inline font-size="16pt" font-weight="bold" role="H1">
|
1077
|
+
<!-- Contents -->
|
1061
1078
|
<xsl:call-template name="getLocalizedString">
|
1062
|
-
|
1063
|
-
|
1079
|
+
<xsl:with-param name="key">table_of_contents</xsl:with-param>
|
1080
|
+
</xsl:call-template>
|
1064
1081
|
</fo:inline>
|
1065
|
-
|
1066
|
-
|
1067
|
-
|
1068
|
-
|
1069
|
-
|
1070
|
-
|
1071
|
-
|
1072
|
-
|
1073
|
-
|
1074
|
-
|
1075
|
-
<xsl:variable name="margin-left">12</xsl:variable>
|
1076
|
-
<xsl:for-each select="xalan:nodeset($contents)//item[@display = 'true']"><!-- [not(@level = 2 and starts-with(@section, '0'))] skip clause from preface -->
|
1082
|
+
<fo:inline keep-together.within-line="always">
|
1083
|
+
<fo:leader leader-pattern="space"/>
|
1084
|
+
<fo:inline font-weight="normal" font-size="10pt">
|
1085
|
+
<!-- Page -->
|
1086
|
+
<xsl:call-template name="getLocalizedString">
|
1087
|
+
<xsl:with-param name="key">locality.page</xsl:with-param>
|
1088
|
+
</xsl:call-template>
|
1089
|
+
</fo:inline>
|
1090
|
+
</fo:inline>
|
1091
|
+
</fo:block>
|
1077
1092
|
|
1078
|
-
<
|
1079
|
-
<xsl:
|
1080
|
-
|
1081
|
-
|
1082
|
-
<xsl:
|
1083
|
-
|
1084
|
-
|
1085
|
-
|
1086
|
-
|
1087
|
-
|
1088
|
-
|
1093
|
+
<xsl:if test="$debug = 'true'">
|
1094
|
+
<xsl:text disable-output-escaping="yes"><!--</xsl:text>
|
1095
|
+
DEBUG
|
1096
|
+
contents=<xsl:copy-of select="$contents"/>
|
1097
|
+
<xsl:text disable-output-escaping="yes">--></xsl:text>
|
1098
|
+
</xsl:if>
|
1099
|
+
|
1100
|
+
<xsl:variable name="margin-left">12</xsl:variable>
|
1101
|
+
<xsl:for-each select="$contents//item[@display = 'true']"><!-- [not(@level = 2 and starts-with(@section, '0'))] skip clause from preface -->
|
1102
|
+
|
1103
|
+
<fo:block role="TOCI">
|
1104
|
+
<xsl:if test="@level = 1">
|
1105
|
+
<xsl:attribute name="margin-top">5pt</xsl:attribute>
|
1089
1106
|
</xsl:if>
|
1090
|
-
<xsl:
|
1091
|
-
<xsl:
|
1092
|
-
|
1093
|
-
|
1094
|
-
|
1095
|
-
|
1096
|
-
|
1097
|
-
|
1098
|
-
|
1099
|
-
|
1100
|
-
|
1101
|
-
|
1102
|
-
|
1103
|
-
|
1104
|
-
|
1105
|
-
|
1106
|
-
|
1107
|
-
|
1108
|
-
|
1107
|
+
<xsl:if test="@level = 3">
|
1108
|
+
<xsl:attribute name="margin-top">-0.7pt</xsl:attribute>
|
1109
|
+
</xsl:if>
|
1110
|
+
<fo:list-block>
|
1111
|
+
<xsl:attribute name="margin-left"><xsl:value-of select="$margin-left * (@level - 1)"/>mm</xsl:attribute>
|
1112
|
+
<xsl:if test="@level >= 2 or @type = 'annex'">
|
1113
|
+
<xsl:attribute name="font-weight">normal</xsl:attribute>
|
1114
|
+
</xsl:if>
|
1115
|
+
<xsl:attribute name="provisional-distance-between-starts">
|
1116
|
+
<xsl:choose>
|
1117
|
+
<!-- skip 0 section without subsections -->
|
1118
|
+
<xsl:when test="@level >= 3"><xsl:value-of select="$margin-left * 1.2"/>mm</xsl:when>
|
1119
|
+
<xsl:when test="@section != ''"><xsl:value-of select="$margin-left"/>mm</xsl:when>
|
1120
|
+
<xsl:otherwise>0mm</xsl:otherwise>
|
1121
|
+
</xsl:choose>
|
1122
|
+
</xsl:attribute>
|
1123
|
+
<fo:list-item>
|
1124
|
+
<fo:list-item-label end-indent="label-end()">
|
1125
|
+
<fo:block>
|
1126
|
+
<xsl:value-of select="@section"/>
|
1127
|
+
</fo:block>
|
1128
|
+
</fo:list-item-label>
|
1129
|
+
<fo:list-item-body start-indent="body-start()">
|
1130
|
+
<fo:block text-align-last="justify" margin-left="12mm" text-indent="-12mm">
|
1131
|
+
<fo:basic-link internal-destination="{@id}" fox:alt-text="{title}">
|
1109
1132
|
|
1110
|
-
|
1111
|
-
|
1112
|
-
<fo:inline
|
1113
|
-
|
1114
|
-
|
1115
|
-
|
1116
|
-
|
1117
|
-
|
1118
|
-
|
1119
|
-
|
1133
|
+
<xsl:apply-templates select="title"/>
|
1134
|
+
|
1135
|
+
<fo:inline keep-together.within-line="always">
|
1136
|
+
<fo:leader font-size="9pt" font-weight="normal" leader-pattern="dots"/>
|
1137
|
+
<fo:inline><fo:page-number-citation ref-id="{@id}"/></fo:inline>
|
1138
|
+
</fo:inline>
|
1139
|
+
</fo:basic-link>
|
1140
|
+
</fo:block>
|
1141
|
+
</fo:list-item-body>
|
1142
|
+
</fo:list-item>
|
1143
|
+
</fo:list-block>
|
1144
|
+
</fo:block>
|
1145
|
+
|
1146
|
+
</xsl:for-each>
|
1120
1147
|
|
1121
|
-
|
1122
|
-
|
1123
|
-
|
1124
|
-
|
1125
|
-
|
1126
|
-
|
1127
|
-
|
1128
|
-
|
1148
|
+
<!-- List of Tables -->
|
1149
|
+
<xsl:if test="$contents//tables/table">
|
1150
|
+
<xsl:call-template name="insertListOf_Title">
|
1151
|
+
<xsl:with-param name="title" select="$title-list-tables"/>
|
1152
|
+
</xsl:call-template>
|
1153
|
+
<xsl:for-each select="$contents//tables/table">
|
1154
|
+
<xsl:call-template name="insertListOf_Item"/>
|
1155
|
+
</xsl:for-each>
|
1156
|
+
</xsl:if>
|
1157
|
+
|
1158
|
+
<!-- List of Figures -->
|
1159
|
+
<xsl:if test="$contents//figures/figure">
|
1160
|
+
<xsl:call-template name="insertListOf_Title">
|
1161
|
+
<xsl:with-param name="title" select="$title-list-figures"/>
|
1162
|
+
</xsl:call-template>
|
1163
|
+
<xsl:for-each select="$contents//figures/figure">
|
1164
|
+
<xsl:call-template name="insertListOf_Item"/>
|
1165
|
+
</xsl:for-each>
|
1166
|
+
</xsl:if>
|
1167
|
+
|
1168
|
+
</fo:block>
|
1169
|
+
</fo:block-container>
|
1170
|
+
</xsl:otherwise>
|
1171
|
+
</xsl:choose>
|
1129
1172
|
|
1130
|
-
|
1131
|
-
|
1132
|
-
|
1133
|
-
|
1134
|
-
|
1135
|
-
<fo:static-content flow-name="xsl-footnote-separator">
|
1136
|
-
<fo:block>
|
1137
|
-
<fo:leader leader-pattern="rule" leader-length="30%"/>
|
1138
|
-
</fo:block>
|
1139
|
-
</fo:static-content>
|
1140
|
-
<xsl:call-template name="insertHeaderFooter"/>
|
1141
|
-
<fo:flow flow-name="xsl-region-body">
|
1173
|
+
<!-- Foreword, Introduction -->
|
1174
|
+
<xsl:call-template name="processPrefaceSectionsDefault"/>
|
1175
|
+
|
1176
|
+
</fo:flow>
|
1177
|
+
</fo:page-sequence>
|
1142
1178
|
|
1143
|
-
|
1144
|
-
|
1145
|
-
|
1146
|
-
|
1147
|
-
<
|
1179
|
+
<!-- BODY -->
|
1180
|
+
<fo:page-sequence master-reference="document{$document-master-reference}" initial-page-number="1" force-page-count="no-force">
|
1181
|
+
<fo:static-content flow-name="xsl-footnote-separator">
|
1182
|
+
<fo:block>
|
1183
|
+
<fo:leader leader-pattern="rule" leader-length="30%"/>
|
1148
1184
|
</fo:block>
|
1149
|
-
|
1150
|
-
|
1185
|
+
</fo:static-content>
|
1186
|
+
<xsl:call-template name="insertHeaderFooter"/>
|
1187
|
+
<fo:flow flow-name="xsl-region-body">
|
1188
|
+
|
1151
1189
|
|
1152
|
-
|
1153
|
-
|
1154
|
-
<
|
1190
|
+
<fo:block-container>
|
1191
|
+
<!-- Information and documentation — Codes for transcription systems -->
|
1192
|
+
<!-- <fo:block font-size="16pt" font-weight="bold" margin-bottom="18pt">
|
1193
|
+
<xsl:value-of select="$title-en"/>
|
1194
|
+
</fo:block>
|
1195
|
+
-->
|
1196
|
+
<fo:block font-size="18pt" font-weight="bold" margin-top="40pt" margin-bottom="20pt" line-height="1.1">
|
1155
1197
|
|
1156
|
-
|
1157
|
-
<xsl:if test="normalize-space($title-intro-doc-lang) != ''">
|
1158
|
-
<xsl:value-of select="$title-intro-doc-lang"/>
|
1159
|
-
<xsl:text> — </xsl:text>
|
1160
|
-
</xsl:if>
|
1198
|
+
<fo:block role="H1">
|
1161
1199
|
|
1162
|
-
|
1200
|
+
<xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-intro']"/>
|
1201
|
+
|
1202
|
+
<xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-main']"/>
|
1203
|
+
|
1204
|
+
<xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-part']">
|
1205
|
+
<xsl:with-param name="isMainLang">true</xsl:with-param>
|
1206
|
+
<xsl:with-param name="isMainBody">true</xsl:with-param>
|
1207
|
+
</xsl:apply-templates>
|
1208
|
+
|
1209
|
+
</fo:block>
|
1210
|
+
<fo:block role="H1">
|
1211
|
+
<xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-part']/node()"/>
|
1212
|
+
</fo:block>
|
1163
1213
|
|
1164
|
-
<xsl:
|
1214
|
+
<xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-amd']">
|
1215
|
+
<xsl:with-param name="isMainLang">true</xsl:with-param>
|
1216
|
+
<xsl:with-param name="isMainBody">true</xsl:with-param>
|
1217
|
+
</xsl:apply-templates>
|
1165
1218
|
|
1166
|
-
<xsl:if test="normalize-space($title-part-doc-lang) != ''">
|
1167
|
-
<xsl:if test="$part != ''">
|
1168
|
-
<xsl:text> — </xsl:text>
|
1169
|
-
<fo:block font-weight="normal" margin-top="12pt" line-height="1.1">
|
1170
|
-
<xsl:call-template name="getLocalizedString">
|
1171
|
-
<xsl:with-param name="key">Part.sg</xsl:with-param>
|
1172
|
-
</xsl:call-template>
|
1173
|
-
<xsl:text> </xsl:text>
|
1174
|
-
<xsl:value-of select="$part"/>
|
1175
|
-
<xsl:text>:</xsl:text>
|
1176
|
-
<!-- <xsl:value-of select="$title-part-en"/>
|
1177
|
-
<xsl:value-of select="$part"/>
|
1178
|
-
<xsl:text>:</xsl:text> -->
|
1179
|
-
</fo:block>
|
1180
|
-
</xsl:if>
|
1181
|
-
</xsl:if>
|
1182
|
-
</fo:block>
|
1183
|
-
<fo:block role="H1">
|
1184
|
-
<xsl:value-of select="$title-part-doc-lang"/>
|
1185
1219
|
</fo:block>
|
1186
|
-
|
1187
|
-
<xsl:variable name="title-amd" select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-amd']"/>
|
1188
|
-
<xsl:if test="$doctype = 'amendment' and normalize-space($title-amd) != ''">
|
1189
|
-
<fo:block margin-top="12pt" role="H1">
|
1190
|
-
<xsl:call-template name="printAmendmentTitle"/>
|
1191
|
-
</fo:block>
|
1192
|
-
</xsl:if>
|
1193
1220
|
|
1221
|
+
</fo:block-container>
|
1222
|
+
<!-- Clause(s) -->
|
1223
|
+
<fo:block>
|
1224
|
+
|
1225
|
+
<xsl:choose>
|
1226
|
+
<xsl:when test="$doctype = 'amendment'">
|
1227
|
+
<xsl:apply-templates select="/iso:iso-standard/iso:sections/*"/>
|
1228
|
+
</xsl:when>
|
1229
|
+
<xsl:otherwise>
|
1230
|
+
<xsl:call-template name="processMainSectionsDefault"/>
|
1231
|
+
</xsl:otherwise>
|
1232
|
+
</xsl:choose>
|
1233
|
+
|
1234
|
+
<fo:block id="lastBlock" font-size="1pt"> </fo:block>
|
1194
1235
|
</fo:block>
|
1195
|
-
|
1196
|
-
</fo:block-container>
|
1197
|
-
<!-- Clause(s) -->
|
1198
|
-
<fo:block>
|
1199
|
-
|
1200
|
-
<xsl:choose>
|
1201
|
-
<xsl:when test="$doctype = 'amendment'">
|
1202
|
-
<xsl:apply-templates select="/iso:iso-standard/iso:sections/*"/>
|
1203
|
-
</xsl:when>
|
1204
|
-
<xsl:otherwise>
|
1205
|
-
<xsl:call-template name="processMainSectionsDefault"/>
|
1206
|
-
</xsl:otherwise>
|
1207
|
-
</xsl:choose>
|
1208
1236
|
|
1209
|
-
|
1210
|
-
|
1211
|
-
|
1212
|
-
|
1213
|
-
|
1214
|
-
|
1215
|
-
|
1216
|
-
|
1217
|
-
|
1218
|
-
|
1219
|
-
|
1220
|
-
|
1221
|
-
|
1222
|
-
|
1223
|
-
|
1224
|
-
|
1225
|
-
|
1226
|
-
|
1227
|
-
|
1228
|
-
|
1229
|
-
|
1230
|
-
|
1231
|
-
|
1232
|
-
|
1233
|
-
|
1234
|
-
|
1235
|
-
|
1236
|
-
|
1237
|
+
</fo:flow>
|
1238
|
+
</fo:page-sequence>
|
1239
|
+
|
1240
|
+
|
1241
|
+
<!-- Index -->
|
1242
|
+
<xsl:apply-templates select="//iso:indexsect" mode="index"/>
|
1243
|
+
|
1244
|
+
<xsl:if test="$isPublished = 'true'">
|
1245
|
+
<fo:page-sequence master-reference="last-page" force-page-count="no-force">
|
1246
|
+
<xsl:call-template name="insertHeaderEven"/>
|
1247
|
+
<fo:static-content flow-name="last-page-footer" font-size="10pt">
|
1248
|
+
<fo:table table-layout="fixed" width="100%">
|
1249
|
+
<fo:table-column column-width="33%"/>
|
1250
|
+
<fo:table-column column-width="33%"/>
|
1251
|
+
<fo:table-column column-width="34%"/>
|
1252
|
+
<fo:table-body>
|
1253
|
+
<fo:table-row>
|
1254
|
+
<fo:table-cell display-align="center">
|
1255
|
+
<fo:block font-size="9pt"><xsl:value-of select="$copyrightText"/></fo:block>
|
1256
|
+
</fo:table-cell>
|
1257
|
+
<fo:table-cell>
|
1258
|
+
<fo:block font-size="11pt" font-weight="bold" text-align="center">
|
1259
|
+
<xsl:if test="$stage-abbreviation = 'PRF'">
|
1260
|
+
<xsl:value-of select="$proof-text"/>
|
1261
|
+
</xsl:if>
|
1262
|
+
</fo:block>
|
1263
|
+
</fo:table-cell>
|
1264
|
+
<fo:table-cell>
|
1265
|
+
<fo:block> </fo:block>
|
1266
|
+
</fo:table-cell>
|
1267
|
+
</fo:table-row>
|
1268
|
+
</fo:table-body>
|
1269
|
+
</fo:table>
|
1270
|
+
</fo:static-content>
|
1271
|
+
<fo:flow flow-name="xsl-region-body">
|
1272
|
+
<fo:block-container height="252mm" display-align="after">
|
1273
|
+
<fo:block-container border-top="1mm double black">
|
1274
|
+
<fo:block font-size="12pt" font-weight="bold" padding-top="3.5mm" padding-bottom="0.5mm">
|
1275
|
+
<xsl:for-each select="/iso:iso-standard/iso:bibdata/iso:ext/iso:ics/iso:code">
|
1276
|
+
<xsl:if test="position() = 1"><fo:inline>ICS </fo:inline></xsl:if>
|
1277
|
+
<xsl:value-of select="."/>
|
1278
|
+
<xsl:if test="position() != last()"><xsl:text>; </xsl:text></xsl:if>
|
1279
|
+
</xsl:for-each>
|
1280
|
+
<!-- <xsl:choose>
|
1281
|
+
<xsl:when test="$stage-name = 'FDIS'">ICS  01.140.30</xsl:when>
|
1282
|
+
<xsl:when test="$stage-name = 'PRF'">ICS  35.240.63</xsl:when>
|
1283
|
+
<xsl:when test="$stage-name = 'published'">ICS  35.240.30</xsl:when>
|
1284
|
+
<xsl:otherwise>ICS  67.060</xsl:otherwise>
|
1285
|
+
</xsl:choose> -->
|
1237
1286
|
</fo:block>
|
1238
|
-
|
1239
|
-
|
1240
|
-
|
1241
|
-
|
1242
|
-
|
1243
|
-
|
1244
|
-
|
1245
|
-
|
1246
|
-
|
1247
|
-
|
1248
|
-
<fo:block-container border-top="1mm double black">
|
1249
|
-
<fo:block font-size="12pt" font-weight="bold" padding-top="3.5mm" padding-bottom="0.5mm">
|
1250
|
-
<xsl:for-each select="/iso:iso-standard/iso:bibdata/iso:ext/iso:ics/iso:code">
|
1251
|
-
<xsl:if test="position() = 1"><fo:inline>ICS </fo:inline></xsl:if>
|
1252
|
-
<xsl:value-of select="."/>
|
1253
|
-
<xsl:if test="position() != last()"><xsl:text>; </xsl:text></xsl:if>
|
1254
|
-
</xsl:for-each>
|
1255
|
-
<!-- <xsl:choose>
|
1256
|
-
<xsl:when test="$stage-name = 'FDIS'">ICS  01.140.30</xsl:when>
|
1257
|
-
<xsl:when test="$stage-name = 'PRF'">ICS  35.240.63</xsl:when>
|
1258
|
-
<xsl:when test="$stage-name = 'published'">ICS  35.240.30</xsl:when>
|
1259
|
-
<xsl:otherwise>ICS  67.060</xsl:otherwise>
|
1260
|
-
</xsl:choose> -->
|
1261
|
-
</fo:block>
|
1262
|
-
<xsl:if test="/iso:iso-standard/iso:bibdata/iso:keyword">
|
1263
|
-
<fo:block font-size="9pt" margin-bottom="6pt">
|
1264
|
-
<xsl:variable name="title-descriptors">
|
1265
|
-
<xsl:call-template name="getTitle">
|
1266
|
-
<xsl:with-param name="name" select="'title-descriptors'"/>
|
1287
|
+
<xsl:if test="/iso:iso-standard/iso:bibdata/iso:keyword">
|
1288
|
+
<fo:block font-size="9pt" margin-bottom="6pt">
|
1289
|
+
<xsl:variable name="title-descriptors">
|
1290
|
+
<xsl:call-template name="getTitle">
|
1291
|
+
<xsl:with-param name="name" select="'title-descriptors'"/>
|
1292
|
+
</xsl:call-template>
|
1293
|
+
</xsl:variable>
|
1294
|
+
<fo:inline font-weight="bold"><xsl:value-of select="$title-descriptors"/>: </fo:inline>
|
1295
|
+
<xsl:call-template name="insertKeywords">
|
1296
|
+
<xsl:with-param name="sorting">no</xsl:with-param>
|
1267
1297
|
</xsl:call-template>
|
1268
|
-
</
|
1269
|
-
|
1270
|
-
|
1271
|
-
|
1298
|
+
</fo:block>
|
1299
|
+
</xsl:if>
|
1300
|
+
<xsl:variable name="countPages"/>
|
1301
|
+
<xsl:variable name="price_based_on">
|
1302
|
+
<xsl:call-template name="getLocalizedString">
|
1303
|
+
<xsl:with-param name="key">price_based_on</xsl:with-param>
|
1272
1304
|
</xsl:call-template>
|
1305
|
+
</xsl:variable>
|
1306
|
+
<xsl:variable name="price_based_on_items">
|
1307
|
+
<xsl:call-template name="split">
|
1308
|
+
<xsl:with-param name="pText" select="$price_based_on"/>
|
1309
|
+
<xsl:with-param name="sep" select="'%'"/>
|
1310
|
+
<xsl:with-param name="normalize-space">false</xsl:with-param>
|
1311
|
+
</xsl:call-template>
|
1312
|
+
</xsl:variable>
|
1313
|
+
<!-- Price based on ... pages -->
|
1314
|
+
<fo:block font-size="9pt">
|
1315
|
+
<xsl:for-each select="xalan:nodeset($price_based_on_items)/item">
|
1316
|
+
<xsl:value-of select="."/>
|
1317
|
+
<xsl:if test="position() != last()">
|
1318
|
+
<fo:page-number-citation ref-id="lastBlock"/>
|
1319
|
+
</xsl:if>
|
1320
|
+
</xsl:for-each>
|
1273
1321
|
</fo:block>
|
1274
|
-
</
|
1275
|
-
<xsl:variable name="countPages"/>
|
1276
|
-
<xsl:variable name="price_based_on">
|
1277
|
-
<xsl:call-template name="getLocalizedString">
|
1278
|
-
<xsl:with-param name="key">price_based_on</xsl:with-param>
|
1279
|
-
</xsl:call-template>
|
1280
|
-
</xsl:variable>
|
1281
|
-
<xsl:variable name="price_based_on_items">
|
1282
|
-
<xsl:call-template name="split">
|
1283
|
-
<xsl:with-param name="pText" select="$price_based_on"/>
|
1284
|
-
<xsl:with-param name="sep" select="'%'"/>
|
1285
|
-
<xsl:with-param name="normalize-space">false</xsl:with-param>
|
1286
|
-
</xsl:call-template>
|
1287
|
-
</xsl:variable>
|
1288
|
-
<!-- Price based on ... pages -->
|
1289
|
-
<fo:block font-size="9pt">
|
1290
|
-
<xsl:for-each select="xalan:nodeset($price_based_on_items)/item">
|
1291
|
-
<xsl:value-of select="."/>
|
1292
|
-
<xsl:if test="position() != last()">
|
1293
|
-
<fo:page-number-citation ref-id="lastBlock"/>
|
1294
|
-
</xsl:if>
|
1295
|
-
</xsl:for-each>
|
1296
|
-
</fo:block>
|
1322
|
+
</fo:block-container>
|
1297
1323
|
</fo:block-container>
|
1298
|
-
</fo:
|
1299
|
-
</fo:
|
1300
|
-
</
|
1301
|
-
</xsl:
|
1324
|
+
</fo:flow>
|
1325
|
+
</fo:page-sequence>
|
1326
|
+
</xsl:if>
|
1327
|
+
</xsl:for-each>
|
1302
1328
|
</fo:root>
|
1303
1329
|
</xsl:template>
|
1304
1330
|
|
1331
|
+
|
1332
|
+
<xsl:template name="insertListOf_Title">
|
1333
|
+
<xsl:param name="title"/>
|
1334
|
+
<fo:block role="TOCI" margin-top="5pt" keep-with-next="always">
|
1335
|
+
<xsl:value-of select="$title"/>
|
1336
|
+
</fo:block>
|
1337
|
+
</xsl:template>
|
1338
|
+
|
1339
|
+
<xsl:template name="insertListOf_Item">
|
1340
|
+
<fo:block role="TOCI" font-weight="normal" text-align-last="justify" margin-left="12mm">
|
1341
|
+
<fo:basic-link internal-destination="{@id}">
|
1342
|
+
<xsl:call-template name="setAltText">
|
1343
|
+
<xsl:with-param name="value" select="@alt-text"/>
|
1344
|
+
</xsl:call-template>
|
1345
|
+
<xsl:apply-templates select="." mode="contents"/>
|
1346
|
+
<fo:inline keep-together.within-line="always">
|
1347
|
+
<fo:leader font-size="9pt" font-weight="normal" leader-pattern="dots"/>
|
1348
|
+
<fo:inline><fo:page-number-citation ref-id="{@id}"/></fo:inline>
|
1349
|
+
</fo:inline>
|
1350
|
+
</fo:basic-link>
|
1351
|
+
</fo:block>
|
1352
|
+
</xsl:template>
|
1305
1353
|
|
1306
|
-
|
1307
|
-
|
1354
|
+
<!-- ==================== -->
|
1355
|
+
<!-- display titles -->
|
1356
|
+
<!-- ==================== -->
|
1357
|
+
<xsl:template match="iso:bibdata/iso:title[@type = 'title-intro']">
|
1358
|
+
<xsl:apply-templates/>
|
1359
|
+
<xsl:text> — </xsl:text>
|
1360
|
+
</xsl:template>
|
1361
|
+
|
1362
|
+
<xsl:template match="iso:bibdata/iso:title[@type = 'title-main']">
|
1363
|
+
<xsl:apply-templates/>
|
1364
|
+
</xsl:template>
|
1365
|
+
|
1366
|
+
<xsl:template match="iso:bibdata/iso:title[@type = 'title-part']">
|
1367
|
+
<xsl:param name="curr_lang" select="$lang"/>
|
1368
|
+
<xsl:param name="isMainLang">false</xsl:param>
|
1369
|
+
<xsl:param name="isMainBody">false</xsl:param>
|
1370
|
+
<xsl:if test="$part != ''">
|
1371
|
+
<xsl:text> — </xsl:text>
|
1372
|
+
<xsl:variable name="part-text">
|
1373
|
+
<xsl:choose>
|
1374
|
+
<xsl:when test="$isMainLang = 'true'">
|
1375
|
+
<xsl:call-template name="getLocalizedString">
|
1376
|
+
<xsl:with-param name="key">locality.part</xsl:with-param>
|
1377
|
+
</xsl:call-template>
|
1378
|
+
<xsl:text> </xsl:text>
|
1379
|
+
<xsl:value-of select="$part"/>
|
1380
|
+
<xsl:text>:</xsl:text>
|
1381
|
+
</xsl:when>
|
1382
|
+
<xsl:otherwise>
|
1383
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($titles/title-part[@lang=$curr_lang]),'#',$part)"/>
|
1384
|
+
</xsl:otherwise>
|
1385
|
+
</xsl:choose>
|
1386
|
+
</xsl:variable>
|
1387
|
+
<xsl:choose>
|
1388
|
+
<xsl:when test="$isMainBody = 'true'">
|
1389
|
+
<fo:block font-weight="normal" margin-top="12pt" line-height="1.1">
|
1390
|
+
<xsl:value-of select="$part-text"/>
|
1391
|
+
</fo:block>
|
1392
|
+
</xsl:when>
|
1393
|
+
<xsl:when test="$isMainLang = 'true'">
|
1394
|
+
<fo:block font-weight="normal" margin-top="6pt">
|
1395
|
+
<xsl:value-of select="$part-text"/>
|
1396
|
+
</fo:block>
|
1397
|
+
</xsl:when>
|
1398
|
+
<xsl:otherwise>
|
1399
|
+
<xsl:value-of select="$part-text"/>
|
1400
|
+
<xsl:text> </xsl:text>
|
1401
|
+
</xsl:otherwise>
|
1402
|
+
</xsl:choose>
|
1403
|
+
</xsl:if>
|
1404
|
+
<xsl:if test="$isMainBody = 'false'">
|
1405
|
+
<xsl:apply-templates/>
|
1406
|
+
</xsl:if>
|
1308
1407
|
</xsl:template>
|
1309
1408
|
|
1310
|
-
<xsl:template
|
1311
|
-
<xsl:param name="
|
1312
|
-
<xsl:
|
1313
|
-
<xsl:
|
1314
|
-
|
1315
|
-
|
1316
|
-
<xsl:
|
1317
|
-
|
1318
|
-
|
1409
|
+
<xsl:template match="iso:bibdata/iso:title[@type = 'title-amd']">
|
1410
|
+
<xsl:param name="isMainLang">false</xsl:param>
|
1411
|
+
<xsl:param name="curr_lang" select="$lang"/>
|
1412
|
+
<xsl:param name="isMainBody">false</xsl:param>
|
1413
|
+
<xsl:if test="$doctype = 'amendment'">
|
1414
|
+
<fo:block margin-right="-5mm" margin-top="6pt" role="H1">
|
1415
|
+
<xsl:if test="$isMainLang = 'true'">
|
1416
|
+
<xsl:attribute name="margin-top">12pt</xsl:attribute>
|
1417
|
+
</xsl:if>
|
1418
|
+
<xsl:if test="$stage-abbreviation = 'DIS' or $isMainBody = 'true'">
|
1419
|
+
<xsl:attribute name="margin-right">0mm</xsl:attribute>
|
1319
1420
|
</xsl:if>
|
1320
|
-
|
1321
|
-
<
|
1421
|
+
|
1422
|
+
<fo:block font-weight="normal" line-height="1.1">
|
1423
|
+
<xsl:value-of select="$doctype_uppercased"/>
|
1424
|
+
<xsl:variable name="amendment-number" select="/iso:iso-standard/iso:bibdata/iso:ext/iso:structuredidentifier/iso:project-number/@amendment"/>
|
1425
|
+
<xsl:if test="normalize-space($amendment-number) != ''">
|
1426
|
+
<xsl:text> </xsl:text><xsl:value-of select="$amendment-number"/>
|
1427
|
+
</xsl:if>
|
1428
|
+
<xsl:text>: </xsl:text>
|
1429
|
+
<xsl:apply-templates/>
|
1430
|
+
</fo:block>
|
1431
|
+
|
1322
1432
|
</fo:block>
|
1323
1433
|
</xsl:if>
|
1324
1434
|
</xsl:template>
|
1325
1435
|
|
1436
|
+
|
1437
|
+
<!-- ==================== -->
|
1438
|
+
<!-- END display titles -->
|
1439
|
+
<!-- ==================== -->
|
1440
|
+
|
1441
|
+
<xsl:template match="node()">
|
1442
|
+
<xsl:apply-templates/>
|
1443
|
+
</xsl:template>
|
1444
|
+
|
1326
1445
|
<!-- ============================= -->
|
1327
1446
|
<!-- CONTENTS -->
|
1328
1447
|
<!-- ============================= -->
|
@@ -1812,43 +1931,13 @@
|
|
1812
1931
|
</xsl:when>
|
1813
1932
|
</xsl:choose>
|
1814
1933
|
<xsl:variable name="title-edition">
|
1815
|
-
<xsl:call-template name="
|
1816
|
-
<xsl:with-param name="
|
1934
|
+
<xsl:call-template name="getLocalizedString">
|
1935
|
+
<xsl:with-param name="key">edition</xsl:with-param>
|
1817
1936
|
</xsl:call-template>
|
1818
1937
|
</xsl:variable>
|
1819
1938
|
<xsl:if test="$edition != ''"><xsl:text> </xsl:text><xsl:value-of select="java:toLowerCase(java:java.lang.String.new($title-edition))"/></xsl:if>
|
1820
1939
|
</xsl:template>
|
1821
1940
|
|
1822
|
-
<xsl:template name="printTitlePartFr">
|
1823
|
-
<xsl:variable name="part-fr" select="/iso:iso-standard/iso:bibdata/iso:title[@language = 'fr' and @type = 'title-part']"/>
|
1824
|
-
<xsl:if test="normalize-space($part-fr) != ''">
|
1825
|
-
<xsl:if test="$part != ''">
|
1826
|
-
<xsl:text> — </xsl:text>
|
1827
|
-
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($titles/title-part[@lang='fr']),'#',$part)"/>
|
1828
|
-
<!-- <xsl:value-of select="$title-part-fr"/>
|
1829
|
-
<xsl:value-of select="$part"/>
|
1830
|
-
<xsl:text>:</xsl:text> -->
|
1831
|
-
</xsl:if>
|
1832
|
-
<xsl:value-of select="$part-fr"/>
|
1833
|
-
</xsl:if>
|
1834
|
-
</xsl:template>
|
1835
|
-
|
1836
|
-
<xsl:template name="printTitlePartEn">
|
1837
|
-
<xsl:variable name="part-en" select="/iso:iso-standard/iso:bibdata/iso:title[@language = 'en' and @type = 'title-part']"/>
|
1838
|
-
<xsl:if test="normalize-space($part-en) != ''">
|
1839
|
-
<xsl:if test="$part != ''">
|
1840
|
-
<xsl:text> — </xsl:text>
|
1841
|
-
<fo:block font-weight="normal" margin-top="6pt">
|
1842
|
-
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($titles/title-part[@lang='en']),'#',$part)"/>
|
1843
|
-
<!-- <xsl:value-of select="$title-part-en"/>
|
1844
|
-
<xsl:value-of select="$part"/>
|
1845
|
-
<xsl:text>:</xsl:text> -->
|
1846
|
-
</fo:block>
|
1847
|
-
</xsl:if>
|
1848
|
-
<xsl:value-of select="$part-en"/>
|
1849
|
-
</xsl:if>
|
1850
|
-
</xsl:template>
|
1851
|
-
|
1852
1941
|
|
1853
1942
|
<xsl:param name="svg_images"/><xsl:variable name="images" select="document($svg_images)"/><xsl:param name="basepath"/><xsl:param name="external_index"/><xsl:param name="syntax-highlight">false</xsl:param><xsl:variable name="lang">
|
1854
1943
|
<xsl:call-template name="getLang"/>
|
@@ -1876,6 +1965,10 @@
|
|
1876
1965
|
<xsl:text>Édition </xsl:text>
|
1877
1966
|
</title-edition>
|
1878
1967
|
|
1968
|
+
<title-edition lang="ru">
|
1969
|
+
<xsl:text>Издание </xsl:text>
|
1970
|
+
</title-edition>
|
1971
|
+
|
1879
1972
|
<!-- These titles of Table of contents renders different than determined in localized-strings -->
|
1880
1973
|
<title-toc lang="en">
|
1881
1974
|
|
@@ -1890,7 +1983,7 @@
|
|
1890
1983
|
<xsl:text>Contents</xsl:text>
|
1891
1984
|
|
1892
1985
|
</title-toc>
|
1893
|
-
|
1986
|
+
|
1894
1987
|
<title-descriptors lang="en">Descriptors</title-descriptors>
|
1895
1988
|
|
1896
1989
|
<title-part lang="en">
|
@@ -1906,7 +1999,13 @@
|
|
1906
1999
|
|
1907
2000
|
|
1908
2001
|
|
1909
|
-
</title-part>
|
2002
|
+
</title-part>
|
2003
|
+
<title-part lang="ru">
|
2004
|
+
|
2005
|
+
<xsl:text>Часть #:</xsl:text>
|
2006
|
+
|
2007
|
+
|
2008
|
+
</title-part>
|
1910
2009
|
<title-part lang="zh">第 # 部分:</title-part>
|
1911
2010
|
|
1912
2011
|
<title-subpart lang="en">Sub-part #</title-subpart>
|
@@ -1922,10 +2021,35 @@
|
|
1922
2021
|
|
1923
2022
|
<title-summary lang="en">Summary</title-summary>
|
1924
2023
|
|
2024
|
+
<title-continued lang="ru">(продолжение)</title-continued>
|
1925
2025
|
<title-continued lang="en">(continued)</title-continued>
|
1926
2026
|
<title-continued lang="fr">(continué)</title-continued>
|
1927
2027
|
|
1928
|
-
</xsl:variable><xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="
|
2028
|
+
</xsl:variable><xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="title-list-tables">
|
2029
|
+
<xsl:variable name="toc_table_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='table']/*[local-name() = 'title']"/>
|
2030
|
+
<xsl:value-of select="$toc_table_title"/>
|
2031
|
+
<xsl:if test="normalize-space($toc_table_title) = ''">
|
2032
|
+
<xsl:call-template name="getTitle">
|
2033
|
+
<xsl:with-param name="name" select="'title-list-tables'"/>
|
2034
|
+
</xsl:call-template>
|
2035
|
+
</xsl:if>
|
2036
|
+
</xsl:variable><xsl:variable name="title-list-figures">
|
2037
|
+
<xsl:variable name="toc_figure_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='figure']/*[local-name() = 'title']"/>
|
2038
|
+
<xsl:value-of select="$toc_figure_title"/>
|
2039
|
+
<xsl:if test="normalize-space($toc_figure_title) = ''">
|
2040
|
+
<xsl:call-template name="getTitle">
|
2041
|
+
<xsl:with-param name="name" select="'title-list-figures'"/>
|
2042
|
+
</xsl:call-template>
|
2043
|
+
</xsl:if>
|
2044
|
+
</xsl:variable><xsl:variable name="title-list-recommendations">
|
2045
|
+
<xsl:variable name="toc_requirement_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='requirement']/*[local-name() = 'title']"/>
|
2046
|
+
<xsl:value-of select="$toc_requirement_title"/>
|
2047
|
+
<xsl:if test="normalize-space($toc_requirement_title) = ''">
|
2048
|
+
<xsl:call-template name="getTitle">
|
2049
|
+
<xsl:with-param name="name" select="'title-list-recommendations'"/>
|
2050
|
+
</xsl:call-template>
|
2051
|
+
</xsl:if>
|
2052
|
+
</xsl:variable><xsl:variable name="bibdata">
|
1929
2053
|
<xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']"/>
|
1930
2054
|
<xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'localized-strings']"/>
|
1931
2055
|
</xsl:variable><xsl:variable name="linebreak">
</xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:variable name="non_breaking_hyphen">‑</xsl:variable><xsl:variable name="thin_space"> </xsl:variable><xsl:variable name="zero_width_space"></xsl:variable><xsl:variable name="en_dash">–</xsl:variable><xsl:template name="getTitle">
|
@@ -2693,13 +2817,19 @@
|
|
2693
2817
|
</xsl:attribute-set><xsl:variable name="color-added-text">
|
2694
2818
|
<xsl:text>rgb(0, 255, 0)</xsl:text>
|
2695
2819
|
</xsl:variable><xsl:attribute-set name="add-style">
|
2696
|
-
|
2697
|
-
|
2698
|
-
|
2699
|
-
|
2700
|
-
|
2701
|
-
|
2702
|
-
|
2820
|
+
|
2821
|
+
<xsl:attribute name="color">red</xsl:attribute>
|
2822
|
+
<xsl:attribute name="text-decoration">underline</xsl:attribute>
|
2823
|
+
<!-- <xsl:attribute name="color">black</xsl:attribute>
|
2824
|
+
<xsl:attribute name="background-color"><xsl:value-of select="$color-added-text"/></xsl:attribute>
|
2825
|
+
<xsl:attribute name="padding-top">1mm</xsl:attribute>
|
2826
|
+
<xsl:attribute name="padding-bottom">0.5mm</xsl:attribute> -->
|
2827
|
+
|
2828
|
+
</xsl:attribute-set><xsl:variable name="add-style">
|
2829
|
+
<add-style xsl:use-attribute-sets="add-style"/>
|
2830
|
+
</xsl:variable><xsl:template name="append_add-style">
|
2831
|
+
<xsl:copy-of select="xalan:nodeset($add-style)/add-style/@*"/>
|
2832
|
+
</xsl:template><xsl:variable name="color-deleted-text">
|
2703
2833
|
<xsl:text>red</xsl:text>
|
2704
2834
|
</xsl:variable><xsl:attribute-set name="del-style">
|
2705
2835
|
<xsl:attribute name="color"><xsl:value-of select="$color-deleted-text"/></xsl:attribute>
|
@@ -3124,14 +3254,42 @@
|
|
3124
3254
|
|
3125
3255
|
|
3126
3256
|
</xsl:attribute-set><xsl:variable name="border-block-added">2.5pt solid rgb(0, 176, 80)</xsl:variable><xsl:variable name="border-block-deleted">2.5pt solid rgb(255, 0, 0)</xsl:variable><xsl:variable name="ace_tag">ace-tag_</xsl:variable><xsl:template name="processPrefaceSectionsDefault_Contents">
|
3257
|
+
<xsl:variable name="nodes_preface_">
|
3258
|
+
<xsl:for-each select="/*/*[local-name()='preface']/*">
|
3259
|
+
<node id="{@id}"/>
|
3260
|
+
</xsl:for-each>
|
3261
|
+
</xsl:variable>
|
3262
|
+
<xsl:variable name="nodes_preface" select="xalan:nodeset($nodes_preface_)"/>
|
3263
|
+
|
3127
3264
|
<xsl:for-each select="/*/*[local-name()='preface']/*">
|
3128
3265
|
<xsl:sort select="@displayorder" data-type="number"/>
|
3266
|
+
|
3267
|
+
<!-- process Section's title -->
|
3268
|
+
<xsl:variable name="preceding-sibling_id" select="$nodes_preface/node[@id = current()/@id]/preceding-sibling::node[1]/@id"/>
|
3269
|
+
<xsl:if test="$preceding-sibling_id != ''">
|
3270
|
+
<xsl:apply-templates select="parent::*/*[@type = 'section-title' and @id = $preceding-sibling_id and not(@displayorder)]" mode="contents_no_displayorder"/>
|
3271
|
+
</xsl:if>
|
3272
|
+
|
3129
3273
|
<xsl:apply-templates select="." mode="contents"/>
|
3130
3274
|
</xsl:for-each>
|
3131
3275
|
</xsl:template><xsl:template name="processMainSectionsDefault_Contents">
|
3132
3276
|
|
3277
|
+
<xsl:variable name="nodes_sections_">
|
3278
|
+
<xsl:for-each select="/*/*[local-name()='sections']/*">
|
3279
|
+
<node id="{@id}"/>
|
3280
|
+
</xsl:for-each>
|
3281
|
+
</xsl:variable>
|
3282
|
+
<xsl:variable name="nodes_sections" select="xalan:nodeset($nodes_sections_)"/>
|
3283
|
+
|
3133
3284
|
<xsl:for-each select="/*/*[local-name()='sections']/* | /*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true'] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][@normative='true']]">
|
3134
3285
|
<xsl:sort select="@displayorder" data-type="number"/>
|
3286
|
+
|
3287
|
+
<!-- process Section's title -->
|
3288
|
+
<xsl:variable name="preceding-sibling_id" select="$nodes_sections/node[@id = current()/@id]/preceding-sibling::node[1]/@id"/>
|
3289
|
+
<xsl:if test="$preceding-sibling_id != ''">
|
3290
|
+
<xsl:apply-templates select="parent::*/*[@type = 'section-title' and @id = $preceding-sibling_id and not(@displayorder)]" mode="contents_no_displayorder"/>
|
3291
|
+
</xsl:if>
|
3292
|
+
|
3135
3293
|
<xsl:apply-templates select="." mode="contents"/>
|
3136
3294
|
</xsl:for-each>
|
3137
3295
|
|
@@ -3144,6 +3302,30 @@
|
|
3144
3302
|
<xsl:sort select="@displayorder" data-type="number"/>
|
3145
3303
|
<xsl:apply-templates select="." mode="contents"/>
|
3146
3304
|
</xsl:for-each>
|
3305
|
+
</xsl:template><xsl:template name="processTablesFigures_Contents">
|
3306
|
+
<xsl:param name="always"/>
|
3307
|
+
<xsl:if test="(//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='table']/*[local-name() = 'title']) or normalize-space($always) = 'true'">
|
3308
|
+
<xsl:call-template name="processTables_Contents"/>
|
3309
|
+
</xsl:if>
|
3310
|
+
<xsl:if test="(//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='figure']/*[local-name() = 'title']) or normalize-space($always) = 'true'">
|
3311
|
+
<xsl:call-template name="processFigures_Contents"/>
|
3312
|
+
</xsl:if>
|
3313
|
+
</xsl:template><xsl:template name="processTables_Contents">
|
3314
|
+
<tables>
|
3315
|
+
<xsl:for-each select="//*[local-name() = 'table'][@id and *[local-name() = 'name'] and normalize-space(@id) != '']">
|
3316
|
+
<table id="{@id}" alt-text="{*[local-name() = 'name']}">
|
3317
|
+
<xsl:copy-of select="*[local-name() = 'name']"/>
|
3318
|
+
</table>
|
3319
|
+
</xsl:for-each>
|
3320
|
+
</tables>
|
3321
|
+
</xsl:template><xsl:template name="processFigures_Contents">
|
3322
|
+
<figures>
|
3323
|
+
<xsl:for-each select="//*[local-name() = 'figure'][@id and *[local-name() = 'name'] and not(@unnumbered = 'true') and normalize-space(@id) != ''] | //*[@id and starts-with(*[local-name() = 'name'], 'Figure ') and normalize-space(@id) != '']">
|
3324
|
+
<figure id="{@id}" alt-text="{*[local-name() = 'name']}">
|
3325
|
+
<xsl:copy-of select="*[local-name() = 'name']"/>
|
3326
|
+
</figure>
|
3327
|
+
</xsl:for-each>
|
3328
|
+
</figures>
|
3147
3329
|
</xsl:template><xsl:template name="processPrefaceSectionsDefault">
|
3148
3330
|
<xsl:for-each select="/*/*[local-name()='preface']/*">
|
3149
3331
|
<xsl:sort select="@displayorder" data-type="number"/>
|
@@ -3281,7 +3463,7 @@
|
|
3281
3463
|
</xsl:call-template>
|
3282
3464
|
</xsl:if>
|
3283
3465
|
</xsl:variable>
|
3284
|
-
<!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
|
3466
|
+
<!-- DEBUG colwidths=<xsl:copy-of select="$colwidths"/> -->
|
3285
3467
|
|
3286
3468
|
|
3287
3469
|
<xsl:variable name="margin-side">
|
@@ -3551,7 +3733,7 @@
|
|
3551
3733
|
<!-- <xsl:with-param name="text" select="translate(td[$curr-col],'- —:', ' ')"/> -->
|
3552
3734
|
<!-- 2009 thinspace -->
|
3553
3735
|
<!-- <xsl:with-param name="text" select="translate(normalize-space($td_text),'- —:', ' ')"/> -->
|
3554
|
-
<xsl:with-param name="text" select="normalize-space(translate($string_with_added_zerospaces, '
|
3736
|
+
<xsl:with-param name="text" select="normalize-space(translate($string_with_added_zerospaces, '', ' '))"/> <!-- replace zero-width-space and soft-hyphen to space -->
|
3555
3737
|
</xsl:call-template>
|
3556
3738
|
</xsl:variable>
|
3557
3739
|
<xsl:variable name="max_length">
|
@@ -4010,37 +4192,7 @@
|
|
4010
4192
|
|
4011
4193
|
<!-- list of footnotes to calculate actual footnotes number -->
|
4012
4194
|
<xsl:variable name="p_fn_">
|
4013
|
-
<xsl:
|
4014
|
-
<xsl:when test="@current_fn_number"> <!-- for BSI, footnote reference number calculated already -->
|
4015
|
-
<fn gen_id="{generate-id(.)}">
|
4016
|
-
<xsl:copy-of select="@*"/>
|
4017
|
-
<xsl:copy-of select="node()"/>
|
4018
|
-
</fn>
|
4019
|
-
</xsl:when>
|
4020
|
-
<xsl:otherwise>
|
4021
|
-
<!-- itetation for:
|
4022
|
-
footnotes in bibdata/title
|
4023
|
-
footnotes in bibliography
|
4024
|
-
footnotes in document's body (except table's head/body/foot and figure text)
|
4025
|
-
-->
|
4026
|
-
<xsl:for-each select="ancestor::*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']/*[local-name() = 'note'][@type='title-footnote']">
|
4027
|
-
<fn gen_id="{generate-id(.)}">
|
4028
|
-
<xsl:copy-of select="@*"/>
|
4029
|
-
<xsl:copy-of select="node()"/>
|
4030
|
-
</fn>
|
4031
|
-
</xsl:for-each>
|
4032
|
-
<xsl:for-each select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='preface']/* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='sections']/* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='annex'] | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibliography']/*">
|
4033
|
-
<xsl:sort select="@displayorder" data-type="number"/>
|
4034
|
-
<xsl:for-each select=".//*[local-name() = 'bibitem'][ancestor::*[local-name() = 'references']]/*[local-name() = 'note'] | .//*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure') and not(ancestor::*[local-name() = 'name'])])][generate-id(.)=generate-id(key('kfn',@reference)[1])]">
|
4035
|
-
<!-- copy unique fn -->
|
4036
|
-
<fn gen_id="{generate-id(.)}">
|
4037
|
-
<xsl:copy-of select="@*"/>
|
4038
|
-
<xsl:copy-of select="node()"/>
|
4039
|
-
</fn>
|
4040
|
-
</xsl:for-each>
|
4041
|
-
</xsl:for-each>
|
4042
|
-
</xsl:otherwise>
|
4043
|
-
</xsl:choose>
|
4195
|
+
<xsl:call-template name="get_fn_list"/>
|
4044
4196
|
</xsl:variable>
|
4045
4197
|
<xsl:variable name="p_fn" select="xalan:nodeset($p_fn_)"/>
|
4046
4198
|
|
@@ -4103,6 +4255,38 @@
|
|
4103
4255
|
<xsl:copy-of select="$footnote_inline"/>
|
4104
4256
|
</xsl:otherwise>
|
4105
4257
|
</xsl:choose>
|
4258
|
+
</xsl:template><xsl:template name="get_fn_list">
|
4259
|
+
<xsl:choose>
|
4260
|
+
<xsl:when test="@current_fn_number"> <!-- for BSI, footnote reference number calculated already -->
|
4261
|
+
<fn gen_id="{generate-id(.)}">
|
4262
|
+
<xsl:copy-of select="@*"/>
|
4263
|
+
<xsl:copy-of select="node()"/>
|
4264
|
+
</fn>
|
4265
|
+
</xsl:when>
|
4266
|
+
<xsl:otherwise>
|
4267
|
+
<!-- itetation for:
|
4268
|
+
footnotes in bibdata/title
|
4269
|
+
footnotes in bibliography
|
4270
|
+
footnotes in document's body (except table's head/body/foot and figure text)
|
4271
|
+
-->
|
4272
|
+
<xsl:for-each select="ancestor::*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']/*[local-name() = 'note'][@type='title-footnote']">
|
4273
|
+
<fn gen_id="{generate-id(.)}">
|
4274
|
+
<xsl:copy-of select="@*"/>
|
4275
|
+
<xsl:copy-of select="node()"/>
|
4276
|
+
</fn>
|
4277
|
+
</xsl:for-each>
|
4278
|
+
<xsl:for-each select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='preface']/* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='sections']/* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='annex'] | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibliography']/*">
|
4279
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
4280
|
+
<xsl:for-each select=".//*[local-name() = 'bibitem'][ancestor::*[local-name() = 'references']]/*[local-name() = 'note'] | .//*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure') and not(ancestor::*[local-name() = 'name'])])][generate-id(.)=generate-id(key('kfn',@reference)[1])]">
|
4281
|
+
<!-- copy unique fn -->
|
4282
|
+
<fn gen_id="{generate-id(.)}">
|
4283
|
+
<xsl:copy-of select="@*"/>
|
4284
|
+
<xsl:copy-of select="node()"/>
|
4285
|
+
</fn>
|
4286
|
+
</xsl:for-each>
|
4287
|
+
</xsl:for-each>
|
4288
|
+
</xsl:otherwise>
|
4289
|
+
</xsl:choose>
|
4106
4290
|
</xsl:template><xsl:template name="table_fn_display">
|
4107
4291
|
<xsl:variable name="references">
|
4108
4292
|
|
@@ -4279,7 +4463,7 @@
|
|
4279
4463
|
</fo:inline>
|
4280
4464
|
</xsl:template><xsl:template match="*[local-name()='fn']/text()[normalize-space() != '']">
|
4281
4465
|
<fo:inline><xsl:value-of select="."/></fo:inline>
|
4282
|
-
</xsl:template><xsl:template match="*[local-name()='fn']
|
4466
|
+
</xsl:template><xsl:template match="*[local-name()='fn']//*[local-name()='p']">
|
4283
4467
|
<fo:inline>
|
4284
4468
|
<xsl:apply-templates/>
|
4285
4469
|
</fo:inline>
|
@@ -5276,6 +5460,9 @@
|
|
5276
5460
|
</fo:inline>
|
5277
5461
|
</xsl:template><xsl:template match="*[local-name() = 'xref']">
|
5278
5462
|
<fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
|
5463
|
+
<xsl:if test="parent::*[local-name() = 'add']">
|
5464
|
+
<xsl:call-template name="append_add-style"/>
|
5465
|
+
</xsl:if>
|
5279
5466
|
<xsl:apply-templates/>
|
5280
5467
|
</fo:basic-link>
|
5281
5468
|
</xsl:template><xsl:template match="*[local-name() = 'formula']" name="formula">
|
@@ -5373,6 +5560,13 @@
|
|
5373
5560
|
|
5374
5561
|
|
5375
5562
|
|
5563
|
+
<!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
|
5564
|
+
<!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
|
5565
|
+
<xsl:if test="*[not(local-name()='name')][1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
|
5566
|
+
<xsl:call-template name="append_add-style"/>
|
5567
|
+
</xsl:if>
|
5568
|
+
|
5569
|
+
|
5376
5570
|
<!-- if note contains only one element and first and last childs are `add` ace-tag, then move start ace-tag before NOTE's name-->
|
5377
5571
|
<xsl:if test="count(*[not(local-name() = 'name')]) = 1 and *[not(local-name() = 'name')]/node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]">
|
5378
5572
|
<xsl:apply-templates select="*[not(local-name() = 'name')]/node()[1][local-name() = 'add'][starts-with(text(), $ace_tag)]">
|
@@ -5411,6 +5605,12 @@
|
|
5411
5605
|
|
5412
5606
|
|
5413
5607
|
|
5608
|
+
<!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
|
5609
|
+
<!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
|
5610
|
+
<xsl:if test="*[not(local-name()='name')][1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
|
5611
|
+
<xsl:call-template name="append_add-style"/>
|
5612
|
+
</xsl:if>
|
5613
|
+
|
5414
5614
|
<xsl:apply-templates select="*[local-name() = 'name']"/>
|
5415
5615
|
|
5416
5616
|
</fo:inline>
|
@@ -5462,6 +5662,7 @@
|
|
5462
5662
|
</fo:block>
|
5463
5663
|
</xsl:template><xsl:template match="*[local-name() = 'term']">
|
5464
5664
|
<fo:block id="{@id}" xsl:use-attribute-sets="term-style">
|
5665
|
+
|
5465
5666
|
|
5466
5667
|
|
5467
5668
|
|
@@ -5900,7 +6101,11 @@
|
|
5900
6101
|
<xsl:value-of select="."/>
|
5901
6102
|
</xsl:template><xsl:template match="node()" mode="contents">
|
5902
6103
|
<xsl:apply-templates mode="contents"/>
|
5903
|
-
</xsl:template><xsl:template match="*[local-name() = 'p'][@type = '
|
6104
|
+
</xsl:template><xsl:template match="*[local-name() = 'preface' or local-name() = 'sections']/*[local-name() = 'p'][@type = 'section-title' and not(@displayorder)]" priority="3" mode="contents"/><xsl:template match="*[local-name() = 'p'][@type = 'section-title' and not(@displayorder)]" mode="contents_no_displayorder">
|
6105
|
+
<xsl:call-template name="contents_section-title"/>
|
6106
|
+
</xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'section-title']" mode="contents_in_clause">
|
6107
|
+
<xsl:call-template name="contents_section-title"/>
|
6108
|
+
</xsl:template><xsl:template match="*[local-name() = 'clause']/*[local-name() = 'p'][@type = 'section-title' and (@depth != ../*[local-name() = 'title']/@depth or ../*[local-name() = 'title']/@depth = 1)]" priority="3" mode="contents"/><xsl:template match="*[local-name() = 'p'][@type = 'floating-title' or @type = 'section-title']" priority="2" name="contents_section-title" mode="contents">
|
5904
6109
|
<xsl:variable name="level">
|
5905
6110
|
<xsl:call-template name="getLevel">
|
5906
6111
|
<xsl:with-param name="depth" select="@depth"/>
|
@@ -5969,13 +6174,14 @@
|
|
5969
6174
|
<xsl:apply-templates mode="bookmarks"/>
|
5970
6175
|
</xsl:template><xsl:template name="addBookmarks">
|
5971
6176
|
<xsl:param name="contents"/>
|
5972
|
-
<xsl:
|
6177
|
+
<xsl:variable name="contents_nodes" select="xalan:nodeset($contents)"/>
|
6178
|
+
<xsl:if test="$contents_nodes//item">
|
5973
6179
|
<fo:bookmark-tree>
|
5974
6180
|
<xsl:choose>
|
5975
|
-
<xsl:when test="
|
6181
|
+
<xsl:when test="$contents_nodes/doc">
|
5976
6182
|
<xsl:choose>
|
5977
|
-
<xsl:when test="count(
|
5978
|
-
<xsl:for-each select="
|
6183
|
+
<xsl:when test="count($contents_nodes/doc) > 1">
|
6184
|
+
<xsl:for-each select="$contents_nodes/doc">
|
5979
6185
|
<fo:bookmark internal-destination="{contents/item[1]/@id}" starting-state="hide">
|
5980
6186
|
<xsl:if test="@bundle = 'true'">
|
5981
6187
|
<xsl:attribute name="internal-destination"><xsl:value-of select="@firstpage_id"/></xsl:attribute>
|
@@ -6026,7 +6232,7 @@
|
|
6026
6232
|
</xsl:for-each>
|
6027
6233
|
</xsl:when>
|
6028
6234
|
<xsl:otherwise>
|
6029
|
-
<xsl:for-each select="
|
6235
|
+
<xsl:for-each select="$contents_nodes/doc">
|
6030
6236
|
|
6031
6237
|
<xsl:apply-templates select="contents/item" mode="bookmark"/>
|
6032
6238
|
|
@@ -6044,25 +6250,36 @@
|
|
6044
6250
|
</xsl:choose>
|
6045
6251
|
</xsl:when>
|
6046
6252
|
<xsl:otherwise>
|
6047
|
-
<xsl:apply-templates select="
|
6253
|
+
<xsl:apply-templates select="$contents_nodes/contents/item" mode="bookmark"/>
|
6254
|
+
|
6255
|
+
<xsl:call-template name="insertFigureBookmarks">
|
6256
|
+
<xsl:with-param name="contents" select="$contents_nodes/contents"/>
|
6257
|
+
</xsl:call-template>
|
6258
|
+
|
6259
|
+
<xsl:call-template name="insertTableBookmarks">
|
6260
|
+
<xsl:with-param name="contents" select="$contents_nodes/contents"/>
|
6261
|
+
<xsl:with-param name="lang" select="@lang"/>
|
6262
|
+
</xsl:call-template>
|
6263
|
+
|
6048
6264
|
</xsl:otherwise>
|
6049
6265
|
</xsl:choose>
|
6050
6266
|
|
6267
|
+
|
6051
6268
|
|
6052
6269
|
|
6053
6270
|
|
6054
6271
|
|
6055
|
-
|
6056
|
-
|
6272
|
+
|
6057
6273
|
|
6058
6274
|
</fo:bookmark-tree>
|
6059
6275
|
</xsl:if>
|
6060
6276
|
</xsl:template><xsl:template name="insertFigureBookmarks">
|
6061
6277
|
<xsl:param name="contents"/>
|
6062
|
-
<xsl:
|
6063
|
-
|
6278
|
+
<xsl:variable name="contents_nodes" select="xalan:nodeset($contents)"/>
|
6279
|
+
<xsl:if test="$contents_nodes/figure">
|
6280
|
+
<fo:bookmark internal-destination="{$contents_nodes/figure[1]/@id}" starting-state="hide">
|
6064
6281
|
<fo:bookmark-title>Figures</fo:bookmark-title>
|
6065
|
-
<xsl:for-each select="
|
6282
|
+
<xsl:for-each select="$contents_nodes/figure">
|
6066
6283
|
<fo:bookmark internal-destination="{@id}">
|
6067
6284
|
<fo:bookmark-title>
|
6068
6285
|
<xsl:value-of select="normalize-space(title)"/>
|
@@ -6071,18 +6288,40 @@
|
|
6071
6288
|
</xsl:for-each>
|
6072
6289
|
</fo:bookmark>
|
6073
6290
|
</xsl:if>
|
6291
|
+
|
6292
|
+
|
6293
|
+
<xsl:if test="$contents_nodes//figures/figure">
|
6294
|
+
<fo:bookmark internal-destination="empty_bookmark" starting-state="hide">
|
6295
|
+
|
6296
|
+
|
6297
|
+
|
6298
|
+
<xsl:variable name="bookmark-title">
|
6299
|
+
|
6300
|
+
<xsl:value-of select="$title-list-figures"/>
|
6301
|
+
|
6302
|
+
</xsl:variable>
|
6303
|
+
<fo:bookmark-title><xsl:value-of select="normalize-space($bookmark-title)"/></fo:bookmark-title>
|
6304
|
+
<xsl:for-each select="$contents_nodes//figures/figure">
|
6305
|
+
<fo:bookmark internal-destination="{@id}">
|
6306
|
+
<fo:bookmark-title><xsl:value-of select="normalize-space(.)"/></fo:bookmark-title>
|
6307
|
+
</fo:bookmark>
|
6308
|
+
</xsl:for-each>
|
6309
|
+
</fo:bookmark>
|
6310
|
+
</xsl:if>
|
6311
|
+
|
6074
6312
|
</xsl:template><xsl:template name="insertTableBookmarks">
|
6075
6313
|
<xsl:param name="contents"/>
|
6076
6314
|
<xsl:param name="lang"/>
|
6077
|
-
<xsl:
|
6078
|
-
|
6315
|
+
<xsl:variable name="contents_nodes" select="xalan:nodeset($contents)"/>
|
6316
|
+
<xsl:if test="$contents_nodes/table">
|
6317
|
+
<fo:bookmark internal-destination="{$contents_nodes/table[1]/@id}" starting-state="hide">
|
6079
6318
|
<fo:bookmark-title>
|
6080
6319
|
<xsl:choose>
|
6081
6320
|
<xsl:when test="$lang = 'fr'">Tableaux</xsl:when>
|
6082
6321
|
<xsl:otherwise>Tables</xsl:otherwise>
|
6083
6322
|
</xsl:choose>
|
6084
6323
|
</fo:bookmark-title>
|
6085
|
-
<xsl:for-each select="
|
6324
|
+
<xsl:for-each select="$contents_nodes/table">
|
6086
6325
|
<fo:bookmark internal-destination="{@id}">
|
6087
6326
|
<fo:bookmark-title>
|
6088
6327
|
<xsl:value-of select="normalize-space(title)"/>
|
@@ -6091,6 +6330,29 @@
|
|
6091
6330
|
</xsl:for-each>
|
6092
6331
|
</fo:bookmark>
|
6093
6332
|
</xsl:if>
|
6333
|
+
|
6334
|
+
|
6335
|
+
<xsl:if test="$contents_nodes//tables/table">
|
6336
|
+
<fo:bookmark internal-destination="empty_bookmark" starting-state="hide">
|
6337
|
+
|
6338
|
+
|
6339
|
+
|
6340
|
+
<xsl:variable name="bookmark-title">
|
6341
|
+
|
6342
|
+
<xsl:value-of select="$title-list-tables"/>
|
6343
|
+
|
6344
|
+
</xsl:variable>
|
6345
|
+
|
6346
|
+
<fo:bookmark-title><xsl:value-of select="$bookmark-title"/></fo:bookmark-title>
|
6347
|
+
|
6348
|
+
<xsl:for-each select="$contents_nodes//tables/table">
|
6349
|
+
<fo:bookmark internal-destination="{@id}">
|
6350
|
+
<fo:bookmark-title><xsl:value-of select="normalize-space(.)"/></fo:bookmark-title>
|
6351
|
+
</fo:bookmark>
|
6352
|
+
</xsl:for-each>
|
6353
|
+
</fo:bookmark>
|
6354
|
+
</xsl:if>
|
6355
|
+
|
6094
6356
|
</xsl:template><xsl:template name="getLangVersion">
|
6095
6357
|
<xsl:param name="lang"/>
|
6096
6358
|
<xsl:param name="doctype" select="''"/>
|
@@ -6315,7 +6577,51 @@
|
|
6315
6577
|
<xsl:with-param name="text" select="$text_step1"/>
|
6316
6578
|
</xsl:call-template>
|
6317
6579
|
</xsl:variable>
|
6318
|
-
|
6580
|
+
|
6581
|
+
<!-- <xsl:value-of select="$text_step2"/> -->
|
6582
|
+
|
6583
|
+
<!-- add zero-width space after space -->
|
6584
|
+
<xsl:variable name="text_step3" select="java:replaceAll(java:java.lang.String.new($text_step2),' ',' ')"/>
|
6585
|
+
|
6586
|
+
<!-- split text by zero-width space -->
|
6587
|
+
<xsl:variable name="text_step4">
|
6588
|
+
<xsl:call-template name="split">
|
6589
|
+
<xsl:with-param name="pText" select="$text_step3"/>
|
6590
|
+
<xsl:with-param name="sep" select="$zero_width_space"/>
|
6591
|
+
<xsl:with-param name="normalize-space">false</xsl:with-param>
|
6592
|
+
<xsl:with-param name="keep_sep">true</xsl:with-param>
|
6593
|
+
</xsl:call-template>
|
6594
|
+
</xsl:variable>
|
6595
|
+
|
6596
|
+
<xsl:for-each select="xalan:nodeset($text_step4)/item">
|
6597
|
+
<xsl:choose>
|
6598
|
+
<xsl:when test="string-length() > 30"> <!-- word with length more than 30 will be interspersed with zero-width space -->
|
6599
|
+
<xsl:call-template name="interspers">
|
6600
|
+
<xsl:with-param name="str" select="."/>
|
6601
|
+
</xsl:call-template>
|
6602
|
+
</xsl:when>
|
6603
|
+
<xsl:otherwise>
|
6604
|
+
<xsl:value-of select="."/>
|
6605
|
+
</xsl:otherwise>
|
6606
|
+
</xsl:choose>
|
6607
|
+
</xsl:for-each>
|
6608
|
+
|
6609
|
+
</xsl:template><xsl:template name="interspers">
|
6610
|
+
<xsl:param name="str"/>
|
6611
|
+
<xsl:param name="char" select="$zero_width_space"/>
|
6612
|
+
<xsl:if test="$str != ''">
|
6613
|
+
<xsl:value-of select="substring($str, 1, 1)"/>
|
6614
|
+
|
6615
|
+
<xsl:variable name="next_char" select="substring($str, 2, 1)"/>
|
6616
|
+
<xsl:if test="not(contains(concat(' -.:=_— ', $char), $next_char))">
|
6617
|
+
<xsl:value-of select="$char"/>
|
6618
|
+
</xsl:if>
|
6619
|
+
|
6620
|
+
<xsl:call-template name="interspers">
|
6621
|
+
<xsl:with-param name="str" select="substring($str, 2)"/>
|
6622
|
+
<xsl:with-param name="char" select="$char"/>
|
6623
|
+
</xsl:call-template>
|
6624
|
+
</xsl:if>
|
6319
6625
|
</xsl:template><xsl:template match="*" mode="syntax_highlight">
|
6320
6626
|
<xsl:apply-templates mode="syntax_highlight"/>
|
6321
6627
|
</xsl:template><xsl:variable name="syntax_highlight_styles_">
|
@@ -6752,6 +7058,8 @@
|
|
6752
7058
|
</xsl:otherwise>
|
6753
7059
|
</xsl:choose> -->
|
6754
7060
|
</fo:block>
|
7061
|
+
</xsl:template><xsl:template match="*[local-name() = 'termsource']/text()[starts-with(., '[SOURCE: Adapted from: ')]" priority="2">
|
7062
|
+
<xsl:text>[</xsl:text><xsl:value-of select="substring-after(., '[SOURCE: ')"/>
|
6755
7063
|
</xsl:template><xsl:template match="*[local-name() = 'termsource']/text()">
|
6756
7064
|
<xsl:if test="normalize-space() != ''">
|
6757
7065
|
<xsl:value-of select="."/>
|
@@ -6826,26 +7134,24 @@
|
|
6826
7134
|
</xsl:template><xsl:template match="*[local-name() = 'author']">
|
6827
7135
|
<xsl:text>— </xsl:text>
|
6828
7136
|
<xsl:apply-templates/>
|
6829
|
-
</xsl:template><xsl:variable name="
|
7137
|
+
</xsl:template><xsl:variable name="bibitems_">
|
7138
|
+
<xsl:for-each select="//*[local-name() = 'bibitem']">
|
7139
|
+
<xsl:copy-of select="."/>
|
7140
|
+
</xsl:for-each>
|
7141
|
+
</xsl:variable><xsl:variable name="bibitems" select="xalan:nodeset($bibitems_)"/><xsl:variable name="bibitems_hidden_">
|
6830
7142
|
<xsl:for-each select="//*[local-name() = 'bibitem'][@hidden='true']">
|
6831
7143
|
<xsl:copy-of select="."/>
|
6832
7144
|
</xsl:for-each>
|
6833
|
-
<xsl:for-each select="//*[local-name() = 'references'][@hidden='true']
|
7145
|
+
<xsl:for-each select="//*[local-name() = 'references'][@hidden='true']//*[local-name() = 'bibitem']">
|
6834
7146
|
<xsl:copy-of select="."/>
|
6835
7147
|
</xsl:for-each>
|
6836
|
-
</xsl:variable><xsl:variable name="
|
6837
|
-
|
6838
|
-
<xsl:variable name="
|
6839
|
-
|
6840
|
-
<!-- <xsl:when test="//*[local-name() = 'bibitem'][@hidden='true' and @id = current()/@bibitemid]"></xsl:when>
|
6841
|
-
<xsl:when test="//*[local-name() = 'references'][@hidden='true']/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"></xsl:when> -->
|
6842
|
-
<xsl:when test="$bibitem_hidden/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"/>
|
6843
|
-
<xsl:otherwise><xsl:value-of select="@bibitemid"/></xsl:otherwise>
|
6844
|
-
</xsl:choose>
|
6845
|
-
</xsl:variable>
|
6846
|
-
|
7148
|
+
</xsl:variable><xsl:variable name="bibitems_hidden" select="xalan:nodeset($bibitems_hidden_)"/><xsl:template match="*[local-name() = 'eref']">
|
7149
|
+
<xsl:variable name="current_bibitemid" select="@bibitemid"/>
|
7150
|
+
<!-- <xsl:variable name="external-destination" select="normalize-space(key('bibitems', $current_bibitemid)/*[local-name() = 'uri'][@type = 'citation'])"/> -->
|
7151
|
+
<xsl:variable name="external-destination" select="normalize-space($bibitems/*[local-name() ='bibitem'][@id = $current_bibitemid]/*[local-name() = 'uri'][@type = 'citation'])"/>
|
6847
7152
|
<xsl:choose>
|
6848
|
-
<xsl:when test="
|
7153
|
+
<!-- <xsl:when test="$external-destination != '' or not(key('bibitems_hidden', $current_bibitemid))"> --> <!-- if in the bibliography there is the item with @bibitemid (and not hidden), then create link (internal to the bibitem or external) -->
|
7154
|
+
<xsl:when test="$external-destination != '' or not($bibitems_hidden/*[local-name() ='bibitem'][@id = $current_bibitemid])"> <!-- if in the bibliography there is the item with @bibitemid (and not hidden), then create link (internal to the bibitem or external) -->
|
6849
7155
|
<fo:inline xsl:use-attribute-sets="eref-style">
|
6850
7156
|
<xsl:if test="@type = 'footnote'">
|
6851
7157
|
<xsl:attribute name="keep-together.within-line">always</xsl:attribute>
|
@@ -6859,8 +7165,8 @@
|
|
6859
7165
|
<xsl:variable name="text" select="normalize-space()"/>
|
6860
7166
|
|
6861
7167
|
|
6862
|
-
|
6863
|
-
<fo:basic-link
|
7168
|
+
|
7169
|
+
<fo:basic-link fox:alt-text="{@citeas}">
|
6864
7170
|
<xsl:if test="normalize-space(@citeas) = ''">
|
6865
7171
|
<xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
|
6866
7172
|
</xsl:if>
|
@@ -6870,14 +7176,21 @@
|
|
6870
7176
|
|
6871
7177
|
</xsl:if>
|
6872
7178
|
|
6873
|
-
|
7179
|
+
<xsl:choose>
|
7180
|
+
<xsl:when test="$external-destination != ''"> <!-- external hyperlink -->
|
7181
|
+
<xsl:attribute name="external-destination"><xsl:value-of select="$external-destination"/></xsl:attribute>
|
7182
|
+
</xsl:when>
|
7183
|
+
<xsl:otherwise>
|
7184
|
+
<xsl:attribute name="internal-destination"><xsl:value-of select="@bibitemid"/></xsl:attribute>
|
7185
|
+
</xsl:otherwise>
|
7186
|
+
</xsl:choose>
|
6874
7187
|
|
6875
7188
|
<xsl:apply-templates/>
|
6876
7189
|
</fo:basic-link>
|
6877
|
-
|
7190
|
+
|
6878
7191
|
</fo:inline>
|
6879
7192
|
</xsl:when>
|
6880
|
-
<xsl:otherwise>
|
7193
|
+
<xsl:otherwise> <!-- if there is key('bibitems_hidden', $current_bibitemid) -->
|
6881
7194
|
<fo:inline><xsl:apply-templates/></fo:inline>
|
6882
7195
|
</xsl:otherwise>
|
6883
7196
|
</xsl:choose>
|
@@ -7211,7 +7524,7 @@
|
|
7211
7524
|
|
7212
7525
|
|
7213
7526
|
|
7214
|
-
|
7527
|
+
|
7215
7528
|
<xsl:apply-templates select="node()[not(local-name() = 'note')]"/>
|
7216
7529
|
</fo:list-block>
|
7217
7530
|
<!-- <xsl:for-each select="./iho:note">
|
@@ -7229,6 +7542,11 @@
|
|
7229
7542
|
|
7230
7543
|
|
7231
7544
|
|
7545
|
+
<!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
|
7546
|
+
<xsl:if test="*[1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
|
7547
|
+
<xsl:call-template name="append_add-style"/>
|
7548
|
+
</xsl:if>
|
7549
|
+
|
7232
7550
|
<xsl:call-template name="getListItemFormat"/>
|
7233
7551
|
</fo:block>
|
7234
7552
|
</fo:list-item-label>
|
@@ -7598,27 +7916,47 @@
|
|
7598
7916
|
<xsl:apply-templates/>
|
7599
7917
|
</fo:inline>
|
7600
7918
|
</xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'note']" priority="2">
|
7919
|
+
|
7920
|
+
<!-- list of footnotes to calculate actual footnotes number -->
|
7921
|
+
<xsl:variable name="p_fn_">
|
7922
|
+
<xsl:call-template name="get_fn_list"/>
|
7923
|
+
</xsl:variable>
|
7924
|
+
<xsl:variable name="p_fn" select="xalan:nodeset($p_fn_)"/>
|
7925
|
+
<xsl:variable name="gen_id" select="generate-id(.)"/>
|
7926
|
+
<xsl:variable name="lang" select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibdata']//*[local-name()='language'][@current = 'true']"/>
|
7927
|
+
<!-- fn sequence number in document -->
|
7928
|
+
<xsl:variable name="current_fn_number">
|
7929
|
+
<xsl:choose>
|
7930
|
+
<xsl:when test="@current_fn_number"><xsl:value-of select="@current_fn_number"/></xsl:when> <!-- for BSI -->
|
7931
|
+
<xsl:otherwise>
|
7932
|
+
<!-- <xsl:value-of select="count($p_fn//fn[@reference = $reference]/preceding-sibling::fn) + 1" /> -->
|
7933
|
+
<xsl:value-of select="count($p_fn//fn[@gen_id = $gen_id]/preceding-sibling::fn) + 1"/>
|
7934
|
+
</xsl:otherwise>
|
7935
|
+
</xsl:choose>
|
7936
|
+
</xsl:variable>
|
7601
7937
|
<fo:footnote>
|
7602
7938
|
<xsl:variable name="number">
|
7603
7939
|
|
7604
|
-
<xsl:
|
7940
|
+
<xsl:value-of select="$current_fn_number"/>
|
7605
7941
|
|
7606
7942
|
</xsl:variable>
|
7607
|
-
|
7608
|
-
|
7609
|
-
|
7610
|
-
|
7943
|
+
|
7944
|
+
<xsl:variable name="current_fn_number_text">
|
7945
|
+
<xsl:value-of select="$number"/>
|
7946
|
+
|
7611
7947
|
<xsl:text>)</xsl:text>
|
7612
7948
|
|
7949
|
+
</xsl:variable>
|
7950
|
+
|
7951
|
+
<fo:inline xsl:use-attribute-sets="bibitem-note-fn-style">
|
7952
|
+
<fo:basic-link internal-destination="{$gen_id}" fox:alt-text="footnote {$number}">
|
7953
|
+
<xsl:value-of select="$current_fn_number_text"/>
|
7613
7954
|
</fo:basic-link>
|
7614
7955
|
</fo:inline>
|
7615
7956
|
<fo:footnote-body>
|
7616
7957
|
<fo:block xsl:use-attribute-sets="bibitem-note-fn-body-style">
|
7617
|
-
<fo:inline id="{
|
7618
|
-
<xsl:value-of select="$
|
7619
|
-
|
7620
|
-
<xsl:text>)</xsl:text>
|
7621
|
-
|
7958
|
+
<fo:inline id="{$gen_id}" xsl:use-attribute-sets="bibitem-note-fn-number-style">
|
7959
|
+
<xsl:value-of select="$current_fn_number_text"/>
|
7622
7960
|
</fo:inline>
|
7623
7961
|
<xsl:apply-templates/>
|
7624
7962
|
</fo:block>
|
@@ -7853,7 +8191,141 @@
|
|
7853
8191
|
<!-- processing for admonition/p found in the template for 'p' -->
|
7854
8192
|
<xsl:call-template name="paragraph"/>
|
7855
8193
|
|
7856
|
-
</xsl:template><xsl:template
|
8194
|
+
</xsl:template><xsl:template match="@*|node()" mode="update_xml_step1">
|
8195
|
+
<xsl:copy>
|
8196
|
+
<xsl:apply-templates select="@*|node()" mode="update_xml_step1"/>
|
8197
|
+
</xsl:copy>
|
8198
|
+
</xsl:template><xsl:template match="*[local-name() = 'preface']" mode="update_xml_step1">
|
8199
|
+
<xsl:copy>
|
8200
|
+
<xsl:copy-of select="@*"/>
|
8201
|
+
|
8202
|
+
<xsl:variable name="nodes_preface_">
|
8203
|
+
<xsl:for-each select="*">
|
8204
|
+
<node id="{@id}"/>
|
8205
|
+
</xsl:for-each>
|
8206
|
+
</xsl:variable>
|
8207
|
+
<xsl:variable name="nodes_preface" select="xalan:nodeset($nodes_preface_)"/>
|
8208
|
+
|
8209
|
+
<xsl:for-each select="*">
|
8210
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
8211
|
+
|
8212
|
+
<!-- process Section's title -->
|
8213
|
+
<xsl:variable name="preceding-sibling_id" select="$nodes_preface/node[@id = current()/@id]/preceding-sibling::node[1]/@id"/>
|
8214
|
+
<xsl:if test="$preceding-sibling_id != ''">
|
8215
|
+
<xsl:apply-templates select="parent::*/*[@type = 'section-title' and @id = $preceding-sibling_id and not(@displayorder)]" mode="update_xml_step1"/>
|
8216
|
+
</xsl:if>
|
8217
|
+
|
8218
|
+
<xsl:choose>
|
8219
|
+
<xsl:when test="@type = 'section-title' and not(@displayorder)"><!-- skip, don't copy, because copied in above 'apply-templates' --></xsl:when>
|
8220
|
+
<xsl:otherwise>
|
8221
|
+
<xsl:apply-templates select="." mode="update_xml_step1"/>
|
8222
|
+
</xsl:otherwise>
|
8223
|
+
</xsl:choose>
|
8224
|
+
|
8225
|
+
</xsl:for-each>
|
8226
|
+
</xsl:copy>
|
8227
|
+
</xsl:template><xsl:template match="*[local-name() = 'sections']" mode="update_xml_step1">
|
8228
|
+
<xsl:copy>
|
8229
|
+
<xsl:copy-of select="@*"/>
|
8230
|
+
|
8231
|
+
<xsl:variable name="nodes_sections_">
|
8232
|
+
<xsl:for-each select="*">
|
8233
|
+
<node id="{@id}"/>
|
8234
|
+
</xsl:for-each>
|
8235
|
+
</xsl:variable>
|
8236
|
+
<xsl:variable name="nodes_sections" select="xalan:nodeset($nodes_sections_)"/>
|
8237
|
+
|
8238
|
+
<!-- move section 'Normative references' inside 'sections' -->
|
8239
|
+
<xsl:for-each select="* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibliography']/*[local-name()='references'][@normative='true'] | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][@normative='true']]">
|
8240
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
8241
|
+
|
8242
|
+
<!-- process Section's title -->
|
8243
|
+
<xsl:variable name="preceding-sibling_id" select="$nodes_sections/node[@id = current()/@id]/preceding-sibling::node[1]/@id"/>
|
8244
|
+
<xsl:if test="$preceding-sibling_id != ''">
|
8245
|
+
<xsl:apply-templates select="parent::*/*[@type = 'section-title' and @id = $preceding-sibling_id and not(@displayorder)]" mode="update_xml_step1"/>
|
8246
|
+
</xsl:if>
|
8247
|
+
|
8248
|
+
<xsl:choose>
|
8249
|
+
<xsl:when test="@type = 'section-title' and not(@displayorder)"><!-- skip, don't copy, because copied in above 'apply-templates' --></xsl:when>
|
8250
|
+
<xsl:otherwise>
|
8251
|
+
<xsl:apply-templates select="." mode="update_xml_step1"/>
|
8252
|
+
</xsl:otherwise>
|
8253
|
+
</xsl:choose>
|
8254
|
+
|
8255
|
+
</xsl:for-each>
|
8256
|
+
</xsl:copy>
|
8257
|
+
</xsl:template><xsl:template match="*[local-name() = 'bibliography']" mode="update_xml_step1">
|
8258
|
+
<xsl:copy>
|
8259
|
+
<xsl:copy-of select="@*"/>
|
8260
|
+
<!-- copy all elements from bibliography except 'Normative references' (moved to 'sections') -->
|
8261
|
+
<xsl:for-each select="*[not(@normative='true') and not(*[@normative='true'])]">
|
8262
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
8263
|
+
<xsl:apply-templates select="." mode="update_xml_step1"/>
|
8264
|
+
</xsl:for-each>
|
8265
|
+
</xsl:copy>
|
8266
|
+
</xsl:template>
|
8267
|
+
<!-- STEP2: add 'fn' after 'eref' and 'origin', if referenced to bibitem with 'note' = Withdrawn.' or 'Cancelled and replaced...' -->
|
8268
|
+
<xsl:template match="@*|node()" mode="update_xml_step2">
|
8269
|
+
<xsl:copy>
|
8270
|
+
<xsl:apply-templates select="@*|node()" mode="update_xml_step2"/>
|
8271
|
+
</xsl:copy>
|
8272
|
+
</xsl:template>
|
8273
|
+
|
8274
|
+
<xsl:variable name="localized_string_withdrawn">
|
8275
|
+
<xsl:call-template name="getLocalizedString">
|
8276
|
+
<xsl:with-param name="key">withdrawn</xsl:with-param>
|
8277
|
+
</xsl:call-template>
|
8278
|
+
</xsl:variable>
|
8279
|
+
<xsl:variable name="localized_string_cancelled_and_replaced">
|
8280
|
+
<xsl:variable name="str">
|
8281
|
+
<xsl:call-template name="getLocalizedString">
|
8282
|
+
<xsl:with-param name="key">cancelled_and_replaced</xsl:with-param>
|
8283
|
+
</xsl:call-template>
|
8284
|
+
</xsl:variable>
|
8285
|
+
<xsl:choose>
|
8286
|
+
<xsl:when test="contains($str, '%')"><xsl:value-of select="substring-before($str, '%')"/></xsl:when>
|
8287
|
+
<xsl:otherwise><xsl:value-of select="$str"/></xsl:otherwise>
|
8288
|
+
</xsl:choose>
|
8289
|
+
</xsl:variable>
|
8290
|
+
|
8291
|
+
<!-- add 'fn' after eref and origin, to reference bibitem with note = 'Withdrawn.' or 'Cancelled and replaced...' -->
|
8292
|
+
<xsl:template match="*[local-name() = 'eref'] | *[local-name() = 'origin']" mode="update_xml_step2">
|
8293
|
+
<xsl:copy-of select="."/>
|
8294
|
+
|
8295
|
+
<xsl:variable name="bibitemid" select="@bibitemid"/>
|
8296
|
+
<xsl:variable name="local_name" select="local-name()"/>
|
8297
|
+
<xsl:variable name="position"><xsl:number count="*[local-name() = $local_name][@bibitemid = $bibitemid]" level="any"/></xsl:variable>
|
8298
|
+
<xsl:if test="normalize-space($position) = '1'">
|
8299
|
+
<xsl:variable name="fn_text">
|
8300
|
+
<!-- <xsl:copy-of select="key('bibitems', $bibitemid)[1]/*[local-name() = 'note'][not(@type='Unpublished-Status')][normalize-space() = $localized_string_withdrawn or starts-with(normalize-space(), $localized_string_cancelled_and_replaced)]/node()" /> -->
|
8301
|
+
<xsl:copy-of select="$bibitems/*[local-name() ='bibitem'][@id = $bibitemid][1]/*[local-name() = 'note'][not(@type='Unpublished-Status')][normalize-space() = $localized_string_withdrawn or starts-with(normalize-space(), $localized_string_cancelled_and_replaced)]/node()"/>
|
8302
|
+
</xsl:variable>
|
8303
|
+
<xsl:if test="normalize-space($fn_text) != ''">
|
8304
|
+
<xsl:element name="fn" namespace="{$namespace_full}">
|
8305
|
+
<xsl:attribute name="reference">bibitem_<xsl:value-of select="$bibitemid"/></xsl:attribute>
|
8306
|
+
<xsl:element name="p" namespace="{$namespace_full}">
|
8307
|
+
<xsl:copy-of select="$fn_text"/>
|
8308
|
+
</xsl:element>
|
8309
|
+
</xsl:element>
|
8310
|
+
</xsl:if>
|
8311
|
+
</xsl:if>
|
8312
|
+
</xsl:template>
|
8313
|
+
|
8314
|
+
<!-- add @reference for bibitem/note, similar to fn/reference -->
|
8315
|
+
<xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'note']" mode="update_xml_step2">
|
8316
|
+
<xsl:copy>
|
8317
|
+
<xsl:apply-templates select="@*" mode="update_xml_step2"/>
|
8318
|
+
|
8319
|
+
<xsl:attribute name="reference">
|
8320
|
+
<xsl:value-of select="concat('bibitem_', ../@id, '_', count(preceding-sibling::*[local-name() = 'note']))"/>
|
8321
|
+
</xsl:attribute>
|
8322
|
+
|
8323
|
+
<xsl:apply-templates select="node()" mode="update_xml_step2"/>
|
8324
|
+
</xsl:copy>
|
8325
|
+
</xsl:template>
|
8326
|
+
|
8327
|
+
<!-- END STEP2: add 'fn' after 'eref' and 'origin', if referenced to bibitem with 'note' = Withdrawn.' or 'Cancelled and replaced...' -->
|
8328
|
+
<xsl:template name="convertDate">
|
7857
8329
|
<xsl:param name="date"/>
|
7858
8330
|
<xsl:param name="format" select="'short'"/>
|
7859
8331
|
<xsl:variable name="year" select="substring($date, 1, 4)"/>
|
@@ -8097,22 +8569,25 @@
|
|
8097
8569
|
<xsl:param name="pText" select="."/>
|
8098
8570
|
<xsl:param name="sep" select="','"/>
|
8099
8571
|
<xsl:param name="normalize-space" select="'true'"/>
|
8572
|
+
<xsl:param name="keep_sep" select="'false'"/>
|
8100
8573
|
<xsl:if test="string-length($pText) >0">
|
8101
|
-
|
8102
|
-
|
8103
|
-
|
8104
|
-
|
8105
|
-
|
8106
|
-
|
8107
|
-
|
8108
|
-
|
8109
|
-
|
8110
|
-
|
8111
|
-
|
8112
|
-
<xsl:
|
8113
|
-
|
8114
|
-
|
8115
|
-
|
8574
|
+
<item>
|
8575
|
+
<xsl:choose>
|
8576
|
+
<xsl:when test="$normalize-space = 'true'">
|
8577
|
+
<xsl:value-of select="normalize-space(substring-before(concat($pText, $sep), $sep))"/>
|
8578
|
+
</xsl:when>
|
8579
|
+
<xsl:otherwise>
|
8580
|
+
<xsl:value-of select="substring-before(concat($pText, $sep), $sep)"/>
|
8581
|
+
</xsl:otherwise>
|
8582
|
+
</xsl:choose>
|
8583
|
+
</item>
|
8584
|
+
<xsl:if test="$keep_sep = 'true' and contains($pText, $sep)"><item><xsl:value-of select="$sep"/></item></xsl:if>
|
8585
|
+
<xsl:call-template name="split">
|
8586
|
+
<xsl:with-param name="pText" select="substring-after($pText, $sep)"/>
|
8587
|
+
<xsl:with-param name="sep" select="$sep"/>
|
8588
|
+
<xsl:with-param name="normalize-space" select="$normalize-space"/>
|
8589
|
+
<xsl:with-param name="keep_sep" select="$keep_sep"/>
|
8590
|
+
</xsl:call-template>
|
8116
8591
|
</xsl:if>
|
8117
8592
|
</xsl:template><xsl:template name="getDocumentId">
|
8118
8593
|
<xsl:call-template name="getLang"/><xsl:value-of select="//*[local-name() = 'p'][1]/@id"/>
|
@@ -8303,53 +8778,153 @@
|
|
8303
8778
|
<xsl:param name="first"/>
|
8304
8779
|
<xsl:if test="$number != ''">
|
8305
8780
|
<xsl:variable name="words">
|
8306
|
-
|
8307
|
-
<
|
8308
|
-
|
8309
|
-
|
8310
|
-
|
8311
|
-
|
8312
|
-
|
8313
|
-
|
8314
|
-
|
8315
|
-
|
8316
|
-
|
8317
|
-
|
8318
|
-
|
8319
|
-
|
8320
|
-
|
8321
|
-
|
8322
|
-
|
8323
|
-
|
8324
|
-
|
8325
|
-
|
8326
|
-
|
8327
|
-
|
8328
|
-
|
8329
|
-
|
8330
|
-
|
8331
|
-
|
8332
|
-
|
8333
|
-
|
8334
|
-
|
8335
|
-
|
8336
|
-
|
8337
|
-
|
8338
|
-
|
8339
|
-
|
8340
|
-
|
8341
|
-
|
8342
|
-
|
8343
|
-
|
8344
|
-
|
8345
|
-
|
8346
|
-
|
8347
|
-
|
8348
|
-
|
8349
|
-
|
8350
|
-
|
8351
|
-
|
8352
|
-
|
8781
|
+
<words>
|
8782
|
+
<xsl:choose>
|
8783
|
+
<xsl:when test="$lang = 'fr'"> <!-- https://en.wiktionary.org/wiki/Appendix:French_numbers -->
|
8784
|
+
<word cardinal="1">Une-</word>
|
8785
|
+
<word ordinal="1">Première </word>
|
8786
|
+
<word cardinal="2">Deux-</word>
|
8787
|
+
<word ordinal="2">Seconde </word>
|
8788
|
+
<word cardinal="3">Trois-</word>
|
8789
|
+
<word ordinal="3">Tierce </word>
|
8790
|
+
<word cardinal="4">Quatre-</word>
|
8791
|
+
<word ordinal="4">Quatrième </word>
|
8792
|
+
<word cardinal="5">Cinq-</word>
|
8793
|
+
<word ordinal="5">Cinquième </word>
|
8794
|
+
<word cardinal="6">Six-</word>
|
8795
|
+
<word ordinal="6">Sixième </word>
|
8796
|
+
<word cardinal="7">Sept-</word>
|
8797
|
+
<word ordinal="7">Septième </word>
|
8798
|
+
<word cardinal="8">Huit-</word>
|
8799
|
+
<word ordinal="8">Huitième </word>
|
8800
|
+
<word cardinal="9">Neuf-</word>
|
8801
|
+
<word ordinal="9">Neuvième </word>
|
8802
|
+
<word ordinal="10">Dixième </word>
|
8803
|
+
<word ordinal="11">Onzième </word>
|
8804
|
+
<word ordinal="12">Douzième </word>
|
8805
|
+
<word ordinal="13">Treizième </word>
|
8806
|
+
<word ordinal="14">Quatorzième </word>
|
8807
|
+
<word ordinal="15">Quinzième </word>
|
8808
|
+
<word ordinal="16">Seizième </word>
|
8809
|
+
<word ordinal="17">Dix-septième </word>
|
8810
|
+
<word ordinal="18">Dix-huitième </word>
|
8811
|
+
<word ordinal="19">Dix-neuvième </word>
|
8812
|
+
<word cardinal="20">Vingt-</word>
|
8813
|
+
<word ordinal="20">Vingtième </word>
|
8814
|
+
<word cardinal="30">Trente-</word>
|
8815
|
+
<word ordinal="30">Trentième </word>
|
8816
|
+
<word cardinal="40">Quarante-</word>
|
8817
|
+
<word ordinal="40">Quarantième </word>
|
8818
|
+
<word cardinal="50">Cinquante-</word>
|
8819
|
+
<word ordinal="50">Cinquantième </word>
|
8820
|
+
<word cardinal="60">Soixante-</word>
|
8821
|
+
<word ordinal="60">Soixantième </word>
|
8822
|
+
<word cardinal="70">Septante-</word>
|
8823
|
+
<word ordinal="70">Septantième </word>
|
8824
|
+
<word cardinal="80">Huitante-</word>
|
8825
|
+
<word ordinal="80">Huitantième </word>
|
8826
|
+
<word cardinal="90">Nonante-</word>
|
8827
|
+
<word ordinal="90">Nonantième </word>
|
8828
|
+
<word cardinal="100">Cent-</word>
|
8829
|
+
<word ordinal="100">Centième </word>
|
8830
|
+
</xsl:when>
|
8831
|
+
<xsl:when test="$lang = 'ru'">
|
8832
|
+
<word cardinal="1">Одна-</word>
|
8833
|
+
<word ordinal="1">Первое </word>
|
8834
|
+
<word cardinal="2">Две-</word>
|
8835
|
+
<word ordinal="2">Второе </word>
|
8836
|
+
<word cardinal="3">Три-</word>
|
8837
|
+
<word ordinal="3">Третье </word>
|
8838
|
+
<word cardinal="4">Четыре-</word>
|
8839
|
+
<word ordinal="4">Четвертое </word>
|
8840
|
+
<word cardinal="5">Пять-</word>
|
8841
|
+
<word ordinal="5">Пятое </word>
|
8842
|
+
<word cardinal="6">Шесть-</word>
|
8843
|
+
<word ordinal="6">Шестое </word>
|
8844
|
+
<word cardinal="7">Семь-</word>
|
8845
|
+
<word ordinal="7">Седьмое </word>
|
8846
|
+
<word cardinal="8">Восемь-</word>
|
8847
|
+
<word ordinal="8">Восьмое </word>
|
8848
|
+
<word cardinal="9">Девять-</word>
|
8849
|
+
<word ordinal="9">Девятое </word>
|
8850
|
+
<word ordinal="10">Десятое </word>
|
8851
|
+
<word ordinal="11">Одиннадцатое </word>
|
8852
|
+
<word ordinal="12">Двенадцатое </word>
|
8853
|
+
<word ordinal="13">Тринадцатое </word>
|
8854
|
+
<word ordinal="14">Четырнадцатое </word>
|
8855
|
+
<word ordinal="15">Пятнадцатое </word>
|
8856
|
+
<word ordinal="16">Шестнадцатое </word>
|
8857
|
+
<word ordinal="17">Семнадцатое </word>
|
8858
|
+
<word ordinal="18">Восемнадцатое </word>
|
8859
|
+
<word ordinal="19">Девятнадцатое </word>
|
8860
|
+
<word cardinal="20">Двадцать-</word>
|
8861
|
+
<word ordinal="20">Двадцатое </word>
|
8862
|
+
<word cardinal="30">Тридцать-</word>
|
8863
|
+
<word ordinal="30">Тридцатое </word>
|
8864
|
+
<word cardinal="40">Сорок-</word>
|
8865
|
+
<word ordinal="40">Сороковое </word>
|
8866
|
+
<word cardinal="50">Пятьдесят-</word>
|
8867
|
+
<word ordinal="50">Пятидесятое </word>
|
8868
|
+
<word cardinal="60">Шестьдесят-</word>
|
8869
|
+
<word ordinal="60">Шестидесятое </word>
|
8870
|
+
<word cardinal="70">Семьдесят-</word>
|
8871
|
+
<word ordinal="70">Семидесятое </word>
|
8872
|
+
<word cardinal="80">Восемьдесят-</word>
|
8873
|
+
<word ordinal="80">Восьмидесятое </word>
|
8874
|
+
<word cardinal="90">Девяносто-</word>
|
8875
|
+
<word ordinal="90">Девяностое </word>
|
8876
|
+
<word cardinal="100">Сто-</word>
|
8877
|
+
<word ordinal="100">Сотое </word>
|
8878
|
+
</xsl:when>
|
8879
|
+
<xsl:otherwise> <!-- default english -->
|
8880
|
+
<word cardinal="1">One-</word>
|
8881
|
+
<word ordinal="1">First </word>
|
8882
|
+
<word cardinal="2">Two-</word>
|
8883
|
+
<word ordinal="2">Second </word>
|
8884
|
+
<word cardinal="3">Three-</word>
|
8885
|
+
<word ordinal="3">Third </word>
|
8886
|
+
<word cardinal="4">Four-</word>
|
8887
|
+
<word ordinal="4">Fourth </word>
|
8888
|
+
<word cardinal="5">Five-</word>
|
8889
|
+
<word ordinal="5">Fifth </word>
|
8890
|
+
<word cardinal="6">Six-</word>
|
8891
|
+
<word ordinal="6">Sixth </word>
|
8892
|
+
<word cardinal="7">Seven-</word>
|
8893
|
+
<word ordinal="7">Seventh </word>
|
8894
|
+
<word cardinal="8">Eight-</word>
|
8895
|
+
<word ordinal="8">Eighth </word>
|
8896
|
+
<word cardinal="9">Nine-</word>
|
8897
|
+
<word ordinal="9">Ninth </word>
|
8898
|
+
<word ordinal="10">Tenth </word>
|
8899
|
+
<word ordinal="11">Eleventh </word>
|
8900
|
+
<word ordinal="12">Twelfth </word>
|
8901
|
+
<word ordinal="13">Thirteenth </word>
|
8902
|
+
<word ordinal="14">Fourteenth </word>
|
8903
|
+
<word ordinal="15">Fifteenth </word>
|
8904
|
+
<word ordinal="16">Sixteenth </word>
|
8905
|
+
<word ordinal="17">Seventeenth </word>
|
8906
|
+
<word ordinal="18">Eighteenth </word>
|
8907
|
+
<word ordinal="19">Nineteenth </word>
|
8908
|
+
<word cardinal="20">Twenty-</word>
|
8909
|
+
<word ordinal="20">Twentieth </word>
|
8910
|
+
<word cardinal="30">Thirty-</word>
|
8911
|
+
<word ordinal="30">Thirtieth </word>
|
8912
|
+
<word cardinal="40">Forty-</word>
|
8913
|
+
<word ordinal="40">Fortieth </word>
|
8914
|
+
<word cardinal="50">Fifty-</word>
|
8915
|
+
<word ordinal="50">Fiftieth </word>
|
8916
|
+
<word cardinal="60">Sixty-</word>
|
8917
|
+
<word ordinal="60">Sixtieth </word>
|
8918
|
+
<word cardinal="70">Seventy-</word>
|
8919
|
+
<word ordinal="70">Seventieth </word>
|
8920
|
+
<word cardinal="80">Eighty-</word>
|
8921
|
+
<word ordinal="80">Eightieth </word>
|
8922
|
+
<word cardinal="90">Ninety-</word>
|
8923
|
+
<word ordinal="90">Ninetieth </word>
|
8924
|
+
<word cardinal="100">Hundred-</word>
|
8925
|
+
<word ordinal="100">Hundredth </word>
|
8926
|
+
</xsl:otherwise>
|
8927
|
+
</xsl:choose>
|
8353
8928
|
</words>
|
8354
8929
|
</xsl:variable>
|
8355
8930
|
|
@@ -8423,4 +8998,18 @@
|
|
8423
8998
|
<xsl:otherwise>_</xsl:otherwise>
|
8424
8999
|
</xsl:choose>
|
8425
9000
|
</xsl:attribute>
|
9001
|
+
</xsl:template><xsl:template name="substring-after-last">
|
9002
|
+
<xsl:param name="value"/>
|
9003
|
+
<xsl:param name="delimiter"/>
|
9004
|
+
<xsl:choose>
|
9005
|
+
<xsl:when test="contains($value, $delimiter)">
|
9006
|
+
<xsl:call-template name="substring-after-last">
|
9007
|
+
<xsl:with-param name="value" select="substring-after($value, $delimiter)"/>
|
9008
|
+
<xsl:with-param name="delimiter" select="$delimiter"/>
|
9009
|
+
</xsl:call-template>
|
9010
|
+
</xsl:when>
|
9011
|
+
<xsl:otherwise>
|
9012
|
+
<xsl:value-of select="$value"/>
|
9013
|
+
</xsl:otherwise>
|
9014
|
+
</xsl:choose>
|
8426
9015
|
</xsl:template></xsl:stylesheet>
|