metanorma-nist 1.2.2 → 1.2.3

Sign up to get free protection for your applications and to get access to all the features.
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']">