metanorma-iho 0.2.2 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/asciidoctor/iho/basicdoc.rng +31 -1
- data/lib/asciidoctor/iho/isodoc.rng +108 -8
- data/lib/isodoc/iho/base_convert.rb +121 -0
- data/lib/isodoc/iho/html/iho.css +16 -4
- data/lib/isodoc/iho/html/iho.scss +18 -4
- data/lib/isodoc/iho/i18n-en.yaml +2 -0
- data/lib/isodoc/iho/iho.specification.xsl +555 -198
- data/lib/isodoc/iho/iho.standard.xsl +555 -198
- data/lib/isodoc/iho/init.rb +3 -1
- data/lib/isodoc/iho/xref.rb +10 -0
- data/lib/metanorma/iho/version.rb +1 -1
- data/metanorma.yml +1 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1d513e582275fa2fbac4716c2367a85aefd6f5b26dd8e4f2f7d10608d98c6c96
|
4
|
+
data.tar.gz: 3e9150114684366020f5c8516cb737931c07c5973a0abe5a08120d9867c97f19
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e7c802926f806a98b5a9da05b1553c46ae56d827a11d0336afeb5faa87c029eb33f997dbfd4fc9c7d9f407d9e24075c85a6d0d6b5ddae2e61ec2385af47b5554
|
7
|
+
data.tar.gz: 0c9fe3c49478aa81331e460d5d2b1375c49c38c26ce647b3bec270c0f6b87fb79502d147790ba51c6ec608c6736a3203935f087698cb5745de4c3257c3cabd4a
|
@@ -158,7 +158,17 @@
|
|
158
158
|
<data type="ID"/>
|
159
159
|
</attribute>
|
160
160
|
<oneOrMore>
|
161
|
-
<
|
161
|
+
<choice>
|
162
|
+
<ref name="formula"/>
|
163
|
+
<ref name="ul"/>
|
164
|
+
<ref name="ol"/>
|
165
|
+
<ref name="dl"/>
|
166
|
+
<ref name="quote"/>
|
167
|
+
<ref name="sourcecode"/>
|
168
|
+
<ref name="paragraph"/>
|
169
|
+
<ref name="table"/>
|
170
|
+
<ref name="figure"/>
|
171
|
+
</choice>
|
162
172
|
</oneOrMore>
|
163
173
|
</element>
|
164
174
|
</define>
|
@@ -402,6 +412,16 @@
|
|
402
412
|
</choice>
|
403
413
|
</attribute>
|
404
414
|
</optional>
|
415
|
+
<optional>
|
416
|
+
<attribute name="valign">
|
417
|
+
<choice>
|
418
|
+
<value>top</value>
|
419
|
+
<value>middle</value>
|
420
|
+
<value>bottom</value>
|
421
|
+
<value>baseline</value>
|
422
|
+
</choice>
|
423
|
+
</attribute>
|
424
|
+
</optional>
|
405
425
|
<choice>
|
406
426
|
<zeroOrMore>
|
407
427
|
<ref name="TextElement"/>
|
@@ -429,6 +449,16 @@
|
|
429
449
|
</choice>
|
430
450
|
</attribute>
|
431
451
|
</optional>
|
452
|
+
<optional>
|
453
|
+
<attribute name="valign">
|
454
|
+
<choice>
|
455
|
+
<value>top</value>
|
456
|
+
<value>middle</value>
|
457
|
+
<value>bottom</value>
|
458
|
+
<value>baseline</value>
|
459
|
+
</choice>
|
460
|
+
</attribute>
|
461
|
+
</optional>
|
432
462
|
<choice>
|
433
463
|
<zeroOrMore>
|
434
464
|
<ref name="TextElement"/>
|
@@ -581,6 +581,8 @@
|
|
581
581
|
<ref name="ol"/>
|
582
582
|
<ref name="dl"/>
|
583
583
|
<ref name="formula"/>
|
584
|
+
<ref name="quote"/>
|
585
|
+
<ref name="sourcecode"/>
|
584
586
|
</choice>
|
585
587
|
</oneOrMore>
|
586
588
|
</element>
|
@@ -664,6 +666,16 @@
|
|
664
666
|
</choice>
|
665
667
|
</attribute>
|
666
668
|
</optional>
|
669
|
+
<optional>
|
670
|
+
<attribute name="valign">
|
671
|
+
<choice>
|
672
|
+
<value>top</value>
|
673
|
+
<value>middle</value>
|
674
|
+
<value>bottom</value>
|
675
|
+
<value>baseline</value>
|
676
|
+
</choice>
|
677
|
+
</attribute>
|
678
|
+
</optional>
|
667
679
|
<choice>
|
668
680
|
<zeroOrMore>
|
669
681
|
<choice>
|
@@ -700,6 +712,16 @@
|
|
700
712
|
</choice>
|
701
713
|
</attribute>
|
702
714
|
</optional>
|
715
|
+
<optional>
|
716
|
+
<attribute name="valign">
|
717
|
+
<choice>
|
718
|
+
<value>top</value>
|
719
|
+
<value>middle</value>
|
720
|
+
<value>bottom</value>
|
721
|
+
<value>baseline</value>
|
722
|
+
</choice>
|
723
|
+
</attribute>
|
724
|
+
</optional>
|
703
725
|
<choice>
|
704
726
|
<zeroOrMore>
|
705
727
|
<choice>
|
@@ -1052,14 +1074,17 @@
|
|
1052
1074
|
<ref name="section-title"/>
|
1053
1075
|
</optional>
|
1054
1076
|
<group>
|
1055
|
-
<
|
1056
|
-
<
|
1057
|
-
<
|
1058
|
-
|
1059
|
-
|
1060
|
-
<
|
1061
|
-
|
1062
|
-
|
1077
|
+
<choice>
|
1078
|
+
<group>
|
1079
|
+
<zeroOrMore>
|
1080
|
+
<ref name="BasicBlock"/>
|
1081
|
+
</zeroOrMore>
|
1082
|
+
<zeroOrMore>
|
1083
|
+
<ref name="note"/>
|
1084
|
+
</zeroOrMore>
|
1085
|
+
</group>
|
1086
|
+
<ref name="amend"/>
|
1087
|
+
</choice>
|
1063
1088
|
<zeroOrMore>
|
1064
1089
|
<choice>
|
1065
1090
|
<ref name="clause-subsection"/>
|
@@ -1510,4 +1535,79 @@
|
|
1510
1535
|
<ref name="CitationType"/>
|
1511
1536
|
</element>
|
1512
1537
|
</define>
|
1538
|
+
<define name="amend">
|
1539
|
+
<element name="amend">
|
1540
|
+
<optional>
|
1541
|
+
<attribute name="id">
|
1542
|
+
<data type="ID"/>
|
1543
|
+
</attribute>
|
1544
|
+
</optional>
|
1545
|
+
<attribute name="change">
|
1546
|
+
<choice>
|
1547
|
+
<value>add</value>
|
1548
|
+
<value>modify</value>
|
1549
|
+
<value>delete</value>
|
1550
|
+
</choice>
|
1551
|
+
</attribute>
|
1552
|
+
<optional>
|
1553
|
+
<attribute name="path"/>
|
1554
|
+
</optional>
|
1555
|
+
<optional>
|
1556
|
+
<attribute name="path_end"/>
|
1557
|
+
</optional>
|
1558
|
+
<optional>
|
1559
|
+
<attribute name="title"/>
|
1560
|
+
</optional>
|
1561
|
+
<optional>
|
1562
|
+
<element name="location">
|
1563
|
+
<zeroOrMore>
|
1564
|
+
<ref name="locality"/>
|
1565
|
+
</zeroOrMore>
|
1566
|
+
</element>
|
1567
|
+
</optional>
|
1568
|
+
<zeroOrMore>
|
1569
|
+
<ref name="autonumber"/>
|
1570
|
+
</zeroOrMore>
|
1571
|
+
<optional>
|
1572
|
+
<element name="description">
|
1573
|
+
<zeroOrMore>
|
1574
|
+
<ref name="BasicBlock"/>
|
1575
|
+
</zeroOrMore>
|
1576
|
+
</element>
|
1577
|
+
</optional>
|
1578
|
+
<optional>
|
1579
|
+
<element name="newcontent">
|
1580
|
+
<zeroOrMore>
|
1581
|
+
<ref name="BasicBlock"/>
|
1582
|
+
</zeroOrMore>
|
1583
|
+
</element>
|
1584
|
+
</optional>
|
1585
|
+
<optional>
|
1586
|
+
<element name="description">
|
1587
|
+
<zeroOrMore>
|
1588
|
+
<ref name="BasicBlock"/>
|
1589
|
+
</zeroOrMore>
|
1590
|
+
</element>
|
1591
|
+
</optional>
|
1592
|
+
</element>
|
1593
|
+
</define>
|
1594
|
+
<define name="autonumber">
|
1595
|
+
<element name="autonumber">
|
1596
|
+
<attribute name="type">
|
1597
|
+
<choice>
|
1598
|
+
<value>requirement</value>
|
1599
|
+
<value>recommendation</value>
|
1600
|
+
<value>permission</value>
|
1601
|
+
<value>table</value>
|
1602
|
+
<value>figure</value>
|
1603
|
+
<value>admonition</value>
|
1604
|
+
<value>formula</value>
|
1605
|
+
<value>sourcecode</value>
|
1606
|
+
<value>example</value>
|
1607
|
+
<value>note</value>
|
1608
|
+
</choice>
|
1609
|
+
</attribute>
|
1610
|
+
<text/>
|
1611
|
+
</element>
|
1612
|
+
</define>
|
1513
1613
|
</grammar>
|
@@ -15,6 +15,127 @@ module IsoDoc
|
|
15
15
|
@meta.commentperiod isoxml, out
|
16
16
|
super
|
17
17
|
end
|
18
|
+
|
19
|
+
def std_bibitem_entry(list, b, ordinal, biblio)
|
20
|
+
list.p **attr_code(iso_bibitem_entry_attrs(b, biblio)) do |ref|
|
21
|
+
prefix_bracketed_ref(ref, "[#{ordinal}]")
|
22
|
+
standard_citation(ref, b)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def nodes_to_span(n)
|
27
|
+
noko do |xml|
|
28
|
+
xml.span do |s|
|
29
|
+
n&.children&.each { |x| parse(x, s) }
|
30
|
+
end
|
31
|
+
end.join("")
|
32
|
+
end
|
33
|
+
|
34
|
+
def multiplenames_and(names)
|
35
|
+
return "" if names.length == 0
|
36
|
+
return names[0] if names.length == 1
|
37
|
+
return "#{names[0]} and #{names[1]}" if names.length == 2
|
38
|
+
names[0..-2].join(", ") + " and #{names[-1]}"
|
39
|
+
end
|
40
|
+
|
41
|
+
def extract_publisher(b)
|
42
|
+
c = b.xpath(ns("./contributor[role/@type = 'publisher'][organization]"))
|
43
|
+
abbrs = []
|
44
|
+
names = []
|
45
|
+
c&.each do |c1|
|
46
|
+
n = c1.at(ns("./organization/name")) or next
|
47
|
+
abbrs << (c1.at(ns("./organization/abbreviation")) || n)
|
48
|
+
names << nodes_to_span(n)
|
49
|
+
end
|
50
|
+
return [nil, nil] if names.empty?
|
51
|
+
return [multiplenames_and(names), (abbrs.map { |x| x.text }).join("/")]
|
52
|
+
end
|
53
|
+
|
54
|
+
def inline_bibitem_ref_code(b)
|
55
|
+
id = b.at(ns("./docidentifier[not(@type = 'DOI' or @type = 'metanorma' "\
|
56
|
+
"or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]"))
|
57
|
+
id ||= b.at(ns("./docidentifier[not(@type = 'metanorma')]"))
|
58
|
+
return [nil, id, nil] if id
|
59
|
+
id = Nokogiri::XML::Node.new("docidentifier", b.document)
|
60
|
+
id << "(NO ID)"
|
61
|
+
[nil, id, nil]
|
62
|
+
end
|
63
|
+
|
64
|
+
def extract_edition(b)
|
65
|
+
b&.at(ns("./edition"))&.text
|
66
|
+
end
|
67
|
+
|
68
|
+
def extract_uri(b)
|
69
|
+
b.at(ns("./uri"))
|
70
|
+
end
|
71
|
+
|
72
|
+
def omit_docid_prefix(prefix)
|
73
|
+
return true if prefix == "IHO"
|
74
|
+
super
|
75
|
+
end
|
76
|
+
|
77
|
+
def render_identifier(id)
|
78
|
+
if !id[1].nil? and id[1]["type"] == "IHO"
|
79
|
+
id[1].children = id[1].text.sub(/^IHO /, "")
|
80
|
+
end
|
81
|
+
super
|
82
|
+
end
|
83
|
+
|
84
|
+
def extract_publisher(b)
|
85
|
+
c = b.xpath(ns("./contributor[role/@type = 'publisher'][organization]"))
|
86
|
+
abbrs = []
|
87
|
+
names = []
|
88
|
+
c&.each do |c1|
|
89
|
+
n = c1.at(ns("./organization/name")) or next
|
90
|
+
abbrs << (c1.at(ns("./organization/abbreviation")) || n)
|
91
|
+
names << nodes_to_span(n)
|
92
|
+
end
|
93
|
+
return [nil, nil] if names.empty?
|
94
|
+
return [multiplenames_and(names), (abbrs.map { |x| x.text }).join("/")]
|
95
|
+
end
|
96
|
+
|
97
|
+
def extract_author(b)
|
98
|
+
c = b.xpath(ns("./contributor[role/@type = 'author']"))
|
99
|
+
c = b.xpath(ns("./contributor[role/@type = 'editor']")) if c.empty?
|
100
|
+
return extract_publisher(b)[0] if c.empty?
|
101
|
+
c.map do |c1|
|
102
|
+
c1&.at(ns("./organization/name"))&.text || extract_person_name(c1)
|
103
|
+
end.reject { |e| e.nil? || e.empty? }.join(", ")
|
104
|
+
end
|
105
|
+
|
106
|
+
def extract_person_name(b)
|
107
|
+
p = b.at(ns("./person/name")) or return
|
108
|
+
c = p.at(ns("./completename")) and return c.text
|
109
|
+
s = p&.at(ns("./surname"))&.text or return
|
110
|
+
i = p.xpath(ns("./initial")) and
|
111
|
+
front = i.map { |e| e.text.gsub(/[^[:upper:]]/, "") }.join("")
|
112
|
+
i.empty? and f = p.xpath(ns("./forename")) and
|
113
|
+
front = f.map { |e| e.text[0].upcase }.join("")
|
114
|
+
front ? "#{s} #{front}" : s
|
115
|
+
end
|
116
|
+
|
117
|
+
def is_iho?(b)
|
118
|
+
extract_publisher(b)[1] == "IHO"
|
119
|
+
end
|
120
|
+
|
121
|
+
# [{number}] {docID} edition {edition}: {title}, {author/organization}
|
122
|
+
def standard_citation(out, b)
|
123
|
+
if ftitle = b.at(ns("./formattedref"))
|
124
|
+
ftitle&.children&.each { |n| parse(n, out) }
|
125
|
+
else
|
126
|
+
id = render_identifier(inline_bibitem_ref_code(b))
|
127
|
+
out << id[1] if id[1]
|
128
|
+
ed = extract_edition(b) if is_iho?(b)
|
129
|
+
out << " edition #{ed}" if ed
|
130
|
+
out << ": " if id[1] || ed
|
131
|
+
iso_title(b)&.children&.each { |n| parse(n, out) }
|
132
|
+
out << ", "
|
133
|
+
author = extract_author(b)
|
134
|
+
out << author
|
135
|
+
u = extract_uri(b)
|
136
|
+
out << " (<a href='#{u.text}'>#{u.text}</a>)" if u
|
137
|
+
end
|
138
|
+
end
|
18
139
|
end
|
19
140
|
end
|
20
141
|
end
|
data/lib/isodoc/iho/html/iho.css
CHANGED
@@ -667,7 +667,7 @@ div.WordSection2 {
|
|
667
667
|
div.WordSection3 {
|
668
668
|
page: WordSection3; }
|
669
669
|
|
670
|
-
table.MsoISOTable {
|
670
|
+
table.MsoISOTable, table.MsoISOTableBig {
|
671
671
|
mso-style-name: "Table ISO";
|
672
672
|
mso-tstyle-rowband-size: 0;
|
673
673
|
mso-tstyle-colband-size: 0;
|
@@ -688,17 +688,17 @@ table.MsoISOTable {
|
|
688
688
|
font-size: 12.0pt;
|
689
689
|
font-family: {{bodyfont}}; }
|
690
690
|
|
691
|
-
table.MsoISOTable th {
|
691
|
+
table.MsoISOTable th, table.MsoISOTableBig th {
|
692
692
|
border: solid windowtext 1pt;
|
693
693
|
mso-border-alt: solid windowtext 1pt;
|
694
694
|
padding: 0cm 2.85pt 0cm 2.85pt; }
|
695
695
|
|
696
|
-
table.MsoISOTable td {
|
696
|
+
table.MsoISOTable td, table.MsoISOTableBig td {
|
697
697
|
border: solid windowtext 1pt;
|
698
698
|
mso-border-alt: solid windowtext 1pt;
|
699
699
|
padding: 0cm 2.85pt 0cm 2.85pt; }
|
700
700
|
|
701
|
-
table.MsoISOTable p {
|
701
|
+
table.MsoISOTable p, table.MsoISOTableBig p {
|
702
702
|
font-size: 12.0pt; }
|
703
703
|
|
704
704
|
table.MsoTableGrid {
|
@@ -785,8 +785,20 @@ div.example p.MsoListParagraph {
|
|
785
785
|
font-size: 11.0pt; }
|
786
786
|
|
787
787
|
div.Note p.MsoListParagraph {
|
788
|
+
font-size: 11.0pt;
|
789
|
+
margin-left: 1.0cm; }
|
790
|
+
|
791
|
+
div.Note span.stem {
|
788
792
|
font-size: 11.0pt; }
|
789
793
|
|
794
|
+
div.Note p.Sourcecode, div.Note pre.Sourcecode {
|
795
|
+
font-size: 9.0pt;
|
796
|
+
margin-left: 1.0cm; }
|
797
|
+
|
798
|
+
div.Note table.dl {
|
799
|
+
font-size: 11.0pt;
|
800
|
+
margin-left: 1.0cm; }
|
801
|
+
|
790
802
|
span.note_label, span.example_label, td.example_label, td.note_label {
|
791
803
|
font-size: 11.0pt;
|
792
804
|
font-family: {{bodyfont}}; }
|
@@ -630,7 +630,7 @@ div.WordSection2
|
|
630
630
|
mso-paper-source:0;}
|
631
631
|
div.WordSection3
|
632
632
|
{page:WordSection3;}
|
633
|
-
table.MsoISOTable
|
633
|
+
table.MsoISOTable, table.MsoISOTableBig
|
634
634
|
{mso-style-name:"Table ISO";
|
635
635
|
mso-tstyle-rowband-size:0;
|
636
636
|
mso-tstyle-colband-size:0;
|
@@ -650,15 +650,15 @@ table.MsoISOTable
|
|
650
650
|
mso-border-insidev:.75pt solid windowtext;
|
651
651
|
font-size:12.0pt;
|
652
652
|
font-family:$bodyfont;}
|
653
|
-
table.MsoISOTable th
|
653
|
+
table.MsoISOTable th, table.MsoISOTableBig th
|
654
654
|
{border:solid windowtext 1pt;
|
655
655
|
mso-border-alt:solid windowtext 1pt;
|
656
656
|
padding:0cm 2.85pt 0cm 2.85pt;}
|
657
|
-
table.MsoISOTable td
|
657
|
+
table.MsoISOTable td, table.MsoISOTableBig td
|
658
658
|
{border:solid windowtext 1pt;
|
659
659
|
mso-border-alt:solid windowtext 1pt;
|
660
660
|
padding:0cm 2.85pt 0cm 2.85pt;}
|
661
|
-
table.MsoISOTable p
|
661
|
+
table.MsoISOTable p, table.MsoISOTableBig p
|
662
662
|
{font-size:12.0pt; }
|
663
663
|
table.MsoTableGrid
|
664
664
|
{mso-style-name:"Table Grid";
|
@@ -744,6 +744,20 @@ div.example p.MsoListParagraph {
|
|
744
744
|
|
745
745
|
div.Note p.MsoListParagraph {
|
746
746
|
font-size: 11.0pt;
|
747
|
+
margin-left: 1.0cm;
|
748
|
+
}
|
749
|
+
|
750
|
+
div.Note span.stem {
|
751
|
+
font-size: 11.0pt; }
|
752
|
+
|
753
|
+
div.Note p.Sourcecode, div.Note pre.Sourcecode {
|
754
|
+
font-size: 9.0pt;
|
755
|
+
margin-left: 1.0cm;
|
756
|
+
}
|
757
|
+
|
758
|
+
div.Note table.dl {
|
759
|
+
font-size: 11.0pt;
|
760
|
+
margin-left: 1.0cm;
|
747
761
|
}
|
748
762
|
|
749
763
|
span.note_label, span.example_label, td.example_label, td.note_label
|
@@ -608,7 +608,7 @@
|
|
608
608
|
</xsl:template>
|
609
609
|
|
610
610
|
|
611
|
-
<xsl:template match="iho:ul | iho:ol">
|
611
|
+
<xsl:template match="iho:ul | iho:ol" mode="ul_ol">
|
612
612
|
<fo:list-block provisional-distance-between-starts="6mm">
|
613
613
|
<xsl:apply-templates/>
|
614
614
|
</fo:list-block>
|
@@ -624,13 +624,16 @@
|
|
624
624
|
<xsl:apply-templates mode="process"/>
|
625
625
|
</fo:block>
|
626
626
|
</xsl:template>
|
627
|
-
<xsl:template match="iho:ul//iho:note/iho:name | iho:ol//iho:note/iho:name" mode="process"/>
|
628
|
-
<xsl:template match="iho:ul//iho:note/iho:p | iho:ol//iho:note/iho:p" mode="process">
|
627
|
+
<xsl:template match="iho:ul//iho:note/iho:name | iho:ol//iho:note/iho:name" mode="process" priority="2"/>
|
628
|
+
<xsl:template match="iho:ul//iho:note/iho:p | iho:ol//iho:note/iho:p" mode="process" priority="2">
|
629
629
|
<fo:block font-size="11pt" margin-top="4pt">
|
630
630
|
<xsl:apply-templates/>
|
631
631
|
</fo:block>
|
632
632
|
</xsl:template>
|
633
633
|
|
634
|
+
<xsl:template match="iho:ul//iho:note/* | iho:ol//iho:note/*" mode="process">
|
635
|
+
<xsl:apply-templates select="."/>
|
636
|
+
</xsl:template>
|
634
637
|
|
635
638
|
|
636
639
|
<xsl:template match="iho:li">
|
@@ -690,7 +693,13 @@
|
|
690
693
|
</fo:block>
|
691
694
|
</xsl:template>
|
692
695
|
|
693
|
-
|
696
|
+
|
697
|
+
<!-- IHO documents:
|
698
|
+
"[1] S57 edition 3.1: IHO Transfer Standard for Digital Hydrographic Data, International Hydrographic Organization (www.iho.int)”
|
699
|
+
[{number}] {docID} edition {edition}: {title}, {author/organization}
|
700
|
+
|
701
|
+
Non-IHO documents:
|
702
|
+
Provide title and publisher -->
|
694
703
|
<xsl:template match="iho:bibitem">
|
695
704
|
<fo:list-block margin-bottom="12pt" provisional-distance-between-starts="12mm" line-height="115%">
|
696
705
|
<fo:list-item>
|
@@ -703,38 +712,34 @@
|
|
703
712
|
</fo:list-item-label>
|
704
713
|
<fo:list-item-body start-indent="body-start()">
|
705
714
|
<fo:block>
|
706
|
-
<xsl:
|
707
|
-
<xsl:if test="iho:docidentifier">
|
708
|
-
<xsl:choose>
|
709
|
-
<xsl:when test="iho:docidentifier/@type = 'metanorma'"/>
|
710
|
-
<xsl:otherwise><xsl:value-of select="iho:docidentifier"/></xsl:otherwise>
|
711
|
-
</xsl:choose>
|
712
|
-
</xsl:if>
|
713
|
-
</xsl:variable>
|
714
|
-
<xsl:value-of select="$docidentifier"/>
|
715
|
-
<xsl:apply-templates select="iho:note"/>
|
716
|
-
<xsl:if test="normalize-space($docidentifier) != ''">, </xsl:if>
|
717
|
-
<xsl:choose>
|
718
|
-
<xsl:when test="iho:title[@type = 'main' and @language = 'en']">
|
719
|
-
<xsl:apply-templates select="iho:title[@type = 'main' and @language = 'en']"/>
|
720
|
-
</xsl:when>
|
721
|
-
<xsl:otherwise>
|
722
|
-
<xsl:apply-templates select="iho:title"/>
|
723
|
-
</xsl:otherwise>
|
724
|
-
</xsl:choose>
|
725
|
-
<xsl:apply-templates select="iho:formattedref"/>
|
715
|
+
<xsl:call-template name="processBibitem"/>
|
726
716
|
</fo:block>
|
727
717
|
</fo:list-item-body>
|
728
718
|
</fo:list-item>
|
729
719
|
</fo:list-block>
|
730
720
|
</xsl:template>
|
731
721
|
|
722
|
+
<xsl:template match="iho:bibitem/iho:edition">
|
723
|
+
<xsl:text> edition </xsl:text>
|
724
|
+
<xsl:value-of select="."/>
|
725
|
+
</xsl:template>
|
726
|
+
|
732
727
|
<xsl:template match="iho:bibitem/iho:title">
|
733
728
|
<fo:inline font-style="italic">
|
734
729
|
<xsl:apply-templates/>
|
735
730
|
</fo:inline>
|
736
731
|
</xsl:template>
|
737
732
|
|
733
|
+
<xsl:template match="iho:bibitem/iho:uri">
|
734
|
+
<xsl:text> (</xsl:text>
|
735
|
+
<fo:inline xsl:use-attribute-sets="link-style">
|
736
|
+
<fo:basic-link external-destination="." fox:alt-text=".">
|
737
|
+
<xsl:value-of select="."/>
|
738
|
+
</fo:basic-link>
|
739
|
+
</fo:inline>
|
740
|
+
<xsl:text>)</xsl:text>
|
741
|
+
</xsl:template>
|
742
|
+
|
738
743
|
<xsl:template match="iho:bibitem/iho:note" priority="2">
|
739
744
|
<fo:footnote>
|
740
745
|
<xsl:variable name="number">
|
@@ -991,7 +996,12 @@
|
|
991
996
|
|
992
997
|
|
993
998
|
|
994
|
-
<title-source lang="en">
|
999
|
+
<title-source lang="en">
|
1000
|
+
|
1001
|
+
<xsl:text>SOURCE</xsl:text>
|
1002
|
+
|
1003
|
+
|
1004
|
+
</title-source>
|
995
1005
|
|
996
1006
|
<title-keywords lang="en">Keywords</title-keywords>
|
997
1007
|
|
@@ -1034,6 +1044,10 @@
|
|
1034
1044
|
<title-warning lang="zh">警告</title-warning>
|
1035
1045
|
|
1036
1046
|
<title-amendment lang="en">AMENDMENT</title-amendment>
|
1047
|
+
|
1048
|
+
<title-continued lang="en">(continued)</title-continued>
|
1049
|
+
<title-continued lang="fr">(continué)</title-continued>
|
1050
|
+
|
1037
1051
|
</xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:template name="getTitle">
|
1038
1052
|
<xsl:param name="name"/>
|
1039
1053
|
<xsl:variable name="lang">
|
@@ -1054,6 +1068,7 @@
|
|
1054
1068
|
<xsl:attribute name="text-decoration">underline</xsl:attribute>
|
1055
1069
|
|
1056
1070
|
|
1071
|
+
|
1057
1072
|
</xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
|
1058
1073
|
<xsl:attribute name="white-space">pre</xsl:attribute>
|
1059
1074
|
<xsl:attribute name="wrap-option">wrap</xsl:attribute>
|
@@ -1065,8 +1080,8 @@
|
|
1065
1080
|
|
1066
1081
|
|
1067
1082
|
|
1068
|
-
|
1069
|
-
<xsl:attribute name="font-
|
1083
|
+
|
1084
|
+
<xsl:attribute name="font-family">SFMono-Regular</xsl:attribute>
|
1070
1085
|
<xsl:attribute name="margin-bottom">6pt</xsl:attribute>
|
1071
1086
|
<xsl:attribute name="keep-with-next">always</xsl:attribute>
|
1072
1087
|
<xsl:attribute name="line-height">113%</xsl:attribute>
|
@@ -1121,6 +1136,7 @@
|
|
1121
1136
|
|
1122
1137
|
|
1123
1138
|
|
1139
|
+
|
1124
1140
|
</xsl:attribute-set><xsl:attribute-set name="example-body-style">
|
1125
1141
|
|
1126
1142
|
|
@@ -1142,6 +1158,7 @@
|
|
1142
1158
|
|
1143
1159
|
|
1144
1160
|
|
1161
|
+
|
1145
1162
|
|
1146
1163
|
|
1147
1164
|
|
@@ -1201,11 +1218,13 @@
|
|
1201
1218
|
|
1202
1219
|
<xsl:attribute name="color">blue</xsl:attribute>
|
1203
1220
|
<xsl:attribute name="text-decoration">underline</xsl:attribute>
|
1204
|
-
|
1221
|
+
|
1222
|
+
|
1205
1223
|
</xsl:attribute-set><xsl:attribute-set name="eref-style">
|
1206
1224
|
|
1207
1225
|
|
1208
1226
|
|
1227
|
+
|
1209
1228
|
</xsl:attribute-set><xsl:attribute-set name="note-style">
|
1210
1229
|
|
1211
1230
|
|
@@ -1225,9 +1244,7 @@
|
|
1225
1244
|
|
1226
1245
|
|
1227
1246
|
|
1228
|
-
|
1229
|
-
|
1230
|
-
</xsl:attribute-set><xsl:attribute-set name="note-name-style">
|
1247
|
+
</xsl:attribute-set><xsl:variable name="note-body-indent">10mm</xsl:variable><xsl:variable name="note-body-indent-table">5mm</xsl:variable><xsl:attribute-set name="note-name-style">
|
1231
1248
|
|
1232
1249
|
|
1233
1250
|
|
@@ -1239,7 +1256,9 @@
|
|
1239
1256
|
|
1240
1257
|
|
1241
1258
|
|
1242
|
-
|
1259
|
+
|
1260
|
+
|
1261
|
+
|
1243
1262
|
|
1244
1263
|
</xsl:attribute-set><xsl:attribute-set name="note-p-style">
|
1245
1264
|
|
@@ -1269,6 +1288,8 @@
|
|
1269
1288
|
|
1270
1289
|
|
1271
1290
|
|
1291
|
+
</xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
|
1292
|
+
|
1272
1293
|
</xsl:attribute-set><xsl:attribute-set name="quote-style">
|
1273
1294
|
|
1274
1295
|
|
@@ -1299,6 +1320,7 @@
|
|
1299
1320
|
<xsl:attribute name="color">blue</xsl:attribute>
|
1300
1321
|
<xsl:attribute name="text-decoration">underline</xsl:attribute>
|
1301
1322
|
|
1323
|
+
|
1302
1324
|
</xsl:attribute-set><xsl:attribute-set name="term-style">
|
1303
1325
|
|
1304
1326
|
<xsl:attribute name="margin-bottom">10pt</xsl:attribute>
|
@@ -1310,6 +1332,7 @@
|
|
1310
1332
|
|
1311
1333
|
|
1312
1334
|
|
1335
|
+
|
1313
1336
|
<xsl:attribute name="font-size">11pt</xsl:attribute>
|
1314
1337
|
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
1315
1338
|
<xsl:attribute name="text-align">center</xsl:attribute>
|
@@ -1351,14 +1374,16 @@
|
|
1351
1374
|
</xsl:attribute-set><xsl:attribute-set name="tt-style">
|
1352
1375
|
|
1353
1376
|
|
1354
|
-
<xsl:attribute name="font-family">Courier</xsl:attribute>
|
1355
|
-
|
1377
|
+
<xsl:attribute name="font-family">Courier</xsl:attribute>
|
1378
|
+
|
1356
1379
|
|
1357
1380
|
</xsl:attribute-set><xsl:attribute-set name="sourcecode-name-style">
|
1358
1381
|
<xsl:attribute name="font-size">11pt</xsl:attribute>
|
1359
1382
|
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
1360
1383
|
<xsl:attribute name="text-align">center</xsl:attribute>
|
1361
1384
|
<xsl:attribute name="margin-bottom">12pt</xsl:attribute>
|
1385
|
+
<xsl:attribute name="keep-with-previous">always</xsl:attribute>
|
1386
|
+
|
1362
1387
|
</xsl:attribute-set><xsl:attribute-set name="domain-style">
|
1363
1388
|
|
1364
1389
|
</xsl:attribute-set><xsl:attribute-set name="admitted-style">
|
@@ -1424,6 +1449,8 @@
|
|
1424
1449
|
|
1425
1450
|
|
1426
1451
|
|
1452
|
+
<!-- $namespace = 'iso' or -->
|
1453
|
+
|
1427
1454
|
<xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
|
1428
1455
|
|
1429
1456
|
|
@@ -1483,7 +1510,7 @@
|
|
1483
1510
|
|
1484
1511
|
|
1485
1512
|
|
1486
|
-
|
1513
|
+
|
1487
1514
|
|
1488
1515
|
|
1489
1516
|
<xsl:attribute name="space-after">18pt</xsl:attribute>
|
@@ -1502,11 +1529,13 @@
|
|
1502
1529
|
|
1503
1530
|
|
1504
1531
|
|
1532
|
+
|
1505
1533
|
|
1506
1534
|
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
1507
1535
|
<xsl:attribute name="margin-right">0mm</xsl:attribute>
|
1508
1536
|
|
1509
1537
|
|
1538
|
+
|
1510
1539
|
<xsl:for-each select="xalan:nodeset($colwidths)//column">
|
1511
1540
|
<xsl:choose>
|
1512
1541
|
<xsl:when test=". = 1 or . = 0">
|
@@ -1537,8 +1566,9 @@
|
|
1537
1566
|
</xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']"/><xsl:template match="*[local-name()='table']/*[local-name() = 'name']" mode="presentation">
|
1538
1567
|
<xsl:if test="normalize-space() != ''">
|
1539
1568
|
<fo:block xsl:use-attribute-sets="table-name-style">
|
1540
|
-
|
1541
|
-
|
1569
|
+
|
1570
|
+
<xsl:apply-templates/>
|
1571
|
+
</fo:block>
|
1542
1572
|
</xsl:if>
|
1543
1573
|
</xsl:template><xsl:template name="calculate-columns-numbers">
|
1544
1574
|
<xsl:param name="table-row"/>
|
@@ -1654,10 +1684,25 @@
|
|
1654
1684
|
</xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
|
1655
1685
|
<xsl:param name="cols-count"/>
|
1656
1686
|
<!-- font-weight="bold" -->
|
1657
|
-
<fo:table-header>
|
1658
|
-
|
1687
|
+
<fo:table-header>
|
1688
|
+
|
1659
1689
|
<xsl:apply-templates/>
|
1660
1690
|
</fo:table-header>
|
1691
|
+
</xsl:template><xsl:template name="table-header-title">
|
1692
|
+
<xsl:param name="cols-count"/>
|
1693
|
+
<!-- row for title -->
|
1694
|
+
<fo:table-row>
|
1695
|
+
<fo:table-cell number-columns-spanned="{$cols-count}" border-left="1.5pt solid white" border-right="1.5pt solid white" border-top="1.5pt solid white" border-bottom="1.5pt solid black">
|
1696
|
+
<xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']" mode="presentation"/>
|
1697
|
+
<xsl:for-each select="ancestor::*[local-name()='table'][1]">
|
1698
|
+
<xsl:call-template name="fn_name_display"/>
|
1699
|
+
</xsl:for-each>
|
1700
|
+
<fo:block text-align="right" font-style="italic">
|
1701
|
+
<xsl:text> </xsl:text>
|
1702
|
+
<fo:retrieve-table-marker retrieve-class-name="table_continued"/>
|
1703
|
+
</fo:block>
|
1704
|
+
</fo:table-cell>
|
1705
|
+
</fo:table-row>
|
1661
1706
|
</xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
|
1662
1707
|
<fo:table-body>
|
1663
1708
|
<xsl:apply-templates/>
|
@@ -1721,6 +1766,8 @@
|
|
1721
1766
|
</xsl:choose>
|
1722
1767
|
</xsl:variable>
|
1723
1768
|
|
1769
|
+
|
1770
|
+
|
1724
1771
|
<xsl:apply-templates select="../*[local-name()='thead']" mode="process">
|
1725
1772
|
<xsl:with-param name="cols-count" select="$cols-count"/>
|
1726
1773
|
</xsl:apply-templates>
|
@@ -1730,6 +1777,8 @@
|
|
1730
1777
|
</xsl:call-template>
|
1731
1778
|
|
1732
1779
|
<fo:table-body>
|
1780
|
+
|
1781
|
+
|
1733
1782
|
<xsl:apply-templates/>
|
1734
1783
|
<!-- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/> -->
|
1735
1784
|
|
@@ -1752,6 +1801,8 @@
|
|
1752
1801
|
|
1753
1802
|
</xsl:if>
|
1754
1803
|
|
1804
|
+
|
1805
|
+
|
1755
1806
|
|
1756
1807
|
<xsl:apply-templates/>
|
1757
1808
|
</fo:table-row>
|
@@ -1774,6 +1825,7 @@
|
|
1774
1825
|
|
1775
1826
|
|
1776
1827
|
|
1828
|
+
|
1777
1829
|
<xsl:if test="@colspan">
|
1778
1830
|
<xsl:attribute name="number-columns-spanned">
|
1779
1831
|
<xsl:value-of select="@colspan"/>
|
@@ -1784,10 +1836,22 @@
|
|
1784
1836
|
<xsl:value-of select="@rowspan"/>
|
1785
1837
|
</xsl:attribute>
|
1786
1838
|
</xsl:if>
|
1839
|
+
<xsl:call-template name="display-align"/>
|
1787
1840
|
<fo:block>
|
1788
1841
|
<xsl:apply-templates/>
|
1789
1842
|
</fo:block>
|
1790
1843
|
</fo:table-cell>
|
1844
|
+
</xsl:template><xsl:template name="display-align">
|
1845
|
+
<xsl:if test="@valign">
|
1846
|
+
<xsl:attribute name="display-align">
|
1847
|
+
<xsl:choose>
|
1848
|
+
<xsl:when test="@valign = 'top'">before</xsl:when>
|
1849
|
+
<xsl:when test="@valign = 'middle'">center</xsl:when>
|
1850
|
+
<xsl:when test="@valign = 'bottom'">after</xsl:when>
|
1851
|
+
<xsl:otherwise>before</xsl:otherwise>
|
1852
|
+
</xsl:choose>
|
1853
|
+
</xsl:attribute>
|
1854
|
+
</xsl:if>
|
1791
1855
|
</xsl:template><xsl:template match="*[local-name()='td']">
|
1792
1856
|
<fo:table-cell text-align="{@align}" display-align="center" border="solid black 1pt" padding-left="1mm">
|
1793
1857
|
<xsl:attribute name="text-align">
|
@@ -1809,6 +1873,7 @@
|
|
1809
1873
|
|
1810
1874
|
|
1811
1875
|
|
1876
|
+
|
1812
1877
|
<xsl:if test="@colspan">
|
1813
1878
|
<xsl:attribute name="number-columns-spanned">
|
1814
1879
|
<xsl:value-of select="@colspan"/>
|
@@ -1819,8 +1884,8 @@
|
|
1819
1884
|
<xsl:value-of select="@rowspan"/>
|
1820
1885
|
</xsl:attribute>
|
1821
1886
|
</xsl:if>
|
1822
|
-
<
|
1823
|
-
|
1887
|
+
<xsl:call-template name="display-align"/>
|
1888
|
+
<fo:block>
|
1824
1889
|
<xsl:apply-templates/>
|
1825
1890
|
</fo:block>
|
1826
1891
|
</fo:table-cell>
|
@@ -2002,6 +2067,7 @@
|
|
2002
2067
|
|
2003
2068
|
|
2004
2069
|
|
2070
|
+
|
2005
2071
|
<fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
|
2006
2072
|
|
2007
2073
|
<xsl:value-of select="@reference"/>
|
@@ -2012,119 +2078,133 @@
|
|
2012
2078
|
<xsl:apply-templates/>
|
2013
2079
|
</fo:inline>
|
2014
2080
|
</xsl:template><xsl:template match="*[local-name()='dl']">
|
2015
|
-
<
|
2016
|
-
|
2017
|
-
|
2018
|
-
|
2019
|
-
|
2020
|
-
|
2021
|
-
|
2022
|
-
|
2023
|
-
|
2024
|
-
|
2025
|
-
<fo:block margin-bottom="12pt" text-align="left">
|
2026
|
-
|
2027
|
-
<xsl:variable name="title-where">
|
2028
|
-
<xsl:call-template name="getTitle">
|
2029
|
-
<xsl:with-param name="name" select="'title-where'"/>
|
2030
|
-
</xsl:call-template>
|
2031
|
-
</xsl:variable>
|
2032
|
-
<xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
|
2033
|
-
<xsl:apply-templates select="*[local-name()='dt']/*"/>
|
2034
|
-
<xsl:text/>
|
2035
|
-
<xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
|
2036
|
-
</fo:block>
|
2037
|
-
|
2038
|
-
</xsl:when>
|
2039
|
-
<xsl:when test="$parent = 'formula'"> <!-- a few components -->
|
2040
|
-
<fo:block margin-bottom="12pt" text-align="left">
|
2041
|
-
|
2042
|
-
|
2043
|
-
|
2044
|
-
|
2045
|
-
<xsl:variable name="title-where">
|
2046
|
-
<xsl:call-template name="getTitle">
|
2047
|
-
<xsl:with-param name="name" select="'title-where'"/>
|
2048
|
-
</xsl:call-template>
|
2049
|
-
</xsl:variable>
|
2050
|
-
<xsl:value-of select="$title-where"/>
|
2051
|
-
</fo:block>
|
2052
|
-
</xsl:when>
|
2053
|
-
<xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')">
|
2054
|
-
<fo:block font-weight="bold" text-align="left" margin-bottom="12pt" keep-with-next="always">
|
2055
|
-
|
2056
|
-
|
2057
|
-
|
2058
|
-
<xsl:variable name="title-key">
|
2059
|
-
<xsl:call-template name="getTitle">
|
2060
|
-
<xsl:with-param name="name" select="'title-key'"/>
|
2061
|
-
</xsl:call-template>
|
2062
|
-
</xsl:variable>
|
2063
|
-
<xsl:value-of select="$title-key"/>
|
2064
|
-
</fo:block>
|
2065
|
-
</xsl:when>
|
2066
|
-
</xsl:choose>
|
2067
|
-
|
2068
|
-
<!-- a few components -->
|
2069
|
-
<xsl:if test="not($parent = 'formula' and count(*[local-name()='dt']) = 1)">
|
2070
|
-
<fo:block>
|
2071
|
-
|
2081
|
+
<fo:block-container margin-left="0mm">
|
2082
|
+
<xsl:if test="parent::*[local-name() = 'note']">
|
2083
|
+
<xsl:attribute name="margin-left">
|
2084
|
+
<xsl:choose>
|
2085
|
+
<xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
|
2086
|
+
<xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
|
2087
|
+
</xsl:choose>
|
2088
|
+
</xsl:attribute>
|
2072
2089
|
|
2090
|
+
</xsl:if>
|
2091
|
+
<fo:block-container margin-left="0mm">
|
2092
|
+
|
2093
|
+
<xsl:variable name="parent" select="local-name(..)"/>
|
2073
2094
|
|
2095
|
+
<xsl:variable name="key_iso">
|
2096
|
+
<!-- and (not(../@class) or ../@class !='pseudocode') -->
|
2097
|
+
</xsl:variable>
|
2074
2098
|
|
2075
|
-
|
2099
|
+
<xsl:choose>
|
2100
|
+
<xsl:when test="$parent = 'formula' and count(*[local-name()='dt']) = 1"> <!-- only one component -->
|
2101
|
+
|
2102
|
+
|
2103
|
+
<fo:block margin-bottom="12pt" text-align="left">
|
2104
|
+
|
2105
|
+
<xsl:variable name="title-where">
|
2106
|
+
<xsl:call-template name="getTitle">
|
2107
|
+
<xsl:with-param name="name" select="'title-where'"/>
|
2108
|
+
</xsl:call-template>
|
2109
|
+
</xsl:variable>
|
2110
|
+
<xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
|
2111
|
+
<xsl:apply-templates select="*[local-name()='dt']/*"/>
|
2112
|
+
<xsl:text/>
|
2113
|
+
<xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
|
2114
|
+
</fo:block>
|
2115
|
+
|
2116
|
+
</xsl:when>
|
2117
|
+
<xsl:when test="$parent = 'formula'"> <!-- a few components -->
|
2118
|
+
<fo:block margin-bottom="12pt" text-align="left">
|
2119
|
+
|
2120
|
+
|
2121
|
+
|
2122
|
+
|
2123
|
+
<xsl:variable name="title-where">
|
2124
|
+
<xsl:call-template name="getTitle">
|
2125
|
+
<xsl:with-param name="name" select="'title-where'"/>
|
2126
|
+
</xsl:call-template>
|
2127
|
+
</xsl:variable>
|
2128
|
+
<xsl:value-of select="$title-where"/>
|
2129
|
+
</fo:block>
|
2130
|
+
</xsl:when>
|
2131
|
+
<xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')">
|
2132
|
+
<fo:block font-weight="bold" text-align="left" margin-bottom="12pt" keep-with-next="always">
|
2133
|
+
|
2134
|
+
|
2135
|
+
|
2136
|
+
<xsl:variable name="title-key">
|
2137
|
+
<xsl:call-template name="getTitle">
|
2138
|
+
<xsl:with-param name="name" select="'title-key'"/>
|
2139
|
+
</xsl:call-template>
|
2140
|
+
</xsl:variable>
|
2141
|
+
<xsl:value-of select="$title-key"/>
|
2142
|
+
</fo:block>
|
2143
|
+
</xsl:when>
|
2144
|
+
</xsl:choose>
|
2076
2145
|
|
2077
|
-
|
2078
|
-
|
2079
|
-
|
2080
|
-
|
2081
|
-
<xsl:attribute name="margin-left">-3.5mm</xsl:attribute>
|
2082
|
-
|
2083
|
-
|
2084
|
-
<fo:table width="95%" table-layout="fixed">
|
2146
|
+
<!-- a few components -->
|
2147
|
+
<xsl:if test="not($parent = 'formula' and count(*[local-name()='dt']) = 1)">
|
2148
|
+
<fo:block>
|
2085
2149
|
|
2086
|
-
|
2087
|
-
|
2088
|
-
|
2089
|
-
</xsl:
|
2090
|
-
|
2091
|
-
|
2150
|
+
|
2151
|
+
|
2152
|
+
|
2153
|
+
<xsl:attribute name="margin-left">7mm</xsl:attribute>
|
2154
|
+
|
2155
|
+
<fo:block>
|
2156
|
+
|
2157
|
+
|
2158
|
+
|
2159
|
+
<xsl:attribute name="margin-left">-3.5mm</xsl:attribute>
|
2160
|
+
|
2161
|
+
|
2162
|
+
<fo:table width="95%" table-layout="fixed">
|
2092
2163
|
|
2093
|
-
|
2094
|
-
|
2095
|
-
|
2096
|
-
|
2097
|
-
|
2098
|
-
|
2099
|
-
|
2100
|
-
|
2101
|
-
</
|
2102
|
-
|
2103
|
-
|
2104
|
-
|
2105
|
-
|
2106
|
-
|
2107
|
-
|
2108
|
-
|
2109
|
-
|
2110
|
-
|
2111
|
-
|
2112
|
-
|
2113
|
-
|
2114
|
-
|
2115
|
-
|
2116
|
-
|
2117
|
-
|
2118
|
-
|
2119
|
-
|
2120
|
-
|
2121
|
-
|
2122
|
-
|
2123
|
-
|
2124
|
-
|
2125
|
-
|
2126
|
-
|
2127
|
-
|
2164
|
+
<xsl:choose>
|
2165
|
+
<xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'">
|
2166
|
+
<!-- <xsl:attribute name="font-size">11pt</xsl:attribute> -->
|
2167
|
+
</xsl:when>
|
2168
|
+
<xsl:when test="normalize-space($key_iso) = 'true'">
|
2169
|
+
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
2170
|
+
|
2171
|
+
</xsl:when>
|
2172
|
+
</xsl:choose>
|
2173
|
+
<!-- create virtual html table for dl/[dt and dd] -->
|
2174
|
+
<xsl:variable name="html-table">
|
2175
|
+
<xsl:variable name="ns" select="substring-before(name(/*), '-')"/>
|
2176
|
+
<xsl:element name="{$ns}:table">
|
2177
|
+
<tbody>
|
2178
|
+
<xsl:apply-templates mode="dl"/>
|
2179
|
+
</tbody>
|
2180
|
+
</xsl:element>
|
2181
|
+
</xsl:variable>
|
2182
|
+
<!-- html-table<xsl:copy-of select="$html-table"/> -->
|
2183
|
+
<xsl:variable name="colwidths">
|
2184
|
+
<xsl:call-template name="calculate-column-widths">
|
2185
|
+
<xsl:with-param name="cols-count" select="2"/>
|
2186
|
+
<xsl:with-param name="table" select="$html-table"/>
|
2187
|
+
</xsl:call-template>
|
2188
|
+
</xsl:variable>
|
2189
|
+
<!-- colwidths=<xsl:value-of select="$colwidths"/> -->
|
2190
|
+
<xsl:variable name="maxlength_dt">
|
2191
|
+
<xsl:call-template name="getMaxLength_dt"/>
|
2192
|
+
</xsl:variable>
|
2193
|
+
<xsl:call-template name="setColumnWidth_dl">
|
2194
|
+
<xsl:with-param name="colwidths" select="$colwidths"/>
|
2195
|
+
<xsl:with-param name="maxlength_dt" select="$maxlength_dt"/>
|
2196
|
+
</xsl:call-template>
|
2197
|
+
<fo:table-body>
|
2198
|
+
<xsl:apply-templates>
|
2199
|
+
<xsl:with-param name="key_iso" select="normalize-space($key_iso)"/>
|
2200
|
+
</xsl:apply-templates>
|
2201
|
+
</fo:table-body>
|
2202
|
+
</fo:table>
|
2203
|
+
</fo:block>
|
2204
|
+
</fo:block>
|
2205
|
+
</xsl:if>
|
2206
|
+
</fo:block-container>
|
2207
|
+
</fo:block-container>
|
2128
2208
|
</xsl:template><xsl:template name="setColumnWidth_dl">
|
2129
2209
|
<xsl:param name="colwidths"/>
|
2130
2210
|
<xsl:param name="maxlength_dt"/>
|
@@ -2221,6 +2301,7 @@
|
|
2221
2301
|
<xsl:param name="key_iso"/>
|
2222
2302
|
|
2223
2303
|
<fo:table-row>
|
2304
|
+
|
2224
2305
|
<fo:table-cell>
|
2225
2306
|
|
2226
2307
|
<fo:block margin-top="6pt">
|
@@ -2303,6 +2384,31 @@
|
|
2303
2384
|
</fo:inline>
|
2304
2385
|
</xsl:template><xsl:template match="*[local-name()='tt']">
|
2305
2386
|
<fo:inline xsl:use-attribute-sets="tt-style">
|
2387
|
+
<xsl:variable name="_font-size">
|
2388
|
+
|
2389
|
+
|
2390
|
+
|
2391
|
+
|
2392
|
+
10
|
2393
|
+
|
2394
|
+
|
2395
|
+
|
2396
|
+
|
2397
|
+
|
2398
|
+
|
2399
|
+
|
2400
|
+
|
2401
|
+
|
2402
|
+
</xsl:variable>
|
2403
|
+
<xsl:variable name="font-size" select="normalize-space($_font-size)"/>
|
2404
|
+
<xsl:if test="$font-size != ''">
|
2405
|
+
<xsl:attribute name="font-size">
|
2406
|
+
<xsl:choose>
|
2407
|
+
<xsl:when test="ancestor::*[local-name()='note']"><xsl:value-of select="$font-size * 0.91"/>pt</xsl:when>
|
2408
|
+
<xsl:otherwise><xsl:value-of select="$font-size"/>pt</xsl:otherwise>
|
2409
|
+
</xsl:choose>
|
2410
|
+
</xsl:attribute>
|
2411
|
+
</xsl:if>
|
2306
2412
|
<xsl:apply-templates/>
|
2307
2413
|
</fo:inline>
|
2308
2414
|
</xsl:template><xsl:template match="*[local-name()='del']">
|
@@ -2629,10 +2735,23 @@
|
|
2629
2735
|
<xsl:value-of select="substring($str, 2)"/>
|
2630
2736
|
</xsl:template><xsl:template match="mathml:math">
|
2631
2737
|
<fo:inline font-family="STIX2Math">
|
2632
|
-
<
|
2633
|
-
<xsl:
|
2634
|
-
</
|
2738
|
+
<xsl:variable name="mathml">
|
2739
|
+
<xsl:apply-templates select="." mode="mathml"/>
|
2740
|
+
</xsl:variable>
|
2741
|
+
<fo:instream-foreign-object fox:alt-text="Math">
|
2742
|
+
<!-- <xsl:copy-of select="."/> -->
|
2743
|
+
<xsl:copy-of select="xalan:nodeset($mathml)"/>
|
2744
|
+
</fo:instream-foreign-object>
|
2635
2745
|
</fo:inline>
|
2746
|
+
</xsl:template><xsl:template match="@*|node()" mode="mathml">
|
2747
|
+
<xsl:copy>
|
2748
|
+
<xsl:apply-templates select="@*|node()" mode="mathml"/>
|
2749
|
+
</xsl:copy>
|
2750
|
+
</xsl:template><xsl:template match="mathml:mtext" mode="mathml">
|
2751
|
+
<xsl:copy>
|
2752
|
+
<!-- replace start and end spaces to non-break space -->
|
2753
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'(^ )|( $)',' ')"/>
|
2754
|
+
</xsl:copy>
|
2636
2755
|
</xsl:template><xsl:template match="*[local-name()='localityStack']"/><xsl:template match="*[local-name()='link']" name="link">
|
2637
2756
|
<xsl:variable name="target">
|
2638
2757
|
<xsl:choose>
|
@@ -2713,9 +2832,22 @@
|
|
2713
2832
|
<xsl:apply-templates/>
|
2714
2833
|
</fo:basic-link>
|
2715
2834
|
</xsl:template><xsl:template match="*[local-name() = 'formula']" name="formula">
|
2716
|
-
<fo:block
|
2717
|
-
<xsl:
|
2718
|
-
|
2835
|
+
<fo:block-container margin-left="0mm">
|
2836
|
+
<xsl:if test="parent::*[local-name() = 'note']">
|
2837
|
+
<xsl:attribute name="margin-left">
|
2838
|
+
<xsl:choose>
|
2839
|
+
<xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
|
2840
|
+
<xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
|
2841
|
+
</xsl:choose>
|
2842
|
+
</xsl:attribute>
|
2843
|
+
|
2844
|
+
</xsl:if>
|
2845
|
+
<fo:block-container margin-left="0mm">
|
2846
|
+
<fo:block id="{@id}" xsl:use-attribute-sets="formula-style">
|
2847
|
+
<xsl:apply-templates/>
|
2848
|
+
</fo:block>
|
2849
|
+
</fo:block-container>
|
2850
|
+
</fo:block-container>
|
2719
2851
|
</xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'dt']/*[local-name() = 'stem']">
|
2720
2852
|
<fo:inline>
|
2721
2853
|
<xsl:apply-templates/>
|
@@ -2779,7 +2911,9 @@
|
|
2779
2911
|
</xsl:choose>
|
2780
2912
|
</xsl:template><xsl:template match="*[local-name() = 'termnote']">
|
2781
2913
|
<fo:block id="{@id}" xsl:use-attribute-sets="termnote-style">
|
2782
|
-
<xsl:
|
2914
|
+
<fo:inline xsl:use-attribute-sets="termnote-name-style">
|
2915
|
+
<xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
|
2916
|
+
</fo:inline>
|
2783
2917
|
<xsl:apply-templates/>
|
2784
2918
|
</fo:block>
|
2785
2919
|
</xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name'] | *[local-name() = 'termnote']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name']" mode="presentation">
|
@@ -2946,21 +3080,61 @@
|
|
2946
3080
|
</xsl:template><xsl:template match="*[local-name() = 'br']" mode="contents_item">
|
2947
3081
|
<xsl:text> </xsl:text>
|
2948
3082
|
</xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
|
2949
|
-
|
2950
|
-
|
2951
|
-
|
2952
|
-
|
2953
|
-
|
3083
|
+
|
3084
|
+
<fo:block-container margin-left="0mm">
|
3085
|
+
<xsl:if test="parent::*[local-name() = 'note']">
|
3086
|
+
<xsl:attribute name="margin-left">
|
3087
|
+
<xsl:choose>
|
3088
|
+
<xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
|
3089
|
+
<xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
|
3090
|
+
</xsl:choose>
|
3091
|
+
</xsl:attribute>
|
3092
|
+
|
3093
|
+
</xsl:if>
|
3094
|
+
<fo:block-container margin-left="0mm">
|
3095
|
+
|
3096
|
+
<fo:block xsl:use-attribute-sets="sourcecode-style">
|
3097
|
+
<xsl:variable name="_font-size">
|
3098
|
+
|
3099
|
+
|
3100
|
+
|
3101
|
+
|
3102
|
+
10
|
3103
|
+
|
3104
|
+
|
3105
|
+
|
3106
|
+
|
3107
|
+
|
3108
|
+
|
3109
|
+
|
3110
|
+
|
3111
|
+
|
3112
|
+
</xsl:variable>
|
3113
|
+
<xsl:variable name="font-size" select="normalize-space($_font-size)"/>
|
3114
|
+
<xsl:if test="$font-size != ''">
|
3115
|
+
<xsl:attribute name="font-size">
|
3116
|
+
<xsl:choose>
|
3117
|
+
<xsl:when test="ancestor::*[local-name()='note']"><xsl:value-of select="$font-size * 0.91"/>pt</xsl:when>
|
3118
|
+
<xsl:otherwise><xsl:value-of select="$font-size"/>pt</xsl:otherwise>
|
3119
|
+
</xsl:choose>
|
3120
|
+
</xsl:attribute>
|
3121
|
+
</xsl:if>
|
3122
|
+
<xsl:apply-templates/>
|
3123
|
+
</fo:block>
|
3124
|
+
<xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
|
3125
|
+
|
3126
|
+
</fo:block-container>
|
3127
|
+
</fo:block-container>
|
3128
|
+
</xsl:template><xsl:template match="*[local-name()='sourcecode']/text()" priority="2">
|
2954
3129
|
<xsl:variable name="text">
|
2955
3130
|
<xsl:call-template name="add-zero-spaces-equal"/>
|
2956
3131
|
</xsl:variable>
|
2957
|
-
<xsl:call-template name="add-zero-spaces">
|
3132
|
+
<xsl:call-template name="add-zero-spaces-java">
|
2958
3133
|
<xsl:with-param name="text" select="$text"/>
|
2959
3134
|
</xsl:call-template>
|
2960
3135
|
</xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']" mode="presentation">
|
2961
3136
|
<xsl:if test="normalize-space() != ''">
|
2962
|
-
<fo:block xsl:use-attribute-sets="sourcecode-name-style">
|
2963
|
-
|
3137
|
+
<fo:block xsl:use-attribute-sets="sourcecode-name-style">
|
2964
3138
|
<xsl:apply-templates/>
|
2965
3139
|
</fo:block>
|
2966
3140
|
</xsl:if>
|
@@ -3034,9 +3208,9 @@
|
|
3034
3208
|
<xsl:attribute name="margin-bottom">0pt</xsl:attribute>
|
3035
3209
|
</xsl:if>
|
3036
3210
|
<fo:block-container margin-left="0mm" margin-right="0mm">
|
3037
|
-
<fo:table id="{@id}" table-layout="fixed" width="100%" border="1pt solid black"
|
3211
|
+
<fo:table id="{@id}" table-layout="fixed" width="100%"> <!-- border="1pt solid black" -->
|
3038
3212
|
<xsl:if test="ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
|
3039
|
-
<xsl:attribute name="border">0.5pt solid black</xsl:attribute>
|
3213
|
+
<!-- <xsl:attribute name="border">0.5pt solid black</xsl:attribute> -->
|
3040
3214
|
</xsl:if>
|
3041
3215
|
<xsl:variable name="simple-table">
|
3042
3216
|
<xsl:call-template name="getSimpleTable"/>
|
@@ -3045,8 +3219,8 @@
|
|
3045
3219
|
<xsl:if test="$cols-count = 2 and not(ancestor::*[local-name()='table'])">
|
3046
3220
|
<!-- <fo:table-column column-width="35mm"/>
|
3047
3221
|
<fo:table-column column-width="115mm"/> -->
|
3048
|
-
<fo:table-column column-width="
|
3049
|
-
<fo:table-column column-width="
|
3222
|
+
<fo:table-column column-width="30%"/>
|
3223
|
+
<fo:table-column column-width="70%"/>
|
3050
3224
|
</xsl:if>
|
3051
3225
|
<xsl:apply-templates mode="requirement"/>
|
3052
3226
|
</fo:table>
|
@@ -3069,14 +3243,21 @@
|
|
3069
3243
|
<xsl:apply-templates mode="requirement"/>
|
3070
3244
|
</fo:table-body>
|
3071
3245
|
</xsl:template><xsl:template match="*[local-name()='tr']" mode="requirement">
|
3072
|
-
<fo:table-row height="7mm">
|
3073
|
-
<xsl:if test="parent::*[local-name()='thead'] and not(ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission'])
|
3074
|
-
<xsl:attribute name="border">1pt solid black</xsl:attribute>
|
3246
|
+
<fo:table-row height="7mm" border-bottom="0.5pt solid grey">
|
3247
|
+
<xsl:if test="parent::*[local-name()='thead']"> <!-- and not(ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']) -->
|
3248
|
+
<!-- <xsl:attribute name="border">1pt solid black</xsl:attribute> -->
|
3249
|
+
<xsl:attribute name="background-color">rgb(33, 55, 92)</xsl:attribute>
|
3250
|
+
</xsl:if>
|
3251
|
+
<xsl:if test="starts-with(*[local-name()='td'][1], 'Requirement ')">
|
3252
|
+
<xsl:attribute name="background-color">rgb(252, 246, 222)</xsl:attribute>
|
3253
|
+
</xsl:if>
|
3254
|
+
<xsl:if test="starts-with(*[local-name()='td'][1], 'Recommendation ')">
|
3255
|
+
<xsl:attribute name="background-color">rgb(233, 235, 239)</xsl:attribute>
|
3075
3256
|
</xsl:if>
|
3076
3257
|
<xsl:apply-templates mode="requirement"/>
|
3077
3258
|
</fo:table-row>
|
3078
3259
|
</xsl:template><xsl:template match="*[local-name()='th']" mode="requirement">
|
3079
|
-
<fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm" border="0.5pt solid black"
|
3260
|
+
<fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm"> <!-- border="0.5pt solid black" -->
|
3080
3261
|
<xsl:attribute name="text-align">
|
3081
3262
|
<xsl:choose>
|
3082
3263
|
<xsl:when test="@align">
|
@@ -3095,6 +3276,7 @@
|
|
3095
3276
|
<xsl:value-of select="@rowspan"/>
|
3096
3277
|
</xsl:attribute>
|
3097
3278
|
</xsl:if>
|
3279
|
+
<xsl:call-template name="display-align"/>
|
3098
3280
|
|
3099
3281
|
<!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
|
3100
3282
|
<xsl:attribute name="padding-top">0.5mm</xsl:attribute>
|
@@ -3110,7 +3292,7 @@
|
|
3110
3292
|
</fo:block>
|
3111
3293
|
</fo:table-cell>
|
3112
3294
|
</xsl:template><xsl:template match="*[local-name()='td']" mode="requirement">
|
3113
|
-
<fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm" border="0.5pt solid black"
|
3295
|
+
<fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm"> <!-- border="0.5pt solid black" -->
|
3114
3296
|
<xsl:if test="*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
|
3115
3297
|
<xsl:attribute name="padding">0mm</xsl:attribute>
|
3116
3298
|
<xsl:attribute name="padding-left">0mm</xsl:attribute>
|
@@ -3123,6 +3305,9 @@
|
|
3123
3305
|
<xsl:otherwise>left</xsl:otherwise>
|
3124
3306
|
</xsl:choose>
|
3125
3307
|
</xsl:attribute>
|
3308
|
+
<xsl:if test="following-sibling::*[local-name()='td'] and not(preceding-sibling::*[local-name()='td'])">
|
3309
|
+
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
3310
|
+
</xsl:if>
|
3126
3311
|
<xsl:if test="@colspan">
|
3127
3312
|
<xsl:attribute name="number-columns-spanned">
|
3128
3313
|
<xsl:value-of select="@colspan"/>
|
@@ -3133,6 +3318,7 @@
|
|
3133
3318
|
<xsl:value-of select="@rowspan"/>
|
3134
3319
|
</xsl:attribute>
|
3135
3320
|
</xsl:if>
|
3321
|
+
<xsl:call-template name="display-align"/>
|
3136
3322
|
|
3137
3323
|
<!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
|
3138
3324
|
<xsl:attribute name="padding-left">0.5mm</xsl:attribute>
|
@@ -3148,7 +3334,7 @@
|
|
3148
3334
|
</fo:block>
|
3149
3335
|
</fo:table-cell>
|
3150
3336
|
</xsl:template><xsl:template match="*[local-name() = 'p'][@class='RecommendationTitle' or @class = 'RecommendationTestTitle']" priority="2">
|
3151
|
-
<fo:block font-size="11pt" font-weight="bold"
|
3337
|
+
<fo:block font-size="11pt" color="rgb(237, 193, 35)"> <!-- font-weight="bold" margin-bottom="4pt" text-align="center" -->
|
3152
3338
|
<xsl:apply-templates/>
|
3153
3339
|
</fo:block>
|
3154
3340
|
</xsl:template><xsl:template match="*[local-name() = 'p2'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
|
@@ -3174,12 +3360,13 @@
|
|
3174
3360
|
<xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
|
3175
3361
|
|
3176
3362
|
<xsl:variable name="element">
|
3177
|
-
block
|
3363
|
+
block
|
3178
3364
|
|
3365
|
+
<xsl:if test=".//*[local-name() = 'table']">block</xsl:if>
|
3179
3366
|
</xsl:variable>
|
3180
3367
|
|
3181
3368
|
<xsl:choose>
|
3182
|
-
<xsl:when test="normalize-space($element)
|
3369
|
+
<xsl:when test="contains(normalize-space($element), 'block')">
|
3183
3370
|
<fo:block xsl:use-attribute-sets="example-body-style">
|
3184
3371
|
<xsl:apply-templates/>
|
3185
3372
|
</fo:block>
|
@@ -3216,25 +3403,44 @@
|
|
3216
3403
|
</xsl:otherwise>
|
3217
3404
|
</xsl:choose>
|
3218
3405
|
|
3219
|
-
</xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
|
3220
|
-
|
3406
|
+
</xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
|
3407
|
+
|
3408
|
+
<xsl:variable name="element">
|
3409
|
+
block
|
3221
3410
|
|
3222
|
-
|
3223
|
-
|
3411
|
+
</xsl:variable>
|
3412
|
+
<xsl:choose>
|
3413
|
+
<xsl:when test="normalize-space($element) = 'block'">
|
3414
|
+
<fo:block xsl:use-attribute-sets="example-p-style">
|
3415
|
+
|
3416
|
+
<xsl:apply-templates/>
|
3417
|
+
</fo:block>
|
3418
|
+
</xsl:when>
|
3419
|
+
<xsl:otherwise>
|
3420
|
+
<fo:inline xsl:use-attribute-sets="example-p-style">
|
3421
|
+
<xsl:apply-templates/>
|
3422
|
+
</fo:inline>
|
3423
|
+
</xsl:otherwise>
|
3424
|
+
</xsl:choose>
|
3224
3425
|
</xsl:template><xsl:template match="*[local-name() = 'termsource']">
|
3225
3426
|
<fo:block xsl:use-attribute-sets="termsource-style">
|
3226
3427
|
<!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
|
3227
3428
|
<xsl:variable name="termsource_text">
|
3228
3429
|
<xsl:apply-templates/>
|
3229
3430
|
</xsl:variable>
|
3431
|
+
|
3230
3432
|
<xsl:choose>
|
3231
3433
|
<xsl:when test="starts-with(normalize-space($termsource_text), '[')">
|
3232
3434
|
<xsl:apply-templates/>
|
3233
3435
|
</xsl:when>
|
3234
|
-
<xsl:otherwise>
|
3235
|
-
|
3236
|
-
|
3237
|
-
|
3436
|
+
<xsl:otherwise>
|
3437
|
+
|
3438
|
+
<xsl:text>[</xsl:text>
|
3439
|
+
|
3440
|
+
<xsl:apply-templates/>
|
3441
|
+
|
3442
|
+
<xsl:text>]</xsl:text>
|
3443
|
+
|
3238
3444
|
</xsl:otherwise>
|
3239
3445
|
</xsl:choose>
|
3240
3446
|
</fo:block>
|
@@ -3245,10 +3451,13 @@
|
|
3245
3451
|
</xsl:template><xsl:template match="*[local-name() = 'origin']">
|
3246
3452
|
<fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
|
3247
3453
|
|
3248
|
-
<
|
3249
|
-
|
3250
|
-
|
3251
|
-
|
3454
|
+
<fo:inline>
|
3455
|
+
|
3456
|
+
<xsl:call-template name="getTitle">
|
3457
|
+
<xsl:with-param name="name" select="'title-source'"/>
|
3458
|
+
</xsl:call-template>
|
3459
|
+
<xsl:text>: </xsl:text>
|
3460
|
+
</fo:inline>
|
3252
3461
|
|
3253
3462
|
<fo:inline xsl:use-attribute-sets="origin-style">
|
3254
3463
|
<xsl:apply-templates/>
|
@@ -3260,18 +3469,29 @@
|
|
3260
3469
|
<xsl:if test="normalize-space() != ''">
|
3261
3470
|
<xsl:value-of select="."/>
|
3262
3471
|
</xsl:if>
|
3263
|
-
</xsl:template><xsl:template match="*[local-name() = 'quote']">
|
3472
|
+
</xsl:template><xsl:template match="*[local-name() = 'quote']">
|
3473
|
+
<fo:block-container margin-left="0mm">
|
3474
|
+
<xsl:if test="parent::*[local-name() = 'note']">
|
3475
|
+
<xsl:if test="not(ancestor::*[local-name() = 'table'])">
|
3476
|
+
<xsl:attribute name="margin-left">5mm</xsl:attribute>
|
3477
|
+
</xsl:if>
|
3478
|
+
</xsl:if>
|
3479
|
+
|
3480
|
+
<fo:block-container margin-left="0mm">
|
3264
3481
|
|
3265
|
-
|
3266
|
-
|
3267
|
-
|
3268
|
-
|
3269
|
-
|
3270
|
-
|
3271
|
-
|
3272
|
-
|
3273
|
-
|
3274
|
-
|
3482
|
+
<fo:block xsl:use-attribute-sets="quote-style">
|
3483
|
+
<xsl:apply-templates select=".//*[local-name() = 'p']"/>
|
3484
|
+
</fo:block>
|
3485
|
+
<xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
|
3486
|
+
<fo:block xsl:use-attribute-sets="quote-source-style">
|
3487
|
+
<!-- — ISO, ISO 7301:2011, Clause 1 -->
|
3488
|
+
<xsl:apply-templates select="*[local-name() = 'author']"/>
|
3489
|
+
<xsl:apply-templates select="*[local-name() = 'source']"/>
|
3490
|
+
</fo:block>
|
3491
|
+
</xsl:if>
|
3492
|
+
|
3493
|
+
</fo:block-container>
|
3494
|
+
</fo:block-container>
|
3275
3495
|
</xsl:template><xsl:template match="*[local-name() = 'source']">
|
3276
3496
|
<xsl:if test="../*[local-name() = 'author']">
|
3277
3497
|
<xsl:text>, </xsl:text>
|
@@ -3302,6 +3522,7 @@
|
|
3302
3522
|
<xsl:attribute name="text-decoration">underline</xsl:attribute>
|
3303
3523
|
|
3304
3524
|
|
3525
|
+
|
3305
3526
|
</xsl:if>
|
3306
3527
|
|
3307
3528
|
|
@@ -3340,6 +3561,7 @@
|
|
3340
3561
|
|
3341
3562
|
|
3342
3563
|
|
3564
|
+
|
3343
3565
|
</xsl:variable>
|
3344
3566
|
|
3345
3567
|
<xsl:variable name="padding-right">
|
@@ -3454,6 +3676,21 @@
|
|
3454
3676
|
</xsl:template><xsl:template match="*[local-name() = 'name']/text()">
|
3455
3677
|
<!-- 0xA0 to space replacement -->
|
3456
3678
|
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
|
3679
|
+
</xsl:template><xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
|
3680
|
+
<fo:block-container margin-left="0mm">
|
3681
|
+
<xsl:if test="parent::*[local-name() = 'note']">
|
3682
|
+
<xsl:attribute name="margin-left">
|
3683
|
+
<xsl:choose>
|
3684
|
+
<xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
|
3685
|
+
<xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
|
3686
|
+
</xsl:choose>
|
3687
|
+
</xsl:attribute>
|
3688
|
+
|
3689
|
+
</xsl:if>
|
3690
|
+
<fo:block-container margin-left="0mm">
|
3691
|
+
<xsl:apply-templates select="." mode="ul_ol"/>
|
3692
|
+
</fo:block-container>
|
3693
|
+
</fo:block-container>
|
3457
3694
|
</xsl:template><xsl:template match="*[local-name() = 'errata']">
|
3458
3695
|
<!-- <row>
|
3459
3696
|
<date>05-07-2013</date>
|
@@ -3486,7 +3723,127 @@
|
|
3486
3723
|
<fo:block><xsl:apply-templates/></fo:block>
|
3487
3724
|
</fo:table-cell>
|
3488
3725
|
</xsl:template><xsl:template name="processBibitem">
|
3726
|
+
|
3727
|
+
|
3728
|
+
|
3489
3729
|
|
3730
|
+
<!-- start IHO bibtem processing -->
|
3731
|
+
<xsl:choose>
|
3732
|
+
<xsl:when test="iho:formattedref">
|
3733
|
+
<xsl:apply-templates select="iho:formattedref"/>
|
3734
|
+
</xsl:when>
|
3735
|
+
<xsl:otherwise>
|
3736
|
+
<xsl:choose>
|
3737
|
+
<!-- IHO documents -->
|
3738
|
+
<!-- {docID} edition {edition}: {title}, {author/organization} -->
|
3739
|
+
<xsl:when test="iho:docidentifier[1]/@type='IHO'">
|
3740
|
+
<xsl:value-of select="iho:docidentifier[1]"/>
|
3741
|
+
<xsl:apply-templates select="iho:edition"/>
|
3742
|
+
<xsl:if test="iho:title or iho:contributor or iho:url">
|
3743
|
+
<xsl:text>: </xsl:text>
|
3744
|
+
</xsl:if>
|
3745
|
+
</xsl:when>
|
3746
|
+
|
3747
|
+
<!-- Non-IHO documents -->
|
3748
|
+
<!-- title and publisher -->
|
3749
|
+
<xsl:otherwise>
|
3750
|
+
<xsl:variable name="docID">
|
3751
|
+
<xsl:call-template name="processBibitemDocId"/>
|
3752
|
+
</xsl:variable>
|
3753
|
+
<xsl:value-of select="normalize-space($docID)"/>
|
3754
|
+
<xsl:if test="normalize-space($docID) != ''"><xsl:text>: </xsl:text></xsl:if>
|
3755
|
+
</xsl:otherwise>
|
3756
|
+
</xsl:choose>
|
3757
|
+
|
3758
|
+
<xsl:choose>
|
3759
|
+
<xsl:when test="iho:title[@type = 'main' and @language = 'en']">
|
3760
|
+
<xsl:apply-templates select="iho:title[@type = 'main' and @language = 'en']"/>
|
3761
|
+
</xsl:when>
|
3762
|
+
<xsl:otherwise>
|
3763
|
+
<xsl:apply-templates select="iho:title"/>
|
3764
|
+
</xsl:otherwise>
|
3765
|
+
</xsl:choose>
|
3766
|
+
|
3767
|
+
<xsl:if test="iho:title and iho:contributor">
|
3768
|
+
<xsl:text>, </xsl:text>
|
3769
|
+
</xsl:if>
|
3770
|
+
|
3771
|
+
<xsl:variable name="authors">
|
3772
|
+
<xsl:choose>
|
3773
|
+
<xsl:when test="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
|
3774
|
+
<xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
|
3775
|
+
<xsl:copy-of select="."/>
|
3776
|
+
</xsl:for-each>
|
3777
|
+
</xsl:when>
|
3778
|
+
<xsl:when test="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='editor']">
|
3779
|
+
<xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='editor']">
|
3780
|
+
<xsl:copy-of select="."/>
|
3781
|
+
</xsl:for-each>
|
3782
|
+
</xsl:when>
|
3783
|
+
<xsl:when test="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='publisher'][*[local-name() = 'organization']]">
|
3784
|
+
<xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='publisher'][*[local-name() = 'organization']]">
|
3785
|
+
<xsl:copy>
|
3786
|
+
<xsl:choose>
|
3787
|
+
<xsl:when test="position() != 1 and position() != last()">, </xsl:when>
|
3788
|
+
<xsl:when test="position() != 1 and position() = last()"> and </xsl:when>
|
3789
|
+
</xsl:choose>
|
3790
|
+
<xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
|
3791
|
+
</xsl:copy>
|
3792
|
+
</xsl:for-each>
|
3793
|
+
</xsl:when>
|
3794
|
+
</xsl:choose>
|
3795
|
+
</xsl:variable>
|
3796
|
+
|
3797
|
+
<xsl:for-each select="xalan:nodeset($authors)/*">
|
3798
|
+
<xsl:choose>
|
3799
|
+
<xsl:when test="not(*[local-name() = 'role'])"><!-- publisher organisation -->
|
3800
|
+
<xsl:value-of select="."/>
|
3801
|
+
</xsl:when>
|
3802
|
+
<xsl:otherwise> <!-- author, editor -->
|
3803
|
+
<xsl:choose>
|
3804
|
+
<xsl:when test="*[local-name() = 'organization']/*[local-name() = 'name']">
|
3805
|
+
<xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
|
3806
|
+
</xsl:when>
|
3807
|
+
<xsl:otherwise>
|
3808
|
+
<xsl:for-each select="*[local-name() = 'person']">
|
3809
|
+
<xsl:variable name="author">
|
3810
|
+
<xsl:call-template name="processPersonalAuthor"/>
|
3811
|
+
</xsl:variable>
|
3812
|
+
<xsl:value-of select="xalan:nodeset($author)/author"/>
|
3813
|
+
</xsl:for-each>
|
3814
|
+
</xsl:otherwise>
|
3815
|
+
</xsl:choose>
|
3816
|
+
</xsl:otherwise>
|
3817
|
+
</xsl:choose>
|
3818
|
+
<xsl:if test="*[local-name() = 'organization']/*[local-name() = 'name'] and position() != last()">
|
3819
|
+
<xsl:text>, </xsl:text>
|
3820
|
+
</xsl:if>
|
3821
|
+
</xsl:for-each>
|
3822
|
+
|
3823
|
+
<xsl:apply-templates select="*[local-name() = 'uri'][1]"/>
|
3824
|
+
|
3825
|
+
</xsl:otherwise>
|
3826
|
+
</xsl:choose>
|
3827
|
+
<!-- end IHO bibitem processing -->
|
3828
|
+
|
3829
|
+
</xsl:template><xsl:template name="processBibitemDocId">
|
3830
|
+
<xsl:variable name="_doc_ident" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]"/>
|
3831
|
+
<xsl:choose>
|
3832
|
+
<xsl:when test="normalize-space($_doc_ident) != ''">
|
3833
|
+
<xsl:variable name="type" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]/@type"/>
|
3834
|
+
<xsl:if test="$type != '' and not(contains($_doc_ident, $type))">
|
3835
|
+
<xsl:value-of select="$type"/><xsl:text> </xsl:text>
|
3836
|
+
</xsl:if>
|
3837
|
+
<xsl:value-of select="$_doc_ident"/>
|
3838
|
+
</xsl:when>
|
3839
|
+
<xsl:otherwise>
|
3840
|
+
<xsl:variable name="type" select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]/@type"/>
|
3841
|
+
<xsl:if test="$type != ''">
|
3842
|
+
<xsl:value-of select="$type"/><xsl:text> </xsl:text>
|
3843
|
+
</xsl:if>
|
3844
|
+
<xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]"/>
|
3845
|
+
</xsl:otherwise>
|
3846
|
+
</xsl:choose>
|
3490
3847
|
</xsl:template><xsl:template name="processPersonalAuthor">
|
3491
3848
|
<xsl:choose>
|
3492
3849
|
<xsl:when test="*[local-name() = 'name']/*[local-name() = 'completename']">
|