metanorma-iho 0.2.1 → 0.2.6
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/.github/workflows/rake.yml +62 -0
- data/lib/asciidoctor/iho/basicdoc.rng +23 -0
- data/lib/asciidoctor/iho/converter.rb +12 -4
- data/lib/asciidoctor/iho/iho.rng +37 -6
- data/lib/asciidoctor/iho/isodoc.rng +125 -58
- data/lib/isodoc/iho/base_convert.rb +121 -1
- data/lib/isodoc/iho/html/htmlstyle.css +5 -1
- data/lib/isodoc/iho/html/iho.css +16 -4
- data/lib/isodoc/iho/html/iho.scss +18 -4
- data/lib/isodoc/iho/html_convert.rb +1 -0
- data/lib/isodoc/iho/i18n-en.yaml +2 -0
- data/lib/isodoc/iho/iho.specification.xsl +1049 -239
- data/lib/isodoc/iho/iho.standard.xsl +1049 -239
- data/lib/isodoc/iho/init.rb +3 -1
- data/lib/isodoc/iho/metadata.rb +0 -8
- data/lib/isodoc/iho/word_convert.rb +1 -0
- data/lib/isodoc/iho/xref.rb +11 -1
- data/lib/metanorma/iho/version.rb +1 -1
- data/metanorma-iho.gemspec +1 -2
- data/metanorma.yml +1 -0
- metadata +6 -21
- data/.github/workflows/macos.yml +0 -41
- data/.github/workflows/ubuntu.yml +0 -45
- data/.github/workflows/windows.yml +0 -43
@@ -12,9 +12,129 @@ module IsoDoc
|
|
12
12
|
|
13
13
|
def info(isoxml, out)
|
14
14
|
@meta.series isoxml, out
|
15
|
-
@meta.commentperiod isoxml, out
|
16
15
|
super
|
17
16
|
end
|
17
|
+
|
18
|
+
def std_bibitem_entry(list, b, ordinal, biblio)
|
19
|
+
list.p **attr_code(iso_bibitem_entry_attrs(b, biblio)) do |ref|
|
20
|
+
prefix_bracketed_ref(ref, "[#{ordinal}]")
|
21
|
+
standard_citation(ref, b)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def nodes_to_span(n)
|
26
|
+
noko do |xml|
|
27
|
+
xml.span do |s|
|
28
|
+
n&.children&.each { |x| parse(x, s) }
|
29
|
+
end
|
30
|
+
end.join("")
|
31
|
+
end
|
32
|
+
|
33
|
+
def multiplenames_and(names)
|
34
|
+
return "" if names.length == 0
|
35
|
+
return names[0] if names.length == 1
|
36
|
+
return "#{names[0]} and #{names[1]}" if names.length == 2
|
37
|
+
names[0..-2].join(", ") + " and #{names[-1]}"
|
38
|
+
end
|
39
|
+
|
40
|
+
def extract_publisher(b)
|
41
|
+
c = b.xpath(ns("./contributor[role/@type = 'publisher'][organization]"))
|
42
|
+
abbrs = []
|
43
|
+
names = []
|
44
|
+
c&.each do |c1|
|
45
|
+
n = c1.at(ns("./organization/name")) or next
|
46
|
+
abbrs << (c1.at(ns("./organization/abbreviation")) || n)
|
47
|
+
names << nodes_to_span(n)
|
48
|
+
end
|
49
|
+
return [nil, nil] if names.empty?
|
50
|
+
return [multiplenames_and(names), (abbrs.map { |x| x.text }).join("/")]
|
51
|
+
end
|
52
|
+
|
53
|
+
def inline_bibitem_ref_code(b)
|
54
|
+
id = b.at(ns("./docidentifier[not(@type = 'DOI' or @type = 'metanorma' "\
|
55
|
+
"or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]"))
|
56
|
+
id ||= b.at(ns("./docidentifier[not(@type = 'metanorma')]"))
|
57
|
+
return [nil, id, nil] if id
|
58
|
+
id = Nokogiri::XML::Node.new("docidentifier", b.document)
|
59
|
+
id << "(NO ID)"
|
60
|
+
[nil, id, nil]
|
61
|
+
end
|
62
|
+
|
63
|
+
def extract_edition(b)
|
64
|
+
b&.at(ns("./edition"))&.text
|
65
|
+
end
|
66
|
+
|
67
|
+
def extract_uri(b)
|
68
|
+
b.at(ns("./uri"))
|
69
|
+
end
|
70
|
+
|
71
|
+
def omit_docid_prefix(prefix)
|
72
|
+
return true if prefix == "IHO"
|
73
|
+
super
|
74
|
+
end
|
75
|
+
|
76
|
+
def render_identifier(id)
|
77
|
+
if !id[1].nil? and id[1]["type"] == "IHO"
|
78
|
+
id[1].children = id[1].text.sub(/^IHO /, "")
|
79
|
+
end
|
80
|
+
super
|
81
|
+
end
|
82
|
+
|
83
|
+
def extract_publisher(b)
|
84
|
+
c = b.xpath(ns("./contributor[role/@type = 'publisher'][organization]"))
|
85
|
+
abbrs = []
|
86
|
+
names = []
|
87
|
+
c&.each do |c1|
|
88
|
+
n = c1.at(ns("./organization/name")) or next
|
89
|
+
abbrs << (c1.at(ns("./organization/abbreviation")) || n)
|
90
|
+
names << nodes_to_span(n)
|
91
|
+
end
|
92
|
+
return [nil, nil] if names.empty?
|
93
|
+
return [multiplenames_and(names), (abbrs.map { |x| x.text }).join("/")]
|
94
|
+
end
|
95
|
+
|
96
|
+
def extract_author(b)
|
97
|
+
c = b.xpath(ns("./contributor[role/@type = 'author']"))
|
98
|
+
c = b.xpath(ns("./contributor[role/@type = 'editor']")) if c.empty?
|
99
|
+
return extract_publisher(b)[0] if c.empty?
|
100
|
+
c.map do |c1|
|
101
|
+
c1&.at(ns("./organization/name"))&.text || extract_person_name(c1)
|
102
|
+
end.reject { |e| e.nil? || e.empty? }.join(", ")
|
103
|
+
end
|
104
|
+
|
105
|
+
def extract_person_name(b)
|
106
|
+
p = b.at(ns("./person/name")) or return
|
107
|
+
c = p.at(ns("./completename")) and return c.text
|
108
|
+
s = p&.at(ns("./surname"))&.text or return
|
109
|
+
i = p.xpath(ns("./initial")) and
|
110
|
+
front = i.map { |e| e.text.gsub(/[^[:upper:]]/, "") }.join("")
|
111
|
+
i.empty? and f = p.xpath(ns("./forename")) and
|
112
|
+
front = f.map { |e| e.text[0].upcase }.join("")
|
113
|
+
front ? "#{s} #{front}" : s
|
114
|
+
end
|
115
|
+
|
116
|
+
def is_iho?(b)
|
117
|
+
extract_publisher(b)[1] == "IHO"
|
118
|
+
end
|
119
|
+
|
120
|
+
# [{number}] {docID} edition {edition}: {title}, {author/organization}
|
121
|
+
def standard_citation(out, b)
|
122
|
+
if ftitle = b.at(ns("./formattedref"))
|
123
|
+
ftitle&.children&.each { |n| parse(n, out) }
|
124
|
+
else
|
125
|
+
id = render_identifier(inline_bibitem_ref_code(b))
|
126
|
+
out << id[1] if id[1]
|
127
|
+
ed = extract_edition(b) if is_iho?(b)
|
128
|
+
out << " edition #{ed}" if ed
|
129
|
+
out << ": " if id[1] || ed
|
130
|
+
iso_title(b)&.children&.each { |n| parse(n, out) }
|
131
|
+
out << ", "
|
132
|
+
author = extract_author(b)
|
133
|
+
out << author
|
134
|
+
u = extract_uri(b)
|
135
|
+
out << " (<a href='#{u.text}'>#{u.text}</a>)" if u
|
136
|
+
end
|
137
|
+
end
|
18
138
|
end
|
19
139
|
end
|
20
140
|
end
|
@@ -16,7 +16,7 @@ fieldset, form, label, legend,
|
|
16
16
|
table, caption, tbody, tfoot, thead, tr, th, td,
|
17
17
|
article, aside, canvas, details, embed,
|
18
18
|
figure, figcaption, footer, header, hgroup,
|
19
|
-
menu,
|
19
|
+
menu, output, ruby, section, summary,
|
20
20
|
time, mark, audio, video {
|
21
21
|
margin: 0;
|
22
22
|
padding: 0; }
|
@@ -111,6 +111,10 @@ b, strong {
|
|
111
111
|
div.document-stage-band, div.document-type-band {
|
112
112
|
background-color: #333333; }
|
113
113
|
|
114
|
+
a.FootnoteRef + a.FootnoteRef:before {
|
115
|
+
content: ", ";
|
116
|
+
vertical-align: super; }
|
117
|
+
|
114
118
|
#standard-band {
|
115
119
|
background-color: #0AC442; }
|
116
120
|
|
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
|
@@ -111,6 +111,10 @@
|
|
111
111
|
|
112
112
|
<xsl:call-template name="addPDFUAmeta"/>
|
113
113
|
|
114
|
+
<xsl:call-template name="addBookmarks">
|
115
|
+
<xsl:with-param name="contents" select="$contents"/>
|
116
|
+
</xsl:call-template>
|
117
|
+
|
114
118
|
<!-- =========================== -->
|
115
119
|
<!-- Cover Page -->
|
116
120
|
<fo:page-sequence master-reference="cover">
|
@@ -217,7 +221,7 @@
|
|
217
221
|
<xsl:text disable-output-escaping="yes">--></xsl:text>
|
218
222
|
</xsl:if>
|
219
223
|
|
220
|
-
<xsl:for-each select="xalan:nodeset($contents)//item"><!-- [not(@level = 2 and starts-with(@section, '0'))] skip clause from preface -->
|
224
|
+
<xsl:for-each select="xalan:nodeset($contents)//item[@display = 'true']"><!-- [not(@level = 2 and starts-with(@section, '0'))] skip clause from preface -->
|
221
225
|
<fo:block>
|
222
226
|
<xsl:if test="@level = 1">
|
223
227
|
<xsl:attribute name="margin-top">6pt</xsl:attribute>
|
@@ -243,8 +247,8 @@
|
|
243
247
|
</fo:list-item-label>
|
244
248
|
<fo:list-item-body start-indent="body-start()">
|
245
249
|
<fo:block text-align-last="justify" margin-left="12mm" text-indent="-12mm">
|
246
|
-
<fo:basic-link internal-destination="{@id}" fox:alt-text="{
|
247
|
-
<xsl:apply-templates/>
|
250
|
+
<fo:basic-link internal-destination="{@id}" fox:alt-text="{title}">
|
251
|
+
<xsl:apply-templates select="title"/>
|
248
252
|
<fo:inline keep-together.within-line="always">
|
249
253
|
<fo:leader font-size="9pt" font-weight="normal" leader-pattern="dots"/>
|
250
254
|
<fo:inline><fo:page-number-citation ref-id="{@id}"/></fo:inline>
|
@@ -361,15 +365,21 @@
|
|
361
365
|
</xsl:variable>
|
362
366
|
|
363
367
|
<xsl:variable name="display">
|
364
|
-
<xsl:choose>
|
365
|
-
<xsl:when test="ancestor-or-self::iho:bibitem">false</xsl:when>
|
366
|
-
<xsl:when test="ancestor-or-self::iho:term">false</xsl:when>
|
368
|
+
<xsl:choose>
|
367
369
|
<xsl:when test="$level <= 2">true</xsl:when>
|
368
370
|
<xsl:otherwise>false</xsl:otherwise>
|
369
371
|
</xsl:choose>
|
370
372
|
</xsl:variable>
|
371
373
|
|
372
|
-
<xsl:
|
374
|
+
<xsl:variable name="skip">
|
375
|
+
<xsl:choose>
|
376
|
+
<xsl:when test="ancestor-or-self::iho:bibitem">true</xsl:when>
|
377
|
+
<xsl:when test="ancestor-or-self::iho:term">true</xsl:when>
|
378
|
+
<xsl:otherwise>false</xsl:otherwise>
|
379
|
+
</xsl:choose>
|
380
|
+
</xsl:variable>
|
381
|
+
|
382
|
+
<xsl:if test="$skip = 'false'">
|
373
383
|
|
374
384
|
<xsl:variable name="section">
|
375
385
|
<xsl:call-template name="getSection"/>
|
@@ -388,10 +398,13 @@
|
|
388
398
|
<xsl:if test="ancestor-or-self::iho:annex">annex</xsl:if>
|
389
399
|
</xsl:variable>
|
390
400
|
|
391
|
-
<item id="{@id}" level="{$level}" section="{$section}" type="{$type}" root="{$root}">
|
392
|
-
<
|
401
|
+
<item id="{@id}" level="{$level}" section="{$section}" type="{$type}" root="{$root}" display="{$display}">
|
402
|
+
<title>
|
403
|
+
<xsl:apply-templates select="xalan:nodeset($title)" mode="contents_item"/>
|
404
|
+
</title>
|
405
|
+
<xsl:apply-templates mode="contents"/>
|
393
406
|
</item>
|
394
|
-
|
407
|
+
|
395
408
|
</xsl:if>
|
396
409
|
|
397
410
|
</xsl:template>
|
@@ -608,7 +621,7 @@
|
|
608
621
|
</xsl:template>
|
609
622
|
|
610
623
|
|
611
|
-
<xsl:template match="iho:ul | iho:ol">
|
624
|
+
<xsl:template match="iho:ul | iho:ol" mode="ul_ol">
|
612
625
|
<fo:list-block provisional-distance-between-starts="6mm">
|
613
626
|
<xsl:apply-templates/>
|
614
627
|
</fo:list-block>
|
@@ -624,13 +637,16 @@
|
|
624
637
|
<xsl:apply-templates mode="process"/>
|
625
638
|
</fo:block>
|
626
639
|
</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">
|
640
|
+
<xsl:template match="iho:ul//iho:note/iho:name | iho:ol//iho:note/iho:name" mode="process" priority="2"/>
|
641
|
+
<xsl:template match="iho:ul//iho:note/iho:p | iho:ol//iho:note/iho:p" mode="process" priority="2">
|
629
642
|
<fo:block font-size="11pt" margin-top="4pt">
|
630
643
|
<xsl:apply-templates/>
|
631
644
|
</fo:block>
|
632
645
|
</xsl:template>
|
633
646
|
|
647
|
+
<xsl:template match="iho:ul//iho:note/* | iho:ol//iho:note/*" mode="process">
|
648
|
+
<xsl:apply-templates select="."/>
|
649
|
+
</xsl:template>
|
634
650
|
|
635
651
|
|
636
652
|
<xsl:template match="iho:li">
|
@@ -690,7 +706,13 @@
|
|
690
706
|
</fo:block>
|
691
707
|
</xsl:template>
|
692
708
|
|
693
|
-
|
709
|
+
|
710
|
+
<!-- IHO documents:
|
711
|
+
"[1] S57 edition 3.1: IHO Transfer Standard for Digital Hydrographic Data, International Hydrographic Organization (www.iho.int)”
|
712
|
+
[{number}] {docID} edition {edition}: {title}, {author/organization}
|
713
|
+
|
714
|
+
Non-IHO documents:
|
715
|
+
Provide title and publisher -->
|
694
716
|
<xsl:template match="iho:bibitem">
|
695
717
|
<fo:list-block margin-bottom="12pt" provisional-distance-between-starts="12mm" line-height="115%">
|
696
718
|
<fo:list-item>
|
@@ -703,38 +725,34 @@
|
|
703
725
|
</fo:list-item-label>
|
704
726
|
<fo:list-item-body start-indent="body-start()">
|
705
727
|
<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"/>
|
728
|
+
<xsl:call-template name="processBibitem"/>
|
726
729
|
</fo:block>
|
727
730
|
</fo:list-item-body>
|
728
731
|
</fo:list-item>
|
729
732
|
</fo:list-block>
|
730
733
|
</xsl:template>
|
731
734
|
|
735
|
+
<xsl:template match="iho:bibitem/iho:edition">
|
736
|
+
<xsl:text> edition </xsl:text>
|
737
|
+
<xsl:value-of select="."/>
|
738
|
+
</xsl:template>
|
739
|
+
|
732
740
|
<xsl:template match="iho:bibitem/iho:title">
|
733
741
|
<fo:inline font-style="italic">
|
734
742
|
<xsl:apply-templates/>
|
735
743
|
</fo:inline>
|
736
744
|
</xsl:template>
|
737
745
|
|
746
|
+
<xsl:template match="iho:bibitem/iho:uri">
|
747
|
+
<xsl:text> (</xsl:text>
|
748
|
+
<fo:inline xsl:use-attribute-sets="link-style">
|
749
|
+
<fo:basic-link external-destination="." fox:alt-text=".">
|
750
|
+
<xsl:value-of select="."/>
|
751
|
+
</fo:basic-link>
|
752
|
+
</fo:inline>
|
753
|
+
<xsl:text>)</xsl:text>
|
754
|
+
</xsl:template>
|
755
|
+
|
738
756
|
<xsl:template match="iho:bibitem/iho:note" priority="2">
|
739
757
|
<fo:footnote>
|
740
758
|
<xsl:variable name="number">
|
@@ -949,6 +967,12 @@
|
|
949
967
|
|
950
968
|
</title-edition>
|
951
969
|
|
970
|
+
<title-edition lang="fr">
|
971
|
+
|
972
|
+
<xsl:text>Édition </xsl:text>
|
973
|
+
|
974
|
+
</title-edition>
|
975
|
+
|
952
976
|
|
953
977
|
<title-toc lang="en">
|
954
978
|
|
@@ -957,7 +981,12 @@
|
|
957
981
|
|
958
982
|
|
959
983
|
</title-toc>
|
960
|
-
<title-toc lang="fr">
|
984
|
+
<title-toc lang="fr">
|
985
|
+
|
986
|
+
<xsl:text>Sommaire</xsl:text>
|
987
|
+
|
988
|
+
|
989
|
+
</title-toc>
|
961
990
|
|
962
991
|
<title-toc lang="zh">Contents</title-toc>
|
963
992
|
|
@@ -991,7 +1020,12 @@
|
|
991
1020
|
|
992
1021
|
|
993
1022
|
|
994
|
-
<title-source lang="en">
|
1023
|
+
<title-source lang="en">
|
1024
|
+
|
1025
|
+
<xsl:text>SOURCE</xsl:text>
|
1026
|
+
|
1027
|
+
|
1028
|
+
</title-source>
|
995
1029
|
|
996
1030
|
<title-keywords lang="en">Keywords</title-keywords>
|
997
1031
|
|
@@ -1034,12 +1068,25 @@
|
|
1034
1068
|
<title-warning lang="zh">警告</title-warning>
|
1035
1069
|
|
1036
1070
|
<title-amendment lang="en">AMENDMENT</title-amendment>
|
1071
|
+
|
1072
|
+
<title-continued lang="en">(continued)</title-continued>
|
1073
|
+
<title-continued lang="fr">(continué)</title-continued>
|
1074
|
+
|
1037
1075
|
</xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:template name="getTitle">
|
1038
1076
|
<xsl:param name="name"/>
|
1039
|
-
<xsl:
|
1040
|
-
|
1077
|
+
<xsl:param name="lang"/>
|
1078
|
+
<xsl:variable name="lang_">
|
1079
|
+
<xsl:choose>
|
1080
|
+
<xsl:when test="$lang != ''">
|
1081
|
+
<xsl:value-of select="$lang"/>
|
1082
|
+
</xsl:when>
|
1083
|
+
<xsl:otherwise>
|
1084
|
+
<xsl:call-template name="getLang"/>
|
1085
|
+
</xsl:otherwise>
|
1086
|
+
</xsl:choose>
|
1041
1087
|
</xsl:variable>
|
1042
|
-
<xsl:variable name="
|
1088
|
+
<xsl:variable name="language" select="normalize-space($lang_)"/>
|
1089
|
+
<xsl:variable name="title_" select="$titles/*[local-name() = $name][@lang = $language]"/>
|
1043
1090
|
<xsl:choose>
|
1044
1091
|
<xsl:when test="normalize-space($title_) != ''">
|
1045
1092
|
<xsl:value-of select="$title_"/>
|
@@ -1048,12 +1095,15 @@
|
|
1048
1095
|
<xsl:value-of select="$titles/*[local-name() = $name][@lang = 'en']"/>
|
1049
1096
|
</xsl:otherwise>
|
1050
1097
|
</xsl:choose>
|
1051
|
-
</xsl:template><xsl:variable name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable><xsl:variable name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable><xsl:variable name="en_chars" select="concat($lower,$upper,',.`1234567890-=~!@#$%^*()_+[]{}\|?/')"/><xsl:variable name="linebreak" select="'
'"/><xsl:attribute-set name="
|
1098
|
+
</xsl:template><xsl:variable name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable><xsl:variable name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable><xsl:variable name="en_chars" select="concat($lower,$upper,',.`1234567890-=~!@#$%^*()_+[]{}\|?/')"/><xsl:variable name="linebreak" select="'
'"/><xsl:attribute-set name="root-style">
|
1099
|
+
|
1100
|
+
</xsl:attribute-set><xsl:attribute-set name="link-style">
|
1052
1101
|
|
1053
1102
|
<xsl:attribute name="color">blue</xsl:attribute>
|
1054
1103
|
<xsl:attribute name="text-decoration">underline</xsl:attribute>
|
1055
1104
|
|
1056
1105
|
|
1106
|
+
|
1057
1107
|
</xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
|
1058
1108
|
<xsl:attribute name="white-space">pre</xsl:attribute>
|
1059
1109
|
<xsl:attribute name="wrap-option">wrap</xsl:attribute>
|
@@ -1065,8 +1115,8 @@
|
|
1065
1115
|
|
1066
1116
|
|
1067
1117
|
|
1068
|
-
|
1069
|
-
<xsl:attribute name="font-
|
1118
|
+
|
1119
|
+
<xsl:attribute name="font-family">SFMono-Regular</xsl:attribute>
|
1070
1120
|
<xsl:attribute name="margin-bottom">6pt</xsl:attribute>
|
1071
1121
|
<xsl:attribute name="keep-with-next">always</xsl:attribute>
|
1072
1122
|
<xsl:attribute name="line-height">113%</xsl:attribute>
|
@@ -1121,6 +1171,7 @@
|
|
1121
1171
|
|
1122
1172
|
|
1123
1173
|
|
1174
|
+
|
1124
1175
|
</xsl:attribute-set><xsl:attribute-set name="example-body-style">
|
1125
1176
|
|
1126
1177
|
|
@@ -1142,6 +1193,7 @@
|
|
1142
1193
|
|
1143
1194
|
|
1144
1195
|
|
1196
|
+
|
1145
1197
|
|
1146
1198
|
|
1147
1199
|
|
@@ -1188,6 +1240,7 @@
|
|
1188
1240
|
|
1189
1241
|
|
1190
1242
|
|
1243
|
+
|
1191
1244
|
</xsl:attribute-set><xsl:attribute-set name="appendix-style">
|
1192
1245
|
|
1193
1246
|
|
@@ -1201,11 +1254,13 @@
|
|
1201
1254
|
|
1202
1255
|
<xsl:attribute name="color">blue</xsl:attribute>
|
1203
1256
|
<xsl:attribute name="text-decoration">underline</xsl:attribute>
|
1204
|
-
|
1257
|
+
|
1258
|
+
|
1205
1259
|
</xsl:attribute-set><xsl:attribute-set name="eref-style">
|
1206
1260
|
|
1207
1261
|
|
1208
1262
|
|
1263
|
+
|
1209
1264
|
</xsl:attribute-set><xsl:attribute-set name="note-style">
|
1210
1265
|
|
1211
1266
|
|
@@ -1226,8 +1281,7 @@
|
|
1226
1281
|
|
1227
1282
|
|
1228
1283
|
|
1229
|
-
|
1230
|
-
</xsl:attribute-set><xsl:attribute-set name="note-name-style">
|
1284
|
+
</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
1285
|
|
1232
1286
|
|
1233
1287
|
|
@@ -1239,7 +1293,9 @@
|
|
1239
1293
|
|
1240
1294
|
|
1241
1295
|
|
1242
|
-
|
1296
|
+
|
1297
|
+
|
1298
|
+
|
1243
1299
|
|
1244
1300
|
</xsl:attribute-set><xsl:attribute-set name="note-p-style">
|
1245
1301
|
|
@@ -1269,6 +1325,8 @@
|
|
1269
1325
|
|
1270
1326
|
|
1271
1327
|
|
1328
|
+
</xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
|
1329
|
+
|
1272
1330
|
</xsl:attribute-set><xsl:attribute-set name="quote-style">
|
1273
1331
|
|
1274
1332
|
|
@@ -1299,6 +1357,7 @@
|
|
1299
1357
|
<xsl:attribute name="color">blue</xsl:attribute>
|
1300
1358
|
<xsl:attribute name="text-decoration">underline</xsl:attribute>
|
1301
1359
|
|
1360
|
+
|
1302
1361
|
</xsl:attribute-set><xsl:attribute-set name="term-style">
|
1303
1362
|
|
1304
1363
|
<xsl:attribute name="margin-bottom">10pt</xsl:attribute>
|
@@ -1310,6 +1369,7 @@
|
|
1310
1369
|
|
1311
1370
|
|
1312
1371
|
|
1372
|
+
|
1313
1373
|
<xsl:attribute name="font-size">11pt</xsl:attribute>
|
1314
1374
|
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
1315
1375
|
<xsl:attribute name="text-align">center</xsl:attribute>
|
@@ -1351,14 +1411,16 @@
|
|
1351
1411
|
</xsl:attribute-set><xsl:attribute-set name="tt-style">
|
1352
1412
|
|
1353
1413
|
|
1354
|
-
<xsl:attribute name="font-family">Courier</xsl:attribute>
|
1355
|
-
|
1414
|
+
<xsl:attribute name="font-family">Courier</xsl:attribute>
|
1415
|
+
|
1356
1416
|
|
1357
1417
|
</xsl:attribute-set><xsl:attribute-set name="sourcecode-name-style">
|
1358
1418
|
<xsl:attribute name="font-size">11pt</xsl:attribute>
|
1359
1419
|
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
1360
1420
|
<xsl:attribute name="text-align">center</xsl:attribute>
|
1361
1421
|
<xsl:attribute name="margin-bottom">12pt</xsl:attribute>
|
1422
|
+
<xsl:attribute name="keep-with-previous">always</xsl:attribute>
|
1423
|
+
|
1362
1424
|
</xsl:attribute-set><xsl:attribute-set name="domain-style">
|
1363
1425
|
|
1364
1426
|
</xsl:attribute-set><xsl:attribute-set name="admitted-style">
|
@@ -1424,6 +1486,10 @@
|
|
1424
1486
|
|
1425
1487
|
|
1426
1488
|
|
1489
|
+
|
1490
|
+
|
1491
|
+
<!-- $namespace = 'iso' or -->
|
1492
|
+
|
1427
1493
|
<xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
|
1428
1494
|
|
1429
1495
|
|
@@ -1459,6 +1525,7 @@
|
|
1459
1525
|
<xsl:with-param name="table" select="$simple-table"/>
|
1460
1526
|
</xsl:call-template>
|
1461
1527
|
</xsl:variable>
|
1528
|
+
<!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
|
1462
1529
|
|
1463
1530
|
<!-- <xsl:variable name="colwidths2">
|
1464
1531
|
<xsl:call-template name="calculate-column-widths">
|
@@ -1480,9 +1547,12 @@
|
|
1480
1547
|
<fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
|
1481
1548
|
|
1482
1549
|
|
1550
|
+
|
1551
|
+
|
1552
|
+
|
1483
1553
|
|
1484
1554
|
|
1485
|
-
|
1555
|
+
|
1486
1556
|
|
1487
1557
|
|
1488
1558
|
|
@@ -1491,21 +1561,42 @@
|
|
1491
1561
|
<xsl:attribute name="margin-right">0mm</xsl:attribute>
|
1492
1562
|
|
1493
1563
|
|
1494
|
-
|
1495
|
-
|
1496
|
-
|
1497
|
-
|
1564
|
+
|
1565
|
+
|
1566
|
+
|
1567
|
+
<xsl:variable name="table_attributes">
|
1568
|
+
<attribute name="table-layout">fixed</attribute>
|
1569
|
+
<attribute name="width">100%</attribute>
|
1570
|
+
<attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
|
1571
|
+
<attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
|
1498
1572
|
|
1499
1573
|
|
1500
1574
|
|
1501
1575
|
|
1576
|
+
|
1577
|
+
|
1578
|
+
|
1579
|
+
|
1580
|
+
<attribute name="margin-left">0mm</attribute>
|
1581
|
+
<attribute name="margin-right">0mm</attribute>
|
1502
1582
|
|
1583
|
+
|
1503
1584
|
|
1585
|
+
</xsl:variable>
|
1586
|
+
|
1587
|
+
|
1588
|
+
<fo:table id="{@id}" table-omit-footer-at-break="true">
|
1504
1589
|
|
1505
|
-
|
1506
|
-
<xsl:attribute name="
|
1507
|
-
|
1590
|
+
<xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
|
1591
|
+
<xsl:attribute name="{@name}">
|
1592
|
+
<xsl:value-of select="."/>
|
1593
|
+
</xsl:attribute>
|
1594
|
+
</xsl:for-each>
|
1508
1595
|
|
1596
|
+
<xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or .//*[local-name()='fn'][local-name(..) != 'name']"/>
|
1597
|
+
<xsl:if test="$isNoteOrFnExist = 'true'">
|
1598
|
+
<xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
|
1599
|
+
</xsl:if>
|
1509
1600
|
|
1510
1601
|
<xsl:for-each select="xalan:nodeset($colwidths)//column">
|
1511
1602
|
<xsl:choose>
|
@@ -1529,6 +1620,33 @@
|
|
1529
1620
|
|
1530
1621
|
</fo:table>
|
1531
1622
|
|
1623
|
+
<xsl:for-each select="*[local-name()='tbody']"><!-- select context to tbody -->
|
1624
|
+
<xsl:call-template name="insertTableFooterInSeparateTable">
|
1625
|
+
<xsl:with-param name="table_attributes" select="$table_attributes"/>
|
1626
|
+
<xsl:with-param name="colwidths" select="$colwidths"/>
|
1627
|
+
</xsl:call-template>
|
1628
|
+
</xsl:for-each>
|
1629
|
+
|
1630
|
+
<!-- insert footer as table -->
|
1631
|
+
<!-- <fo:table>
|
1632
|
+
<xsl:for-each select="xalan::nodeset($table_attributes)/attribute">
|
1633
|
+
<xsl:attribute name="{@name}">
|
1634
|
+
<xsl:value-of select="."/>
|
1635
|
+
</xsl:attribute>
|
1636
|
+
</xsl:for-each>
|
1637
|
+
|
1638
|
+
<xsl:for-each select="xalan:nodeset($colwidths)//column">
|
1639
|
+
<xsl:choose>
|
1640
|
+
<xsl:when test=". = 1 or . = 0">
|
1641
|
+
<fo:table-column column-width="proportional-column-width(2)"/>
|
1642
|
+
</xsl:when>
|
1643
|
+
<xsl:otherwise>
|
1644
|
+
<fo:table-column column-width="proportional-column-width({.})"/>
|
1645
|
+
</xsl:otherwise>
|
1646
|
+
</xsl:choose>
|
1647
|
+
</xsl:for-each>
|
1648
|
+
</fo:table>-->
|
1649
|
+
|
1532
1650
|
|
1533
1651
|
|
1534
1652
|
|
@@ -1537,8 +1655,9 @@
|
|
1537
1655
|
</xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']"/><xsl:template match="*[local-name()='table']/*[local-name() = 'name']" mode="presentation">
|
1538
1656
|
<xsl:if test="normalize-space() != ''">
|
1539
1657
|
<fo:block xsl:use-attribute-sets="table-name-style">
|
1540
|
-
|
1541
|
-
|
1658
|
+
|
1659
|
+
<xsl:apply-templates/>
|
1660
|
+
</fo:block>
|
1542
1661
|
</xsl:if>
|
1543
1662
|
</xsl:template><xsl:template name="calculate-columns-numbers">
|
1544
1663
|
<xsl:param name="table-row"/>
|
@@ -1592,6 +1711,13 @@
|
|
1592
1711
|
<xsl:for-each select="xalan:nodeset($table)//tr">
|
1593
1712
|
<xsl:variable name="td_text">
|
1594
1713
|
<xsl:apply-templates select="td[$curr-col]" mode="td_text"/>
|
1714
|
+
|
1715
|
+
<!-- <xsl:if test="$namespace = 'bipm'">
|
1716
|
+
<xsl:for-each select="*[local-name()='td'][$curr-col]//*[local-name()='math']">
|
1717
|
+
<word><xsl:value-of select="normalize-space(.)"/></word>
|
1718
|
+
</xsl:for-each>
|
1719
|
+
</xsl:if> -->
|
1720
|
+
|
1595
1721
|
</xsl:variable>
|
1596
1722
|
<xsl:variable name="words">
|
1597
1723
|
<xsl:variable name="string_with_added_zerospaces">
|
@@ -1651,13 +1777,31 @@
|
|
1651
1777
|
<xsl:value-of select="*[local-name()='origin']/@citeas"/>
|
1652
1778
|
</xsl:template><xsl:template match="*[local-name()='link']" mode="td_text">
|
1653
1779
|
<xsl:value-of select="@target"/>
|
1780
|
+
</xsl:template><xsl:template match="*[local-name()='math']" mode="td_text">
|
1781
|
+
<xsl:variable name="math_text" select="normalize-space(.)"/>
|
1782
|
+
<xsl:value-of select="translate($math_text, ' ', '#')"/><!-- mathml images as one 'word' without spaces -->
|
1654
1783
|
</xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
|
1655
1784
|
<xsl:param name="cols-count"/>
|
1656
1785
|
<!-- font-weight="bold" -->
|
1657
|
-
<fo:table-header>
|
1786
|
+
<fo:table-header>
|
1658
1787
|
|
1659
1788
|
<xsl:apply-templates/>
|
1660
1789
|
</fo:table-header>
|
1790
|
+
</xsl:template><xsl:template name="table-header-title">
|
1791
|
+
<xsl:param name="cols-count"/>
|
1792
|
+
<!-- row for title -->
|
1793
|
+
<fo:table-row>
|
1794
|
+
<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">
|
1795
|
+
<xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']" mode="presentation"/>
|
1796
|
+
<xsl:for-each select="ancestor::*[local-name()='table'][1]">
|
1797
|
+
<xsl:call-template name="fn_name_display"/>
|
1798
|
+
</xsl:for-each>
|
1799
|
+
<fo:block text-align="right" font-style="italic">
|
1800
|
+
<xsl:text> </xsl:text>
|
1801
|
+
<fo:retrieve-table-marker retrieve-class-name="table_continued"/>
|
1802
|
+
</fo:block>
|
1803
|
+
</fo:table-cell>
|
1804
|
+
</fo:table-row>
|
1661
1805
|
</xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
|
1662
1806
|
<fo:table-body>
|
1663
1807
|
<xsl:apply-templates/>
|
@@ -1665,6 +1809,13 @@
|
|
1665
1809
|
</xsl:template><xsl:template match="*[local-name()='tfoot']"/><xsl:template match="*[local-name()='tfoot']" mode="process">
|
1666
1810
|
<xsl:apply-templates/>
|
1667
1811
|
</xsl:template><xsl:template name="insertTableFooter">
|
1812
|
+
<xsl:param name="cols-count"/>
|
1813
|
+
<xsl:if test="../*[local-name()='tfoot']">
|
1814
|
+
<fo:table-footer>
|
1815
|
+
<xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/>
|
1816
|
+
</fo:table-footer>
|
1817
|
+
</xsl:if>
|
1818
|
+
</xsl:template><xsl:template name="insertTableFooter2">
|
1668
1819
|
<xsl:param name="cols-count"/>
|
1669
1820
|
<xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
|
1670
1821
|
<xsl:if test="../*[local-name()='tfoot'] or $isNoteOrFnExist = 'true'">
|
@@ -1686,11 +1837,29 @@
|
|
1686
1837
|
<!-- fn will be processed inside 'note' processing -->
|
1687
1838
|
|
1688
1839
|
|
1840
|
+
|
1841
|
+
|
1842
|
+
|
1843
|
+
|
1689
1844
|
<!-- except gb -->
|
1690
1845
|
|
1691
1846
|
<xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
|
1692
1847
|
|
1693
1848
|
|
1849
|
+
<!-- show Note under table in preface (ex. abstract) sections -->
|
1850
|
+
<!-- empty, because notes show at page side in main sections -->
|
1851
|
+
<!-- <xsl:if test="$namespace = 'bipm'">
|
1852
|
+
<xsl:choose>
|
1853
|
+
<xsl:when test="ancestor::*[local-name()='preface']">
|
1854
|
+
<xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
|
1855
|
+
</xsl:when>
|
1856
|
+
<xsl:otherwise>
|
1857
|
+
<fo:block/>
|
1858
|
+
</xsl:otherwise>
|
1859
|
+
</xsl:choose>
|
1860
|
+
</xsl:if> -->
|
1861
|
+
|
1862
|
+
|
1694
1863
|
<!-- horizontal row separator -->
|
1695
1864
|
|
1696
1865
|
|
@@ -1704,6 +1873,88 @@
|
|
1704
1873
|
</fo:table-footer>
|
1705
1874
|
|
1706
1875
|
</xsl:if>
|
1876
|
+
</xsl:template><xsl:template name="insertTableFooterInSeparateTable">
|
1877
|
+
<xsl:param name="table_attributes"/>
|
1878
|
+
<xsl:param name="colwidths"/>
|
1879
|
+
|
1880
|
+
<xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
|
1881
|
+
|
1882
|
+
<xsl:if test="$isNoteOrFnExist = 'true'">
|
1883
|
+
|
1884
|
+
<xsl:variable name="cols-count" select="count(xalan:nodeset($colwidths)//column)"/>
|
1885
|
+
|
1886
|
+
<fo:table keep-with-previous="always">
|
1887
|
+
<xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
|
1888
|
+
<xsl:choose>
|
1889
|
+
<xsl:when test="@name = 'border-top'">
|
1890
|
+
<xsl:attribute name="{@name}">0pt solid black</xsl:attribute>
|
1891
|
+
</xsl:when>
|
1892
|
+
<xsl:when test="@name = 'border'">
|
1893
|
+
<xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
|
1894
|
+
<xsl:attribute name="border-top">0pt solid black</xsl:attribute>
|
1895
|
+
</xsl:when>
|
1896
|
+
<xsl:otherwise>
|
1897
|
+
<xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
|
1898
|
+
</xsl:otherwise>
|
1899
|
+
</xsl:choose>
|
1900
|
+
</xsl:for-each>
|
1901
|
+
|
1902
|
+
<xsl:for-each select="xalan:nodeset($colwidths)//column">
|
1903
|
+
<xsl:choose>
|
1904
|
+
<xsl:when test=". = 1 or . = 0">
|
1905
|
+
<fo:table-column column-width="proportional-column-width(2)"/>
|
1906
|
+
</xsl:when>
|
1907
|
+
<xsl:otherwise>
|
1908
|
+
<fo:table-column column-width="proportional-column-width({.})"/>
|
1909
|
+
</xsl:otherwise>
|
1910
|
+
</xsl:choose>
|
1911
|
+
</xsl:for-each>
|
1912
|
+
|
1913
|
+
<fo:table-body>
|
1914
|
+
<fo:table-row>
|
1915
|
+
<fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
|
1916
|
+
|
1917
|
+
|
1918
|
+
|
1919
|
+
<!-- fn will be processed inside 'note' processing -->
|
1920
|
+
|
1921
|
+
|
1922
|
+
|
1923
|
+
|
1924
|
+
|
1925
|
+
|
1926
|
+
|
1927
|
+
<!-- except gb -->
|
1928
|
+
|
1929
|
+
<xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
|
1930
|
+
|
1931
|
+
|
1932
|
+
<!-- <xsl:if test="$namespace = 'bipm'">
|
1933
|
+
<xsl:choose>
|
1934
|
+
<xsl:when test="ancestor::*[local-name()='preface']">
|
1935
|
+
show Note under table in preface (ex. abstract) sections
|
1936
|
+
<xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
|
1937
|
+
</xsl:when>
|
1938
|
+
<xsl:otherwise>
|
1939
|
+
empty, because notes show at page side in main sections
|
1940
|
+
<fo:block/>
|
1941
|
+
</xsl:otherwise>
|
1942
|
+
</xsl:choose>
|
1943
|
+
</xsl:if> -->
|
1944
|
+
|
1945
|
+
|
1946
|
+
<!-- horizontal row separator -->
|
1947
|
+
|
1948
|
+
|
1949
|
+
<!-- fn processing -->
|
1950
|
+
<xsl:call-template name="fn_display"/>
|
1951
|
+
|
1952
|
+
</fo:table-cell>
|
1953
|
+
</fo:table-row>
|
1954
|
+
</fo:table-body>
|
1955
|
+
|
1956
|
+
</fo:table>
|
1957
|
+
</xsl:if>
|
1707
1958
|
</xsl:template><xsl:template match="*[local-name()='tbody']">
|
1708
1959
|
|
1709
1960
|
<xsl:variable name="cols-count">
|
@@ -1721,6 +1972,8 @@
|
|
1721
1972
|
</xsl:choose>
|
1722
1973
|
</xsl:variable>
|
1723
1974
|
|
1975
|
+
|
1976
|
+
|
1724
1977
|
<xsl:apply-templates select="../*[local-name()='thead']" mode="process">
|
1725
1978
|
<xsl:with-param name="cols-count" select="$cols-count"/>
|
1726
1979
|
</xsl:apply-templates>
|
@@ -1730,6 +1983,8 @@
|
|
1730
1983
|
</xsl:call-template>
|
1731
1984
|
|
1732
1985
|
<fo:table-body>
|
1986
|
+
|
1987
|
+
|
1733
1988
|
<xsl:apply-templates/>
|
1734
1989
|
<!-- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/> -->
|
1735
1990
|
|
@@ -1753,6 +2008,11 @@
|
|
1753
2008
|
</xsl:if>
|
1754
2009
|
|
1755
2010
|
|
2011
|
+
|
2012
|
+
<!-- <xsl:if test="$namespace = 'bipm'">
|
2013
|
+
<xsl:attribute name="height">8mm</xsl:attribute>
|
2014
|
+
</xsl:if> -->
|
2015
|
+
|
1756
2016
|
<xsl:apply-templates/>
|
1757
2017
|
</fo:table-row>
|
1758
2018
|
</xsl:template><xsl:template match="*[local-name()='th']">
|
@@ -1774,6 +2034,8 @@
|
|
1774
2034
|
|
1775
2035
|
|
1776
2036
|
|
2037
|
+
|
2038
|
+
|
1777
2039
|
<xsl:if test="@colspan">
|
1778
2040
|
<xsl:attribute name="number-columns-spanned">
|
1779
2041
|
<xsl:value-of select="@colspan"/>
|
@@ -1784,10 +2046,22 @@
|
|
1784
2046
|
<xsl:value-of select="@rowspan"/>
|
1785
2047
|
</xsl:attribute>
|
1786
2048
|
</xsl:if>
|
2049
|
+
<xsl:call-template name="display-align"/>
|
1787
2050
|
<fo:block>
|
1788
2051
|
<xsl:apply-templates/>
|
1789
2052
|
</fo:block>
|
1790
2053
|
</fo:table-cell>
|
2054
|
+
</xsl:template><xsl:template name="display-align">
|
2055
|
+
<xsl:if test="@valign">
|
2056
|
+
<xsl:attribute name="display-align">
|
2057
|
+
<xsl:choose>
|
2058
|
+
<xsl:when test="@valign = 'top'">before</xsl:when>
|
2059
|
+
<xsl:when test="@valign = 'middle'">center</xsl:when>
|
2060
|
+
<xsl:when test="@valign = 'bottom'">after</xsl:when>
|
2061
|
+
<xsl:otherwise>before</xsl:otherwise>
|
2062
|
+
</xsl:choose>
|
2063
|
+
</xsl:attribute>
|
2064
|
+
</xsl:if>
|
1791
2065
|
</xsl:template><xsl:template match="*[local-name()='td']">
|
1792
2066
|
<fo:table-cell text-align="{@align}" display-align="center" border="solid black 1pt" padding-left="1mm">
|
1793
2067
|
<xsl:attribute name="text-align">
|
@@ -1803,7 +2077,9 @@
|
|
1803
2077
|
|
1804
2078
|
|
1805
2079
|
|
1806
|
-
|
2080
|
+
|
2081
|
+
|
2082
|
+
|
1807
2083
|
|
1808
2084
|
|
1809
2085
|
|
@@ -1819,8 +2095,8 @@
|
|
1819
2095
|
<xsl:value-of select="@rowspan"/>
|
1820
2096
|
</xsl:attribute>
|
1821
2097
|
</xsl:if>
|
1822
|
-
<
|
1823
|
-
|
2098
|
+
<xsl:call-template name="display-align"/>
|
2099
|
+
<fo:block>
|
1824
2100
|
<xsl:apply-templates/>
|
1825
2101
|
</fo:block>
|
1826
2102
|
</fo:table-cell>
|
@@ -1834,6 +2110,8 @@
|
|
1834
2110
|
|
1835
2111
|
<xsl:attribute name="font-size">12pt</xsl:attribute>
|
1836
2112
|
|
2113
|
+
|
2114
|
+
|
1837
2115
|
<fo:inline padding-right="2mm">
|
1838
2116
|
|
1839
2117
|
|
@@ -1841,10 +2119,11 @@
|
|
1841
2119
|
<xsl:attribute name="padding-right">3mm</xsl:attribute>
|
1842
2120
|
|
1843
2121
|
|
1844
|
-
|
2122
|
+
|
1845
2123
|
<xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
|
1846
2124
|
|
1847
2125
|
</fo:inline>
|
2126
|
+
|
1848
2127
|
<xsl:apply-templates mode="process"/>
|
1849
2128
|
</fo:block>
|
1850
2129
|
|
@@ -1868,6 +2147,7 @@
|
|
1868
2147
|
|
1869
2148
|
|
1870
2149
|
|
2150
|
+
|
1871
2151
|
<fo:inline font-size="80%" padding-right="5mm" id="{@id}">
|
1872
2152
|
|
1873
2153
|
<xsl:attribute name="vertical-align">super</xsl:attribute>
|
@@ -1877,12 +2157,15 @@
|
|
1877
2157
|
|
1878
2158
|
|
1879
2159
|
|
2160
|
+
|
1880
2161
|
<xsl:value-of select="@reference"/>
|
1881
2162
|
|
2163
|
+
|
1882
2164
|
</fo:inline>
|
1883
2165
|
<fo:inline>
|
1884
2166
|
|
1885
|
-
<xsl:apply-templates/>
|
2167
|
+
<!-- <xsl:apply-templates /> -->
|
2168
|
+
<xsl:copy-of select="./node()"/>
|
1886
2169
|
</fo:inline>
|
1887
2170
|
</fo:block>
|
1888
2171
|
</xsl:if>
|
@@ -1919,7 +2202,20 @@
|
|
1919
2202
|
<xsl:variable name="following_dl_colwidths">
|
1920
2203
|
<xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
|
1921
2204
|
<xsl:variable name="html-table">
|
1922
|
-
<xsl:variable name="
|
2205
|
+
<xsl:variable name="doc_ns">
|
2206
|
+
|
2207
|
+
</xsl:variable>
|
2208
|
+
<xsl:variable name="ns">
|
2209
|
+
<xsl:choose>
|
2210
|
+
<xsl:when test="normalize-space($doc_ns) != ''">
|
2211
|
+
<xsl:value-of select="normalize-space($doc_ns)"/>
|
2212
|
+
</xsl:when>
|
2213
|
+
<xsl:otherwise>
|
2214
|
+
<xsl:value-of select="substring-before(name(/*), '-')"/>
|
2215
|
+
</xsl:otherwise>
|
2216
|
+
</xsl:choose>
|
2217
|
+
</xsl:variable>
|
2218
|
+
<!-- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> -->
|
1923
2219
|
<xsl:element name="{$ns}:table">
|
1924
2220
|
<xsl:for-each select="*[local-name() = 'dl'][1]">
|
1925
2221
|
<tbody>
|
@@ -1984,7 +2280,8 @@
|
|
1984
2280
|
<xsl:attribute name="margin-bottom">0</xsl:attribute>
|
1985
2281
|
</xsl:if>
|
1986
2282
|
|
1987
|
-
<xsl:apply-templates/>
|
2283
|
+
<!-- <xsl:apply-templates /> -->
|
2284
|
+
<xsl:copy-of select="./node()"/>
|
1988
2285
|
</fo:block>
|
1989
2286
|
</fo:table-cell>
|
1990
2287
|
</fo:table-row>
|
@@ -2002,9 +2299,13 @@
|
|
2002
2299
|
|
2003
2300
|
|
2004
2301
|
|
2302
|
+
|
2303
|
+
|
2005
2304
|
<fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
|
2006
2305
|
|
2306
|
+
|
2007
2307
|
<xsl:value-of select="@reference"/>
|
2308
|
+
|
2008
2309
|
</fo:basic-link>
|
2009
2310
|
</fo:inline>
|
2010
2311
|
</xsl:template><xsl:template match="*[local-name()='fn']/*[local-name()='p']">
|
@@ -2012,119 +2313,146 @@
|
|
2012
2313
|
<xsl:apply-templates/>
|
2013
2314
|
</fo:inline>
|
2014
2315
|
</xsl:template><xsl:template match="*[local-name()='dl']">
|
2015
|
-
<
|
2016
|
-
|
2017
|
-
|
2018
|
-
|
2019
|
-
|
2020
|
-
|
2021
|
-
|
2022
|
-
|
2316
|
+
<fo:block-container margin-left="0mm">
|
2317
|
+
<xsl:if test="parent::*[local-name() = 'note']">
|
2318
|
+
<xsl:attribute name="margin-left">
|
2319
|
+
<xsl:choose>
|
2320
|
+
<xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
|
2321
|
+
<xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
|
2322
|
+
</xsl:choose>
|
2323
|
+
</xsl:attribute>
|
2023
2324
|
|
2325
|
+
</xsl:if>
|
2326
|
+
<fo:block-container margin-left="0mm">
|
2327
|
+
|
2328
|
+
<xsl:variable name="parent" select="local-name(..)"/>
|
2024
2329
|
|
2025
|
-
|
2026
|
-
|
2027
|
-
|
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>
|
2330
|
+
<xsl:variable name="key_iso">
|
2331
|
+
<!-- and (not(../@class) or ../@class !='pseudocode') -->
|
2332
|
+
</xsl:variable>
|
2037
2333
|
|
2038
|
-
|
2039
|
-
|
2040
|
-
|
2041
|
-
|
2042
|
-
|
2043
|
-
|
2044
|
-
|
2045
|
-
|
2046
|
-
|
2047
|
-
|
2048
|
-
|
2049
|
-
|
2050
|
-
|
2051
|
-
|
2052
|
-
|
2053
|
-
|
2054
|
-
|
2055
|
-
|
2056
|
-
|
2057
|
-
|
2058
|
-
|
2059
|
-
|
2060
|
-
|
2061
|
-
|
2062
|
-
|
2063
|
-
|
2064
|
-
|
2065
|
-
|
2066
|
-
|
2067
|
-
|
2068
|
-
|
2069
|
-
|
2070
|
-
|
2071
|
-
|
2072
|
-
|
2073
|
-
|
2074
|
-
|
2075
|
-
|
2334
|
+
<xsl:choose>
|
2335
|
+
<xsl:when test="$parent = 'formula' and count(*[local-name()='dt']) = 1"> <!-- only one component -->
|
2336
|
+
|
2337
|
+
|
2338
|
+
<fo:block margin-bottom="12pt" text-align="left">
|
2339
|
+
|
2340
|
+
<xsl:variable name="title-where">
|
2341
|
+
<xsl:call-template name="getTitle">
|
2342
|
+
<xsl:with-param name="name" select="'title-where'"/>
|
2343
|
+
</xsl:call-template>
|
2344
|
+
</xsl:variable>
|
2345
|
+
<xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
|
2346
|
+
<xsl:apply-templates select="*[local-name()='dt']/*"/>
|
2347
|
+
<xsl:text/>
|
2348
|
+
<xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
|
2349
|
+
</fo:block>
|
2350
|
+
|
2351
|
+
</xsl:when>
|
2352
|
+
<xsl:when test="$parent = 'formula'"> <!-- a few components -->
|
2353
|
+
<fo:block margin-bottom="12pt" text-align="left">
|
2354
|
+
|
2355
|
+
|
2356
|
+
|
2357
|
+
|
2358
|
+
<xsl:variable name="title-where">
|
2359
|
+
<xsl:call-template name="getTitle">
|
2360
|
+
<xsl:with-param name="name" select="'title-where'"/>
|
2361
|
+
</xsl:call-template>
|
2362
|
+
</xsl:variable>
|
2363
|
+
<xsl:value-of select="$title-where"/>
|
2364
|
+
</fo:block>
|
2365
|
+
</xsl:when>
|
2366
|
+
<xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')">
|
2367
|
+
<fo:block font-weight="bold" text-align="left" margin-bottom="12pt" keep-with-next="always">
|
2368
|
+
|
2369
|
+
|
2370
|
+
|
2371
|
+
<xsl:variable name="title-key">
|
2372
|
+
<xsl:call-template name="getTitle">
|
2373
|
+
<xsl:with-param name="name" select="'title-key'"/>
|
2374
|
+
</xsl:call-template>
|
2375
|
+
</xsl:variable>
|
2376
|
+
<xsl:value-of select="$title-key"/>
|
2377
|
+
</fo:block>
|
2378
|
+
</xsl:when>
|
2379
|
+
</xsl:choose>
|
2076
2380
|
|
2077
|
-
|
2078
|
-
|
2079
|
-
|
2080
|
-
|
2081
|
-
<xsl:attribute name="margin-left">-3.5mm</xsl:attribute>
|
2082
|
-
|
2083
|
-
|
2084
|
-
<fo:table width="95%" table-layout="fixed">
|
2381
|
+
<!-- a few components -->
|
2382
|
+
<xsl:if test="not($parent = 'formula' and count(*[local-name()='dt']) = 1)">
|
2383
|
+
<fo:block>
|
2085
2384
|
|
2086
|
-
|
2087
|
-
|
2088
|
-
|
2089
|
-
</xsl:
|
2090
|
-
|
2091
|
-
|
2385
|
+
|
2386
|
+
|
2387
|
+
|
2388
|
+
<xsl:attribute name="margin-left">7mm</xsl:attribute>
|
2389
|
+
|
2390
|
+
<fo:block>
|
2391
|
+
|
2392
|
+
|
2393
|
+
|
2394
|
+
<xsl:attribute name="margin-left">-3.5mm</xsl:attribute>
|
2395
|
+
|
2396
|
+
|
2397
|
+
<fo:table width="95%" table-layout="fixed">
|
2092
2398
|
|
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
|
-
|
2399
|
+
<xsl:choose>
|
2400
|
+
<xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'">
|
2401
|
+
<!-- <xsl:attribute name="font-size">11pt</xsl:attribute> -->
|
2402
|
+
</xsl:when>
|
2403
|
+
<xsl:when test="normalize-space($key_iso) = 'true'">
|
2404
|
+
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
2405
|
+
|
2406
|
+
</xsl:when>
|
2407
|
+
</xsl:choose>
|
2408
|
+
<!-- create virtual html table for dl/[dt and dd] -->
|
2409
|
+
<xsl:variable name="html-table">
|
2410
|
+
<xsl:variable name="doc_ns">
|
2411
|
+
|
2412
|
+
</xsl:variable>
|
2413
|
+
<xsl:variable name="ns">
|
2414
|
+
<xsl:choose>
|
2415
|
+
<xsl:when test="normalize-space($doc_ns) != ''">
|
2416
|
+
<xsl:value-of select="normalize-space($doc_ns)"/>
|
2417
|
+
</xsl:when>
|
2418
|
+
<xsl:otherwise>
|
2419
|
+
<xsl:value-of select="substring-before(name(/*), '-')"/>
|
2420
|
+
</xsl:otherwise>
|
2421
|
+
</xsl:choose>
|
2422
|
+
</xsl:variable>
|
2423
|
+
<!-- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> -->
|
2424
|
+
<xsl:element name="{$ns}:table">
|
2425
|
+
<tbody>
|
2426
|
+
<xsl:apply-templates mode="dl"/>
|
2427
|
+
</tbody>
|
2428
|
+
</xsl:element>
|
2429
|
+
</xsl:variable>
|
2430
|
+
<!-- html-table<xsl:copy-of select="$html-table"/> -->
|
2431
|
+
<xsl:variable name="colwidths">
|
2432
|
+
<xsl:call-template name="calculate-column-widths">
|
2433
|
+
<xsl:with-param name="cols-count" select="2"/>
|
2434
|
+
<xsl:with-param name="table" select="$html-table"/>
|
2435
|
+
</xsl:call-template>
|
2436
|
+
</xsl:variable>
|
2437
|
+
<!-- colwidths=<xsl:value-of select="$colwidths"/> -->
|
2438
|
+
<xsl:variable name="maxlength_dt">
|
2439
|
+
<xsl:call-template name="getMaxLength_dt"/>
|
2440
|
+
</xsl:variable>
|
2441
|
+
<xsl:call-template name="setColumnWidth_dl">
|
2442
|
+
<xsl:with-param name="colwidths" select="$colwidths"/>
|
2443
|
+
<xsl:with-param name="maxlength_dt" select="$maxlength_dt"/>
|
2444
|
+
</xsl:call-template>
|
2445
|
+
<fo:table-body>
|
2446
|
+
<xsl:apply-templates>
|
2447
|
+
<xsl:with-param name="key_iso" select="normalize-space($key_iso)"/>
|
2448
|
+
</xsl:apply-templates>
|
2449
|
+
</fo:table-body>
|
2450
|
+
</fo:table>
|
2451
|
+
</fo:block>
|
2452
|
+
</fo:block>
|
2453
|
+
</xsl:if>
|
2454
|
+
</fo:block-container>
|
2455
|
+
</fo:block-container>
|
2128
2456
|
</xsl:template><xsl:template name="setColumnWidth_dl">
|
2129
2457
|
<xsl:param name="colwidths"/>
|
2130
2458
|
<xsl:param name="maxlength_dt"/>
|
@@ -2221,6 +2549,7 @@
|
|
2221
2549
|
<xsl:param name="key_iso"/>
|
2222
2550
|
|
2223
2551
|
<fo:table-row>
|
2552
|
+
|
2224
2553
|
<fo:table-cell>
|
2225
2554
|
|
2226
2555
|
<fo:block margin-top="6pt">
|
@@ -2238,6 +2567,7 @@
|
|
2238
2567
|
|
2239
2568
|
|
2240
2569
|
|
2570
|
+
|
2241
2571
|
<xsl:apply-templates/>
|
2242
2572
|
<!-- <xsl:if test="$namespace = 'gb'">
|
2243
2573
|
<xsl:if test="ancestor::*[local-name()='formula']">
|
@@ -2249,14 +2579,36 @@
|
|
2249
2579
|
<fo:table-cell>
|
2250
2580
|
<fo:block>
|
2251
2581
|
|
2252
|
-
|
2582
|
+
<!-- <xsl:if test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
|
2583
|
+
<xsl:if test="local-name(*[1]) != 'stem'">
|
2584
|
+
<xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
|
2585
|
+
</xsl:if>
|
2586
|
+
</xsl:if> -->
|
2253
2587
|
|
2254
2588
|
<xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
|
2255
2589
|
|
2256
2590
|
</fo:block>
|
2257
2591
|
</fo:table-cell>
|
2258
2592
|
</fo:table-row>
|
2259
|
-
|
2593
|
+
<!-- <xsl:if test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
|
2594
|
+
<xsl:if test="local-name(*[1]) = 'stem'">
|
2595
|
+
<fo:table-row>
|
2596
|
+
<fo:table-cell>
|
2597
|
+
<fo:block margin-top="6pt">
|
2598
|
+
<xsl:if test="normalize-space($key_iso) = 'true'">
|
2599
|
+
<xsl:attribute name="margin-top">0</xsl:attribute>
|
2600
|
+
</xsl:if>
|
2601
|
+
<xsl:text> </xsl:text>
|
2602
|
+
</fo:block>
|
2603
|
+
</fo:table-cell>
|
2604
|
+
<fo:table-cell>
|
2605
|
+
<fo:block>
|
2606
|
+
<xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
|
2607
|
+
</fo:block>
|
2608
|
+
</fo:table-cell>
|
2609
|
+
</fo:table-row>
|
2610
|
+
</xsl:if>
|
2611
|
+
</xsl:if> -->
|
2260
2612
|
</xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
|
2261
2613
|
<xsl:apply-templates/>
|
2262
2614
|
</xsl:template><xsl:template match="*[local-name()='dd']"/><xsl:template match="*[local-name()='dd']" mode="process">
|
@@ -2281,6 +2633,31 @@
|
|
2281
2633
|
</fo:inline>
|
2282
2634
|
</xsl:template><xsl:template match="*[local-name()='tt']">
|
2283
2635
|
<fo:inline xsl:use-attribute-sets="tt-style">
|
2636
|
+
<xsl:variable name="_font-size">
|
2637
|
+
|
2638
|
+
|
2639
|
+
|
2640
|
+
|
2641
|
+
10
|
2642
|
+
|
2643
|
+
|
2644
|
+
|
2645
|
+
|
2646
|
+
|
2647
|
+
|
2648
|
+
|
2649
|
+
|
2650
|
+
|
2651
|
+
</xsl:variable>
|
2652
|
+
<xsl:variable name="font-size" select="normalize-space($_font-size)"/>
|
2653
|
+
<xsl:if test="$font-size != ''">
|
2654
|
+
<xsl:attribute name="font-size">
|
2655
|
+
<xsl:choose>
|
2656
|
+
<xsl:when test="ancestor::*[local-name()='note']"><xsl:value-of select="$font-size * 0.91"/>pt</xsl:when>
|
2657
|
+
<xsl:otherwise><xsl:value-of select="$font-size"/>pt</xsl:otherwise>
|
2658
|
+
</xsl:choose>
|
2659
|
+
</xsl:attribute>
|
2660
|
+
</xsl:if>
|
2284
2661
|
<xsl:apply-templates/>
|
2285
2662
|
</fo:inline>
|
2286
2663
|
</xsl:template><xsl:template match="*[local-name()='del']">
|
@@ -2606,11 +2983,24 @@
|
|
2606
2983
|
<xsl:value-of select="java:toUpperCase(java:java.lang.String.new(substring($str, 1, 1)))"/>
|
2607
2984
|
<xsl:value-of select="substring($str, 2)"/>
|
2608
2985
|
</xsl:template><xsl:template match="mathml:math">
|
2609
|
-
<fo:inline font-family="
|
2610
|
-
<
|
2611
|
-
<xsl:
|
2612
|
-
</
|
2986
|
+
<fo:inline font-family="STIX Two Math"> <!-- -->
|
2987
|
+
<xsl:variable name="mathml">
|
2988
|
+
<xsl:apply-templates select="." mode="mathml"/>
|
2989
|
+
</xsl:variable>
|
2990
|
+
<fo:instream-foreign-object fox:alt-text="Math">
|
2991
|
+
<!-- <xsl:copy-of select="."/> -->
|
2992
|
+
<xsl:copy-of select="xalan:nodeset($mathml)"/>
|
2993
|
+
</fo:instream-foreign-object>
|
2613
2994
|
</fo:inline>
|
2995
|
+
</xsl:template><xsl:template match="@*|node()" mode="mathml">
|
2996
|
+
<xsl:copy>
|
2997
|
+
<xsl:apply-templates select="@*|node()" mode="mathml"/>
|
2998
|
+
</xsl:copy>
|
2999
|
+
</xsl:template><xsl:template match="mathml:mtext" mode="mathml">
|
3000
|
+
<xsl:copy>
|
3001
|
+
<!-- replace start and end spaces to non-break space -->
|
3002
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'(^ )|( $)',' ')"/>
|
3003
|
+
</xsl:copy>
|
2614
3004
|
</xsl:template><xsl:template match="*[local-name()='localityStack']"/><xsl:template match="*[local-name()='link']" name="link">
|
2615
3005
|
<xsl:variable name="target">
|
2616
3006
|
<xsl:choose>
|
@@ -2687,13 +3077,26 @@
|
|
2687
3077
|
<xsl:apply-templates/>
|
2688
3078
|
</xsl:template><xsl:template match="*[local-name() = 'xref']">
|
2689
3079
|
<fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
|
2690
|
-
|
3080
|
+
|
2691
3081
|
<xsl:apply-templates/>
|
2692
3082
|
</fo:basic-link>
|
2693
3083
|
</xsl:template><xsl:template match="*[local-name() = 'formula']" name="formula">
|
2694
|
-
<fo:block
|
2695
|
-
<xsl:
|
2696
|
-
|
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
|
+
<fo:block id="{@id}" xsl:use-attribute-sets="formula-style">
|
3096
|
+
<xsl:apply-templates/>
|
3097
|
+
</fo:block>
|
3098
|
+
</fo:block-container>
|
3099
|
+
</fo:block-container>
|
2697
3100
|
</xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'dt']/*[local-name() = 'stem']">
|
2698
3101
|
<fo:inline>
|
2699
3102
|
<xsl:apply-templates/>
|
@@ -2731,6 +3134,8 @@
|
|
2731
3134
|
|
2732
3135
|
|
2733
3136
|
|
3137
|
+
|
3138
|
+
|
2734
3139
|
<fo:inline xsl:use-attribute-sets="note-name-style">
|
2735
3140
|
<xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
|
2736
3141
|
</fo:inline>
|
@@ -2757,7 +3162,9 @@
|
|
2757
3162
|
</xsl:choose>
|
2758
3163
|
</xsl:template><xsl:template match="*[local-name() = 'termnote']">
|
2759
3164
|
<fo:block id="{@id}" xsl:use-attribute-sets="termnote-style">
|
2760
|
-
<xsl:
|
3165
|
+
<fo:inline xsl:use-attribute-sets="termnote-name-style">
|
3166
|
+
<xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
|
3167
|
+
</fo:inline>
|
2761
3168
|
<xsl:apply-templates/>
|
2762
3169
|
</fo:block>
|
2763
3170
|
</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">
|
@@ -2852,15 +3259,109 @@
|
|
2852
3259
|
|
2853
3260
|
<fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style"/>
|
2854
3261
|
</fo:block>
|
2855
|
-
</xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name']" mode="contents">
|
3262
|
+
</xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name']" mode="contents">
|
2856
3263
|
<xsl:apply-templates mode="contents"/>
|
2857
3264
|
<xsl:text> </xsl:text>
|
2858
|
-
</xsl:template><xsl:template match="
|
3265
|
+
</xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name']" mode="bookmarks">
|
3266
|
+
<xsl:apply-templates mode="bookmarks"/>
|
3267
|
+
<xsl:text> </xsl:text>
|
3268
|
+
</xsl:template><xsl:template match="*[local-name() = 'name']/text()" mode="contents" priority="2">
|
2859
3269
|
<xsl:value-of select="."/>
|
2860
|
-
</xsl:template><xsl:template match="*[local-name() = '
|
3270
|
+
</xsl:template><xsl:template match="*[local-name() = 'name']/text()" mode="bookmarks" priority="2">
|
3271
|
+
<xsl:value-of select="."/>
|
3272
|
+
</xsl:template><xsl:template match="node()" mode="contents">
|
3273
|
+
<xsl:apply-templates mode="contents"/>
|
3274
|
+
</xsl:template><xsl:template match="node()" mode="bookmarks">
|
3275
|
+
<xsl:apply-templates mode="bookmarks"/>
|
3276
|
+
</xsl:template><xsl:template match="*[local-name() = 'stem']" mode="contents">
|
3277
|
+
<xsl:apply-templates select="."/>
|
3278
|
+
</xsl:template><xsl:template match="*[local-name() = 'stem']" mode="bookmarks">
|
3279
|
+
<xsl:apply-templates mode="bookmarks"/>
|
3280
|
+
</xsl:template><xsl:template name="addBookmarks">
|
3281
|
+
<xsl:param name="contents"/>
|
3282
|
+
<xsl:if test="xalan:nodeset($contents)//item">
|
3283
|
+
<fo:bookmark-tree>
|
3284
|
+
<xsl:choose>
|
3285
|
+
<xsl:when test="xalan:nodeset($contents)/doc">
|
3286
|
+
<xsl:choose>
|
3287
|
+
<xsl:when test="count(xalan:nodeset($contents)/doc) > 1">
|
3288
|
+
<xsl:for-each select="xalan:nodeset($contents)/doc">
|
3289
|
+
<fo:bookmark internal-destination="{contents/item[1]/@id}" starting-state="hide">
|
3290
|
+
<fo:bookmark-title>
|
3291
|
+
<xsl:variable name="bookmark-title_">
|
3292
|
+
<xsl:call-template name="getLangVersion">
|
3293
|
+
<xsl:with-param name="lang" select="@lang"/>
|
3294
|
+
</xsl:call-template>
|
3295
|
+
</xsl:variable>
|
3296
|
+
<xsl:choose>
|
3297
|
+
<xsl:when test="normalize-space($bookmark-title_) != ''">
|
3298
|
+
<xsl:value-of select="normalize-space($bookmark-title_)"/>
|
3299
|
+
</xsl:when>
|
3300
|
+
<xsl:otherwise>
|
3301
|
+
<xsl:choose>
|
3302
|
+
<xsl:when test="@lang = 'en'">English</xsl:when>
|
3303
|
+
<xsl:when test="@lang = 'fr'">Français</xsl:when>
|
3304
|
+
<xsl:when test="@lang = 'de'">Deutsche</xsl:when>
|
3305
|
+
<xsl:otherwise><xsl:value-of select="@lang"/> version</xsl:otherwise>
|
3306
|
+
</xsl:choose>
|
3307
|
+
</xsl:otherwise>
|
3308
|
+
</xsl:choose>
|
3309
|
+
</fo:bookmark-title>
|
3310
|
+
<xsl:apply-templates select="contents/item" mode="bookmark"/>
|
3311
|
+
</fo:bookmark>
|
3312
|
+
|
3313
|
+
</xsl:for-each>
|
3314
|
+
</xsl:when>
|
3315
|
+
<xsl:otherwise>
|
3316
|
+
<xsl:for-each select="xalan:nodeset($contents)/doc">
|
3317
|
+
<xsl:apply-templates select="contents/item" mode="bookmark"/>
|
3318
|
+
</xsl:for-each>
|
3319
|
+
</xsl:otherwise>
|
3320
|
+
</xsl:choose>
|
3321
|
+
</xsl:when>
|
3322
|
+
<xsl:otherwise>
|
3323
|
+
<xsl:apply-templates select="xalan:nodeset($contents)/contents/item" mode="bookmark"/>
|
3324
|
+
</xsl:otherwise>
|
3325
|
+
</xsl:choose>
|
3326
|
+
|
3327
|
+
|
3328
|
+
|
3329
|
+
|
3330
|
+
|
3331
|
+
|
3332
|
+
|
3333
|
+
|
3334
|
+
</fo:bookmark-tree>
|
3335
|
+
</xsl:if>
|
3336
|
+
</xsl:template><xsl:template name="getLangVersion">
|
3337
|
+
<xsl:param name="lang"/>
|
3338
|
+
<xsl:choose>
|
3339
|
+
<xsl:when test="$lang = 'en'">
|
3340
|
+
|
3341
|
+
|
3342
|
+
</xsl:when>
|
3343
|
+
<xsl:when test="$lang = 'fr'">
|
3344
|
+
|
3345
|
+
|
3346
|
+
</xsl:when>
|
3347
|
+
<xsl:when test="$lang = 'de'">Deutsche</xsl:when>
|
3348
|
+
<xsl:otherwise><xsl:value-of select="$lang"/> version</xsl:otherwise>
|
3349
|
+
</xsl:choose>
|
3350
|
+
</xsl:template><xsl:template match="item" mode="bookmark">
|
3351
|
+
<fo:bookmark internal-destination="{@id}" starting-state="hide">
|
3352
|
+
<fo:bookmark-title>
|
3353
|
+
<xsl:if test="@section != ''">
|
3354
|
+
<xsl:value-of select="@section"/>
|
3355
|
+
<xsl:text> </xsl:text>
|
3356
|
+
</xsl:if>
|
3357
|
+
<xsl:value-of select="normalize-space(title)"/>
|
3358
|
+
</fo:bookmark-title>
|
3359
|
+
<xsl:apply-templates mode="bookmark"/>
|
3360
|
+
</fo:bookmark>
|
3361
|
+
</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">
|
2861
3362
|
<xsl:if test="normalize-space() != ''">
|
2862
3363
|
<fo:block xsl:use-attribute-sets="figure-name-style">
|
2863
|
-
|
3364
|
+
|
2864
3365
|
<xsl:apply-templates/>
|
2865
3366
|
</fo:block>
|
2866
3367
|
</xsl:if>
|
@@ -2915,7 +3416,7 @@
|
|
2915
3416
|
<xsl:apply-templates/>
|
2916
3417
|
</xsl:otherwise>
|
2917
3418
|
</xsl:choose>
|
2918
|
-
</xsl:template><xsl:template match="*[local-name() = 'fn']" mode="contents"/><xsl:template match="*[local-name() = 'fn']" mode="contents_item"/><xsl:template match="*[local-name() = 'tab']" mode="contents_item">
|
3419
|
+
</xsl:template><xsl:template match="*[local-name() = 'fn']" mode="contents"/><xsl:template match="*[local-name() = 'fn']" mode="bookmarks"/><xsl:template match="*[local-name() = 'fn']" mode="contents_item"/><xsl:template match="*[local-name() = 'tab']" mode="contents_item">
|
2919
3420
|
<xsl:text> </xsl:text>
|
2920
3421
|
</xsl:template><xsl:template match="*[local-name() = 'strong']" mode="contents_item">
|
2921
3422
|
<xsl:copy>
|
@@ -2924,21 +3425,61 @@
|
|
2924
3425
|
</xsl:template><xsl:template match="*[local-name() = 'br']" mode="contents_item">
|
2925
3426
|
<xsl:text> </xsl:text>
|
2926
3427
|
</xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
|
2927
|
-
|
2928
|
-
|
2929
|
-
|
2930
|
-
|
2931
|
-
|
3428
|
+
|
3429
|
+
<fo:block-container margin-left="0mm">
|
3430
|
+
<xsl:if test="parent::*[local-name() = 'note']">
|
3431
|
+
<xsl:attribute name="margin-left">
|
3432
|
+
<xsl:choose>
|
3433
|
+
<xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
|
3434
|
+
<xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
|
3435
|
+
</xsl:choose>
|
3436
|
+
</xsl:attribute>
|
3437
|
+
|
3438
|
+
</xsl:if>
|
3439
|
+
<fo:block-container margin-left="0mm">
|
3440
|
+
|
3441
|
+
<fo:block xsl:use-attribute-sets="sourcecode-style">
|
3442
|
+
<xsl:variable name="_font-size">
|
3443
|
+
|
3444
|
+
|
3445
|
+
|
3446
|
+
|
3447
|
+
10
|
3448
|
+
|
3449
|
+
|
3450
|
+
|
3451
|
+
|
3452
|
+
|
3453
|
+
|
3454
|
+
|
3455
|
+
|
3456
|
+
|
3457
|
+
</xsl:variable>
|
3458
|
+
<xsl:variable name="font-size" select="normalize-space($_font-size)"/>
|
3459
|
+
<xsl:if test="$font-size != ''">
|
3460
|
+
<xsl:attribute name="font-size">
|
3461
|
+
<xsl:choose>
|
3462
|
+
<xsl:when test="ancestor::*[local-name()='note']"><xsl:value-of select="$font-size * 0.91"/>pt</xsl:when>
|
3463
|
+
<xsl:otherwise><xsl:value-of select="$font-size"/>pt</xsl:otherwise>
|
3464
|
+
</xsl:choose>
|
3465
|
+
</xsl:attribute>
|
3466
|
+
</xsl:if>
|
3467
|
+
<xsl:apply-templates/>
|
3468
|
+
</fo:block>
|
3469
|
+
<xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
|
3470
|
+
|
3471
|
+
</fo:block-container>
|
3472
|
+
</fo:block-container>
|
3473
|
+
</xsl:template><xsl:template match="*[local-name()='sourcecode']/text()" priority="2">
|
2932
3474
|
<xsl:variable name="text">
|
2933
3475
|
<xsl:call-template name="add-zero-spaces-equal"/>
|
2934
3476
|
</xsl:variable>
|
2935
|
-
<xsl:call-template name="add-zero-spaces">
|
3477
|
+
<xsl:call-template name="add-zero-spaces-java">
|
2936
3478
|
<xsl:with-param name="text" select="$text"/>
|
2937
3479
|
</xsl:call-template>
|
2938
3480
|
</xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']" mode="presentation">
|
2939
3481
|
<xsl:if test="normalize-space() != ''">
|
2940
|
-
<fo:block xsl:use-attribute-sets="sourcecode-name-style">
|
2941
|
-
|
3482
|
+
<fo:block xsl:use-attribute-sets="sourcecode-name-style">
|
2942
3483
|
<xsl:apply-templates/>
|
2943
3484
|
</fo:block>
|
2944
3485
|
</xsl:if>
|
@@ -3008,22 +3549,30 @@
|
|
3008
3549
|
</fo:block>
|
3009
3550
|
</xsl:template><xsl:template match="*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
|
3010
3551
|
<fo:block-container margin-left="0mm" margin-right="0mm" margin-bottom="12pt">
|
3552
|
+
<xsl:if test="ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
|
3553
|
+
<xsl:attribute name="margin-bottom">0pt</xsl:attribute>
|
3554
|
+
</xsl:if>
|
3011
3555
|
<fo:block-container margin-left="0mm" margin-right="0mm">
|
3012
|
-
<fo:table id="{@id}" table-layout="fixed" width="100%" border="
|
3556
|
+
<fo:table id="{@id}" table-layout="fixed" width="100%"> <!-- border="1pt solid black" -->
|
3557
|
+
<xsl:if test="ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
|
3558
|
+
<!-- <xsl:attribute name="border">0.5pt solid black</xsl:attribute> -->
|
3559
|
+
</xsl:if>
|
3013
3560
|
<xsl:variable name="simple-table">
|
3014
3561
|
<xsl:call-template name="getSimpleTable"/>
|
3015
3562
|
</xsl:variable>
|
3016
3563
|
<xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
|
3017
3564
|
<xsl:if test="$cols-count = 2 and not(ancestor::*[local-name()='table'])">
|
3018
|
-
<fo:table-column column-width="35mm"/>
|
3019
|
-
<fo:table-column column-width="115mm"/>
|
3565
|
+
<!-- <fo:table-column column-width="35mm"/>
|
3566
|
+
<fo:table-column column-width="115mm"/> -->
|
3567
|
+
<fo:table-column column-width="30%"/>
|
3568
|
+
<fo:table-column column-width="70%"/>
|
3020
3569
|
</xsl:if>
|
3021
3570
|
<xsl:apply-templates mode="requirement"/>
|
3022
3571
|
</fo:table>
|
3023
3572
|
<!-- fn processing -->
|
3024
3573
|
<xsl:if test=".//*[local-name() = 'fn']">
|
3025
3574
|
<xsl:for-each select="*[local-name() = 'tbody']">
|
3026
|
-
<fo:block font-size="90%" border-bottom="
|
3575
|
+
<fo:block font-size="90%" border-bottom="1pt solid black">
|
3027
3576
|
<xsl:call-template name="fn_display"/>
|
3028
3577
|
</fo:block>
|
3029
3578
|
</xsl:for-each>
|
@@ -3039,17 +3588,27 @@
|
|
3039
3588
|
<xsl:apply-templates mode="requirement"/>
|
3040
3589
|
</fo:table-body>
|
3041
3590
|
</xsl:template><xsl:template match="*[local-name()='tr']" mode="requirement">
|
3042
|
-
<fo:table-row>
|
3591
|
+
<fo:table-row height="7mm" border-bottom="0.5pt solid grey">
|
3592
|
+
<xsl:if test="parent::*[local-name()='thead']"> <!-- and not(ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']) -->
|
3593
|
+
<!-- <xsl:attribute name="border">1pt solid black</xsl:attribute> -->
|
3594
|
+
<xsl:attribute name="background-color">rgb(33, 55, 92)</xsl:attribute>
|
3595
|
+
</xsl:if>
|
3596
|
+
<xsl:if test="starts-with(*[local-name()='td'][1], 'Requirement ')">
|
3597
|
+
<xsl:attribute name="background-color">rgb(252, 246, 222)</xsl:attribute>
|
3598
|
+
</xsl:if>
|
3599
|
+
<xsl:if test="starts-with(*[local-name()='td'][1], 'Recommendation ')">
|
3600
|
+
<xsl:attribute name="background-color">rgb(233, 235, 239)</xsl:attribute>
|
3601
|
+
</xsl:if>
|
3043
3602
|
<xsl:apply-templates mode="requirement"/>
|
3044
3603
|
</fo:table-row>
|
3045
3604
|
</xsl:template><xsl:template match="*[local-name()='th']" mode="requirement">
|
3046
|
-
<fo:table-cell text-align="{@align}">
|
3605
|
+
<fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm"> <!-- border="0.5pt solid black" -->
|
3047
3606
|
<xsl:attribute name="text-align">
|
3048
3607
|
<xsl:choose>
|
3049
3608
|
<xsl:when test="@align">
|
3050
3609
|
<xsl:value-of select="@align"/>
|
3051
3610
|
</xsl:when>
|
3052
|
-
<xsl:otherwise>
|
3611
|
+
<xsl:otherwise>left</xsl:otherwise>
|
3053
3612
|
</xsl:choose>
|
3054
3613
|
</xsl:attribute>
|
3055
3614
|
<xsl:if test="@colspan">
|
@@ -3062,22 +3621,27 @@
|
|
3062
3621
|
<xsl:value-of select="@rowspan"/>
|
3063
3622
|
</xsl:attribute>
|
3064
3623
|
</xsl:if>
|
3624
|
+
<xsl:call-template name="display-align"/>
|
3065
3625
|
|
3066
|
-
<xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
|
3626
|
+
<!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
|
3067
3627
|
<xsl:attribute name="padding-top">0.5mm</xsl:attribute>
|
3068
3628
|
<xsl:attribute name="background-color">rgb(165, 165, 165)</xsl:attribute>
|
3069
3629
|
</xsl:if>
|
3070
3630
|
<xsl:if test="ancestor::*[local-name()='table']/@type = 'recommendtest'">
|
3071
3631
|
<xsl:attribute name="padding-top">0.5mm</xsl:attribute>
|
3072
3632
|
<xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
|
3073
|
-
</xsl:if>
|
3633
|
+
</xsl:if> -->
|
3074
3634
|
|
3075
3635
|
<fo:block>
|
3076
3636
|
<xsl:apply-templates/>
|
3077
3637
|
</fo:block>
|
3078
3638
|
</fo:table-cell>
|
3079
3639
|
</xsl:template><xsl:template match="*[local-name()='td']" mode="requirement">
|
3080
|
-
<fo:table-cell text-align="{@align}">
|
3640
|
+
<fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm"> <!-- border="0.5pt solid black" -->
|
3641
|
+
<xsl:if test="*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
|
3642
|
+
<xsl:attribute name="padding">0mm</xsl:attribute>
|
3643
|
+
<xsl:attribute name="padding-left">0mm</xsl:attribute>
|
3644
|
+
</xsl:if>
|
3081
3645
|
<xsl:attribute name="text-align">
|
3082
3646
|
<xsl:choose>
|
3083
3647
|
<xsl:when test="@align">
|
@@ -3086,6 +3650,9 @@
|
|
3086
3650
|
<xsl:otherwise>left</xsl:otherwise>
|
3087
3651
|
</xsl:choose>
|
3088
3652
|
</xsl:attribute>
|
3653
|
+
<xsl:if test="following-sibling::*[local-name()='td'] and not(preceding-sibling::*[local-name()='td'])">
|
3654
|
+
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
3655
|
+
</xsl:if>
|
3089
3656
|
<xsl:if test="@colspan">
|
3090
3657
|
<xsl:attribute name="number-columns-spanned">
|
3091
3658
|
<xsl:value-of select="@colspan"/>
|
@@ -3096,25 +3663,27 @@
|
|
3096
3663
|
<xsl:value-of select="@rowspan"/>
|
3097
3664
|
</xsl:attribute>
|
3098
3665
|
</xsl:if>
|
3666
|
+
<xsl:call-template name="display-align"/>
|
3099
3667
|
|
3100
|
-
<xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
|
3668
|
+
<!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
|
3101
3669
|
<xsl:attribute name="padding-left">0.5mm</xsl:attribute>
|
3102
|
-
<xsl:attribute name="padding-top">0.5mm</xsl:attribute>
|
3103
|
-
<xsl:if test="parent::*[local-name()='tr']/preceding-sibling::*[local-name()='tr'] and not(*[local-name()='table'])">
|
3670
|
+
<xsl:attribute name="padding-top">0.5mm</xsl:attribute>
|
3671
|
+
<xsl:if test="parent::*[local-name()='tr']/preceding-sibling::*[local-name()='tr'] and not(*[local-name()='table'])">
|
3104
3672
|
<xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
|
3105
3673
|
</xsl:if>
|
3106
|
-
</xsl:if>
|
3674
|
+
</xsl:if> -->
|
3675
|
+
<!-- 2nd line and below -->
|
3107
3676
|
|
3108
3677
|
<fo:block>
|
3109
3678
|
<xsl:apply-templates/>
|
3110
3679
|
</fo:block>
|
3111
3680
|
</fo:table-cell>
|
3112
3681
|
</xsl:template><xsl:template match="*[local-name() = 'p'][@class='RecommendationTitle' or @class = 'RecommendationTestTitle']" priority="2">
|
3113
|
-
<fo:block font-size="11pt" font-weight="bold"
|
3682
|
+
<fo:block font-size="11pt" color="rgb(237, 193, 35)"> <!-- font-weight="bold" margin-bottom="4pt" text-align="center" -->
|
3114
3683
|
<xsl:apply-templates/>
|
3115
3684
|
</fo:block>
|
3116
|
-
</xsl:template><xsl:template match="*[local-name() = '
|
3117
|
-
<fo:block margin-bottom="10pt"
|
3685
|
+
</xsl:template><xsl:template match="*[local-name() = 'p2'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
|
3686
|
+
<fo:block> <!-- margin-bottom="10pt" -->
|
3118
3687
|
<xsl:apply-templates/>
|
3119
3688
|
</fo:block>
|
3120
3689
|
</xsl:template><xsl:template match="*[local-name() = 'termexample']">
|
@@ -3136,12 +3705,13 @@
|
|
3136
3705
|
<xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
|
3137
3706
|
|
3138
3707
|
<xsl:variable name="element">
|
3139
|
-
block
|
3708
|
+
block
|
3140
3709
|
|
3710
|
+
<xsl:if test=".//*[local-name() = 'table']">block</xsl:if>
|
3141
3711
|
</xsl:variable>
|
3142
3712
|
|
3143
3713
|
<xsl:choose>
|
3144
|
-
<xsl:when test="normalize-space($element)
|
3714
|
+
<xsl:when test="contains(normalize-space($element), 'block')">
|
3145
3715
|
<fo:block xsl:use-attribute-sets="example-body-style">
|
3146
3716
|
<xsl:apply-templates/>
|
3147
3717
|
</fo:block>
|
@@ -3178,25 +3748,44 @@
|
|
3178
3748
|
</xsl:otherwise>
|
3179
3749
|
</xsl:choose>
|
3180
3750
|
|
3181
|
-
</xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
|
3182
|
-
|
3751
|
+
</xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
|
3752
|
+
|
3753
|
+
<xsl:variable name="element">
|
3754
|
+
block
|
3183
3755
|
|
3184
|
-
|
3185
|
-
|
3756
|
+
</xsl:variable>
|
3757
|
+
<xsl:choose>
|
3758
|
+
<xsl:when test="normalize-space($element) = 'block'">
|
3759
|
+
<fo:block xsl:use-attribute-sets="example-p-style">
|
3760
|
+
|
3761
|
+
<xsl:apply-templates/>
|
3762
|
+
</fo:block>
|
3763
|
+
</xsl:when>
|
3764
|
+
<xsl:otherwise>
|
3765
|
+
<fo:inline xsl:use-attribute-sets="example-p-style">
|
3766
|
+
<xsl:apply-templates/>
|
3767
|
+
</fo:inline>
|
3768
|
+
</xsl:otherwise>
|
3769
|
+
</xsl:choose>
|
3186
3770
|
</xsl:template><xsl:template match="*[local-name() = 'termsource']">
|
3187
3771
|
<fo:block xsl:use-attribute-sets="termsource-style">
|
3188
3772
|
<!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
|
3189
3773
|
<xsl:variable name="termsource_text">
|
3190
3774
|
<xsl:apply-templates/>
|
3191
3775
|
</xsl:variable>
|
3776
|
+
|
3192
3777
|
<xsl:choose>
|
3193
3778
|
<xsl:when test="starts-with(normalize-space($termsource_text), '[')">
|
3194
3779
|
<xsl:apply-templates/>
|
3195
3780
|
</xsl:when>
|
3196
|
-
<xsl:otherwise>
|
3197
|
-
|
3198
|
-
|
3199
|
-
|
3781
|
+
<xsl:otherwise>
|
3782
|
+
|
3783
|
+
<xsl:text>[</xsl:text>
|
3784
|
+
|
3785
|
+
<xsl:apply-templates/>
|
3786
|
+
|
3787
|
+
<xsl:text>]</xsl:text>
|
3788
|
+
|
3200
3789
|
</xsl:otherwise>
|
3201
3790
|
</xsl:choose>
|
3202
3791
|
</fo:block>
|
@@ -3207,10 +3796,13 @@
|
|
3207
3796
|
</xsl:template><xsl:template match="*[local-name() = 'origin']">
|
3208
3797
|
<fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
|
3209
3798
|
|
3210
|
-
<
|
3211
|
-
|
3212
|
-
|
3213
|
-
|
3799
|
+
<fo:inline>
|
3800
|
+
|
3801
|
+
<xsl:call-template name="getTitle">
|
3802
|
+
<xsl:with-param name="name" select="'title-source'"/>
|
3803
|
+
</xsl:call-template>
|
3804
|
+
<xsl:text>: </xsl:text>
|
3805
|
+
</fo:inline>
|
3214
3806
|
|
3215
3807
|
<fo:inline xsl:use-attribute-sets="origin-style">
|
3216
3808
|
<xsl:apply-templates/>
|
@@ -3222,18 +3814,29 @@
|
|
3222
3814
|
<xsl:if test="normalize-space() != ''">
|
3223
3815
|
<xsl:value-of select="."/>
|
3224
3816
|
</xsl:if>
|
3225
|
-
</xsl:template><xsl:template match="*[local-name() = 'quote']">
|
3817
|
+
</xsl:template><xsl:template match="*[local-name() = 'quote']">
|
3818
|
+
<fo:block-container margin-left="0mm">
|
3819
|
+
<xsl:if test="parent::*[local-name() = 'note']">
|
3820
|
+
<xsl:if test="not(ancestor::*[local-name() = 'table'])">
|
3821
|
+
<xsl:attribute name="margin-left">5mm</xsl:attribute>
|
3822
|
+
</xsl:if>
|
3823
|
+
</xsl:if>
|
3824
|
+
|
3825
|
+
<fo:block-container margin-left="0mm">
|
3226
3826
|
|
3227
|
-
|
3228
|
-
|
3229
|
-
|
3230
|
-
|
3231
|
-
|
3232
|
-
|
3233
|
-
|
3234
|
-
|
3235
|
-
|
3236
|
-
|
3827
|
+
<fo:block xsl:use-attribute-sets="quote-style">
|
3828
|
+
<xsl:apply-templates select=".//*[local-name() = 'p']"/>
|
3829
|
+
</fo:block>
|
3830
|
+
<xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
|
3831
|
+
<fo:block xsl:use-attribute-sets="quote-source-style">
|
3832
|
+
<!-- — ISO, ISO 7301:2011, Clause 1 -->
|
3833
|
+
<xsl:apply-templates select="*[local-name() = 'author']"/>
|
3834
|
+
<xsl:apply-templates select="*[local-name() = 'source']"/>
|
3835
|
+
</fo:block>
|
3836
|
+
</xsl:if>
|
3837
|
+
|
3838
|
+
</fo:block-container>
|
3839
|
+
</fo:block-container>
|
3237
3840
|
</xsl:template><xsl:template match="*[local-name() = 'source']">
|
3238
3841
|
<xsl:if test="../*[local-name() = 'author']">
|
3239
3842
|
<xsl:text>, </xsl:text>
|
@@ -3264,6 +3867,7 @@
|
|
3264
3867
|
<xsl:attribute name="text-decoration">underline</xsl:attribute>
|
3265
3868
|
|
3266
3869
|
|
3870
|
+
|
3267
3871
|
</xsl:if>
|
3268
3872
|
|
3269
3873
|
|
@@ -3302,6 +3906,7 @@
|
|
3302
3906
|
|
3303
3907
|
|
3304
3908
|
|
3909
|
+
|
3305
3910
|
</xsl:variable>
|
3306
3911
|
|
3307
3912
|
<xsl:variable name="padding-right">
|
@@ -3392,6 +3997,7 @@
|
|
3392
3997
|
</xsl:template><xsl:template match="*[local-name() = 'clause']">
|
3393
3998
|
<fo:block>
|
3394
3999
|
<xsl:call-template name="setId"/>
|
4000
|
+
|
3395
4001
|
<xsl:apply-templates/>
|
3396
4002
|
</fo:block>
|
3397
4003
|
</xsl:template><xsl:template match="*[local-name() = 'definitions']">
|
@@ -3416,6 +4022,31 @@
|
|
3416
4022
|
</xsl:template><xsl:template match="*[local-name() = 'name']/text()">
|
3417
4023
|
<!-- 0xA0 to space replacement -->
|
3418
4024
|
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
|
4025
|
+
</xsl:template><xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
|
4026
|
+
<xsl:choose>
|
4027
|
+
<xsl:when test="parent::*[local-name() = 'note']">
|
4028
|
+
<fo:block-container>
|
4029
|
+
<xsl:attribute name="margin-left">
|
4030
|
+
<xsl:choose>
|
4031
|
+
<xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
|
4032
|
+
<xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
|
4033
|
+
</xsl:choose>
|
4034
|
+
</xsl:attribute>
|
4035
|
+
|
4036
|
+
|
4037
|
+
<fo:block-container margin-left="0mm">
|
4038
|
+
<fo:block>
|
4039
|
+
<xsl:apply-templates select="." mode="ul_ol"/>
|
4040
|
+
</fo:block>
|
4041
|
+
</fo:block-container>
|
4042
|
+
</fo:block-container>
|
4043
|
+
</xsl:when>
|
4044
|
+
<xsl:otherwise>
|
4045
|
+
<fo:block>
|
4046
|
+
<xsl:apply-templates select="." mode="ul_ol"/>
|
4047
|
+
</fo:block>
|
4048
|
+
</xsl:otherwise>
|
4049
|
+
</xsl:choose>
|
3419
4050
|
</xsl:template><xsl:template match="*[local-name() = 'errata']">
|
3420
4051
|
<!-- <row>
|
3421
4052
|
<date>05-07-2013</date>
|
@@ -3447,6 +4078,164 @@
|
|
3447
4078
|
<fo:table-cell border="1pt solid black" padding-left="1mm" padding-top="0.5mm">
|
3448
4079
|
<fo:block><xsl:apply-templates/></fo:block>
|
3449
4080
|
</fo:table-cell>
|
4081
|
+
</xsl:template><xsl:template name="processBibitem">
|
4082
|
+
|
4083
|
+
|
4084
|
+
|
4085
|
+
|
4086
|
+
<!-- start IHO bibtem processing -->
|
4087
|
+
<xsl:choose>
|
4088
|
+
<xsl:when test="iho:formattedref">
|
4089
|
+
<xsl:apply-templates select="iho:formattedref"/>
|
4090
|
+
</xsl:when>
|
4091
|
+
<xsl:otherwise>
|
4092
|
+
<xsl:choose>
|
4093
|
+
<!-- IHO documents -->
|
4094
|
+
<!-- {docID} edition {edition}: {title}, {author/organization} -->
|
4095
|
+
<xsl:when test="iho:docidentifier[1]/@type='IHO'">
|
4096
|
+
<xsl:value-of select="iho:docidentifier[1]"/>
|
4097
|
+
<xsl:apply-templates select="iho:edition"/>
|
4098
|
+
<xsl:if test="iho:title or iho:contributor or iho:url">
|
4099
|
+
<xsl:text>: </xsl:text>
|
4100
|
+
</xsl:if>
|
4101
|
+
</xsl:when>
|
4102
|
+
|
4103
|
+
<!-- Non-IHO documents -->
|
4104
|
+
<!-- title and publisher -->
|
4105
|
+
<xsl:otherwise>
|
4106
|
+
<xsl:variable name="docID">
|
4107
|
+
<xsl:call-template name="processBibitemDocId"/>
|
4108
|
+
</xsl:variable>
|
4109
|
+
<xsl:value-of select="normalize-space($docID)"/>
|
4110
|
+
<xsl:if test="normalize-space($docID) != ''"><xsl:text>: </xsl:text></xsl:if>
|
4111
|
+
</xsl:otherwise>
|
4112
|
+
</xsl:choose>
|
4113
|
+
|
4114
|
+
<xsl:choose>
|
4115
|
+
<xsl:when test="iho:title[@type = 'main' and @language = 'en']">
|
4116
|
+
<xsl:apply-templates select="iho:title[@type = 'main' and @language = 'en']"/>
|
4117
|
+
</xsl:when>
|
4118
|
+
<xsl:otherwise>
|
4119
|
+
<xsl:apply-templates select="iho:title"/>
|
4120
|
+
</xsl:otherwise>
|
4121
|
+
</xsl:choose>
|
4122
|
+
|
4123
|
+
<xsl:if test="iho:title and iho:contributor">
|
4124
|
+
<xsl:text>, </xsl:text>
|
4125
|
+
</xsl:if>
|
4126
|
+
|
4127
|
+
<xsl:variable name="authors">
|
4128
|
+
<xsl:choose>
|
4129
|
+
<xsl:when test="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
|
4130
|
+
<xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
|
4131
|
+
<xsl:copy-of select="."/>
|
4132
|
+
</xsl:for-each>
|
4133
|
+
</xsl:when>
|
4134
|
+
<xsl:when test="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='editor']">
|
4135
|
+
<xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='editor']">
|
4136
|
+
<xsl:copy-of select="."/>
|
4137
|
+
</xsl:for-each>
|
4138
|
+
</xsl:when>
|
4139
|
+
<xsl:when test="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='publisher'][*[local-name() = 'organization']]">
|
4140
|
+
<xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='publisher'][*[local-name() = 'organization']]">
|
4141
|
+
<xsl:copy>
|
4142
|
+
<xsl:choose>
|
4143
|
+
<xsl:when test="position() != 1 and position() != last()">, </xsl:when>
|
4144
|
+
<xsl:when test="position() != 1 and position() = last()"> and </xsl:when>
|
4145
|
+
</xsl:choose>
|
4146
|
+
<xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
|
4147
|
+
</xsl:copy>
|
4148
|
+
</xsl:for-each>
|
4149
|
+
</xsl:when>
|
4150
|
+
</xsl:choose>
|
4151
|
+
</xsl:variable>
|
4152
|
+
|
4153
|
+
<xsl:for-each select="xalan:nodeset($authors)/*">
|
4154
|
+
<xsl:choose>
|
4155
|
+
<xsl:when test="not(*[local-name() = 'role'])"><!-- publisher organisation -->
|
4156
|
+
<xsl:value-of select="."/>
|
4157
|
+
</xsl:when>
|
4158
|
+
<xsl:otherwise> <!-- author, editor -->
|
4159
|
+
<xsl:choose>
|
4160
|
+
<xsl:when test="*[local-name() = 'organization']/*[local-name() = 'name']">
|
4161
|
+
<xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
|
4162
|
+
</xsl:when>
|
4163
|
+
<xsl:otherwise>
|
4164
|
+
<xsl:for-each select="*[local-name() = 'person']">
|
4165
|
+
<xsl:variable name="author">
|
4166
|
+
<xsl:call-template name="processPersonalAuthor"/>
|
4167
|
+
</xsl:variable>
|
4168
|
+
<xsl:value-of select="xalan:nodeset($author)/author"/>
|
4169
|
+
</xsl:for-each>
|
4170
|
+
</xsl:otherwise>
|
4171
|
+
</xsl:choose>
|
4172
|
+
</xsl:otherwise>
|
4173
|
+
</xsl:choose>
|
4174
|
+
<xsl:if test="*[local-name() = 'organization']/*[local-name() = 'name'] and position() != last()">
|
4175
|
+
<xsl:text>, </xsl:text>
|
4176
|
+
</xsl:if>
|
4177
|
+
</xsl:for-each>
|
4178
|
+
|
4179
|
+
<xsl:apply-templates select="*[local-name() = 'uri'][1]"/>
|
4180
|
+
|
4181
|
+
</xsl:otherwise>
|
4182
|
+
</xsl:choose>
|
4183
|
+
<!-- end IHO bibitem processing -->
|
4184
|
+
|
4185
|
+
</xsl:template><xsl:template name="processBibitemDocId">
|
4186
|
+
<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')]"/>
|
4187
|
+
<xsl:choose>
|
4188
|
+
<xsl:when test="normalize-space($_doc_ident) != ''">
|
4189
|
+
<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"/>
|
4190
|
+
<xsl:if test="$type != '' and not(contains($_doc_ident, $type))">
|
4191
|
+
<xsl:value-of select="$type"/><xsl:text> </xsl:text>
|
4192
|
+
</xsl:if>
|
4193
|
+
<xsl:value-of select="$_doc_ident"/>
|
4194
|
+
</xsl:when>
|
4195
|
+
<xsl:otherwise>
|
4196
|
+
<xsl:variable name="type" select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]/@type"/>
|
4197
|
+
<xsl:if test="$type != ''">
|
4198
|
+
<xsl:value-of select="$type"/><xsl:text> </xsl:text>
|
4199
|
+
</xsl:if>
|
4200
|
+
<xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]"/>
|
4201
|
+
</xsl:otherwise>
|
4202
|
+
</xsl:choose>
|
4203
|
+
</xsl:template><xsl:template name="processPersonalAuthor">
|
4204
|
+
<xsl:choose>
|
4205
|
+
<xsl:when test="*[local-name() = 'name']/*[local-name() = 'completename']">
|
4206
|
+
<author>
|
4207
|
+
<xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'completename']"/>
|
4208
|
+
</author>
|
4209
|
+
</xsl:when>
|
4210
|
+
<xsl:when test="*[local-name() = 'name']/*[local-name() = 'surname'] and *[local-name() = 'name']/*[local-name() = 'initial']">
|
4211
|
+
<author>
|
4212
|
+
<xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'surname']"/>
|
4213
|
+
<xsl:text> </xsl:text>
|
4214
|
+
<xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'initial']" mode="strip"/>
|
4215
|
+
</author>
|
4216
|
+
</xsl:when>
|
4217
|
+
<xsl:when test="*[local-name() = 'name']/*[local-name() = 'surname'] and *[local-name() = 'name']/*[local-name() = 'forename']">
|
4218
|
+
<author>
|
4219
|
+
<xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'surname']"/>
|
4220
|
+
<xsl:text> </xsl:text>
|
4221
|
+
<xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'forename']" mode="strip"/>
|
4222
|
+
</author>
|
4223
|
+
</xsl:when>
|
4224
|
+
<xsl:otherwise>
|
4225
|
+
<xsl:apply-templates/>
|
4226
|
+
</xsl:otherwise>
|
4227
|
+
</xsl:choose>
|
4228
|
+
</xsl:template><xsl:template name="renderDate">
|
4229
|
+
<xsl:if test="normalize-space(*[local-name() = 'on']) != ''">
|
4230
|
+
<xsl:value-of select="*[local-name() = 'on']"/>
|
4231
|
+
</xsl:if>
|
4232
|
+
<xsl:if test="normalize-space(*[local-name() = 'from']) != ''">
|
4233
|
+
<xsl:value-of select="concat(*[local-name() = 'from'], '–', *[local-name() = 'to'])"/>
|
4234
|
+
</xsl:if>
|
4235
|
+
</xsl:template><xsl:template match="*[local-name() = 'name']/*[local-name() = 'initial']/text()" mode="strip">
|
4236
|
+
<xsl:value-of select="translate(.,'. ','')"/>
|
4237
|
+
</xsl:template><xsl:template match="*[local-name() = 'name']/*[local-name() = 'forename']/text()" mode="strip">
|
4238
|
+
<xsl:value-of select="substring(.,1,1)"/>
|
3450
4239
|
</xsl:template><xsl:template name="convertDate">
|
3451
4240
|
<xsl:param name="date"/>
|
3452
4241
|
<xsl:param name="format" select="'short'"/>
|
@@ -3525,6 +4314,7 @@
|
|
3525
4314
|
<dc:title>
|
3526
4315
|
<xsl:variable name="title">
|
3527
4316
|
|
4317
|
+
|
3528
4318
|
|
3529
4319
|
<xsl:value-of select="/*/*[local-name() = 'bibdata']/*[local-name() = 'title'][@language = 'en']"/>
|
3530
4320
|
|
@@ -3545,6 +4335,7 @@
|
|
3545
4335
|
<xsl:value-of select="/*/*[local-name() = 'bibdata']/*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']/*[local-name() = 'organization']/*[local-name() = 'name']"/>
|
3546
4336
|
|
3547
4337
|
|
4338
|
+
|
3548
4339
|
</dc:creator>
|
3549
4340
|
<dc:description>
|
3550
4341
|
<xsl:variable name="abstract">
|
@@ -3554,6 +4345,7 @@
|
|
3554
4345
|
|
3555
4346
|
|
3556
4347
|
|
4348
|
+
|
3557
4349
|
</xsl:variable>
|
3558
4350
|
<xsl:value-of select="normalize-space($abstract)"/>
|
3559
4351
|
</dc:description>
|
@@ -3654,6 +4446,7 @@
|
|
3654
4446
|
|
3655
4447
|
|
3656
4448
|
|
4449
|
+
|
3657
4450
|
</xsl:variable>
|
3658
4451
|
<xsl:if test="$documentNS != $XSLNS">
|
3659
4452
|
<xsl:message>[WARNING]: Document namespace: '<xsl:value-of select="$documentNS"/>' doesn't equal to xslt namespace '<xsl:value-of select="$XSLNS"/>'</xsl:message>
|
@@ -3679,4 +4472,21 @@
|
|
3679
4472
|
</xsl:otherwise>
|
3680
4473
|
</xsl:choose>
|
3681
4474
|
</xsl:attribute>
|
4475
|
+
</xsl:template><xsl:template name="add-letter-spacing">
|
4476
|
+
<xsl:param name="text"/>
|
4477
|
+
<xsl:param name="letter-spacing" select="'0.15'"/>
|
4478
|
+
<xsl:if test="string-length($text) > 0">
|
4479
|
+
<xsl:variable name="char" select="substring($text, 1, 1)"/>
|
4480
|
+
<fo:inline padding-right="{$letter-spacing}mm">
|
4481
|
+
<xsl:if test="$char = '®'">
|
4482
|
+
<xsl:attribute name="font-size">58%</xsl:attribute>
|
4483
|
+
<xsl:attribute name="baseline-shift">30%</xsl:attribute>
|
4484
|
+
</xsl:if>
|
4485
|
+
<xsl:value-of select="$char"/>
|
4486
|
+
</fo:inline>
|
4487
|
+
<xsl:call-template name="add-letter-spacing">
|
4488
|
+
<xsl:with-param name="text" select="substring($text, 2)"/>
|
4489
|
+
<xsl:with-param name="letter-spacing" select="$letter-spacing"/>
|
4490
|
+
</xsl:call-template>
|
4491
|
+
</xsl:if>
|
3682
4492
|
</xsl:template></xsl:stylesheet>
|