metanorma-nist 1.2.2 → 1.2.3

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: 567105c7de8ee67a8864ef8f5001ef078ad65580a15c7766ac32faa65aa192a3
4
- data.tar.gz: 12507bb0dad9555461ca6ed5fa9943c6d4c14e9f2505cbff626aeec6c18825d3
3
+ metadata.gz: bf785a903733a43d512bf78b6a9ed63b1366d3608e64cdb7a107b0af44c83d3f
4
+ data.tar.gz: edbff6b8f91a32ea9c2866c35d50ce17802626d5c1edc26f73f3429195c9b497
5
5
  SHA512:
6
- metadata.gz: 75df1bf28376729c76247c9a23132fc58aa369f32cceff62a54951dd80a4ffddb96766be7b6187f2085767fd444859af98e628cf77e8c69ccf21aacd6ba88016
7
- data.tar.gz: 3ef6cac86084b8c56c2b634fb3064408465c5e311331f812446a688c78557512fc1cc4f67c0dfdf0d0087e49413584c7bf4d850eb0fae96936550fc856d9255c
6
+ metadata.gz: b6cca2e46cd13198d8e21ee48231c7046e0578c2eda603857d015ecd3944302b785d433f9fbccb1d28f45bbc1857a3bd0d33d1167f4a252589a9a1b038ac45c3
7
+ data.tar.gz: 88f9452e81d23d1029dc6030b3a851d6a6332b09c2726a4dce3125974f570d7aa0bf63f6701e19f3e9ee1b7992242f9a43884ba02124228b13b092d86d923347
@@ -158,7 +158,17 @@
158
158
  <data type="ID"/>
159
159
  </attribute>
160
160
  <oneOrMore>
161
- <ref name="paragraph"/>
161
+ <choice>
162
+ <ref name="formula"/>
163
+ <ref name="ul"/>
164
+ <ref name="ol"/>
165
+ <ref name="dl"/>
166
+ <ref name="quote"/>
167
+ <ref name="sourcecode"/>
168
+ <ref name="paragraph"/>
169
+ <ref name="table"/>
170
+ <ref name="figure"/>
171
+ </choice>
162
172
  </oneOrMore>
163
173
  </element>
164
174
  </define>
@@ -402,6 +412,16 @@
402
412
  </choice>
403
413
  </attribute>
404
414
  </optional>
415
+ <optional>
416
+ <attribute name="valign">
417
+ <choice>
418
+ <value>top</value>
419
+ <value>middle</value>
420
+ <value>bottom</value>
421
+ <value>baseline</value>
422
+ </choice>
423
+ </attribute>
424
+ </optional>
405
425
  <choice>
406
426
  <zeroOrMore>
407
427
  <ref name="TextElement"/>
@@ -429,6 +449,16 @@
429
449
  </choice>
430
450
  </attribute>
431
451
  </optional>
452
+ <optional>
453
+ <attribute name="valign">
454
+ <choice>
455
+ <value>top</value>
456
+ <value>middle</value>
457
+ <value>bottom</value>
458
+ <value>baseline</value>
459
+ </choice>
460
+ </attribute>
461
+ </optional>
432
462
  <choice>
433
463
  <zeroOrMore>
434
464
  <ref name="TextElement"/>
@@ -581,6 +581,8 @@
581
581
  <ref name="ol"/>
582
582
  <ref name="dl"/>
583
583
  <ref name="formula"/>
584
+ <ref name="quote"/>
585
+ <ref name="sourcecode"/>
584
586
  </choice>
585
587
  </oneOrMore>
586
588
  </element>
@@ -664,6 +666,16 @@
664
666
  </choice>
665
667
  </attribute>
666
668
  </optional>
669
+ <optional>
670
+ <attribute name="valign">
671
+ <choice>
672
+ <value>top</value>
673
+ <value>middle</value>
674
+ <value>bottom</value>
675
+ <value>baseline</value>
676
+ </choice>
677
+ </attribute>
678
+ </optional>
667
679
  <choice>
668
680
  <zeroOrMore>
669
681
  <choice>
@@ -700,6 +712,16 @@
700
712
  </choice>
701
713
  </attribute>
702
714
  </optional>
715
+ <optional>
716
+ <attribute name="valign">
717
+ <choice>
718
+ <value>top</value>
719
+ <value>middle</value>
720
+ <value>bottom</value>
721
+ <value>baseline</value>
722
+ </choice>
723
+ </attribute>
724
+ </optional>
703
725
  <choice>
704
726
  <zeroOrMore>
705
727
  <choice>
@@ -1052,14 +1074,17 @@
1052
1074
  <ref name="section-title"/>
1053
1075
  </optional>
1054
1076
  <group>
1055
- <group>
1056
- <zeroOrMore>
1057
- <ref name="BasicBlock"/>
1058
- </zeroOrMore>
1059
- <zeroOrMore>
1060
- <ref name="note"/>
1061
- </zeroOrMore>
1062
- </group>
1077
+ <choice>
1078
+ <group>
1079
+ <zeroOrMore>
1080
+ <ref name="BasicBlock"/>
1081
+ </zeroOrMore>
1082
+ <zeroOrMore>
1083
+ <ref name="note"/>
1084
+ </zeroOrMore>
1085
+ </group>
1086
+ <ref name="amend"/>
1087
+ </choice>
1063
1088
  <zeroOrMore>
1064
1089
  <choice>
1065
1090
  <ref name="clause-subsection"/>
@@ -1510,4 +1535,79 @@
1510
1535
  <ref name="CitationType"/>
1511
1536
  </element>
1512
1537
  </define>
1538
+ <define name="amend">
1539
+ <element name="amend">
1540
+ <optional>
1541
+ <attribute name="id">
1542
+ <data type="ID"/>
1543
+ </attribute>
1544
+ </optional>
1545
+ <attribute name="change">
1546
+ <choice>
1547
+ <value>add</value>
1548
+ <value>modify</value>
1549
+ <value>delete</value>
1550
+ </choice>
1551
+ </attribute>
1552
+ <optional>
1553
+ <attribute name="path"/>
1554
+ </optional>
1555
+ <optional>
1556
+ <attribute name="path_end"/>
1557
+ </optional>
1558
+ <optional>
1559
+ <attribute name="title"/>
1560
+ </optional>
1561
+ <optional>
1562
+ <element name="location">
1563
+ <zeroOrMore>
1564
+ <ref name="locality"/>
1565
+ </zeroOrMore>
1566
+ </element>
1567
+ </optional>
1568
+ <zeroOrMore>
1569
+ <ref name="autonumber"/>
1570
+ </zeroOrMore>
1571
+ <optional>
1572
+ <element name="description">
1573
+ <zeroOrMore>
1574
+ <ref name="BasicBlock"/>
1575
+ </zeroOrMore>
1576
+ </element>
1577
+ </optional>
1578
+ <optional>
1579
+ <element name="newcontent">
1580
+ <zeroOrMore>
1581
+ <ref name="BasicBlock"/>
1582
+ </zeroOrMore>
1583
+ </element>
1584
+ </optional>
1585
+ <optional>
1586
+ <element name="description">
1587
+ <zeroOrMore>
1588
+ <ref name="BasicBlock"/>
1589
+ </zeroOrMore>
1590
+ </element>
1591
+ </optional>
1592
+ </element>
1593
+ </define>
1594
+ <define name="autonumber">
1595
+ <element name="autonumber">
1596
+ <attribute name="type">
1597
+ <choice>
1598
+ <value>requirement</value>
1599
+ <value>recommendation</value>
1600
+ <value>permission</value>
1601
+ <value>table</value>
1602
+ <value>figure</value>
1603
+ <value>admonition</value>
1604
+ <value>formula</value>
1605
+ <value>sourcecode</value>
1606
+ <value>example</value>
1607
+ <value>note</value>
1608
+ </choice>
1609
+ </attribute>
1610
+ <text/>
1611
+ </element>
1612
+ </define>
1513
1613
  </grammar>
@@ -914,7 +914,7 @@ div.WordSection2 {
914
914
  div.WordSection3 {
915
915
  page: WordSection3; }
916
916
 
917
- table.MsoISOTable {
917
+ table.MsoISOTable, table.MsoISOTableBig {
918
918
  mso-style-name: "Table NIST";
919
919
  mso-tstyle-rowband-size: 0;
920
920
  mso-tstyle-colband-size: 0;
@@ -935,7 +935,7 @@ table.MsoISOTable {
935
935
  font-size: 10.0pt;
936
936
  font-family: {{bodyfont}}; }
937
937
 
938
- table.MsoISOTable th {
938
+ table.MsoISOTable th, table.MsoISOTableBig th {
939
939
  border: solid windowtext 1pt;
940
940
  background: black;
941
941
  color: white;
@@ -944,12 +944,12 @@ table.MsoISOTable th {
944
944
  mso-border-alt: solid windowtext 1pt;
945
945
  padding: 0cm 2.85pt 0cm 2.85pt; }
946
946
 
947
- table.MsoISOTable td {
947
+ table.MsoISOTable td, table.MsoISOTableBig td {
948
948
  border: solid windowtext 1pt;
949
949
  mso-border-alt: solid windowtext 1pt;
950
950
  padding: 0cm 2.85pt 0cm 2.85pt; }
951
951
 
952
- table.MsoISOTable p {
952
+ table.MsoISOTable p, table.MsoISOTableBig p {
953
953
  font-size: 10.0pt; }
954
954
 
955
955
  table.MsoTableGrid {
@@ -1039,8 +1039,20 @@ div.example p.MsoListParagraph {
1039
1039
  font-size: 10.0pt; }
1040
1040
 
1041
1041
  div.Note p.MsoListParagraph {
1042
+ font-size: 10.0pt;
1043
+ margin-left: 1.0cm; }
1044
+
1045
+ div.Note span.stem {
1042
1046
  font-size: 10.0pt; }
1043
1047
 
1048
+ div.Note p.Sourcecode, div.Note pre.Sourcecode {
1049
+ font-size: 8.0pt;
1050
+ margin-left: 1.0cm; }
1051
+
1052
+ div.Note table.dl {
1053
+ font-size: 10.0pt;
1054
+ margin-left: 1.0cm; }
1055
+
1044
1056
  span.note_label, span.example_label, td.example_label, td.note_label {
1045
1057
  font-size: 10.0pt;
1046
1058
  font-family: {{bodyfont}}; }
@@ -868,7 +868,7 @@ div.WordSection2
868
868
  mso-paper-source:0;}
869
869
  div.WordSection3
870
870
  {page:WordSection3;}
871
- table.MsoISOTable
871
+ table.MsoISOTable, table.MsoISOTableBig
872
872
  {mso-style-name:"Table NIST";
873
873
  mso-tstyle-rowband-size:0;
874
874
  mso-tstyle-colband-size:0;
@@ -888,7 +888,7 @@ table.MsoISOTable
888
888
  mso-border-insidev:.75pt solid windowtext;
889
889
  font-size:10.0pt;
890
890
  font-family:$bodyfont;}
891
- table.MsoISOTable th
891
+ table.MsoISOTable th, table.MsoISOTableBig th
892
892
  {border:solid windowtext 1pt;
893
893
  background: black;
894
894
  color: white;
@@ -896,11 +896,11 @@ table.MsoISOTable th
896
896
  font-family:$headerfont;
897
897
  mso-border-alt:solid windowtext 1pt;
898
898
  padding:0cm 2.85pt 0cm 2.85pt;}
899
- table.MsoISOTable td
899
+ table.MsoISOTable td, table.MsoISOTableBig td
900
900
  {border:solid windowtext 1pt;
901
901
  mso-border-alt:solid windowtext 1pt;
902
902
  padding:0cm 2.85pt 0cm 2.85pt;}
903
- table.MsoISOTable p
903
+ table.MsoISOTable p, table.MsoISOTableBig p
904
904
  {font-size:10.0pt; }
905
905
  table.MsoTableGrid
906
906
  {mso-style-name:"Table Grid";
@@ -990,6 +990,20 @@ div.example p.MsoListParagraph {
990
990
 
991
991
  div.Note p.MsoListParagraph {
992
992
  font-size: 10.0pt;
993
+ margin-left: 1.0cm;
994
+ }
995
+
996
+ div.Note span.stem {
997
+ font-size: 10.0pt; }
998
+
999
+ div.Note p.Sourcecode, div.Note pre.Sourcecode {
1000
+ font-size: 8.0pt;
1001
+ margin-left: 1.0cm;
1002
+ }
1003
+
1004
+ div.Note table.dl {
1005
+ font-size: 10.0pt;
1006
+ margin-left: 1.0cm;
993
1007
  }
994
1008
 
995
1009
  span.note_label, span.example_label, td.example_label, td.note_label
@@ -862,7 +862,7 @@ div.WordSection2 {
862
862
  div.WordSection3 {
863
863
  page: WordSection3; }
864
864
 
865
- table.MsoISOTable {
865
+ table.MsoISOTable, table.MsoISOTableBig {
866
866
  mso-style-name: "Table NIST";
867
867
  mso-tstyle-rowband-size: 0;
868
868
  mso-tstyle-colband-size: 0;
@@ -883,7 +883,7 @@ table.MsoISOTable {
883
883
  font-size: 10.0pt;
884
884
  font-family: {{bodyfont}}; }
885
885
 
886
- table.MsoISOTable th {
886
+ table.MsoISOTable th, table.MsoISOTableBig th {
887
887
  border: solid windowtext 1pt;
888
888
  background: black;
889
889
  color: white;
@@ -892,7 +892,7 @@ table.MsoISOTable th {
892
892
  mso-border-alt: solid windowtext 1pt;
893
893
  padding: 0cm 2.85pt 0cm 2.85pt; }
894
894
 
895
- table.MsoISOTable td {
895
+ table.MsoISOTable td, table.MsoISOTableBig td {
896
896
  border: solid windowtext 1pt;
897
897
  mso-border-alt: solid windowtext 1pt;
898
898
  padding: 0cm 2.85pt 0cm 2.85pt; }
@@ -980,8 +980,20 @@ div.example p.MsoListParagraph {
980
980
  font-size: 10.0pt; }
981
981
 
982
982
  div.Note p.MsoListParagraph {
983
+ font-size: 10.0pt;
984
+ margin-left: 1.0cm; }
985
+
986
+ div.Note span.stem {
983
987
  font-size: 10.0pt; }
984
988
 
989
+ div.Note p.Sourcecode, div.Note pre.Sourcecode {
990
+ font-size: 8.0pt;
991
+ margin-left: 1.0cm; }
992
+
993
+ div.Note table.dl {
994
+ font-size: 10.0pt;
995
+ margin-left: 1.0cm; }
996
+
985
997
  span.note_label, span.example_label, td.example_label, td.note_label {
986
998
  font-size: 10.0pt;
987
999
  font-family: {{bodyfont}}; }
@@ -820,7 +820,7 @@ div.WordSection2
820
820
  mso-paper-source:0;}
821
821
  div.WordSection3
822
822
  {page:WordSection3;}
823
- table.MsoISOTable
823
+ table.MsoISOTable, table.MsoISOTableBig
824
824
  {mso-style-name:"Table NIST";
825
825
  mso-tstyle-rowband-size:0;
826
826
  mso-tstyle-colband-size:0;
@@ -840,7 +840,7 @@ table.MsoISOTable
840
840
  mso-border-insidev:.75pt solid windowtext;
841
841
  font-size:10.0pt;
842
842
  font-family:$bodyfont;}
843
- table.MsoISOTable th
843
+ table.MsoISOTable th, table.MsoISOTableBig th
844
844
  {border:solid windowtext 1pt;
845
845
  background: black;
846
846
  color: white;
@@ -848,7 +848,7 @@ table.MsoISOTable th
848
848
  font-family:$headerfont;
849
849
  mso-border-alt:solid windowtext 1pt;
850
850
  padding:0cm 2.85pt 0cm 2.85pt;}
851
- table.MsoISOTable td
851
+ table.MsoISOTable td, table.MsoISOTableBig td
852
852
  {border:solid windowtext 1pt;
853
853
  mso-border-alt:solid windowtext 1pt;
854
854
  padding:0cm 2.85pt 0cm 2.85pt;}
@@ -935,6 +935,20 @@ div.example p.MsoListParagraph {
935
935
 
936
936
  div.Note p.MsoListParagraph {
937
937
  font-size: 10.0pt;
938
+ margin-left: 1.0cm;
939
+ }
940
+
941
+ div.Note span.stem {
942
+ font-size: 10.0pt; }
943
+
944
+ div.Note p.Sourcecode, div.Note pre.Sourcecode {
945
+ font-size: 8.0pt;
946
+ margin-left: 1.0cm;
947
+ }
948
+
949
+ div.Note table.dl {
950
+ font-size: 10.0pt;
951
+ margin-left: 1.0cm;
938
952
  }
939
953
 
940
954
  span.note_label, span.example_label, td.example_label, td.note_label
@@ -699,8 +699,13 @@
699
699
  </xsl:choose>
700
700
  </xsl:variable>
701
701
  <xsl:element name="{$element-name}">
702
- <xsl:attribute name="font-family">Courier</xsl:attribute>
703
- <xsl:attribute name="font-size">10pt</xsl:attribute>
702
+ <xsl:attribute name="font-family">Courier</xsl:attribute>
703
+ <xsl:attribute name="font-size">
704
+ <xsl:choose>
705
+ <xsl:when test="ancestor::*[local-name()='note']">9pt</xsl:when>
706
+ <xsl:otherwise>10pt</xsl:otherwise>
707
+ </xsl:choose>
708
+ </xsl:attribute>
704
709
  <xsl:attribute name="text-align">center</xsl:attribute>
705
710
  <xsl:apply-templates/>
706
711
  </xsl:element>
@@ -779,7 +784,7 @@
779
784
  <xsl:template match="nist:docidentifier"/>
780
785
 
781
786
 
782
- <xsl:template match="nist:ul | nist:ol">
787
+ <xsl:template match="nist:ul | nist:ol" mode="ul_ol">
783
788
  <fo:list-block>
784
789
  <xsl:apply-templates/>
785
790
  </fo:list-block>
@@ -787,13 +792,28 @@
787
792
  </xsl:template>
788
793
 
789
794
  <xsl:template match="nist:ul//nist:note | nist:ol//nist:note" priority="2"/>
790
- <xsl:template match="nist:ul//nist:note/nist:p | nist:ol//nist:note/nist:p" mode="process">
795
+ <xsl:template match="nist:ul//nist:note | nist:ol//nist:note" mode="process">
796
+ <fo:block id="{@id}">
797
+ <xsl:apply-templates mode="process"/>
798
+ </fo:block>
799
+ </xsl:template>
800
+
801
+
802
+ <xsl:template match="nist:ul//nist:note/nist:name | nist:ol//nist:note/nist:name" mode="process" priority="2"/>
803
+
804
+ <xsl:template match="nist:ul//nist:note/nist:p | nist:ol//nist:note/nist:p" mode="process" priority="2">
791
805
  <fo:block font-size="11pt" margin-top="4pt">
792
806
  <xsl:apply-templates select="../nist:name" mode="presentation"/>
793
807
  <xsl:apply-templates/>
794
808
  </fo:block>
795
809
  </xsl:template>
796
810
 
811
+ <xsl:template match="nist:ul//nist:note/* | nist:ol//nist:note/*" mode="process">
812
+ <fo:block font-size="11pt">
813
+ <xsl:apply-templates select="."/>
814
+ </fo:block>
815
+ </xsl:template>
816
+
797
817
  <xsl:template match="nist:li">
798
818
  <xsl:variable name="level">
799
819
  <xsl:variable name="numtmp">
@@ -945,10 +965,23 @@
945
965
 
946
966
 
947
967
 
948
- <xsl:template match="nist:quote" priority="2">
949
- <fo:block-container margin-left="7mm" margin-right="7mm">
950
- <xsl:apply-templates/>
951
- <xsl:apply-templates select="nist:author" mode="process"/>
968
+ <xsl:template match="nist:quote" priority="2">
969
+ <fo:block-container margin-left="0mm">
970
+ <xsl:if test="parent::*[local-name() = 'note']">
971
+ <xsl:if test="not(ancestor::*[local-name() = 'table'])">
972
+ <xsl:attribute name="margin-left">5mm</xsl:attribute>
973
+ </xsl:if>
974
+ </xsl:if>
975
+ <fo:block-container margin-left="0mm">
976
+
977
+ <fo:block-container margin-left="7mm" margin-right="7mm">
978
+ <fo:block>
979
+ <xsl:apply-templates/>
980
+ <xsl:apply-templates select="nist:author" mode="process"/>
981
+ </fo:block>
982
+ </fo:block-container>
983
+
984
+ </fo:block-container>
952
985
  </fo:block-container>
953
986
  </xsl:template>
954
987
 
@@ -1099,7 +1132,12 @@
1099
1132
 
1100
1133
 
1101
1134
 
1102
- <title-source lang="en">SOURCE</title-source>
1135
+ <title-source lang="en">
1136
+
1137
+ <xsl:text>SOURCE</xsl:text>
1138
+
1139
+
1140
+ </title-source>
1103
1141
 
1104
1142
  <title-keywords lang="en">Keywords</title-keywords>
1105
1143
 
@@ -1142,6 +1180,10 @@
1142
1180
  <title-warning lang="zh">警告</title-warning>
1143
1181
 
1144
1182
  <title-amendment lang="en">AMENDMENT</title-amendment>
1183
+
1184
+ <title-continued lang="en">(continued)</title-continued>
1185
+ <title-continued lang="fr">(continué)</title-continued>
1186
+
1145
1187
  </xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:template name="getTitle">
1146
1188
  <xsl:param name="name"/>
1147
1189
  <xsl:variable name="lang">
@@ -1159,6 +1201,7 @@
1159
1201
  </xsl:template><xsl:variable name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable><xsl:variable name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable><xsl:variable name="en_chars" select="concat($lower,$upper,',.`1234567890-=~!@#$%^*()_+[]{}\|?/')"/><xsl:variable name="linebreak" select="'&#8232;'"/><xsl:attribute-set name="link-style">
1160
1202
 
1161
1203
 
1204
+
1162
1205
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
1163
1206
  <xsl:attribute name="white-space">pre</xsl:attribute>
1164
1207
  <xsl:attribute name="wrap-option">wrap</xsl:attribute>
@@ -1167,14 +1210,14 @@
1167
1210
 
1168
1211
 
1169
1212
 
1170
- <xsl:attribute name="font-family">Courier</xsl:attribute>
1171
- <xsl:attribute name="font-size">10pt</xsl:attribute>
1213
+ <xsl:attribute name="font-family">Courier</xsl:attribute>
1172
1214
  <xsl:attribute name="margin-top">6pt</xsl:attribute>
1173
1215
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1174
1216
 
1175
1217
 
1176
1218
 
1177
1219
 
1220
+
1178
1221
  </xsl:attribute-set><xsl:attribute-set name="permission-style">
1179
1222
 
1180
1223
  </xsl:attribute-set><xsl:attribute-set name="permission-name-style">
@@ -1214,6 +1257,7 @@
1214
1257
 
1215
1258
 
1216
1259
 
1260
+
1217
1261
  <xsl:attribute name="font-size">11pt</xsl:attribute>
1218
1262
  <xsl:attribute name="margin-top">12pt</xsl:attribute>
1219
1263
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
@@ -1244,6 +1288,7 @@
1244
1288
 
1245
1289
 
1246
1290
 
1291
+
1247
1292
 
1248
1293
 
1249
1294
 
@@ -1301,11 +1346,13 @@
1301
1346
 
1302
1347
  <xsl:attribute name="color">blue</xsl:attribute>
1303
1348
  <xsl:attribute name="text-decoration">underline</xsl:attribute>
1304
-
1349
+
1350
+
1305
1351
  </xsl:attribute-set><xsl:attribute-set name="eref-style">
1306
1352
 
1307
1353
 
1308
1354
 
1355
+
1309
1356
  <xsl:attribute name="color">blue</xsl:attribute>
1310
1357
 
1311
1358
  </xsl:attribute-set><xsl:attribute-set name="note-style">
@@ -1325,9 +1372,10 @@
1325
1372
 
1326
1373
 
1327
1374
 
1375
+ </xsl:attribute-set><xsl:variable name="note-body-indent">10mm</xsl:variable><xsl:variable name="note-body-indent-table">5mm</xsl:variable><xsl:attribute-set name="note-name-style">
1376
+
1328
1377
 
1329
1378
 
1330
- </xsl:attribute-set><xsl:attribute-set name="note-name-style">
1331
1379
 
1332
1380
 
1333
1381
 
@@ -1336,7 +1384,6 @@
1336
1384
 
1337
1385
 
1338
1386
 
1339
-
1340
1387
 
1341
1388
  </xsl:attribute-set><xsl:attribute-set name="note-p-style">
1342
1389
 
@@ -1362,6 +1409,8 @@
1362
1409
  <xsl:attribute name="margin-top">4pt</xsl:attribute>
1363
1410
 
1364
1411
 
1412
+ </xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
1413
+
1365
1414
  </xsl:attribute-set><xsl:attribute-set name="quote-style">
1366
1415
 
1367
1416
 
@@ -1382,6 +1431,7 @@
1382
1431
  </xsl:attribute-set><xsl:attribute-set name="origin-style">
1383
1432
 
1384
1433
 
1434
+
1385
1435
  </xsl:attribute-set><xsl:attribute-set name="term-style">
1386
1436
 
1387
1437
  </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
@@ -1393,6 +1443,7 @@
1393
1443
 
1394
1444
 
1395
1445
 
1446
+
1396
1447
  <xsl:attribute name="font-weight">bold</xsl:attribute>
1397
1448
  <xsl:attribute name="text-align">center</xsl:attribute>
1398
1449
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
@@ -1431,11 +1482,14 @@
1431
1482
  </xsl:attribute-set><xsl:attribute-set name="tt-style">
1432
1483
 
1433
1484
 
1485
+
1434
1486
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-name-style">
1435
1487
  <xsl:attribute name="font-size">11pt</xsl:attribute>
1436
1488
  <xsl:attribute name="font-weight">bold</xsl:attribute>
1437
1489
  <xsl:attribute name="text-align">center</xsl:attribute>
1438
1490
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1491
+ <xsl:attribute name="keep-with-previous">always</xsl:attribute>
1492
+
1439
1493
  </xsl:attribute-set><xsl:attribute-set name="domain-style">
1440
1494
 
1441
1495
  </xsl:attribute-set><xsl:attribute-set name="admitted-style">
@@ -1499,6 +1553,8 @@
1499
1553
 
1500
1554
 
1501
1555
 
1556
+ <!-- $namespace = 'iso' or -->
1557
+
1502
1558
  <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
1503
1559
 
1504
1560
 
@@ -1558,7 +1614,7 @@
1558
1614
 
1559
1615
 
1560
1616
 
1561
-
1617
+
1562
1618
 
1563
1619
 
1564
1620
 
@@ -1585,6 +1641,8 @@
1585
1641
 
1586
1642
 
1587
1643
 
1644
+
1645
+
1588
1646
  <xsl:for-each select="xalan:nodeset($colwidths)//column">
1589
1647
  <xsl:choose>
1590
1648
  <xsl:when test=". = 1 or . = 0">
@@ -1615,8 +1673,9 @@
1615
1673
  </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']"/><xsl:template match="*[local-name()='table']/*[local-name() = 'name']" mode="presentation">
1616
1674
  <xsl:if test="normalize-space() != ''">
1617
1675
  <fo:block xsl:use-attribute-sets="table-name-style">
1618
- <xsl:apply-templates/>
1619
- </fo:block>
1676
+
1677
+ <xsl:apply-templates/>
1678
+ </fo:block>
1620
1679
  </xsl:if>
1621
1680
  </xsl:template><xsl:template name="calculate-columns-numbers">
1622
1681
  <xsl:param name="table-row"/>
@@ -1732,10 +1791,25 @@
1732
1791
  </xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
1733
1792
  <xsl:param name="cols-count"/>
1734
1793
  <!-- font-weight="bold" -->
1735
- <fo:table-header>
1736
-
1794
+ <fo:table-header>
1795
+
1737
1796
  <xsl:apply-templates/>
1738
1797
  </fo:table-header>
1798
+ </xsl:template><xsl:template name="table-header-title">
1799
+ <xsl:param name="cols-count"/>
1800
+ <!-- row for title -->
1801
+ <fo:table-row>
1802
+ <fo:table-cell number-columns-spanned="{$cols-count}" border-left="1.5pt solid white" border-right="1.5pt solid white" border-top="1.5pt solid white" border-bottom="1.5pt solid black">
1803
+ <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']" mode="presentation"/>
1804
+ <xsl:for-each select="ancestor::*[local-name()='table'][1]">
1805
+ <xsl:call-template name="fn_name_display"/>
1806
+ </xsl:for-each>
1807
+ <fo:block text-align="right" font-style="italic">
1808
+ <xsl:text> </xsl:text>
1809
+ <fo:retrieve-table-marker retrieve-class-name="table_continued"/>
1810
+ </fo:block>
1811
+ </fo:table-cell>
1812
+ </fo:table-row>
1739
1813
  </xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
1740
1814
  <fo:table-body>
1741
1815
  <xsl:apply-templates/>
@@ -1799,6 +1873,8 @@
1799
1873
  </xsl:choose>
1800
1874
  </xsl:variable>
1801
1875
 
1876
+
1877
+
1802
1878
  <xsl:apply-templates select="../*[local-name()='thead']" mode="process">
1803
1879
  <xsl:with-param name="cols-count" select="$cols-count"/>
1804
1880
  </xsl:apply-templates>
@@ -1808,6 +1884,8 @@
1808
1884
  </xsl:call-template>
1809
1885
 
1810
1886
  <fo:table-body>
1887
+
1888
+
1811
1889
  <xsl:apply-templates/>
1812
1890
  <!-- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/> -->
1813
1891
 
@@ -1833,6 +1911,8 @@
1833
1911
 
1834
1912
  </xsl:if>
1835
1913
 
1914
+
1915
+
1836
1916
 
1837
1917
  <xsl:apply-templates/>
1838
1918
  </fo:table-row>
@@ -1859,6 +1939,7 @@
1859
1939
 
1860
1940
 
1861
1941
 
1942
+
1862
1943
  <xsl:if test="@colspan">
1863
1944
  <xsl:attribute name="number-columns-spanned">
1864
1945
  <xsl:value-of select="@colspan"/>
@@ -1869,10 +1950,22 @@
1869
1950
  <xsl:value-of select="@rowspan"/>
1870
1951
  </xsl:attribute>
1871
1952
  </xsl:if>
1953
+ <xsl:call-template name="display-align"/>
1872
1954
  <fo:block>
1873
1955
  <xsl:apply-templates/>
1874
1956
  </fo:block>
1875
1957
  </fo:table-cell>
1958
+ </xsl:template><xsl:template name="display-align">
1959
+ <xsl:if test="@valign">
1960
+ <xsl:attribute name="display-align">
1961
+ <xsl:choose>
1962
+ <xsl:when test="@valign = 'top'">before</xsl:when>
1963
+ <xsl:when test="@valign = 'middle'">center</xsl:when>
1964
+ <xsl:when test="@valign = 'bottom'">after</xsl:when>
1965
+ <xsl:otherwise>before</xsl:otherwise>
1966
+ </xsl:choose>
1967
+ </xsl:attribute>
1968
+ </xsl:if>
1876
1969
  </xsl:template><xsl:template match="*[local-name()='td']">
1877
1970
  <fo:table-cell text-align="{@align}" display-align="center" border="solid black 1pt" padding-left="1mm">
1878
1971
  <xsl:attribute name="text-align">
@@ -1892,6 +1985,7 @@
1892
1985
 
1893
1986
 
1894
1987
 
1988
+
1895
1989
  <xsl:if test="ancestor::*[local-name()='thead']">
1896
1990
  <xsl:attribute name="font-weight">normal</xsl:attribute>
1897
1991
  </xsl:if>
@@ -1906,8 +2000,8 @@
1906
2000
  <xsl:value-of select="@rowspan"/>
1907
2001
  </xsl:attribute>
1908
2002
  </xsl:if>
1909
- <fo:block>
1910
-
2003
+ <xsl:call-template name="display-align"/>
2004
+ <fo:block>
1911
2005
  <xsl:apply-templates/>
1912
2006
  </fo:block>
1913
2007
  </fo:table-cell>
@@ -2087,6 +2181,7 @@
2087
2181
 
2088
2182
 
2089
2183
 
2184
+
2090
2185
  <xsl:attribute name="vertical-align">super</xsl:attribute>
2091
2186
  <xsl:attribute name="color">blue</xsl:attribute>
2092
2187
 
@@ -2103,123 +2198,137 @@
2103
2198
  <xsl:apply-templates/>
2104
2199
  </fo:inline>
2105
2200
  </xsl:template><xsl:template match="*[local-name()='dl']">
2106
- <xsl:variable name="parent" select="local-name(..)"/>
2107
-
2108
- <xsl:variable name="key_iso">
2109
- <!-- and (not(../@class) or ../@class !='pseudocode') -->
2110
- </xsl:variable>
2111
-
2112
- <xsl:choose>
2113
- <xsl:when test="$parent = 'formula' and count(*[local-name()='dt']) = 1"> <!-- only one component -->
2114
-
2115
-
2116
- <fo:block margin-bottom="12pt" text-align="left">
2117
-
2118
- <xsl:variable name="title-where">
2119
- <xsl:call-template name="getTitle">
2120
- <xsl:with-param name="name" select="'title-where'"/>
2121
- </xsl:call-template>
2122
- </xsl:variable>
2123
- <xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
2124
- <xsl:apply-templates select="*[local-name()='dt']/*"/>
2125
- <xsl:text/>
2126
- <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
2127
- </fo:block>
2128
-
2129
- </xsl:when>
2130
- <xsl:when test="$parent = 'formula'"> <!-- a few components -->
2131
- <fo:block margin-bottom="12pt" text-align="left">
2132
-
2133
-
2134
-
2135
-
2136
- <xsl:variable name="title-where">
2137
- <xsl:call-template name="getTitle">
2138
- <xsl:with-param name="name" select="'title-where'"/>
2139
- </xsl:call-template>
2140
- </xsl:variable>
2141
- <xsl:value-of select="$title-where"/>
2142
- </fo:block>
2143
- </xsl:when>
2144
- <xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')">
2145
- <fo:block font-weight="bold" text-align="left" margin-bottom="12pt" keep-with-next="always">
2146
-
2147
-
2148
-
2149
- <xsl:variable name="title-key">
2150
- <xsl:call-template name="getTitle">
2151
- <xsl:with-param name="name" select="'title-key'"/>
2152
- </xsl:call-template>
2153
- </xsl:variable>
2154
- <xsl:value-of select="$title-key"/>
2155
- </fo:block>
2156
- </xsl:when>
2157
- </xsl:choose>
2158
-
2159
- <!-- a few components -->
2160
- <xsl:if test="not($parent = 'formula' and count(*[local-name()='dt']) = 1)">
2161
- <fo:block>
2162
-
2201
+ <fo:block-container margin-left="0mm">
2202
+ <xsl:if test="parent::*[local-name() = 'note']">
2203
+ <xsl:attribute name="margin-left">
2204
+ <xsl:choose>
2205
+ <xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
2206
+ <xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
2207
+ </xsl:choose>
2208
+ </xsl:attribute>
2163
2209
 
2210
+ </xsl:if>
2211
+ <fo:block-container margin-left="0mm">
2212
+
2213
+ <xsl:variable name="parent" select="local-name(..)"/>
2164
2214
 
2165
- <xsl:if test="not(.//*[local-name()='dt']//*[local-name()='stem'])">
2166
- <xsl:attribute name="margin-left">5mm</xsl:attribute>
2167
- </xsl:if>
2215
+ <xsl:variable name="key_iso">
2216
+ <!-- and (not(../@class) or ../@class !='pseudocode') -->
2217
+ </xsl:variable>
2168
2218
 
2219
+ <xsl:choose>
2220
+ <xsl:when test="$parent = 'formula' and count(*[local-name()='dt']) = 1"> <!-- only one component -->
2221
+
2222
+
2223
+ <fo:block margin-bottom="12pt" text-align="left">
2224
+
2225
+ <xsl:variable name="title-where">
2226
+ <xsl:call-template name="getTitle">
2227
+ <xsl:with-param name="name" select="'title-where'"/>
2228
+ </xsl:call-template>
2229
+ </xsl:variable>
2230
+ <xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
2231
+ <xsl:apply-templates select="*[local-name()='dt']/*"/>
2232
+ <xsl:text/>
2233
+ <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
2234
+ </fo:block>
2235
+
2236
+ </xsl:when>
2237
+ <xsl:when test="$parent = 'formula'"> <!-- a few components -->
2238
+ <fo:block margin-bottom="12pt" text-align="left">
2239
+
2240
+
2241
+
2242
+
2243
+ <xsl:variable name="title-where">
2244
+ <xsl:call-template name="getTitle">
2245
+ <xsl:with-param name="name" select="'title-where'"/>
2246
+ </xsl:call-template>
2247
+ </xsl:variable>
2248
+ <xsl:value-of select="$title-where"/>
2249
+ </fo:block>
2250
+ </xsl:when>
2251
+ <xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')">
2252
+ <fo:block font-weight="bold" text-align="left" margin-bottom="12pt" keep-with-next="always">
2253
+
2254
+
2255
+
2256
+ <xsl:variable name="title-key">
2257
+ <xsl:call-template name="getTitle">
2258
+ <xsl:with-param name="name" select="'title-key'"/>
2259
+ </xsl:call-template>
2260
+ </xsl:variable>
2261
+ <xsl:value-of select="$title-key"/>
2262
+ </fo:block>
2263
+ </xsl:when>
2264
+ </xsl:choose>
2169
2265
 
2170
- <fo:block>
2171
-
2172
- <xsl:if test="not(.//*[local-name()='dt']//*[local-name()='stem'])">
2173
- <xsl:attribute name="margin-left">-2.5mm</xsl:attribute>
2174
- </xsl:if>
2175
-
2176
-
2177
-
2178
-
2179
- <fo:table width="95%" table-layout="fixed">
2266
+ <!-- a few components -->
2267
+ <xsl:if test="not($parent = 'formula' and count(*[local-name()='dt']) = 1)">
2268
+ <fo:block>
2180
2269
 
2181
- <xsl:choose>
2182
- <xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'">
2183
- <!-- <xsl:attribute name="font-size">11pt</xsl:attribute> -->
2184
- </xsl:when>
2185
- <xsl:when test="normalize-space($key_iso) = 'true'">
2186
- <xsl:attribute name="font-size">10pt</xsl:attribute>
2270
+
2271
+
2272
+ <xsl:if test="not(.//*[local-name()='dt']//*[local-name()='stem'])">
2273
+ <xsl:attribute name="margin-left">5mm</xsl:attribute>
2274
+ </xsl:if>
2275
+
2276
+
2277
+ <fo:block>
2278
+
2279
+ <xsl:if test="not(.//*[local-name()='dt']//*[local-name()='stem'])">
2280
+ <xsl:attribute name="margin-left">-2.5mm</xsl:attribute>
2281
+ </xsl:if>
2282
+
2283
+
2284
+
2285
+
2286
+ <fo:table width="95%" table-layout="fixed">
2187
2287
 
2188
- </xsl:when>
2189
- </xsl:choose>
2190
- <!-- create virtual html table for dl/[dt and dd] -->
2191
- <xsl:variable name="html-table">
2192
- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/>
2193
- <xsl:element name="{$ns}:table">
2194
- <tbody>
2195
- <xsl:apply-templates mode="dl"/>
2196
- </tbody>
2197
- </xsl:element>
2198
- </xsl:variable>
2199
- <!-- html-table<xsl:copy-of select="$html-table"/> -->
2200
- <xsl:variable name="colwidths">
2201
- <xsl:call-template name="calculate-column-widths">
2202
- <xsl:with-param name="cols-count" select="2"/>
2203
- <xsl:with-param name="table" select="$html-table"/>
2204
- </xsl:call-template>
2205
- </xsl:variable>
2206
- <!-- colwidths=<xsl:value-of select="$colwidths"/> -->
2207
- <xsl:variable name="maxlength_dt">
2208
- <xsl:call-template name="getMaxLength_dt"/>
2209
- </xsl:variable>
2210
- <xsl:call-template name="setColumnWidth_dl">
2211
- <xsl:with-param name="colwidths" select="$colwidths"/>
2212
- <xsl:with-param name="maxlength_dt" select="$maxlength_dt"/>
2213
- </xsl:call-template>
2214
- <fo:table-body>
2215
- <xsl:apply-templates>
2216
- <xsl:with-param name="key_iso" select="normalize-space($key_iso)"/>
2217
- </xsl:apply-templates>
2218
- </fo:table-body>
2219
- </fo:table>
2220
- </fo:block>
2221
- </fo:block>
2222
- </xsl:if>
2288
+ <xsl:choose>
2289
+ <xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'">
2290
+ <!-- <xsl:attribute name="font-size">11pt</xsl:attribute> -->
2291
+ </xsl:when>
2292
+ <xsl:when test="normalize-space($key_iso) = 'true'">
2293
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2294
+
2295
+ </xsl:when>
2296
+ </xsl:choose>
2297
+ <!-- create virtual html table for dl/[dt and dd] -->
2298
+ <xsl:variable name="html-table">
2299
+ <xsl:variable name="ns" select="substring-before(name(/*), '-')"/>
2300
+ <xsl:element name="{$ns}:table">
2301
+ <tbody>
2302
+ <xsl:apply-templates mode="dl"/>
2303
+ </tbody>
2304
+ </xsl:element>
2305
+ </xsl:variable>
2306
+ <!-- html-table<xsl:copy-of select="$html-table"/> -->
2307
+ <xsl:variable name="colwidths">
2308
+ <xsl:call-template name="calculate-column-widths">
2309
+ <xsl:with-param name="cols-count" select="2"/>
2310
+ <xsl:with-param name="table" select="$html-table"/>
2311
+ </xsl:call-template>
2312
+ </xsl:variable>
2313
+ <!-- colwidths=<xsl:value-of select="$colwidths"/> -->
2314
+ <xsl:variable name="maxlength_dt">
2315
+ <xsl:call-template name="getMaxLength_dt"/>
2316
+ </xsl:variable>
2317
+ <xsl:call-template name="setColumnWidth_dl">
2318
+ <xsl:with-param name="colwidths" select="$colwidths"/>
2319
+ <xsl:with-param name="maxlength_dt" select="$maxlength_dt"/>
2320
+ </xsl:call-template>
2321
+ <fo:table-body>
2322
+ <xsl:apply-templates>
2323
+ <xsl:with-param name="key_iso" select="normalize-space($key_iso)"/>
2324
+ </xsl:apply-templates>
2325
+ </fo:table-body>
2326
+ </fo:table>
2327
+ </fo:block>
2328
+ </fo:block>
2329
+ </xsl:if>
2330
+ </fo:block-container>
2331
+ </fo:block-container>
2223
2332
  </xsl:template><xsl:template name="setColumnWidth_dl">
2224
2333
  <xsl:param name="colwidths"/>
2225
2334
  <xsl:param name="maxlength_dt"/>
@@ -2329,6 +2438,7 @@
2329
2438
  <xsl:param name="key_iso"/>
2330
2439
 
2331
2440
  <fo:table-row>
2441
+
2332
2442
  <fo:table-cell>
2333
2443
 
2334
2444
  <fo:block margin-top="6pt">
@@ -2411,6 +2521,31 @@
2411
2521
  </fo:inline>
2412
2522
  </xsl:template><xsl:template match="*[local-name()='tt']">
2413
2523
  <fo:inline xsl:use-attribute-sets="tt-style">
2524
+ <xsl:variable name="_font-size">
2525
+
2526
+
2527
+
2528
+
2529
+
2530
+
2531
+
2532
+
2533
+
2534
+
2535
+
2536
+
2537
+
2538
+
2539
+ </xsl:variable>
2540
+ <xsl:variable name="font-size" select="normalize-space($_font-size)"/>
2541
+ <xsl:if test="$font-size != ''">
2542
+ <xsl:attribute name="font-size">
2543
+ <xsl:choose>
2544
+ <xsl:when test="ancestor::*[local-name()='note']"><xsl:value-of select="$font-size * 0.91"/>pt</xsl:when>
2545
+ <xsl:otherwise><xsl:value-of select="$font-size"/>pt</xsl:otherwise>
2546
+ </xsl:choose>
2547
+ </xsl:attribute>
2548
+ </xsl:if>
2414
2549
  <xsl:apply-templates/>
2415
2550
  </fo:inline>
2416
2551
  </xsl:template><xsl:template match="*[local-name()='del']">
@@ -2737,10 +2872,23 @@
2737
2872
  <xsl:value-of select="substring($str, 2)"/>
2738
2873
  </xsl:template><xsl:template match="mathml:math">
2739
2874
  <fo:inline font-family="STIX2Math">
2740
- <fo:instream-foreign-object fox:alt-text="Math">
2741
- <xsl:copy-of select="."/>
2742
- </fo:instream-foreign-object>
2875
+ <xsl:variable name="mathml">
2876
+ <xsl:apply-templates select="." mode="mathml"/>
2877
+ </xsl:variable>
2878
+ <fo:instream-foreign-object fox:alt-text="Math">
2879
+ <!-- <xsl:copy-of select="."/> -->
2880
+ <xsl:copy-of select="xalan:nodeset($mathml)"/>
2881
+ </fo:instream-foreign-object>
2743
2882
  </fo:inline>
2883
+ </xsl:template><xsl:template match="@*|node()" mode="mathml">
2884
+ <xsl:copy>
2885
+ <xsl:apply-templates select="@*|node()" mode="mathml"/>
2886
+ </xsl:copy>
2887
+ </xsl:template><xsl:template match="mathml:mtext" mode="mathml">
2888
+ <xsl:copy>
2889
+ <!-- replace start and end spaces to non-break space -->
2890
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'(^ )|( $)',' ')"/>
2891
+ </xsl:copy>
2744
2892
  </xsl:template><xsl:template match="*[local-name()='localityStack']"/><xsl:template match="*[local-name()='link']" name="link">
2745
2893
  <xsl:variable name="target">
2746
2894
  <xsl:choose>
@@ -2821,9 +2969,22 @@
2821
2969
  <xsl:apply-templates/>
2822
2970
  </fo:basic-link>
2823
2971
  </xsl:template><xsl:template match="*[local-name() = 'formula']" name="formula">
2824
- <fo:block id="{@id}" xsl:use-attribute-sets="formula-style">
2825
- <xsl:apply-templates/>
2826
- </fo:block>
2972
+ <fo:block-container margin-left="0mm">
2973
+ <xsl:if test="parent::*[local-name() = 'note']">
2974
+ <xsl:attribute name="margin-left">
2975
+ <xsl:choose>
2976
+ <xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
2977
+ <xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
2978
+ </xsl:choose>
2979
+ </xsl:attribute>
2980
+
2981
+ </xsl:if>
2982
+ <fo:block-container margin-left="0mm">
2983
+ <fo:block id="{@id}" xsl:use-attribute-sets="formula-style">
2984
+ <xsl:apply-templates/>
2985
+ </fo:block>
2986
+ </fo:block-container>
2987
+ </fo:block-container>
2827
2988
  </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'dt']/*[local-name() = 'stem']">
2828
2989
  <fo:inline>
2829
2990
  <xsl:apply-templates/>
@@ -2883,7 +3044,9 @@
2883
3044
  </xsl:choose>
2884
3045
  </xsl:template><xsl:template match="*[local-name() = 'termnote']">
2885
3046
  <fo:block id="{@id}" xsl:use-attribute-sets="termnote-style">
2886
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3047
+ <fo:inline xsl:use-attribute-sets="termnote-name-style">
3048
+ <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3049
+ </fo:inline>
2887
3050
  <xsl:apply-templates/>
2888
3051
  </fo:block>
2889
3052
  </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">
@@ -3058,21 +3221,61 @@
3058
3221
  </xsl:template><xsl:template match="*[local-name() = 'br']" mode="contents_item">
3059
3222
  <xsl:text> </xsl:text>
3060
3223
  </xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
3061
- <fo:block xsl:use-attribute-sets="sourcecode-style">
3062
- <xsl:apply-templates/>
3063
- </fo:block>
3064
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
3065
- </xsl:template><xsl:template match="*[local-name()='sourcecode']/text()">
3224
+
3225
+ <fo:block-container margin-left="0mm">
3226
+ <xsl:if test="parent::*[local-name() = 'note']">
3227
+ <xsl:attribute name="margin-left">
3228
+ <xsl:choose>
3229
+ <xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
3230
+ <xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
3231
+ </xsl:choose>
3232
+ </xsl:attribute>
3233
+
3234
+ </xsl:if>
3235
+ <fo:block-container margin-left="0mm">
3236
+
3237
+ <fo:block xsl:use-attribute-sets="sourcecode-style">
3238
+ <xsl:variable name="_font-size">
3239
+
3240
+
3241
+
3242
+
3243
+
3244
+
3245
+
3246
+
3247
+
3248
+ 10
3249
+
3250
+
3251
+
3252
+
3253
+ </xsl:variable>
3254
+ <xsl:variable name="font-size" select="normalize-space($_font-size)"/>
3255
+ <xsl:if test="$font-size != ''">
3256
+ <xsl:attribute name="font-size">
3257
+ <xsl:choose>
3258
+ <xsl:when test="ancestor::*[local-name()='note']"><xsl:value-of select="$font-size * 0.91"/>pt</xsl:when>
3259
+ <xsl:otherwise><xsl:value-of select="$font-size"/>pt</xsl:otherwise>
3260
+ </xsl:choose>
3261
+ </xsl:attribute>
3262
+ </xsl:if>
3263
+ <xsl:apply-templates/>
3264
+ </fo:block>
3265
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
3266
+
3267
+ </fo:block-container>
3268
+ </fo:block-container>
3269
+ </xsl:template><xsl:template match="*[local-name()='sourcecode']/text()" priority="2">
3066
3270
  <xsl:variable name="text">
3067
3271
  <xsl:call-template name="add-zero-spaces-equal"/>
3068
3272
  </xsl:variable>
3069
- <xsl:call-template name="add-zero-spaces">
3273
+ <xsl:call-template name="add-zero-spaces-java">
3070
3274
  <xsl:with-param name="text" select="$text"/>
3071
3275
  </xsl:call-template>
3072
3276
  </xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']" mode="presentation">
3073
3277
  <xsl:if test="normalize-space() != ''">
3074
- <fo:block xsl:use-attribute-sets="sourcecode-name-style">
3075
-
3278
+ <fo:block xsl:use-attribute-sets="sourcecode-name-style">
3076
3279
  <xsl:apply-templates/>
3077
3280
  </fo:block>
3078
3281
  </xsl:if>
@@ -3146,9 +3349,9 @@
3146
3349
  <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
3147
3350
  </xsl:if>
3148
3351
  <fo:block-container margin-left="0mm" margin-right="0mm">
3149
- <fo:table id="{@id}" table-layout="fixed" width="100%" border="1pt solid black">
3352
+ <fo:table id="{@id}" table-layout="fixed" width="100%"> <!-- border="1pt solid black" -->
3150
3353
  <xsl:if test="ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
3151
- <xsl:attribute name="border">0.5pt solid black</xsl:attribute>
3354
+ <!-- <xsl:attribute name="border">0.5pt solid black</xsl:attribute> -->
3152
3355
  </xsl:if>
3153
3356
  <xsl:variable name="simple-table">
3154
3357
  <xsl:call-template name="getSimpleTable"/>
@@ -3157,8 +3360,8 @@
3157
3360
  <xsl:if test="$cols-count = 2 and not(ancestor::*[local-name()='table'])">
3158
3361
  <!-- <fo:table-column column-width="35mm"/>
3159
3362
  <fo:table-column column-width="115mm"/> -->
3160
- <fo:table-column column-width="25%"/>
3161
- <fo:table-column column-width="75%"/>
3363
+ <fo:table-column column-width="30%"/>
3364
+ <fo:table-column column-width="70%"/>
3162
3365
  </xsl:if>
3163
3366
  <xsl:apply-templates mode="requirement"/>
3164
3367
  </fo:table>
@@ -3181,14 +3384,21 @@
3181
3384
  <xsl:apply-templates mode="requirement"/>
3182
3385
  </fo:table-body>
3183
3386
  </xsl:template><xsl:template match="*[local-name()='tr']" mode="requirement">
3184
- <fo:table-row height="7mm">
3185
- <xsl:if test="parent::*[local-name()='thead'] and not(ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission'])">
3186
- <xsl:attribute name="border">1pt solid black</xsl:attribute>
3387
+ <fo:table-row height="7mm" border-bottom="0.5pt solid grey">
3388
+ <xsl:if test="parent::*[local-name()='thead']"> <!-- and not(ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']) -->
3389
+ <!-- <xsl:attribute name="border">1pt solid black</xsl:attribute> -->
3390
+ <xsl:attribute name="background-color">rgb(33, 55, 92)</xsl:attribute>
3391
+ </xsl:if>
3392
+ <xsl:if test="starts-with(*[local-name()='td'][1], 'Requirement ')">
3393
+ <xsl:attribute name="background-color">rgb(252, 246, 222)</xsl:attribute>
3394
+ </xsl:if>
3395
+ <xsl:if test="starts-with(*[local-name()='td'][1], 'Recommendation ')">
3396
+ <xsl:attribute name="background-color">rgb(233, 235, 239)</xsl:attribute>
3187
3397
  </xsl:if>
3188
3398
  <xsl:apply-templates mode="requirement"/>
3189
3399
  </fo:table-row>
3190
3400
  </xsl:template><xsl:template match="*[local-name()='th']" mode="requirement">
3191
- <fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm" border="0.5pt solid black">
3401
+ <fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm"> <!-- border="0.5pt solid black" -->
3192
3402
  <xsl:attribute name="text-align">
3193
3403
  <xsl:choose>
3194
3404
  <xsl:when test="@align">
@@ -3207,6 +3417,7 @@
3207
3417
  <xsl:value-of select="@rowspan"/>
3208
3418
  </xsl:attribute>
3209
3419
  </xsl:if>
3420
+ <xsl:call-template name="display-align"/>
3210
3421
 
3211
3422
  <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
3212
3423
  <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
@@ -3222,7 +3433,7 @@
3222
3433
  </fo:block>
3223
3434
  </fo:table-cell>
3224
3435
  </xsl:template><xsl:template match="*[local-name()='td']" mode="requirement">
3225
- <fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm" border="0.5pt solid black">
3436
+ <fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm"> <!-- border="0.5pt solid black" -->
3226
3437
  <xsl:if test="*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
3227
3438
  <xsl:attribute name="padding">0mm</xsl:attribute>
3228
3439
  <xsl:attribute name="padding-left">0mm</xsl:attribute>
@@ -3235,6 +3446,9 @@
3235
3446
  <xsl:otherwise>left</xsl:otherwise>
3236
3447
  </xsl:choose>
3237
3448
  </xsl:attribute>
3449
+ <xsl:if test="following-sibling::*[local-name()='td'] and not(preceding-sibling::*[local-name()='td'])">
3450
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
3451
+ </xsl:if>
3238
3452
  <xsl:if test="@colspan">
3239
3453
  <xsl:attribute name="number-columns-spanned">
3240
3454
  <xsl:value-of select="@colspan"/>
@@ -3245,6 +3459,7 @@
3245
3459
  <xsl:value-of select="@rowspan"/>
3246
3460
  </xsl:attribute>
3247
3461
  </xsl:if>
3462
+ <xsl:call-template name="display-align"/>
3248
3463
 
3249
3464
  <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
3250
3465
  <xsl:attribute name="padding-left">0.5mm</xsl:attribute>
@@ -3260,7 +3475,7 @@
3260
3475
  </fo:block>
3261
3476
  </fo:table-cell>
3262
3477
  </xsl:template><xsl:template match="*[local-name() = 'p'][@class='RecommendationTitle' or @class = 'RecommendationTestTitle']" priority="2">
3263
- <fo:block font-size="11pt" font-weight="bold"> <!-- margin-bottom="4pt" text-align="center" -->
3478
+ <fo:block font-size="11pt" color="rgb(237, 193, 35)"> <!-- font-weight="bold" margin-bottom="4pt" text-align="center" -->
3264
3479
  <xsl:apply-templates/>
3265
3480
  </fo:block>
3266
3481
  </xsl:template><xsl:template match="*[local-name() = 'p2'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
@@ -3286,12 +3501,13 @@
3286
3501
  <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
3287
3502
 
3288
3503
  <xsl:variable name="element">
3289
- block
3504
+ block
3290
3505
 
3506
+ <xsl:if test=".//*[local-name() = 'table']">block</xsl:if>
3291
3507
  </xsl:variable>
3292
3508
 
3293
3509
  <xsl:choose>
3294
- <xsl:when test="normalize-space($element) = 'block'">
3510
+ <xsl:when test="contains(normalize-space($element), 'block')">
3295
3511
  <fo:block xsl:use-attribute-sets="example-body-style">
3296
3512
  <xsl:apply-templates/>
3297
3513
  </fo:block>
@@ -3328,30 +3544,49 @@
3328
3544
  </xsl:otherwise>
3329
3545
  </xsl:choose>
3330
3546
 
3331
- </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
3332
- <fo:block xsl:use-attribute-sets="example-p-style">
3333
-
3334
- <xsl:variable name="num"><xsl:number/></xsl:variable>
3335
- <xsl:if test="$num = 1">
3336
- <xsl:attribute name="margin-left">5mm</xsl:attribute>
3337
- </xsl:if>
3547
+ </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
3548
+
3549
+ <xsl:variable name="element">
3550
+ block
3338
3551
 
3339
- <xsl:apply-templates/>
3340
- </fo:block>
3552
+ </xsl:variable>
3553
+ <xsl:choose>
3554
+ <xsl:when test="normalize-space($element) = 'block'">
3555
+ <fo:block xsl:use-attribute-sets="example-p-style">
3556
+
3557
+ <xsl:variable name="num"><xsl:number/></xsl:variable>
3558
+ <xsl:if test="$num = 1">
3559
+ <xsl:attribute name="margin-left">5mm</xsl:attribute>
3560
+ </xsl:if>
3561
+
3562
+ <xsl:apply-templates/>
3563
+ </fo:block>
3564
+ </xsl:when>
3565
+ <xsl:otherwise>
3566
+ <fo:inline xsl:use-attribute-sets="example-p-style">
3567
+ <xsl:apply-templates/>
3568
+ </fo:inline>
3569
+ </xsl:otherwise>
3570
+ </xsl:choose>
3341
3571
  </xsl:template><xsl:template match="*[local-name() = 'termsource']">
3342
3572
  <fo:block xsl:use-attribute-sets="termsource-style">
3343
3573
  <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
3344
3574
  <xsl:variable name="termsource_text">
3345
3575
  <xsl:apply-templates/>
3346
3576
  </xsl:variable>
3577
+
3347
3578
  <xsl:choose>
3348
3579
  <xsl:when test="starts-with(normalize-space($termsource_text), '[')">
3349
3580
  <xsl:apply-templates/>
3350
3581
  </xsl:when>
3351
- <xsl:otherwise>
3352
- <xsl:text>[</xsl:text>
3353
- <xsl:apply-templates/>
3354
- <xsl:text>]</xsl:text>
3582
+ <xsl:otherwise>
3583
+
3584
+ <xsl:text>[</xsl:text>
3585
+
3586
+ <xsl:apply-templates/>
3587
+
3588
+ <xsl:text>]</xsl:text>
3589
+
3355
3590
  </xsl:otherwise>
3356
3591
  </xsl:choose>
3357
3592
  </fo:block>
@@ -3372,18 +3607,29 @@
3372
3607
  <xsl:if test="normalize-space() != ''">
3373
3608
  <xsl:value-of select="."/>
3374
3609
  </xsl:if>
3375
- </xsl:template><xsl:template match="*[local-name() = 'quote']">
3610
+ </xsl:template><xsl:template match="*[local-name() = 'quote']">
3611
+ <fo:block-container margin-left="0mm">
3612
+ <xsl:if test="parent::*[local-name() = 'note']">
3613
+ <xsl:if test="not(ancestor::*[local-name() = 'table'])">
3614
+ <xsl:attribute name="margin-left">5mm</xsl:attribute>
3615
+ </xsl:if>
3616
+ </xsl:if>
3617
+
3618
+ <fo:block-container margin-left="0mm">
3376
3619
 
3377
- <fo:block xsl:use-attribute-sets="quote-style">
3378
- <xsl:apply-templates select=".//*[local-name() = 'p']"/>
3379
- </fo:block>
3380
- <xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
3381
- <fo:block xsl:use-attribute-sets="quote-source-style">
3382
- <!-- — ISO, ISO 7301:2011, Clause 1 -->
3383
- <xsl:apply-templates select="*[local-name() = 'author']"/>
3384
- <xsl:apply-templates select="*[local-name() = 'source']"/>
3385
- </fo:block>
3386
- </xsl:if>
3620
+ <fo:block xsl:use-attribute-sets="quote-style">
3621
+ <xsl:apply-templates select=".//*[local-name() = 'p']"/>
3622
+ </fo:block>
3623
+ <xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
3624
+ <fo:block xsl:use-attribute-sets="quote-source-style">
3625
+ <!-- — ISO, ISO 7301:2011, Clause 1 -->
3626
+ <xsl:apply-templates select="*[local-name() = 'author']"/>
3627
+ <xsl:apply-templates select="*[local-name() = 'source']"/>
3628
+ </fo:block>
3629
+ </xsl:if>
3630
+
3631
+ </fo:block-container>
3632
+ </fo:block-container>
3387
3633
  </xsl:template><xsl:template match="*[local-name() = 'source']">
3388
3634
  <xsl:if test="../*[local-name() = 'author']">
3389
3635
  <xsl:text>, </xsl:text>
@@ -3411,6 +3657,7 @@
3411
3657
  <xsl:if test="@type = 'inline'">
3412
3658
 
3413
3659
 
3660
+
3414
3661
  <xsl:attribute name="text-decoration">underline</xsl:attribute>
3415
3662
 
3416
3663
  </xsl:if>
@@ -3450,6 +3697,7 @@
3450
3697
 
3451
3698
 
3452
3699
 
3700
+
3453
3701
  </xsl:variable>
3454
3702
 
3455
3703
  <xsl:variable name="padding-right">
@@ -3570,6 +3818,21 @@
3570
3818
  </xsl:template><xsl:template match="*[local-name() = 'name']/text()">
3571
3819
  <!-- 0xA0 to space replacement -->
3572
3820
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
3821
+ </xsl:template><xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
3822
+ <fo:block-container margin-left="0mm">
3823
+ <xsl:if test="parent::*[local-name() = 'note']">
3824
+ <xsl:attribute name="margin-left">
3825
+ <xsl:choose>
3826
+ <xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
3827
+ <xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
3828
+ </xsl:choose>
3829
+ </xsl:attribute>
3830
+
3831
+ </xsl:if>
3832
+ <fo:block-container margin-left="0mm">
3833
+ <xsl:apply-templates select="." mode="ul_ol"/>
3834
+ </fo:block-container>
3835
+ </fo:block-container>
3573
3836
  </xsl:template><xsl:template match="*[local-name() = 'errata']">
3574
3837
  <!-- <row>
3575
3838
  <date>05-07-2013</date>
@@ -3602,7 +3865,28 @@
3602
3865
  <fo:block><xsl:apply-templates/></fo:block>
3603
3866
  </fo:table-cell>
3604
3867
  </xsl:template><xsl:template name="processBibitem">
3868
+
3869
+
3605
3870
 
3871
+
3872
+ </xsl:template><xsl:template name="processBibitemDocId">
3873
+ <xsl:variable name="_doc_ident" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]"/>
3874
+ <xsl:choose>
3875
+ <xsl:when test="normalize-space($_doc_ident) != ''">
3876
+ <xsl:variable name="type" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]/@type"/>
3877
+ <xsl:if test="$type != '' and not(contains($_doc_ident, $type))">
3878
+ <xsl:value-of select="$type"/><xsl:text> </xsl:text>
3879
+ </xsl:if>
3880
+ <xsl:value-of select="$_doc_ident"/>
3881
+ </xsl:when>
3882
+ <xsl:otherwise>
3883
+ <xsl:variable name="type" select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]/@type"/>
3884
+ <xsl:if test="$type != ''">
3885
+ <xsl:value-of select="$type"/><xsl:text> </xsl:text>
3886
+ </xsl:if>
3887
+ <xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]"/>
3888
+ </xsl:otherwise>
3889
+ </xsl:choose>
3606
3890
  </xsl:template><xsl:template name="processPersonalAuthor">
3607
3891
  <xsl:choose>
3608
3892
  <xsl:when test="*[local-name() = 'name']/*[local-name() = 'completename']">