metanorma-ogc 1.2.4 → 1.2.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/lib/asciidoctor/ogc/boilerplate.xml +1 -1
  3. data/lib/asciidoctor/ogc/converter.rb +25 -1
  4. data/lib/asciidoctor/ogc/isodoc.rng +0 -1
  5. data/lib/asciidoctor/ogc/validate.rb +1 -1
  6. data/lib/isodoc/ogc/html/_coverpage.css +6 -0
  7. data/lib/isodoc/ogc/html/_coverpage.scss +8 -0
  8. data/lib/isodoc/ogc/html/html_ogc_titlepage.html +3 -3
  9. data/lib/isodoc/ogc/html/htmlstyle.css +7 -1
  10. data/lib/isodoc/ogc/html/word_ogc_titlepage.html +1 -1
  11. data/lib/isodoc/ogc/html_convert.rb +1 -0
  12. data/lib/isodoc/ogc/i18n-en.yaml +10 -0
  13. data/lib/isodoc/ogc/init.rb +1 -1
  14. data/lib/isodoc/ogc/metadata.rb +1 -1
  15. data/lib/isodoc/ogc/ogc.abstract-specification-topic.xsl +314 -63
  16. data/lib/isodoc/ogc/ogc.best-practice.xsl +314 -63
  17. data/lib/isodoc/ogc/ogc.change-request-supporting-document.xsl +314 -63
  18. data/lib/isodoc/ogc/ogc.community-practice.xsl +314 -63
  19. data/lib/isodoc/ogc/ogc.community-standard.xsl +314 -63
  20. data/lib/isodoc/ogc/ogc.discussion-paper.xsl +314 -63
  21. data/lib/isodoc/ogc/ogc.engineering-report.xsl +314 -63
  22. data/lib/isodoc/ogc/ogc.other.xsl +314 -63
  23. data/lib/isodoc/ogc/ogc.policy.xsl +314 -63
  24. data/lib/isodoc/ogc/ogc.reference-model.xsl +314 -63
  25. data/lib/isodoc/ogc/ogc.release-notes.xsl +314 -63
  26. data/lib/isodoc/ogc/ogc.standard.xsl +314 -63
  27. data/lib/isodoc/ogc/ogc.test-suite.xsl +314 -63
  28. data/lib/isodoc/ogc/ogc.user-guide.xsl +314 -63
  29. data/lib/isodoc/ogc/ogc.white-paper.xsl +281 -46
  30. data/lib/isodoc/ogc/presentation_xml_convert.rb +12 -0
  31. data/lib/isodoc/ogc/sections.rb +6 -1
  32. data/lib/isodoc/ogc/word_convert.rb +1 -0
  33. data/lib/isodoc/ogc/xref.rb +30 -5
  34. data/lib/metanorma/ogc/version.rb +1 -1
  35. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 315f5ca6c4645a1328229ee70d5a187999e6b47d265a5f80ffdfd867cbd06d3b
4
- data.tar.gz: e660c879a098ba02f0a6e5a08bbc0d3c86e7540c7d9d77a4168aad1b4c167a75
3
+ metadata.gz: 7cb1827bd566651377aacd30859f32dd9d6299a49fb8e6bbd32c56bf840e56ce
4
+ data.tar.gz: 06e25986c309061c9aab8758384ec8325d364a03182c39fc72937df62d12b69e
5
5
  SHA512:
6
- metadata.gz: 5e5143719ed9d0f0def6bcb9a176b41447a35a4cfb35724126b086f146386dc83ac80777aa5c6d2e0bad53170db98022af85dcae0e2b78753a080b96264e8cce
7
- data.tar.gz: 6a21d1ffd72b3a112798a99fe2d3a02598ea0dd336a38a1d900704dd51daeaf071136ff3709f3d3c7bf26c645b9447e4503133cffaad23130b81417b5a728956
6
+ metadata.gz: 0fa1dd66925f8e272d455b34467c1ba315e3c9da90ac003b145dfbded60c22a1dd41efb134122f83b899b3417d8da287573e755939a7b978ff3f033cbf1281d1
7
+ data.tar.gz: 601dd2886ebc3f73d04b77be00e7d7939a9f21bd6b99c9d4787448ce2f1069634a3cefca609f0cd1ebed9718290ce2e4a7c0953a36aa69973651204da1c5f8b6
@@ -93,7 +93,7 @@
93
93
 
94
94
  <legal-statement>
95
95
  {% if doctype == "Standard" or doctype == "Community Standard" %}
96
- {% if stage == "Published" or stage == "Withdrawn" %}
96
+ {% if stage == "Approved" or stage == "Withdrawn" %}
97
97
  <clause>
98
98
  <title>Warning</title>
99
99
  <p>This document is an OGC Member approved international standard. This document is available on a royalty free, non-discriminatory basis. Recipients of this document are invited to submit, with their comments, notification of any relevant patent rights of which they are aware and to provide supporting documentation.
@@ -78,6 +78,25 @@ module Asciidoctor
78
78
 
79
79
  def make_preface(x, s)
80
80
  super
81
+ insert_security(x, s)
82
+ insert_submitters(x, s)
83
+ end
84
+
85
+ def add_id
86
+ %(id="_#{UUIDTools::UUID.random_create}")
87
+ end
88
+
89
+ def insert_security(x, s)
90
+ preface = s.at("//preface") ||
91
+ s.add_previous_sibling("<preface/>").first
92
+ s = x&.at("//clause[@type = 'security']")&.remove ||
93
+ "<clause type='security' #{add_id}>"\
94
+ "<title>Security Considerations</title>"\
95
+ "<p>#{@i18n.security_empty}</p></clause>"
96
+ preface.add_child s
97
+ end
98
+
99
+ def insert_submitters(x, s)
81
100
  if x.at("//submitters")
82
101
  preface = s.at("//preface") ||
83
102
  s.add_previous_sibling("<preface/>").first
@@ -90,6 +109,8 @@ module Asciidoctor
90
109
  case clausetype = node&.attr("heading")&.downcase || node.title.downcase
91
110
  when "submitters" then return submitters_parse(attrs, xml, node)
92
111
  when "conformance" then attrs = attrs.merge(type: "conformance")
112
+ when "security considerations" then attrs =
113
+ attrs.merge(type: "security")
93
114
  end
94
115
  super
95
116
  end
@@ -109,8 +130,11 @@ module Asciidoctor
109
130
  return
110
131
  end
111
132
 
112
- def cleanup(xmldoc)
133
+ def bibdata_cleanup(xmldoc)
113
134
  super
135
+ a = xmldoc.at("//bibdata/status/stage")
136
+ a.text == "published" and
137
+ a.children = "approved"
114
138
  end
115
139
 
116
140
  def presentation_xml_converter(node)
@@ -42,7 +42,6 @@
42
42
  </define>
43
43
  <define name="xref">
44
44
  <element name="xref">
45
- <!-- attribute target { xsd:IDREF }, -->
46
45
  <attribute name="target">
47
46
  <data type="string">
48
47
  <param name="pattern">\i\c*|\c+#\c+</param>
@@ -18,7 +18,7 @@ module Asciidoctor
18
18
  def stage_validate(xmldoc)
19
19
  stage = xmldoc&.at("//bibdata/status/stage")&.text
20
20
  %w(swg-draft oab-review public-rfc tc-vote
21
- published deprecated retired).include? stage or
21
+ approved deprecated retired).include? stage or
22
22
  @log.add("Document Attributes", nil, "#{stage} is not a recognised status")
23
23
  end
24
24
 
@@ -23,6 +23,12 @@
23
23
  border-right: 100px solid transparent;
24
24
  position: absolute; }
25
25
 
26
+ .document-type-band {
27
+ top: 260px; }
28
+
29
+ .document-stage-band > :first-child {
30
+ height: 240px; }
31
+
26
32
  .coverpage-metadata {
27
33
  margin-top: 35px;
28
34
  padding-top: 15px;
@@ -27,6 +27,14 @@
27
27
  position: absolute;
28
28
  }
29
29
 
30
+ .document-type-band {
31
+ top: 260px;
32
+ }
33
+
34
+ .document-stage-band > :first-child {
35
+ height: 240px;
36
+ }
37
+
30
38
  .coverpage-metadata {
31
39
  margin-top: 35px;
32
40
  padding-top: 15px;
@@ -1,5 +1,5 @@
1
1
  <div class="document-stage-band" id="{{ stage | downcase | replace: ' ', '-' }}-band">
2
- <p class="document-stage">{{ stage }}</p>
2
+ <p class="document-stage">{{ stage_display }}</p>
3
3
  </div>
4
4
 
5
5
  <div class="document-type-band" id="{{ doctype | downcase | replace: ' ', '-' }}-band">
@@ -85,7 +85,7 @@
85
85
  </div>
86
86
 
87
87
  <div class="coverpage-stage-block" >
88
- <p><span class="coverpage-maturity" id="{{ stage | replace: ' ', '-' | downcase }}">{{ stage }}</span></p>
88
+ <p><span class="coverpage-maturity" id="{{ stage | replace: ' ', '-' | downcase }}">{{ stage_display }}</span></p>
89
89
  </div>
90
90
  </div>
91
91
 
@@ -98,7 +98,7 @@
98
98
  <tr><td>Document number:</td><td>{{docnumber}}</td></tr>
99
99
  <tr><td>Document type:</td><td>OGC {{doctype}}</td></tr>
100
100
  <tr><td align="right">Document subtype:</td><td align="right">{{docsubtype}}</td></tr>
101
- <tr><td align="right">Document stage:</td><td align="right">{{stage}}</td></tr>
101
+ <tr><td align="right">Document stage:</td><td align="right">{{stage_display}}</td></tr>
102
102
  <tr><td align="right">Document language:</td><td align="right">{{doclanguage}}</td></tr>
103
103
  </table>
104
104
  </div>
@@ -9,7 +9,7 @@ fieldset, form, label, legend,
9
9
  table, caption, tbody, tfoot, thead, tr, th, td,
10
10
  article, aside, canvas, details, embed,
11
11
  figure, figcaption, footer, header, hgroup,
12
- menu, nav, output, ruby, section, summary,
12
+ menu, output, ruby, section, summary,
13
13
  time, mark, audio, video {
14
14
  margin: 0;
15
15
  padding: 0; }
@@ -522,6 +522,12 @@ dl {
522
522
  border-right: 100px solid transparent;
523
523
  position: absolute; }
524
524
 
525
+ .document-type-band {
526
+ top: 260px; }
527
+
528
+ .document-stage-band > :first-child {
529
+ height: 240px; }
530
+
525
531
  .coverpage-metadata {
526
532
  margin-top: 35px;
527
533
  padding-top: 15px;
@@ -91,7 +91,7 @@ page;mso-element-left:39.9pt;mso-element-top:693.25pt;mso-height-rule:exactly'>
91
91
  auto;mso-element-anchor-vertical:page;mso-element-anchor-horizontal:page;
92
92
  mso-element-left:39.9pt;mso-element-top:693.25pt;mso-height-rule:exactly'><span
93
93
  lang=EN-GB style='font-size:10.0pt;mso-color-alt:windowtext;font-weight:normal'>Document
94
- stage:&nbsp;&nbsp;&nbsp;<span style='mso-tab-count:1'>        </span>{{ stage }}<o:p></o:p></span></p>
94
+ stage:&nbsp;&nbsp;&nbsp;<span style='mso-tab-count:1'>        </span>{{ stage_display }}<o:p></o:p></span></p>
95
95
  <p class=zzCover align=left style='margin-bottom:0cm;margin-bottom:.0001pt;
96
96
  text-align:left;mso-hyphenate:none;tab-stops:99.0pt;mso-element:frame;
97
97
  mso-element-frame-hspace:7.1pt;mso-element-frame-vspace:7.1pt;mso-element-wrap:
@@ -68,6 +68,7 @@ module IsoDoc
68
68
  keywords docxml, div3
69
69
  foreword docxml, div3
70
70
  introduction docxml, div3
71
+ security docxml, div3
71
72
  submittingorgs docxml, div3
72
73
  submitters docxml, div3
73
74
  preface docxml, div3
@@ -9,3 +9,13 @@ permissionclass: Permission Class
9
9
  abstracttest: Abstract Test
10
10
  conformanceclass: Conformance Class
11
11
  example: Example
12
+ security_empty: No security considerations have been made for this standard.
13
+ stage_dict:
14
+ swg-draft: Candidate SWG Draft
15
+ oab-review: Candidate OAB Review Draft
16
+ public-rfc: Candidate Public RFC Draft
17
+ tc-vote: Candidate TC Vote Draft
18
+ approved: Approved
19
+ published: Approved
20
+ deprecated: Deprecated
21
+ retired: Retired
@@ -32,7 +32,7 @@ module IsoDoc
32
32
  ns("./contributor[role/@type = 'publisher']/organization"\
33
33
  "[name = 'Open Geospatial Consortium']"))
34
34
  status = ref.at(ns("./status/stage"))&.text or return
35
- return if %w(published deprecated retired).include? status
35
+ return if %w(approved published deprecated retired).include? status
36
36
  true
37
37
  end
38
38
  end
@@ -66,7 +66,7 @@ module IsoDoc
66
66
  end
67
67
 
68
68
  def unpublished(status)
69
- !%w(published deprecated retired).include?(status.downcase)
69
+ !%w(approved deprecated retired).include?(status.downcase)
70
70
  end
71
71
 
72
72
  def version(isoxml, _out)
@@ -36,10 +36,11 @@
36
36
  <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:abstract" mode="contents"/>
37
37
  <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:clause[@type = 'keywords']" mode="contents"/>
38
38
  <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:foreword" mode="contents"/>
39
+ <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:clause[@type = 'security']" mode="contents"/>
39
40
  <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:clause[@type = 'submitting_orgs']" mode="contents"/>
40
41
  <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:submitters" mode="contents"/>
41
42
  <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:introduction" mode="contents"/>
42
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:clause[not(@type = 'submitting_orgs') and not(@type = 'keywords')]" mode="contents"/>
43
+ <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:clause[not(@type = 'security') and not(@type = 'submitting_orgs') and not(@type = 'keywords')]" mode="contents"/>
43
44
  <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:acknowledgements" mode="contents"/>
44
45
 
45
46
 
@@ -68,7 +69,7 @@
68
69
 
69
70
  <xsl:template match="/">
70
71
  <xsl:call-template name="namespaceCheck"/>
71
- <fo:root font-family="Lato, STIX2Math, HanSans" font-size="11pt" color="{$color_main}" xml:lang="{$lang}">
72
+ <fo:root font-family="Lato, STIX Two Math, HanSans" font-size="11pt" color="{$color_main}" xml:lang="{$lang}">
72
73
  <fo:layout-master-set>
73
74
  <!-- Cover page -->
74
75
  <fo:simple-page-master master-name="cover-page" page-width="{$pageWidth}" page-height="{$pageHeight}">
@@ -186,8 +187,9 @@
186
187
  </xsl:call-template>
187
188
  </fo:block>
188
189
  <fo:block font-size="12pt" font-weight="bold">
190
+ <xsl:variable name="stage" select="java:toUpperCase(java:java.lang.String.new(//ogc:local_bibdata/ogc:status/ogc:stage))"/>
189
191
  <xsl:call-template name="addLetterSpacing">
190
- <xsl:with-param name="text" select="'APPROVED'"/>
192
+ <xsl:with-param name="text" select="$stage"/>
191
193
  </xsl:call-template>
192
194
  </fo:block>
193
195
  </fo:block>
@@ -494,10 +496,17 @@
494
496
  <fo:block break-after="page"/>
495
497
  </xsl:if>
496
498
  <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:foreword"/>
499
+
500
+ <xsl:if test="/ogc:ogc-standard/ogc:preface/ogc:clause[@type = 'security']">
501
+ <fo:block break-after="page"/>
502
+ </xsl:if>
503
+ <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:clause[@type = 'security']"/>
504
+
497
505
  <xsl:if test="/ogc:ogc-standard/ogc:preface/ogc:clause[@type = 'submitting_orgs']">
498
506
  <fo:block break-after="page"/>
499
507
  </xsl:if>
500
508
  <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:clause[@type = 'submitting_orgs']"/>
509
+
501
510
  <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:submitters"/>
502
511
  <xsl:if test="/ogc:ogc-standard/ogc:preface/ogc:introduction">
503
512
  <fo:block break-after="page"/>
@@ -506,7 +515,7 @@
506
515
 
507
516
 
508
517
 
509
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:clause[not(@type = 'submitting_orgs') and not(@type = 'keywords')]"/>
518
+ <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:clause[not(@type = 'security') and not(@type = 'submitting_orgs') and not(@type = 'keywords')]"/>
510
519
  <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:acknowledgements"/>
511
520
  </fo:block>
512
521
  </fo:flow>
@@ -547,7 +556,7 @@
547
556
  <xsl:value-of select="translate(., $thinspace, ' ')"/>
548
557
  </xsl:template>
549
558
 
550
- <xsl:template match="text()" priority="1" mode="contents">
559
+ <xsl:template match="text()" priority="3" mode="contents">
551
560
  <xsl:value-of select="translate(., $thinspace, ' ')"/>
552
561
  </xsl:template>
553
562
 
@@ -853,11 +862,20 @@
853
862
  <xsl:when test="$level = 2">
854
863
  <fo:block space-before="24pt" margin-bottom="10pt">
855
864
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
856
- <!-- <xsl:variable name="title">
857
- <xsl:apply-templates/>
858
- </xsl:variable> -->
865
+ <xsl:variable name="title">
866
+ <xsl:choose>
867
+ <xsl:when test="*[local-name() = 'tab']">
868
+ <xsl:copy-of select="*[local-name() = 'tab'][1]/following-sibling::node()"/>
869
+ </xsl:when>
870
+ <xsl:otherwise>
871
+ <xsl:copy-of select="."/>
872
+ </xsl:otherwise>
873
+ </xsl:choose>
874
+ </xsl:variable>
875
+ <xsl:variable name="section" select="*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
859
876
  <xsl:call-template name="insertSectionTitle">
860
- <xsl:with-param name="title" select="."/>
877
+ <xsl:with-param name="section" select="$section"/>
878
+ <xsl:with-param name="title" select="$title"/>
861
879
  </xsl:call-template>
862
880
  </fo:block>
863
881
  </xsl:when>
@@ -1002,8 +1020,14 @@
1002
1020
 
1003
1021
  <xsl:template match="ogc:ul | ogc:ol" mode="ul_ol">
1004
1022
  <fo:block-container margin-left="13mm">
1023
+ <xsl:if test="ancestor::ogc:table">
1024
+ <xsl:attribute name="margin-left">1.5mm</xsl:attribute>
1025
+ </xsl:if>
1005
1026
  <fo:block-container margin-left="0mm">
1006
1027
  <fo:list-block provisional-distance-between-starts="12mm" space-after="12pt" line-height="115%">
1028
+ <xsl:if test="ancestor::ogc:table">
1029
+ <xsl:attribute name="provisional-distance-between-starts">5mm</xsl:attribute>
1030
+ </xsl:if>
1007
1031
  <xsl:if test="ancestor::ogc:ul | ancestor::ogc:ol">
1008
1032
  <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
1009
1033
  </xsl:if>
@@ -1363,9 +1387,18 @@
1363
1387
  </xsl:template>
1364
1388
 
1365
1389
  <xsl:template name="insertSectionTitle">
1390
+ <xsl:param name="section"/>
1366
1391
  <xsl:param name="title"/>
1367
1392
  <fo:block>
1368
1393
  <fo:block font-size="18pt" color="{$color_blue}" keep-with-next="always" line-height="150%">
1394
+ <xsl:if test="$section != ''">
1395
+ <fo:inline padding-right="2mm">
1396
+ <xsl:call-template name="addLetterSpacing">
1397
+ <xsl:with-param name="text" select="$section"/>
1398
+ <xsl:with-param name="letter-spacing" select="0.6"/>
1399
+ </xsl:call-template>
1400
+ </fo:inline>
1401
+ </xsl:if>
1369
1402
  <xsl:apply-templates select="xalan:nodeset($title)" mode="titlesmall"/>
1370
1403
  </fo:block>
1371
1404
  <xsl:call-template name="insertOrangeHorizontalLine"/>
@@ -1374,9 +1407,9 @@
1374
1407
 
1375
1408
  <xsl:template match="text()" mode="titlesmall">
1376
1409
  <xsl:call-template name="addLetterSpacing">
1377
- <xsl:with-param name="text" select="java:toUpperCase(java:java.lang.String.new(.))"/>
1378
- <xsl:with-param name="letter-spacing" select="0.6"/>
1379
- </xsl:call-template>
1410
+ <xsl:with-param name="text" select="java:toUpperCase(java:java.lang.String.new(.))"/>
1411
+ <xsl:with-param name="letter-spacing" select="0.6"/>
1412
+ </xsl:call-template>
1380
1413
  </xsl:template>
1381
1414
 
1382
1415
  <xsl:template match="ogc:strong" mode="titlesmall">
@@ -1443,7 +1476,12 @@
1443
1476
 
1444
1477
 
1445
1478
  </title-toc>
1446
- <title-toc lang="fr">Sommaire</title-toc>
1479
+ <title-toc lang="fr">
1480
+
1481
+ <xsl:text>Sommaire</xsl:text>
1482
+
1483
+
1484
+ </title-toc>
1447
1485
 
1448
1486
  <title-toc lang="zh">Contents</title-toc>
1449
1487
 
@@ -1531,10 +1569,19 @@
1531
1569
 
1532
1570
  </xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:template name="getTitle">
1533
1571
  <xsl:param name="name"/>
1534
- <xsl:variable name="lang">
1535
- <xsl:call-template name="getLang"/>
1572
+ <xsl:param name="lang"/>
1573
+ <xsl:variable name="lang_">
1574
+ <xsl:choose>
1575
+ <xsl:when test="$lang != ''">
1576
+ <xsl:value-of select="$lang"/>
1577
+ </xsl:when>
1578
+ <xsl:otherwise>
1579
+ <xsl:call-template name="getLang"/>
1580
+ </xsl:otherwise>
1581
+ </xsl:choose>
1536
1582
  </xsl:variable>
1537
- <xsl:variable name="title_" select="$titles/*[local-name() = $name][@lang = $lang]"/>
1583
+ <xsl:variable name="language" select="normalize-space($lang_)"/>
1584
+ <xsl:variable name="title_" select="$titles/*[local-name() = $name][@lang = $language]"/>
1538
1585
  <xsl:choose>
1539
1586
  <xsl:when test="normalize-space($title_) != ''">
1540
1587
  <xsl:value-of select="$title_"/>
@@ -1722,6 +1769,7 @@
1722
1769
 
1723
1770
 
1724
1771
 
1772
+
1725
1773
  </xsl:attribute-set><xsl:attribute-set name="appendix-style">
1726
1774
 
1727
1775
  <xsl:attribute name="font-size">12pt</xsl:attribute>
@@ -1976,6 +2024,8 @@
1976
2024
  <fo:block> </fo:block>
1977
2025
 
1978
2026
 
2027
+
2028
+
1979
2029
  <!-- $namespace = 'iso' or -->
1980
2030
 
1981
2031
  <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
@@ -2013,6 +2063,7 @@
2013
2063
  <xsl:with-param name="table" select="$simple-table"/>
2014
2064
  </xsl:call-template>
2015
2065
  </xsl:variable>
2066
+ <!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
2016
2067
 
2017
2068
  <!-- <xsl:variable name="colwidths2">
2018
2069
  <xsl:call-template name="calculate-column-widths">
@@ -2034,38 +2085,60 @@
2034
2085
  <fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
2035
2086
 
2036
2087
 
2037
-
2088
+
2089
+
2090
+
2038
2091
 
2039
2092
 
2040
2093
 
2041
2094
  <xsl:attribute name="margin-left">0mm</xsl:attribute>
2042
2095
  <xsl:attribute name="margin-right">0mm</xsl:attribute>
2043
2096
  <xsl:attribute name="space-after">12pt</xsl:attribute>
2044
-
2097
+
2045
2098
 
2099
+ <xsl:if test="ancestor::*[local-name()='sections']">
2100
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
2101
+ </xsl:if>
2046
2102
 
2047
2103
 
2048
- <fo:table id="{@id}" table-layout="fixed" width="100%" margin-left="{$margin-left}mm" margin-right="{$margin-left}mm" table-omit-footer-at-break="true">
2049
-
2050
-
2051
-
2052
-
2053
-
2054
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
2055
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
2056
-
2104
+
2105
+
2106
+
2107
+
2108
+
2109
+ <xsl:variable name="table_attributes">
2110
+ <attribute name="table-layout">fixed</attribute>
2111
+ <attribute name="width">100%</attribute>
2112
+ <attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
2113
+ <attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
2057
2114
 
2058
2115
 
2059
2116
 
2060
2117
 
2061
2118
 
2062
- <xsl:if test="ancestor::*[local-name()='sections']">
2063
- <xsl:attribute name="font-size">9pt</xsl:attribute>
2064
- </xsl:if>
2119
+ <attribute name="margin-left">0mm</attribute>
2120
+ <attribute name="margin-right">0mm</attribute>
2121
+
2122
+
2123
+
2065
2124
 
2125
+
2066
2126
 
2127
+ </xsl:variable>
2128
+
2129
+
2130
+ <fo:table id="{@id}" table-omit-footer-at-break="true">
2067
2131
 
2132
+ <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
2133
+ <xsl:attribute name="{@name}">
2134
+ <xsl:value-of select="."/>
2135
+ </xsl:attribute>
2136
+ </xsl:for-each>
2068
2137
 
2138
+ <xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or .//*[local-name()='fn'][local-name(..) != 'name']"/>
2139
+ <xsl:if test="$isNoteOrFnExist = 'true'">
2140
+ <xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
2141
+ </xsl:if>
2069
2142
 
2070
2143
  <xsl:for-each select="xalan:nodeset($colwidths)//column">
2071
2144
  <xsl:choose>
@@ -2089,6 +2162,33 @@
2089
2162
 
2090
2163
  </fo:table>
2091
2164
 
2165
+ <xsl:for-each select="*[local-name()='tbody']"><!-- select context to tbody -->
2166
+ <xsl:call-template name="insertTableFooterInSeparateTable">
2167
+ <xsl:with-param name="table_attributes" select="$table_attributes"/>
2168
+ <xsl:with-param name="colwidths" select="$colwidths"/>
2169
+ </xsl:call-template>
2170
+ </xsl:for-each>
2171
+
2172
+ <!-- insert footer as table -->
2173
+ <!-- <fo:table>
2174
+ <xsl:for-each select="xalan::nodeset($table_attributes)/attribute">
2175
+ <xsl:attribute name="{@name}">
2176
+ <xsl:value-of select="."/>
2177
+ </xsl:attribute>
2178
+ </xsl:for-each>
2179
+
2180
+ <xsl:for-each select="xalan:nodeset($colwidths)//column">
2181
+ <xsl:choose>
2182
+ <xsl:when test=". = 1 or . = 0">
2183
+ <fo:table-column column-width="proportional-column-width(2)"/>
2184
+ </xsl:when>
2185
+ <xsl:otherwise>
2186
+ <fo:table-column column-width="proportional-column-width({.})"/>
2187
+ </xsl:otherwise>
2188
+ </xsl:choose>
2189
+ </xsl:for-each>
2190
+ </fo:table>-->
2191
+
2092
2192
 
2093
2193
 
2094
2194
 
@@ -2153,6 +2253,13 @@
2153
2253
  <xsl:for-each select="xalan:nodeset($table)//tr">
2154
2254
  <xsl:variable name="td_text">
2155
2255
  <xsl:apply-templates select="td[$curr-col]" mode="td_text"/>
2256
+
2257
+ <!-- <xsl:if test="$namespace = 'bipm'">
2258
+ <xsl:for-each select="*[local-name()='td'][$curr-col]//*[local-name()='math']">
2259
+ <word><xsl:value-of select="normalize-space(.)"/></word>
2260
+ </xsl:for-each>
2261
+ </xsl:if> -->
2262
+
2156
2263
  </xsl:variable>
2157
2264
  <xsl:variable name="words">
2158
2265
  <xsl:variable name="string_with_added_zerospaces">
@@ -2212,11 +2319,14 @@
2212
2319
  <xsl:value-of select="*[local-name()='origin']/@citeas"/>
2213
2320
  </xsl:template><xsl:template match="*[local-name()='link']" mode="td_text">
2214
2321
  <xsl:value-of select="@target"/>
2322
+ </xsl:template><xsl:template match="*[local-name()='math']" mode="td_text">
2323
+ <xsl:variable name="math_text" select="normalize-space(.)"/>
2324
+ <xsl:value-of select="translate($math_text, ' ', '#')"/><!-- mathml images as one 'word' without spaces -->
2215
2325
  </xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
2216
2326
  <xsl:param name="cols-count"/>
2217
2327
  <!-- font-weight="bold" -->
2218
2328
  <fo:table-header>
2219
-
2329
+
2220
2330
  <xsl:apply-templates/>
2221
2331
  </fo:table-header>
2222
2332
  </xsl:template><xsl:template name="table-header-title">
@@ -2241,6 +2351,13 @@
2241
2351
  </xsl:template><xsl:template match="*[local-name()='tfoot']"/><xsl:template match="*[local-name()='tfoot']" mode="process">
2242
2352
  <xsl:apply-templates/>
2243
2353
  </xsl:template><xsl:template name="insertTableFooter">
2354
+ <xsl:param name="cols-count"/>
2355
+ <xsl:if test="../*[local-name()='tfoot']">
2356
+ <fo:table-footer>
2357
+ <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/>
2358
+ </fo:table-footer>
2359
+ </xsl:if>
2360
+ </xsl:template><xsl:template name="insertTableFooter2">
2244
2361
  <xsl:param name="cols-count"/>
2245
2362
  <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
2246
2363
  <xsl:if test="../*[local-name()='tfoot'] or $isNoteOrFnExist = 'true'">
@@ -2264,11 +2381,15 @@
2264
2381
 
2265
2382
  <xsl:attribute name="border">solid black 0pt</xsl:attribute>
2266
2383
 
2267
- <!-- except gb -->
2384
+
2385
+ <!-- except gb and bipm -->
2268
2386
 
2269
2387
  <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
2270
2388
 
2271
2389
 
2390
+
2391
+
2392
+
2272
2393
  <!-- horizontal row separator -->
2273
2394
 
2274
2395
 
@@ -2282,6 +2403,86 @@
2282
2403
  </fo:table-footer>
2283
2404
 
2284
2405
  </xsl:if>
2406
+ </xsl:template><xsl:template name="insertTableFooterInSeparateTable">
2407
+ <xsl:param name="table_attributes"/>
2408
+ <xsl:param name="colwidths"/>
2409
+
2410
+ <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
2411
+
2412
+ <xsl:if test="$isNoteOrFnExist = 'true'">
2413
+
2414
+ <xsl:variable name="cols-count" select="count(xalan:nodeset($colwidths)//column)"/>
2415
+
2416
+ <fo:table keep-with-previous="always">
2417
+ <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
2418
+ <xsl:choose>
2419
+ <xsl:when test="@name = 'border-top'">
2420
+ <xsl:attribute name="{@name}">0pt solid black</xsl:attribute>
2421
+ </xsl:when>
2422
+ <xsl:when test="@name = 'border'">
2423
+ <xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
2424
+ <xsl:attribute name="border-top">0pt solid black</xsl:attribute>
2425
+ </xsl:when>
2426
+ <xsl:otherwise>
2427
+ <xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
2428
+ </xsl:otherwise>
2429
+ </xsl:choose>
2430
+ </xsl:for-each>
2431
+
2432
+ <xsl:for-each select="xalan:nodeset($colwidths)//column">
2433
+ <xsl:choose>
2434
+ <xsl:when test=". = 1 or . = 0">
2435
+ <fo:table-column column-width="proportional-column-width(2)"/>
2436
+ </xsl:when>
2437
+ <xsl:otherwise>
2438
+ <fo:table-column column-width="proportional-column-width({.})"/>
2439
+ </xsl:otherwise>
2440
+ </xsl:choose>
2441
+ </xsl:for-each>
2442
+
2443
+ <fo:table-body>
2444
+ <fo:table-row>
2445
+ <fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
2446
+
2447
+
2448
+
2449
+ <!-- fn will be processed inside 'note' processing -->
2450
+
2451
+
2452
+ <xsl:attribute name="border">solid black 0pt</xsl:attribute>
2453
+
2454
+
2455
+ <!-- except gb and bipm -->
2456
+
2457
+ <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
2458
+
2459
+
2460
+ <!-- <xsl:if test="$namespace = 'bipm'">
2461
+ <xsl:choose>
2462
+ <xsl:when test="ancestor::*[local-name()='preface']">
2463
+ show Note under table in preface (ex. abstract) sections
2464
+ <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
2465
+ </xsl:when>
2466
+ <xsl:otherwise>
2467
+ empty, because notes show at page side in main sections
2468
+ <fo:block/>
2469
+ </xsl:otherwise>
2470
+ </xsl:choose>
2471
+ </xsl:if> -->
2472
+
2473
+
2474
+ <!-- horizontal row separator -->
2475
+
2476
+
2477
+ <!-- fn processing -->
2478
+ <xsl:call-template name="fn_display"/>
2479
+
2480
+ </fo:table-cell>
2481
+ </fo:table-row>
2482
+ </fo:table-body>
2483
+
2484
+ </fo:table>
2485
+ </xsl:if>
2285
2486
  </xsl:template><xsl:template match="*[local-name()='tbody']">
2286
2487
 
2287
2488
  <xsl:variable name="cols-count">
@@ -2334,7 +2535,7 @@
2334
2535
 
2335
2536
  </xsl:if>
2336
2537
 
2337
-
2538
+
2338
2539
 
2339
2540
  <xsl:attribute name="min-height">8.5mm</xsl:attribute>
2340
2541
  <xsl:if test="$parent-name = 'thead'">
@@ -2347,7 +2548,8 @@
2347
2548
  <xsl:attribute name="background-color">rgb(252, 246, 222)</xsl:attribute>
2348
2549
  </xsl:if>
2349
2550
  </xsl:if>
2350
-
2551
+
2552
+
2351
2553
 
2352
2554
  <xsl:apply-templates/>
2353
2555
  </fo:table-row>
@@ -2366,8 +2568,8 @@
2366
2568
 
2367
2569
 
2368
2570
 
2369
- <xsl:attribute name="border">solid black 0pt</xsl:attribute>
2370
-
2571
+ <xsl:attribute name="border">solid black 0pt</xsl:attribute>
2572
+
2371
2573
 
2372
2574
 
2373
2575
 
@@ -2413,7 +2615,7 @@
2413
2615
 
2414
2616
 
2415
2617
 
2416
-
2618
+
2417
2619
 
2418
2620
 
2419
2621
  <xsl:attribute name="border">solid 0pt white</xsl:attribute>
@@ -2422,6 +2624,7 @@
2422
2624
 
2423
2625
 
2424
2626
 
2627
+
2425
2628
  <xsl:if test="@colspan">
2426
2629
  <xsl:attribute name="number-columns-spanned">
2427
2630
  <xsl:value-of select="@colspan"/>
@@ -2445,14 +2648,17 @@
2445
2648
 
2446
2649
 
2447
2650
 
2651
+
2652
+
2448
2653
  <fo:inline padding-right="2mm">
2449
2654
 
2450
2655
 
2451
2656
 
2452
-
2657
+
2453
2658
  <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
2454
2659
 
2455
2660
  </fo:inline>
2661
+
2456
2662
  <xsl:apply-templates mode="process"/>
2457
2663
  </fo:block>
2458
2664
 
@@ -2482,6 +2688,7 @@
2482
2688
 
2483
2689
 
2484
2690
 
2691
+
2485
2692
  <fo:inline font-size="80%" padding-right="5mm" id="{@id}">
2486
2693
 
2487
2694
  <xsl:attribute name="vertical-align">super</xsl:attribute>
@@ -2491,12 +2698,15 @@
2491
2698
 
2492
2699
 
2493
2700
 
2701
+
2494
2702
  <xsl:value-of select="@reference"/>
2495
2703
 
2704
+
2496
2705
  </fo:inline>
2497
2706
  <fo:inline>
2498
2707
 
2499
- <xsl:apply-templates/>
2708
+ <!-- <xsl:apply-templates /> -->
2709
+ <xsl:copy-of select="./node()"/>
2500
2710
  </fo:inline>
2501
2711
  </fo:block>
2502
2712
  </xsl:if>
@@ -2533,7 +2743,20 @@
2533
2743
  <xsl:variable name="following_dl_colwidths">
2534
2744
  <xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
2535
2745
  <xsl:variable name="html-table">
2536
- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/>
2746
+ <xsl:variable name="doc_ns">
2747
+
2748
+ </xsl:variable>
2749
+ <xsl:variable name="ns">
2750
+ <xsl:choose>
2751
+ <xsl:when test="normalize-space($doc_ns) != ''">
2752
+ <xsl:value-of select="normalize-space($doc_ns)"/>
2753
+ </xsl:when>
2754
+ <xsl:otherwise>
2755
+ <xsl:value-of select="substring-before(name(/*), '-')"/>
2756
+ </xsl:otherwise>
2757
+ </xsl:choose>
2758
+ </xsl:variable>
2759
+ <!-- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> -->
2537
2760
  <xsl:element name="{$ns}:table">
2538
2761
  <xsl:for-each select="*[local-name() = 'dl'][1]">
2539
2762
  <tbody>
@@ -2598,7 +2821,8 @@
2598
2821
  <xsl:attribute name="margin-bottom">0</xsl:attribute>
2599
2822
  </xsl:if>
2600
2823
 
2601
- <xsl:apply-templates/>
2824
+ <!-- <xsl:apply-templates /> -->
2825
+ <xsl:copy-of select="./node()"/>
2602
2826
  </fo:block>
2603
2827
  </fo:table-cell>
2604
2828
  </fo:table-row>
@@ -2619,6 +2843,7 @@
2619
2843
 
2620
2844
 
2621
2845
 
2846
+
2622
2847
  <fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
2623
2848
 
2624
2849
  <xsl:attribute name="internal-destination">
@@ -2626,7 +2851,9 @@
2626
2851
  <xsl:value-of select="ancestor::*[local-name()='table'][1]/@id"/>
2627
2852
  </xsl:attribute>
2628
2853
 
2854
+
2629
2855
  <xsl:value-of select="@reference"/>
2856
+
2630
2857
  </fo:basic-link>
2631
2858
  </fo:inline>
2632
2859
  </xsl:template><xsl:template match="*[local-name()='fn']/*[local-name()='p']">
@@ -2724,7 +2951,20 @@
2724
2951
  </xsl:choose>
2725
2952
  <!-- create virtual html table for dl/[dt and dd] -->
2726
2953
  <xsl:variable name="html-table">
2727
- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/>
2954
+ <xsl:variable name="doc_ns">
2955
+
2956
+ </xsl:variable>
2957
+ <xsl:variable name="ns">
2958
+ <xsl:choose>
2959
+ <xsl:when test="normalize-space($doc_ns) != ''">
2960
+ <xsl:value-of select="normalize-space($doc_ns)"/>
2961
+ </xsl:when>
2962
+ <xsl:otherwise>
2963
+ <xsl:value-of select="substring-before(name(/*), '-')"/>
2964
+ </xsl:otherwise>
2965
+ </xsl:choose>
2966
+ </xsl:variable>
2967
+ <!-- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> -->
2728
2968
  <xsl:element name="{$ns}:table">
2729
2969
  <tbody>
2730
2970
  <xsl:apply-templates mode="dl"/>
@@ -2873,6 +3113,7 @@
2873
3113
  <xsl:attribute name="margin-top">0pt</xsl:attribute>
2874
3114
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2875
3115
 
3116
+
2876
3117
  <xsl:apply-templates/>
2877
3118
  <!-- <xsl:if test="$namespace = 'gb'">
2878
3119
  <xsl:if test="ancestor::*[local-name()='formula']">
@@ -2939,18 +3180,18 @@
2939
3180
  </xsl:template><xsl:template match="*[local-name()='tt']">
2940
3181
  <fo:inline xsl:use-attribute-sets="tt-style">
2941
3182
  <xsl:variable name="_font-size">
2942
-
2943
-
2944
-
2945
3183
 
2946
3184
 
2947
3185
 
2948
3186
 
2949
3187
 
2950
3188
 
2951
-
3189
+
3190
+
3191
+
3192
+
2952
3193
  10
2953
-
3194
+
2954
3195
 
2955
3196
 
2956
3197
  </xsl:variable>
@@ -3288,7 +3529,7 @@
3288
3529
  <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(substring($str, 1, 1)))"/>
3289
3530
  <xsl:value-of select="substring($str, 2)"/>
3290
3531
  </xsl:template><xsl:template match="mathml:math">
3291
- <fo:inline font-family="STIX2Math">
3532
+ <fo:inline font-family="STIX Two Math"> <!-- -->
3292
3533
  <xsl:variable name="mathml">
3293
3534
  <xsl:apply-templates select="." mode="mathml"/>
3294
3535
  </xsl:variable>
@@ -3382,7 +3623,7 @@
3382
3623
  <xsl:apply-templates/>
3383
3624
  </xsl:template><xsl:template match="*[local-name() = 'xref']">
3384
3625
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
3385
-
3626
+
3386
3627
  <xsl:apply-templates/>
3387
3628
  </fo:basic-link>
3388
3629
  </xsl:template><xsl:template match="*[local-name() = 'formula']" name="formula">
@@ -3596,18 +3837,9 @@
3596
3837
  <fo:bookmark internal-destination="{contents/item[1]/@id}" starting-state="hide">
3597
3838
  <fo:bookmark-title>
3598
3839
  <xsl:variable name="bookmark-title_">
3599
- <xsl:choose>
3600
- <xsl:when test="@lang = 'en'">
3601
-
3602
-
3603
- </xsl:when>
3604
- <xsl:when test="@lang = 'fr'">
3605
-
3606
-
3607
- </xsl:when>
3608
- <xsl:when test="@lang = 'de'">Deutsche</xsl:when>
3609
- <xsl:otherwise><xsl:value-of select="@lang"/> version</xsl:otherwise>
3610
- </xsl:choose>
3840
+ <xsl:call-template name="getLangVersion">
3841
+ <xsl:with-param name="lang" select="@lang"/>
3842
+ </xsl:call-template>
3611
3843
  </xsl:variable>
3612
3844
  <xsl:choose>
3613
3845
  <xsl:when test="normalize-space($bookmark-title_) != ''">
@@ -3669,7 +3901,7 @@
3669
3901
  </fo:bookmark>
3670
3902
  </xsl:for-each>
3671
3903
  </fo:bookmark>
3672
- </xsl:if>
3904
+ </xsl:if>
3673
3905
 
3674
3906
 
3675
3907
 
@@ -3692,6 +3924,20 @@
3692
3924
 
3693
3925
  </fo:bookmark-tree>
3694
3926
  </xsl:if>
3927
+ </xsl:template><xsl:template name="getLangVersion">
3928
+ <xsl:param name="lang"/>
3929
+ <xsl:choose>
3930
+ <xsl:when test="$lang = 'en'">
3931
+
3932
+
3933
+ </xsl:when>
3934
+ <xsl:when test="$lang = 'fr'">
3935
+
3936
+
3937
+ </xsl:when>
3938
+ <xsl:when test="$lang = 'de'">Deutsche</xsl:when>
3939
+ <xsl:otherwise><xsl:value-of select="$lang"/> version</xsl:otherwise>
3940
+ </xsl:choose>
3695
3941
  </xsl:template><xsl:template match="item" mode="bookmark">
3696
3942
  <fo:bookmark internal-destination="{@id}" starting-state="hide">
3697
3943
  <fo:bookmark-title>
@@ -3706,7 +3952,7 @@
3706
3952
  </xsl:template><xsl:template match="title" mode="bookmark"/><xsl:template match="text()" mode="bookmark"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'image']/*[local-name() = 'name']" mode="presentation">
3707
3953
  <xsl:if test="normalize-space() != ''">
3708
3954
  <fo:block xsl:use-attribute-sets="figure-name-style">
3709
-
3955
+
3710
3956
  <xsl:apply-templates/>
3711
3957
  </fo:block>
3712
3958
  </xsl:if>
@@ -4351,6 +4597,7 @@
4351
4597
  </xsl:template><xsl:template match="*[local-name() = 'clause']">
4352
4598
  <fo:block>
4353
4599
  <xsl:call-template name="setId"/>
4600
+
4354
4601
  <xsl:apply-templates/>
4355
4602
  </fo:block>
4356
4603
  </xsl:template><xsl:template match="*[local-name() = 'definitions']">
@@ -4386,6 +4633,7 @@
4386
4633
  </xsl:choose>
4387
4634
  </xsl:attribute>
4388
4635
 
4636
+
4389
4637
  <fo:block-container margin-left="0mm">
4390
4638
  <fo:block>
4391
4639
  <xsl:apply-templates select="." mode="ul_ol"/>
@@ -4709,6 +4957,7 @@
4709
4957
  <dc:title>
4710
4958
  <xsl:variable name="title">
4711
4959
 
4960
+
4712
4961
 
4713
4962
  <xsl:value-of select="/*/*[local-name() = 'bibdata']/*[local-name() = 'title'][@language = 'en']"/>
4714
4963
 
@@ -4727,6 +4976,7 @@
4727
4976
  <dc:creator>
4728
4977
 
4729
4978
 
4979
+
4730
4980
  </dc:creator>
4731
4981
  <dc:description>
4732
4982
  <xsl:variable name="abstract">
@@ -4736,6 +4986,7 @@
4736
4986
 
4737
4987
  <xsl:copy-of select="/*/*[local-name() = 'bibdata']/*[local-name() = 'abstract']//text()"/>
4738
4988
 
4989
+
4739
4990
  </xsl:variable>
4740
4991
  <xsl:value-of select="normalize-space($abstract)"/>
4741
4992
  </dc:description>