metanorma-ogc 1.2.4 → 1.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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>