metanorma-gb 1.5.0 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fe9a20b1e4d09c3ed8151c2021f51c1b8e412f823f0363db5bf0b9e4eb182908
4
- data.tar.gz: 6601454ed383cbb484434deebc8195d280a50f36282e0d84a096c1406751e322
3
+ metadata.gz: a326bf40f513d695ec5b2e5c7dafa563de377ce6c3a1da84f721b60db3f29977
4
+ data.tar.gz: 77adddf3a6c12e3d57e40d8dcf9a646794ef16fb6e4abc5a930b31746ae664c9
5
5
  SHA512:
6
- metadata.gz: fd3154c799e5794a5b9a7a13b8cfe3eb2d70a0a1b1bb36ea6e1d85a9b14d8a5658726320734105f5abfcf1f0c8990ce2e9ce681cbc8d600d0702430f8416f048
7
- data.tar.gz: 8f90f5d26fe2601454ad8f6a27d6103d494443ce9948a25d2b2d697b9eb562018802cb08e529855916f2d8e7b4c0296e1e7001af8201374eda350ee4bf2fece0
6
+ metadata.gz: f221356ae97fc691544be1296f4bcaa48032ee8cce37d629f12e78b00eae4e0a7cce961acad2502101e4650a26b5649f548d8adfedd18e8ac450fada42ac091a
7
+ data.tar.gz: a03f8e0e1910bec1450504f40162cf9a5ac6c1537059217ab30f22278653712d0583810c295c583f714a32093fe22eaf615d74c6b3d0e61afc430e93304a14c8
@@ -39,21 +39,18 @@
39
39
  <contents>
40
40
  <xsl:apply-templates select="/gb:gb-standard/gb:preface/node()" mode="contents"/>
41
41
 
42
- <xsl:apply-templates select="/gb:gb-standard/gb:sections/gb:clause[1]" mode="contents"> <!-- [@id = '_scope'] -->
43
- <xsl:with-param name="sectionNum" select="'1'"/>
44
- </xsl:apply-templates>
45
- <xsl:apply-templates select="/gb:gb-standard/gb:bibliography/gb:references[1]" mode="contents"> <!-- [@id = '_normative_references'] -->
46
- <xsl:with-param name="sectionNum" select="'2'"/>
47
- </xsl:apply-templates>
48
- <xsl:apply-templates select="/gb:gb-standard/gb:sections/*[position() &gt; 1]" mode="contents"> <!-- @id != '_scope' -->
49
- <xsl:with-param name="sectionNumSkew" select="'1'"/>
50
- </xsl:apply-templates>
42
+ <xsl:apply-templates select="/gb:gb-standard/gb:sections/gb:clause[1]" mode="contents"/> <!-- [@id = '_scope'] -->
43
+
44
+ <!-- Normative references -->
45
+ <xsl:apply-templates select="/gb:gb-standard/gb:bibliography/gb:references[1]" mode="contents"/> <!-- [@id = '_normative_references'] -->
46
+
47
+ <xsl:apply-templates select="/gb:gb-standard/gb:sections/*[position() &gt; 1]" mode="contents"/> <!-- @id != '_scope' -->
48
+
51
49
  <xsl:apply-templates select="/gb:gb-standard/gb:annex" mode="contents"/>
52
- <xsl:apply-templates select="/gb:gb-standard/gb:bibliography/gb:references[position() &gt; 1]" mode="contents"/> <!-- @id = '_bibliography' -->
53
50
 
54
- <xsl:apply-templates select="//gb:figure" mode="contents"/>
51
+ <!-- Bibliography -->
52
+ <xsl:apply-templates select="/gb:gb-standard/gb:bibliography/gb:references[position() &gt; 1]" mode="contents"/> <!-- @id = '_bibliography' -->
55
53
 
56
- <xsl:apply-templates select="//gb:table" mode="contents"/>
57
54
  </contents>
58
55
  </xsl:variable>
59
56
 
@@ -62,7 +59,7 @@
62
59
  </xsl:variable>
63
60
 
64
61
  <xsl:template match="/">
65
- <xsl:message>INFO: Document namespace: '<xsl:value-of select="namespace-uri(/*)"/>'</xsl:message>
62
+ <xsl:call-template name="namespaceCheck"/>
66
63
  <fo:root font-family="SimSun" font-size="10.5pt" xml:lang="{$lang}"> <!-- -->
67
64
  <fo:layout-master-set>
68
65
 
@@ -344,32 +341,19 @@
344
341
 
345
342
  <fo:block line-height="220%">
346
343
  <xsl:variable name="margin-left">12</xsl:variable>
347
- <xsl:for-each select="xalan:nodeset($contents)//item[@display = 'true'][not(@level = 2 and starts-with(@section, '0'))]"><!-- skip clause from preface -->
344
+ <xsl:for-each select="xalan:nodeset($contents)//item"><!-- [@display = 'true'][not(@level = 2 and starts-with(@section, '0'))] skip clause from preface -->
348
345
  <fo:block text-align-last="justify">
349
346
  <xsl:if test="@level =2">
350
347
  <xsl:attribute name="margin-left">3.7mm</xsl:attribute>
351
348
  </xsl:if>
352
349
  <fo:basic-link internal-destination="{@id}" fox:alt-text="{text()}">
353
- <xsl:if test="normalize-space(@section) != '' and not(@display-section = 'false')">
354
- <fo:inline>
355
- <xsl:if test="@type = 'annex' and @level = 1">
356
- <xsl:attribute name="font-weight">bold</xsl:attribute>
357
- </xsl:if>
350
+ <xsl:if test="normalize-space(@section) != ''">
351
+ <fo:inline>
358
352
  <xsl:value-of select="@section"/>
359
353
  </fo:inline>
360
- <xsl:if test="not(@type = 'annex' and @level = 1)">
361
- <xsl:text>. </xsl:text>
362
- </xsl:if>
363
- <xsl:if test="@type = 'annex' and @level = 1">
364
- <xsl:text> </xsl:text>
365
- </xsl:if>
366
- </xsl:if>
367
- <xsl:if test="@addon != ''">
368
- <fo:inline font-weight="normal">(<xsl:value-of select="@addon"/>)</fo:inline>
369
- <xsl:text> </xsl:text>
354
+ <xsl:value-of select="$tab_zh"/>
370
355
  </xsl:if>
371
- <xsl:value-of select="text()"/>
372
- <xsl:text> </xsl:text>
356
+ <xsl:apply-templates/>
373
357
  <fo:inline keep-together.within-line="always">
374
358
  <fo:leader font-weight="normal" leader-pattern="dots"/>
375
359
  <fo:inline><fo:page-number-citation ref-id="{@id}"/></fo:inline>
@@ -407,19 +391,13 @@
407
391
  </xsl:call-template>
408
392
  </fo:block>
409
393
 
410
- <xsl:apply-templates select="/gb:gb-standard/gb:sections/gb:clause[1]"> <!-- Scope -->
411
- <xsl:with-param name="sectionNum" select="'1'"/>
412
- </xsl:apply-templates>
394
+ <xsl:apply-templates select="/gb:gb-standard/gb:sections/gb:clause[1]"/> <!-- Scope -->
413
395
 
414
396
  <!-- Normative references -->
415
- <xsl:apply-templates select="/gb:gb-standard/gb:bibliography/gb:references[1]">
416
- <xsl:with-param name="sectionNum" select="'2'"/>
417
- </xsl:apply-templates>
397
+ <xsl:apply-templates select="/gb:gb-standard/gb:bibliography/gb:references[1]"/>
418
398
 
419
399
  <!-- Main sections -->
420
- <xsl:apply-templates select="/gb:gb-standard/gb:sections/*[position() &gt; 1]">
421
- <xsl:with-param name="sectionNumSkew" select="'1'"/>
422
- </xsl:apply-templates>
400
+ <xsl:apply-templates select="/gb:gb-standard/gb:sections/*[position() &gt; 1]"/>
423
401
 
424
402
  <!-- Annex(s) -->
425
403
  <xsl:apply-templates select="/gb:gb-standard/gb:annex"/>
@@ -482,185 +460,57 @@
482
460
  </xsl:if>
483
461
  </xsl:template>
484
462
 
485
- <!-- for pass the paremeter 'sectionNum' over templates, like 'tunnel' parameter in XSLT 2.0 -->
486
- <xsl:template match="node()">
487
- <xsl:param name="sectionNum"/>
488
- <xsl:param name="sectionNumSkew"/>
489
- <xsl:apply-templates>
490
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
491
- <xsl:with-param name="sectionNumSkew" select="$sectionNumSkew"/>
492
- </xsl:apply-templates>
463
+ <xsl:template match="node()">
464
+ <xsl:apply-templates/>
493
465
  </xsl:template>
494
466
 
495
467
  <!-- ============================= -->
496
468
  <!-- CONTENTS -->
497
469
  <!-- ============================= -->
498
- <xsl:template match="node()" mode="contents">
499
- <xsl:param name="sectionNum"/>
500
- <xsl:param name="sectionNumSkew"/>
501
- <xsl:apply-templates mode="contents">
502
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
503
- <xsl:with-param name="sectionNumSkew" select="$sectionNumSkew"/>
504
- </xsl:apply-templates>
470
+ <xsl:template match="node()" mode="contents">
471
+ <xsl:apply-templates mode="contents"/>
505
472
  </xsl:template>
506
473
 
507
-
508
- <!-- calculate main section number (1,2,3) and pass it deep into templates -->
509
- <!-- it's necessary, because there is itu:bibliography/itu:references from other section, but numbering should be sequental -->
510
- <xsl:template match="gb:gb-standard/gb:sections/*" mode="contents">
511
- <xsl:param name="sectionNum"/>
512
- <xsl:param name="sectionNumSkew" select="0"/>
513
- <xsl:variable name="sectionNum_">
514
- <xsl:choose>
515
- <xsl:when test="$sectionNum"><xsl:value-of select="$sectionNum"/></xsl:when>
516
- <xsl:when test="$sectionNumSkew != 0">
517
- <xsl:variable name="number"><xsl:number count="*"/></xsl:variable> <!-- gb:sections/gb:clause | gb:sections/gb:terms -->
518
- <xsl:value-of select="$number + $sectionNumSkew"/>
519
- </xsl:when>
520
- <xsl:otherwise>
521
- <xsl:number count="*"/>
522
- </xsl:otherwise>
523
- </xsl:choose>
524
- </xsl:variable>
525
- <xsl:apply-templates mode="contents">
526
- <xsl:with-param name="sectionNum" select="$sectionNum_"/>
527
- </xsl:apply-templates>
528
- </xsl:template>
529
-
530
- <!-- Any node with title element - clause, definition, annex,... -->
531
- <xsl:template match="gb:title | gb:preferred" mode="contents">
532
- <xsl:param name="sectionNum"/>
533
- <!-- sectionNum=<xsl:value-of select="$sectionNum"/> -->
534
- <xsl:variable name="id">
535
- <xsl:call-template name="getId"/>
536
- </xsl:variable>
537
-
474
+ <!-- element with title -->
475
+ <xsl:template match="*[gb:title]" mode="contents">
538
476
  <xsl:variable name="level">
539
- <xsl:call-template name="getLevel"/>
540
- </xsl:variable>
541
-
542
- <xsl:variable name="section">
543
- <xsl:call-template name="getSection">
544
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
477
+ <xsl:call-template name="getLevel">
478
+ <xsl:with-param name="depth" select="gb:title/@depth"/>
545
479
  </xsl:call-template>
546
480
  </xsl:variable>
547
481
 
548
482
  <xsl:variable name="display">
549
483
  <xsl:choose>
550
- <xsl:when test="ancestor::gb:bibitem">false</xsl:when>
551
- <xsl:when test="ancestor::gb:term">false</xsl:when>
552
- <xsl:when test="ancestor::gb:annex and $level &gt;= 3">false</xsl:when>
553
- <xsl:when test="$level &lt;= 3">true</xsl:when>
484
+ <xsl:when test="ancestor-or-self::gb:bibitem">false</xsl:when>
485
+ <xsl:when test="ancestor-or-self::gb:term">false</xsl:when>
486
+ <xsl:when test="$level &lt;= 2">true</xsl:when>
554
487
  <xsl:otherwise>false</xsl:otherwise>
555
488
  </xsl:choose>
556
489
  </xsl:variable>
557
490
 
558
- <xsl:variable name="display-section">true</xsl:variable>
559
-
560
- <xsl:variable name="type">
561
- <xsl:value-of select="local-name(..)"/>
562
- </xsl:variable>
563
-
564
- <xsl:variable name="root">
565
- <xsl:choose>
566
- <xsl:when test="ancestor::gb:annex">annex</xsl:when>
567
- </xsl:choose>
568
- </xsl:variable>
569
-
570
- <item id="{$id}" level="{$level}" section="{$section}" display-section="{$display-section}" display="{$display}" type="{$type}" root="{$root}">
571
- <xsl:attribute name="addon">
572
- <xsl:if test="local-name(..) = 'annex'">
573
- <xsl:variable name="obligation" select="../@obligation"/>
574
- <xsl:variable name="title-obligation-normative">
575
- <xsl:call-template name="getTitle">
576
- <xsl:with-param name="name" select="'title-obligation-normative'"/>
577
- </xsl:call-template>
578
- </xsl:variable>
579
- <xsl:choose>
580
- <xsl:when test="$obligation = 'normative'"><xsl:value-of select="$title-obligation-normative"/></xsl:when>
581
- <xsl:otherwise><xsl:value-of select="$obligation"/></xsl:otherwise>
582
- </xsl:choose>
583
- </xsl:if>
584
- </xsl:attribute>
585
- <xsl:value-of select="."/>
586
- </item>
491
+ <xsl:if test="$display = 'true'">
587
492
 
588
- <xsl:apply-templates mode="contents">
589
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
590
- </xsl:apply-templates>
493
+ <xsl:variable name="section">
494
+ <xsl:call-template name="getSection"/>
495
+ </xsl:variable>
496
+
497
+ <xsl:variable name="title">
498
+ <xsl:call-template name="getName"/>
499
+ </xsl:variable>
500
+
501
+ <xsl:variable name="type">
502
+ <xsl:value-of select="local-name()"/>
503
+ </xsl:variable>
504
+
505
+ <item id="{@id}" level="{$level}" section="{$section}" type="{$type}">
506
+ <xsl:apply-templates select="xalan:nodeset($title)" mode="contents_item"/>
507
+ </item>
508
+ <xsl:apply-templates mode="contents"/>
509
+ </xsl:if>
591
510
 
592
511
  </xsl:template>
593
512
 
594
513
 
595
- <xsl:template match="gb:figure" mode="contents">
596
- <item level="" id="{@id}" display="false">
597
- <xsl:attribute name="section">
598
- <xsl:call-template name="getFigureNumber"/>
599
- </xsl:attribute>
600
- </item>
601
- </xsl:template>
602
-
603
- <xsl:template match="gb:table" mode="contents">
604
- <xsl:param name="sectionNum"/>
605
- <xsl:variable name="annex-id" select="ancestor::gb:annex/@id"/>
606
- <item level="" id="{@id}" display="false" type="table">
607
- <xsl:attribute name="section">
608
- <xsl:variable name="title-table">
609
- <xsl:call-template name="getTitle">
610
- <xsl:with-param name="name" select="'title-table'"/>
611
- </xsl:call-template>
612
- </xsl:variable>
613
- <xsl:value-of select="$title-table"/>
614
- <xsl:choose>
615
- <xsl:when test="ancestor::*[local-name()='executivesummary']"> <!-- NIST -->
616
- <xsl:text>ES-</xsl:text><xsl:number format="1" count="*[local-name()='executivesummary']//*[local-name()='table']"/>
617
- </xsl:when>
618
- <xsl:when test="ancestor::*[local-name()='annex']">
619
- <xsl:number format="A-" count="gb:annex"/>
620
- <xsl:number format="1" level="any" count="gb:table[ancestor::gb:annex[@id = $annex-id]]"/>
621
- </xsl:when>
622
- <xsl:otherwise>
623
- <!-- <xsl:number format="1"/> -->
624
- <xsl:number format="1" level="any" count="*[local-name()='sections']//*[local-name()='table']"/>
625
- </xsl:otherwise>
626
- </xsl:choose>
627
- </xsl:attribute>
628
- <xsl:value-of select="gb:name/text()"/>
629
- </item>
630
- </xsl:template>
631
-
632
- <xsl:template match="gb:formula" mode="contents">
633
- <item level="" id="{@id}" display="false">
634
- <xsl:attribute name="section">
635
- <xsl:variable name="title-formula">
636
- <xsl:call-template name="getTitle">
637
- <xsl:with-param name="name" select="'title-formula'"/>
638
- </xsl:call-template>
639
- </xsl:variable>
640
- <xsl:value-of select="$title-formula"/><xsl:number format="(A.1)" level="multiple" count="gb:annex | gb:formula"/>
641
- </xsl:attribute>
642
- </item>
643
- </xsl:template>
644
-
645
- <xsl:template match="gb:li" mode="contents">
646
- <xsl:param name="sectionNum"/>
647
- <item level="" id="{@id}" display="false" type="li">
648
- <xsl:attribute name="section">
649
- <xsl:call-template name="getListItemFormat"/>
650
- </xsl:attribute>
651
- <xsl:attribute name="parent_section">
652
- <xsl:for-each select="ancestor::*[not(local-name() = 'p' or local-name() = 'ol')][1]">
653
- <xsl:call-template name="getSection">
654
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
655
- </xsl:call-template>
656
- </xsl:for-each>
657
- </xsl:attribute>
658
- </item>
659
- <xsl:apply-templates mode="contents">
660
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
661
- </xsl:apply-templates>
662
- </xsl:template>
663
-
664
514
  <xsl:template name="getListItemFormat">
665
515
  <xsl:choose>
666
516
  <xsl:when test="local-name(..) = 'ul'">—</xsl:when> <!-- dash -->
@@ -683,6 +533,9 @@
683
533
  <!-- ============================= -->
684
534
  <!-- ============================= -->
685
535
 
536
+ <xsl:template match="*[local-name() = 'tab']" priority="2">
537
+ <fo:inline><xsl:value-of select="$tab_zh"/></fo:inline>
538
+ </xsl:template>
686
539
 
687
540
  <xsl:template match="gb:license-statement//gb:title">
688
541
  <fo:block text-align="center" font-weight="bold">
@@ -729,87 +582,50 @@
729
582
  </fo:block>
730
583
  </xsl:template>
731
584
 
732
- <!-- Foreword, Introduction -->
733
- <xsl:template match="gb:gb-standard/gb:preface/*">
734
- <fo:block break-after="page"/>
735
- <xsl:apply-templates/>
736
- </xsl:template>
737
585
 
586
+ <!-- ====== -->
587
+ <!-- title -->
588
+ <!-- ====== -->
738
589
 
739
- <!-- clause, terms, clause, ...-->
740
- <xsl:template match="gb:gb-standard/gb:sections/*">
741
- <xsl:param name="sectionNum"/>
742
- <xsl:param name="sectionNumSkew" select="0"/>
743
- <fo:block>
744
- <xsl:variable name="pos"><xsl:number count="gb:sections/gb:clause | gb:sections/gb:terms"/></xsl:variable>
745
- <xsl:if test="$pos &gt;= 2">
746
- <xsl:attribute name="space-before">18pt</xsl:attribute>
747
- </xsl:if>
748
- <!-- pos=<xsl:value-of select="$pos" /> -->
749
- <xsl:variable name="sectionNum_">
750
- <xsl:choose>
751
- <xsl:when test="$sectionNum"><xsl:value-of select="$sectionNum"/></xsl:when>
752
- <xsl:when test="$sectionNumSkew != 0">
753
- <xsl:variable name="number"><xsl:number count="gb:sections/gb:clause | gb:sections/gb:terms"/></xsl:variable>
754
- <xsl:value-of select="$number + $sectionNumSkew"/>
755
- </xsl:when>
756
- </xsl:choose>
757
- </xsl:variable>
758
- <xsl:if test="not(gb:title)">
759
- <fo:block margin-top="3pt" margin-bottom="12pt">
760
- <xsl:value-of select="$sectionNum_"/><xsl:number format=".1 " level="multiple" count="gb:clause"/>
761
- </fo:block>
762
- </xsl:if>
763
- <xsl:apply-templates>
764
- <xsl:with-param name="sectionNum" select="$sectionNum_"/>
765
- </xsl:apply-templates>
590
+ <xsl:template match="gb:annex/gb:title">
591
+ <xsl:variable name="level">
592
+ <xsl:call-template name="getLevel"/>
593
+ </xsl:variable>
594
+ <xsl:variable name="font-family">
595
+ <xsl:choose>
596
+ <xsl:when test="$level &gt;= 3">SimSun</xsl:when>
597
+ <xsl:otherwise>SimHei</xsl:otherwise>
598
+ </xsl:choose>
599
+ </xsl:variable>
600
+ <fo:block font-family="{$font-family}" font-size="10.5pt" text-align="center" margin-bottom="24pt" keep-with-next="always">
601
+ <xsl:apply-templates/>
766
602
  </fo:block>
767
603
  </xsl:template>
768
604
 
769
-
770
- <xsl:template match="gb:clause//gb:clause[not(gb:title)]">
771
- <xsl:param name="sectionNum"/>
772
- <xsl:variable name="section">
773
- <xsl:call-template name="getSection">
774
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
775
- </xsl:call-template>
776
- </xsl:variable>
777
- <fo:block margin-top="6pt" margin-bottom="6pt" keep-with-next="always">
778
- <fo:inline font-family="SimHei">
779
- <xsl:value-of select="$section"/><xsl:text>.</xsl:text>
780
- </fo:inline>
605
+ <!-- Bibliography -->
606
+ <xsl:template match="gb:references[position() &gt; 1]/gb:title">
607
+ <fo:block font-family="SimHei" text-align="center" margin-top="6pt" margin-bottom="16pt" keep-with-next="always">
608
+ <xsl:apply-templates/>
781
609
  </fo:block>
782
- <xsl:apply-templates>
783
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
784
- </xsl:apply-templates>
785
610
  </xsl:template>
786
611
 
787
-
788
612
  <xsl:template match="gb:title">
789
- <xsl:param name="sectionNum"/>
790
-
791
- <xsl:variable name="parent-name" select="local-name(..)"/>
792
- <xsl:variable name="references_num_current">
793
- <xsl:number level="any" count="gb:references"/>
794
- </xsl:variable>
795
-
796
- <xsl:variable name="id">
797
- <xsl:call-template name="getId"/>
798
- </xsl:variable>
799
613
 
800
614
  <xsl:variable name="level">
801
615
  <xsl:call-template name="getLevel"/>
802
616
  </xsl:variable>
803
617
 
804
- <xsl:variable name="section">
805
- <xsl:call-template name="getSection">
806
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
807
- </xsl:call-template>
618
+ <xsl:variable name="element-name">
619
+ <xsl:choose>
620
+ <xsl:when test="../@inline-header = 'true'">fo:inline</xsl:when>
621
+ <xsl:otherwise>fo:block</xsl:otherwise>
622
+ </xsl:choose>
808
623
  </xsl:variable>
809
624
 
810
625
  <xsl:variable name="font-family">
811
626
  <xsl:choose>
812
627
  <xsl:when test="ancestor::gb:annex and $level &gt;= 3">SimSun</xsl:when>
628
+ <xsl:when test="$element-name = 'fo:inline'">SimSun</xsl:when>
813
629
  <xsl:otherwise>SimHei</xsl:otherwise>
814
630
  </xsl:choose>
815
631
  </xsl:variable>
@@ -821,98 +637,65 @@
821
637
  </xsl:choose>
822
638
  </xsl:variable>
823
639
 
824
- <xsl:variable name="element-name">
825
- <xsl:choose>
826
- <xsl:when test="../@inline-header = 'true'">fo:inline</xsl:when>
827
- <xsl:otherwise>fo:block</xsl:otherwise>
828
- </xsl:choose>
829
- </xsl:variable>
830
640
 
831
- <xsl:choose>
832
- <xsl:when test="$parent-name = 'annex'">
833
- <fo:block id="{$id}" font-family="{$font-family}" font-size="{$font-size}" text-align="center" margin-bottom="12pt" keep-with-next="always">
834
- <xsl:value-of select="$section"/>
835
- <xsl:if test=" ../@obligation">
836
- <xsl:value-of select="$linebreak"/>
837
- <fo:inline font-weight="normal">
838
- <xsl:text>(</xsl:text>
839
- <xsl:variable name="obligation" select="../@obligation"/>
840
- <xsl:variable name="title-obligation-normative">
841
- <xsl:call-template name="getTitle">
842
- <xsl:with-param name="name" select="'title-obligation-normative'"/>
843
- </xsl:call-template>
844
- </xsl:variable>
845
- <xsl:choose>
846
- <xsl:when test="$obligation = 'normative'"><xsl:value-of select="$title-obligation-normative"/></xsl:when>
847
- <xsl:otherwise><xsl:value-of select="$obligation"/></xsl:otherwise>
848
- </xsl:choose>
849
- <xsl:text>)</xsl:text>
850
- </fo:inline>
851
- </xsl:if>
852
- <fo:block margin-top="14pt" margin-bottom="24pt"><xsl:apply-templates/></fo:block>
853
- </fo:block>
854
- </xsl:when>
855
- <xsl:when test="$parent-name = 'references' and $references_num_current != 1"> <!-- Bibliography -->
856
- <fo:block id="{$id}" font-family="{$font-family}" text-align="center" margin-top="6pt" margin-bottom="16pt" keep-with-next="always">
857
- <xsl:apply-templates/>
858
- </fo:block>
859
- </xsl:when>
641
+
642
+ <xsl:element name="{$element-name}">
643
+ <xsl:attribute name="font-size"><xsl:value-of select="$font-size"/></xsl:attribute>
644
+ <xsl:attribute name="font-family"><xsl:value-of select="$font-family"/></xsl:attribute>
645
+ <xsl:attribute name="margin-top">
646
+ <xsl:choose>
647
+ <xsl:when test="ancestor::gb:preface">8pt</xsl:when>
648
+ <xsl:when test="$level = 2 and ancestor::gb:annex">10pt</xsl:when>
649
+ <xsl:when test="$level = 1">16pt</xsl:when>
650
+ <xsl:when test="$level = ''">6pt</xsl:when>
651
+ <xsl:when test="$level &gt;= 5">6pt</xsl:when>
652
+ <xsl:otherwise>12pt</xsl:otherwise>
653
+ </xsl:choose>
654
+ </xsl:attribute>
655
+ <xsl:attribute name="margin-bottom">
656
+ <xsl:choose>
657
+ <xsl:when test="ancestor::gb:preface">24pt</xsl:when>
658
+ <xsl:when test="$level = 1">16pt</xsl:when>
659
+ <xsl:when test="$level &gt;= 5">6pt</xsl:when>
660
+ <xsl:otherwise>8pt</xsl:otherwise>
661
+ </xsl:choose>
662
+ </xsl:attribute>
860
663
 
861
- <xsl:otherwise>
862
- <xsl:element name="{$element-name}">
863
- <xsl:attribute name="id"><xsl:value-of select="$id"/></xsl:attribute>
864
- <xsl:attribute name="font-size"><xsl:value-of select="$font-size"/></xsl:attribute>
865
- <xsl:attribute name="font-family"><xsl:value-of select="$font-family"/></xsl:attribute>
866
- <xsl:attribute name="margin-top">
867
- <xsl:choose>
868
- <xsl:when test="ancestor::gb:preface">8pt</xsl:when>
869
- <xsl:when test="$level = 2 and ancestor::gb:annex">10pt</xsl:when>
870
- <xsl:when test="$level = 1">16pt</xsl:when>
871
- <xsl:when test="$level = ''">6pt</xsl:when>
872
- <xsl:otherwise>12pt</xsl:otherwise>
873
- </xsl:choose>
874
- </xsl:attribute>
875
- <xsl:attribute name="margin-bottom">
876
- <xsl:choose>
877
- <xsl:when test="ancestor::gb:preface">24pt</xsl:when>
878
- <xsl:when test="$level = 1">16pt</xsl:when>
879
- <xsl:otherwise>8pt</xsl:otherwise>
880
- </xsl:choose>
881
- </xsl:attribute>
882
- <xsl:attribute name="keep-with-next">always</xsl:attribute>
883
- <xsl:if test="ancestor::gb:preface">
884
- <xsl:attribute name="text-align">center</xsl:attribute>
885
- <xsl:attribute name="font-family">SimHei</xsl:attribute>
886
- </xsl:if>
887
- <xsl:if test="$element-name = 'fo:inline'">
888
- <xsl:attribute name="padding-left">7.4mm</xsl:attribute>
889
- </xsl:if>
890
-
891
- <xsl:value-of select="$section"/>
892
- <xsl:if test="$section != ''">. </xsl:if>
664
+
665
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
666
+ <xsl:if test="ancestor::gb:preface">
667
+ <xsl:attribute name="text-align">center</xsl:attribute>
668
+ <xsl:attribute name="font-family">SimHei</xsl:attribute>
669
+ </xsl:if>
670
+ <xsl:if test="$element-name = 'fo:inline'">
671
+ <xsl:attribute name="padding-left">7.4mm</xsl:attribute>
672
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
673
+ </xsl:if>
674
+
675
+ <xsl:apply-templates/>
676
+
677
+ <xsl:if test="$element-name = 'fo:inline'">
678
+ <xsl:value-of select="$tab_zh"/>
679
+ </xsl:if>
680
+
681
+ </xsl:element>
682
+
683
+ <xsl:if test="$element-name = 'fo:inline' and not(following-sibling::gb:p)">
684
+ <!-- <fo:block> -->
685
+ <xsl:value-of select="$linebreak"/>
686
+ <!-- </fo:block> -->
687
+ </xsl:if>
893
688
 
894
- <xsl:apply-templates/>
895
- </xsl:element>
896
-
897
- <xsl:if test="$element-name = 'fo:inline' and not(following-sibling::gb:p)">
898
- <!-- <fo:block> -->
899
- <xsl:value-of select="$linebreak"/>
900
- <!-- </fo:block> -->
901
- </xsl:if>
902
- </xsl:otherwise>
903
- </xsl:choose>
904
- </xsl:template>
689
+ </xsl:template>
690
+ <!-- ====== -->
691
+ <!-- ====== -->
905
692
 
906
-
907
693
 
908
- <xsl:template match="gb:p">
909
- <xsl:param name="inline" select="'false'"/>
694
+ <xsl:template match="gb:p">
910
695
  <xsl:variable name="previous-element" select="local-name(preceding-sibling::*[1])"/>
911
696
  <xsl:variable name="element-name">
912
- <xsl:choose>
913
- <xsl:when test="$inline = 'true'">fo:inline</xsl:when>
914
- <xsl:when test="../@inline-header = 'true' and $previous-element = 'title'">fo:inline</xsl:when> <!-- first paragraph after inline title -->
915
- <!-- <xsl:when test="local-name(..) = 'admonition'">fo:inline</xsl:when> -->
697
+ <xsl:choose>
698
+ <xsl:when test="../@inline-header = 'true' and $previous-element = 'title'">fo:inline</xsl:when> <!-- first paragraph after inline title -->
916
699
  <xsl:otherwise>fo:block</xsl:otherwise>
917
700
  </xsl:choose>
918
701
  </xsl:variable>
@@ -922,7 +705,7 @@
922
705
  <xsl:when test="@align"><xsl:value-of select="@align"/></xsl:when>
923
706
  <xsl:when test="ancestor::gb:td/@align"><xsl:value-of select="ancestor::gb:td/@align"/></xsl:when>
924
707
  <xsl:when test="ancestor::gb:th/@align"><xsl:value-of select="ancestor::gb:th/@align"/></xsl:when>
925
- <xsl:otherwise>justify</xsl:otherwise><!-- left -->
708
+ <xsl:otherwise>justify</xsl:otherwise>
926
709
  </xsl:choose>
927
710
  </xsl:attribute>
928
711
  <xsl:attribute name="text-indent">
@@ -937,8 +720,9 @@
937
720
  </xsl:if>
938
721
  <xsl:apply-templates/>
939
722
  </xsl:element>
940
- <xsl:if test="$element-name = 'fo:inline' and not($inline = 'true') and not(local-name(..) = 'admonition')">
941
- <xsl:choose>
723
+ <xsl:if test="$element-name = 'fo:inline' and not(local-name(..) = 'admonition')">
724
+ <xsl:value-of select="$linebreak"/>
725
+ <!-- <xsl:choose>
942
726
  <xsl:when test="ancestor::gb:annex">
943
727
  <xsl:value-of select="$linebreak"/>
944
728
  </xsl:when>
@@ -947,11 +731,8 @@
947
731
  <xsl:value-of select="$linebreak"/>
948
732
  </fo:block>
949
733
  </xsl:otherwise>
950
- </xsl:choose>
951
- </xsl:if>
952
- <xsl:if test="$inline = 'true'">
953
- <fo:block> </fo:block>
954
- </xsl:if>
734
+ </xsl:choose> -->
735
+ </xsl:if>
955
736
  </xsl:template>
956
737
 
957
738
  <xsl:template match="gb:li//gb:p//text()">
@@ -1023,90 +804,6 @@
1023
804
  <xsl:apply-templates/>
1024
805
  </xsl:template>
1025
806
 
1026
- <xsl:template match="gb:review">
1027
- <!-- comment 2019-11-29 -->
1028
- <!-- <fo:block font-weight="bold">Review:</fo:block>
1029
- <xsl:apply-templates /> -->
1030
- </xsl:template>
1031
-
1032
- <xsl:template match="text()">
1033
- <xsl:value-of select="."/>
1034
- </xsl:template>
1035
-
1036
- <xsl:template match="gb:image">
1037
- <fo:block-container text-align="center">
1038
- <fo:block>
1039
- <fo:external-graphic src="{@src}" fox:alt-text="Image {@alt}"/>
1040
- </fo:block>
1041
- <fo:block font-family="SimHei" margin-top="12pt" margin-bottom="12pt">
1042
- <xsl:variable name="title-figure">
1043
- <xsl:call-template name="getTitle">
1044
- <xsl:with-param name="name" select="'title-figure'"/>
1045
- </xsl:call-template>
1046
- </xsl:variable>
1047
- <xsl:value-of select="$title-figure"/>
1048
- <xsl:call-template name="getFigureNumber"/>
1049
- </fo:block>
1050
- </fo:block-container>
1051
- </xsl:template>
1052
-
1053
- <xsl:template match="gb:figure">
1054
- <fo:block-container id="{@id}">
1055
- <fo:block>
1056
- <xsl:apply-templates/>
1057
- </fo:block>
1058
- <xsl:call-template name="fn_display_figure"/>
1059
- <xsl:for-each select="gb:note//gb:p">
1060
- <xsl:call-template name="note"/>
1061
- </xsl:for-each>
1062
- <fo:block font-family="SimHei" text-align="center" margin-top="12pt" margin-bottom="12pt" keep-with-previous="always">
1063
- <xsl:call-template name="getFigureNumber"/>
1064
- <xsl:if test="gb:name">
1065
- <!-- <xsl:if test="not(local-name(..) = 'figure')"> -->
1066
- <xsl:text> — </xsl:text>
1067
- <!-- </xsl:if> -->
1068
- <xsl:value-of select="gb:name"/>
1069
- </xsl:if>
1070
- </fo:block>
1071
- </fo:block-container>
1072
- </xsl:template>
1073
-
1074
- <xsl:template name="getFigureNumber">
1075
- <xsl:variable name="title-figure">
1076
- <xsl:call-template name="getTitle">
1077
- <xsl:with-param name="name" select="'title-figure'"/>
1078
- </xsl:call-template>
1079
- </xsl:variable>
1080
- <xsl:choose>
1081
- <xsl:when test="ancestor::gb:annex">
1082
- <xsl:value-of select="$title-figure"/><xsl:number format="A.1-1" level="multiple" count="gb:annex | gb:figure"/>
1083
- </xsl:when>
1084
- <xsl:otherwise>
1085
- <xsl:value-of select="$title-figure"/><xsl:number format="1" level="any"/>
1086
- </xsl:otherwise>
1087
- </xsl:choose>
1088
- </xsl:template>
1089
-
1090
- <xsl:template match="gb:figure/gb:name"/>
1091
- <xsl:template match="gb:figure/gb:fn" priority="2"/>
1092
- <xsl:template match="gb:figure/gb:note"/>
1093
-
1094
-
1095
- <xsl:template match="gb:figure/gb:image">
1096
- <fo:block text-align="center">
1097
- <xsl:variable name="src">
1098
- <xsl:choose>
1099
- <xsl:when test="@mimetype = 'image/svg+xml' and $images/images/image[@id = current()/@id]">
1100
- <xsl:value-of select="$images/images/image[@id = current()/@id]/@src"/>
1101
- </xsl:when>
1102
- <xsl:otherwise>
1103
- <xsl:value-of select="@src"/>
1104
- </xsl:otherwise>
1105
- </xsl:choose>
1106
- </xsl:variable>
1107
- <fo:external-graphic src="{$src}" width="100%" content-height="100%" content-width="scale-to-fit" scaling="uniform" fox:alt-text="Image {@alt}"/> <!-- src="{@src}" -->
1108
- </fo:block>
1109
- </xsl:template>
1110
807
 
1111
808
 
1112
809
  <xsl:template match="gb:bibitem">
@@ -1134,7 +831,7 @@
1134
831
  </xsl:template>
1135
832
 
1136
833
 
1137
- <xsl:template match="gb:bibitem/gb:note">
834
+ <xsl:template match="gb:bibitem/gb:note" priority="2">
1138
835
  <fo:footnote>
1139
836
  <xsl:variable name="number">
1140
837
  <xsl:number level="any" count="gb:bibitem/gb:note"/>
@@ -1164,12 +861,12 @@
1164
861
  </xsl:if>
1165
862
  <xsl:apply-templates/>
1166
863
  </fo:list-block>
1167
- <xsl:for-each select="./gb:note//gb:p">
864
+ <xsl:for-each select="./gb:note">
1168
865
  <xsl:call-template name="note"/>
1169
866
  </xsl:for-each>
1170
867
  </xsl:template>
1171
868
 
1172
- <xsl:template match="gb:ul//gb:note | gb:ol//gb:note"/>
869
+ <xsl:template match="gb:ul//gb:note | gb:ol//gb:note" priority="2"/>
1173
870
 
1174
871
  <xsl:template match="gb:li">
1175
872
  <fo:list-item id="{@id}">
@@ -1179,42 +876,23 @@
1179
876
  </fo:block>
1180
877
  </fo:list-item-label>
1181
878
  <fo:list-item-body start-indent="body-start()">
1182
- <xsl:apply-templates/>
1183
- <xsl:apply-templates select=".//gb:note" mode="process"/>
879
+ <fo:block>
880
+ <xsl:apply-templates/>
881
+ <xsl:apply-templates select=".//gb:note" mode="process"/>
882
+ </fo:block>
1184
883
  </fo:list-item-body>
1185
884
  </fo:list-item>
1186
885
  </xsl:template>
1187
886
 
1188
887
 
1189
- <xsl:template match="gb:term">
1190
- <xsl:param name="sectionNum"/>
1191
- <fo:block id="{@id}" font-family="SimHei" font-size="11pt" keep-with-next="always" margin-top="10pt" margin-bottom="8pt" line-height="1.1">
1192
- <fo:inline>
1193
- <xsl:variable name="section">
1194
- <xsl:for-each select="*[1]">
1195
- <xsl:call-template name="getSection">
1196
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
1197
- </xsl:call-template>
1198
- </xsl:for-each>
1199
- </xsl:variable>
1200
- <xsl:value-of select="$section"/><xsl:text>.</xsl:text>
1201
- </fo:inline>
1202
- </fo:block>
1203
- <fo:block>
1204
- <xsl:apply-templates>
1205
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
1206
- </xsl:apply-templates>
1207
- </fo:block>
1208
- </xsl:template>
1209
888
 
1210
- <xsl:template match="gb:preferred">
1211
- <xsl:param name="sectionNum"/>
1212
-
889
+ <xsl:template match="gb:preferred" priority="2">
890
+
1213
891
  <fo:inline font-family="SimHei" font-size="11pt">
1214
892
  <xsl:if test="not(preceding-sibling::*[1][local-name() = 'preferred'])">
1215
893
  <xsl:attribute name="padding-left">7.4mm</xsl:attribute>
1216
894
  </xsl:if>
1217
- <xsl:apply-templates/><xsl:text> </xsl:text>
895
+ <xsl:apply-templates/><xsl:value-of select="$tab_zh"/>
1218
896
  </fo:inline>
1219
897
 
1220
898
  <xsl:if test="not(following-sibling::*[1][local-name() = 'preferred'])">
@@ -1223,14 +901,13 @@
1223
901
 
1224
902
  </xsl:template>
1225
903
 
1226
- <xsl:template match="gb:admitted">
1227
- <xsl:param name="sectionNum"/>
904
+ <xsl:template match="gb:admitted" priority="2">
1228
905
 
1229
906
  <fo:inline font-size="11pt">
1230
907
  <xsl:if test="not(preceding-sibling::*[1][local-name() = 'admitted'])">
1231
908
  <xsl:attribute name="padding-left">7.4mm</xsl:attribute>
1232
909
  </xsl:if>
1233
- <xsl:apply-templates/><xsl:text> </xsl:text>
910
+ <xsl:apply-templates/><xsl:value-of select="$tab_zh"/>
1234
911
  </fo:inline>
1235
912
 
1236
913
  <xsl:if test="not(following-sibling::*[1][local-name() = 'admitted'])">
@@ -1239,8 +916,8 @@
1239
916
 
1240
917
  </xsl:template>
1241
918
 
1242
- <xsl:template match="gb:deprecates">
1243
- <xsl:param name="sectionNum"/>
919
+
920
+ <xsl:template match="gb:deprecates" priority="2">
1244
921
  <fo:inline font-size="11pt">
1245
922
  <xsl:if test="not(preceding-sibling::*[1][local-name() = 'deprecates'])">
1246
923
  <xsl:attribute name="padding-left">7.4mm</xsl:attribute>
@@ -1255,48 +932,12 @@
1255
932
  </fo:inline>
1256
933
  <xsl:if test="not(following-sibling::*[1][local-name() = 'deprecates'])">
1257
934
  <xsl:value-of select="$linebreak"/>
1258
- </xsl:if>
1259
-
1260
- </xsl:template>
1261
-
1262
- <xsl:template match="gb:definition[preceding-sibling::gb:domain]">
1263
- <xsl:apply-templates/>
1264
- </xsl:template>
1265
- <xsl:template match="gb:definition[preceding-sibling::gb:domain]/gb:p">
1266
- <fo:inline> <xsl:apply-templates/></fo:inline>
1267
- <fo:block> </fo:block>
1268
- </xsl:template>
1269
-
1270
- <xsl:template match="gb:definition">
1271
- <fo:block>
1272
- <xsl:apply-templates/>
1273
- </fo:block>
1274
- </xsl:template>
1275
-
1276
- <xsl:template match="gb:termsource">
1277
- <fo:block text-indent="7.4mm">
1278
- <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
1279
- <fo:basic-link internal-destination="{gb:origin/@bibitemid}" fox:alt-text="{gb:origin/@citeas}">
1280
- <xsl:text>[</xsl:text> <!-- SOURCE: -->
1281
- <xsl:value-of select="gb:origin/@citeas"/>
1282
-
1283
- <xsl:apply-templates select="gb:origin/gb:localityStack"/>
1284
-
1285
- </fo:basic-link>
1286
- <xsl:apply-templates select="gb:modification"/>
1287
- <xsl:text>]</xsl:text>
1288
- </fo:block>
935
+ </xsl:if>
1289
936
  </xsl:template>
1290
937
 
1291
938
 
1292
- <xsl:template match="gb:modification/gb:p">
1293
- <xsl:apply-templates/>
1294
- </xsl:template>
1295
- <xsl:template match="gb:modification/text()">
1296
- <xsl:apply-templates/>
1297
- </xsl:template>
1298
939
 
1299
- <xsl:template match="gb:termnote">
940
+ <xsl:template match="gb:termnote" priority="2">
1300
941
  <fo:block-container font-size="9pt" margin-left="7.4mm" margin-top="4pt" line-height="125%">
1301
942
  <fo:block-container margin-left="0mm">
1302
943
  <fo:table table-layout="fixed" width="100%">
@@ -1306,13 +947,7 @@
1306
947
  <fo:table-row>
1307
948
  <fo:table-cell>
1308
949
  <fo:block font-family="SimHei">
1309
- <xsl:variable name="num"><xsl:number/></xsl:variable>
1310
- <xsl:variable name="title-note-to-entry">
1311
- <xsl:call-template name="getTitle">
1312
- <xsl:with-param name="name" select="'title-note-to-entry'"/>
1313
- </xsl:call-template>
1314
- </xsl:variable>
1315
- <xsl:value-of select="java:replaceAll(java:java.lang.String.new($title-note-to-entry),'#',$num)"/>
950
+ <xsl:apply-templates select="gb:name" mode="presentation"/>
1316
951
  </fo:block>
1317
952
  </fo:table-cell>
1318
953
  <fo:table-cell>
@@ -1327,48 +962,14 @@
1327
962
  </fo:block-container>
1328
963
  </xsl:template>
1329
964
 
1330
- <xsl:template match="gb:termnote/gb:p">
1331
- <fo:inline><xsl:apply-templates/></fo:inline>
1332
- </xsl:template>
1333
-
1334
- <xsl:template match="gb:domain">
1335
- <fo:inline padding-left="7.4mm">&lt;<xsl:apply-templates/>&gt; </fo:inline>
1336
- </xsl:template>
1337
-
1338
-
1339
- <xsl:template match="gb:termexample">
1340
- <fo:block font-size="9pt" margin-top="14pt" margin-bottom="14pt" text-align="justify">
1341
- <fo:inline padding-right="1mm" font-family="SimHei">
1342
- <xsl:variable name="title-example">
1343
- <xsl:call-template name="getTitle">
1344
- <xsl:with-param name="name" select="'title-example'"/>
1345
- </xsl:call-template>
1346
- </xsl:variable>
1347
- <xsl:value-of select="$title-example"/>
1348
- <xsl:if test="count(ancestor::gb:term[1]//gb:termexample) &gt; 1">
1349
- <xsl:number/>
1350
- </xsl:if>
1351
- <xsl:text>:</xsl:text>
1352
- </fo:inline>
1353
- <xsl:apply-templates/>
1354
- </fo:block>
1355
- </xsl:template>
1356
-
1357
- <xsl:template match="gb:termexample/gb:p">
1358
- <fo:inline><xsl:apply-templates/></fo:inline>
1359
- </xsl:template>
1360
965
 
1361
-
1362
- <xsl:template match="gb:annex">
1363
- <fo:block break-after="page"/>
1364
- <xsl:apply-templates/>
1365
- </xsl:template>
1366
966
 
1367
-
1368
967
  <!-- <xsl:template match="gb:references[@id = '_bibliography']"> -->
1369
968
  <xsl:template match="gb:references[position() &gt; 1]">
1370
969
  <fo:block break-after="page"/>
1371
- <xsl:apply-templates/>
970
+ <fo:block id="{@id}">
971
+ <xsl:apply-templates/>
972
+ </fo:block>
1372
973
  <fo:block-container text-align="center">
1373
974
  <fo:block-container margin-left="63mm" width="42mm" border-bottom="2pt solid black">
1374
975
  <fo:block> </fo:block>
@@ -1427,27 +1028,6 @@
1427
1028
  </fo:inline>
1428
1029
  </xsl:template>
1429
1030
 
1430
- <xsl:template match="gb:quote">
1431
- <fo:block margin-top="12pt" margin-left="12mm" margin-right="12mm">
1432
- <xsl:apply-templates select=".//gb:p"/>
1433
- </fo:block>
1434
- <fo:block text-align="right">
1435
- <!-- — ISO, ISO 7301:2011, Clause 1 -->
1436
- <xsl:text>— </xsl:text><xsl:value-of select="gb:author"/>
1437
- <xsl:if test="gb:source">
1438
- <xsl:text>, </xsl:text>
1439
- <xsl:apply-templates select="gb:source"/>
1440
- </xsl:if>
1441
- </fo:block>
1442
- </xsl:template>
1443
-
1444
- <xsl:template match="gb:source">
1445
- <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
1446
- <xsl:value-of select="@citeas"/> <!-- disable-output-escaping="yes" -->
1447
- <xsl:apply-templates select="gb:localityStack"/>
1448
- </fo:basic-link>
1449
- </xsl:template>
1450
-
1451
1031
 
1452
1032
  <xsl:template match="mathml:math" priority="2">
1453
1033
  <fo:inline font-family="Cambria Math">
@@ -1457,169 +1037,8 @@
1457
1037
  </fo:inline>
1458
1038
  </xsl:template>
1459
1039
 
1460
- <xsl:template match="gb:xref">
1461
- <xsl:param name="sectionNum"/>
1462
-
1463
- <xsl:variable name="target" select="normalize-space(@target)"/>
1464
- <fo:basic-link internal-destination="{$target}" fox:alt-text="{$target}">
1465
- <xsl:variable name="section" select="xalan:nodeset($contents)//item[@id = $target]/@section"/>
1466
- <!-- <xsl:if test="not(starts-with($section, 'Figure') or starts-with($section, 'Table'))"> -->
1467
- <!-- <xsl:attribute name="color">blue</xsl:attribute>
1468
- <xsl:attribute name="text-decoration">underline</xsl:attribute> -->
1469
- <!-- </xsl:if> -->
1470
- <xsl:variable name="type" select="xalan:nodeset($contents)//item[@id = $target]/@type"/>
1471
- <xsl:variable name="root" select="xalan:nodeset($contents)//item[@id =$target]/@root"/>
1472
- <xsl:variable name="level" select="xalan:nodeset($contents)//item[@id =$target]/@level"/>
1473
-
1474
- <xsl:variable name="title-clause">
1475
- <xsl:call-template name="getTitle">
1476
- <xsl:with-param name="name" select="'title-clause'"/>
1477
- </xsl:call-template>
1478
- </xsl:variable>
1479
- <xsl:variable name="title-annex">
1480
- <xsl:call-template name="getTitle">
1481
- <xsl:with-param name="name" select="'title-annex'"/>
1482
- </xsl:call-template>
1483
- </xsl:variable>
1484
-
1485
- <xsl:choose>
1486
- <xsl:when test="$type = 'clause' and $root != 'annex' and $level = 1"><xsl:value-of select="$title-clause"/></xsl:when><!-- and not (ancestor::annex) -->
1487
- <xsl:when test="$type = 'clause' and $root = 'annex'"><xsl:value-of select="$title-annex"/></xsl:when>
1488
- <xsl:when test="$type = 'li'">
1489
- <xsl:attribute name="color">black</xsl:attribute>
1490
- <xsl:attribute name="text-decoration">none</xsl:attribute>
1491
- <xsl:variable name="parent_section" select="xalan:nodeset($contents)//item[@id =$target]/@parent_section"/>
1492
- <xsl:variable name="currentSection">
1493
- <xsl:call-template name="getSection"/>
1494
- </xsl:variable>
1495
- <xsl:if test="not(contains($parent_section, $currentSection))">
1496
- <fo:basic-link internal-destination="{$target}" fox:alt-text="{$target}">
1497
- <xsl:attribute name="color">blue</xsl:attribute>
1498
- <xsl:attribute name="text-decoration">underline</xsl:attribute>
1499
- <xsl:value-of select="$parent_section"/><xsl:text> </xsl:text>
1500
- </fo:basic-link>
1501
- </xsl:if>
1502
- </xsl:when>
1503
- <xsl:when test="normalize-space($section) = ''">
1504
- <xsl:text>[</xsl:text><xsl:value-of select="$target"/><xsl:text>]</xsl:text>
1505
- </xsl:when>
1506
- <xsl:otherwise/> <!-- <xsl:value-of select="$type"/> -->
1507
- </xsl:choose>
1508
- <xsl:value-of select="$section"/>
1509
- </fo:basic-link>
1510
- </xsl:template>
1511
-
1512
- <xsl:template match="gb:example/gb:p">
1513
- <fo:block font-size="10pt" margin-top="8pt" margin-bottom="8pt">
1514
- <!-- <xsl:if test="ancestor::gb:li">
1515
- <xsl:attribute name="font-size">11pt</xsl:attribute>
1516
- </xsl:if> -->
1517
- <xsl:variable name="claims_id" select="ancestor::gb:clause[1]/@id"/>
1518
- <fo:inline padding-right="5mm">
1519
- <xsl:variable name="title-example">
1520
- <xsl:call-template name="getTitle">
1521
- <xsl:with-param name="name" select="'title-example'"/>
1522
- </xsl:call-template>
1523
- </xsl:variable>
1524
- <xsl:value-of select="$title-example"/>
1525
- <xsl:if test="count(ancestor::gb:clause[1]//gb:example) &gt; 1">
1526
- <xsl:number count="gb:example[ancestor::gb:clause[@id = $claims_id]]" level="any"/>
1527
- </xsl:if>
1528
- </fo:inline>
1529
- <xsl:apply-templates/>
1530
- </fo:block>
1531
- </xsl:template>
1532
-
1533
- <xsl:template match="gb:note/gb:p" name="note">
1534
- <xsl:variable name="claims_id" select="ancestor::gb:clause[1]/@id"/>
1535
- <fo:block-container font-size="9pt" margin-left="7.4mm" margin-top="4pt" line-height="125%">
1536
- <fo:block-container margin-left="0mm">
1537
- <fo:table table-layout="fixed" width="100%">
1538
- <fo:table-column column-width="10mm"/>
1539
- <fo:table-column column-width="155mm"/>
1540
- <fo:table-body>
1541
- <fo:table-row>
1542
- <fo:table-cell>
1543
- <fo:block font-family="SimHei">
1544
- <xsl:variable name="title-note">
1545
- <xsl:call-template name="getTitle">
1546
- <xsl:with-param name="name" select="'title-note'"/>
1547
- </xsl:call-template>
1548
- </xsl:variable>
1549
- <xsl:value-of select="normalize-space($title-note)"/>
1550
- <xsl:if test="count(ancestor::gb:clause[1]//gb:note) &gt; 1">
1551
- <xsl:text> </xsl:text><xsl:number count="gb:note[ancestor::gb:clause[@id = $claims_id]]" level="any"/>
1552
- </xsl:if>
1553
- <xsl:text>:</xsl:text>
1554
- </fo:block>
1555
- </fo:table-cell>
1556
- <fo:table-cell>
1557
- <fo:block text-align="justify">
1558
- <xsl:apply-templates/>
1559
- </fo:block>
1560
- </fo:table-cell>
1561
- </fo:table-row>
1562
- </fo:table-body>
1563
- </fo:table>
1564
- </fo:block-container>
1565
- </fo:block-container>
1566
- </xsl:template>
1567
1040
 
1568
- <!-- <eref type="inline" bibitemid="IEC60050-113" citeas="IEC 60050-113:2011"><localityStack><locality type="clause"><referenceFrom>113-01-12</referenceFrom></locality></localityStack></eref> -->
1569
- <xsl:template match="gb:eref">
1570
- <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}"> <!-- font-size="9pt" color="blue" vertical-align="super" -->
1571
- <xsl:if test="@type = 'footnote'">
1572
- <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
1573
- <xsl:attribute name="font-size">50%</xsl:attribute>
1574
- <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1575
- <xsl:attribute name="vertical-align">super</xsl:attribute>
1576
- </xsl:if>
1577
- <!-- <xsl:if test="@type = 'inline'">
1578
- <xsl:attribute name="color">blue</xsl:attribute>
1579
- <xsl:attribute name="text-decoration">underline</xsl:attribute>
1580
- </xsl:if> -->
1581
-
1582
- <xsl:choose>
1583
- <xsl:when test="@citeas and normalize-space(text()) = ''">
1584
- <xsl:value-of select="@citeas"/> <!-- disable-output-escaping="yes" -->
1585
- </xsl:when>
1586
- <xsl:when test="@bibitemid and normalize-space(text()) = ''">
1587
- <xsl:value-of select="//gb:bibitem[@id = current()/@bibitemid]/gb:docidentifier"/>
1588
- </xsl:when>
1589
- <xsl:otherwise/>
1590
- </xsl:choose>
1591
- <xsl:apply-templates select="gb:localityStack"/>
1592
- <xsl:apply-templates select="text()"/>
1593
- </fo:basic-link>
1594
- </xsl:template>
1595
-
1596
- <xsl:template match="gb:locality">
1597
- <xsl:variable name="title-clause">
1598
- <xsl:call-template name="getTitle">
1599
- <xsl:with-param name="name" select="'title-clause'"/>
1600
- </xsl:call-template>
1601
- </xsl:variable>
1602
- <xsl:variable name="title-annex">
1603
- <xsl:call-template name="getTitle">
1604
- <xsl:with-param name="name" select="'title-annex'"/>
1605
- </xsl:call-template>
1606
- </xsl:variable>
1607
- <xsl:variable name="title-table">
1608
- <xsl:call-template name="getTitle">
1609
- <xsl:with-param name="name" select="'title-table'"/>
1610
- </xsl:call-template>
1611
- </xsl:variable>
1612
- <xsl:choose>
1613
- <xsl:when test="@type ='section' and ancestor::gb:termsource">SOURCE Section </xsl:when>
1614
- <xsl:when test="ancestor::gb:termsource"/>
1615
- <xsl:when test="@type ='clause' and ancestor::gb:eref"/>
1616
- <xsl:when test="@type ='clause'"><xsl:value-of select="$title-clause"/></xsl:when>
1617
- <xsl:when test="@type ='annex'"><xsl:value-of select="$title-annex"/></xsl:when>
1618
- <xsl:when test="@type ='table'"><xsl:value-of select="$title-table"/></xsl:when>
1619
- <xsl:otherwise><xsl:value-of select="@type"/></xsl:otherwise>
1620
- </xsl:choose>
1621
- <xsl:text> </xsl:text><xsl:value-of select="gb:referenceFrom"/>
1622
- </xsl:template>
1041
+
1623
1042
 
1624
1043
  <xsl:template match="gb:admonition">
1625
1044
  <xsl:variable name="title-caution">
@@ -1644,18 +1063,7 @@
1644
1063
  </fo:block>
1645
1064
  </xsl:template>
1646
1065
 
1647
- <xsl:template match="gb:formula">
1648
- <fo:block id="{@id}">
1649
- <xsl:apply-templates/>
1650
- </fo:block>
1651
- </xsl:template>
1652
-
1653
- <xsl:template match="gb:formula/gb:dt/gb:stem">
1654
- <fo:inline>
1655
- <xsl:apply-templates/>
1656
- </fo:inline>
1657
- </xsl:template>
1658
-
1066
+
1659
1067
  <xsl:template match="gb:formula/gb:stem">
1660
1068
  <fo:block font-size="11pt" margin-top="14pt" margin-bottom="14pt">
1661
1069
  <fo:table table-layout="fixed" width="170mm">
@@ -1670,28 +1078,16 @@
1670
1078
  </fo:table-cell>
1671
1079
  <fo:table-cell display-align="center">
1672
1080
  <fo:block text-align="left">
1673
- <xsl:choose>
1674
- <xsl:when test="ancestor::gb:annex">
1675
- <xsl:number format="(A.1)" level="multiple" count="gb:annex | gb:formula"/>
1676
- </xsl:when>
1677
- <xsl:otherwise> <!-- not(ancestor::gb:annex) -->
1678
- <xsl:number format="(1)" level="any" count="gb:formula"/>
1679
- </xsl:otherwise>
1680
- </xsl:choose>
1081
+ <xsl:apply-templates select="../gb:name" mode="presentation"/>
1681
1082
  </fo:block>
1682
1083
  </fo:table-cell>
1683
1084
  </fo:table-row>
1684
1085
  </fo:table-body>
1685
- </fo:table>
1686
- <fo:inline keep-together.within-line="always">
1687
- </fo:inline>
1086
+ </fo:table>
1688
1087
  </fo:block>
1689
1088
  </xsl:template>
1690
1089
 
1691
- <xsl:template match="gb:br" priority="2">
1692
- <!-- <fo:block>&#xA0;</fo:block> -->
1693
- <xsl:value-of select="$linebreak"/>
1694
- </xsl:template>
1090
+
1695
1091
 
1696
1092
  <xsl:template name="insertHeaderFooter">
1697
1093
  <fo:static-content flow-name="header">
@@ -1724,88 +1120,6 @@
1724
1120
  </xsl:template>
1725
1121
 
1726
1122
 
1727
- <xsl:template name="getSection">
1728
- <xsl:param name="sectionNum"/>
1729
- <xsl:variable name="level">
1730
- <xsl:call-template name="getLevel"/>
1731
- </xsl:variable>
1732
- <xsl:variable name="section">
1733
- <xsl:choose>
1734
- <xsl:when test="ancestor::gb:bibliography">
1735
- <xsl:value-of select="$sectionNum"/>
1736
- </xsl:when>
1737
- <xsl:when test="ancestor::gb:sections">
1738
- <!-- 1, 2, 3, 4, ... from main section (not annex, bibliography, ...) -->
1739
- <xsl:choose>
1740
- <xsl:when test="$level = 1">
1741
- <xsl:value-of select="$sectionNum"/>
1742
- </xsl:when>
1743
- <xsl:when test="$level &gt;= 2">
1744
- <xsl:variable name="num">
1745
- <xsl:call-template name="getSubSection"/>
1746
- </xsl:variable>
1747
- <xsl:value-of select="concat($sectionNum, $num)"/>
1748
- </xsl:when>
1749
- <xsl:otherwise>
1750
- <!-- z<xsl:value-of select="$sectionNum"/>z -->
1751
- </xsl:otherwise>
1752
- </xsl:choose>
1753
- </xsl:when>
1754
- <xsl:when test="ancestor::gb:annex">
1755
- <xsl:variable name="annexid" select="normalize-space(/gb:gb-standard/gb:bibdata/gb:ext/gb:structuredidentifier/gb:annexid)"/>
1756
- <xsl:choose>
1757
- <xsl:when test="$level = 1">
1758
- <xsl:variable name="title-annex">
1759
- <xsl:call-template name="getTitle">
1760
- <xsl:with-param name="name" select="'title-annex'"/>
1761
- </xsl:call-template>
1762
- </xsl:variable>
1763
- <xsl:value-of select="$title-annex"/>
1764
- <xsl:choose>
1765
- <xsl:when test="count(//gb:annex) = 1 and $annexid != ''">
1766
- <xsl:value-of select="$annexid"/>
1767
- </xsl:when>
1768
- <xsl:otherwise>
1769
- <xsl:number format="A" level="any" count="gb:annex"/>
1770
- </xsl:otherwise>
1771
- </xsl:choose>
1772
- </xsl:when>
1773
- <xsl:otherwise>
1774
- <xsl:choose>
1775
- <xsl:when test="count(//gb:annex) = 1 and $annexid != ''">
1776
- <xsl:value-of select="$annexid"/><xsl:number format=".1" level="multiple" count="gb:clause"/>
1777
- </xsl:when>
1778
- <xsl:otherwise>
1779
- <xsl:number format="A.1" level="multiple" count="gb:annex | gb:clause"/>
1780
- </xsl:otherwise>
1781
- </xsl:choose>
1782
- </xsl:otherwise>
1783
- </xsl:choose>
1784
- </xsl:when>
1785
- <xsl:when test="ancestor::gb:preface"> <!-- if preface and there is clause(s) -->
1786
- <xsl:choose>
1787
- <xsl:when test="$level = 1 and ..//gb:clause">0</xsl:when>
1788
- <xsl:when test="$level &gt;= 2">
1789
- <xsl:variable name="num">
1790
- <xsl:number format=".1" level="multiple" count="gb:clause"/>
1791
- </xsl:variable>
1792
- <xsl:value-of select="concat('0', $num)"/>
1793
- </xsl:when>
1794
- <xsl:otherwise>
1795
- <!-- z<xsl:value-of select="$sectionNum"/>z -->
1796
- </xsl:otherwise>
1797
- </xsl:choose>
1798
- </xsl:when>
1799
- <xsl:otherwise>
1800
- </xsl:otherwise>
1801
- </xsl:choose>
1802
- </xsl:variable>
1803
- <xsl:value-of select="$section"/>
1804
- </xsl:template>
1805
-
1806
- <!-- <xsl:variable name="Image-GB-Logo">
1807
- <xsl:text>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</xsl:text>
1808
- </xsl:variable> -->
1809
1123
 
1810
1124
  <xsl:template name="addLetterSpacing">
1811
1125
  <xsl:param name="text"/>
@@ -1821,46 +1135,6 @@
1821
1135
  </xsl:template>
1822
1136
 
1823
1137
  <xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="titles_">
1824
-
1825
- <title-table lang="en">Table </title-table>
1826
- <title-table lang="fr">Tableau </title-table>
1827
-
1828
-
1829
- <title-table lang="zh">表 </title-table>
1830
-
1831
-
1832
- <title-note lang="en">NOTE </title-note>
1833
- <title-note lang="fr">NOTE </title-note>
1834
-
1835
-
1836
- <title-note lang="zh">注 </title-note>
1837
-
1838
-
1839
- <title-figure lang="en">Figure </title-figure>
1840
- <title-figure lang="fr">Figure </title-figure>
1841
-
1842
-
1843
- <title-figure lang="zh">图 </title-figure>
1844
-
1845
-
1846
- <title-example lang="en">EXAMPLE </title-example>
1847
- <title-example lang="fr">EXEMPLE </title-example>
1848
-
1849
-
1850
- <title-example lang="zh">示例 </title-example>
1851
-
1852
-
1853
- <title-example-xref lang="en">Example </title-example-xref>
1854
- <title-example-xref lang="fr">Exemple </title-example-xref>
1855
-
1856
- <title-section lang="en">Section </title-section>
1857
- <title-section lang="fr">Section </title-section>
1858
-
1859
- <title-inequality lang="en">Inequality </title-inequality>
1860
- <title-inequality lang="fr">Inequality </title-inequality>
1861
-
1862
- <title-equation lang="en">Equation </title-equation>
1863
- <title-equation lang="fr">Equation </title-equation>
1864
1138
 
1865
1139
  <title-annex lang="en">Annex </title-annex>
1866
1140
  <title-annex lang="fr">Annexe </title-annex>
@@ -1868,25 +1142,13 @@
1868
1142
 
1869
1143
  <title-annex lang="zh">附件 </title-annex>
1870
1144
 
1871
-
1872
- <title-appendix lang="en">Appendix </title-appendix>
1873
- <title-appendix lang="fr">Appendix </title-appendix>
1874
-
1875
- <title-clause lang="en">Clause </title-clause>
1876
- <title-clause lang="fr">Article </title-clause>
1877
-
1878
-
1879
- <title-clause lang="zh">条 </title-clause>
1880
-
1881
-
1145
+
1882
1146
  <title-edition lang="en">
1883
1147
 
1884
1148
 
1885
1149
  </title-edition>
1886
1150
 
1887
- <title-formula lang="en">Formula </title-formula>
1888
- <title-formula lang="fr">Formula </title-formula>
1889
-
1151
+
1890
1152
  <title-toc lang="en">
1891
1153
 
1892
1154
 
@@ -1925,13 +1187,6 @@
1925
1187
  </title-part>
1926
1188
  <title-part lang="zh">第 # 部分:</title-part>
1927
1189
 
1928
- <title-note-to-entry lang="en">Note # to entry: </title-note-to-entry>
1929
- <title-note-to-entry lang="fr">Note # à l'article: </title-note-to-entry>
1930
-
1931
-
1932
- <title-note-to-entry lang="zh">注#: </title-note-to-entry>
1933
-
1934
-
1935
1190
  <title-modified lang="en">modified</title-modified>
1936
1191
  <title-modified lang="fr">modifiée</title-modified>
1937
1192
 
@@ -1945,14 +1200,12 @@
1945
1200
 
1946
1201
  <title-deprecated lang="en">DEPRECATED</title-deprecated>
1947
1202
  <title-deprecated lang="fr">DEPRECATED</title-deprecated>
1948
-
1949
- <title-submitting-organizations lang="en">Submitting Organizations</title-submitting-organizations>
1950
-
1203
+
1951
1204
  <title-list-tables lang="en">List of Tables</title-list-tables>
1952
1205
 
1953
1206
  <title-list-figures lang="en">List of Figures</title-list-figures>
1954
1207
 
1955
- <title-recommendation lang="en">Recommendation </title-recommendation>
1208
+ <title-list-recommendations lang="en">List of Recommendations</title-list-recommendations>
1956
1209
 
1957
1210
  <title-acknowledgements lang="en">Acknowledgements</title-acknowledgements>
1958
1211
 
@@ -1962,8 +1215,6 @@
1962
1215
 
1963
1216
  <title-in lang="en">in </title-in>
1964
1217
 
1965
- <title-box lang="en">Box </title-box>
1966
-
1967
1218
  <title-partly-supercedes lang="en">Partly Supercedes </title-partly-supercedes>
1968
1219
  <title-partly-supercedes lang="zh">部分代替 </title-partly-supercedes>
1969
1220
 
@@ -1986,7 +1237,7 @@
1986
1237
  <title-warning lang="zh">警告</title-warning>
1987
1238
 
1988
1239
  <title-amendment lang="en">AMENDMENT</title-amendment>
1989
- </xsl:variable><xsl:template name="getTitle">
1240
+ </xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:template name="getTitle">
1990
1241
  <xsl:param name="name"/>
1991
1242
  <xsl:variable name="lang">
1992
1243
  <xsl:call-template name="getLang"/>
@@ -2004,6 +1255,8 @@
2004
1255
 
2005
1256
 
2006
1257
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
1258
+ <xsl:attribute name="white-space">pre</xsl:attribute>
1259
+ <xsl:attribute name="wrap-option">wrap</xsl:attribute>
2007
1260
 
2008
1261
  <xsl:attribute name="font-family">Courier</xsl:attribute>
2009
1262
  <xsl:attribute name="font-size">9pt</xsl:attribute>
@@ -2016,92 +1269,323 @@
2016
1269
 
2017
1270
 
2018
1271
 
2019
- </xsl:attribute-set><xsl:attribute-set name="appendix-style">
2020
-
2021
- <xsl:attribute name="font-size">12pt</xsl:attribute>
2022
- <xsl:attribute name="font-weight">bold</xsl:attribute>
2023
- <xsl:attribute name="margin-top">12pt</xsl:attribute>
2024
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1272
+ </xsl:attribute-set><xsl:attribute-set name="permission-style">
2025
1273
 
1274
+ </xsl:attribute-set><xsl:attribute-set name="permission-name-style">
2026
1275
 
1276
+ </xsl:attribute-set><xsl:attribute-set name="permission-label-style">
2027
1277
 
2028
- </xsl:attribute-set><xsl:attribute-set name="appendix-example-style">
1278
+ </xsl:attribute-set><xsl:attribute-set name="requirement-style">
2029
1279
 
2030
- <xsl:attribute name="font-size">10pt</xsl:attribute>
2031
- <xsl:attribute name="margin-top">8pt</xsl:attribute>
2032
- <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
1280
+ </xsl:attribute-set><xsl:attribute-set name="requirement-name-style">
2033
1281
 
1282
+ </xsl:attribute-set><xsl:attribute-set name="requirement-label-style">
2034
1283
 
1284
+ </xsl:attribute-set><xsl:attribute-set name="requirement-subject-style">
1285
+ </xsl:attribute-set><xsl:attribute-set name="requirement-inherit-style">
1286
+ </xsl:attribute-set><xsl:attribute-set name="recommendation-style">
1287
+
1288
+
1289
+ </xsl:attribute-set><xsl:attribute-set name="recommendation-name-style">
1290
+
1291
+
1292
+ </xsl:attribute-set><xsl:attribute-set name="recommendation-label-style">
1293
+
1294
+ </xsl:attribute-set><xsl:attribute-set name="termexample-style">
1295
+
1296
+
1297
+
1298
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
1299
+ <xsl:attribute name="margin-top">14pt</xsl:attribute>
1300
+ <xsl:attribute name="margin-bottom">14pt</xsl:attribute>
1301
+ <xsl:attribute name="text-align">justify</xsl:attribute>
1302
+
1303
+
1304
+
1305
+
1306
+
1307
+ </xsl:attribute-set><xsl:attribute-set name="example-style">
1308
+
1309
+
1310
+
1311
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1312
+ <xsl:attribute name="margin-top">8pt</xsl:attribute>
1313
+ <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
1314
+
1315
+
1316
+
1317
+
1318
+
1319
+
1320
+
1321
+
1322
+ </xsl:attribute-set><xsl:attribute-set name="example-body-style">
1323
+
1324
+
1325
+ </xsl:attribute-set><xsl:attribute-set name="example-name-style">
1326
+
1327
+
1328
+
1329
+ <xsl:attribute name="padding-right">5mm</xsl:attribute>
1330
+
1331
+
1332
+
1333
+
1334
+
1335
+
1336
+
1337
+
1338
+
1339
+
1340
+
1341
+
1342
+
1343
+ </xsl:attribute-set><xsl:attribute-set name="example-p-style">
1344
+
1345
+
1346
+
1347
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1348
+ <xsl:attribute name="margin-top">8pt</xsl:attribute>
1349
+ <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
1350
+
1351
+
1352
+
1353
+
1354
+
1355
+
1356
+
1357
+
1358
+
1359
+ </xsl:attribute-set><xsl:attribute-set name="termexample-name-style">
1360
+
1361
+
1362
+ <xsl:attribute name="padding-right">1mm</xsl:attribute>
1363
+ <xsl:attribute name="font-family">SimHei</xsl:attribute>
1364
+
1365
+
1366
+
1367
+ </xsl:attribute-set><xsl:attribute-set name="table-name-style">
1368
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1369
+
1370
+
1371
+ <xsl:attribute name="text-align">center</xsl:attribute>
1372
+ <xsl:attribute name="font-family">SimHei</xsl:attribute>
1373
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
1374
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2035
1375
 
2036
- </xsl:attribute-set><xsl:template match="text()">
2037
- <xsl:value-of select="."/>
2038
- </xsl:template><xsl:template match="*[local-name()='br']">
2039
- <xsl:value-of select="$linebreak"/>
2040
- </xsl:template><xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
2041
- <!-- <xsl:call-template name="add-zero-spaces"/> -->
2042
- <xsl:call-template name="add-zero-spaces-java"/>
2043
- </xsl:template><xsl:template match="*[local-name()='table']">
2044
-
2045
- <xsl:variable name="simple-table">
2046
- <!-- <xsl:copy> -->
2047
- <xsl:call-template name="getSimpleTable"/>
2048
- <!-- </xsl:copy> -->
2049
- </xsl:variable>
2050
-
2051
- <!-- DEBUG -->
2052
- <!-- SourceTable=<xsl:copy-of select="current()"/>EndSourceTable -->
2053
- <!-- Simpletable=<xsl:copy-of select="$simple-table"/>EndSimpltable -->
2054
-
2055
- <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
2056
1376
 
2057
- <!-- <xsl:if test="$namespace = 'iso'">
2058
- <fo:block space-before="6pt">&#xA0;</fo:block>
2059
- </xsl:if> -->
2060
1377
 
2061
- <xsl:choose>
2062
- <xsl:when test="@unnumbered = 'true'"/>
2063
- <xsl:otherwise>
2064
-
2065
-
2066
-
2067
- <fo:block font-weight="bold" text-align="center" margin-bottom="6pt" keep-with-next="always">
2068
-
2069
-
2070
-
2071
-
2072
-
2073
-
2074
-
2075
- <xsl:attribute name="font-family">SimHei</xsl:attribute>
2076
- <xsl:attribute name="font-weight">normal</xsl:attribute>
2077
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2078
-
2079
-
2080
- <xsl:variable name="title-table">
2081
- <xsl:call-template name="getTitle">
2082
- <xsl:with-param name="name" select="'title-table'"/>
2083
- </xsl:call-template>
2084
- </xsl:variable>
2085
- <xsl:value-of select="$title-table"/>
2086
-
2087
- <xsl:call-template name="getTableNumber"/>
2088
-
2089
-
2090
- <xsl:if test="*[local-name()='name']">
2091
-
2092
-
2093
-
2094
- <xsl:text> — </xsl:text>
2095
-
2096
- <xsl:apply-templates select="*[local-name()='name']" mode="process"/>
2097
- </xsl:if>
2098
- </fo:block>
2099
1378
 
1379
+
1380
+
1381
+
2100
1382
 
2101
- <xsl:call-template name="fn_name_display"/>
1383
+
1384
+ </xsl:attribute-set><xsl:attribute-set name="appendix-style">
2102
1385
 
2103
- </xsl:otherwise>
2104
- </xsl:choose>
1386
+ <xsl:attribute name="font-size">12pt</xsl:attribute>
1387
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1388
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
1389
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1390
+
1391
+
1392
+
1393
+ </xsl:attribute-set><xsl:attribute-set name="appendix-example-style">
1394
+
1395
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1396
+ <xsl:attribute name="margin-top">8pt</xsl:attribute>
1397
+ <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
1398
+
1399
+
1400
+
1401
+ </xsl:attribute-set><xsl:attribute-set name="xref-style">
1402
+
1403
+
1404
+ </xsl:attribute-set><xsl:attribute-set name="eref-style">
1405
+
1406
+
1407
+
1408
+ </xsl:attribute-set><xsl:attribute-set name="note-style">
1409
+
1410
+
1411
+
1412
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
1413
+ <xsl:attribute name="margin-left">7.4mm</xsl:attribute>
1414
+ <xsl:attribute name="margin-top">4pt</xsl:attribute>
1415
+ <xsl:attribute name="margin-bottom">4pt</xsl:attribute>
1416
+ <xsl:attribute name="line-height">125%</xsl:attribute>
1417
+
1418
+
1419
+
1420
+
1421
+
1422
+
1423
+
1424
+
1425
+
1426
+
1427
+
1428
+
1429
+
1430
+ </xsl:attribute-set><xsl:attribute-set name="note-name-style">
1431
+
1432
+
1433
+
1434
+ <xsl:attribute name="font-family">SimHei</xsl:attribute>
1435
+
1436
+
1437
+
1438
+
1439
+
1440
+
1441
+
1442
+
1443
+ </xsl:attribute-set><xsl:attribute-set name="note-p-style">
1444
+
1445
+
1446
+
1447
+ <xsl:attribute name="margin-top">4pt</xsl:attribute>
1448
+ <xsl:attribute name="line-height">125%</xsl:attribute>
1449
+ <xsl:attribute name="text-align">justify</xsl:attribute>
1450
+
1451
+
1452
+
1453
+
1454
+
1455
+
1456
+
1457
+
1458
+
1459
+
1460
+
1461
+ </xsl:attribute-set><xsl:attribute-set name="termnote-style">
1462
+
1463
+
1464
+
1465
+
1466
+
1467
+ </xsl:attribute-set><xsl:attribute-set name="quote-style">
1468
+
1469
+
1470
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
1471
+ <xsl:attribute name="margin-left">12mm</xsl:attribute>
1472
+ <xsl:attribute name="margin-right">12mm</xsl:attribute>
1473
+
1474
+
1475
+
1476
+
1477
+
1478
+ </xsl:attribute-set><xsl:attribute-set name="quote-source-style">
1479
+
1480
+
1481
+ <xsl:attribute name="text-align">right</xsl:attribute>
1482
+
1483
+
1484
+ </xsl:attribute-set><xsl:attribute-set name="termsource-style">
1485
+
1486
+
1487
+
1488
+ <xsl:attribute name="text-indent">7.4mm</xsl:attribute>
1489
+
1490
+
1491
+
1492
+ </xsl:attribute-set><xsl:attribute-set name="origin-style">
1493
+
1494
+
1495
+ </xsl:attribute-set><xsl:attribute-set name="term-style">
1496
+
1497
+ </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
1498
+
1499
+
1500
+
1501
+
1502
+
1503
+ <xsl:attribute name="font-family">SimHei</xsl:attribute>
1504
+ <xsl:attribute name="text-align">center</xsl:attribute>
1505
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
1506
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1507
+ <xsl:attribute name="keep-with-previous">always</xsl:attribute>
1508
+
1509
+
1510
+
1511
+
1512
+
1513
+
1514
+
1515
+
1516
+
1517
+
1518
+
1519
+
1520
+ </xsl:attribute-set><xsl:attribute-set name="formula-style">
1521
+
1522
+ </xsl:attribute-set><xsl:attribute-set name="image-style">
1523
+ <xsl:attribute name="text-align">center</xsl:attribute>
1524
+
1525
+
1526
+
1527
+
1528
+
1529
+ </xsl:attribute-set><xsl:attribute-set name="figure-pseudocode-p-style">
1530
+
1531
+ </xsl:attribute-set><xsl:attribute-set name="image-graphic-style">
1532
+
1533
+
1534
+ <xsl:attribute name="width">100%</xsl:attribute>
1535
+ <xsl:attribute name="content-height">100%</xsl:attribute>
1536
+ <xsl:attribute name="content-width">scale-to-fit</xsl:attribute>
1537
+ <xsl:attribute name="scaling">uniform</xsl:attribute>
1538
+
1539
+
1540
+
1541
+
1542
+ </xsl:attribute-set><xsl:attribute-set name="tt-style">
1543
+
1544
+
1545
+ <xsl:attribute name="font-family">Courier</xsl:attribute>
1546
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1547
+
1548
+ </xsl:attribute-set><xsl:attribute-set name="sourcecode-name-style">
1549
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
1550
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1551
+ <xsl:attribute name="text-align">center</xsl:attribute>
1552
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1553
+ </xsl:attribute-set><xsl:attribute-set name="domain-style">
1554
+
1555
+ <xsl:attribute name="padding-left">7.4mm</xsl:attribute>
1556
+
1557
+ </xsl:attribute-set><xsl:attribute-set name="admitted-style">
1558
+
1559
+
1560
+ </xsl:attribute-set><xsl:attribute-set name="deprecates-style">
1561
+
1562
+ </xsl:attribute-set><xsl:attribute-set name="definition-style">
1563
+
1564
+
1565
+ </xsl:attribute-set><xsl:template match="text()">
1566
+ <xsl:value-of select="."/>
1567
+ </xsl:template><xsl:template match="*[local-name()='br']">
1568
+ <xsl:value-of select="$linebreak"/>
1569
+ </xsl:template><xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
1570
+ <!-- <xsl:call-template name="add-zero-spaces"/> -->
1571
+ <xsl:call-template name="add-zero-spaces-java"/>
1572
+ </xsl:template><xsl:template match="*[local-name()='table']">
1573
+
1574
+ <xsl:variable name="simple-table">
1575
+ <xsl:call-template name="getSimpleTable"/>
1576
+ </xsl:variable>
1577
+
1578
+
1579
+
1580
+
1581
+
1582
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
1583
+
1584
+
1585
+
1586
+ <xsl:call-template name="fn_name_display"/>
1587
+
1588
+
2105
1589
 
2106
1590
  <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
2107
1591
 
@@ -2197,35 +1681,15 @@
2197
1681
  <xsl:apply-templates select="*[local-name()='note']" mode="process"/>
2198
1682
 
2199
1683
 
1684
+
1685
+
2200
1686
  </fo:block-container>
2201
- </xsl:template><xsl:template name="getTableNumber">
2202
- <xsl:choose>
2203
- <xsl:when test="ancestor::*[local-name()='executivesummary']"> <!-- NIST -->
2204
- <xsl:text>ES-</xsl:text><xsl:number format="1" count="*[local-name()='executivesummary']//*[local-name()='table'][not(@unnumbered) or @unnumbered != 'true']"/>
2205
- </xsl:when>
2206
- <xsl:when test="ancestor::*[local-name()='annex']">
2207
-
2208
-
2209
- <xsl:variable name="annex-id" select="ancestor::gb:annex/@id"/>
2210
- <xsl:number format="A." count="*[local-name()='annex']"/><xsl:number format="1" level="any" count="*[local-name()='table'][(not(@unnumbered) or @unnumbered != 'true') and ancestor::gb:annex[@id = $annex-id]]"/>
2211
-
2212
-
2213
-
2214
-
2215
-
2216
-
2217
-
2218
- </xsl:when>
2219
- <xsl:otherwise>
2220
-
2221
-
2222
- <xsl:number format="A." count="*[local-name()='annex']"/>
2223
- <xsl:number format="1" level="any" count="//*[local-name()='table'] [not(ancestor::*[local-name()='annex']) and not(ancestor::*[local-name()='executivesummary']) and not(ancestor::*[local-name()='bibdata'])] [not(@unnumbered) or @unnumbered != 'true']"/>
2224
-
2225
- </xsl:otherwise>
2226
- </xsl:choose>
2227
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']"/><xsl:template match="*[local-name()='table']/*[local-name()='name']" mode="process">
2228
- <xsl:apply-templates/>
1687
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']"/><xsl:template match="*[local-name()='table']/*[local-name() = 'name']" mode="presentation">
1688
+ <xsl:if test="normalize-space() != ''">
1689
+ <fo:block xsl:use-attribute-sets="table-name-style">
1690
+ <xsl:apply-templates/>
1691
+ </fo:block>
1692
+ </xsl:if>
2229
1693
  </xsl:template><xsl:template name="calculate-columns-numbers">
2230
1694
  <xsl:param name="table-row"/>
2231
1695
  <xsl:variable name="columns-count" select="count($table-row/*)"/>
@@ -2453,6 +1917,7 @@
2453
1917
 
2454
1918
 
2455
1919
 
1920
+
2456
1921
  <xsl:if test="@colspan">
2457
1922
  <xsl:attribute name="number-columns-spanned">
2458
1923
  <xsl:value-of select="@colspan"/>
@@ -2476,7 +1941,7 @@
2476
1941
  <xsl:if test="ancestor::*[local-name() = 'tfoot']">
2477
1942
  <xsl:attribute name="border-bottom">solid black 0</xsl:attribute>
2478
1943
  </xsl:if>
2479
-
1944
+
2480
1945
 
2481
1946
 
2482
1947
 
@@ -2495,21 +1960,9 @@
2495
1960
  <fo:block>
2496
1961
 
2497
1962
  <xsl:apply-templates/>
2498
- </fo:block>
2499
- <!-- <xsl:choose>
2500
- <xsl:when test="count(*) = 1 and *[local-name() = 'p']">
2501
- <xsl:apply-templates />
2502
- </xsl:when>
2503
- <xsl:otherwise>
2504
- <fo:block>
2505
- <xsl:apply-templates />
2506
- </fo:block>
2507
- </xsl:otherwise>
2508
- </xsl:choose> -->
2509
-
2510
-
1963
+ </fo:block>
2511
1964
  </fo:table-cell>
2512
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']"/><xsl:template match="*[local-name()='table']/*[local-name()='note']" mode="process">
1965
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']" priority="2"/><xsl:template match="*[local-name()='table']/*[local-name()='note']" mode="process">
2513
1966
 
2514
1967
 
2515
1968
  <fo:block font-size="10pt" margin-bottom="12pt">
@@ -2527,26 +1980,14 @@
2527
1980
 
2528
1981
 
2529
1982
 
2530
- <xsl:variable name="title-note">
2531
- <xsl:call-template name="getTitle">
2532
- <xsl:with-param name="name" select="'title-note'"/>
2533
- </xsl:call-template>
2534
- </xsl:variable>
2535
- <xsl:value-of select="$title-note"/>
2536
-
2537
- <xsl:variable name="id" select="ancestor::*[local-name() = 'table'][1]/@id"/>
2538
- <xsl:if test="count(//*[local-name()='note'][ancestor::*[@id = $id]]) &gt; 1">
2539
- <xsl:number count="*[local-name()='note'][ancestor::*[@id = $id]]" level="any"/>
2540
- </xsl:if>
2541
- <xsl:text>:</xsl:text>
2542
-
2543
-
2544
-
1983
+
1984
+ <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
1985
+
2545
1986
  </fo:inline>
2546
1987
  <xsl:apply-templates mode="process"/>
2547
1988
  </fo:block>
2548
1989
 
2549
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" mode="process">
1990
+ </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">
2550
1991
  <xsl:apply-templates/>
2551
1992
  </xsl:template><xsl:template name="fn_display">
2552
1993
  <xsl:variable name="references">
@@ -2612,7 +2053,7 @@
2612
2053
  true <!-- and (not(@class) or @class !='pseudocode') -->
2613
2054
  </xsl:variable>
2614
2055
  <xsl:variable name="references">
2615
- <xsl:for-each select=".//*[local-name()='fn']">
2056
+ <xsl:for-each select=".//*[local-name()='fn'][not(parent::*[local-name()='name'])]">
2616
2057
  <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
2617
2058
  <xsl:apply-templates/>
2618
2059
  </fn>
@@ -2907,7 +2348,7 @@
2907
2348
  <xsl:value-of select="string-length(normalize-space(.))"/>
2908
2349
  </xsl:if>
2909
2350
  </xsl:for-each>
2910
- </xsl:template><xsl:template match="*[local-name()='dl']/*[local-name()='note']">
2351
+ </xsl:template><xsl:template match="*[local-name()='dl']/*[local-name()='note']" priority="2">
2911
2352
  <xsl:param name="key_iso"/>
2912
2353
 
2913
2354
  <!-- <tr>
@@ -2923,12 +2364,7 @@
2923
2364
  <xsl:if test="normalize-space($key_iso) = 'true'">
2924
2365
  <xsl:attribute name="margin-top">0</xsl:attribute>
2925
2366
  </xsl:if>
2926
- <xsl:variable name="title-note">
2927
- <xsl:call-template name="getTitle">
2928
- <xsl:with-param name="name" select="'title-note'"/>
2929
- </xsl:call-template>
2930
- </xsl:variable>
2931
- <xsl:value-of select="$title-note"/>
2367
+ <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
2932
2368
  </fo:block>
2933
2369
  </fo:table-cell>
2934
2370
  <fo:table-cell>
@@ -2997,7 +2433,7 @@
2997
2433
  <fo:inline font-style="italic">
2998
2434
  <xsl:apply-templates/>
2999
2435
  </fo:inline>
3000
- </xsl:template><xsl:template match="*[local-name()='strong']">
2436
+ </xsl:template><xsl:template match="*[local-name()='strong'] | *[local-name()='b']">
3001
2437
  <fo:inline font-weight="bold">
3002
2438
  <xsl:apply-templates/>
3003
2439
  </fo:inline>
@@ -3010,7 +2446,7 @@
3010
2446
  <xsl:apply-templates/>
3011
2447
  </fo:inline>
3012
2448
  </xsl:template><xsl:template match="*[local-name()='tt']">
3013
- <fo:inline font-family="Courier" font-size="10pt">
2449
+ <fo:inline xsl:use-attribute-sets="tt-style">
3014
2450
  <xsl:apply-templates/>
3015
2451
  </fo:inline>
3016
2452
  </xsl:template><xsl:template match="*[local-name()='del']">
@@ -3324,134 +2760,751 @@
3324
2760
  </xsl:call-template>
3325
2761
  </xsl:when>
3326
2762
  <xsl:otherwise>
3327
- <!-- <xsl:value-of select="translate(substring($str2, 1, 1), $lower, $upper)"/>
3328
- <xsl:value-of select="substring($str2, 2)"/> -->
3329
- <xsl:call-template name="capitalize">
3330
- <xsl:with-param name="str" select="$str2"/>
3331
- </xsl:call-template>
2763
+ <!-- <xsl:value-of select="translate(substring($str2, 1, 1), $lower, $upper)"/>
2764
+ <xsl:value-of select="substring($str2, 2)"/> -->
2765
+ <xsl:call-template name="capitalize">
2766
+ <xsl:with-param name="str" select="$str2"/>
2767
+ </xsl:call-template>
2768
+ </xsl:otherwise>
2769
+ </xsl:choose>
2770
+ </xsl:template><xsl:template name="capitalize">
2771
+ <xsl:param name="str"/>
2772
+ <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(substring($str, 1, 1)))"/>
2773
+ <xsl:value-of select="substring($str, 2)"/>
2774
+ </xsl:template><xsl:template match="mathml:math">
2775
+ <fo:inline font-family="STIX2Math">
2776
+ <fo:instream-foreign-object fox:alt-text="Math">
2777
+ <xsl:copy-of select="."/>
2778
+ </fo:instream-foreign-object>
2779
+ </fo:inline>
2780
+ </xsl:template><xsl:template match="*[local-name()='localityStack']"/><xsl:template match="*[local-name()='link']" name="link">
2781
+ <xsl:variable name="target">
2782
+ <xsl:choose>
2783
+ <xsl:when test="starts-with(normalize-space(@target), 'mailto:')">
2784
+ <xsl:value-of select="normalize-space(substring-after(@target, 'mailto:'))"/>
2785
+ </xsl:when>
2786
+ <xsl:otherwise>
2787
+ <xsl:value-of select="normalize-space(@target)"/>
2788
+ </xsl:otherwise>
2789
+ </xsl:choose>
2790
+ </xsl:variable>
2791
+ <fo:inline xsl:use-attribute-sets="link-style">
2792
+ <xsl:choose>
2793
+ <xsl:when test="$target = ''">
2794
+ <xsl:apply-templates/>
2795
+ </xsl:when>
2796
+ <xsl:otherwise>
2797
+ <fo:basic-link external-destination="{@target}" fox:alt-text="{@target}">
2798
+ <xsl:choose>
2799
+ <xsl:when test="normalize-space(.) = ''">
2800
+ <xsl:value-of select="$target"/>
2801
+ </xsl:when>
2802
+ <xsl:otherwise>
2803
+ <xsl:apply-templates/>
2804
+ </xsl:otherwise>
2805
+ </xsl:choose>
2806
+ </fo:basic-link>
2807
+ </xsl:otherwise>
2808
+ </xsl:choose>
2809
+ </fo:inline>
2810
+ </xsl:template><xsl:template match="*[local-name()='bookmark']">
2811
+ <fo:inline id="{@id}"/>
2812
+ </xsl:template><xsl:template match="*[local-name()='appendix']">
2813
+ <fo:block id="{@id}" xsl:use-attribute-sets="appendix-style">
2814
+ <xsl:apply-templates select="*[local-name()='title']" mode="process"/>
2815
+ </fo:block>
2816
+ <xsl:apply-templates/>
2817
+ </xsl:template><xsl:template match="*[local-name()='appendix']/*[local-name()='title']"/><xsl:template match="*[local-name()='appendix']/*[local-name()='title']" mode="process">
2818
+ <fo:inline><xsl:apply-templates/></fo:inline>
2819
+ </xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']" priority="2">
2820
+ <fo:block id="{@id}" xsl:use-attribute-sets="appendix-example-style">
2821
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
2822
+ </fo:block>
2823
+ <xsl:apply-templates/>
2824
+ </xsl:template><xsl:template match="*[local-name() = 'callout']">
2825
+ <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}">&lt;<xsl:apply-templates/>&gt;</fo:basic-link>
2826
+ </xsl:template><xsl:template match="*[local-name() = 'annotation']">
2827
+ <xsl:variable name="annotation-id" select="@id"/>
2828
+ <xsl:variable name="callout" select="//*[@target = $annotation-id]/text()"/>
2829
+ <fo:block id="{$annotation-id}" white-space="nowrap">
2830
+ <fo:inline>
2831
+ <xsl:apply-templates>
2832
+ <xsl:with-param name="callout" select="concat('&lt;', $callout, '&gt; ')"/>
2833
+ </xsl:apply-templates>
2834
+ </fo:inline>
2835
+ </fo:block>
2836
+ </xsl:template><xsl:template match="*[local-name() = 'annotation']/*[local-name() = 'p']">
2837
+ <xsl:param name="callout"/>
2838
+ <fo:inline id="{@id}">
2839
+ <!-- for first p in annotation, put <x> -->
2840
+ <xsl:if test="not(preceding-sibling::*[local-name() = 'p'])"><xsl:value-of select="$callout"/></xsl:if>
2841
+ <xsl:apply-templates/>
2842
+ </fo:inline>
2843
+ </xsl:template><xsl:template match="*[local-name() = 'modification']">
2844
+ <xsl:variable name="title-modified">
2845
+ <xsl:call-template name="getTitle">
2846
+ <xsl:with-param name="name" select="'title-modified'"/>
2847
+ </xsl:call-template>
2848
+ </xsl:variable>
2849
+ <xsl:choose>
2850
+ <xsl:when test="$lang = 'zh'"><xsl:text>、</xsl:text><xsl:value-of select="$title-modified"/><xsl:text>—</xsl:text></xsl:when>
2851
+ <xsl:otherwise><xsl:text>, </xsl:text><xsl:value-of select="$title-modified"/><xsl:text> — </xsl:text></xsl:otherwise>
2852
+ </xsl:choose>
2853
+ <xsl:apply-templates/>
2854
+ </xsl:template><xsl:template match="*[local-name() = 'xref']">
2855
+ <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
2856
+
2857
+ <xsl:apply-templates/>
2858
+ </fo:basic-link>
2859
+ </xsl:template><xsl:template match="*[local-name() = 'formula']" name="formula">
2860
+ <fo:block id="{@id}" xsl:use-attribute-sets="formula-style">
2861
+ <xsl:apply-templates/>
2862
+ </fo:block>
2863
+ </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'dt']/*[local-name() = 'stem']">
2864
+ <fo:inline>
2865
+ <xsl:apply-templates/>
2866
+ </fo:inline>
2867
+ </xsl:template><xsl:template match="*[local-name() = 'admitted']/*[local-name() = 'stem']">
2868
+ <fo:inline>
2869
+ <xsl:apply-templates/>
2870
+ </fo:inline>
2871
+ </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']" mode="presentation">
2872
+ <xsl:if test="normalize-space() != ''">
2873
+ <xsl:text>(</xsl:text><xsl:apply-templates/><xsl:text>)</xsl:text>
2874
+ </xsl:if>
2875
+ </xsl:template><xsl:template match="*[local-name() = 'note']" name="note">
2876
+
2877
+ <fo:block-container id="{@id}" xsl:use-attribute-sets="note-style">
2878
+
2879
+
2880
+
2881
+
2882
+ <fo:block-container margin-left="0mm">
2883
+
2884
+ <fo:table table-layout="fixed" width="100%">
2885
+ <fo:table-column column-width="10mm"/>
2886
+ <fo:table-column column-width="155mm"/>
2887
+ <fo:table-body>
2888
+ <fo:table-row>
2889
+ <fo:table-cell>
2890
+ <fo:block font-family="SimHei" xsl:use-attribute-sets="note-name-style">
2891
+ <xsl:apply-templates select="gb:name" mode="presentation"/>
2892
+ </fo:block>
2893
+ </fo:table-cell>
2894
+ <fo:table-cell>
2895
+ <fo:block text-align="justify">
2896
+ <xsl:apply-templates/>
2897
+ </fo:block>
2898
+ </fo:table-cell>
2899
+ </fo:table-row>
2900
+ </fo:table-body>
2901
+ </fo:table>
2902
+
2903
+
2904
+
2905
+
2906
+
2907
+
2908
+
2909
+
2910
+
2911
+ </fo:block-container>
2912
+ </fo:block-container>
2913
+
2914
+ </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'p']">
2915
+ <xsl:variable name="num"><xsl:number/></xsl:variable>
2916
+ <xsl:choose>
2917
+ <xsl:when test="$num = 1">
2918
+ <fo:inline xsl:use-attribute-sets="note-p-style">
2919
+ <xsl:apply-templates/>
2920
+ </fo:inline>
2921
+ </xsl:when>
2922
+ <xsl:otherwise>
2923
+ <fo:block xsl:use-attribute-sets="note-p-style">
2924
+ <xsl:apply-templates/>
2925
+ </fo:block>
2926
+ </xsl:otherwise>
2927
+ </xsl:choose>
2928
+ </xsl:template><xsl:template match="*[local-name() = 'termnote']">
2929
+ <fo:block id="{@id}" xsl:use-attribute-sets="termnote-style">
2930
+ <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
2931
+ <xsl:apply-templates/>
2932
+ </fo:block>
2933
+ </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">
2934
+ <xsl:param name="sfx"/>
2935
+ <xsl:variable name="suffix">
2936
+ <xsl:choose>
2937
+ <xsl:when test="$sfx != ''">
2938
+ <xsl:value-of select="$sfx"/>
2939
+ </xsl:when>
2940
+ <xsl:otherwise>
2941
+
2942
+ <xsl:text>:</xsl:text>
2943
+
2944
+
2945
+ </xsl:otherwise>
2946
+ </xsl:choose>
2947
+ </xsl:variable>
2948
+ <xsl:if test="normalize-space() != ''">
2949
+ <xsl:apply-templates/>
2950
+ <xsl:value-of select="$suffix"/>
2951
+ </xsl:if>
2952
+ </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'name']" mode="presentation">
2953
+ <xsl:param name="sfx"/>
2954
+ <xsl:variable name="suffix">
2955
+ <xsl:choose>
2956
+ <xsl:when test="$sfx != ''">
2957
+ <xsl:value-of select="$sfx"/>
2958
+ </xsl:when>
2959
+ <xsl:otherwise>
2960
+
2961
+ <xsl:text>:</xsl:text>
2962
+
2963
+
2964
+ </xsl:otherwise>
2965
+ </xsl:choose>
2966
+ </xsl:variable>
2967
+ <xsl:if test="normalize-space() != ''">
2968
+ <xsl:apply-templates/>
2969
+ <xsl:value-of select="$suffix"/>
2970
+ </xsl:if>
2971
+ </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'p']">
2972
+ <fo:inline><xsl:apply-templates/></fo:inline>
2973
+ </xsl:template><xsl:template match="*[local-name() = 'terms']">
2974
+ <fo:block id="{@id}">
2975
+ <xsl:apply-templates/>
2976
+ </fo:block>
2977
+ </xsl:template><xsl:template match="*[local-name() = 'term']">
2978
+ <fo:block id="{@id}" xsl:use-attribute-sets="term-style">
2979
+
2980
+ <fo:block font-family="SimHei" font-size="11pt" keep-with-next="always" margin-top="10pt" margin-bottom="8pt" line-height="1.1">
2981
+ <xsl:apply-templates select="gb:name" mode="presentation"/>
2982
+ </fo:block>
2983
+
2984
+
2985
+
2986
+ <xsl:apply-templates/>
2987
+ </fo:block>
2988
+ </xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']" mode="presentation">
2989
+ <xsl:if test="normalize-space() != ''">
2990
+ <fo:inline>
2991
+ <xsl:apply-templates/>
2992
+ <!-- <xsl:if test="$namespace = 'gb' or $namespace = 'ogc'">
2993
+ <xsl:text>.</xsl:text>
2994
+ </xsl:if> -->
2995
+ </fo:inline>
2996
+ </xsl:if>
2997
+ </xsl:template><xsl:template match="*[local-name() = 'figure']">
2998
+ <fo:block-container id="{@id}">
2999
+ <fo:block>
3000
+ <xsl:apply-templates/>
3001
+ </fo:block>
3002
+ <xsl:call-template name="fn_display_figure"/>
3003
+ <xsl:for-each select="*[local-name() = 'note']">
3004
+ <xsl:call-template name="note"/>
3005
+ </xsl:for-each>
3006
+ <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3007
+ </fo:block-container>
3008
+ </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']">
3009
+ <fo:block id="{@id}">
3010
+ <xsl:apply-templates/>
3011
+ </fo:block>
3012
+ </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']//*[local-name() = 'p']">
3013
+ <fo:block xsl:use-attribute-sets="figure-pseudocode-p-style">
3014
+ <xsl:apply-templates/>
3015
+ </fo:block>
3016
+ </xsl:template><xsl:template match="*[local-name() = 'image']">
3017
+ <fo:block xsl:use-attribute-sets="image-style">
3018
+
3019
+
3020
+ <xsl:variable name="src">
3021
+ <xsl:choose>
3022
+ <xsl:when test="@mimetype = 'image/svg+xml' and $images/images/image[@id = current()/@id]">
3023
+ <xsl:value-of select="$images/images/image[@id = current()/@id]/@src"/>
3024
+ </xsl:when>
3025
+ <xsl:otherwise>
3026
+ <xsl:value-of select="@src"/>
3027
+ </xsl:otherwise>
3028
+ </xsl:choose>
3029
+ </xsl:variable>
3030
+
3031
+ <fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style"/>
3032
+ </fo:block>
3033
+ </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name']" mode="contents">
3034
+ <xsl:apply-templates mode="contents"/>
3035
+ <xsl:text> </xsl:text>
3036
+ </xsl:template><xsl:template match="text()" mode="contents">
3037
+ <xsl:value-of select="."/>
3038
+ </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'image']/*[local-name() = 'name']" mode="presentation">
3039
+ <xsl:if test="normalize-space() != ''">
3040
+ <fo:block xsl:use-attribute-sets="figure-name-style">
3041
+
3042
+ <xsl:apply-templates/>
3043
+ </fo:block>
3044
+ </xsl:if>
3045
+ </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">
3046
+ <xsl:apply-templates mode="contents_item"/>
3047
+ <!-- <xsl:text> </xsl:text> -->
3048
+ </xsl:template><xsl:template name="getSection">
3049
+ <xsl:value-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
3050
+ </xsl:template><xsl:template name="getName">
3051
+ <xsl:choose>
3052
+ <xsl:when test="*[local-name() = 'title']/*[local-name() = 'tab']">
3053
+ <xsl:copy-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/following-sibling::node()"/>
3054
+ </xsl:when>
3055
+ <xsl:otherwise>
3056
+ <xsl:copy-of select="*[local-name() = 'title']/node()"/>
3057
+ </xsl:otherwise>
3058
+ </xsl:choose>
3059
+ </xsl:template><xsl:template name="insertTitleAsListItem">
3060
+ <xsl:param name="provisional-distance-between-starts" select="'9.5mm'"/>
3061
+ <xsl:variable name="section">
3062
+ <xsl:for-each select="..">
3063
+ <xsl:call-template name="getSection"/>
3064
+ </xsl:for-each>
3065
+ </xsl:variable>
3066
+ <fo:list-block provisional-distance-between-starts="{$provisional-distance-between-starts}">
3067
+ <fo:list-item>
3068
+ <fo:list-item-label end-indent="label-end()">
3069
+ <fo:block>
3070
+ <xsl:value-of select="$section"/>
3071
+ </fo:block>
3072
+ </fo:list-item-label>
3073
+ <fo:list-item-body start-indent="body-start()">
3074
+ <fo:block>
3075
+ <xsl:choose>
3076
+ <xsl:when test="*[local-name() = 'tab']">
3077
+ <xsl:apply-templates select="*[local-name() = 'tab'][1]/following-sibling::node()"/>
3078
+ </xsl:when>
3079
+ <xsl:otherwise>
3080
+ <xsl:apply-templates/>
3081
+ </xsl:otherwise>
3082
+ </xsl:choose>
3083
+ </fo:block>
3084
+ </fo:list-item-body>
3085
+ </fo:list-item>
3086
+ </fo:list-block>
3087
+ </xsl:template><xsl:template name="extractTitle">
3088
+ <xsl:choose>
3089
+ <xsl:when test="*[local-name() = 'tab']">
3090
+ <xsl:apply-templates select="*[local-name() = 'tab'][1]/following-sibling::node()"/>
3091
+ </xsl:when>
3092
+ <xsl:otherwise>
3093
+ <xsl:apply-templates/>
3094
+ </xsl:otherwise>
3095
+ </xsl:choose>
3096
+ </xsl:template><xsl:template match="*[local-name() = 'fn']" mode="contents"/><xsl:template match="*[local-name() = 'fn']" mode="contents_item"/><xsl:template match="*[local-name() = 'tab']" mode="contents_item">
3097
+ <xsl:text> </xsl:text>
3098
+ </xsl:template><xsl:template match="*[local-name() = 'strong']" mode="contents_item">
3099
+ <xsl:copy>
3100
+ <xsl:apply-templates mode="contents_item"/>
3101
+ </xsl:copy>
3102
+ </xsl:template><xsl:template match="*[local-name() = 'br']" mode="contents_item">
3103
+ <xsl:text> </xsl:text>
3104
+ </xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
3105
+ <fo:block xsl:use-attribute-sets="sourcecode-style">
3106
+ <xsl:apply-templates/>
3107
+ </fo:block>
3108
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
3109
+ </xsl:template><xsl:template match="*[local-name()='sourcecode']/text()">
3110
+ <xsl:variable name="text">
3111
+ <xsl:call-template name="add-zero-spaces-equal"/>
3112
+ </xsl:variable>
3113
+ <xsl:call-template name="add-zero-spaces">
3114
+ <xsl:with-param name="text" select="$text"/>
3115
+ </xsl:call-template>
3116
+ </xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']" mode="presentation">
3117
+ <xsl:if test="normalize-space() != ''">
3118
+ <fo:block xsl:use-attribute-sets="sourcecode-name-style">
3119
+
3120
+ <xsl:apply-templates/>
3121
+ </fo:block>
3122
+ </xsl:if>
3123
+ </xsl:template><xsl:template match="*[local-name() = 'permission']">
3124
+ <fo:block id="{@id}" xsl:use-attribute-sets="permission-style">
3125
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
3126
+ <xsl:apply-templates/>
3127
+ </fo:block>
3128
+ </xsl:template><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']" mode="presentation">
3129
+ <xsl:if test="normalize-space() != ''">
3130
+ <fo:block xsl:use-attribute-sets="permission-name-style">
3131
+ <xsl:apply-templates/>
3132
+
3133
+ </fo:block>
3134
+ </xsl:if>
3135
+ </xsl:template><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'label']">
3136
+ <fo:block xsl:use-attribute-sets="permission-label-style">
3137
+ <xsl:apply-templates/>
3138
+ </fo:block>
3139
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']">
3140
+ <fo:block id="{@id}" xsl:use-attribute-sets="requirement-style">
3141
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
3142
+ <xsl:apply-templates select="*[local-name()='label']" mode="presentation"/>
3143
+ <xsl:apply-templates select="@obligation" mode="presentation"/>
3144
+ <xsl:apply-templates select="*[local-name()='subject']" mode="presentation"/>
3145
+ <xsl:apply-templates/>
3146
+ </fo:block>
3147
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']" mode="presentation">
3148
+ <xsl:if test="normalize-space() != ''">
3149
+ <fo:block xsl:use-attribute-sets="requirement-name-style">
3150
+
3151
+ <xsl:apply-templates/>
3152
+
3153
+ </fo:block>
3154
+ </xsl:if>
3155
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']" mode="presentation">
3156
+ <fo:block xsl:use-attribute-sets="requirement-label-style">
3157
+ <xsl:apply-templates/>
3158
+ </fo:block>
3159
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/@obligation" mode="presentation">
3160
+ <fo:block>
3161
+ <fo:inline padding-right="3mm">Obligation</fo:inline><xsl:value-of select="."/>
3162
+ </fo:block>
3163
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" mode="presentation">
3164
+ <fo:block xsl:use-attribute-sets="requirement-subject-style">
3165
+ <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
3166
+ </fo:block>
3167
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'inherit']">
3168
+ <fo:block xsl:use-attribute-sets="requirement-inherit-style">
3169
+ <xsl:text>Dependency </xsl:text><xsl:apply-templates/>
3170
+ </fo:block>
3171
+ </xsl:template><xsl:template match="*[local-name() = 'recommendation']">
3172
+ <fo:block id="{@id}" xsl:use-attribute-sets="recommendation-style">
3173
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
3174
+ <xsl:apply-templates/>
3175
+ </fo:block>
3176
+ </xsl:template><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']" mode="presentation">
3177
+ <xsl:if test="normalize-space() != ''">
3178
+ <fo:block xsl:use-attribute-sets="recommendation-name-style">
3179
+ <xsl:apply-templates/>
3180
+
3181
+ </fo:block>
3182
+ </xsl:if>
3183
+ </xsl:template><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'label']">
3184
+ <fo:block xsl:use-attribute-sets="recommendation-label-style">
3185
+ <xsl:apply-templates/>
3186
+ </fo:block>
3187
+ </xsl:template><xsl:template match="*[local-name() = 'termexample']">
3188
+ <fo:block id="{@id}" xsl:use-attribute-sets="termexample-style">
3189
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
3190
+ <xsl:apply-templates/>
3191
+ </fo:block>
3192
+ </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']" mode="presentation">
3193
+ <xsl:if test="normalize-space() != ''">
3194
+ <fo:inline xsl:use-attribute-sets="termexample-name-style">
3195
+ <xsl:apply-templates/>
3196
+ </fo:inline>
3197
+ </xsl:if>
3198
+ </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'p']">
3199
+ <fo:inline><xsl:apply-templates/></fo:inline>
3200
+ </xsl:template><xsl:template match="*[local-name() = 'example']">
3201
+ <fo:block id="{@id}" xsl:use-attribute-sets="example-style">
3202
+
3203
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
3204
+
3205
+ <xsl:variable name="element">
3206
+ block
3207
+
3208
+ </xsl:variable>
3209
+
3210
+ <xsl:choose>
3211
+ <xsl:when test="normalize-space($element) = 'block'">
3212
+ <fo:block xsl:use-attribute-sets="example-body-style">
3213
+ <xsl:apply-templates/>
3214
+ </fo:block>
3215
+ </xsl:when>
3216
+ <xsl:otherwise>
3217
+ <fo:inline>
3218
+ <xsl:apply-templates/>
3219
+ </fo:inline>
3220
+ </xsl:otherwise>
3221
+ </xsl:choose>
3222
+
3223
+ </fo:block>
3224
+ </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']" mode="presentation">
3225
+
3226
+ <xsl:variable name="element">
3227
+
3228
+ inline
3229
+ </xsl:variable>
3230
+ <xsl:choose>
3231
+ <xsl:when test="ancestor::*[local-name() = 'appendix']">
3232
+ <fo:inline>
3233
+ <xsl:apply-templates/>
3234
+ </fo:inline>
3235
+ </xsl:when>
3236
+ <xsl:when test="normalize-space($element) = 'block'">
3237
+ <fo:block xsl:use-attribute-sets="example-name-style">
3238
+ <xsl:apply-templates/>
3239
+ </fo:block>
3240
+ </xsl:when>
3241
+ <xsl:otherwise>
3242
+ <fo:inline xsl:use-attribute-sets="example-name-style">
3243
+ <xsl:apply-templates/>
3244
+ </fo:inline>
3332
3245
  </xsl:otherwise>
3333
3246
  </xsl:choose>
3334
- </xsl:template><xsl:template name="capitalize">
3335
- <xsl:param name="str"/>
3336
- <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(substring($str, 1, 1)))"/>
3337
- <xsl:value-of select="substring($str, 2)"/>
3338
- </xsl:template><xsl:template match="mathml:math">
3339
- <fo:inline font-family="STIX2Math">
3340
- <fo:instream-foreign-object fox:alt-text="Math">
3341
- <xsl:copy-of select="."/>
3342
- </fo:instream-foreign-object>
3343
- </fo:inline>
3344
- </xsl:template><xsl:template match="*[local-name()='localityStack']">
3345
- <xsl:for-each select="*[local-name()='locality']">
3346
- <xsl:if test="position() =1"><xsl:text>, </xsl:text></xsl:if>
3347
- <xsl:apply-templates select="."/>
3348
- <xsl:if test="position() != last()"><xsl:text>; </xsl:text></xsl:if>
3349
- </xsl:for-each>
3350
- </xsl:template><xsl:template match="*[local-name()='link']" name="link">
3351
- <xsl:variable name="target">
3247
+
3248
+ </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
3249
+ <fo:block xsl:use-attribute-sets="example-p-style">
3250
+
3251
+ <xsl:apply-templates/>
3252
+ </fo:block>
3253
+ </xsl:template><xsl:template match="*[local-name() = 'termsource']">
3254
+ <fo:block xsl:use-attribute-sets="termsource-style">
3255
+ <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
3256
+ <xsl:variable name="termsource_text">
3257
+ <xsl:apply-templates/>
3258
+ </xsl:variable>
3352
3259
  <xsl:choose>
3353
- <xsl:when test="starts-with(normalize-space(@target), 'mailto:')">
3354
- <xsl:value-of select="normalize-space(substring-after(@target, 'mailto:'))"/>
3260
+ <xsl:when test="starts-with(normalize-space($termsource_text), '[')">
3261
+ <xsl:apply-templates/>
3355
3262
  </xsl:when>
3356
3263
  <xsl:otherwise>
3357
- <xsl:value-of select="normalize-space(@target)"/>
3264
+ <xsl:text>[</xsl:text>
3265
+ <xsl:apply-templates/>
3266
+ <xsl:text>]</xsl:text>
3358
3267
  </xsl:otherwise>
3359
3268
  </xsl:choose>
3269
+ </fo:block>
3270
+ </xsl:template><xsl:template match="*[local-name() = 'termsource']/text()">
3271
+ <xsl:if test="normalize-space() != ''">
3272
+ <xsl:value-of select="."/>
3273
+ </xsl:if>
3274
+ </xsl:template><xsl:template match="*[local-name() = 'origin']">
3275
+ <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
3276
+
3277
+ <fo:inline xsl:use-attribute-sets="origin-style">
3278
+ <xsl:apply-templates/>
3279
+ </fo:inline>
3280
+ </fo:basic-link>
3281
+ </xsl:template><xsl:template match="*[local-name() = 'modification']/*[local-name() = 'p']">
3282
+ <fo:inline><xsl:apply-templates/></fo:inline>
3283
+ </xsl:template><xsl:template match="*[local-name() = 'modification']/text()">
3284
+ <xsl:if test="normalize-space() != ''">
3285
+ <xsl:value-of select="."/>
3286
+ </xsl:if>
3287
+ </xsl:template><xsl:template match="*[local-name() = 'quote']">
3288
+
3289
+ <fo:block xsl:use-attribute-sets="quote-style">
3290
+ <xsl:apply-templates select=".//*[local-name() = 'p']"/>
3291
+ </fo:block>
3292
+ <xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
3293
+ <fo:block xsl:use-attribute-sets="quote-source-style">
3294
+ <!-- — ISO, ISO 7301:2011, Clause 1 -->
3295
+ <xsl:apply-templates select="*[local-name() = 'author']"/>
3296
+ <xsl:apply-templates select="*[local-name() = 'source']"/>
3297
+ </fo:block>
3298
+ </xsl:if>
3299
+ </xsl:template><xsl:template match="*[local-name() = 'source']">
3300
+ <xsl:if test="../*[local-name() = 'author']">
3301
+ <xsl:text>, </xsl:text>
3302
+ </xsl:if>
3303
+ <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
3304
+ <xsl:apply-templates/>
3305
+ </fo:basic-link>
3306
+ </xsl:template><xsl:template match="*[local-name() = 'author']">
3307
+ <xsl:text>— </xsl:text>
3308
+ <xsl:apply-templates/>
3309
+ </xsl:template><xsl:template match="*[local-name() = 'eref']">
3310
+ <fo:inline xsl:use-attribute-sets="eref-style">
3311
+ <xsl:if test="@type = 'footnote'">
3312
+
3313
+
3314
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
3315
+ <xsl:attribute name="font-size">50%</xsl:attribute>
3316
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
3317
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
3318
+
3319
+ </xsl:if>
3320
+
3321
+ <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
3322
+
3323
+ <xsl:if test="@type = 'inline'">
3324
+
3325
+
3326
+ </xsl:if>
3327
+
3328
+
3329
+ <xsl:apply-templates/>
3330
+ </fo:basic-link>
3331
+ </fo:inline>
3332
+ </xsl:template><xsl:template match="*[local-name() = 'tab']">
3333
+ <!-- zero-space char -->
3334
+ <xsl:variable name="depth">
3335
+ <xsl:call-template name="getLevel">
3336
+ <xsl:with-param name="depth" select="../@depth"/>
3337
+ </xsl:call-template>
3360
3338
  </xsl:variable>
3361
- <fo:inline xsl:use-attribute-sets="link-style">
3339
+
3340
+ <xsl:variable name="padding">
3341
+
3342
+
3343
+ 3
3344
+
3345
+
3346
+
3347
+
3348
+
3349
+
3350
+
3351
+
3352
+
3353
+
3354
+
3355
+
3356
+
3357
+
3358
+ </xsl:variable>
3359
+
3360
+ <xsl:variable name="padding-right">
3362
3361
  <xsl:choose>
3363
- <xsl:when test="$target = ''">
3364
- <xsl:apply-templates/>
3365
- </xsl:when>
3362
+ <xsl:when test="normalize-space($padding) = ''">0</xsl:when>
3366
3363
  <xsl:otherwise>
3367
- <fo:basic-link external-destination="{@target}" fox:alt-text="{@target}">
3368
- <xsl:choose>
3369
- <xsl:when test="normalize-space(.) = ''">
3370
- <xsl:value-of select="$target"/>
3371
- </xsl:when>
3372
- <xsl:otherwise>
3373
- <xsl:apply-templates/>
3374
- </xsl:otherwise>
3375
- </xsl:choose>
3376
- </fo:basic-link>
3364
+ <xsl:value-of select="normalize-space($padding)"/>
3377
3365
  </xsl:otherwise>
3378
3366
  </xsl:choose>
3379
- </fo:inline>
3380
- </xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
3381
- <fo:block xsl:use-attribute-sets="sourcecode-style">
3382
- <!-- <xsl:choose>
3383
- <xsl:when test="@lang = 'en'"></xsl:when>
3384
- <xsl:otherwise> -->
3385
- <xsl:attribute name="white-space">pre</xsl:attribute>
3386
- <xsl:attribute name="wrap-option">wrap</xsl:attribute>
3387
- <!-- </xsl:otherwise>
3388
- </xsl:choose> -->
3367
+ </xsl:variable>
3368
+
3369
+ <xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/>
3370
+
3371
+ <xsl:choose>
3372
+ <xsl:when test="$language = 'zh'">
3373
+ <fo:inline><xsl:value-of select="$tab_zh"/></fo:inline>
3374
+ </xsl:when>
3375
+ <xsl:when test="../../@inline-header = 'true'">
3376
+ <fo:inline font-size="90%">
3377
+ <xsl:call-template name="insertNonBreakSpaces">
3378
+ <xsl:with-param name="count" select="$padding-right"/>
3379
+ </xsl:call-template>
3380
+ </fo:inline>
3381
+ </xsl:when>
3382
+ <xsl:otherwise>
3383
+ <fo:inline padding-right="{$padding-right}mm">​</fo:inline>
3384
+ </xsl:otherwise>
3385
+ </xsl:choose>
3386
+
3387
+ </xsl:template><xsl:template name="insertNonBreakSpaces">
3388
+ <xsl:param name="count"/>
3389
+ <xsl:if test="$count &gt; 0">
3390
+ <xsl:text> </xsl:text>
3391
+ <xsl:call-template name="insertNonBreakSpaces">
3392
+ <xsl:with-param name="count" select="$count - 1"/>
3393
+ </xsl:call-template>
3394
+ </xsl:if>
3395
+ </xsl:template><xsl:template match="*[local-name() = 'domain']">
3396
+ <fo:inline xsl:use-attribute-sets="domain-style">&lt;<xsl:apply-templates/>&gt;</fo:inline>
3397
+ <xsl:text> </xsl:text>
3398
+ </xsl:template><xsl:template match="*[local-name() = 'admitted']">
3399
+ <fo:block xsl:use-attribute-sets="admitted-style">
3389
3400
  <xsl:apply-templates/>
3390
3401
  </fo:block>
3391
- </xsl:template><xsl:template match="*[local-name()='bookmark']">
3392
- <fo:inline id="{@id}"/>
3393
- </xsl:template><xsl:template match="*[local-name()='appendix']">
3394
- <fo:block id="{@id}" xsl:use-attribute-sets="appendix-style">
3395
- <xsl:variable name="title-appendix">
3396
- <xsl:call-template name="getTitle">
3397
- <xsl:with-param name="name" select="'title-appendix'"/>
3398
- </xsl:call-template>
3399
- </xsl:variable>
3400
- <fo:inline padding-right="5mm"><xsl:value-of select="$title-appendix"/> <xsl:number/></fo:inline>
3401
- <xsl:apply-templates select="*[local-name()='title']" mode="process"/>
3402
+ </xsl:template><xsl:template match="*[local-name() = 'deprecates']">
3403
+ <xsl:variable name="title-deprecated">
3404
+ <xsl:call-template name="getTitle">
3405
+ <xsl:with-param name="name" select="'title-deprecated'"/>
3406
+ </xsl:call-template>
3407
+ </xsl:variable>
3408
+ <fo:block xsl:use-attribute-sets="deprecates-style">
3409
+ <xsl:value-of select="$title-deprecated"/>: <xsl:apply-templates/>
3410
+ </fo:block>
3411
+ </xsl:template><xsl:template match="*[local-name() = 'definition']">
3412
+ <fo:block xsl:use-attribute-sets="definition-style">
3413
+ <xsl:apply-templates/>
3402
3414
  </fo:block>
3415
+ </xsl:template><xsl:template match="*[local-name() = 'definition'][preceding-sibling::*[local-name() = 'domain']]">
3403
3416
  <xsl:apply-templates/>
3404
- </xsl:template><xsl:template match="*[local-name()='appendix']/*[local-name()='title']"/><xsl:template match="*[local-name()='appendix']/*[local-name()='title']" mode="process">
3405
- <fo:inline><xsl:apply-templates/></fo:inline>
3406
- </xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']">
3407
- <fo:block xsl:use-attribute-sets="appendix-example-style">
3408
- <xsl:variable name="claims_id" select="ancestor::*[local-name()='clause'][1]/@id"/>
3409
- <xsl:variable name="title-example">
3410
- <xsl:call-template name="getTitle">
3411
- <xsl:with-param name="name" select="'title-example'"/>
3412
- </xsl:call-template>
3413
- </xsl:variable>
3414
- <xsl:value-of select="$title-example"/>
3415
- <xsl:if test="count(ancestor::*[local-name()='clause'][1]//*[local-name()='example']) &gt; 1">
3416
- <xsl:number count="*[local-name()='example'][ancestor::*[local-name()='clause'][@id = $claims_id]]" level="any"/><xsl:text> </xsl:text>
3417
+ </xsl:template><xsl:template match="*[local-name() = 'definition'][preceding-sibling::*[local-name() = 'domain']]/*[local-name() = 'p']">
3418
+ <fo:inline> <xsl:apply-templates/></fo:inline>
3419
+ <fo:block> </fo:block>
3420
+ </xsl:template><xsl:template match="/*/*[local-name() = 'sections']/*" priority="2">
3421
+
3422
+ <fo:block>
3423
+ <xsl:call-template name="setId"/>
3424
+
3425
+
3426
+
3427
+ <xsl:variable name="pos"><xsl:number count="gb:sections/gb:clause | gb:sections/gb:terms"/></xsl:variable>
3428
+ <xsl:if test="$pos &gt;= 2">
3429
+ <xsl:attribute name="space-before">18pt</xsl:attribute>
3417
3430
  </xsl:if>
3418
- <xsl:if test="*[local-name()='name']">
3419
- <xsl:text>— </xsl:text><xsl:apply-templates select="*[local-name()='name']" mode="process"/>
3420
- </xsl:if>
3431
+
3432
+
3433
+
3434
+
3435
+
3436
+
3437
+
3438
+
3439
+ <xsl:apply-templates/>
3421
3440
  </fo:block>
3422
- <xsl:apply-templates/>
3423
- </xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']/*[local-name()='name']"/><xsl:template match="*[local-name()='appendix']//*[local-name()='example']/*[local-name()='name']" mode="process">
3424
- <fo:inline><xsl:apply-templates/></fo:inline>
3425
- </xsl:template><xsl:template match="*[local-name() = 'callout']">
3426
- <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}">&lt;<xsl:apply-templates/>&gt;</fo:basic-link>
3427
- </xsl:template><xsl:template match="*[local-name() = 'annotation']">
3428
- <xsl:variable name="annotation-id" select="@id"/>
3429
- <xsl:variable name="callout" select="//*[@target = $annotation-id]/text()"/>
3430
- <fo:block id="{$annotation-id}" white-space="nowrap">
3431
- <fo:inline>
3432
- <xsl:apply-templates>
3433
- <xsl:with-param name="callout" select="concat('&lt;', $callout, '&gt; ')"/>
3434
- </xsl:apply-templates>
3435
- </fo:inline>
3436
- </fo:block>
3437
- </xsl:template><xsl:template match="*[local-name() = 'annotation']/*[local-name() = 'p']">
3438
- <xsl:param name="callout"/>
3439
- <fo:inline id="{@id}">
3440
- <!-- for first p in annotation, put <x> -->
3441
- <xsl:if test="not(preceding-sibling::*[local-name() = 'p'])"><xsl:value-of select="$callout"/></xsl:if>
3441
+
3442
+
3443
+
3444
+ </xsl:template><xsl:template match="/*/*[local-name() = 'preface']/*" priority="2">
3445
+ <fo:block break-after="page"/>
3446
+ <fo:block>
3447
+ <xsl:call-template name="setId"/>
3442
3448
  <xsl:apply-templates/>
3443
- </fo:inline>
3444
- </xsl:template><xsl:template match="*[local-name() = 'modification']">
3445
- <xsl:variable name="title-modified">
3446
- <xsl:call-template name="getTitle">
3447
- <xsl:with-param name="name" select="'title-modified'"/>
3448
- </xsl:call-template>
3449
- </xsl:variable>
3450
- <xsl:choose>
3451
- <xsl:when test="$lang = 'zh'"><xsl:text>、</xsl:text><xsl:value-of select="$title-modified"/><xsl:text>—</xsl:text></xsl:when>
3452
- <xsl:otherwise><xsl:text>, </xsl:text><xsl:value-of select="$title-modified"/><xsl:text> — </xsl:text></xsl:otherwise>
3453
- </xsl:choose>
3449
+ </fo:block>
3450
+ </xsl:template><xsl:template match="*[local-name() = 'clause']">
3451
+ <fo:block>
3452
+ <xsl:call-template name="setId"/>
3453
+ <xsl:apply-templates/>
3454
+ </fo:block>
3455
+ </xsl:template><xsl:template match="*[local-name() = 'definitions']">
3456
+ <fo:block id="{@id}">
3457
+ <xsl:apply-templates/>
3458
+ </fo:block>
3459
+ </xsl:template><xsl:template match="/*/*[local-name() = 'bibliography']/*[local-name() = 'references'][@id = '_normative_references' or @id = '_references']">
3460
+
3461
+ <fo:block id="{@id}">
3462
+ <xsl:apply-templates/>
3463
+ </fo:block>
3464
+ </xsl:template><xsl:template match="*[local-name() = 'annex']">
3465
+ <fo:block break-after="page"/>
3466
+ <fo:block id="{@id}">
3467
+
3468
+ </fo:block>
3454
3469
  <xsl:apply-templates/>
3470
+ </xsl:template><xsl:template match="*[local-name() = 'review']">
3471
+ <!-- comment 2019-11-29 -->
3472
+ <!-- <fo:block font-weight="bold">Review:</fo:block>
3473
+ <xsl:apply-templates /> -->
3474
+ </xsl:template><xsl:template match="*[local-name() = 'name']/text()">
3475
+ <!-- 0xA0 to space replacement -->
3476
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
3477
+ </xsl:template><xsl:template match="*[local-name() = 'errata']">
3478
+ <!-- <row>
3479
+ <date>05-07-2013</date>
3480
+ <type>Editorial</type>
3481
+ <change>Changed CA-9 Priority Code from P1 to P2 in <xref target="tabled2"/>.</change>
3482
+ <pages>D-3</pages>
3483
+ </row>
3484
+ -->
3485
+ <fo:table table-layout="fixed" width="100%" font-size="10pt" border="1pt solid black">
3486
+ <fo:table-column column-width="20mm"/>
3487
+ <fo:table-column column-width="23mm"/>
3488
+ <fo:table-column column-width="107mm"/>
3489
+ <fo:table-column column-width="15mm"/>
3490
+ <fo:table-body>
3491
+ <fo:table-row font-family="Arial" text-align="center" font-weight="bold" background-color="black" color="white">
3492
+ <fo:table-cell border="1pt solid black"><fo:block>Date</fo:block></fo:table-cell>
3493
+ <fo:table-cell border="1pt solid black"><fo:block>Type</fo:block></fo:table-cell>
3494
+ <fo:table-cell border="1pt solid black"><fo:block>Change</fo:block></fo:table-cell>
3495
+ <fo:table-cell border="1pt solid black"><fo:block>Pages</fo:block></fo:table-cell>
3496
+ </fo:table-row>
3497
+ <xsl:apply-templates/>
3498
+ </fo:table-body>
3499
+ </fo:table>
3500
+ </xsl:template><xsl:template match="*[local-name() = 'errata']/*[local-name() = 'row']">
3501
+ <fo:table-row>
3502
+ <xsl:apply-templates/>
3503
+ </fo:table-row>
3504
+ </xsl:template><xsl:template match="*[local-name() = 'errata']/*[local-name() = 'row']/*">
3505
+ <fo:table-cell border="1pt solid black" padding-left="1mm" padding-top="0.5mm">
3506
+ <fo:block><xsl:apply-templates/></fo:block>
3507
+ </fo:table-cell>
3455
3508
  </xsl:template><xsl:template name="convertDate">
3456
3509
  <xsl:param name="date"/>
3457
3510
  <xsl:param name="format" select="'short'"/>
@@ -3584,27 +3637,49 @@
3584
3637
  </xsl:otherwise>
3585
3638
  </xsl:choose>
3586
3639
  </xsl:template><xsl:template name="getLevel">
3587
- <xsl:variable name="level_total" select="count(ancestor::*)"/>
3588
- <xsl:variable name="level">
3589
- <xsl:choose>
3590
- <xsl:when test="ancestor::*[local-name() = 'preface']">
3591
- <xsl:value-of select="$level_total - 2"/>
3592
- </xsl:when>
3593
- <xsl:when test="ancestor::*[local-name() = 'sections']">
3594
- <xsl:value-of select="$level_total - 2"/>
3595
- </xsl:when>
3596
- <xsl:when test="ancestor::*[local-name() = 'bibliography']">
3597
- <xsl:value-of select="$level_total - 2"/>
3598
- </xsl:when>
3599
- <xsl:when test="local-name(ancestor::*[1]) = 'annex'">1</xsl:when>
3600
- <xsl:otherwise>
3601
- <xsl:value-of select="$level_total - 1"/>
3602
- </xsl:otherwise>
3603
- </xsl:choose>
3604
- </xsl:variable>
3605
- <xsl:value-of select="$level"/>
3606
- </xsl:template><xsl:template name="getSubSection">
3607
- <xsl:number format=".1" level="multiple" count="*[local-name() = 'clause']/*[local-name() = 'clause'] | *[local-name() = 'clause']/*[local-name() = 'terms'] | *[local-name() = 'terms']/*[local-name() = 'term'] | *[local-name() = 'clause']/*[local-name() = 'term'] | *[local-name() = 'terms']/*[local-name() = 'clause'] | *[local-name() = 'terms']/*[local-name() = 'definitions'] | *[local-name() = 'definitions']/*[local-name() = 'clause'] | *[local-name() = 'clause']/*[local-name() = 'definitions'] | *[local-name() = 'definitions']/*[local-name() = 'definitions'] | *[local-name() = 'clause']/*[local-name() = 'references']"/>
3640
+ <xsl:param name="depth"/>
3641
+ <xsl:choose>
3642
+ <xsl:when test="normalize-space(@depth) != ''">
3643
+ <xsl:value-of select="@depth"/>
3644
+ </xsl:when>
3645
+ <xsl:when test="normalize-space($depth) != ''">
3646
+ <xsl:value-of select="$depth"/>
3647
+ </xsl:when>
3648
+ <xsl:otherwise>
3649
+ <xsl:variable name="level_total" select="count(ancestor::*)"/>
3650
+ <xsl:variable name="level">
3651
+ <xsl:choose>
3652
+ <xsl:when test="parent::*[local-name() = 'preface']">
3653
+ <xsl:value-of select="$level_total - 1"/>
3654
+ </xsl:when>
3655
+ <xsl:when test="ancestor::*[local-name() = 'preface']">
3656
+ <xsl:value-of select="$level_total - 2"/>
3657
+ </xsl:when>
3658
+ <!-- <xsl:when test="parent::*[local-name() = 'sections']">
3659
+ <xsl:value-of select="$level_total - 1"/>
3660
+ </xsl:when> -->
3661
+ <xsl:when test="ancestor::*[local-name() = 'sections']">
3662
+ <xsl:value-of select="$level_total - 1"/>
3663
+ </xsl:when>
3664
+ <xsl:when test="ancestor::*[local-name() = 'bibliography']">
3665
+ <xsl:value-of select="$level_total - 1"/>
3666
+ </xsl:when>
3667
+ <xsl:when test="parent::*[local-name() = 'annex']">
3668
+ <xsl:value-of select="$level_total - 1"/>
3669
+ </xsl:when>
3670
+ <xsl:when test="ancestor::*[local-name() = 'annex']">
3671
+ <xsl:value-of select="$level_total"/>
3672
+ </xsl:when>
3673
+ <xsl:when test="local-name() = 'annex'">1</xsl:when>
3674
+ <xsl:when test="local-name(ancestor::*[1]) = 'annex'">1</xsl:when>
3675
+ <xsl:otherwise>
3676
+ <xsl:value-of select="$level_total - 1"/>
3677
+ </xsl:otherwise>
3678
+ </xsl:choose>
3679
+ </xsl:variable>
3680
+ <xsl:value-of select="$level"/>
3681
+ </xsl:otherwise>
3682
+ </xsl:choose>
3608
3683
  </xsl:template><xsl:template name="split">
3609
3684
  <xsl:param name="pText" select="."/>
3610
3685
  <xsl:param name="sep" select="','"/>
@@ -3650,4 +3725,15 @@
3650
3725
  <xsl:when test="$language = 'cn'">Chinese</xsl:when>
3651
3726
  <xsl:otherwise><xsl:value-of select="$language"/></xsl:otherwise>
3652
3727
  </xsl:choose>
3728
+ </xsl:template><xsl:template name="setId">
3729
+ <xsl:attribute name="id">
3730
+ <xsl:choose>
3731
+ <xsl:when test="@id">
3732
+ <xsl:value-of select="@id"/>
3733
+ </xsl:when>
3734
+ <xsl:otherwise>
3735
+ <xsl:value-of select="generate-id()"/>
3736
+ </xsl:otherwise>
3737
+ </xsl:choose>
3738
+ </xsl:attribute>
3653
3739
  </xsl:template></xsl:stylesheet>