metanorma-csa 1.9.4 → 2.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -9,8 +9,6 @@
9
9
 
10
10
  <xsl:key name="kfn" match="*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure') and not(ancestor::*[local-name() = 'name'])])]" use="@reference"/>
11
11
 
12
- <xsl:variable name="pageWidth" select="215.9"/>
13
- <xsl:variable name="pageHeight" select="279.4"/>
14
12
  <xsl:variable name="marginLeftRight1" select="25"/>
15
13
  <xsl:variable name="marginLeftRight2" select="25"/>
16
14
  <xsl:variable name="marginTop" select="25"/>
@@ -42,7 +40,7 @@
42
40
 
43
41
  <xsl:template match="/">
44
42
  <xsl:call-template name="namespaceCheck"/>
45
- <fo:root font-family="Azo Sans, STIX Two Math" font-size="10pt" xml:lang="{$lang}">
43
+ <fo:root xsl:use-attribute-sets="root-style" xml:lang="{$lang}">
46
44
  <fo:layout-master-set>
47
45
  <!-- Cover page -->
48
46
  <fo:simple-page-master master-name="cover-page" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
@@ -142,12 +140,11 @@
142
140
 
143
141
  <fo:block break-after="page"/>
144
142
 
145
- <xsl:variable name="title-acknowledgements">
146
- <xsl:call-template name="getTitle">
147
- <xsl:with-param name="name" select="'title-acknowledgements'"/>
143
+ <fo:block font-size="26pt" margin-bottom="18pt" role="H1">
144
+ <xsl:call-template name="getLocalizedString">
145
+ <xsl:with-param name="key">acknowledgements</xsl:with-param>
148
146
  </xsl:call-template>
149
- </xsl:variable>
150
- <fo:block font-size="26pt" margin-bottom="18pt" role="H1"><xsl:value-of select="$title-acknowledgements"/></fo:block>
147
+ </fo:block>
151
148
 
152
149
  <xsl:variable name="persons">
153
150
  <xsl:for-each select="/csa:csa-standard/csa:bibdata/csa:contributor[csa:person]">
@@ -265,10 +262,7 @@
265
262
  <!-- ============================= -->
266
263
  <!-- CONTENTS -->
267
264
  <!-- ============================= -->
268
- <xsl:template match="node()" mode="contents">
269
- <xsl:apply-templates mode="contents"/>
270
- </xsl:template>
271
-
265
+
272
266
  <!-- element with title -->
273
267
  <xsl:template match="*[csa:title]" mode="contents">
274
268
  <xsl:variable name="level">
@@ -314,90 +308,6 @@
314
308
 
315
309
  <!-- ============================= -->
316
310
  <!-- ============================= -->
317
-
318
-
319
- <xsl:template match="csa:license-statement//csa:title">
320
- <xsl:variable name="level">
321
- <xsl:call-template name="getLevel"/>
322
- </xsl:variable>
323
- <fo:block text-align="center" font-weight="bold" margin-top="4pt" role="H{$level}">
324
- <xsl:apply-templates/>
325
- </fo:block>
326
- </xsl:template>
327
-
328
- <xsl:template match="csa:license-statement//csa:p">
329
- <fo:block font-size="8pt" margin-top="14pt" line-height="115%">
330
- <xsl:if test="following-sibling::csa:p">
331
- <xsl:attribute name="margin-bottom">14pt</xsl:attribute>
332
- </xsl:if>
333
- <xsl:apply-templates/>
334
- </fo:block>
335
- </xsl:template>
336
-
337
- <xsl:template match="csa:feedback-statement">
338
- <fo:block margin-top="12pt" margin-bottom="12pt">
339
- <xsl:apply-templates select="csa:clause[1]"/>
340
- </fo:block>
341
- </xsl:template>
342
-
343
- <xsl:template match="csa:copyright-statement//csa:title">
344
- <xsl:variable name="level">
345
- <xsl:call-template name="getLevel"/>
346
- </xsl:variable>
347
- <fo:block font-weight="bold" text-align="center" role="H{$level}">
348
- <xsl:apply-templates/>
349
- </fo:block>
350
- </xsl:template>
351
- <xsl:template match="csa:copyright-statement//csa:p">
352
- <fo:block margin-bottom="12pt">
353
- <xsl:if test="not(following-sibling::p)">
354
- <xsl:attribute name="margin-bottom">10pt</xsl:attribute>
355
- </xsl:if>
356
- <xsl:attribute name="text-align">
357
- <xsl:choose>
358
- <xsl:when test="@align"><xsl:value-of select="@align"/></xsl:when>
359
- <xsl:otherwise>left</xsl:otherwise>
360
- </xsl:choose>
361
- </xsl:attribute>
362
- <xsl:apply-templates/>
363
- </fo:block>
364
- </xsl:template>
365
-
366
- <xsl:template match="csa:legal-statement">
367
- <fo:block-container border="0.5pt solid black" margin-bottom="12pt" margin-left="-2mm" margin-right="-2mm">
368
- <fo:block-container margin-left="0mm" margin-right="0mm">
369
- <fo:block margin-left="2mm" margin-right="2mm">
370
- <xsl:apply-templates/>
371
- </fo:block>
372
- </fo:block-container>
373
- </fo:block-container>
374
- </xsl:template>
375
-
376
- <xsl:template match="csa:legal-statement//csa:title">
377
- <xsl:variable name="level">
378
- <xsl:call-template name="getLevel"/>
379
- </xsl:variable>
380
- <fo:block text-align="center" font-weight="bold" padding-top="2mm" margin-bottom="6pt" role="H{$level}">
381
- <xsl:apply-templates/>
382
- </fo:block>
383
- </xsl:template>
384
-
385
- <xsl:template match="csa:legal-statement//csa:p">
386
- <fo:block margin-bottom="6pt">
387
- <xsl:if test="not(following-sibling::csa:p)">
388
- <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
389
- </xsl:if>
390
- <xsl:attribute name="text-align">
391
- <xsl:choose>
392
- <xsl:when test="@align"><xsl:value-of select="@align"/></xsl:when>
393
- <xsl:otherwise>left</xsl:otherwise>
394
- </xsl:choose>
395
- </xsl:attribute>
396
- <xsl:apply-templates/>
397
- </fo:block>
398
- </xsl:template>
399
-
400
-
401
311
 
402
312
 
403
313
  <!-- ====== -->
@@ -419,7 +329,7 @@
419
329
  </fo:block>
420
330
  </xsl:template>
421
331
 
422
- <xsl:template match="csa:title">
332
+ <xsl:template match="csa:title" name="title">
423
333
 
424
334
  <xsl:variable name="level">
425
335
  <xsl:call-template name="getLevel"/>
@@ -483,7 +393,7 @@
483
393
  <!-- ====== -->
484
394
  <!-- ====== -->
485
395
 
486
- <xsl:template match="csa:p">
396
+ <xsl:template match="csa:p" name="paragraph">
487
397
  <xsl:param name="inline" select="'false'"/>
488
398
  <xsl:variable name="previous-element" select="local-name(preceding-sibling::*[1])"/>
489
399
  <xsl:variable name="element-name">
@@ -535,82 +445,6 @@
535
445
  </xsl:template>
536
446
 
537
447
 
538
- <xsl:template match="csa:bibitem">
539
- <fo:block id="{@id}" margin-bottom="12pt" start-indent="12mm" text-indent="-12mm" line-height="145%">
540
- <xsl:if test=".//csa:fn">
541
- <xsl:attribute name="line-height-shift-adjustment">disregard-shifts</xsl:attribute>
542
- </xsl:if>
543
- <xsl:choose>
544
- <xsl:when test="csa:formattedref">
545
- <xsl:apply-templates select="csa:formattedref"/>
546
- </xsl:when>
547
- <xsl:otherwise>
548
- <xsl:for-each select="csa:contributor[csa:role/@type='publisher']/csa:organization/csa:name">
549
- <xsl:apply-templates/>
550
- <xsl:if test="position() != last()">, </xsl:if>
551
- <xsl:if test="position() = last()">: </xsl:if>
552
- </xsl:for-each>
553
- <!-- csa:docidentifier -->
554
- <!-- <xsl:if test="csa:docidentifier">
555
- <xsl:value-of select="csa:docidentifier/@type"/><xsl:text> </xsl:text>
556
- <xsl:value-of select="csa:docidentifier"/>
557
- </xsl:if> -->
558
- <xsl:value-of select="csa:docidentifier"/>
559
- <xsl:apply-templates select="csa:note"/>
560
- <xsl:if test="csa:docidentifier">, </xsl:if>
561
- <fo:inline font-style="italic">
562
- <xsl:choose>
563
- <xsl:when test="csa:title[@type = 'main' and @language = 'en']">
564
- <xsl:value-of select="csa:title[@type = 'main' and @language = 'en']"/><xsl:text>. </xsl:text>
565
- </xsl:when>
566
- <xsl:otherwise>
567
- <xsl:value-of select="csa:title"/><xsl:text>. </xsl:text>
568
- </xsl:otherwise>
569
- </xsl:choose>
570
- </fo:inline>
571
- <xsl:for-each select="csa:contributor[csa:role/@type='publisher']/csa:organization/csa:name">
572
- <xsl:apply-templates/>
573
- <xsl:if test="position() != last()">, </xsl:if>
574
- </xsl:for-each>
575
- <xsl:if test="csa:date[@type='published']/csa:on">
576
- <xsl:text>(</xsl:text><xsl:value-of select="csa:date[@type='published']/csa:on"/><xsl:text>)</xsl:text>
577
- </xsl:if>
578
- </xsl:otherwise>
579
- </xsl:choose>
580
- </fo:block>
581
- </xsl:template>
582
-
583
-
584
- <xsl:template match="csa:bibitem/csa:note" priority="2">
585
- <fo:footnote>
586
- <xsl:variable name="number">
587
- <xsl:choose>
588
- <xsl:when test="ancestor::csa:references[preceding-sibling::csa:references]">
589
- <xsl:number level="any" count="csa:references[preceding-sibling::csa:references]//csa:bibitem/csa:note"/>
590
- </xsl:when>
591
- <xsl:otherwise>
592
- <xsl:number level="any" count="csa:bibitem/csa:note"/>
593
- </xsl:otherwise>
594
- </xsl:choose>
595
- </xsl:variable>
596
- <fo:inline font-size="65%" keep-with-previous.within-line="always" vertical-align="super"> <!-- 60% baseline-shift="35%" -->
597
- <fo:basic-link internal-destination="{generate-id()}" fox:alt-text="footnote {$number}">
598
- <xsl:value-of select="$number"/><!-- <xsl:text>)</xsl:text> -->
599
- </fo:basic-link>
600
- </fo:inline>
601
- <fo:footnote-body>
602
- <fo:block font-family="Azo Sans Lt" font-size="10pt" margin-bottom="12pt" start-indent="0pt" color="rgb(168, 170, 173)">
603
- <fo:inline id="{generate-id()}" keep-with-next.within-line="always" font-size="60%" vertical-align="super"><!-- baseline-shift="30%" padding-right="9mm" alignment-baseline="hanging" -->
604
- <xsl:value-of select="$number"/><!-- <xsl:text>)</xsl:text> -->
605
- </fo:inline>
606
- <xsl:apply-templates/>
607
- </fo:block>
608
- </fo:footnote-body>
609
- </fo:footnote>
610
- </xsl:template>
611
-
612
-
613
-
614
448
  <xsl:template match="csa:ul | csa:ol" mode="ul_ol">
615
449
  <xsl:choose>
616
450
  <xsl:when test="not(ancestor::csa:ul) and not(ancestor::csa:ol)">
@@ -651,8 +485,11 @@
651
485
  <fo:list-item-label end-indent="label-end()">
652
486
  <fo:block>
653
487
  <xsl:choose>
654
- <xsl:when test="local-name(..) = 'ul' and (../ancestor::csa:ul or ../ancestor::csa:ol)">-</xsl:when> <!-- &#x2014; dash -->
655
- <xsl:when test="local-name(..) = 'ul'">•</xsl:when> <!-- &#x2014; dash -->
488
+ <xsl:when test="local-name(..) = 'ul'">
489
+ <xsl:call-template name="setULLabel"/>
490
+ </xsl:when>
491
+ <!-- <xsl:when test="local-name(..) = 'ul' and (../ancestor::csa:ul or ../ancestor::csa:ol)">-</xsl:when> --> <!-- &#x2014; dash -->
492
+ <!-- <xsl:when test="local-name(..) = 'ul'">•</xsl:when> --> <!-- &#x2014; dash -->
656
493
  <xsl:otherwise> <!-- for ordered lists -->
657
494
  <xsl:choose>
658
495
  <xsl:when test="../@type = 'arabic'">
@@ -689,8 +526,8 @@
689
526
  <fo:list-item-label><fo:block/></fo:list-item-label>
690
527
  <fo:list-item-body>
691
528
  <fo:block>
692
- <xsl:apply-templates select="csa:name" mode="presentation"/>
693
- <xsl:apply-templates/>
529
+ <xsl:apply-templates select="csa:name"/>
530
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
694
531
  </fo:block>
695
532
  </fo:list-item-body>
696
533
  </fo:list-item>
@@ -711,7 +548,7 @@
711
548
  </xsl:variable>
712
549
  <fo:block font-size="{$font-size}" role="H{$levelTerm}">
713
550
  <fo:block font-weight="bold" keep-with-next="always">
714
- <xsl:apply-templates select="ancestor::csa:term[1]/csa:name" mode="presentation"/>
551
+ <xsl:apply-templates select="ancestor::csa:term[1]/csa:name"/>
715
552
  </fo:block>
716
553
  <fo:block font-weight="bold" keep-with-next="always" line-height="1">
717
554
  <xsl:call-template name="setStyle_preferred"/>
@@ -721,105 +558,6 @@
721
558
  </xsl:template>
722
559
 
723
560
 
724
-
725
- <!-- [position() &gt; 1] -->
726
- <xsl:template match="csa:references[not(@normative='true')]">
727
- <fo:block break-after="page"/>
728
- <fo:block id="{@id}" line-height="145%">
729
- <xsl:apply-templates/>
730
- </fo:block>
731
- </xsl:template>
732
-
733
-
734
- <!-- Example: [1] ISO 9:1995, Information and documentation – Transliteration of Cyrillic characters into Latin characters – Slavic and non-Slavic languages -->
735
- <!-- <xsl:template match="csa:references[@id = '_bibliography']/csa:bibitem"> [position() &gt; 1] -->
736
- <xsl:template match="csa:references[not(@normative='true')]/csa:bibitem">
737
- <fo:block margin-bottom="12pt" line-height="145%">
738
- <fo:inline id="{@id}">
739
- <xsl:number format="[1]"/>
740
- </fo:inline>
741
-
742
- <xsl:if test="not(csa:formattedref)">
743
- <xsl:choose>
744
- <xsl:when test="csa:contributor[csa:role/@type='publisher']/csa:organization/csa:abbreviation">
745
- <xsl:for-each select="csa:contributor[csa:role/@type='publisher']/csa:organization/csa:abbreviation">
746
- <xsl:value-of select="."/>
747
- <xsl:if test="position() != last()">/</xsl:if>
748
- </xsl:for-each>
749
- <xsl:text>: </xsl:text>
750
- </xsl:when>
751
- <xsl:when test="csa:contributor[csa:role/@type='publisher']/csa:organization/csa:name">
752
- <xsl:value-of select="csa:contributor[csa:role/@type='publisher']/csa:organization/csa:name"/>
753
- <xsl:text>: </xsl:text>
754
- </xsl:when>
755
- </xsl:choose>
756
-
757
- </xsl:if>
758
-
759
- <xsl:if test="csa:docidentifier">
760
- <xsl:choose>
761
- <xsl:when test="csa:docidentifier/@type = 'ISO' and csa:formattedref"/>
762
- <xsl:when test="csa:docidentifier/@type = 'OGC' and csa:formattedref"/>
763
- <xsl:otherwise><fo:inline>
764
- <!-- <xsl:if test="csa:docidentifier/@type = 'OGC'">OGC </xsl:if> -->
765
- <xsl:value-of select="csa:docidentifier"/><xsl:apply-templates select="csa:note"/>, </fo:inline></xsl:otherwise>
766
- </xsl:choose>
767
- </xsl:if>
768
-
769
- <xsl:choose>
770
- <xsl:when test="csa:title[@type = 'main' and @language = 'en']">
771
- <xsl:apply-templates select="csa:title[@type = 'main' and @language = 'en']"/>
772
- </xsl:when>
773
- <xsl:otherwise>
774
- <xsl:apply-templates select="csa:title"/>
775
- </xsl:otherwise>
776
- </xsl:choose>
777
- <xsl:if test="csa:contributor[csa:role/@type='publisher']/csa:organization/csa:name">
778
- <xsl:text>, </xsl:text>
779
- <xsl:for-each select="csa:contributor[csa:role/@type='publisher']/csa:organization/csa:name">
780
- <xsl:if test="position() != last()">and </xsl:if>
781
- <xsl:value-of select="."/>
782
- </xsl:for-each>
783
-
784
- </xsl:if>
785
- <xsl:if test="csa:place">
786
- <xsl:text>, </xsl:text>
787
- <xsl:value-of select="csa:place"/>
788
- </xsl:if>
789
- <xsl:if test="csa:date[@type='published']/csa:on">
790
- <xsl:text> (</xsl:text><xsl:value-of select="csa:date[@type='published']/csa:on"/><xsl:text>).</xsl:text>
791
- </xsl:if>
792
- <xsl:apply-templates select="csa:formattedref"/>
793
-
794
-
795
- </fo:block>
796
- </xsl:template>
797
-
798
- <!-- <xsl:template match="csa:references[@id = '_bibliography']/csa:bibitem" mode="contents"/> [position() &gt; 1] -->
799
- <xsl:template match="csa:references[not(@normative='true')]/csa:bibitem" mode="contents"/>
800
-
801
- <!-- <xsl:template match="csa:references[@id = '_bibliography']/csa:bibitem/csa:title"> [position() &gt; 1]-->
802
- <xsl:template match="csa:references[not(@normative='true')]/csa:bibitem/csa:title">
803
- <fo:inline font-style="italic">
804
- <xsl:apply-templates/>
805
- </fo:inline>
806
- </xsl:template>
807
-
808
-
809
-
810
- <xsl:template match="csa:admonition">
811
- <fo:block-container border="0.5pt solid rgb(79, 129, 189)" color="rgb(79, 129, 189)" margin-left="16mm" margin-right="16mm" margin-bottom="12pt">
812
- <fo:block-container margin-left="0mm" margin-right="0mm" padding="2mm" padding-top="3mm">
813
- <fo:block font-size="11pt" margin-bottom="6pt" font-weight="bold" font-style="italic" text-align="center">
814
- <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(@type))"/>
815
- </fo:block>
816
- <fo:block font-style="italic">
817
- <xsl:apply-templates/>
818
- </fo:block>
819
- </fo:block-container>
820
- </fo:block-container>
821
- </xsl:template>
822
-
823
561
 
824
562
  <xsl:template match="csa:formula/csa:stem">
825
563
  <fo:block margin-top="6pt" margin-bottom="12pt">
@@ -835,7 +573,7 @@
835
573
  </fo:table-cell>
836
574
  <fo:table-cell display-align="center">
837
575
  <fo:block text-align="right">
838
- <xsl:apply-templates select="../csa:name" mode="presentation"/>
576
+ <xsl:apply-templates select="../csa:name" mode="formula_number"/>
839
577
  </fo:block>
840
578
  </fo:table-cell>
841
579
  </fo:table-row>
@@ -844,12 +582,6 @@
844
582
  </fo:block>
845
583
  </xsl:template>
846
584
 
847
-
848
- <xsl:template match="csa:pagebreak">
849
- <fo:block break-after="page"/>
850
- <fo:block> </fo:block>
851
- <fo:block break-after="page"/>
852
- </xsl:template>
853
585
 
854
586
  <xsl:template name="insertHeaderFooter">
855
587
  <fo:static-content flow-name="header" role="artifact">
@@ -875,29 +607,23 @@
875
607
  <xsl:text>iVBORw0KGgoAAAANSUhEUgAAASEAAAEhCAYAAAAwHRYbAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3BpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDplYWRhN2RlNC04YzAyLTQ1N2UtYjUwNy0zNGYzY2RjNWE2ZGQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDUyNzBENDc3NjVCMTFFQTlDMDhGMEI2ODhENjUxQkIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDUyNzBENDY3NjVCMTFFQTlDMDhGMEI2ODhENjUxQkIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSW5EZXNpZ24gMTQuMCAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ1dWlkOmZiZjFiODZmLTIzMjMtM2U0OS1hMDMzLTVlOGQxYThlNmI1YiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmlkOjFlMzVjZTE3LWU5NzAtNDQ1OS05ZjI0LTM1NzcwZWYzMjNjMiIvPiA8L3Jk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</xsl:text>
876
608
  </xsl:variable>
877
609
 
878
- <xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="titles_">
879
-
880
- <title-annex lang="en">Annex </title-annex>
881
- <title-annex lang="fr">Annexe </title-annex>
882
-
883
- <title-annex lang="zh">Annex </title-annex>
884
-
885
-
610
+ <xsl:variable name="pageWidth_">
611
+ 215.9
612
+ </xsl:variable><xsl:variable name="pageWidth" select="normalize-space($pageWidth_)"/><xsl:variable name="pageHeight_">
613
+ 279.4
614
+ </xsl:variable><xsl:variable name="pageHeight" select="normalize-space($pageHeight_)"/><xsl:variable name="titles_">
886
615
 
887
616
  <title-edition lang="en">
888
617
 
889
-
890
- <xsl:text>Version</xsl:text>
891
-
618
+ <xsl:text>Version</xsl:text>
619
+
892
620
  </title-edition>
893
621
 
894
622
  <title-edition lang="fr">
895
-
896
- <xsl:text>Édition </xsl:text>
897
-
623
+ <xsl:text>Édition </xsl:text>
898
624
  </title-edition>
899
625
 
900
-
626
+ <!-- These titles of Table of contents renders different than determined in localized-strings -->
901
627
  <title-toc lang="en">
902
628
 
903
629
 
@@ -906,24 +632,13 @@
906
632
 
907
633
  </title-toc>
908
634
  <title-toc lang="fr">
635
+ <xsl:text>Sommaire</xsl:text>
636
+ </title-toc>
637
+ <title-toc lang="zh">
909
638
 
910
- <xsl:text>Sommaire</xsl:text>
911
-
912
-
913
- </title-toc>
914
-
915
- <title-toc lang="zh">Contents</title-toc>
916
-
917
-
918
-
919
- <title-page lang="en">Page</title-page>
920
- <title-page lang="fr">Page</title-page>
921
-
922
- <title-key lang="en">Key</title-key>
923
- <title-key lang="fr">Légende</title-key>
924
-
925
- <title-where lang="en">where</title-where>
926
- <title-where lang="fr">où</title-where>
639
+ <xsl:text>Contents</xsl:text>
640
+
641
+ </title-toc>
927
642
 
928
643
  <title-descriptors lang="en">Descriptors</title-descriptors>
929
644
 
@@ -939,32 +654,9 @@
939
654
  </title-part>
940
655
  <title-part lang="zh">第 # 部分:</title-part>
941
656
 
942
- <title-subpart lang="en">
943
-
944
- </title-subpart>
945
- <title-subpart lang="fr">
946
-
947
- </title-subpart>
948
-
949
- <title-modified lang="en">modified</title-modified>
950
- <title-modified lang="fr">modifiée</title-modified>
951
-
952
- <title-modified lang="zh">modified</title-modified>
953
-
954
-
955
-
956
- <title-source lang="en">
957
-
958
- <xsl:text>SOURCE</xsl:text>
959
-
960
-
961
- </title-source>
962
-
963
- <title-keywords lang="en">Keywords</title-keywords>
657
+ <title-subpart lang="en">Sub-part #</title-subpart>
658
+ <title-subpart lang="fr">Partie de sub #</title-subpart>
964
659
 
965
- <title-deprecated lang="en">DEPRECATED</title-deprecated>
966
- <title-deprecated lang="fr">DEPRECATED</title-deprecated>
967
-
968
660
  <title-list-tables lang="en">List of Tables</title-list-tables>
969
661
 
970
662
  <title-list-figures lang="en">List of Figures</title-list-figures>
@@ -973,41 +665,12 @@
973
665
 
974
666
  <title-list-recommendations lang="en">List of Recommendations</title-list-recommendations>
975
667
 
976
- <title-acknowledgements lang="en">Acknowledgements</title-acknowledgements>
977
-
978
- <title-abstract lang="en">Abstract</title-abstract>
979
-
980
668
  <title-summary lang="en">Summary</title-summary>
981
669
 
982
- <title-in lang="en">in </title-in>
983
-
984
- <title-partly-supercedes lang="en">Partly Supercedes </title-partly-supercedes>
985
- <title-partly-supercedes lang="zh">部分代替 </title-partly-supercedes>
986
-
987
- <title-completion-date lang="en">Completion date for this manuscript</title-completion-date>
988
- <title-completion-date lang="zh">本稿完成日期</title-completion-date>
989
-
990
- <title-issuance-date lang="en">Issuance Date: #</title-issuance-date>
991
- <title-issuance-date lang="zh"># 发布</title-issuance-date>
992
-
993
- <title-implementation-date lang="en">Implementation Date: #</title-implementation-date>
994
- <title-implementation-date lang="zh"># 实施</title-implementation-date>
995
-
996
- <title-obligation-normative lang="en">normative</title-obligation-normative>
997
- <title-obligation-normative lang="zh">规范性附录</title-obligation-normative>
998
-
999
- <title-caution lang="en">CAUTION</title-caution>
1000
- <title-caution lang="zh">注意</title-caution>
1001
-
1002
- <title-warning lang="en">WARNING</title-warning>
1003
- <title-warning lang="zh">警告</title-warning>
1004
-
1005
- <title-amendment lang="en">AMENDMENT</title-amendment>
1006
-
1007
670
  <title-continued lang="en">(continued)</title-continued>
1008
671
  <title-continued lang="fr">(continué)</title-continued>
1009
672
 
1010
- </xsl:variable><xsl:variable name="bibdata">
673
+ </xsl:variable><xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="bibdata">
1011
674
  <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']"/>
1012
675
  <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'localized-strings']"/>
1013
676
  </xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:template name="getTitle">
@@ -1036,99 +699,175 @@
1036
699
  </xsl:template><xsl:variable name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable><xsl:variable name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable><xsl:variable name="en_chars" select="concat($lower,$upper,',.`1234567890-=~!@#$%^*()_+[]{}\|?/')"/><xsl:variable name="linebreak" select="'&#8232;'"/><xsl:attribute-set name="root-style">
1037
700
 
1038
701
 
1039
- </xsl:attribute-set><xsl:attribute-set name="link-style">
1040
702
 
703
+ <xsl:attribute name="font-family">Azo Sans, STIX Two Math</xsl:attribute>
704
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1041
705
 
1042
706
 
1043
707
 
1044
708
 
1045
- <xsl:attribute name="color">rgb(33, 94, 159)</xsl:attribute>
1046
- <xsl:attribute name="text-decoration">underline</xsl:attribute>
1047
709
 
1048
- </xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
1049
- <xsl:attribute name="white-space">pre</xsl:attribute>
1050
- <xsl:attribute name="wrap-option">wrap</xsl:attribute>
1051
- <xsl:attribute name="role">Code</xsl:attribute>
1052
710
 
1053
711
 
1054
- <xsl:attribute name="font-family">Source Code Pro</xsl:attribute>
1055
- <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1056
- <xsl:attribute name="keep-with-next">always</xsl:attribute>
1057
- <xsl:attribute name="line-height">113%</xsl:attribute>
1058
712
 
1059
713
 
1060
714
 
1061
715
 
1062
-
1063
716
 
1064
717
 
1065
718
 
1066
- </xsl:attribute-set><xsl:attribute-set name="permission-style">
719
+ </xsl:attribute-set><xsl:attribute-set name="copyright-statement-style">
1067
720
 
1068
- </xsl:attribute-set><xsl:attribute-set name="permission-name-style">
721
+ </xsl:attribute-set><xsl:attribute-set name="copyright-statement-title-style">
1069
722
 
1070
- </xsl:attribute-set><xsl:attribute-set name="permission-label-style">
1071
723
 
1072
- </xsl:attribute-set><xsl:attribute-set name="requirement-style">
724
+ </xsl:attribute-set><xsl:attribute-set name="copyright-statement-p-style">
1073
725
 
1074
- </xsl:attribute-set><xsl:attribute-set name="requirement-name-style">
1075
726
 
1076
- </xsl:attribute-set><xsl:attribute-set name="requirement-label-style">
1077
727
 
1078
- </xsl:attribute-set><xsl:attribute-set name="subject-style">
1079
- </xsl:attribute-set><xsl:attribute-set name="inherit-style">
1080
- </xsl:attribute-set><xsl:attribute-set name="description-style">
1081
- </xsl:attribute-set><xsl:attribute-set name="specification-style">
1082
- </xsl:attribute-set><xsl:attribute-set name="measurement-target-style">
1083
- </xsl:attribute-set><xsl:attribute-set name="verification-style">
1084
- </xsl:attribute-set><xsl:attribute-set name="import-style">
1085
- </xsl:attribute-set><xsl:attribute-set name="recommendation-style">
728
+ </xsl:attribute-set><xsl:attribute-set name="license-statement-style">
1086
729
 
1087
730
 
1088
- </xsl:attribute-set><xsl:attribute-set name="recommendation-name-style">
731
+ </xsl:attribute-set><xsl:attribute-set name="license-statement-title-style">
732
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1089
733
 
1090
734
 
1091
- </xsl:attribute-set><xsl:attribute-set name="recommendation-label-style">
1092
735
 
1093
- </xsl:attribute-set><xsl:attribute-set name="termexample-style">
1094
736
 
1095
737
 
1096
- <xsl:attribute name="font-size">10pt</xsl:attribute>
1097
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1098
738
 
739
+ </xsl:attribute-set><xsl:attribute-set name="license-statement-p-style">
1099
740
 
1100
741
 
1101
742
 
1102
743
 
1103
-
1104
- </xsl:attribute-set><xsl:attribute-set name="example-style">
744
+ </xsl:attribute-set><xsl:attribute-set name="legal-statement-style">
1105
745
 
1106
- <xsl:attribute name="font-size">10pt</xsl:attribute>
1107
746
 
1108
747
 
748
+ </xsl:attribute-set><xsl:attribute-set name="legal-statement-title-style">
749
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1109
750
 
1110
751
 
1111
752
 
1112
753
 
1113
754
 
755
+ </xsl:attribute-set><xsl:attribute-set name="legal-statement-p-style">
1114
756
 
757
+ </xsl:attribute-set><xsl:attribute-set name="feedback-statement-style">
1115
758
 
1116
759
 
760
+ </xsl:attribute-set><xsl:attribute-set name="feedback-statement-title-style">
761
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
762
+
763
+ </xsl:attribute-set><xsl:attribute-set name="feedback-statement-p-style">
764
+
765
+
766
+ </xsl:attribute-set><xsl:attribute-set name="link-style">
767
+
768
+
769
+
770
+
771
+
772
+ <xsl:attribute name="color">rgb(33, 94, 159)</xsl:attribute>
773
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
774
+
775
+ </xsl:attribute-set><xsl:attribute-set name="sourcecode-container-style">
776
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
777
+
778
+ </xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
779
+ <xsl:attribute name="white-space">pre</xsl:attribute>
780
+ <xsl:attribute name="wrap-option">wrap</xsl:attribute>
781
+ <xsl:attribute name="role">Code</xsl:attribute>
782
+
783
+
784
+ <xsl:attribute name="font-family">Source Code Pro</xsl:attribute>
785
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
786
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
787
+ <xsl:attribute name="line-height">113%</xsl:attribute>
788
+
789
+
790
+
791
+
792
+
793
+
794
+
795
+
796
+
797
+
798
+
799
+
800
+
801
+
802
+
803
+ </xsl:attribute-set><xsl:attribute-set name="permission-style">
804
+
805
+ </xsl:attribute-set><xsl:attribute-set name="permission-name-style">
806
+
807
+ </xsl:attribute-set><xsl:attribute-set name="permission-label-style">
808
+
809
+ </xsl:attribute-set><xsl:attribute-set name="requirement-style">
810
+
811
+ </xsl:attribute-set><xsl:attribute-set name="requirement-name-style">
812
+
813
+ </xsl:attribute-set><xsl:attribute-set name="requirement-label-style">
814
+
815
+ </xsl:attribute-set><xsl:attribute-set name="subject-style">
816
+ </xsl:attribute-set><xsl:attribute-set name="inherit-style">
817
+ </xsl:attribute-set><xsl:attribute-set name="description-style">
818
+ </xsl:attribute-set><xsl:attribute-set name="specification-style">
819
+ </xsl:attribute-set><xsl:attribute-set name="measurement-target-style">
820
+ </xsl:attribute-set><xsl:attribute-set name="verification-style">
821
+ </xsl:attribute-set><xsl:attribute-set name="import-style">
822
+ </xsl:attribute-set><xsl:attribute-set name="recommendation-style">
823
+
824
+
825
+ </xsl:attribute-set><xsl:attribute-set name="recommendation-name-style">
826
+
827
+
828
+ </xsl:attribute-set><xsl:attribute-set name="recommendation-label-style">
829
+
830
+ </xsl:attribute-set><xsl:attribute-set name="termexample-style">
831
+
832
+
833
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
834
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
835
+
836
+
837
+
838
+
839
+
840
+
841
+ </xsl:attribute-set><xsl:attribute-set name="example-style">
842
+
843
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
844
+
1117
845
 
1118
846
 
1119
- </xsl:attribute-set><xsl:attribute-set name="example-body-style">
1120
-
1121
- <xsl:attribute name="margin-left">12.5mm</xsl:attribute>
1122
- <xsl:attribute name="margin-right">12.5mm</xsl:attribute>
847
+
848
+
849
+
850
+
851
+
852
+
853
+
854
+
855
+
856
+
857
+ </xsl:attribute-set><xsl:attribute-set name="example-body-style">
858
+
859
+ <xsl:attribute name="margin-left">12.5mm</xsl:attribute>
860
+ <xsl:attribute name="margin-right">12.5mm</xsl:attribute>
861
+
1123
862
 
1124
863
 
1125
864
 
1126
865
  </xsl:attribute-set><xsl:attribute-set name="example-name-style">
866
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1127
867
 
1128
868
  <xsl:attribute name="margin-top">12pt</xsl:attribute>
1129
869
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1130
870
  <xsl:attribute name="font-weight">bold</xsl:attribute>
1131
- <xsl:attribute name="keep-with-next">always</xsl:attribute>
1132
871
 
1133
872
 
1134
873
 
@@ -1163,6 +902,7 @@
1163
902
 
1164
903
 
1165
904
 
905
+
1166
906
  </xsl:attribute-set><xsl:attribute-set name="termexample-name-style">
1167
907
 
1168
908
  <xsl:attribute name="padding-right">10mm</xsl:attribute>
@@ -1173,7 +913,60 @@
1173
913
 
1174
914
  </xsl:attribute-set><xsl:variable name="table-border_">
1175
915
 
1176
- </xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-name-style">
916
+ </xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-container-style">
917
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
918
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
919
+
920
+
921
+
922
+
923
+
924
+
925
+
926
+
927
+
928
+
929
+
930
+
931
+
932
+
933
+
934
+
935
+
936
+
937
+
938
+
939
+
940
+
941
+
942
+ </xsl:attribute-set><xsl:attribute-set name="table-style">
943
+ <xsl:attribute name="table-omit-footer-at-break">true</xsl:attribute>
944
+ <xsl:attribute name="table-layout">fixed</xsl:attribute>
945
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
946
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
947
+
948
+
949
+
950
+
951
+
952
+
953
+
954
+
955
+
956
+
957
+
958
+
959
+
960
+
961
+
962
+
963
+
964
+
965
+
966
+
967
+
968
+
969
+ </xsl:attribute-set><xsl:attribute-set name="table-name-style">
1177
970
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
1178
971
 
1179
972
 
@@ -1189,45 +982,451 @@
1189
982
 
1190
983
 
1191
984
 
1192
- </xsl:attribute-set><xsl:attribute-set name="table-footer-cell-style">
985
+ </xsl:attribute-set><xsl:attribute-set name="table-row-style">
986
+ <xsl:attribute name="min-height">4mm</xsl:attribute>
987
+
988
+
989
+
990
+
991
+ </xsl:attribute-set><xsl:attribute-set name="table-header-row-style" use-attribute-sets="table-row-style">
992
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
993
+
994
+
995
+
996
+
997
+
998
+
999
+
1000
+
1001
+
1002
+ </xsl:attribute-set><xsl:attribute-set name="table-footer-row-style" use-attribute-sets="table-row-style">
1003
+
1004
+
1005
+
1006
+ </xsl:attribute-set><xsl:attribute-set name="table-body-row-style" use-attribute-sets="table-row-style">
1007
+
1008
+ </xsl:attribute-set><xsl:attribute-set name="table-header-cell-style">
1009
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1010
+ <xsl:attribute name="border">solid black 1pt</xsl:attribute>
1011
+ <xsl:attribute name="padding-left">1mm</xsl:attribute>
1012
+ <xsl:attribute name="display-align">center</xsl:attribute>
1013
+
1014
+
1015
+
1016
+
1017
+
1018
+
1019
+
1020
+
1021
+
1022
+
1023
+
1024
+
1025
+
1026
+ </xsl:attribute-set><xsl:attribute-set name="table-cell-style">
1027
+ <xsl:attribute name="display-align">center</xsl:attribute>
1028
+ <xsl:attribute name="border">solid black 1pt</xsl:attribute>
1029
+ <xsl:attribute name="padding-left">1mm</xsl:attribute>
1030
+
1031
+
1032
+
1033
+
1034
+
1035
+
1036
+
1037
+
1038
+
1039
+
1040
+
1041
+
1042
+
1043
+ </xsl:attribute-set><xsl:attribute-set name="table-footer-cell-style">
1044
+ <xsl:attribute name="border">solid black 1pt</xsl:attribute>
1045
+ <xsl:attribute name="padding-left">1mm</xsl:attribute>
1046
+ <xsl:attribute name="padding-right">1mm</xsl:attribute>
1047
+ <xsl:attribute name="padding-top">1mm</xsl:attribute>
1048
+
1049
+
1050
+
1051
+
1052
+
1053
+
1054
+
1055
+
1056
+
1057
+
1058
+
1059
+ </xsl:attribute-set><xsl:attribute-set name="table-note-style">
1060
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1061
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1062
+
1063
+
1064
+
1065
+
1066
+
1067
+
1068
+
1069
+
1070
+ </xsl:attribute-set><xsl:attribute-set name="table-fn-style">
1071
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1072
+
1073
+
1074
+
1075
+
1076
+
1077
+
1078
+ </xsl:attribute-set><xsl:attribute-set name="table-fn-number-style">
1079
+ <xsl:attribute name="font-size">80%</xsl:attribute>
1080
+ <xsl:attribute name="padding-right">5mm</xsl:attribute>
1081
+
1082
+
1083
+
1084
+
1085
+
1086
+
1087
+
1088
+
1089
+
1090
+
1091
+
1092
+
1093
+ </xsl:attribute-set><xsl:attribute-set name="fn-container-body-style">
1094
+ <xsl:attribute name="text-indent">0</xsl:attribute>
1095
+ <xsl:attribute name="start-indent">0</xsl:attribute>
1096
+
1097
+
1098
+ </xsl:attribute-set><xsl:attribute-set name="table-fn-body-style">
1099
+
1100
+ </xsl:attribute-set><xsl:attribute-set name="figure-fn-number-style">
1101
+ <xsl:attribute name="font-size">80%</xsl:attribute>
1102
+ <xsl:attribute name="padding-right">5mm</xsl:attribute>
1103
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
1104
+
1105
+ </xsl:attribute-set><xsl:attribute-set name="figure-fn-body-style">
1106
+ <xsl:attribute name="text-align">justify</xsl:attribute>
1107
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1108
+
1109
+ </xsl:attribute-set><xsl:attribute-set name="dt-row-style">
1110
+
1111
+
1112
+ </xsl:attribute-set><xsl:attribute-set name="dt-style">
1113
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
1114
+
1115
+
1116
+
1117
+
1118
+
1119
+
1120
+
1121
+
1122
+
1123
+
1124
+ </xsl:attribute-set><xsl:attribute-set name="appendix-style">
1125
+
1126
+
1127
+
1128
+ </xsl:attribute-set><xsl:attribute-set name="appendix-example-style">
1129
+
1130
+
1131
+
1132
+ </xsl:attribute-set><xsl:attribute-set name="xref-style">
1133
+
1134
+
1135
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
1136
+
1137
+
1138
+
1139
+
1140
+ </xsl:attribute-set><xsl:attribute-set name="eref-style">
1141
+
1142
+
1143
+ <xsl:attribute name="color">rgb(33, 94, 159)</xsl:attribute>
1144
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
1145
+
1146
+
1147
+
1148
+
1149
+
1150
+ </xsl:attribute-set><xsl:attribute-set name="note-style">
1151
+
1152
+
1153
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1154
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
1155
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1156
+ <xsl:attribute name="line-height">115%</xsl:attribute>
1157
+
1158
+
1159
+
1160
+
1161
+
1162
+
1163
+
1164
+
1165
+
1166
+
1167
+
1168
+
1169
+
1170
+
1171
+
1172
+ </xsl:attribute-set><xsl:variable name="note-body-indent">10mm</xsl:variable><xsl:variable name="note-body-indent-table">5mm</xsl:variable><xsl:attribute-set name="note-name-style">
1173
+
1174
+
1175
+ <xsl:attribute name="padding-right">4mm</xsl:attribute>
1176
+
1177
+
1178
+
1179
+
1180
+
1181
+
1182
+
1183
+
1184
+
1185
+
1186
+
1187
+
1188
+ </xsl:attribute-set><xsl:attribute-set name="table-note-name-style">
1189
+ <xsl:attribute name="padding-right">2mm</xsl:attribute>
1190
+
1191
+
1192
+
1193
+
1194
+ </xsl:attribute-set><xsl:attribute-set name="note-p-style">
1195
+
1196
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
1197
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1198
+
1199
+
1200
+
1201
+
1202
+
1203
+
1204
+
1205
+
1206
+
1207
+
1208
+
1209
+
1210
+
1211
+ </xsl:attribute-set><xsl:attribute-set name="termnote-style">
1212
+
1213
+
1214
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1215
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1216
+
1217
+
1218
+
1219
+
1220
+
1221
+
1222
+ </xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
1223
+
1224
+
1225
+
1226
+
1227
+ </xsl:attribute-set><xsl:attribute-set name="quote-style">
1228
+ <xsl:attribute name="role">BlockQuote</xsl:attribute>
1229
+
1230
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
1231
+ <xsl:attribute name="margin-left">13mm</xsl:attribute>
1232
+ <xsl:attribute name="margin-right">12mm</xsl:attribute>
1233
+
1234
+
1235
+
1236
+
1237
+
1238
+
1239
+
1240
+ </xsl:attribute-set><xsl:attribute-set name="quote-source-style">
1241
+
1242
+ <xsl:attribute name="text-align">right</xsl:attribute>
1243
+ <xsl:attribute name="margin-right">25mm</xsl:attribute>
1244
+
1245
+
1246
+
1247
+ </xsl:attribute-set><xsl:attribute-set name="termsource-style">
1248
+
1249
+
1250
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1251
+ <xsl:attribute name="keep-with-previous">always</xsl:attribute>
1252
+
1253
+
1254
+
1255
+
1256
+
1257
+
1258
+ </xsl:attribute-set><xsl:attribute-set name="termsource-text-style">
1259
+
1260
+
1261
+ </xsl:attribute-set><xsl:attribute-set name="origin-style">
1262
+
1263
+ <xsl:attribute name="color">rgb(33, 94, 159)</xsl:attribute>
1264
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
1265
+
1266
+
1267
+
1268
+
1269
+ </xsl:attribute-set><xsl:attribute-set name="term-style">
1270
+
1271
+ </xsl:attribute-set><xsl:attribute-set name="figure-style">
1272
+
1273
+ </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
1274
+
1275
+
1276
+
1277
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
1278
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1279
+ <xsl:attribute name="text-align">center</xsl:attribute>
1280
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
1281
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1282
+ <xsl:attribute name="keep-with-previous">always</xsl:attribute>
1283
+
1284
+
1285
+
1286
+
1287
+
1288
+
1289
+
1290
+
1291
+
1292
+
1293
+
1294
+
1295
+
1296
+
1297
+
1298
+
1299
+
1300
+
1301
+ </xsl:attribute-set><xsl:attribute-set name="formula-style">
1302
+
1303
+ </xsl:attribute-set><xsl:attribute-set name="image-style">
1304
+ <xsl:attribute name="text-align">center</xsl:attribute>
1305
+
1306
+
1307
+
1308
+
1309
+
1310
+
1311
+ </xsl:attribute-set><xsl:attribute-set name="figure-pseudocode-p-style">
1312
+
1313
+ </xsl:attribute-set><xsl:attribute-set name="image-graphic-style">
1314
+
1315
+
1316
+ <xsl:attribute name="width">100%</xsl:attribute>
1317
+ <xsl:attribute name="content-height">scale-to-fit</xsl:attribute>
1318
+ <xsl:attribute name="scaling">uniform</xsl:attribute>
1319
+
1320
+
1321
+
1322
+
1323
+
1324
+ </xsl:attribute-set><xsl:attribute-set name="tt-style">
1325
+
1326
+ <xsl:attribute name="font-family">Source Code Pro</xsl:attribute>
1327
+
1328
+
1329
+
1330
+ </xsl:attribute-set><xsl:attribute-set name="sourcecode-name-style">
1331
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
1332
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1333
+ <xsl:attribute name="text-align">center</xsl:attribute>
1334
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1335
+ <xsl:attribute name="keep-with-previous">always</xsl:attribute>
1336
+
1337
+ </xsl:attribute-set><xsl:attribute-set name="domain-style">
1338
+
1339
+ </xsl:attribute-set><xsl:attribute-set name="admitted-style">
1340
+
1341
+
1342
+
1343
+ </xsl:attribute-set><xsl:attribute-set name="deprecates-style">
1344
+
1345
+
1346
+ </xsl:attribute-set><xsl:attribute-set name="definition-style">
1347
+
1348
+ <xsl:attribute name="space-after">6pt</xsl:attribute>
1349
+
1350
+
1351
+
1352
+ </xsl:attribute-set><xsl:variable name="color-added-text">
1353
+ <xsl:text>rgb(0, 255, 0)</xsl:text>
1354
+ </xsl:variable><xsl:attribute-set name="add-style">
1355
+ <xsl:attribute name="color">red</xsl:attribute>
1356
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
1357
+ <!-- <xsl:attribute name="color">black</xsl:attribute>
1358
+ <xsl:attribute name="background-color"><xsl:value-of select="$color-added-text"/></xsl:attribute>
1359
+ <xsl:attribute name="padding-top">1mm</xsl:attribute>
1360
+ <xsl:attribute name="padding-bottom">0.5mm</xsl:attribute> -->
1361
+ </xsl:attribute-set><xsl:variable name="color-deleted-text">
1362
+ <xsl:text>red</xsl:text>
1363
+ </xsl:variable><xsl:attribute-set name="del-style">
1364
+ <xsl:attribute name="color"><xsl:value-of select="$color-deleted-text"/></xsl:attribute>
1365
+ <xsl:attribute name="text-decoration">line-through</xsl:attribute>
1366
+ </xsl:attribute-set><xsl:attribute-set name="mathml-style">
1367
+ <xsl:attribute name="font-family">STIX Two Math</xsl:attribute>
1368
+
1369
+
1370
+ </xsl:attribute-set><xsl:attribute-set name="list-style">
1371
+
1372
+ </xsl:attribute-set><xsl:attribute-set name="toc-style">
1373
+ <xsl:attribute name="line-height">135%</xsl:attribute>
1374
+ </xsl:attribute-set><xsl:attribute-set name="fn-reference-style">
1375
+ <xsl:attribute name="font-size">80%</xsl:attribute>
1376
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1377
+
1378
+
1379
+
1380
+
1381
+
1382
+
1383
+
1384
+
1385
+ </xsl:attribute-set><xsl:attribute-set name="fn-style">
1386
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1387
+ </xsl:attribute-set><xsl:attribute-set name="fn-num-style">
1388
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1389
+
1390
+
1391
+
1392
+ <xsl:attribute name="font-size">65%</xsl:attribute>
1393
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
1394
+
1193
1395
 
1194
- </xsl:attribute-set><xsl:attribute-set name="appendix-style">
1195
1396
 
1196
1397
 
1197
1398
 
1198
- </xsl:attribute-set><xsl:attribute-set name="appendix-example-style">
1199
1399
 
1200
1400
 
1201
1401
 
1202
- </xsl:attribute-set><xsl:attribute-set name="xref-style">
1203
1402
 
1204
1403
 
1205
- <xsl:attribute name="text-decoration">underline</xsl:attribute>
1206
1404
 
1207
1405
 
1208
1406
 
1209
1407
 
1210
- </xsl:attribute-set><xsl:attribute-set name="eref-style">
1408
+ </xsl:attribute-set><xsl:attribute-set name="fn-body-style">
1409
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
1410
+ <xsl:attribute name="font-style">normal</xsl:attribute>
1411
+ <xsl:attribute name="text-indent">0</xsl:attribute>
1412
+ <xsl:attribute name="start-indent">0</xsl:attribute>
1211
1413
 
1212
1414
 
1213
- <xsl:attribute name="color">rgb(33, 94, 159)</xsl:attribute>
1214
- <xsl:attribute name="text-decoration">underline</xsl:attribute>
1215
1415
 
1416
+ <xsl:attribute name="font-family">Azo Sans Lt</xsl:attribute>
1417
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1418
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1419
+ <xsl:attribute name="color">rgb(168, 170, 173)</xsl:attribute>
1420
+ <xsl:attribute name="text-align">left</xsl:attribute>
1216
1421
 
1217
1422
 
1218
1423
 
1219
1424
 
1220
- </xsl:attribute-set><xsl:attribute-set name="note-style">
1221
1425
 
1222
1426
 
1223
- <xsl:attribute name="font-size">10pt</xsl:attribute>
1224
- <xsl:attribute name="margin-top">12pt</xsl:attribute>
1225
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1226
- <xsl:attribute name="line-height">115%</xsl:attribute>
1227
1427
 
1228
1428
 
1229
1429
 
1230
-
1231
1430
 
1232
1431
 
1233
1432
 
@@ -1235,14 +1434,16 @@
1235
1434
 
1236
1435
 
1237
1436
 
1437
+ </xsl:attribute-set><xsl:attribute-set name="fn-body-num-style">
1438
+ <xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
1238
1439
 
1239
1440
 
1240
1441
 
1442
+ <xsl:attribute name="font-size">60%</xsl:attribute>
1443
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
1241
1444
 
1242
- </xsl:attribute-set><xsl:variable name="note-body-indent">10mm</xsl:variable><xsl:variable name="note-body-indent-table">5mm</xsl:variable><xsl:attribute-set name="note-name-style">
1243
1445
 
1244
1446
 
1245
- <xsl:attribute name="padding-right">4mm</xsl:attribute>
1246
1447
 
1247
1448
 
1248
1449
 
@@ -1255,19 +1456,20 @@
1255
1456
 
1256
1457
 
1257
1458
 
1258
- </xsl:attribute-set><xsl:attribute-set name="table-note-name-style">
1459
+ </xsl:attribute-set><xsl:attribute-set name="admonition-style">
1259
1460
 
1461
+ <xsl:attribute name="border">0.5pt solid rgb(79, 129, 189)</xsl:attribute>
1462
+ <xsl:attribute name="color">rgb(79, 129, 189)</xsl:attribute>
1463
+ <xsl:attribute name="margin-left">16mm</xsl:attribute>
1464
+ <xsl:attribute name="margin-right">16mm</xsl:attribute>
1465
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1260
1466
 
1261
1467
 
1262
1468
 
1263
- </xsl:attribute-set><xsl:attribute-set name="note-p-style">
1264
1469
 
1265
- <xsl:attribute name="margin-top">12pt</xsl:attribute>
1266
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1267
1470
 
1268
1471
 
1269
1472
 
1270
-
1271
1473
 
1272
1474
 
1273
1475
 
@@ -1275,30 +1477,32 @@
1275
1477
 
1276
1478
 
1277
1479
 
1480
+ </xsl:attribute-set><xsl:attribute-set name="admonition-container-style">
1278
1481
 
1482
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
1483
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
1484
+ <xsl:attribute name="padding">2mm</xsl:attribute>
1485
+ <xsl:attribute name="padding-top">3mm</xsl:attribute>
1279
1486
 
1280
- </xsl:attribute-set><xsl:attribute-set name="termnote-style">
1281
1487
 
1282
1488
 
1283
- <xsl:attribute name="font-size">10pt</xsl:attribute>
1284
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1285
1489
 
1286
1490
 
1287
1491
 
1288
1492
 
1289
1493
 
1290
1494
 
1291
- </xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
1292
1495
 
1293
-
1496
+ </xsl:attribute-set><xsl:attribute-set name="admonition-name-style">
1497
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1294
1498
 
1499
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
1500
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1501
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1502
+ <xsl:attribute name="font-style">italic</xsl:attribute>
1503
+ <xsl:attribute name="text-align">center</xsl:attribute>
1295
1504
 
1296
- </xsl:attribute-set><xsl:attribute-set name="quote-style">
1297
- <xsl:attribute name="role">BlockQuote</xsl:attribute>
1298
1505
 
1299
- <xsl:attribute name="margin-top">12pt</xsl:attribute>
1300
- <xsl:attribute name="margin-left">13mm</xsl:attribute>
1301
- <xsl:attribute name="margin-right">12mm</xsl:attribute>
1302
1506
 
1303
1507
 
1304
1508
 
@@ -1306,45 +1510,32 @@
1306
1510
 
1307
1511
 
1308
1512
 
1309
- </xsl:attribute-set><xsl:attribute-set name="quote-source-style">
1310
1513
 
1311
- <xsl:attribute name="text-align">right</xsl:attribute>
1312
- <xsl:attribute name="margin-right">25mm</xsl:attribute>
1313
1514
 
1314
-
1315
-
1316
- </xsl:attribute-set><xsl:attribute-set name="termsource-style">
1317
1515
 
1318
1516
 
1319
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1320
- <xsl:attribute name="keep-with-previous">always</xsl:attribute>
1517
+ </xsl:attribute-set><xsl:attribute-set name="admonition-p-style">
1321
1518
 
1519
+ <xsl:attribute name="font-style">italic</xsl:attribute>
1322
1520
 
1323
1521
 
1324
1522
 
1325
1523
 
1326
1524
 
1327
- </xsl:attribute-set><xsl:attribute-set name="origin-style">
1328
1525
 
1329
- <xsl:attribute name="color">rgb(33, 94, 159)</xsl:attribute>
1330
- <xsl:attribute name="text-decoration">underline</xsl:attribute>
1331
1526
 
1332
1527
 
1333
1528
 
1334
1529
 
1335
- </xsl:attribute-set><xsl:attribute-set name="term-style">
1336
1530
 
1337
- </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
1531
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-style">
1338
1532
 
1339
1533
 
1340
1534
 
1341
- <xsl:attribute name="font-size">11pt</xsl:attribute>
1342
- <xsl:attribute name="font-weight">bold</xsl:attribute>
1343
- <xsl:attribute name="text-align">center</xsl:attribute>
1344
- <xsl:attribute name="margin-top">12pt</xsl:attribute>
1345
- <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1346
- <xsl:attribute name="keep-with-previous">always</xsl:attribute>
1347
-
1535
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1536
+ <xsl:attribute name="start-indent">12mm</xsl:attribute>
1537
+ <xsl:attribute name="text-indent">-12mm</xsl:attribute>
1538
+ <xsl:attribute name="line-height">145%</xsl:attribute>
1348
1539
 
1349
1540
 
1350
1541
 
@@ -1357,97 +1548,60 @@
1357
1548
 
1358
1549
 
1359
1550
 
1360
-
1361
1551
 
1362
1552
 
1363
1553
 
1364
-
1365
- </xsl:attribute-set><xsl:attribute-set name="formula-style">
1366
1554
 
1367
- </xsl:attribute-set><xsl:attribute-set name="image-style">
1368
- <xsl:attribute name="text-align">center</xsl:attribute>
1555
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-list-style">
1556
+ <xsl:attribute name="provisional-distance-between-starts">12mm</xsl:attribute>
1557
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1369
1558
 
1370
1559
 
1371
1560
 
1372
1561
 
1373
1562
 
1374
1563
 
1375
- </xsl:attribute-set><xsl:attribute-set name="figure-pseudocode-p-style">
1376
1564
 
1377
- </xsl:attribute-set><xsl:attribute-set name="image-graphic-style">
1378
1565
 
1379
1566
 
1380
- <xsl:attribute name="width">100%</xsl:attribute>
1381
- <xsl:attribute name="content-height">scale-to-fit</xsl:attribute>
1382
- <xsl:attribute name="scaling">uniform</xsl:attribute>
1383
1567
 
1384
1568
 
1569
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-style">
1385
1570
 
1386
-
1387
-
1388
- </xsl:attribute-set><xsl:attribute-set name="tt-style">
1389
1571
 
1390
- <xsl:attribute name="font-family">Source Code Pro</xsl:attribute>
1572
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1573
+ <xsl:attribute name="line-height">145%</xsl:attribute>
1391
1574
 
1392
1575
 
1393
1576
 
1394
- </xsl:attribute-set><xsl:attribute-set name="sourcecode-name-style">
1395
- <xsl:attribute name="font-size">11pt</xsl:attribute>
1396
- <xsl:attribute name="font-weight">bold</xsl:attribute>
1397
- <xsl:attribute name="text-align">center</xsl:attribute>
1577
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-list-style">
1578
+ <xsl:attribute name="provisional-distance-between-starts">12mm</xsl:attribute>
1398
1579
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1399
- <xsl:attribute name="keep-with-previous">always</xsl:attribute>
1400
-
1401
- </xsl:attribute-set><xsl:attribute-set name="domain-style">
1402
-
1403
- </xsl:attribute-set><xsl:attribute-set name="admitted-style">
1404
1580
 
1405
1581
 
1406
1582
 
1407
- </xsl:attribute-set><xsl:attribute-set name="deprecates-style">
1408
1583
 
1409
1584
 
1410
- </xsl:attribute-set><xsl:attribute-set name="definition-style">
1411
1585
 
1412
- <xsl:attribute name="space-after">6pt</xsl:attribute>
1413
1586
 
1414
1587
 
1415
1588
 
1416
- </xsl:attribute-set><xsl:variable name="color-added-text">
1417
- <xsl:text>rgb(0, 255, 0)</xsl:text>
1418
- </xsl:variable><xsl:attribute-set name="add-style">
1419
- <xsl:attribute name="color">red</xsl:attribute>
1420
- <xsl:attribute name="text-decoration">underline</xsl:attribute>
1421
- <!-- <xsl:attribute name="color">black</xsl:attribute>
1422
- <xsl:attribute name="background-color"><xsl:value-of select="$color-added-text"/></xsl:attribute>
1423
- <xsl:attribute name="padding-top">1mm</xsl:attribute>
1424
- <xsl:attribute name="padding-bottom">0.5mm</xsl:attribute> -->
1425
- </xsl:attribute-set><xsl:variable name="color-deleted-text">
1426
- <xsl:text>red</xsl:text>
1427
- </xsl:variable><xsl:attribute-set name="del-style">
1428
- <xsl:attribute name="color"><xsl:value-of select="$color-deleted-text"/></xsl:attribute>
1429
- <xsl:attribute name="text-decoration">line-through</xsl:attribute>
1430
- </xsl:attribute-set><xsl:attribute-set name="mathml-style">
1431
- <xsl:attribute name="font-family">STIX Two Math</xsl:attribute>
1432
1589
 
1433
1590
 
1434
- </xsl:attribute-set><xsl:attribute-set name="list-style">
1591
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-list-body-style">
1435
1592
 
1436
- </xsl:attribute-set><xsl:attribute-set name="toc-style">
1437
- <xsl:attribute name="line-height">135%</xsl:attribute>
1438
- </xsl:attribute-set><xsl:attribute-set name="fn-style">
1439
- <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1440
- </xsl:attribute-set><xsl:attribute-set name="fn-num-style">
1441
- <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1442
1593
 
1594
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-list-body-style">
1443
1595
 
1444
1596
 
1445
- <xsl:attribute name="font-size">65%</xsl:attribute>
1446
- <xsl:attribute name="vertical-align">super</xsl:attribute>
1447
1597
 
1598
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-style">
1599
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1600
+ <xsl:attribute name="font-size">65%</xsl:attribute>
1448
1601
 
1449
1602
 
1450
1603
 
1604
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
1451
1605
 
1452
1606
 
1453
1607
 
@@ -1458,23 +1612,17 @@
1458
1612
 
1459
1613
 
1460
1614
 
1461
- </xsl:attribute-set><xsl:attribute-set name="fn-body-style">
1462
- <xsl:attribute name="font-weight">normal</xsl:attribute>
1463
- <xsl:attribute name="font-style">normal</xsl:attribute>
1464
- <xsl:attribute name="text-indent">0</xsl:attribute>
1465
- <xsl:attribute name="start-indent">0</xsl:attribute>
1466
1615
 
1467
1616
 
1468
1617
 
1469
- <xsl:attribute name="font-family">Azo Sans Lt</xsl:attribute>
1470
- <xsl:attribute name="font-size">10pt</xsl:attribute>
1471
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1472
- <xsl:attribute name="color">rgb(168, 170, 173)</xsl:attribute>
1473
- <xsl:attribute name="text-align">left</xsl:attribute>
1474
1618
 
1619
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-number-style">
1620
+ <xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
1475
1621
 
1476
1622
 
1477
1623
 
1624
+ <xsl:attribute name="font-size">60%</xsl:attribute>
1625
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
1478
1626
 
1479
1627
 
1480
1628
 
@@ -1487,14 +1635,16 @@
1487
1635
 
1488
1636
 
1489
1637
 
1490
- </xsl:attribute-set><xsl:attribute-set name="fn-body-num-style">
1491
- <xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
1492
1638
 
1493
1639
 
1640
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-body-style">
1641
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1642
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1643
+ <xsl:attribute name="start-indent">0pt</xsl:attribute>
1494
1644
 
1495
- <xsl:attribute name="font-size">60%</xsl:attribute>
1496
- <xsl:attribute name="vertical-align">super</xsl:attribute>
1497
1645
 
1646
+ <xsl:attribute name="font-family">Azo Sans Lt</xsl:attribute>
1647
+ <xsl:attribute name="color">rgb(168, 170, 173)</xsl:attribute>
1498
1648
 
1499
1649
 
1500
1650
 
@@ -1505,34 +1655,17 @@
1505
1655
 
1506
1656
 
1507
1657
 
1658
+ </xsl:attribute-set><xsl:attribute-set name="references-non-normative-style">
1508
1659
 
1509
1660
 
1661
+ <xsl:attribute name="line-height">145%</xsl:attribute>
1510
1662
 
1511
1663
 
1512
- </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:template name="OLD_processPrefaceSectionsDefault_Contents">
1513
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']" mode="contents"/>
1514
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']" mode="contents"/>
1515
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']" mode="contents"/>
1516
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']" mode="contents"/>
1517
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']" mode="contents"/>
1518
- </xsl:template><xsl:template name="processPrefaceSectionsDefault_Contents">
1664
+ </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">
1519
1665
  <xsl:for-each select="/*/*[local-name()='preface']/*">
1520
1666
  <xsl:sort select="@displayorder" data-type="number"/>
1521
1667
  <xsl:apply-templates select="." mode="contents"/>
1522
1668
  </xsl:for-each>
1523
- </xsl:template><xsl:template name="OLD_processMainSectionsDefault_Contents">
1524
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']" mode="contents"/>
1525
-
1526
- <!-- Normative references -->
1527
- <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true'] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][@normative='true']]" mode="contents"/>
1528
- <!-- Terms and definitions -->
1529
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='terms'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='terms']] | /*/*[local-name()='sections']/*[local-name()='definitions'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='definitions']]" mode="contents"/>
1530
- <!-- Another main sections -->
1531
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name() != 'terms' and local-name() != 'definitions' and not(@type='scope') and not(local-name() = 'clause' and .//*[local-name()='terms']) and not(local-name() = 'clause' and .//*[local-name()='definitions'])]" mode="contents"/>
1532
- <xsl:apply-templates select="/*/*[local-name()='annex']" mode="contents"/>
1533
- <!-- Bibliography -->
1534
- <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][not(@normative='true')]]" mode="contents"/>
1535
-
1536
1669
  </xsl:template><xsl:template name="processMainSectionsDefault_Contents">
1537
1670
 
1538
1671
  <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']]">
@@ -1549,29 +1682,11 @@
1549
1682
  <xsl:sort select="@displayorder" data-type="number"/>
1550
1683
  <xsl:apply-templates select="." mode="contents"/>
1551
1684
  </xsl:for-each>
1552
- </xsl:template><xsl:template name="OLD_processPrefaceSectionsDefault">
1553
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']"/>
1554
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']"/>
1555
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']"/>
1556
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']"/>
1557
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']"/>
1558
1685
  </xsl:template><xsl:template name="processPrefaceSectionsDefault">
1559
1686
  <xsl:for-each select="/*/*[local-name()='preface']/*">
1560
1687
  <xsl:sort select="@displayorder" data-type="number"/>
1561
1688
  <xsl:apply-templates select="."/>
1562
1689
  </xsl:for-each>
1563
- </xsl:template><xsl:template name="OLD_processMainSectionsDefault">
1564
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']"/>
1565
-
1566
- <!-- Normative references -->
1567
- <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']"/>
1568
- <!-- Terms and definitions -->
1569
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='terms'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='terms']] | /*/*[local-name()='sections']/*[local-name()='definitions'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='definitions']]"/>
1570
- <!-- Another main sections -->
1571
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name() != 'terms' and local-name() != 'definitions' and not(@type='scope') and not(local-name() = 'clause' and .//*[local-name()='terms']) and not(local-name() = 'clause' and .//*[local-name()='definitions'])]"/>
1572
- <xsl:apply-templates select="/*/*[local-name()='annex']"/>
1573
- <!-- Bibliography -->
1574
- <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]"/>
1575
1690
  </xsl:template><xsl:template name="processMainSectionsDefault">
1576
1691
  <xsl:for-each select="/*/*[local-name()='sections']/* | /*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']">
1577
1692
  <xsl:sort select="@displayorder" data-type="number"/>
@@ -1592,6 +1707,64 @@
1592
1707
  <xsl:value-of select="."/>
1593
1708
  </xsl:template><xsl:template match="*[local-name()='br']">
1594
1709
  <xsl:value-of select="$linebreak"/>
1710
+ </xsl:template><xsl:template match="*[local-name()='copyright-statement']">
1711
+ <fo:block xsl:use-attribute-sets="copyright-statement-style">
1712
+ <xsl:apply-templates/>
1713
+ </fo:block>
1714
+ </xsl:template><xsl:template match="*[local-name()='copyright-statement']//*[local-name()='title']">
1715
+
1716
+ <!-- process in the template 'title' -->
1717
+ <xsl:call-template name="title"/>
1718
+
1719
+ </xsl:template><xsl:template match="*[local-name()='copyright-statement']//*[local-name()='p']">
1720
+
1721
+
1722
+ <!-- process in the template 'paragraph' -->
1723
+ <xsl:call-template name="paragraph"/>
1724
+
1725
+ </xsl:template><xsl:template match="*[local-name()='license-statement']">
1726
+ <fo:block xsl:use-attribute-sets="license-statement-style">
1727
+ <xsl:apply-templates/>
1728
+ </fo:block>
1729
+ </xsl:template><xsl:template match="*[local-name()='license-statement']//*[local-name()='title']">
1730
+
1731
+ <!-- process in the template 'title' -->
1732
+ <xsl:call-template name="title"/>
1733
+
1734
+ </xsl:template><xsl:template match="*[local-name()='license-statement']//*[local-name()='p']">
1735
+
1736
+ <!-- process in the template 'paragraph' -->
1737
+ <xsl:call-template name="paragraph"/>
1738
+
1739
+ </xsl:template><xsl:template match="*[local-name()='legal-statement']">
1740
+ <fo:block xsl:use-attribute-sets="legal-statement-style">
1741
+ <xsl:apply-templates/>
1742
+ </fo:block>
1743
+ </xsl:template><xsl:template match="*[local-name()='legal-statement']//*[local-name()='title']">
1744
+
1745
+ <!-- process in the template 'title' -->
1746
+ <xsl:call-template name="title"/>
1747
+
1748
+
1749
+ </xsl:template><xsl:template match="*[local-name()='legal-statement']//*[local-name()='p']">
1750
+
1751
+ <!-- process in the template 'paragraph' -->
1752
+ <xsl:call-template name="paragraph"/>
1753
+
1754
+ </xsl:template><xsl:template match="*[local-name()='feedback-statement']">
1755
+ <fo:block xsl:use-attribute-sets="feedback-statement-style">
1756
+ <xsl:apply-templates/>
1757
+ </fo:block>
1758
+ </xsl:template><xsl:template match="*[local-name()='feedback-statement']//*[local-name()='title']">
1759
+
1760
+ <!-- process in the template 'title' -->
1761
+ <xsl:call-template name="title"/>
1762
+
1763
+ </xsl:template><xsl:template match="*[local-name()='feedback-statement']//*[local-name()='p']">
1764
+
1765
+ <!-- process in the template 'paragraph' -->
1766
+ <xsl:call-template name="paragraph"/>
1767
+
1595
1768
  </xsl:template><xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
1596
1769
  <!-- <xsl:call-template name="add-zero-spaces"/> -->
1597
1770
  <xsl:call-template name="add-zero-spaces-java"/>
@@ -1608,41 +1781,17 @@
1608
1781
  <xsl:call-template name="getSimpleTable"/>
1609
1782
  </xsl:variable>
1610
1783
 
1611
- <!-- <xsl:if test="$namespace = 'bipm'">
1612
- <fo:block>&#xA0;</fo:block>
1613
- </xsl:if> -->
1614
-
1615
1784
 
1616
1785
  <!-- Display table's name before table as standalone block -->
1617
1786
  <!-- $namespace = 'iso' or -->
1618
1787
 
1619
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
1620
-
1621
-
1622
-
1788
+ <xsl:apply-templates select="*[local-name()='name']"/> <!-- table's title rendered before table -->
1789
+
1623
1790
 
1624
1791
 
1625
-
1626
1792
 
1627
1793
  <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)/*/tr[1]/td)"/>
1628
1794
 
1629
- <!-- <xsl:variable name="cols-count">
1630
- <xsl:choose>
1631
- <xsl:when test="*[local-name()='thead']">
1632
- <xsl:call-template name="calculate-columns-numbers">
1633
- <xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
1634
- </xsl:call-template>
1635
- </xsl:when>
1636
- <xsl:otherwise>
1637
- <xsl:call-template name="calculate-columns-numbers">
1638
- <xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
1639
- </xsl:call-template>
1640
- </xsl:otherwise>
1641
- </xsl:choose>
1642
- </xsl:variable> -->
1643
- <!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
1644
- <!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
1645
-
1646
1795
  <xsl:variable name="colwidths">
1647
1796
  <xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
1648
1797
  <xsl:call-template name="calculate-column-widths">
@@ -1653,17 +1802,8 @@
1653
1802
  </xsl:variable>
1654
1803
  <!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
1655
1804
 
1656
- <!-- <xsl:variable name="colwidths2">
1657
- <xsl:call-template name="calculate-column-widths">
1658
- <xsl:with-param name="cols-count" select="$cols-count"/>
1659
- </xsl:call-template>
1660
- </xsl:variable> -->
1661
-
1662
- <!-- cols-count=<xsl:copy-of select="$cols-count"/>
1663
- colwidthsNew=<xsl:copy-of select="$colwidths"/>
1664
- colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
1665
1805
 
1666
- <xsl:variable name="margin-left">
1806
+ <xsl:variable name="margin-side">
1667
1807
  <xsl:choose>
1668
1808
  <xsl:when test="sum(xalan:nodeset($colwidths)//column) &gt; 75">15</xsl:when>
1669
1809
  <xsl:otherwise>0</xsl:otherwise>
@@ -1671,63 +1811,67 @@
1671
1811
  </xsl:variable>
1672
1812
 
1673
1813
 
1674
- <fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
1675
-
1676
-
1677
-
1678
-
1679
-
1680
-
1814
+ <fo:block-container xsl:use-attribute-sets="table-container-style">
1815
+
1681
1816
 
1817
+ <xsl:attribute name="margin-left"><xsl:value-of select="-$margin-side"/>mm</xsl:attribute>
1818
+ <xsl:attribute name="margin-right"><xsl:value-of select="-$margin-side"/>mm</xsl:attribute>
1682
1819
 
1683
-
1820
+
1684
1821
 
1822
+
1685
1823
 
1824
+
1686
1825
 
1687
1826
 
1688
1827
 
1828
+
1689
1829
 
1690
1830
 
1691
1831
 
1692
1832
 
1693
1833
 
1834
+ <!-- end table block-container attributes -->
1694
1835
 
1695
1836
  <!-- display table's name before table for PAS inside block-container (2-columnn layout) -->
1696
1837
 
1697
1838
 
1839
+ <xsl:variable name="table_width_default">100%</xsl:variable>
1698
1840
  <xsl:variable name="table_width">
1699
1841
  <!-- for centered table always 100% (@width will be set for middle/second cell of outer table) -->
1700
- 100%
1701
-
1702
-
1842
+ <xsl:value-of select="$table_width_default"/>
1703
1843
  </xsl:variable>
1704
1844
 
1845
+
1705
1846
  <xsl:variable name="table_attributes">
1706
- <attribute name="table-layout">fixed</attribute>
1707
- <attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></attribute>
1708
- <attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
1709
- <attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
1710
-
1711
-
1712
-
1713
-
1714
-
1715
-
1716
-
1717
-
1718
-
1719
-
1720
-
1721
-
1722
-
1723
-
1847
+
1848
+ <xsl:element name="table_attributes" use-attribute-sets="table-style">
1849
+ <xsl:attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></xsl:attribute>
1850
+
1851
+
1852
+ <xsl:attribute name="margin-left"><xsl:value-of select="$margin-side"/>mm</xsl:attribute>
1853
+ <xsl:attribute name="margin-right"><xsl:value-of select="$margin-side"/>mm</xsl:attribute>
1854
+
1855
+
1856
+
1857
+
1858
+
1859
+
1860
+
1861
+
1862
+
1863
+
1864
+
1865
+
1866
+
1867
+ </xsl:element>
1724
1868
  </xsl:variable>
1725
1869
 
1726
1870
 
1727
- <fo:table id="{@id}" table-omit-footer-at-break="true">
1871
+ <fo:table id="{@id}">
1728
1872
 
1729
- <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
1730
- <xsl:attribute name="{@name}">
1873
+ <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
1874
+ <xsl:attribute name="{local-name()}">
1731
1875
  <xsl:value-of select="."/>
1732
1876
  </xsl:attribute>
1733
1877
  </xsl:for-each>
@@ -1738,7 +1882,6 @@
1738
1882
  </xsl:if>
1739
1883
 
1740
1884
 
1741
-
1742
1885
  <xsl:choose>
1743
1886
  <xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
1744
1887
  <xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
@@ -1764,7 +1907,7 @@
1764
1907
  <xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
1765
1908
  </xsl:when>
1766
1909
  <xsl:otherwise>
1767
- <xsl:apply-templates/>
1910
+ <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note') and not(local-name() = 'thead') and not(local-name() = 'tfoot')]"/> <!-- process all table' elements, except name, header, footer and note that renders separaterely -->
1768
1911
  </xsl:otherwise>
1769
1912
  </xsl:choose>
1770
1913
 
@@ -1773,31 +1916,12 @@
1773
1916
  <xsl:variable name="colgroup" select="*[local-name()='colgroup']"/>
1774
1917
  <xsl:for-each select="*[local-name()='tbody']"><!-- select context to tbody -->
1775
1918
  <xsl:call-template name="insertTableFooterInSeparateTable">
1776
- <xsl:with-param name="table_attributes" select="$table_attributes"/>
1777
- <xsl:with-param name="colwidths" select="$colwidths"/>
1778
- <xsl:with-param name="colgroup" select="$colgroup"/>
1779
- </xsl:call-template>
1780
- </xsl:for-each>
1781
-
1782
- <!-- insert footer as table -->
1783
- <!-- <fo:table>
1784
- <xsl:for-each select="xalan::nodeset($table_attributes)/attribute">
1785
- <xsl:attribute name="{@name}">
1786
- <xsl:value-of select="."/>
1787
- </xsl:attribute>
1788
- </xsl:for-each>
1789
-
1790
- <xsl:for-each select="xalan:nodeset($colwidths)//column">
1791
- <xsl:choose>
1792
- <xsl:when test=". = 1 or . = 0">
1793
- <fo:table-column column-width="proportional-column-width(2)"/>
1794
- </xsl:when>
1795
- <xsl:otherwise>
1796
- <fo:table-column column-width="proportional-column-width({.})"/>
1797
- </xsl:otherwise>
1798
- </xsl:choose>
1799
- </xsl:for-each>
1800
- </fo:table>-->
1919
+ <xsl:with-param name="table_attributes" select="$table_attributes"/>
1920
+ <xsl:with-param name="colwidths" select="$colwidths"/>
1921
+ <xsl:with-param name="colgroup" select="$colgroup"/>
1922
+ </xsl:call-template>
1923
+ </xsl:for-each>
1924
+
1801
1925
 
1802
1926
 
1803
1927
 
@@ -1858,18 +1982,17 @@
1858
1982
  </xsl:otherwise>
1859
1983
  </xsl:choose>
1860
1984
 
1861
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']"/><xsl:template match="*[local-name()='table']/*[local-name() = 'name']" mode="presentation">
1985
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']">
1862
1986
  <xsl:param name="continued"/>
1863
1987
  <xsl:if test="normalize-space() != ''">
1864
1988
  <fo:block xsl:use-attribute-sets="table-name-style">
1865
-
1989
+
1866
1990
 
1867
1991
 
1868
1992
 
1869
1993
 
1870
1994
  <xsl:choose>
1871
1995
  <xsl:when test="$continued = 'true'">
1872
- <!-- <xsl:if test="$namespace = 'bsi'"></xsl:if> -->
1873
1996
 
1874
1997
  </xsl:when>
1875
1998
  <xsl:otherwise>
@@ -1932,13 +2055,6 @@
1932
2055
  <xsl:for-each select="xalan:nodeset($table)/*/tr">
1933
2056
  <xsl:variable name="td_text">
1934
2057
  <xsl:apply-templates select="td[$curr-col]" mode="td_text"/>
1935
-
1936
- <!-- <xsl:if test="$namespace = 'bipm'">
1937
- <xsl:for-each select="*[local-name()='td'][$curr-col]//*[local-name()='math']">
1938
- <word><xsl:value-of select="normalize-space(.)"/></word>
1939
- </xsl:for-each>
1940
- </xsl:if> -->
1941
-
1942
2058
  </xsl:variable>
1943
2059
  <xsl:variable name="words">
1944
2060
  <xsl:variable name="string_with_added_zerospaces">
@@ -1975,7 +2091,6 @@
1975
2091
  </xsl:otherwise>
1976
2092
  </xsl:choose>
1977
2093
  </xsl:variable>
1978
-
1979
2094
 
1980
2095
  <column>
1981
2096
  <xsl:for-each select="xalan:nodeset($widths)//width">
@@ -2009,9 +2124,8 @@
2009
2124
 
2010
2125
  <xsl:variable name="math_text" select="normalize-space(xalan:nodeset($mathml))"/>
2011
2126
  <xsl:value-of select="translate($math_text, ' ', '#')"/><!-- mathml images as one 'word' without spaces -->
2012
- </xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
2127
+ </xsl:template><xsl:template match="*[local-name()='thead']">
2013
2128
  <xsl:param name="cols-count"/>
2014
- <!-- font-weight="bold" -->
2015
2129
  <fo:table-header>
2016
2130
 
2017
2131
 
@@ -2023,85 +2137,26 @@
2023
2137
  <fo:table-row>
2024
2138
  <fo:table-cell number-columns-spanned="{$cols-count}" border-left="1.5pt solid white" border-right="1.5pt solid white" border-top="1.5pt solid white" border-bottom="1.5pt solid black">
2025
2139
 
2026
- <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']" mode="presentation">
2140
+ <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']">
2027
2141
  <xsl:with-param name="continued">true</xsl:with-param>
2028
2142
  </xsl:apply-templates>
2029
2143
 
2030
2144
 
2031
2145
 
2032
-
2033
2146
  </fo:table-cell>
2034
2147
  </fo:table-row>
2035
2148
  </xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
2036
2149
  <fo:table-body>
2037
2150
  <xsl:apply-templates/>
2038
2151
  </fo:table-body>
2039
- </xsl:template><xsl:template match="*[local-name()='tfoot']"/><xsl:template match="*[local-name()='tfoot']" mode="process">
2152
+ </xsl:template><xsl:template match="*[local-name()='tfoot']">
2040
2153
  <xsl:apply-templates/>
2041
2154
  </xsl:template><xsl:template name="insertTableFooter">
2042
2155
  <xsl:param name="cols-count"/>
2043
2156
  <xsl:if test="../*[local-name()='tfoot']">
2044
2157
  <fo:table-footer>
2045
- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/>
2046
- </fo:table-footer>
2047
- </xsl:if>
2048
- </xsl:template><xsl:template name="insertTableFooter2">
2049
- <xsl:param name="cols-count"/>
2050
- <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
2051
- <xsl:if test="../*[local-name()='tfoot'] or $isNoteOrFnExist = 'true'">
2052
-
2053
- <fo:table-footer>
2054
-
2055
- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/>
2056
-
2057
- <!-- if there are note(s) or fn(s) then create footer row -->
2058
- <xsl:if test="$isNoteOrFnExist = 'true'">
2059
-
2060
-
2061
-
2062
- <fo:table-row>
2063
- <fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
2064
-
2065
-
2066
-
2067
- <!-- fn will be processed inside 'note' processing -->
2068
-
2069
-
2070
-
2071
-
2072
-
2073
-
2074
- <!-- except gb -->
2075
-
2076
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
2077
-
2078
-
2079
- <!-- show Note under table in preface (ex. abstract) sections -->
2080
- <!-- empty, because notes show at page side in main sections -->
2081
- <!-- <xsl:if test="$namespace = 'bipm'">
2082
- <xsl:choose>
2083
- <xsl:when test="ancestor::*[local-name()='preface']">
2084
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
2085
- </xsl:when>
2086
- <xsl:otherwise>
2087
- <fo:block/>
2088
- </xsl:otherwise>
2089
- </xsl:choose>
2090
- </xsl:if> -->
2091
-
2092
-
2093
- <!-- horizontal row separator -->
2094
-
2095
-
2096
- <!-- fn processing -->
2097
- <xsl:call-template name="fn_display"/>
2098
-
2099
- </fo:table-cell>
2100
- </fo:table-row>
2101
-
2102
- </xsl:if>
2158
+ <xsl:apply-templates select="../*[local-name()='tfoot']"/>
2103
2159
  </fo:table-footer>
2104
-
2105
2160
  </xsl:if>
2106
2161
  </xsl:template><xsl:template name="insertTableFooterInSeparateTable">
2107
2162
  <xsl:param name="table_attributes"/>
@@ -2128,17 +2183,18 @@
2128
2183
  </xsl:variable>
2129
2184
 
2130
2185
  <fo:table keep-with-previous="always">
2131
- <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
2186
+ <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
2187
+ <xsl:variable name="name" select="local-name()"/>
2132
2188
  <xsl:choose>
2133
- <xsl:when test="@name = 'border-top'">
2134
- <xsl:attribute name="{@name}">0pt solid black</xsl:attribute>
2189
+ <xsl:when test="$name = 'border-top'">
2190
+ <xsl:attribute name="{$name}">0pt solid black</xsl:attribute>
2135
2191
  </xsl:when>
2136
- <xsl:when test="@name = 'border'">
2137
- <xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
2192
+ <xsl:when test="$name = 'border'">
2193
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
2138
2194
  <xsl:attribute name="border-top">0pt solid black</xsl:attribute>
2139
2195
  </xsl:when>
2140
2196
  <xsl:otherwise>
2141
- <xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
2197
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
2142
2198
  </xsl:otherwise>
2143
2199
  </xsl:choose>
2144
2200
  </xsl:for-each>
@@ -2167,9 +2223,10 @@
2167
2223
 
2168
2224
  <fo:table-body>
2169
2225
  <fo:table-row>
2170
- <fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
2226
+ <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
2171
2227
 
2172
2228
 
2229
+
2173
2230
 
2174
2231
 
2175
2232
  <!-- fn will be processed inside 'note' processing -->
@@ -2179,37 +2236,20 @@
2179
2236
 
2180
2237
 
2181
2238
 
2182
-
2183
-
2184
-
2185
2239
  <!-- for BSI (not PAS) display Notes before footnotes -->
2186
2240
 
2187
2241
 
2188
- <!-- except gb -->
2189
-
2190
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
2242
+ <!-- except gb and bsi -->
2191
2243
 
2192
-
2193
- <!-- <xsl:if test="$namespace = 'bipm'">
2194
- <xsl:choose>
2195
- <xsl:when test="ancestor::*[local-name()='preface']">
2196
- show Note under table in preface (ex. abstract) sections
2197
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
2198
- </xsl:when>
2199
- <xsl:otherwise>
2200
- empty, because notes show at page side in main sections
2201
- <fo:block/>
2202
- </xsl:otherwise>
2203
- </xsl:choose>
2204
- </xsl:if> -->
2244
+ <xsl:apply-templates select="../*[local-name()='note']"/>
2245
+
2205
2246
 
2206
2247
 
2207
2248
  <!-- horizontal row separator -->
2208
2249
 
2209
2250
 
2210
2251
  <!-- fn processing -->
2211
- <xsl:call-template name="fn_display"/>
2212
-
2252
+ <xsl:call-template name="table_fn_display"/>
2213
2253
 
2214
2254
  <!-- for PAS display Notes after footnotes -->
2215
2255
 
@@ -2239,7 +2279,7 @@
2239
2279
 
2240
2280
 
2241
2281
 
2242
- <xsl:apply-templates select="../*[local-name()='thead']" mode="process">
2282
+ <xsl:apply-templates select="../*[local-name()='thead']">
2243
2283
  <xsl:with-param name="cols-count" select="$cols-count"/>
2244
2284
  </xsl:apply-templates>
2245
2285
 
@@ -2251,78 +2291,57 @@
2251
2291
 
2252
2292
 
2253
2293
  <xsl:apply-templates/>
2254
- <!-- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/> -->
2255
-
2294
+
2256
2295
  </fo:table-body>
2257
2296
 
2258
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']/text()[1]" priority="2" mode="presentation_name">
2259
- <xsl:choose>
2260
- <xsl:when test="substring-after(., '—') != ''">
2261
- <xsl:text>—</xsl:text><xsl:value-of select="substring-after(., '—')"/>
2262
- </xsl:when>
2263
- <xsl:otherwise>
2264
- <xsl:value-of select="."/>
2265
- </xsl:otherwise>
2266
- </xsl:choose>
2267
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']" mode="presentation_name">
2268
- <xsl:apply-templates mode="presentation_name"/>
2269
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']/node()" mode="presentation_name">
2270
- <xsl:apply-templates select="."/>
2271
- </xsl:template><xsl:template match="*[local-name()='tr']">
2272
- <xsl:variable name="parent-name" select="local-name(..)"/>
2273
- <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
2274
- <fo:table-row min-height="4mm">
2275
- <xsl:if test="$parent-name = 'thead'">
2276
- <xsl:attribute name="font-weight">bold</xsl:attribute>
2277
-
2278
-
2279
-
2280
-
2281
-
2282
-
2283
-
2284
-
2285
- </xsl:if>
2286
- <xsl:if test="$parent-name = 'tfoot'">
2287
-
2288
-
2289
-
2290
- </xsl:if>
2291
-
2292
-
2293
-
2294
-
2295
-
2296
-
2297
-
2298
-
2299
-
2300
-
2301
- <!-- <xsl:if test="$namespace = 'bipm'">
2302
- <xsl:attribute name="height">8mm</xsl:attribute>
2303
- </xsl:if> -->
2304
-
2297
+ </xsl:template><xsl:template match="*[local-name()='thead']/*[local-name()='tr']" priority="2">
2298
+ <fo:table-row xsl:use-attribute-sets="table-header-row-style">
2299
+
2300
+
2301
+
2302
+
2303
+
2304
+
2305
+
2306
+ <xsl:call-template name="setTableRowAttributes"/>
2307
+
2305
2308
  <xsl:apply-templates/>
2306
2309
  </fo:table-row>
2307
- </xsl:template><xsl:template match="*[local-name()='th']">
2308
- <fo:table-cell text-align="{@align}" font-weight="bold" border="solid black 1pt" padding-left="1mm" display-align="center">
2309
- <xsl:attribute name="text-align">
2310
- <xsl:choose>
2311
- <xsl:when test="@align">
2312
- <xsl:call-template name="setAlignment"/>
2313
- <!-- <xsl:value-of select="@align"/> -->
2314
- </xsl:when>
2315
- <xsl:otherwise>center</xsl:otherwise>
2316
- </xsl:choose>
2317
- </xsl:attribute>
2318
-
2310
+ </xsl:template><xsl:template match="*[local-name()='tfoot']/*[local-name()='tr']" priority="2">
2311
+ <fo:table-row xsl:use-attribute-sets="table-footer-row-style">
2319
2312
 
2313
+ <xsl:call-template name="setTableRowAttributes"/>
2314
+ <xsl:apply-templates/>
2315
+ </fo:table-row>
2316
+ </xsl:template><xsl:template match="*[local-name()='tr']">
2317
+ <fo:table-row xsl:use-attribute-sets="table-body-row-style">
2318
+
2320
2319
 
2320
+
2321
2321
 
2322
+
2323
+ <xsl:call-template name="setTableRowAttributes"/>
2324
+ <xsl:apply-templates/>
2325
+ </fo:table-row>
2326
+ </xsl:template><xsl:template name="setTableRowAttributes">
2327
+
2328
+
2329
+
2330
+
2331
+
2332
+
2333
+
2334
+
2335
+ </xsl:template><xsl:template match="*[local-name()='th']">
2336
+ <fo:table-cell xsl:use-attribute-sets="table-header-cell-style"> <!-- text-align="{@align}" -->
2337
+ <xsl:call-template name="setTextAlignment">
2338
+ <xsl:with-param name="default">center</xsl:with-param>
2339
+ </xsl:call-template>
2322
2340
 
2323
2341
 
2324
2342
 
2325
2343
 
2344
+
2326
2345
 
2327
2346
 
2328
2347
 
@@ -2331,21 +2350,25 @@
2331
2350
  <xsl:if test="$lang = 'ar'">
2332
2351
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
2333
2352
  </xsl:if>
2334
- <xsl:if test="@colspan">
2335
- <xsl:attribute name="number-columns-spanned">
2336
- <xsl:value-of select="@colspan"/>
2337
- </xsl:attribute>
2338
- </xsl:if>
2339
- <xsl:if test="@rowspan">
2340
- <xsl:attribute name="number-rows-spanned">
2341
- <xsl:value-of select="@rowspan"/>
2342
- </xsl:attribute>
2343
- </xsl:if>
2344
- <xsl:call-template name="display-align"/>
2353
+
2354
+ <xsl:call-template name="setTableCellAttributes"/>
2355
+
2345
2356
  <fo:block>
2346
2357
  <xsl:apply-templates/>
2347
2358
  </fo:block>
2348
2359
  </fo:table-cell>
2360
+ </xsl:template><xsl:template name="setTableCellAttributes">
2361
+ <xsl:if test="@colspan">
2362
+ <xsl:attribute name="number-columns-spanned">
2363
+ <xsl:value-of select="@colspan"/>
2364
+ </xsl:attribute>
2365
+ </xsl:if>
2366
+ <xsl:if test="@rowspan">
2367
+ <xsl:attribute name="number-rows-spanned">
2368
+ <xsl:value-of select="@rowspan"/>
2369
+ </xsl:attribute>
2370
+ </xsl:if>
2371
+ <xsl:call-template name="display-align"/>
2349
2372
  </xsl:template><xsl:template name="display-align">
2350
2373
  <xsl:if test="@valign">
2351
2374
  <xsl:attribute name="display-align">
@@ -2358,22 +2381,18 @@
2358
2381
  </xsl:attribute>
2359
2382
  </xsl:if>
2360
2383
  </xsl:template><xsl:template match="*[local-name()='td']">
2361
- <fo:table-cell text-align="{@align}" display-align="center" border="solid black 1pt" padding-left="1mm">
2362
- <xsl:attribute name="text-align">
2363
- <xsl:choose>
2364
- <xsl:when test="@align">
2365
- <xsl:call-template name="setAlignment"/>
2366
- <!-- <xsl:value-of select="@align"/> -->
2367
- </xsl:when>
2368
- <xsl:otherwise>left</xsl:otherwise>
2369
- </xsl:choose>
2370
- </xsl:attribute>
2384
+ <fo:table-cell xsl:use-attribute-sets="table-cell-style"> <!-- text-align="{@align}" -->
2385
+ <xsl:call-template name="setTextAlignment">
2386
+ <xsl:with-param name="default">left</xsl:with-param>
2387
+ </xsl:call-template>
2388
+
2371
2389
  <xsl:if test="$lang = 'ar'">
2372
2390
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
2373
2391
  </xsl:if>
2374
2392
 
2375
2393
 
2376
2394
 
2395
+ <!-- bsi -->
2377
2396
 
2378
2397
 
2379
2398
 
@@ -2382,34 +2401,36 @@
2382
2401
 
2383
2402
 
2384
2403
 
2404
+
2405
+
2385
2406
 
2386
2407
 
2387
2408
 
2388
2409
 
2389
2410
 
2390
- <xsl:if test=".//*[local-name() = 'table']">
2411
+ <xsl:if test=".//*[local-name() = 'table']"> <!-- if there is nested table -->
2391
2412
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
2392
2413
  </xsl:if>
2393
- <xsl:if test="@colspan">
2394
- <xsl:attribute name="number-columns-spanned">
2395
- <xsl:value-of select="@colspan"/>
2396
- </xsl:attribute>
2397
- </xsl:if>
2398
- <xsl:if test="@rowspan">
2399
- <xsl:attribute name="number-rows-spanned">
2400
- <xsl:value-of select="@rowspan"/>
2401
- </xsl:attribute>
2402
- </xsl:if>
2403
- <xsl:call-template name="display-align"/>
2414
+
2415
+ <xsl:call-template name="setTableCellAttributes"/>
2416
+
2404
2417
  <fo:block>
2405
-
2418
+
2419
+
2420
+
2406
2421
  <xsl:apply-templates/>
2407
2422
  </fo:block>
2408
2423
  </fo:table-cell>
2409
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']" priority="2"/><xsl:template match="*[local-name()='table']/*[local-name()='note']" mode="process">
2410
-
2424
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']" priority="2">
2425
+
2426
+ <fo:block xsl:use-attribute-sets="table-note-style">
2427
+
2428
+
2429
+
2430
+
2411
2431
 
2412
- <fo:block font-size="10pt" margin-bottom="12pt">
2432
+ <!-- Table's note name (NOTE, for example) -->
2433
+ <fo:inline xsl:use-attribute-sets="table-note-name-style">
2413
2434
 
2414
2435
 
2415
2436
 
@@ -2417,25 +2438,16 @@
2417
2438
 
2418
2439
 
2419
2440
 
2420
-
2421
- <!-- Table's note name (NOTE, for example) -->
2422
-
2423
- <fo:inline padding-right="2mm" xsl:use-attribute-sets="table-note-name-style">
2424
-
2425
-
2426
-
2427
-
2441
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
2428
2442
 
2429
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
2430
-
2431
- </fo:inline>
2432
-
2433
-
2434
-
2435
- <xsl:apply-templates mode="process"/>
2436
- </fo:block>
2443
+ </fo:inline>
2444
+
2445
+
2446
+
2447
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
2448
+ </fo:block>
2437
2449
 
2438
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='name']" mode="process"/><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" mode="process">
2450
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" priority="2">
2439
2451
  <xsl:apply-templates/>
2440
2452
  </xsl:template><xsl:template match="*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure') and not(ancestor::*[local-name() = 'name'])])]" priority="2" name="fn">
2441
2453
 
@@ -2513,8 +2525,7 @@
2513
2525
  <xsl:copy-of select="$footnote_inline"/>
2514
2526
  <fo:footnote-body>
2515
2527
 
2516
- <fo:block-container text-indent="0" start-indent="0">
2517
-
2528
+ <fo:block-container xsl:use-attribute-sets="fn-container-body-style">
2518
2529
 
2519
2530
  <fo:block xsl:use-attribute-sets="fn-body-style">
2520
2531
 
@@ -2533,7 +2544,7 @@
2533
2544
  <xsl:copy-of select="$footnote_inline"/>
2534
2545
  </xsl:otherwise>
2535
2546
  </xsl:choose>
2536
- </xsl:template><xsl:template name="fn_display">
2547
+ </xsl:template><xsl:template name="table_fn_display">
2537
2548
  <xsl:variable name="references">
2538
2549
 
2539
2550
  <xsl:for-each select="..//*[local-name()='fn'][local-name(..) != 'name']">
@@ -2544,31 +2555,26 @@
2544
2555
  <xsl:for-each select="xalan:nodeset($references)//fn">
2545
2556
  <xsl:variable name="reference" select="@reference"/>
2546
2557
  <xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
2547
- <fo:block margin-bottom="12pt">
2558
+ <fo:block xsl:use-attribute-sets="table-fn-style">
2548
2559
 
2549
2560
 
2550
2561
 
2551
-
2552
-
2553
-
2554
-
2555
- <fo:inline font-size="80%" padding-right="5mm" id="{@id}">
2562
+ <fo:inline id="{@id}" xsl:use-attribute-sets="table-fn-number-style">
2556
2563
 
2557
2564
 
2558
2565
 
2559
2566
 
2560
2567
 
2568
+ <xsl:value-of select="@reference"/>
2561
2569
 
2562
2570
 
2563
2571
 
2564
- <xsl:value-of select="@reference"/>
2565
2572
 
2566
2573
 
2567
2574
 
2568
- </fo:inline>
2569
- <fo:inline>
2570
2575
 
2571
- <!-- <xsl:apply-templates /> -->
2576
+ </fo:inline>
2577
+ <fo:inline xsl:use-attribute-sets="table-fn-body-style">
2572
2578
  <xsl:copy-of select="./node()"/>
2573
2579
  </fo:inline>
2574
2580
  </fo:block>
@@ -2580,15 +2586,7 @@
2580
2586
 
2581
2587
  <xsl:apply-templates/>
2582
2588
  </fn>
2583
- </xsl:template><xsl:template name="fn_name_display">
2584
- <!-- <xsl:variable name="references">
2585
- <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
2586
- <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
2587
- <xsl:apply-templates />
2588
- </fn>
2589
- </xsl:for-each>
2590
- </xsl:variable>
2591
- $references=<xsl:copy-of select="$references"/> -->
2589
+ </xsl:template><xsl:template name="table_name_fn_display">
2592
2590
  <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
2593
2591
  <xsl:variable name="reference" select="@reference"/>
2594
2592
  <fo:block id="{@reference}_{ancestor::*[@id][1]/@id}"><xsl:value-of select="@reference"/></fo:block>
@@ -2597,9 +2595,7 @@
2597
2595
  </fo:block>
2598
2596
  </xsl:for-each>
2599
2597
  </xsl:template><xsl:template name="fn_display_figure">
2600
- <xsl:variable name="key_iso">
2601
- <!-- and (not(@class) or @class !='pseudocode') -->
2602
- </xsl:variable>
2598
+
2603
2599
  <xsl:variable name="references">
2604
2600
  <xsl:for-each select=".//*[local-name()='fn'][not(parent::*[local-name()='name'])]">
2605
2601
  <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
@@ -2607,50 +2603,52 @@
2607
2603
  </fn>
2608
2604
  </xsl:for-each>
2609
2605
  </xsl:variable>
2606
+
2607
+ <xsl:if test="xalan:nodeset($references)//fn">
2610
2608
 
2611
- <!-- current hierarchy is 'figure' element -->
2612
- <xsl:variable name="following_dl_colwidths">
2613
- <xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
2614
- <xsl:variable name="html-table">
2615
- <xsl:variable name="doc_ns">
2609
+ <xsl:variable name="key_iso">
2610
+
2611
+ </xsl:variable>
2612
+
2613
+ <!-- current hierarchy is 'figure' element -->
2614
+ <xsl:variable name="following_dl_colwidths">
2615
+ <xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
2616
+ <xsl:variable name="html-table">
2617
+ <xsl:variable name="doc_ns">
2618
+
2619
+ </xsl:variable>
2620
+ <xsl:variable name="ns">
2621
+ <xsl:choose>
2622
+ <xsl:when test="normalize-space($doc_ns) != ''">
2623
+ <xsl:value-of select="normalize-space($doc_ns)"/>
2624
+ </xsl:when>
2625
+ <xsl:otherwise>
2626
+ <xsl:value-of select="substring-before(name(/*), '-')"/>
2627
+ </xsl:otherwise>
2628
+ </xsl:choose>
2629
+ </xsl:variable>
2616
2630
 
2617
- </xsl:variable>
2618
- <xsl:variable name="ns">
2619
- <xsl:choose>
2620
- <xsl:when test="normalize-space($doc_ns) != ''">
2621
- <xsl:value-of select="normalize-space($doc_ns)"/>
2622
- </xsl:when>
2623
- <xsl:otherwise>
2624
- <xsl:value-of select="substring-before(name(/*), '-')"/>
2625
- </xsl:otherwise>
2626
- </xsl:choose>
2627
- </xsl:variable>
2628
- <!-- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> -->
2629
- <!-- <xsl:element name="{$ns}:table"> -->
2630
2631
  <xsl:for-each select="*[local-name() = 'dl'][1]">
2631
2632
  <tbody>
2632
2633
  <xsl:apply-templates mode="dl"/>
2633
2634
  </tbody>
2634
2635
  </xsl:for-each>
2635
- <!-- </xsl:element> -->
2636
- </xsl:variable>
2637
-
2638
- <xsl:call-template name="calculate-column-widths">
2639
- <xsl:with-param name="cols-count" select="2"/>
2640
- <xsl:with-param name="table" select="$html-table"/>
2641
- </xsl:call-template>
2642
-
2643
- </xsl:if>
2644
- </xsl:variable>
2645
-
2646
-
2647
- <xsl:variable name="maxlength_dt">
2648
- <xsl:for-each select="*[local-name() = 'dl'][1]">
2649
- <xsl:call-template name="getMaxLength_dt"/>
2650
- </xsl:for-each>
2651
- </xsl:variable>
2652
-
2653
- <xsl:if test="xalan:nodeset($references)//fn">
2636
+ </xsl:variable>
2637
+
2638
+ <xsl:call-template name="calculate-column-widths">
2639
+ <xsl:with-param name="cols-count" select="2"/>
2640
+ <xsl:with-param name="table" select="$html-table"/>
2641
+ </xsl:call-template>
2642
+
2643
+ </xsl:if>
2644
+ </xsl:variable>
2645
+
2646
+ <xsl:variable name="maxlength_dt">
2647
+ <xsl:for-each select="*[local-name() = 'dl'][1]">
2648
+ <xsl:call-template name="getMaxLength_dt"/>
2649
+ </xsl:for-each>
2650
+ </xsl:variable>
2651
+
2654
2652
  <fo:block>
2655
2653
  <fo:table width="95%" table-layout="fixed">
2656
2654
  <xsl:if test="normalize-space($key_iso) = 'true'">
@@ -2677,20 +2675,18 @@
2677
2675
  <fo:table-row>
2678
2676
  <fo:table-cell>
2679
2677
  <fo:block>
2680
- <fo:inline font-size="80%" padding-right="5mm" vertical-align="super" id="{@id}">
2681
-
2678
+ <fo:inline id="{@id}" xsl:use-attribute-sets="figure-fn-number-style">
2682
2679
  <xsl:value-of select="@reference"/>
2683
2680
  </fo:inline>
2684
2681
  </fo:block>
2685
2682
  </fo:table-cell>
2686
2683
  <fo:table-cell>
2687
- <fo:block text-align="justify" margin-bottom="12pt">
2688
-
2684
+ <fo:block xsl:use-attribute-sets="figure-fn-body-style">
2689
2685
  <xsl:if test="normalize-space($key_iso) = 'true'">
2690
- <xsl:attribute name="margin-bottom">0</xsl:attribute>
2686
+
2687
+ <xsl:attribute name="margin-bottom">0</xsl:attribute>
2688
+
2691
2689
  </xsl:if>
2692
-
2693
- <!-- <xsl:apply-templates /> -->
2694
2690
  <xsl:copy-of select="./node()"/>
2695
2691
  </fo:block>
2696
2692
  </fo:table-cell>
@@ -2703,14 +2699,8 @@
2703
2699
  </xsl:if>
2704
2700
 
2705
2701
  </xsl:template><xsl:template match="*[local-name()='fn']">
2706
- <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
2707
- <fo:inline font-size="80%" keep-with-previous.within-line="always">
2708
-
2709
-
2710
-
2711
-
2712
-
2713
-
2702
+ <fo:inline xsl:use-attribute-sets="fn-reference-style">
2703
+
2714
2704
 
2715
2705
 
2716
2706
 
@@ -2734,10 +2724,10 @@
2734
2724
  <xsl:variable name="isDeleted" select="@deleted"/>
2735
2725
  <fo:block-container>
2736
2726
 
2737
- <xsl:if test="not(ancestor::*[local-name() = 'quote'])">
2738
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
2739
- </xsl:if>
2740
-
2727
+ <xsl:if test="not(ancestor::*[local-name() = 'quote'])">
2728
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
2729
+ </xsl:if>
2730
+
2741
2731
 
2742
2732
  <xsl:if test="parent::*[local-name() = 'note']">
2743
2733
  <xsl:attribute name="margin-left">
@@ -2754,11 +2744,11 @@
2754
2744
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
2755
2745
  </xsl:call-template>
2756
2746
 
2757
- <fo:block-container>
2758
-
2759
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
2760
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
2747
+ <fo:block-container margin-left="0mm">
2748
+
2761
2749
 
2750
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
2751
+
2762
2752
 
2763
2753
  <xsl:variable name="parent" select="local-name(..)"/>
2764
2754
 
@@ -2769,23 +2759,19 @@
2769
2759
  <xsl:choose>
2770
2760
  <xsl:when test="$parent = 'formula' and count(*[local-name()='dt']) = 1"> <!-- only one component -->
2771
2761
 
2772
-
2773
- <fo:block margin-bottom="12pt" text-align="left">
2774
-
2775
- <xsl:variable name="title-where">
2776
-
2762
+ <fo:block margin-bottom="12pt" text-align="left">
2777
2763
 
2778
- <xsl:call-template name="getTitle">
2779
- <xsl:with-param name="name" select="'title-where'"/>
2764
+ <xsl:variable name="title-where">
2765
+ <xsl:call-template name="getLocalizedString">
2766
+ <xsl:with-param name="key">where</xsl:with-param>
2780
2767
  </xsl:call-template>
2781
-
2782
- </xsl:variable>
2783
- <xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
2784
- <xsl:apply-templates select="*[local-name()='dt']/*"/>
2785
- <xsl:text/>
2786
- <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
2787
- </fo:block>
2788
-
2768
+ </xsl:variable>
2769
+ <xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
2770
+ <xsl:apply-templates select="*[local-name()='dt']/*"/>
2771
+ <xsl:text/>
2772
+ <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
2773
+ </fo:block>
2774
+
2789
2775
  </xsl:when>
2790
2776
  <xsl:when test="$parent = 'formula'"> <!-- a few components -->
2791
2777
  <fo:block margin-bottom="12pt" text-align="left">
@@ -2794,12 +2780,9 @@
2794
2780
 
2795
2781
 
2796
2782
  <xsl:variable name="title-where">
2797
-
2798
-
2799
- <xsl:call-template name="getTitle">
2800
- <xsl:with-param name="name" select="'title-where'"/>
2801
- </xsl:call-template>
2802
-
2783
+ <xsl:call-template name="getLocalizedString">
2784
+ <xsl:with-param name="key">where</xsl:with-param>
2785
+ </xsl:call-template>
2803
2786
  </xsl:variable>
2804
2787
  <xsl:value-of select="$title-where"/>
2805
2788
  </fo:block>
@@ -2811,12 +2794,9 @@
2811
2794
 
2812
2795
 
2813
2796
  <xsl:variable name="title-key">
2814
-
2815
-
2816
- <xsl:call-template name="getTitle">
2817
- <xsl:with-param name="name" select="'title-key'"/>
2818
- </xsl:call-template>
2819
-
2797
+ <xsl:call-template name="getLocalizedString">
2798
+ <xsl:with-param name="key">key</xsl:with-param>
2799
+ </xsl:call-template>
2820
2800
  </xsl:variable>
2821
2801
  <xsl:value-of select="$title-key"/>
2822
2802
  </fo:block>
@@ -2838,9 +2818,7 @@
2838
2818
  <fo:table width="95%" table-layout="fixed">
2839
2819
 
2840
2820
  <xsl:choose>
2841
- <xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'">
2842
- <!-- <xsl:attribute name="font-size">11pt</xsl:attribute> -->
2843
- </xsl:when>
2821
+ <xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'"/>
2844
2822
  <xsl:when test="normalize-space($key_iso) = 'true'">
2845
2823
  <xsl:attribute name="font-size">10pt</xsl:attribute>
2846
2824
 
@@ -2861,12 +2839,9 @@
2861
2839
  </xsl:otherwise>
2862
2840
  </xsl:choose>
2863
2841
  </xsl:variable>
2864
- <!-- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> -->
2865
- <!-- <xsl:element name="{$ns}:table"> -->
2866
- <tbody>
2867
- <xsl:apply-templates mode="dl"/>
2868
- </tbody>
2869
- <!-- </xsl:element> -->
2842
+ <tbody>
2843
+ <xsl:apply-templates mode="dl"/>
2844
+ </tbody>
2870
2845
  </xsl:variable>
2871
2846
  <!-- html-table<xsl:copy-of select="$html-table"/> -->
2872
2847
  <xsl:variable name="colwidths">
@@ -2946,8 +2921,6 @@
2946
2921
  </xsl:for-each>
2947
2922
  </xsl:otherwise>
2948
2923
  </xsl:choose>
2949
- <!-- <fo:table-column column-width="15%"/>
2950
- <fo:table-column column-width="85%"/> -->
2951
2924
  </xsl:otherwise>
2952
2925
  </xsl:choose>
2953
2926
  </xsl:template><xsl:template name="getMaxLength_dt">
@@ -2962,12 +2935,6 @@
2962
2935
  </xsl:for-each>
2963
2936
  </xsl:variable>
2964
2937
  <xsl:variable name="maxLength">
2965
- <!-- <xsl:for-each select="*[local-name()='dt']">
2966
- <xsl:sort select="string-length(normalize-space(.))" data-type="number" order="descending"/>
2967
- <xsl:if test="position() = 1">
2968
- <xsl:value-of select="string-length(normalize-space(.))"/>
2969
- </xsl:if>
2970
- </xsl:for-each> -->
2971
2938
  <xsl:for-each select="xalan:nodeset($lengths)/length">
2972
2939
  <xsl:sort select="." data-type="number" order="descending"/>
2973
2940
  <xsl:if test="position() = 1">
@@ -2993,12 +2960,12 @@
2993
2960
  <xsl:if test="normalize-space($key_iso) = 'true'">
2994
2961
  <xsl:attribute name="margin-top">0</xsl:attribute>
2995
2962
  </xsl:if>
2996
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
2963
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
2997
2964
  </fo:block>
2998
2965
  </fo:table-cell>
2999
2966
  <fo:table-cell>
3000
2967
  <fo:block>
3001
- <xsl:apply-templates/>
2968
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3002
2969
  </fo:block>
3003
2970
  </fo:table-cell>
3004
2971
  </fo:table-row>
@@ -3009,80 +2976,49 @@
3009
2976
  </td>
3010
2977
  <td>
3011
2978
 
3012
-
3013
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3014
-
2979
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]">
2980
+ <xsl:with-param name="process">true</xsl:with-param>
2981
+ </xsl:apply-templates>
2982
+
3015
2983
  </td>
3016
2984
  </tr>
3017
2985
 
3018
2986
  </xsl:template><xsl:template match="*[local-name()='dt']">
3019
2987
  <xsl:param name="key_iso"/>
3020
2988
 
3021
- <fo:table-row>
3022
-
3023
-
2989
+ <fo:table-row xsl:use-attribute-sets="dt-row-style">
3024
2990
  <fo:table-cell>
3025
2991
 
3026
- <fo:block margin-top="6pt">
2992
+ <fo:block xsl:use-attribute-sets="dt-style">
3027
2993
  <xsl:copy-of select="@id"/>
3028
2994
 
3029
-
3030
2995
  <xsl:if test="normalize-space($key_iso) = 'true'">
3031
2996
  <xsl:attribute name="margin-top">0</xsl:attribute>
3032
-
3033
2997
  </xsl:if>
3034
2998
 
3035
2999
 
3036
3000
 
3037
-
3038
-
3039
-
3040
-
3041
3001
  <xsl:apply-templates/>
3042
- <!-- <xsl:if test="$namespace = 'gb'">
3043
- <xsl:if test="ancestor::*[local-name()='formula']">
3044
- <xsl:text>—</xsl:text>
3045
- </xsl:if>
3046
- </xsl:if> -->
3047
3002
  </fo:block>
3048
3003
  </fo:table-cell>
3049
3004
  <fo:table-cell>
3050
3005
  <fo:block>
3051
3006
 
3052
- <!-- <xsl:if test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
3053
- <xsl:if test="local-name(*[1]) != 'stem'">
3054
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3055
- </xsl:if>
3056
- </xsl:if> -->
3057
-
3058
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3059
-
3007
+
3008
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]">
3009
+ <xsl:with-param name="process">true</xsl:with-param>
3010
+ </xsl:apply-templates>
3060
3011
  </fo:block>
3061
3012
  </fo:table-cell>
3062
3013
  </fo:table-row>
3063
- <!-- <xsl:if test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
3064
- <xsl:if test="local-name(*[1]) = 'stem'">
3065
- <fo:table-row>
3066
- <fo:table-cell>
3067
- <fo:block margin-top="6pt">
3068
- <xsl:if test="normalize-space($key_iso) = 'true'">
3069
- <xsl:attribute name="margin-top">0</xsl:attribute>
3070
- </xsl:if>
3071
- <xsl:text>&#xA0;</xsl:text>
3072
- </fo:block>
3073
- </fo:table-cell>
3074
- <fo:table-cell>
3075
- <fo:block>
3076
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3077
- </fo:block>
3078
- </fo:table-cell>
3079
- </fo:table-row>
3080
- </xsl:if>
3081
- </xsl:if> -->
3082
3014
  </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
3083
3015
  <xsl:apply-templates/>
3084
- </xsl:template><xsl:template match="*[local-name()='dd']"/><xsl:template match="*[local-name()='dd']" mode="process">
3085
- <xsl:apply-templates/>
3016
+ </xsl:template><xsl:template match="*[local-name()='dd']">
3017
+ <xsl:param name="process">false</xsl:param>
3018
+ <xsl:if test="$process = 'true'">
3019
+ <xsl:apply-templates select="@language"/>
3020
+ <xsl:apply-templates/>
3021
+ </xsl:if>
3086
3022
  </xsl:template><xsl:template match="*[local-name()='dd']/*[local-name()='p']" mode="inline">
3087
3023
  <fo:inline><xsl:text> </xsl:text><xsl:apply-templates/></fo:inline>
3088
3024
  </xsl:template><xsl:template match="*[local-name()='em']">
@@ -3106,6 +3042,7 @@
3106
3042
  </fo:inline>
3107
3043
  </xsl:template><xsl:template match="*[local-name()='tt']">
3108
3044
  <fo:inline xsl:use-attribute-sets="tt-style">
3045
+
3109
3046
  <xsl:variable name="_font-size">
3110
3047
  10
3111
3048
 
@@ -3142,7 +3079,22 @@
3142
3079
  <xsl:apply-templates/>
3143
3080
  </fo:inline>
3144
3081
  </xsl:template><xsl:template match="*[local-name()='add']">
3082
+ <xsl:param name="skip">true</xsl:param>
3145
3083
  <xsl:choose>
3084
+ <xsl:when test="starts-with(., $ace_tag)"> <!-- examples: ace-tag_A1_start, ace-tag_A2_end, C1_start, AC_start -->
3085
+ <xsl:choose>
3086
+ <xsl:when test="$skip = 'true' and ((local-name(../..) = 'note' and not(preceding-sibling::node())) or (local-name(..) = 'title' and preceding-sibling::node()[1][local-name() = 'tab'])) and ../node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]"><!-- start tag displayed in template name="note" and title --></xsl:when>
3087
+ <xsl:otherwise>
3088
+ <fo:inline>
3089
+ <xsl:call-template name="insertTag">
3090
+ <xsl:with-param name="type" select="substring-after(substring-after(., $ace_tag), '_')"/> <!-- start or end -->
3091
+ <xsl:with-param name="kind" select="substring(substring-before(substring-after(., $ace_tag), '_'), 1, 1)"/> <!-- A or C -->
3092
+ <xsl:with-param name="value" select="substring(substring-before(substring-after(., $ace_tag), '_'), 2)"/> <!-- 1, 2, C -->
3093
+ </xsl:call-template>
3094
+ </fo:inline>
3095
+ </xsl:otherwise>
3096
+ </xsl:choose>
3097
+ </xsl:when>
3146
3098
  <xsl:when test="@amendment">
3147
3099
  <fo:inline>
3148
3100
  <xsl:call-template name="insertTag">
@@ -3177,7 +3129,6 @@
3177
3129
  </fo:inline>
3178
3130
  </xsl:otherwise>
3179
3131
  </xsl:choose>
3180
-
3181
3132
  </xsl:template><xsl:template name="insertTag">
3182
3133
  <xsl:param name="type"/>
3183
3134
  <xsl:param name="kind"/>
@@ -3185,22 +3136,20 @@
3185
3136
  <xsl:variable name="add_width" select="string-length($value) * 20"/>
3186
3137
  <xsl:variable name="maxwidth" select="60 + $add_width"/>
3187
3138
  <fo:instream-foreign-object fox:alt-text="OpeningTag" baseline-shift="-20%"><!-- alignment-baseline="middle" -->
3188
- <!-- <xsl:attribute name="width">7mm</xsl:attribute>
3189
- <xsl:attribute name="content-height">100%</xsl:attribute> -->
3190
3139
  <xsl:attribute name="height">5mm</xsl:attribute>
3191
3140
  <xsl:attribute name="content-width">100%</xsl:attribute>
3192
3141
  <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
3193
3142
  <xsl:attribute name="scaling">uniform</xsl:attribute>
3194
3143
  <svg xmlns="http://www.w3.org/2000/svg" width="{$maxwidth + 32}" height="80">
3195
3144
  <g>
3196
- <xsl:if test="$type = 'closing'">
3145
+ <xsl:if test="$type = 'closing' or $type = 'end'">
3197
3146
  <xsl:attribute name="transform">scale(-1 1) translate(-<xsl:value-of select="$maxwidth + 32"/>,0)</xsl:attribute>
3198
3147
  </xsl:if>
3199
3148
  <polyline points="0,0 {$maxwidth},0 {$maxwidth + 30},40 {$maxwidth},80 0,80 " stroke="black" stroke-width="5" fill="white"/>
3200
3149
  <line x1="0" y1="0" x2="0" y2="80" stroke="black" stroke-width="20"/>
3201
3150
  </g>
3202
3151
  <text font-family="Arial" x="15" y="57" font-size="40pt">
3203
- <xsl:if test="$type = 'closing'">
3152
+ <xsl:if test="$type = 'closing' or $type = 'end'">
3204
3153
  <xsl:attribute name="x">25</xsl:attribute>
3205
3154
  </xsl:if>
3206
3155
  <xsl:value-of select="$kind"/><tspan dy="10" font-size="30pt"><xsl:value-of select="$value"/></tspan>
@@ -3244,7 +3193,11 @@
3244
3193
  <xsl:with-param name="text" select="substring($text,2)"/>
3245
3194
  </xsl:call-template>
3246
3195
  </xsl:if>
3247
- </xsl:template><xsl:template name="tokenize">
3196
+ </xsl:template><xsl:template match="*[local-name() = 'pagebreak']">
3197
+ <fo:block break-after="page"/>
3198
+ <fo:block> </fo:block>
3199
+ <fo:block break-after="page"/>
3200
+ </xsl:template><xsl:template name="tokenize">
3248
3201
  <xsl:param name="text"/>
3249
3202
  <xsl:param name="separator" select="' '"/>
3250
3203
  <xsl:choose>
@@ -3404,14 +3357,6 @@
3404
3357
 
3405
3358
  <xsl:copy-of select="xalan:nodeset($simple-table-rowspan)"/>
3406
3359
 
3407
- <!-- <xsl:choose>
3408
- <xsl:when test="current()//*[local-name()='th'][@colspan] or current()//*[local-name()='td'][@colspan] ">
3409
-
3410
- </xsl:when>
3411
- <xsl:otherwise>
3412
- <xsl:copy-of select="current()"/>
3413
- </xsl:otherwise>
3414
- </xsl:choose> -->
3415
3360
  </xsl:variable>
3416
3361
  <xsl:copy-of select="$simple-table"/>
3417
3362
  </xsl:template><xsl:template match="*[local-name()='thead'] | *[local-name()='tbody']" mode="simple-table-colspan">
@@ -3530,8 +3475,6 @@
3530
3475
  <xsl:choose>
3531
3476
  <xsl:when test="contains($str2, ' ')">
3532
3477
  <xsl:variable name="substr" select="substring-before($str2, ' ')"/>
3533
- <!-- <xsl:value-of select="translate(substring($substr, 1, 1), $lower, $upper)"/>
3534
- <xsl:value-of select="substring($substr, 2)"/> -->
3535
3478
  <xsl:call-template name="capitalize">
3536
3479
  <xsl:with-param name="str" select="$substr"/>
3537
3480
  </xsl:call-template>
@@ -3541,8 +3484,6 @@
3541
3484
  </xsl:call-template>
3542
3485
  </xsl:when>
3543
3486
  <xsl:otherwise>
3544
- <!-- <xsl:value-of select="translate(substring($str2, 1, 1), $lower, $upper)"/>
3545
- <xsl:value-of select="substring($str2, 2)"/> -->
3546
3487
  <xsl:call-template name="capitalize">
3547
3488
  <xsl:with-param name="str" select="$str2"/>
3548
3489
  </xsl:call-template>
@@ -3570,6 +3511,7 @@
3570
3511
  <xsl:apply-templates select="." mode="mathml"/>
3571
3512
  </xsl:variable>
3572
3513
  <fo:instream-foreign-object fox:alt-text="Math">
3514
+
3573
3515
 
3574
3516
 
3575
3517
  <xsl:variable name="comment_text_following" select="following-sibling::node()[1][self::comment()]"/>
@@ -3601,7 +3543,7 @@
3601
3543
  </xsl:attribute>
3602
3544
 
3603
3545
 
3604
- <!-- <xsl:copy-of select="."/> -->
3546
+
3605
3547
  <xsl:copy-of select="xalan:nodeset($mathml)"/>
3606
3548
  </fo:instream-foreign-object>
3607
3549
  </fo:inline>
@@ -3660,6 +3602,10 @@
3660
3602
 
3661
3603
 
3662
3604
 
3605
+
3606
+
3607
+
3608
+
3663
3609
  <xsl:choose>
3664
3610
  <xsl:when test="$target_text = ''">
3665
3611
  <xsl:apply-templates/>
@@ -3683,19 +3629,19 @@
3683
3629
  </fo:inline>
3684
3630
  </xsl:template><xsl:template match="*[local-name()='appendix']">
3685
3631
  <fo:block id="{@id}" xsl:use-attribute-sets="appendix-style">
3686
- <xsl:apply-templates select="*[local-name()='title']" mode="process"/>
3632
+ <xsl:apply-templates select="*[local-name()='title']"/>
3687
3633
  </fo:block>
3688
- <xsl:apply-templates/>
3689
- </xsl:template><xsl:template match="*[local-name()='appendix']/*[local-name()='title']"/><xsl:template match="*[local-name()='appendix']/*[local-name()='title']" mode="process">
3634
+ <xsl:apply-templates select="node()[not(local-name()='title')]"/>
3635
+ </xsl:template><xsl:template match="*[local-name()='appendix']/*[local-name()='title']" priority="2">
3690
3636
  <xsl:variable name="level">
3691
3637
  <xsl:call-template name="getLevel"/>
3692
3638
  </xsl:variable>
3693
3639
  <fo:inline role="H{$level}"><xsl:apply-templates/></fo:inline>
3694
3640
  </xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']" priority="2">
3695
3641
  <fo:block id="{@id}" xsl:use-attribute-sets="appendix-example-style">
3696
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
3642
+ <xsl:apply-templates select="*[local-name()='name']"/>
3697
3643
  </fo:block>
3698
- <xsl:apply-templates/>
3644
+ <xsl:apply-templates select="node()[not(local-name()='name')]"/>
3699
3645
  </xsl:template><xsl:template match="*[local-name() = 'callout']">
3700
3646
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}">&lt;<xsl:apply-templates/>&gt;</fo:basic-link>
3701
3647
  </xsl:template><xsl:template match="*[local-name() = 'annotation']">
@@ -3717,7 +3663,6 @@
3717
3663
  </fo:inline>
3718
3664
  </xsl:template><xsl:template match="*[local-name() = 'xref']">
3719
3665
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
3720
-
3721
3666
  <xsl:apply-templates/>
3722
3667
  </fo:basic-link>
3723
3668
  </xsl:template><xsl:template match="*[local-name() = 'formula']" name="formula">
@@ -3745,22 +3690,26 @@
3745
3690
  <fo:inline>
3746
3691
  <xsl:apply-templates/>
3747
3692
  </fo:inline>
3748
- </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']" mode="presentation">
3693
+ </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']" mode="formula_number"> <!-- show by demand -->
3749
3694
  <xsl:if test="normalize-space() != ''">
3750
3695
  <xsl:text>(</xsl:text><xsl:apply-templates/><xsl:text>)</xsl:text>
3751
3696
  </xsl:if>
3752
3697
  </xsl:template><xsl:template match="*[local-name() = 'note']" name="note">
3753
3698
 
3754
3699
  <fo:block-container id="{@id}" xsl:use-attribute-sets="note-style">
3700
+
3701
+
3755
3702
 
3756
3703
 
3757
3704
 
3758
3705
 
3759
3706
 
3707
+
3708
+
3709
+
3710
+
3760
3711
  <fo:block-container margin-left="0mm">
3761
-
3762
-
3763
-
3712
+
3764
3713
 
3765
3714
  <xsl:if test="ancestor::csa:ul or ancestor::csa:ol and not(ancestor::csa:note[1]/following-sibling::*)">
3766
3715
  <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
@@ -3768,30 +3717,41 @@
3768
3717
 
3769
3718
 
3770
3719
 
3771
-
3720
+
3772
3721
 
3773
- <fo:block>
3774
-
3775
-
3776
-
3777
-
3778
-
3722
+ <fo:block>
3723
+
3724
+
3779
3725
 
3780
- <fo:inline xsl:use-attribute-sets="note-name-style">
3781
3726
 
3782
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3783
- </fo:inline>
3784
- <xsl:apply-templates/>
3785
- </fo:block>
3786
-
3787
-
3727
+
3728
+
3729
+
3730
+ <fo:inline xsl:use-attribute-sets="note-name-style">
3731
+
3732
+
3733
+
3734
+ <!-- if note contains only one element and first and last childs are `add` ace-tag, then move start ace-tag before NOTE's name-->
3735
+ <xsl:if test="count(*[not(local-name() = 'name')]) = 1 and *[not(local-name() = 'name')]/node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]">
3736
+ <xsl:apply-templates select="*[not(local-name() = 'name')]/node()[1][local-name() = 'add'][starts-with(text(), $ace_tag)]">
3737
+ <xsl:with-param name="skip">false</xsl:with-param>
3738
+ </xsl:apply-templates>
3739
+ </xsl:if>
3740
+
3741
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
3742
+
3743
+ </fo:inline>
3744
+
3745
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3746
+ </fo:block>
3747
+
3788
3748
  </fo:block-container>
3789
3749
  </fo:block-container>
3790
3750
 
3791
3751
  </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'p']">
3792
3752
  <xsl:variable name="num"><xsl:number/></xsl:variable>
3793
3753
  <xsl:choose>
3794
- <xsl:when test="$num = 1">
3754
+ <xsl:when test="$num = 1"> <!-- display first NOTE's paragraph in the same line with label NOTE -->
3795
3755
  <fo:inline xsl:use-attribute-sets="note-p-style">
3796
3756
  <xsl:apply-templates/>
3797
3757
  </fo:inline>
@@ -3806,12 +3766,16 @@
3806
3766
  <fo:block id="{@id}" xsl:use-attribute-sets="termnote-style">
3807
3767
 
3808
3768
  <fo:inline xsl:use-attribute-sets="termnote-name-style">
3769
+
3770
+
3771
+
3772
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
3809
3773
 
3810
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3811
3774
  </fo:inline>
3812
- <xsl:apply-templates/>
3775
+
3776
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3813
3777
  </fo:block>
3814
- </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name'] | *[local-name() = 'termnote']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name']" mode="presentation">
3778
+ </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name']">
3815
3779
  <xsl:param name="sfx"/>
3816
3780
  <xsl:variable name="suffix">
3817
3781
  <xsl:choose>
@@ -3828,7 +3792,7 @@
3828
3792
  <xsl:apply-templates/>
3829
3793
  <xsl:value-of select="$suffix"/>
3830
3794
  </xsl:if>
3831
- </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'name']" mode="presentation">
3795
+ </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'name']">
3832
3796
  <xsl:param name="sfx"/>
3833
3797
  <xsl:variable name="suffix">
3834
3798
  <xsl:choose>
@@ -3853,25 +3817,23 @@
3853
3817
  <xsl:apply-templates/>
3854
3818
  </fo:block>
3855
3819
  </xsl:template><xsl:template match="*[local-name() = 'term']">
3856
- <!-- <xsl:message>'term' <xsl:number/> processing, name=<xsl:value-of select="iso:name"/>, preferred=<xsl:value-of select="iso:preferred"/>...</xsl:message> -->
3857
3820
  <fo:block id="{@id}" xsl:use-attribute-sets="term-style">
3858
3821
 
3859
3822
 
3823
+
3824
+
3860
3825
  <xsl:if test="parent::*[local-name() = 'term'] and not(preceding-sibling::*[local-name() = 'term'])">
3861
3826
 
3862
3827
  </xsl:if>
3863
- <xsl:apply-templates/>
3828
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3864
3829
  </fo:block>
3865
- </xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']" mode="presentation">
3830
+ </xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']">
3866
3831
  <xsl:if test="normalize-space() != ''">
3867
3832
  <xsl:variable name="level">
3868
3833
  <xsl:call-template name="getLevelTermName"/>
3869
3834
  </xsl:variable>
3870
3835
  <fo:inline role="H{$level}">
3871
3836
  <xsl:apply-templates/>
3872
- <!-- <xsl:if test="$namespace = 'gb' or $namespace = 'ogc'">
3873
- <xsl:text>.</xsl:text>
3874
- </xsl:if> -->
3875
3837
  </fo:inline>
3876
3838
  </xsl:if>
3877
3839
  </xsl:template><xsl:template match="*[local-name() = 'figure']" name="figure">
@@ -3884,9 +3846,10 @@
3884
3846
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
3885
3847
  </xsl:call-template>
3886
3848
 
3887
- <fo:block>
3888
-
3889
- <xsl:apply-templates/>
3849
+
3850
+
3851
+ <fo:block xsl:use-attribute-sets="figure-style">
3852
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3890
3853
  </fo:block>
3891
3854
  <xsl:call-template name="fn_display_figure"/>
3892
3855
  <xsl:for-each select="*[local-name() = 'note']">
@@ -3894,14 +3857,15 @@
3894
3857
  </xsl:for-each>
3895
3858
 
3896
3859
 
3897
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3860
+ <xsl:apply-templates select="*[local-name() = 'name']"/> <!-- show figure's name AFTER image -->
3861
+
3898
3862
 
3899
3863
  </fo:block-container>
3900
3864
  </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']">
3901
3865
  <fo:block id="{@id}">
3902
- <xsl:apply-templates/>
3866
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3903
3867
  </fo:block>
3904
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3868
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
3905
3869
  </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']//*[local-name() = 'p']">
3906
3870
  <fo:block xsl:use-attribute-sets="figure-pseudocode-p-style">
3907
3871
  <xsl:apply-templates/>
@@ -4008,9 +3972,7 @@
4008
3972
  <xsl:variable name="bis" select="java:java.io.ByteArrayInputStream.new($fileContent)"/>
4009
3973
  <xsl:variable name="bufferedImage" select="java:javax.imageio.ImageIO.read($bis)"/>
4010
3974
  <xsl:variable name="width" select="java:getWidth($bufferedImage)"/>
4011
- <!-- width=<xsl:value-of select="$width"/> -->
4012
3975
  <xsl:variable name="height" select="java:getHeight($bufferedImage)"/>
4013
- <!-- height=<xsl:value-of select="$height"/> -->
4014
3976
  <svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="enable-background:new 0 0 595.28 841.89;" height="{$height}" width="{$width}" viewBox="0 0 {$width} {$height}" y="0px" x="0px" id="Layer_1" version="1.1">
4015
3977
  <image xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="{@src}" height="{$height}" width="{$width}" style="overflow:visible;"/>
4016
3978
  <xsl:call-template name="svg_cross">
@@ -4280,7 +4242,7 @@
4280
4242
  </fo:basic-link>
4281
4243
  </fo:block>
4282
4244
  </fo:block-container>
4283
- </xsl:template><xsl:template match="*[local-name() = 'emf']"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name']" mode="contents">
4245
+ </xsl:template><xsl:template match="*[local-name() = 'emf']"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name']" mode="contents">
4284
4246
  <xsl:apply-templates mode="contents"/>
4285
4247
  <xsl:text> </xsl:text>
4286
4248
  </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name'] | *[local-name() = 'sourcecode']/*[local-name() = 'name']" mode="bookmarks">
@@ -4292,11 +4254,72 @@
4292
4254
  <xsl:value-of select="."/>
4293
4255
  </xsl:template><xsl:template match="node()" mode="contents">
4294
4256
  <xsl:apply-templates mode="contents"/>
4257
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title' or @type = 'section-title']" priority="2" mode="contents">
4258
+ <xsl:variable name="level">
4259
+ <xsl:call-template name="getLevel">
4260
+ <xsl:with-param name="depth" select="@depth"/>
4261
+ </xsl:call-template>
4262
+ </xsl:variable>
4263
+
4264
+ <xsl:variable name="section">
4265
+ <xsl:choose>
4266
+ <xsl:when test="@type = 'section-title'"/>
4267
+ <xsl:otherwise>
4268
+ <xsl:value-of select="*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
4269
+ </xsl:otherwise>
4270
+ </xsl:choose>
4271
+ </xsl:variable>
4272
+
4273
+ <xsl:variable name="type"><xsl:value-of select="@type"/></xsl:variable>
4274
+
4275
+ <xsl:variable name="display">
4276
+ <xsl:choose>
4277
+ <xsl:when test="normalize-space(@id) = ''">false</xsl:when>
4278
+ <xsl:when test="$level &lt;= $toc_level">true</xsl:when>
4279
+ <xsl:otherwise>false</xsl:otherwise>
4280
+ </xsl:choose>
4281
+ </xsl:variable>
4282
+
4283
+ <xsl:variable name="skip">false</xsl:variable>
4284
+
4285
+ <xsl:if test="$skip = 'false'">
4286
+
4287
+ <xsl:variable name="title">
4288
+ <xsl:choose>
4289
+ <xsl:when test="*[local-name() = 'tab']">
4290
+ <xsl:choose>
4291
+ <xsl:when test="@type = 'section-title'">
4292
+ <xsl:value-of select="*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
4293
+ <xsl:text>: </xsl:text>
4294
+ <xsl:copy-of select="*[local-name() = 'tab'][1]/following-sibling::node()"/>
4295
+ </xsl:when>
4296
+ <xsl:otherwise>
4297
+ <xsl:copy-of select="*[local-name() = 'tab'][1]/following-sibling::node()"/>
4298
+ </xsl:otherwise>
4299
+ </xsl:choose>
4300
+ </xsl:when>
4301
+ <xsl:otherwise>
4302
+ <xsl:copy-of select="node()"/>
4303
+ </xsl:otherwise>
4304
+ </xsl:choose>
4305
+ </xsl:variable>
4306
+
4307
+ <xsl:variable name="root">
4308
+ <xsl:if test="ancestor-or-self::*[local-name() = 'preface']">preface</xsl:if>
4309
+ <xsl:if test="ancestor-or-self::*[local-name() = 'annex']">annex</xsl:if>
4310
+ </xsl:variable>
4311
+
4312
+ <item id="{@id}" level="{$level}" section="{$section}" type="{$type}" root="{$root}" display="{$display}">
4313
+ <title>
4314
+ <xsl:apply-templates select="xalan:nodeset($title)" mode="contents_item"/>
4315
+ </title>
4316
+ </item>
4317
+ </xsl:if>
4295
4318
  </xsl:template><xsl:template match="node()" mode="bookmarks">
4296
4319
  <xsl:apply-templates mode="bookmarks"/>
4297
4320
  </xsl:template><xsl:template match="*[local-name() = 'title' or local-name() = 'name']//*[local-name() = 'stem']" mode="contents">
4298
4321
  <xsl:apply-templates select="."/>
4299
- </xsl:template><xsl:template match="*[local-name() = 'references'][@hidden='true']" mode="contents" priority="3"/><xsl:template match="*[local-name() = 'stem']" mode="bookmarks">
4322
+ </xsl:template><xsl:template match="*[local-name() = 'references'][@hidden='true']" mode="contents" priority="3"/><xsl:template match="*[local-name() = 'references']/*[local-name() = 'bibitem']" mode="contents"/><xsl:template match="*[local-name() = 'stem']" mode="bookmarks">
4300
4323
  <xsl:apply-templates mode="bookmarks"/>
4301
4324
  </xsl:template><xsl:template name="addBookmarks">
4302
4325
  <xsl:param name="contents"/>
@@ -4386,8 +4409,6 @@
4386
4409
 
4387
4410
 
4388
4411
 
4389
-
4390
-
4391
4412
  </fo:bookmark-tree>
4392
4413
  </xsl:if>
4393
4414
  </xsl:template><xsl:template name="insertFigureBookmarks">
@@ -4458,7 +4479,7 @@
4458
4479
  <xsl:apply-templates mode="bookmark"/>
4459
4480
  </xsl:otherwise>
4460
4481
  </xsl:choose>
4461
- </xsl:template><xsl:template match="title" mode="bookmark"/><xsl:template match="text()" mode="bookmark"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'image']/*[local-name() = 'name']" mode="presentation">
4482
+ </xsl:template><xsl:template match="title" mode="bookmark"/><xsl:template match="text()" mode="bookmark"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'image']/*[local-name() = 'name']">
4462
4483
  <xsl:if test="normalize-space() != ''">
4463
4484
  <fo:block xsl:use-attribute-sets="figure-name-style">
4464
4485
 
@@ -4467,16 +4488,13 @@
4467
4488
  </fo:block>
4468
4489
  </xsl:if>
4469
4490
  </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'fn']" priority="2"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'note']"/><xsl:template match="*[local-name() = 'title']" mode="contents_item">
4470
- <xsl:apply-templates mode="contents_item"/>
4491
+ <xsl:param name="mode">bookmarks</xsl:param>
4492
+ <xsl:apply-templates mode="contents_item">
4493
+ <xsl:with-param name="mode" select="$mode"/>
4494
+ </xsl:apply-templates>
4471
4495
  <!-- <xsl:text> </xsl:text> -->
4472
4496
  </xsl:template><xsl:template name="getSection">
4473
4497
  <xsl:value-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
4474
- <!--
4475
- <xsl:for-each select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()">
4476
- <xsl:value-of select="."/>
4477
- </xsl:for-each>
4478
- -->
4479
-
4480
4498
  </xsl:template><xsl:template name="getName">
4481
4499
  <xsl:choose>
4482
4500
  <xsl:when test="*[local-name() = 'title']/*[local-name() = 'tab']">
@@ -4540,9 +4558,26 @@
4540
4558
  <xsl:copy-of select="."/>
4541
4559
  </xsl:template><xsl:template match="*[local-name() = 'br']" mode="contents_item">
4542
4560
  <xsl:text> </xsl:text>
4561
+ </xsl:template><xsl:template match="*[local-name() = 'name']" mode="contents_item">
4562
+ <xsl:param name="mode">bookmarks</xsl:param>
4563
+ <xsl:apply-templates mode="contents_item">
4564
+ <xsl:with-param name="mode" select="$mode"/>
4565
+ </xsl:apply-templates>
4566
+ </xsl:template><xsl:template match="*[local-name() = 'add']" mode="contents_item">
4567
+ <xsl:param name="mode">bookmarks</xsl:param>
4568
+ <xsl:choose>
4569
+ <xsl:when test="starts-with(text(), $ace_tag)">
4570
+ <xsl:if test="$mode = 'contents'">
4571
+ <xsl:copy>
4572
+ <xsl:apply-templates mode="contents_item"/>
4573
+ </xsl:copy>
4574
+ </xsl:if>
4575
+ </xsl:when>
4576
+ <xsl:otherwise><xsl:apply-templates mode="contents_item"/></xsl:otherwise>
4577
+ </xsl:choose>
4543
4578
  </xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
4544
4579
 
4545
- <fo:block-container margin-left="0mm">
4580
+ <fo:block-container xsl:use-attribute-sets="sourcecode-container-style">
4546
4581
  <xsl:copy-of select="@id"/>
4547
4582
 
4548
4583
  <xsl:if test="parent::*[local-name() = 'note']">
@@ -4579,6 +4614,7 @@
4579
4614
 
4580
4615
 
4581
4616
  </xsl:variable>
4617
+
4582
4618
  <xsl:variable name="font-size" select="normalize-space($_font-size)"/>
4583
4619
  <xsl:if test="$font-size != ''">
4584
4620
  <xsl:attribute name="font-size">
@@ -4595,11 +4631,11 @@
4595
4631
 
4596
4632
 
4597
4633
 
4598
- <xsl:apply-templates/>
4634
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4599
4635
  </fo:block>
4600
4636
 
4601
4637
 
4602
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4638
+ <xsl:apply-templates select="*[local-name()='name']"/> <!-- show sourcecode's name AFTER content -->
4603
4639
 
4604
4640
 
4605
4641
 
@@ -4613,7 +4649,7 @@
4613
4649
  <xsl:call-template name="add-zero-spaces-java">
4614
4650
  <xsl:with-param name="text" select="$text"/>
4615
4651
  </xsl:call-template>
4616
- </xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']" mode="presentation">
4652
+ </xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']">
4617
4653
  <xsl:if test="normalize-space() != ''">
4618
4654
  <fo:block xsl:use-attribute-sets="sourcecode-name-style">
4619
4655
  <xsl:apply-templates/>
@@ -4621,10 +4657,10 @@
4621
4657
  </xsl:if>
4622
4658
  </xsl:template><xsl:template match="*[local-name() = 'permission']">
4623
4659
  <fo:block id="{@id}" xsl:use-attribute-sets="permission-style">
4624
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4625
- <xsl:apply-templates/>
4660
+ <xsl:apply-templates select="*[local-name()='name']"/>
4661
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4626
4662
  </fo:block>
4627
- </xsl:template><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']" mode="presentation">
4663
+ </xsl:template><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']">
4628
4664
  <xsl:if test="normalize-space() != ''">
4629
4665
  <fo:block xsl:use-attribute-sets="permission-name-style">
4630
4666
  <xsl:apply-templates/>
@@ -4637,13 +4673,13 @@
4637
4673
  </fo:block>
4638
4674
  </xsl:template><xsl:template match="*[local-name() = 'requirement']">
4639
4675
  <fo:block id="{@id}" xsl:use-attribute-sets="requirement-style">
4640
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4641
- <xsl:apply-templates select="*[local-name()='label']" mode="presentation"/>
4642
- <xsl:apply-templates select="@obligation" mode="presentation"/>
4643
- <xsl:apply-templates select="*[local-name()='subject']" mode="presentation"/>
4644
- <xsl:apply-templates/>
4676
+ <xsl:apply-templates select="*[local-name()='name']"/>
4677
+ <xsl:apply-templates select="*[local-name()='label']"/>
4678
+ <xsl:apply-templates select="@obligation"/>
4679
+ <xsl:apply-templates select="*[local-name()='subject']"/>
4680
+ <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'label') and not(local-name() = 'subject')]"/>
4645
4681
  </fo:block>
4646
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']" mode="presentation">
4682
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']">
4647
4683
  <xsl:if test="normalize-space() != ''">
4648
4684
  <fo:block xsl:use-attribute-sets="requirement-name-style">
4649
4685
 
@@ -4651,20 +4687,24 @@
4651
4687
 
4652
4688
  </fo:block>
4653
4689
  </xsl:if>
4654
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']" mode="presentation">
4690
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']">
4655
4691
  <fo:block xsl:use-attribute-sets="requirement-label-style">
4656
4692
  <xsl:apply-templates/>
4657
4693
  </fo:block>
4658
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/@obligation" mode="presentation">
4694
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/@obligation">
4659
4695
  <fo:block>
4660
4696
  <fo:inline padding-right="3mm">Obligation</fo:inline><xsl:value-of select="."/>
4661
4697
  </fo:block>
4698
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" priority="2">
4699
+ <fo:block xsl:use-attribute-sets="subject-style">
4700
+ <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
4701
+ </fo:block>
4662
4702
  </xsl:template><xsl:template match="*[local-name() = 'recommendation']">
4663
4703
  <fo:block id="{@id}" xsl:use-attribute-sets="recommendation-style">
4664
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4665
- <xsl:apply-templates/>
4704
+ <xsl:apply-templates select="*[local-name()='name']"/>
4705
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4666
4706
  </fo:block>
4667
- </xsl:template><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']" mode="presentation">
4707
+ </xsl:template><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']">
4668
4708
  <xsl:if test="normalize-space() != ''">
4669
4709
  <fo:block xsl:use-attribute-sets="recommendation-name-style">
4670
4710
  <xsl:apply-templates/>
@@ -4675,10 +4715,6 @@
4675
4715
  <fo:block xsl:use-attribute-sets="recommendation-label-style">
4676
4716
  <xsl:apply-templates/>
4677
4717
  </fo:block>
4678
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" priority="2"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" mode="presentation">
4679
- <fo:block xsl:use-attribute-sets="subject-style">
4680
- <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
4681
- </fo:block>
4682
4718
  </xsl:template><xsl:template match="*[local-name() = 'subject']">
4683
4719
  <fo:block xsl:use-attribute-sets="subject-style">
4684
4720
  <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
@@ -4722,8 +4758,6 @@
4722
4758
  </xsl:variable>
4723
4759
  <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
4724
4760
  <xsl:if test="$cols-count = 2 and not(ancestor::*[local-name()='table'])">
4725
- <!-- <fo:table-column column-width="35mm"/>
4726
- <fo:table-column column-width="115mm"/> -->
4727
4761
  <fo:table-column column-width="30%"/>
4728
4762
  <fo:table-column column-width="70%"/>
4729
4763
  </xsl:if>
@@ -4733,7 +4767,7 @@
4733
4767
  <xsl:if test=".//*[local-name() = 'fn']">
4734
4768
  <xsl:for-each select="*[local-name() = 'tbody']">
4735
4769
  <fo:block font-size="90%" border-bottom="1pt solid black">
4736
- <xsl:call-template name="fn_display"/>
4770
+ <xsl:call-template name="table_fn_display"/>
4737
4771
  </fo:block>
4738
4772
  </xsl:for-each>
4739
4773
  </xsl:if>
@@ -4750,7 +4784,6 @@
4750
4784
  </xsl:template><xsl:template match="*[local-name()='tr']" mode="requirement">
4751
4785
  <fo:table-row height="7mm" border-bottom="0.5pt solid grey">
4752
4786
  <xsl:if test="parent::*[local-name()='thead']"> <!-- and not(ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']) -->
4753
- <!-- <xsl:attribute name="border">1pt solid black</xsl:attribute> -->
4754
4787
  <xsl:attribute name="background-color">rgb(33, 55, 92)</xsl:attribute>
4755
4788
  </xsl:if>
4756
4789
  <xsl:if test="starts-with(*[local-name()='td'][1], 'Requirement ')">
@@ -4763,34 +4796,11 @@
4763
4796
  </fo:table-row>
4764
4797
  </xsl:template><xsl:template match="*[local-name()='th']" mode="requirement">
4765
4798
  <fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm"> <!-- border="0.5pt solid black" -->
4766
- <xsl:attribute name="text-align">
4767
- <xsl:choose>
4768
- <xsl:when test="@align">
4769
- <xsl:value-of select="@align"/>
4770
- </xsl:when>
4771
- <xsl:otherwise>left</xsl:otherwise>
4772
- </xsl:choose>
4773
- </xsl:attribute>
4774
- <xsl:if test="@colspan">
4775
- <xsl:attribute name="number-columns-spanned">
4776
- <xsl:value-of select="@colspan"/>
4777
- </xsl:attribute>
4778
- </xsl:if>
4779
- <xsl:if test="@rowspan">
4780
- <xsl:attribute name="number-rows-spanned">
4781
- <xsl:value-of select="@rowspan"/>
4782
- </xsl:attribute>
4783
- </xsl:if>
4784
- <xsl:call-template name="display-align"/>
4799
+ <xsl:call-template name="setTextAlignment">
4800
+ <xsl:with-param name="default">left</xsl:with-param>
4801
+ </xsl:call-template>
4785
4802
 
4786
- <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
4787
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
4788
- <xsl:attribute name="background-color">rgb(165, 165, 165)</xsl:attribute>
4789
- </xsl:if>
4790
- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommendtest'">
4791
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
4792
- <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
4793
- </xsl:if> -->
4803
+ <xsl:call-template name="setTableCellAttributes"/>
4794
4804
 
4795
4805
  <fo:block>
4796
4806
  <xsl:apply-templates/>
@@ -4802,37 +4812,15 @@
4802
4812
  <xsl:attribute name="padding">0mm</xsl:attribute>
4803
4813
  <xsl:attribute name="padding-left">0mm</xsl:attribute>
4804
4814
  </xsl:if>
4805
- <xsl:attribute name="text-align">
4806
- <xsl:choose>
4807
- <xsl:when test="@align">
4808
- <xsl:value-of select="@align"/>
4809
- </xsl:when>
4810
- <xsl:otherwise>left</xsl:otherwise>
4811
- </xsl:choose>
4812
- </xsl:attribute>
4815
+ <xsl:call-template name="setTextAlignment">
4816
+ <xsl:with-param name="default">left</xsl:with-param>
4817
+ </xsl:call-template>
4818
+
4813
4819
  <xsl:if test="following-sibling::*[local-name()='td'] and not(preceding-sibling::*[local-name()='td'])">
4814
4820
  <xsl:attribute name="font-weight">bold</xsl:attribute>
4815
4821
  </xsl:if>
4816
- <xsl:if test="@colspan">
4817
- <xsl:attribute name="number-columns-spanned">
4818
- <xsl:value-of select="@colspan"/>
4819
- </xsl:attribute>
4820
- </xsl:if>
4821
- <xsl:if test="@rowspan">
4822
- <xsl:attribute name="number-rows-spanned">
4823
- <xsl:value-of select="@rowspan"/>
4824
- </xsl:attribute>
4825
- </xsl:if>
4826
- <xsl:call-template name="display-align"/>
4827
4822
 
4828
- <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
4829
- <xsl:attribute name="padding-left">0.5mm</xsl:attribute>
4830
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
4831
- <xsl:if test="parent::*[local-name()='tr']/preceding-sibling::*[local-name()='tr'] and not(*[local-name()='table'])">
4832
- <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
4833
- </xsl:if>
4834
- </xsl:if> -->
4835
- <!-- 2nd line and below -->
4823
+ <xsl:call-template name="setTableCellAttributes"/>
4836
4824
 
4837
4825
  <fo:block>
4838
4826
  <xsl:apply-templates/>
@@ -4844,15 +4832,15 @@
4844
4832
  <xsl:apply-templates/>
4845
4833
  </fo:block>
4846
4834
  </xsl:template><xsl:template match="*[local-name() = 'p2'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
4847
- <fo:block> <!-- margin-bottom="10pt" -->
4835
+ <fo:block>
4848
4836
  <xsl:apply-templates/>
4849
4837
  </fo:block>
4850
4838
  </xsl:template><xsl:template match="*[local-name() = 'termexample']">
4851
4839
  <fo:block id="{@id}" xsl:use-attribute-sets="termexample-style">
4852
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4853
- <xsl:apply-templates/>
4840
+ <xsl:apply-templates select="*[local-name()='name']"/>
4841
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4854
4842
  </fo:block>
4855
- </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']" mode="presentation">
4843
+ </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']">
4856
4844
  <xsl:if test="normalize-space() != ''">
4857
4845
  <fo:inline xsl:use-attribute-sets="termexample-name-style">
4858
4846
  <xsl:apply-templates/>
@@ -4876,42 +4864,46 @@
4876
4864
  <fo:block id="{@id}" xsl:use-attribute-sets="example-style">
4877
4865
 
4878
4866
 
4879
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4880
-
4881
- <xsl:variable name="element">
4882
- block
4883
-
4884
- <xsl:if test=".//*[local-name() = 'table']">block</xsl:if>
4867
+ <xsl:variable name="fo_element">
4868
+ <xsl:if test=".//*[local-name() = 'table'] or .//*[local-name() = 'dl']">block</xsl:if>
4869
+ block
4885
4870
  </xsl:variable>
4886
4871
 
4872
+ <!-- display 'EXAMPLE' -->
4873
+ <xsl:apply-templates select="*[local-name()='name']">
4874
+ <xsl:with-param name="fo_element" select="$fo_element"/>
4875
+ </xsl:apply-templates>
4876
+
4887
4877
  <xsl:choose>
4888
- <xsl:when test="contains(normalize-space($element), 'block')">
4889
- <fo:block xsl:use-attribute-sets="example-body-style">
4890
- <xsl:apply-templates/>
4891
- </fo:block>
4878
+ <xsl:when test="contains(normalize-space($fo_element), 'block')">
4879
+ <fo:block-container xsl:use-attribute-sets="example-body-style">
4880
+ <fo:block-container margin-left="0mm" margin-right="0mm">
4881
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]">
4882
+ <xsl:with-param name="fo_element" select="$fo_element"/>
4883
+ </xsl:apply-templates>
4884
+ </fo:block-container>
4885
+ </fo:block-container>
4892
4886
  </xsl:when>
4893
4887
  <xsl:otherwise>
4894
4888
  <fo:inline>
4895
- <xsl:apply-templates/>
4889
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]">
4890
+ <xsl:with-param name="fo_element" select="$fo_element"/>
4891
+ </xsl:apply-templates>
4896
4892
  </fo:inline>
4897
4893
  </xsl:otherwise>
4898
4894
  </xsl:choose>
4899
4895
 
4900
4896
  </fo:block>
4901
- </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']" mode="presentation">
4902
-
4903
- <xsl:variable name="element">
4904
- block
4905
-
4906
- <xsl:if test="following-sibling::*[1][local-name() = 'table']">block</xsl:if>
4907
- </xsl:variable>
4897
+ </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']">
4898
+ <xsl:param name="fo_element">block</xsl:param>
4899
+
4908
4900
  <xsl:choose>
4909
4901
  <xsl:when test="ancestor::*[local-name() = 'appendix']">
4910
4902
  <fo:inline>
4911
4903
  <xsl:apply-templates/>
4912
4904
  </fo:inline>
4913
4905
  </xsl:when>
4914
- <xsl:when test="contains(normalize-space($element), 'block')">
4906
+ <xsl:when test="contains(normalize-space($fo_element), 'block')">
4915
4907
  <fo:block xsl:use-attribute-sets="example-name-style">
4916
4908
  <xsl:apply-templates/>
4917
4909
  </fo:block>
@@ -4924,14 +4916,15 @@
4924
4916
  </xsl:choose>
4925
4917
 
4926
4918
  </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
4919
+ <xsl:param name="fo_element">block</xsl:param>
4920
+
4927
4921
  <xsl:variable name="num"><xsl:number/></xsl:variable>
4928
4922
  <xsl:variable name="element">
4929
- block
4930
-
4931
4923
 
4924
+ <xsl:value-of select="$fo_element"/>
4932
4925
  </xsl:variable>
4933
4926
  <xsl:choose>
4934
- <xsl:when test="normalize-space($element) = 'block'">
4927
+ <xsl:when test="starts-with(normalize-space($element), 'block')">
4935
4928
  <fo:block xsl:use-attribute-sets="example-p-style">
4936
4929
 
4937
4930
  <xsl:apply-templates/>
@@ -4946,6 +4939,8 @@
4946
4939
  </xsl:template><xsl:template match="*[local-name() = 'termsource']" name="termsource">
4947
4940
  <fo:block xsl:use-attribute-sets="termsource-style">
4948
4941
 
4942
+
4943
+
4949
4944
  <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
4950
4945
  <xsl:variable name="termsource_text">
4951
4946
  <xsl:apply-templates/>
@@ -4981,11 +4976,9 @@
4981
4976
  </xsl:template><xsl:template match="*[local-name() = 'termsource']/text()">
4982
4977
  <xsl:if test="normalize-space() != ''">
4983
4978
  <xsl:value-of select="."/>
4984
- </xsl:if>
4985
- </xsl:template><xsl:template match="*[local-name() = 'termsource']/*[local-name() = 'strong'][1][following-sibling::*[1][local-name() = 'origin']]/text()">
4986
- <fo:inline>
4987
-
4988
-
4979
+ </xsl:if>
4980
+ </xsl:template><xsl:template match="*[local-name() = 'termsource']/*[local-name() = 'strong'][1][following-sibling::*[1][local-name() = 'origin']]/text()">
4981
+ <fo:inline xsl:use-attribute-sets="termsource-text-style">
4989
4982
  <xsl:value-of select="."/>
4990
4983
  </fo:inline>
4991
4984
  </xsl:template><xsl:template match="*[local-name() = 'origin']">
@@ -4999,12 +4992,9 @@
4999
4992
  </fo:basic-link>
5000
4993
  </xsl:template><xsl:template match="*[local-name() = 'modification']">
5001
4994
  <xsl:variable name="title-modified">
5002
-
5003
-
5004
- <xsl:call-template name="getTitle">
5005
- <xsl:with-param name="name" select="'title-modified'"/>
5006
- </xsl:call-template>
5007
-
4995
+ <xsl:call-template name="getLocalizedString">
4996
+ <xsl:with-param name="key">modified</xsl:with-param>
4997
+ </xsl:call-template>
5008
4998
  </xsl:variable>
5009
4999
 
5010
5000
  <xsl:variable name="text"><xsl:apply-templates/></xsl:variable>
@@ -5031,7 +5021,6 @@
5031
5021
  <fo:block-container margin-left="0mm">
5032
5022
 
5033
5023
  <fo:block xsl:use-attribute-sets="quote-style">
5034
- <!-- <xsl:apply-templates select=".//*[local-name() = 'p']"/> -->
5035
5024
 
5036
5025
  <xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
5037
5026
  </fo:block>
@@ -5074,15 +5063,13 @@
5074
5063
  </xsl:variable>
5075
5064
 
5076
5065
  <xsl:choose>
5077
- <xsl:when test="normalize-space($bibitemid) != ''">
5066
+ <xsl:when test="normalize-space($bibitemid) != ''"> <!-- if in the bibliography there is the item with @bibitemid (and not hidden), then create link -->
5078
5067
  <fo:inline xsl:use-attribute-sets="eref-style">
5079
5068
  <xsl:if test="@type = 'footnote'">
5080
-
5081
- <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
5082
- <xsl:attribute name="font-size">80%</xsl:attribute>
5083
- <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
5084
- <xsl:attribute name="vertical-align">super</xsl:attribute>
5085
-
5069
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
5070
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
5071
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
5072
+ <xsl:attribute name="font-size">80%</xsl:attribute>
5086
5073
 
5087
5074
  </xsl:if>
5088
5075
 
@@ -5099,7 +5086,6 @@
5099
5086
 
5100
5087
 
5101
5088
 
5102
-
5103
5089
  </xsl:if>
5104
5090
 
5105
5091
 
@@ -5152,8 +5138,6 @@
5152
5138
  </xsl:choose>
5153
5139
  </xsl:variable>
5154
5140
 
5155
- <!-- <xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/> -->
5156
-
5157
5141
  <xsl:choose>
5158
5142
  <xsl:when test="$lang = 'zh'">
5159
5143
  <fo:inline><xsl:value-of select="$tab_zh"/></fo:inline>
@@ -5188,12 +5172,9 @@
5188
5172
  </fo:block>
5189
5173
  </xsl:template><xsl:template match="*[local-name() = 'deprecates']">
5190
5174
  <xsl:variable name="title-deprecated">
5191
-
5192
- <xsl:call-template name="getLocalizedString">
5193
- <xsl:with-param name="key">deprecated</xsl:with-param>
5194
- </xsl:call-template>
5195
-
5196
-
5175
+ <xsl:call-template name="getLocalizedString">
5176
+ <xsl:with-param name="key">deprecated</xsl:with-param>
5177
+ </xsl:call-template>
5197
5178
  </xsl:variable>
5198
5179
  <fo:block xsl:use-attribute-sets="deprecates-style">
5199
5180
  <xsl:value-of select="$title-deprecated"/>: <xsl:apply-templates/>
@@ -5202,6 +5183,8 @@
5202
5183
  <xsl:if test="*[local-name() = 'strong']">
5203
5184
  <xsl:attribute name="font-weight">normal</xsl:attribute>
5204
5185
  </xsl:if>
5186
+ </xsl:template><xsl:template match="*[local-name() = 'preferred']/text()[contains(., ';')] | *[local-name() = 'preferred']/*[local-name() = 'strong']/text()[contains(., ';')]">
5187
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.), ';', $linebreak)"/>
5205
5188
  </xsl:template><xsl:template match="*[local-name() = 'definition']">
5206
5189
  <fo:block xsl:use-attribute-sets="definition-style">
5207
5190
  <xsl:apply-templates/>
@@ -5210,7 +5193,6 @@
5210
5193
  <xsl:apply-templates/>
5211
5194
  </xsl:template><xsl:template match="*[local-name() = 'definition'][preceding-sibling::*[local-name() = 'domain']]/*[local-name() = 'p'][1]">
5212
5195
  <fo:inline> <xsl:apply-templates/></fo:inline>
5213
- <!-- <fo:block>&#xA0;</fo:block> -->
5214
5196
  <fo:block/>
5215
5197
  </xsl:template><xsl:template match="/*/*[local-name() = 'sections']/*" priority="2">
5216
5198
 
@@ -5251,11 +5233,6 @@
5251
5233
  <xsl:apply-templates/>
5252
5234
  </fo:block>
5253
5235
  </xsl:template><xsl:template match="*[local-name() = 'definitions']">
5254
- <fo:block id="{@id}">
5255
- <xsl:apply-templates/>
5256
- </fo:block>
5257
- </xsl:template><xsl:template match="*[local-name() = 'references'][@hidden='true']" priority="3"/><xsl:template match="*[local-name() = 'bibitem'][@hidden='true']" priority="3"/><xsl:template match="/*/*[local-name() = 'bibliography']/*[local-name() = 'references'][@normative='true']">
5258
-
5259
5236
  <fo:block id="{@id}">
5260
5237
  <xsl:apply-templates/>
5261
5238
  </fo:block>
@@ -5272,6 +5249,53 @@
5272
5249
  </xsl:template><xsl:template match="*[local-name() = 'name']/text()">
5273
5250
  <!-- 0xA0 to space replacement -->
5274
5251
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
5252
+ </xsl:template><xsl:variable name="ul_labels_">
5253
+
5254
+
5255
+
5256
+ <label level="1">•</label>
5257
+ <label level="2">-</label><!-- minus -->
5258
+ <label level="3" font-size="75%">o</label> <!-- white circle -->
5259
+
5260
+
5261
+
5262
+
5263
+
5264
+
5265
+
5266
+
5267
+
5268
+
5269
+
5270
+
5271
+
5272
+
5273
+
5274
+ </xsl:variable><xsl:variable name="ul_labels" select="xalan:nodeset($ul_labels_)"/><xsl:template name="setULLabel">
5275
+ <xsl:variable name="list_level_" select="count(ancestor::*[local-name() = 'ul']) + count(ancestor::*[local-name() = 'ol'])"/>
5276
+ <xsl:variable name="list_level">
5277
+ <xsl:choose>
5278
+ <xsl:when test="$list_level_ &lt;= 3"><xsl:value-of select="$list_level_"/></xsl:when>
5279
+ <xsl:otherwise><xsl:value-of select="$list_level_ mod 3"/></xsl:otherwise>
5280
+ </xsl:choose>
5281
+ </xsl:variable>
5282
+ <xsl:choose>
5283
+ <xsl:when test="$ul_labels/label[not(@level)]"> <!-- one label for all levels -->
5284
+ <xsl:apply-templates select="$ul_labels/label[not(@level)]" mode="ul_labels"/>
5285
+ </xsl:when>
5286
+ <xsl:when test="$list_level mod 3 = 0">
5287
+ <xsl:apply-templates select="$ul_labels/label[@level = 3]" mode="ul_labels"/>
5288
+ </xsl:when>
5289
+ <xsl:when test="$list_level mod 2 = 0">
5290
+ <xsl:apply-templates select="$ul_labels/label[@level = 2]" mode="ul_labels"/>
5291
+ </xsl:when>
5292
+ <xsl:otherwise>
5293
+ <xsl:apply-templates select="$ul_labels/label[@level = 1]" mode="ul_labels"/>
5294
+ </xsl:otherwise>
5295
+ </xsl:choose>
5296
+ </xsl:template><xsl:template match="label" mode="ul_labels">
5297
+ <xsl:copy-of select="@*[not(local-name() = 'level')]"/>
5298
+ <xsl:value-of select="."/>
5275
5299
  </xsl:template><xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
5276
5300
  <xsl:choose>
5277
5301
  <xsl:when test="parent::*[local-name() = 'note'] or parent::*[local-name() = 'termnote']">
@@ -5478,20 +5502,150 @@
5478
5502
  <fo:table-cell border="1pt solid black" padding-left="1mm" padding-top="0.5mm">
5479
5503
  <fo:block><xsl:apply-templates/></fo:block>
5480
5504
  </fo:table-cell>
5481
- </xsl:template><xsl:template name="processBibitem">
5505
+ </xsl:template><xsl:template match="*[local-name() = 'references'][@hidden='true']" priority="3"/><xsl:template match="*[local-name() = 'bibitem'][@hidden='true']" priority="3"/><xsl:template match="*[local-name() = 'bibitem'][starts-with(@id, 'hidden_bibitem_')]" priority="3"/><xsl:template match="*[local-name() = 'references'][@normative='true']" priority="2">
5506
+
5507
+
5508
+
5509
+ <fo:block id="{@id}">
5510
+ <xsl:apply-templates/>
5511
+ </fo:block>
5512
+ </xsl:template><xsl:template match="*[local-name() = 'references']">
5513
+ <xsl:if test="not(ancestor::*[local-name() = 'annex'])">
5514
+
5515
+ <fo:block break-after="page"/>
5516
+
5517
+ </xsl:if>
5518
+
5519
+ <!-- <xsl:if test="ancestor::*[local-name() = 'annex']">
5520
+ <xsl:if test="$namespace = 'csa' or $namespace = 'csd' or $namespace = 'gb' or $namespace = 'iec' or $namespace = 'iso' or $namespace = 'itu'">
5521
+ <fo:block break-after="page"/>
5522
+ </xsl:if>
5523
+ </xsl:if> -->
5524
+
5525
+ <fo:block id="{@id}" xsl:use-attribute-sets="references-non-normative-style">
5526
+ <xsl:apply-templates/>
5527
+ </fo:block>
5482
5528
 
5483
5529
 
5484
5530
 
5485
-
5486
5531
 
5532
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']">
5533
+ <xsl:call-template name="bibitem"/>
5534
+ </xsl:template><xsl:template match="*[local-name() = 'references'][@normative='true']/*[local-name() = 'bibitem']" name="bibitem" priority="2">
5535
+
5536
+ <fo:block id="{@id}" xsl:use-attribute-sets="bibitem-normative-style">
5537
+ <xsl:call-template name="processBibitem"/>
5538
+ </fo:block>
5539
+
5540
+
5541
+ </xsl:template><xsl:template match="*[local-name() = 'references'][not(@normative='true')]/*[local-name() = 'bibitem']" priority="2">
5487
5542
 
5488
-
5489
5543
 
5544
+ <fo:block xsl:use-attribute-sets="bibitem-non-normative-style">
5545
+ <fo:inline id="{@id}">
5546
+ <xsl:value-of select="csa:docidentifier[@type = 'metanorma-ordinal']"/>
5547
+ <xsl:if test="not(csa:docidentifier[@type = 'metanorma-ordinal'])">
5548
+ <xsl:number format="[1]"/>
5549
+ </xsl:if>
5550
+ </fo:inline>
5551
+
5552
+ <xsl:if test="not(csa:formattedref)">
5553
+ <xsl:choose>
5554
+ <xsl:when test="csa:contributor[csa:role/@type='publisher']/csa:organization/csa:abbreviation">
5555
+ <xsl:for-each select="csa:contributor[csa:role/@type='publisher']/csa:organization/csa:abbreviation">
5556
+ <xsl:value-of select="."/>
5557
+ <xsl:if test="position() != last()">/</xsl:if>
5558
+ </xsl:for-each>
5559
+ <xsl:text>: </xsl:text>
5560
+ </xsl:when>
5561
+ <xsl:when test="csa:contributor[csa:role/@type='publisher']/csa:organization/csa:name">
5562
+ <xsl:value-of select="csa:contributor[csa:role/@type='publisher']/csa:organization/csa:name"/>
5563
+ <xsl:text>: </xsl:text>
5564
+ </xsl:when>
5565
+ </xsl:choose>
5566
+
5567
+ </xsl:if>
5568
+
5569
+ <xsl:if test="csa:docidentifier[not(@type = 'metanorma-ordinal')]">
5570
+ <xsl:choose>
5571
+ <xsl:when test="csa:docidentifier/@type = 'ISO' and csa:formattedref"/>
5572
+ <xsl:when test="csa:docidentifier/@type = 'OGC' and csa:formattedref"/>
5573
+ <xsl:otherwise><fo:inline>
5574
+ <!-- <xsl:if test="csa:docidentifier/@type = 'OGC'">OGC </xsl:if> -->
5575
+ <xsl:value-of select="csa:docidentifier[not(@type = 'metanorma-ordinal')]"/><xsl:apply-templates select="csa:note"/>, </fo:inline></xsl:otherwise>
5576
+ </xsl:choose>
5577
+ </xsl:if>
5578
+
5579
+ <xsl:choose>
5580
+ <xsl:when test="csa:title[@type = 'main' and @language = 'en']">
5581
+ <xsl:apply-templates select="csa:title[@type = 'main' and @language = 'en']"/>
5582
+ </xsl:when>
5583
+ <xsl:otherwise>
5584
+ <xsl:apply-templates select="csa:title"/>
5585
+ </xsl:otherwise>
5586
+ </xsl:choose>
5587
+ <xsl:if test="csa:contributor[csa:role/@type='publisher']/csa:organization/csa:name">
5588
+ <xsl:text>, </xsl:text>
5589
+ <xsl:for-each select="csa:contributor[csa:role/@type='publisher']/csa:organization/csa:name">
5590
+ <xsl:if test="position() != last()">and </xsl:if>
5591
+ <xsl:value-of select="."/>
5592
+ </xsl:for-each>
5593
+
5594
+ </xsl:if>
5595
+ <xsl:if test="csa:place">
5596
+ <xsl:text>, </xsl:text>
5597
+ <xsl:value-of select="csa:place"/>
5598
+ </xsl:if>
5599
+ <xsl:if test="csa:date[@type='published']/csa:on">
5600
+ <xsl:text> (</xsl:text><xsl:value-of select="csa:date[@type='published']/csa:on"/><xsl:text>).</xsl:text>
5601
+ </xsl:if>
5602
+ <xsl:apply-templates select="csa:formattedref"/>
5603
+
5604
+ </fo:block>
5605
+
5490
5606
 
5607
+ </xsl:template><xsl:template name="processBibitem">
5491
5608
 
5492
5609
 
5610
+ <!-- start CSA bibitem processing -->
5611
+ <xsl:if test=".//csa:fn">
5612
+ <xsl:attribute name="line-height-shift-adjustment">disregard-shifts</xsl:attribute>
5613
+ </xsl:if>
5614
+ <xsl:choose>
5615
+ <xsl:when test="csa:formattedref">
5616
+ <xsl:apply-templates select="csa:formattedref"/>
5617
+ </xsl:when>
5618
+ <xsl:otherwise>
5619
+ <xsl:for-each select="csa:contributor[csa:role/@type='publisher']/csa:organization/csa:name">
5620
+ <xsl:apply-templates/>
5621
+ <xsl:if test="position() != last()">, </xsl:if>
5622
+ <xsl:if test="position() = last()">: </xsl:if>
5623
+ </xsl:for-each>
5624
+ <!-- csa:docidentifier -->
5625
+ <xsl:value-of select="csa:docidentifier[not(@type = 'metanorma-ordinal')]"/>
5626
+ <xsl:apply-templates select="csa:note"/>
5627
+ <xsl:if test="csa:docidentifier[not(@type = 'metanorma-ordinal')]">, </xsl:if>
5628
+ <xsl:choose>
5629
+ <xsl:when test="csa:title[@type = 'main' and @language = 'en']">
5630
+ <fo:inline><xsl:apply-templates select="csa:title[@type = 'main' and @language = 'en']"/><xsl:text>. </xsl:text></fo:inline>
5631
+ </xsl:when>
5632
+ <xsl:otherwise>
5633
+ <fo:inline><xsl:apply-templates select="csa:title"/><xsl:text>. </xsl:text></fo:inline>
5634
+ </xsl:otherwise>
5635
+ </xsl:choose>
5636
+ <xsl:for-each select="csa:contributor[csa:role/@type='publisher']/csa:organization/csa:name">
5637
+ <xsl:apply-templates/>
5638
+ <xsl:if test="position() != last()">, </xsl:if>
5639
+ </xsl:for-each>
5640
+ <xsl:if test="csa:date[@type='published']/csa:on">
5641
+ <xsl:text>(</xsl:text><xsl:value-of select="csa:date[@type='published']/csa:on"/><xsl:text>)</xsl:text>
5642
+ </xsl:if>
5643
+ </xsl:otherwise>
5644
+ </xsl:choose>
5645
+ <!-- end CSA bibitem processing -->
5646
+
5493
5647
  </xsl:template><xsl:template name="processBibitemDocId">
5494
- <xsl:variable name="_doc_ident" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]"/>
5648
+ <xsl:variable name="_doc_ident" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'metanorma-ordinal' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]"/>
5495
5649
  <xsl:choose>
5496
5650
  <xsl:when test="normalize-space($_doc_ident) != ''">
5497
5651
  <!-- <xsl:variable name="type" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]/@type"/>
@@ -5505,7 +5659,7 @@
5505
5659
  <xsl:if test="$type != ''">
5506
5660
  <xsl:value-of select="$type"/><xsl:text> </xsl:text>
5507
5661
  </xsl:if> -->
5508
- <xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]"/>
5662
+ <xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma') and not(@type = 'metanorma-ordinal')]"/>
5509
5663
  </xsl:otherwise>
5510
5664
  </xsl:choose>
5511
5665
  </xsl:template><xsl:template name="processPersonalAuthor">
@@ -5546,6 +5700,55 @@
5546
5700
  <xsl:value-of select="substring(.,1,1)"/>
5547
5701
  </xsl:template><xsl:template match="*[local-name() = 'title']" mode="title">
5548
5702
  <fo:inline><xsl:apply-templates/></fo:inline>
5703
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'title']" priority="2">
5704
+ <!-- <fo:inline><xsl:apply-templates /></fo:inline> -->
5705
+ <fo:inline font-style="italic"> <!-- BIPM BSI CSD CSA GB IEC IHO ISO ITU JCGM -->
5706
+ <xsl:apply-templates/>
5707
+ </fo:inline>
5708
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'note']" priority="2">
5709
+ <fo:footnote>
5710
+ <xsl:variable name="number">
5711
+
5712
+ <xsl:choose>
5713
+ <xsl:when test="ancestor::*[local-name() = 'references'][preceding-sibling::*[local-name() = 'references']]">
5714
+ <xsl:number level="any" count="*[local-name() = 'references'][preceding-sibling::*[local-name() = 'references']]//*[local-name() = 'bibitem']/*[local-name() = 'note']"/>
5715
+ </xsl:when>
5716
+ <xsl:otherwise>
5717
+ <xsl:number level="any" count="*[local-name() = 'bibitem']/*[local-name() = 'note']"/>
5718
+ </xsl:otherwise>
5719
+ </xsl:choose>
5720
+
5721
+ </xsl:variable>
5722
+ <fo:inline xsl:use-attribute-sets="bibitem-note-fn-style">
5723
+ <fo:basic-link internal-destination="{generate-id()}" fox:alt-text="footnote {$number}">
5724
+ <xsl:value-of select="$number"/>
5725
+
5726
+ </fo:basic-link>
5727
+ </fo:inline>
5728
+ <fo:footnote-body>
5729
+ <fo:block xsl:use-attribute-sets="bibitem-note-fn-body-style">
5730
+ <fo:inline id="{generate-id()}" xsl:use-attribute-sets="bibitem-note-fn-number-style">
5731
+ <xsl:value-of select="$number"/>
5732
+
5733
+ </fo:inline>
5734
+ <xsl:apply-templates/>
5735
+ </fo:block>
5736
+ </fo:footnote-body>
5737
+ </fo:footnote>
5738
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'edition']"> <!-- for iho -->
5739
+ <xsl:text> edition </xsl:text>
5740
+ <xsl:value-of select="."/>
5741
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'uri']"> <!-- for iho -->
5742
+ <xsl:text> (</xsl:text>
5743
+ <fo:inline xsl:use-attribute-sets="link-style">
5744
+ <fo:basic-link external-destination="." fox:alt-text=".">
5745
+ <xsl:value-of select="."/>
5746
+ </fo:basic-link>
5747
+ </fo:inline>
5748
+ <xsl:text>)</xsl:text>
5749
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'docidentifier']"/><xsl:template match="*[local-name() = 'formattedref']">
5750
+
5751
+ <xsl:apply-templates/>
5549
5752
  </xsl:template><xsl:template match="*[local-name() = 'form']">
5550
5753
  <fo:block>
5551
5754
  <xsl:apply-templates/>
@@ -5611,27 +5814,14 @@
5611
5814
  <fo:block> </fo:block>
5612
5815
  </fo:block-container>
5613
5816
  </xsl:template><xsl:variable name="toc_level">
5817
+ <!-- https://www.metanorma.org/author/ref/document-attributes/ -->
5818
+ <xsl:variable name="htmltoclevels" select="normalize-space(//*[local-name() = 'misc-container']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name']/text() = 'HTML TOC Heading Levels']/*[local-name() = 'value'])"/> <!-- :htmltoclevels Number of table of contents levels to render in HTML/PDF output; used to override :toclevels:-->
5819
+ <xsl:variable name="toclevels" select="normalize-space(//*[local-name() = 'misc-container']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name']/text() = 'TOC Heading Levels']/*[local-name() = 'value'])"/> <!-- Number of table of contents levels to render -->
5614
5820
  <xsl:choose>
5615
- <xsl:when test="1 = 2"/> <!-- to do https://github.com/metanorma/mn-native-pdf/issues/337: if there is value in xml -->
5821
+ <xsl:when test="$htmltoclevels != ''"><xsl:value-of select="number($htmltoclevels)"/></xsl:when> <!-- if there is value in xml -->
5822
+ <xsl:when test="$toclevels != ''"><xsl:value-of select="number($toclevels)"/></xsl:when> <!-- if there is value in xml -->
5616
5823
  <xsl:otherwise><!-- default value -->
5617
-
5618
-
5619
5824
  2
5620
-
5621
-
5622
-
5623
-
5624
-
5625
-
5626
-
5627
-
5628
-
5629
-
5630
-
5631
-
5632
-
5633
-
5634
-
5635
5825
  </xsl:otherwise>
5636
5826
  </xsl:choose>
5637
5827
  </xsl:variable><xsl:template match="*[local-name() = 'toc']">
@@ -5714,7 +5904,7 @@
5714
5904
  </td>
5715
5905
  </xsl:for-each>
5716
5906
  <td>333</td> <!-- page number, just for fill -->
5717
- </xsl:template><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']"/><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']" mode="subtitle">
5907
+ </xsl:template><xsl:template match="*[local-name() = 'variant-title']"/><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']" mode="subtitle">
5718
5908
  <fo:inline padding-right="5mm"> </fo:inline>
5719
5909
  <fo:inline><xsl:apply-templates/></fo:inline>
5720
5910
  </xsl:template><xsl:template match="*[local-name() = 'blacksquare']" name="blacksquare">
@@ -5725,6 +5915,60 @@
5725
5915
  </svg>
5726
5916
  </fo:instream-foreign-object>
5727
5917
  </fo:inline>
5918
+ </xsl:template><xsl:template match="@language">
5919
+ <xsl:copy-of select="."/>
5920
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title' or @type = 'section-title']" priority="4">
5921
+ <xsl:call-template name="title"/>
5922
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']">
5923
+
5924
+
5925
+
5926
+
5927
+
5928
+ <!-- text in the box -->
5929
+ <fo:block-container id="{@id}" xsl:use-attribute-sets="admonition-style">
5930
+
5931
+
5932
+
5933
+
5934
+
5935
+ <fo:block-container xsl:use-attribute-sets="admonition-container-style">
5936
+
5937
+
5938
+ <fo:block-container margin-left="0mm" margin-right="0mm">
5939
+ <fo:block>
5940
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5941
+ </fo:block>
5942
+ </fo:block-container>
5943
+
5944
+ </fo:block-container>
5945
+
5946
+ </fo:block-container>
5947
+
5948
+ </xsl:template><xsl:template name="displayAdmonitionName">
5949
+
5950
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
5951
+ <xsl:if test="not(*[local-name() = 'name'])">
5952
+ <xsl:apply-templates select="@type"/>
5953
+ </xsl:if>
5954
+
5955
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'name']">
5956
+ <xsl:apply-templates/>
5957
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']/@type">
5958
+ <xsl:variable name="admonition_type_">
5959
+ <xsl:call-template name="getLocalizedString">
5960
+ <xsl:with-param name="key">admonition.<xsl:value-of select="."/></xsl:with-param>
5961
+ </xsl:call-template>
5962
+ </xsl:variable>
5963
+ <xsl:variable name="admonition_type" select="normalize-space(java:toUpperCase(java:java.lang.String.new($admonition_type_)))"/>
5964
+ <xsl:value-of select="$admonition_type"/>
5965
+ <xsl:if test="$admonition_type = ''">
5966
+ <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(.))"/>
5967
+ </xsl:if>
5968
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'p']">
5969
+ <!-- processing for admonition/p found in the template for 'p' -->
5970
+ <xsl:call-template name="paragraph"/>
5971
+
5728
5972
  </xsl:template><xsl:template name="convertDate">
5729
5973
  <xsl:param name="date"/>
5730
5974
  <xsl:param name="format" select="'short'"/>
@@ -5732,83 +5976,80 @@
5732
5976
  <xsl:variable name="month" select="substring($date, 6, 2)"/>
5733
5977
  <xsl:variable name="day" select="substring($date, 9, 2)"/>
5734
5978
  <xsl:variable name="monthStr">
5735
- <xsl:choose>
5736
- <xsl:when test="$month = '01'">January</xsl:when>
5737
- <xsl:when test="$month = '02'">February</xsl:when>
5738
- <xsl:when test="$month = '03'">March</xsl:when>
5739
- <xsl:when test="$month = '04'">April</xsl:when>
5740
- <xsl:when test="$month = '05'">May</xsl:when>
5741
- <xsl:when test="$month = '06'">June</xsl:when>
5742
- <xsl:when test="$month = '07'">July</xsl:when>
5743
- <xsl:when test="$month = '08'">August</xsl:when>
5744
- <xsl:when test="$month = '09'">September</xsl:when>
5745
- <xsl:when test="$month = '10'">October</xsl:when>
5746
- <xsl:when test="$month = '11'">November</xsl:when>
5747
- <xsl:when test="$month = '12'">December</xsl:when>
5748
- </xsl:choose>
5979
+ <xsl:call-template name="getMonthByNum">
5980
+ <xsl:with-param name="num" select="$month"/>
5981
+ <xsl:with-param name="lowercase" select="'true'"/>
5982
+ </xsl:call-template>
5983
+ </xsl:variable>
5984
+ <xsl:variable name="monthStr_localized">
5985
+ <xsl:if test="normalize-space($monthStr) != ''"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_<xsl:value-of select="$monthStr"/></xsl:with-param></xsl:call-template></xsl:if>
5749
5986
  </xsl:variable>
5750
5987
  <xsl:variable name="result">
5751
5988
  <xsl:choose>
5752
- <xsl:when test="$format = 'ddMMyyyy'">
5989
+ <xsl:when test="$format = 'ddMMyyyy'"> <!-- convert date from format 2007-04-01 to 1 April 2007 -->
5753
5990
  <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
5754
5991
  <xsl:text> </xsl:text>
5755
- <xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
5992
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ' , $year))"/>
5756
5993
  </xsl:when>
5757
5994
  <xsl:when test="$format = 'ddMM'">
5758
5995
  <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
5759
- <xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
5996
+ <xsl:text> </xsl:text><xsl:value-of select="$monthStr_localized"/>
5760
5997
  </xsl:when>
5761
5998
  <xsl:when test="$format = 'short' or $day = ''">
5762
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
5999
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ', $year))"/>
5763
6000
  </xsl:when>
5764
6001
  <xsl:otherwise>
5765
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
6002
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ', $day, ', ' , $year))"/> <!-- January 01, 2022 -->
5766
6003
  </xsl:otherwise>
5767
6004
  </xsl:choose>
5768
6005
  </xsl:variable>
5769
6006
  <xsl:value-of select="$result"/>
5770
- </xsl:template><xsl:template name="convertDateLocalized">
5771
- <xsl:param name="date"/>
5772
- <xsl:param name="format" select="'short'"/>
5773
- <xsl:variable name="year" select="substring($date, 1, 4)"/>
5774
- <xsl:variable name="month" select="substring($date, 6, 2)"/>
5775
- <xsl:variable name="day" select="substring($date, 9, 2)"/>
5776
- <xsl:variable name="monthStr">
5777
- <xsl:choose>
5778
- <xsl:when test="$month = '01'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_january</xsl:with-param></xsl:call-template></xsl:when>
5779
- <xsl:when test="$month = '02'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_february</xsl:with-param></xsl:call-template></xsl:when>
5780
- <xsl:when test="$month = '03'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_march</xsl:with-param></xsl:call-template></xsl:when>
5781
- <xsl:when test="$month = '04'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_april</xsl:with-param></xsl:call-template></xsl:when>
5782
- <xsl:when test="$month = '05'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_may</xsl:with-param></xsl:call-template></xsl:when>
5783
- <xsl:when test="$month = '06'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_june</xsl:with-param></xsl:call-template></xsl:when>
5784
- <xsl:when test="$month = '07'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_july</xsl:with-param></xsl:call-template></xsl:when>
5785
- <xsl:when test="$month = '08'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_august</xsl:with-param></xsl:call-template></xsl:when>
5786
- <xsl:when test="$month = '09'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_september</xsl:with-param></xsl:call-template></xsl:when>
5787
- <xsl:when test="$month = '10'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_october</xsl:with-param></xsl:call-template></xsl:when>
5788
- <xsl:when test="$month = '11'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_november</xsl:with-param></xsl:call-template></xsl:when>
5789
- <xsl:when test="$month = '12'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_december</xsl:with-param></xsl:call-template></xsl:when>
5790
- </xsl:choose>
5791
- </xsl:variable>
5792
- <xsl:variable name="result">
6007
+ </xsl:template><xsl:template name="getMonthByNum">
6008
+ <xsl:param name="num"/>
6009
+ <xsl:param name="lang">en</xsl:param>
6010
+ <xsl:param name="lowercase">false</xsl:param> <!-- return 'january' instead of 'January' -->
6011
+ <xsl:variable name="monthStr_">
5793
6012
  <xsl:choose>
5794
- <xsl:when test="$format = 'ddMMyyyy'">
5795
- <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
5796
- <xsl:text> </xsl:text>
5797
- <xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
5798
- </xsl:when>
5799
- <xsl:when test="$format = 'ddMM'">
5800
- <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
5801
- <xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
5802
- </xsl:when>
5803
- <xsl:when test="$format = 'short' or $day = ''">
5804
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
6013
+ <xsl:when test="$lang = 'fr'">
6014
+ <xsl:choose>
6015
+ <xsl:when test="$num = '01'">Janvier</xsl:when>
6016
+ <xsl:when test="$num = '02'">Février</xsl:when>
6017
+ <xsl:when test="$num = '03'">Mars</xsl:when>
6018
+ <xsl:when test="$num = '04'">Avril</xsl:when>
6019
+ <xsl:when test="$num = '05'">Mai</xsl:when>
6020
+ <xsl:when test="$num = '06'">Juin</xsl:when>
6021
+ <xsl:when test="$num = '07'">Juillet</xsl:when>
6022
+ <xsl:when test="$num = '08'">Août</xsl:when>
6023
+ <xsl:when test="$num = '09'">Septembre</xsl:when>
6024
+ <xsl:when test="$num = '10'">Octobre</xsl:when>
6025
+ <xsl:when test="$num = '11'">Novembre</xsl:when>
6026
+ <xsl:when test="$num = '12'">Décembre</xsl:when>
6027
+ </xsl:choose>
5805
6028
  </xsl:when>
5806
6029
  <xsl:otherwise>
5807
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
6030
+ <xsl:choose>
6031
+ <xsl:when test="$num = '01'">January</xsl:when>
6032
+ <xsl:when test="$num = '02'">February</xsl:when>
6033
+ <xsl:when test="$num = '03'">March</xsl:when>
6034
+ <xsl:when test="$num = '04'">April</xsl:when>
6035
+ <xsl:when test="$num = '05'">May</xsl:when>
6036
+ <xsl:when test="$num = '06'">June</xsl:when>
6037
+ <xsl:when test="$num = '07'">July</xsl:when>
6038
+ <xsl:when test="$num = '08'">August</xsl:when>
6039
+ <xsl:when test="$num = '09'">September</xsl:when>
6040
+ <xsl:when test="$num = '10'">October</xsl:when>
6041
+ <xsl:when test="$num = '11'">November</xsl:when>
6042
+ <xsl:when test="$num = '12'">December</xsl:when>
6043
+ </xsl:choose>
5808
6044
  </xsl:otherwise>
5809
6045
  </xsl:choose>
5810
6046
  </xsl:variable>
5811
- <xsl:value-of select="$result"/>
6047
+ <xsl:choose>
6048
+ <xsl:when test="normalize-space($lowercase) = 'true'">
6049
+ <xsl:value-of select="java:toLowerCase(java:java.lang.String.new($monthStr_))"/>
6050
+ </xsl:when>
6051
+ <xsl:otherwise><xsl:value-of select="$monthStr_"/></xsl:otherwise>
6052
+ </xsl:choose>
5812
6053
  </xsl:template><xsl:template name="insertKeywords">
5813
6054
  <xsl:param name="sorting" select="'true'"/>
5814
6055
  <xsl:param name="charAtEnd" select="'.'"/>
@@ -5856,14 +6097,9 @@
5856
6097
  <dc:title>
5857
6098
  <xsl:variable name="title">
5858
6099
  <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
5859
-
5860
-
5861
-
5862
-
5863
- <xsl:value-of select="*[local-name() = 'title'][@language = $lang]"/>
5864
-
5865
-
5866
6100
 
6101
+ <xsl:value-of select="*[local-name() = 'title'][@language = $lang]"/>
6102
+
5867
6103
  </xsl:for-each>
5868
6104
  </xsl:variable>
5869
6105
  <xsl:choose>
@@ -5878,21 +6114,18 @@
5878
6114
  <dc:creator>
5879
6115
  <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
5880
6116
 
5881
- <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
5882
- <xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
5883
- <xsl:if test="position() != last()">; </xsl:if>
5884
- </xsl:for-each>
5885
-
5886
-
5887
-
6117
+ <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
6118
+ <xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
6119
+ <xsl:if test="position() != last()">; </xsl:if>
6120
+ </xsl:for-each>
6121
+
5888
6122
  </xsl:for-each>
5889
6123
  </dc:creator>
5890
6124
  <dc:description>
5891
6125
  <xsl:variable name="abstract">
5892
6126
 
5893
- <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
5894
-
5895
-
6127
+ <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
6128
+
5896
6129
  </xsl:variable>
5897
6130
  <xsl:value-of select="normalize-space($abstract)"/>
5898
6131
  </dc:description>
@@ -5912,7 +6145,6 @@
5912
6145
  <xsl:value-of select="../@id"/>
5913
6146
  </xsl:when>
5914
6147
  <xsl:otherwise>
5915
- <!-- <xsl:value-of select="concat(local-name(..), '_', text())"/> -->
5916
6148
  <xsl:value-of select="concat(generate-id(..), '_', text())"/>
5917
6149
  </xsl:otherwise>
5918
6150
  </xsl:choose>
@@ -5938,9 +6170,6 @@
5938
6170
  <xsl:when test="ancestor::*[local-name() = 'preface']">
5939
6171
  <xsl:value-of select="$level_total - 2"/>
5940
6172
  </xsl:when>
5941
- <!-- <xsl:when test="parent::*[local-name() = 'sections']">
5942
- <xsl:value-of select="$level_total - 1"/>
5943
- </xsl:when> -->
5944
6173
  <xsl:when test="ancestor::*[local-name() = 'sections']">
5945
6174
  <xsl:value-of select="$level_total - 1"/>
5946
6175
  </xsl:when>
@@ -6082,9 +6311,15 @@
6082
6311
  </xsl:template><xsl:template name="getLocalizedString">
6083
6312
  <xsl:param name="key"/>
6084
6313
  <xsl:param name="formatted">false</xsl:param>
6314
+ <xsl:param name="lang"/>
6085
6315
 
6086
6316
  <xsl:variable name="curr_lang">
6087
- <xsl:call-template name="getLang"/>
6317
+ <xsl:choose>
6318
+ <xsl:when test="$lang != ''"><xsl:value-of select="$lang"/></xsl:when>
6319
+ <xsl:otherwise>
6320
+ <xsl:call-template name="getLang"/>
6321
+ </xsl:otherwise>
6322
+ </xsl:choose>
6088
6323
  </xsl:variable>
6089
6324
 
6090
6325
  <xsl:variable name="data_value">
@@ -6124,7 +6359,6 @@
6124
6359
  <xsl:value-of select="$key_"/>
6125
6360
  </xsl:otherwise>
6126
6361
  </xsl:choose>
6127
-
6128
6362
  </xsl:template><xsl:template name="setTrackChangesStyles">
6129
6363
  <xsl:param name="isAdded"/>
6130
6364
  <xsl:param name="isDeleted"/>
@@ -6147,7 +6381,6 @@
6147
6381
  <xsl:if test="local-name() = 'table'">
6148
6382
  <xsl:attribute name="background-color">rgb(255, 185, 185)</xsl:attribute>
6149
6383
  </xsl:if>
6150
- <!-- <xsl:attribute name="color"><xsl:value-of select="$color-deleted-text"/></xsl:attribute> -->
6151
6384
  <xsl:attribute name="padding">2mm</xsl:attribute>
6152
6385
  </xsl:if>
6153
6386
  </xsl:otherwise>
@@ -6167,15 +6400,18 @@
6167
6400
  </xsl:choose>
6168
6401
  </xsl:template><xsl:template name="setTextAlignment">
6169
6402
  <xsl:param name="default">left</xsl:param>
6403
+ <xsl:variable name="align" select="normalize-space(@align)"/>
6170
6404
  <xsl:attribute name="text-align">
6171
6405
  <xsl:choose>
6172
- <xsl:when test="@align and not(@align = 'indent')"><xsl:value-of select="@align"/></xsl:when>
6406
+ <xsl:when test="$lang = 'ar' and $align = 'left'">start</xsl:when>
6407
+ <xsl:when test="$lang = 'ar' and $align = 'right'">end</xsl:when>
6408
+ <xsl:when test="$align != '' and not($align = 'indent')"><xsl:value-of select="$align"/></xsl:when>
6173
6409
  <xsl:when test="ancestor::*[local-name() = 'td']/@align"><xsl:value-of select="ancestor::*[local-name() = 'td']/@align"/></xsl:when>
6174
6410
  <xsl:when test="ancestor::*[local-name() = 'th']/@align"><xsl:value-of select="ancestor::*[local-name() = 'th']/@align"/></xsl:when>
6175
6411
  <xsl:otherwise><xsl:value-of select="$default"/></xsl:otherwise>
6176
6412
  </xsl:choose>
6177
6413
  </xsl:attribute>
6178
- <xsl:if test="@align = 'indent'">
6414
+ <xsl:if test="$align = 'indent'">
6179
6415
  <xsl:attribute name="margin-left">7mm</xsl:attribute>
6180
6416
  </xsl:if>
6181
6417
  </xsl:template><xsl:template name="number-to-words">
@@ -6274,6 +6510,25 @@
6274
6510
  </xsl:otherwise>
6275
6511
  </xsl:choose>
6276
6512
  </xsl:if>
6513
+ </xsl:template><xsl:template name="number-to-ordinal">
6514
+ <xsl:param name="number"/>
6515
+ <xsl:param name="curr_lang"/>
6516
+ <xsl:choose>
6517
+ <xsl:when test="$curr_lang = 'fr'">
6518
+ <xsl:choose>
6519
+ <xsl:when test="$number = '1'">re</xsl:when>
6520
+ <xsl:otherwise>e</xsl:otherwise>
6521
+ </xsl:choose>
6522
+ </xsl:when>
6523
+ <xsl:otherwise>
6524
+ <xsl:choose>
6525
+ <xsl:when test="$number = 1">st</xsl:when>
6526
+ <xsl:when test="$number = 2">nd</xsl:when>
6527
+ <xsl:when test="$number = 3">rd</xsl:when>
6528
+ <xsl:otherwise>th</xsl:otherwise>
6529
+ </xsl:choose>
6530
+ </xsl:otherwise>
6531
+ </xsl:choose>
6277
6532
  </xsl:template><xsl:template name="setAltText">
6278
6533
  <xsl:param name="value"/>
6279
6534
  <xsl:attribute name="fox:alt-text">