metanorma-nist 1.2.1 → 1.2.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -174,7 +174,7 @@ p.MsoFooter, li.MsoFooter, div.MsoFooter
174
174
  margin:0cm;
175
175
  margin-bottom:.0001pt;
176
176
  mso-pagination:widow-orphan;
177
- tab-stops:right 482.0pt;
177
+ tab-stops:center 3.25in;
178
178
  font-size:12pt;
179
179
  font-family:$bodyfont;
180
180
  mso-fareast-font-family:"Times New Roman";
@@ -185,7 +185,7 @@ p.MsoFooterLandscape, li.MsoFooterLandscape, div.MsoFooterLandscape
185
185
  margin:0cm;
186
186
  margin-bottom:.0001pt;
187
187
  mso-pagination:widow-orphan;
188
- tab-stops:right 9.0in;
188
+ tab-stops:center 4.5in;
189
189
  font-size:12pt;
190
190
  font-family:$bodyfont;
191
191
  mso-fareast-font-family:"Times New Roman";
@@ -425,7 +425,6 @@ h1.Annex {
425
425
  mso-style-parent:"Heading 1";
426
426
  mso-style-link:"Heading 2 Char";
427
427
  mso-style-next:Normal;
428
- text-align:center;
429
428
  margin-top:3.0pt;
430
429
  margin-right:0cm;
431
430
  margin-bottom:12.0pt;
@@ -445,6 +444,12 @@ h1.Annex {
445
444
  mso-ansi-language:EN-GB;
446
445
  mso-fareast-language:JA;
447
446
  mso-bidi-font-weight:normal;}
447
+ .h2Annex {
448
+ text-align:left;
449
+ }
450
+ .h2Preface {
451
+ text-align:center;
452
+ }
448
453
  h2
449
454
  {mso-style-priority:2;
450
455
  mso-style-unhide:no;
@@ -1288,6 +1293,72 @@ p.Tablebody, li.Tablebody, div.Tablebody
1288
1293
  mso-level-number-position:left;
1289
1294
  margin-left:162.0pt;
1290
1295
  text-indent:-18.0pt;}
1296
+ /* steps ordered list */
1297
+ @list l4
1298
+ {mso-list-id:525294608;
1299
+ mso-list-template-ids:676331812}
1300
+ @list l4:level1
1301
+ {mso-level-text:"%1\)";
1302
+ mso-level-tab-stop:none;
1303
+ mso-level-number-position:left;
1304
+ margin-left:1.4cm;
1305
+ text-indent:-1.4cm;}
1306
+ @list l4:level2
1307
+ {mso-level-text:"%2\)";
1308
+ mso-level-number-format:alpha-lower;
1309
+ mso-level-tab-stop:none;
1310
+ mso-level-number-position:left;
1311
+ margin-left:2.1cm;
1312
+ text-indent:-0.7cm;}
1313
+ @list l4:level3
1314
+ {mso-level-number-format:roman-lower;
1315
+ mso-level-text:"%3\)";
1316
+ mso-level-tab-stop:none;
1317
+ mso-level-number-position:left;
1318
+ margin-left:2.8cm;
1319
+ text-indent:-0.7cm;}
1320
+ @list l4:level4
1321
+ {mso-level-number-format:alpha-upper;
1322
+ mso-level-text:"%4\)";
1323
+ mso-level-tab-stop:none;
1324
+ mso-level-number-position:left;
1325
+ margin-left:3.5cm;
1326
+ text-indent:-0.7cm;}
1327
+ @list l4:level5
1328
+ {mso-level-number-format:roman-upper;
1329
+ mso-level-text:"%5\)";
1330
+ mso-level-tab-stop:none;
1331
+ mso-level-number-position:left;
1332
+ margin-left:4.2cm;
1333
+ text-indent:-0.7cm;}
1334
+ @list l4:level6
1335
+ {mso-level-text:"%6\)";
1336
+ mso-level-tab-stop:none;
1337
+ mso-level-number-position:left;
1338
+ margin-left:4.9cm;
1339
+ text-indent:-0.7cm;}
1340
+ @list l4:level7
1341
+ {mso-level-tab-stop:none;
1342
+ mso-level-number-format:alpha-lower;
1343
+ mso-level-text:"%7\)";
1344
+ mso-level-number-position:left;
1345
+ margin-left:5.6cm;
1346
+ text-indent:-0.7cm;}
1347
+ @list l4:level8
1348
+ {mso-level-number-format:roman-lower;
1349
+ mso-level-text:"%8\)";
1350
+ mso-level-tab-stop:none;
1351
+ mso-level-number-position:left;
1352
+ margin-left:6.3cm;
1353
+ text-indent:-0.7cm;}
1354
+ @list l4:level9
1355
+ {mso-level-number-format:alpha-upper;
1356
+ mso-level-text:"%9\)";
1357
+ mso-level-tab-stop:none;
1358
+ mso-level-number-position:left;
1359
+ margin-left:7.0cm;
1360
+ text-indent:-0.7cm;}
1361
+
1291
1362
 
1292
1363
  div.ListContLevel1
1293
1364
  {mso-style-priority:34;
@@ -167,7 +167,7 @@ p.MsoFooter, li.MsoFooter, div.MsoFooter {
167
167
  margin-right: 0cm;
168
168
  margin-bottom: 12.0pt;
169
169
  margin-left: 0cm;
170
- tab-stops: right 482.0pt;
170
+ tab-stops: center 3.25in;
171
171
  font-size: 12.0pt;
172
172
  font-family: {{bodyfont}}; }
173
173
 
@@ -177,7 +177,7 @@ p.MsoFooterLandscape, li.MsoFooterLandscape, div.MsoFooterLandscape {
177
177
  margin-right: 0cm;
178
178
  margin-bottom: 12.0pt;
179
179
  margin-left: 0cm;
180
- tab-stops: right 9.0in;
180
+ tab-stops: center 4.5in;
181
181
  font-size: 12.0pt;
182
182
  font-family: {{bodyfont}}; }
183
183
 
@@ -1050,6 +1050,81 @@ p.Tablebody, li.Tablebody, div.Tablebody {
1050
1050
  margin-left: 162.0pt;
1051
1051
  text-indent: -18.0pt; }
1052
1052
 
1053
+ /* steps ordered list */
1054
+ @list l4 {
1055
+ mso-list-id: 525294608;
1056
+ mso-list-template-ids: 676331812; }
1057
+
1058
+ @list l4:level1 {
1059
+ mso-level-text: "%1\)";
1060
+ mso-level-tab-stop: none;
1061
+ mso-level-number-position: left;
1062
+ margin-left: 1.4cm;
1063
+ text-indent: -1.4cm; }
1064
+
1065
+ @list l4:level2 {
1066
+ mso-level-text: "%2\)";
1067
+ mso-level-number-format: alpha-lower;
1068
+ mso-level-tab-stop: none;
1069
+ mso-level-number-position: left;
1070
+ margin-left: 2.1cm;
1071
+ text-indent: -0.7cm; }
1072
+
1073
+ @list l4:level3 {
1074
+ mso-level-number-format: roman-lower;
1075
+ mso-level-text: "%3\)";
1076
+ mso-level-tab-stop: none;
1077
+ mso-level-number-position: left;
1078
+ margin-left: 2.8cm;
1079
+ text-indent: -0.7cm; }
1080
+
1081
+ @list l4:level4 {
1082
+ mso-level-number-format: alpha-upper;
1083
+ mso-level-text: "%4\)";
1084
+ mso-level-tab-stop: none;
1085
+ mso-level-number-position: left;
1086
+ margin-left: 3.5cm;
1087
+ text-indent: -0.7cm; }
1088
+
1089
+ @list l4:level5 {
1090
+ mso-level-number-format: roman-upper;
1091
+ mso-level-text: "%5\)";
1092
+ mso-level-tab-stop: none;
1093
+ mso-level-number-position: left;
1094
+ margin-left: 4.2cm;
1095
+ text-indent: -0.7cm; }
1096
+
1097
+ @list l4:level6 {
1098
+ mso-level-text: "%6\)";
1099
+ mso-level-tab-stop: none;
1100
+ mso-level-number-position: left;
1101
+ margin-left: 4.9cm;
1102
+ text-indent: -0.7cm; }
1103
+
1104
+ @list l4:level7 {
1105
+ mso-level-tab-stop: none;
1106
+ mso-level-number-format: alpha-lower;
1107
+ mso-level-text: "%7\)";
1108
+ mso-level-number-position: left;
1109
+ margin-left: 5.6cm;
1110
+ text-indent: -0.7cm; }
1111
+
1112
+ @list l4:level8 {
1113
+ mso-level-number-format: roman-lower;
1114
+ mso-level-text: "%8\)";
1115
+ mso-level-tab-stop: none;
1116
+ mso-level-number-position: left;
1117
+ margin-left: 6.3cm;
1118
+ text-indent: -0.7cm; }
1119
+
1120
+ @list l4:level9 {
1121
+ mso-level-number-format: alpha-upper;
1122
+ mso-level-text: "%9\)";
1123
+ mso-level-tab-stop: none;
1124
+ mso-level-number-position: left;
1125
+ margin-left: 7.0cm;
1126
+ text-indent: -0.7cm; }
1127
+
1053
1128
  div.ListContLevel1 {
1054
1129
  mso-style-priority: 34;
1055
1130
  margin-left: 18.0pt;
@@ -149,7 +149,7 @@ p.MsoFooter, li.MsoFooter, div.MsoFooter
149
149
  margin-right:0cm;
150
150
  margin-bottom:12.0pt;
151
151
  margin-left:0cm;
152
- tab-stops:right 482.0pt;
152
+ tab-stops:center 3.25in;
153
153
  font-size:12.0pt;
154
154
  font-family:$bodyfont;}
155
155
  p.MsoFooterLandscape, li.MsoFooterLandscape, div.MsoFooterLandscape
@@ -158,7 +158,7 @@ p.MsoFooterLandscape, li.MsoFooterLandscape, div.MsoFooterLandscape
158
158
  margin-right:0cm;
159
159
  margin-bottom:12.0pt;
160
160
  margin-left:0cm;
161
- tab-stops:right 9.0in;
161
+ tab-stops:center 4.5in;
162
162
  font-size:12.0pt;
163
163
  font-family:$bodyfont;}
164
164
  span.MsoCommentReference
@@ -966,6 +966,72 @@ p.Tablebody, li.Tablebody, div.Tablebody
966
966
  mso-level-number-position:left;
967
967
  margin-left:162.0pt;
968
968
  text-indent:-18.0pt;}
969
+ /* steps ordered list */
970
+ @list l4
971
+ {mso-list-id:525294608;
972
+ mso-list-template-ids:676331812}
973
+ @list l4:level1
974
+ {mso-level-text:"%1\)";
975
+ mso-level-tab-stop:none;
976
+ mso-level-number-position:left;
977
+ margin-left:1.4cm;
978
+ text-indent:-1.4cm;}
979
+ @list l4:level2
980
+ {mso-level-text:"%2\)";
981
+ mso-level-number-format:alpha-lower;
982
+ mso-level-tab-stop:none;
983
+ mso-level-number-position:left;
984
+ margin-left:2.1cm;
985
+ text-indent:-0.7cm;}
986
+ @list l4:level3
987
+ {mso-level-number-format:roman-lower;
988
+ mso-level-text:"%3\)";
989
+ mso-level-tab-stop:none;
990
+ mso-level-number-position:left;
991
+ margin-left:2.8cm;
992
+ text-indent:-0.7cm;}
993
+ @list l4:level4
994
+ {mso-level-number-format:alpha-upper;
995
+ mso-level-text:"%4\)";
996
+ mso-level-tab-stop:none;
997
+ mso-level-number-position:left;
998
+ margin-left:3.5cm;
999
+ text-indent:-0.7cm;}
1000
+ @list l4:level5
1001
+ {mso-level-number-format:roman-upper;
1002
+ mso-level-text:"%5\)";
1003
+ mso-level-tab-stop:none;
1004
+ mso-level-number-position:left;
1005
+ margin-left:4.2cm;
1006
+ text-indent:-0.7cm;}
1007
+ @list l4:level6
1008
+ {mso-level-text:"%6\)";
1009
+ mso-level-tab-stop:none;
1010
+ mso-level-number-position:left;
1011
+ margin-left:4.9cm;
1012
+ text-indent:-0.7cm;}
1013
+ @list l4:level7
1014
+ {mso-level-tab-stop:none;
1015
+ mso-level-number-format:alpha-lower;
1016
+ mso-level-text:"%7\)";
1017
+ mso-level-number-position:left;
1018
+ margin-left:5.6cm;
1019
+ text-indent:-0.7cm;}
1020
+ @list l4:level8
1021
+ {mso-level-number-format:roman-lower;
1022
+ mso-level-text:"%8\)";
1023
+ mso-level-tab-stop:none;
1024
+ mso-level-number-position:left;
1025
+ margin-left:6.3cm;
1026
+ text-indent:-0.7cm;}
1027
+ @list l4:level9
1028
+ {mso-level-number-format:alpha-upper;
1029
+ mso-level-text:"%9\)";
1030
+ mso-level-tab-stop:none;
1031
+ mso-level-number-position:left;
1032
+ margin-left:7.0cm;
1033
+ text-indent:-0.7cm;}
1034
+
969
1035
 
970
1036
  div.ListContLevel1
971
1037
  {mso-style-priority:34;
@@ -109,6 +109,7 @@ module IsoDoc
109
109
  def make_body3(body, docxml)
110
110
  body.div **{ class: "main-section" } do |div3|
111
111
  foreword docxml, div3
112
+ preface_block docxml, div3
112
113
  abstract docxml, div3
113
114
  keywords docxml, div3
114
115
  boilerplate docxml, div3
@@ -812,6 +812,9 @@
812
812
  <xsl:when test="local-name(..) = 'ul'">•</xsl:when>
813
813
  <xsl:otherwise> <!-- for ordered lists -->
814
814
  <xsl:choose>
815
+ <xsl:when test="../@class = 'steps'">
816
+ <xsl:number format="1."/>
817
+ </xsl:when>
815
818
  <xsl:when test="../@type = 'arabic'">
816
819
  <xsl:number format="a)"/>
817
820
  </xsl:when>
@@ -2354,16 +2357,18 @@
2354
2357
  <fo:table-cell>
2355
2358
  <fo:block>
2356
2359
 
2357
-
2360
+ <!-- <xsl:if test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
2358
2361
  <xsl:if test="local-name(*[1]) != 'stem'">
2359
2362
  <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
2360
2363
  </xsl:if>
2364
+ </xsl:if> -->
2361
2365
 
2366
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
2362
2367
 
2363
2368
  </fo:block>
2364
2369
  </fo:table-cell>
2365
2370
  </fo:table-row>
2366
-
2371
+ <!-- <xsl:if test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
2367
2372
  <xsl:if test="local-name(*[1]) = 'stem'">
2368
2373
  <fo:table-row>
2369
2374
  <fo:table-cell>
@@ -2371,7 +2376,7 @@
2371
2376
  <xsl:if test="normalize-space($key_iso) = 'true'">
2372
2377
  <xsl:attribute name="margin-top">0</xsl:attribute>
2373
2378
  </xsl:if>
2374
- <xsl:text> </xsl:text>
2379
+ <xsl:text>&#xA0;</xsl:text>
2375
2380
  </fo:block>
2376
2381
  </fo:table-cell>
2377
2382
  <fo:table-cell>
@@ -2381,7 +2386,7 @@
2381
2386
  </fo:table-cell>
2382
2387
  </fo:table-row>
2383
2388
  </xsl:if>
2384
-
2389
+ </xsl:if> -->
2385
2390
  </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
2386
2391
  <xsl:apply-templates/>
2387
2392
  </xsl:template><xsl:template match="*[local-name()='dd']"/><xsl:template match="*[local-name()='dd']" mode="process">
@@ -3137,22 +3142,30 @@
3137
3142
  </fo:block>
3138
3143
  </xsl:template><xsl:template match="*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
3139
3144
  <fo:block-container margin-left="0mm" margin-right="0mm" margin-bottom="12pt">
3145
+ <xsl:if test="ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
3146
+ <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
3147
+ </xsl:if>
3140
3148
  <fo:block-container margin-left="0mm" margin-right="0mm">
3141
- <fo:table id="{@id}" table-layout="fixed" width="100%" border="0pt solid black">
3149
+ <fo:table id="{@id}" table-layout="fixed" width="100%" border="1pt solid black">
3150
+ <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>
3152
+ </xsl:if>
3142
3153
  <xsl:variable name="simple-table">
3143
3154
  <xsl:call-template name="getSimpleTable"/>
3144
3155
  </xsl:variable>
3145
3156
  <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
3146
3157
  <xsl:if test="$cols-count = 2 and not(ancestor::*[local-name()='table'])">
3147
- <fo:table-column column-width="35mm"/>
3148
- <fo:table-column column-width="115mm"/>
3158
+ <!-- <fo:table-column column-width="35mm"/>
3159
+ <fo:table-column column-width="115mm"/> -->
3160
+ <fo:table-column column-width="25%"/>
3161
+ <fo:table-column column-width="75%"/>
3149
3162
  </xsl:if>
3150
3163
  <xsl:apply-templates mode="requirement"/>
3151
3164
  </fo:table>
3152
3165
  <!-- fn processing -->
3153
3166
  <xsl:if test=".//*[local-name() = 'fn']">
3154
3167
  <xsl:for-each select="*[local-name() = 'tbody']">
3155
- <fo:block font-size="90%" border-bottom="1.pt solid black">
3168
+ <fo:block font-size="90%" border-bottom="1pt solid black">
3156
3169
  <xsl:call-template name="fn_display"/>
3157
3170
  </fo:block>
3158
3171
  </xsl:for-each>
@@ -3168,17 +3181,20 @@
3168
3181
  <xsl:apply-templates mode="requirement"/>
3169
3182
  </fo:table-body>
3170
3183
  </xsl:template><xsl:template match="*[local-name()='tr']" mode="requirement">
3171
- <fo:table-row>
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>
3187
+ </xsl:if>
3172
3188
  <xsl:apply-templates mode="requirement"/>
3173
3189
  </fo:table-row>
3174
3190
  </xsl:template><xsl:template match="*[local-name()='th']" mode="requirement">
3175
- <fo:table-cell text-align="{@align}">
3191
+ <fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm" border="0.5pt solid black">
3176
3192
  <xsl:attribute name="text-align">
3177
3193
  <xsl:choose>
3178
3194
  <xsl:when test="@align">
3179
3195
  <xsl:value-of select="@align"/>
3180
3196
  </xsl:when>
3181
- <xsl:otherwise>center</xsl:otherwise>
3197
+ <xsl:otherwise>left</xsl:otherwise>
3182
3198
  </xsl:choose>
3183
3199
  </xsl:attribute>
3184
3200
  <xsl:if test="@colspan">
@@ -3192,21 +3208,25 @@
3192
3208
  </xsl:attribute>
3193
3209
  </xsl:if>
3194
3210
 
3195
- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
3211
+ <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
3196
3212
  <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3197
3213
  <xsl:attribute name="background-color">rgb(165, 165, 165)</xsl:attribute>
3198
3214
  </xsl:if>
3199
3215
  <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommendtest'">
3200
3216
  <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3201
3217
  <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
3202
- </xsl:if>
3218
+ </xsl:if> -->
3203
3219
 
3204
3220
  <fo:block>
3205
3221
  <xsl:apply-templates/>
3206
3222
  </fo:block>
3207
3223
  </fo:table-cell>
3208
3224
  </xsl:template><xsl:template match="*[local-name()='td']" mode="requirement">
3209
- <fo:table-cell text-align="{@align}">
3225
+ <fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm" border="0.5pt solid black">
3226
+ <xsl:if test="*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
3227
+ <xsl:attribute name="padding">0mm</xsl:attribute>
3228
+ <xsl:attribute name="padding-left">0mm</xsl:attribute>
3229
+ </xsl:if>
3210
3230
  <xsl:attribute name="text-align">
3211
3231
  <xsl:choose>
3212
3232
  <xsl:when test="@align">
@@ -3226,24 +3246,25 @@
3226
3246
  </xsl:attribute>
3227
3247
  </xsl:if>
3228
3248
 
3229
- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
3249
+ <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
3230
3250
  <xsl:attribute name="padding-left">0.5mm</xsl:attribute>
3231
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3232
- <xsl:if test="parent::*[local-name()='tr']/preceding-sibling::*[local-name()='tr'] and not(*[local-name()='table'])"> <!-- 2nd line and below -->
3251
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3252
+ <xsl:if test="parent::*[local-name()='tr']/preceding-sibling::*[local-name()='tr'] and not(*[local-name()='table'])">
3233
3253
  <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
3234
3254
  </xsl:if>
3235
- </xsl:if>
3255
+ </xsl:if> -->
3256
+ <!-- 2nd line and below -->
3236
3257
 
3237
3258
  <fo:block>
3238
3259
  <xsl:apply-templates/>
3239
3260
  </fo:block>
3240
3261
  </fo:table-cell>
3241
3262
  </xsl:template><xsl:template match="*[local-name() = 'p'][@class='RecommendationTitle' or @class = 'RecommendationTestTitle']" priority="2">
3242
- <fo:block font-size="11pt" font-weight="bold" text-align="center" margin-bottom="4pt">
3263
+ <fo:block font-size="11pt" font-weight="bold"> <!-- margin-bottom="4pt" text-align="center" -->
3243
3264
  <xsl:apply-templates/>
3244
3265
  </fo:block>
3245
- </xsl:template><xsl:template match="*[local-name() = 'p'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
3246
- <fo:block margin-bottom="10pt">
3266
+ </xsl:template><xsl:template match="*[local-name() = 'p2'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
3267
+ <fo:block> <!-- margin-bottom="10pt" -->
3247
3268
  <xsl:apply-templates/>
3248
3269
  </fo:block>
3249
3270
  </xsl:template><xsl:template match="*[local-name() = 'termexample']">
@@ -3580,6 +3601,44 @@
3580
3601
  <fo:table-cell border="1pt solid black" padding-left="1mm" padding-top="0.5mm">
3581
3602
  <fo:block><xsl:apply-templates/></fo:block>
3582
3603
  </fo:table-cell>
3604
+ </xsl:template><xsl:template name="processBibitem">
3605
+
3606
+ </xsl:template><xsl:template name="processPersonalAuthor">
3607
+ <xsl:choose>
3608
+ <xsl:when test="*[local-name() = 'name']/*[local-name() = 'completename']">
3609
+ <author>
3610
+ <xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'completename']"/>
3611
+ </author>
3612
+ </xsl:when>
3613
+ <xsl:when test="*[local-name() = 'name']/*[local-name() = 'surname'] and *[local-name() = 'name']/*[local-name() = 'initial']">
3614
+ <author>
3615
+ <xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'surname']"/>
3616
+ <xsl:text> </xsl:text>
3617
+ <xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'initial']" mode="strip"/>
3618
+ </author>
3619
+ </xsl:when>
3620
+ <xsl:when test="*[local-name() = 'name']/*[local-name() = 'surname'] and *[local-name() = 'name']/*[local-name() = 'forename']">
3621
+ <author>
3622
+ <xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'surname']"/>
3623
+ <xsl:text> </xsl:text>
3624
+ <xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'forename']" mode="strip"/>
3625
+ </author>
3626
+ </xsl:when>
3627
+ <xsl:otherwise>
3628
+ <xsl:apply-templates/>
3629
+ </xsl:otherwise>
3630
+ </xsl:choose>
3631
+ </xsl:template><xsl:template name="renderDate">
3632
+ <xsl:if test="normalize-space(*[local-name() = 'on']) != ''">
3633
+ <xsl:value-of select="*[local-name() = 'on']"/>
3634
+ </xsl:if>
3635
+ <xsl:if test="normalize-space(*[local-name() = 'from']) != ''">
3636
+ <xsl:value-of select="concat(*[local-name() = 'from'], '–', *[local-name() = 'to'])"/>
3637
+ </xsl:if>
3638
+ </xsl:template><xsl:template match="*[local-name() = 'name']/*[local-name() = 'initial']/text()" mode="strip">
3639
+ <xsl:value-of select="translate(.,'. ','')"/>
3640
+ </xsl:template><xsl:template match="*[local-name() = 'name']/*[local-name() = 'forename']/text()" mode="strip">
3641
+ <xsl:value-of select="substring(.,1,1)"/>
3583
3642
  </xsl:template><xsl:template name="convertDate">
3584
3643
  <xsl:param name="date"/>
3585
3644
  <xsl:param name="format" select="'short'"/>