metanorma-ogc 1.2.15 → 1.2.16
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/rake.yml +9 -32
- data/lib/asciidoctor/ogc/converter.rb +9 -10
- data/lib/asciidoctor/ogc/isodoc.rng +23 -1
- data/lib/asciidoctor/ogc/ogc.rng +16 -0
- data/lib/isodoc/ogc/base_convert.rb +15 -1
- data/lib/isodoc/ogc/html/htmlstyle.css +3 -0
- data/lib/isodoc/ogc/html/htmlstyle.scss +4 -0
- data/lib/isodoc/ogc/html/ogc.css +3 -0
- data/lib/isodoc/ogc/html/ogc.scss +3 -0
- data/lib/isodoc/ogc/ogc.abstract-specification-topic.xsl +268 -88
- data/lib/isodoc/ogc/ogc.best-practice.xsl +268 -88
- data/lib/isodoc/ogc/ogc.change-request-supporting-document.xsl +268 -88
- data/lib/isodoc/ogc/ogc.community-practice.xsl +268 -88
- data/lib/isodoc/ogc/ogc.community-standard.xsl +268 -88
- data/lib/isodoc/ogc/ogc.discussion-paper.xsl +268 -88
- data/lib/isodoc/ogc/ogc.engineering-report.xsl +268 -88
- data/lib/isodoc/ogc/ogc.other.xsl +268 -88
- data/lib/isodoc/ogc/ogc.policy.xsl +268 -88
- data/lib/isodoc/ogc/ogc.reference-model.xsl +268 -88
- data/lib/isodoc/ogc/ogc.release-notes.xsl +268 -88
- data/lib/isodoc/ogc/ogc.standard.xsl +268 -88
- data/lib/isodoc/ogc/ogc.test-suite.xsl +268 -88
- data/lib/isodoc/ogc/ogc.user-guide.xsl +268 -88
- data/lib/isodoc/ogc/ogc.white-paper.xsl +270 -90
- data/lib/metanorma/ogc/version.rb +1 -1
- data/metanorma-ogc.gemspec +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 816ca1ce2154ba61cd550a0b550929268b5afffc1e0169bad4e068826213f1b2
|
4
|
+
data.tar.gz: 67d972963e5c5e9e5451ed5de9f16f5bc7ee25954c4db4e5c9773d090dad9b72
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5e1cbd0845909917b8b160abba46bec7ea9b86bc1b32277df618a97034824fd59e4122e1e95734c8b416307ddc148e328897ba0ff803ed259fe0ac0930347f81
|
7
|
+
data.tar.gz: 867108d5fb51c724b538929614bcbce7ef9f10416a9c97a70273a995d6e046b8fd3f2f9dbeaecea273699bf402ac68ca0427ec07d4ee0993e96208551a50f9f6
|
data/.github/workflows/rake.yml
CHANGED
@@ -4,7 +4,7 @@ name: rake
|
|
4
4
|
|
5
5
|
on:
|
6
6
|
push:
|
7
|
-
branches: [ master, main
|
7
|
+
branches: [ master, main ]
|
8
8
|
tags: [ v* ]
|
9
9
|
pull_request:
|
10
10
|
|
@@ -16,50 +16,27 @@ jobs:
|
|
16
16
|
strategy:
|
17
17
|
fail-fast: false
|
18
18
|
matrix:
|
19
|
-
ruby: [ '2.6', '2.5', '2.4' ]
|
19
|
+
ruby: [ '2.7', '2.6', '2.5', '2.4' ]
|
20
20
|
os: [ ubuntu-latest, windows-latest, macos-latest ]
|
21
21
|
experimental: [ false ]
|
22
22
|
include:
|
23
|
-
- ruby: '
|
23
|
+
- ruby: '3.0'
|
24
24
|
os: 'ubuntu-latest'
|
25
25
|
experimental: true
|
26
|
-
- ruby: '
|
26
|
+
- ruby: '3.0'
|
27
27
|
os: 'windows-latest'
|
28
28
|
experimental: true
|
29
|
-
- ruby: '
|
29
|
+
- ruby: '3.0'
|
30
30
|
os: 'macos-latest'
|
31
31
|
experimental: true
|
32
32
|
steps:
|
33
|
-
- uses: actions/checkout@
|
33
|
+
- uses: actions/checkout@v2
|
34
|
+
with:
|
35
|
+
submodules: true
|
34
36
|
|
35
37
|
- uses: ruby/setup-ruby@v1
|
36
38
|
with:
|
37
39
|
ruby-version: ${{ matrix.ruby }}
|
38
|
-
|
39
|
-
- if: matrix.os == 'macos-latest'
|
40
|
-
run: brew install autoconf automake libtool
|
41
|
-
|
42
|
-
- uses: actions/cache@v2
|
43
|
-
with:
|
44
|
-
path: vendor/bundle
|
45
|
-
key: bundle-${{ matrix.os }}-${{ matrix.ruby }}-${{ hashFiles('**/*.gemspec') }}
|
46
|
-
restore-keys: bundle-${{ matrix.os }}-${{ matrix.ruby }}
|
47
|
-
|
48
|
-
- run: bundle config set path 'vendor/bundle'
|
49
|
-
|
50
|
-
- run: bundle install --jobs 4 --retry 3
|
40
|
+
bundler-cache: true
|
51
41
|
|
52
42
|
- run: bundle exec rake
|
53
|
-
|
54
|
-
tests-passed:
|
55
|
-
needs: rake
|
56
|
-
runs-on: ubuntu-latest
|
57
|
-
steps:
|
58
|
-
- name: Trigger tests passed event
|
59
|
-
uses: Sibz/github-status-action@v1
|
60
|
-
with:
|
61
|
-
authToken: ${{ secrets.METANORMA_CI_PAT_TOKEN || secrets.GITHUB_TOKEN }}
|
62
|
-
context: 'tests-passed-successfully'
|
63
|
-
description: 'Tests passed successfully'
|
64
|
-
state: 'success'
|
65
|
-
sha: ${{ github.event.pull_request.head.sha || github.sha }}
|
@@ -55,18 +55,14 @@ module Asciidoctor
|
|
55
55
|
def outputs(node, ret)
|
56
56
|
File.open(@filename + ".xml", "w:UTF-8") { |f| f.write(ret) }
|
57
57
|
presentation_xml_converter(node).convert(@filename + ".xml")
|
58
|
-
html_converter(node).convert(@filename + ".presentation.xml",
|
59
|
-
|
60
|
-
|
61
|
-
nil, false, "#{@filename}.doc")
|
62
|
-
pdf_converter(node)&.convert(@filename + ".presentation.xml",
|
63
|
-
nil, false, "#{@filename}.pdf")
|
58
|
+
html_converter(node).convert(@filename + ".presentation.xml", nil, false, "#{@filename}.html")
|
59
|
+
doc_converter(node).convert(@filename + ".presentation.xml", nil, false, "#{@filename}.doc")
|
60
|
+
pdf_converter(node)&.convert(@filename + ".presentation.xml", nil, false, "#{@filename}.pdf")
|
64
61
|
end
|
65
62
|
|
66
63
|
def validate(doc)
|
67
64
|
content_validate(doc)
|
68
|
-
schema_validate(formattedstr_strip(doc.dup),
|
69
|
-
File.join(File.dirname(__FILE__), "ogc.rng"))
|
65
|
+
schema_validate(formattedstr_strip(doc.dup), File.join(File.dirname(__FILE__), "ogc.rng"))
|
70
66
|
end
|
71
67
|
|
72
68
|
def sections_cleanup(x)
|
@@ -132,8 +128,11 @@ module Asciidoctor
|
|
132
128
|
def bibdata_cleanup(xmldoc)
|
133
129
|
super
|
134
130
|
a = xmldoc.at("//bibdata/status/stage")
|
135
|
-
a.text == "published" and
|
136
|
-
|
131
|
+
a.text == "published" and a.children = "approved"
|
132
|
+
end
|
133
|
+
|
134
|
+
def highlight_parse(text, xml)
|
135
|
+
xml.hi { |s| s << text }
|
137
136
|
end
|
138
137
|
|
139
138
|
def presentation_xml_converter(node)
|
@@ -102,7 +102,7 @@
|
|
102
102
|
</attribute>
|
103
103
|
</optional>
|
104
104
|
<oneOrMore>
|
105
|
-
<ref name="
|
105
|
+
<ref name="ul_li"/>
|
106
106
|
</oneOrMore>
|
107
107
|
<zeroOrMore>
|
108
108
|
<ref name="note"/>
|
@@ -1716,4 +1716,26 @@
|
|
1716
1716
|
</zeroOrMore>
|
1717
1717
|
</element>
|
1718
1718
|
</define>
|
1719
|
+
<define name="ul_li">
|
1720
|
+
<element name="li">
|
1721
|
+
<optional>
|
1722
|
+
<attribute name="id">
|
1723
|
+
<data type="ID"/>
|
1724
|
+
</attribute>
|
1725
|
+
</optional>
|
1726
|
+
<optional>
|
1727
|
+
<attribute name="uncheckedcheckbox">
|
1728
|
+
<data type="boolean"/>
|
1729
|
+
</attribute>
|
1730
|
+
</optional>
|
1731
|
+
<optional>
|
1732
|
+
<attribute name="checkedcheckbox">
|
1733
|
+
<data type="boolean"/>
|
1734
|
+
</attribute>
|
1735
|
+
</optional>
|
1736
|
+
<oneOrMore>
|
1737
|
+
<ref name="BasicBlock"/>
|
1738
|
+
</oneOrMore>
|
1739
|
+
</element>
|
1740
|
+
</define>
|
1719
1741
|
</grammar>
|
data/lib/asciidoctor/ogc/ogc.rng
CHANGED
@@ -63,6 +63,22 @@
|
|
63
63
|
</element>
|
64
64
|
</define>
|
65
65
|
</include>
|
66
|
+
<define name="TextElement" combine="choice">
|
67
|
+
<ref name="hi"/>
|
68
|
+
</define>
|
69
|
+
<define name="PureTextElement" combine="choice">
|
70
|
+
<ref name="hi"/>
|
71
|
+
</define>
|
72
|
+
<define name="hi">
|
73
|
+
<element name="hi">
|
74
|
+
<zeroOrMore>
|
75
|
+
<choice>
|
76
|
+
<ref name="PureTextElement"/>
|
77
|
+
<ref name="stem"/>
|
78
|
+
</choice>
|
79
|
+
</zeroOrMore>
|
80
|
+
</element>
|
81
|
+
</define>
|
66
82
|
<define name="docsubtype">
|
67
83
|
<element name="docsubtype">
|
68
84
|
<choice>
|
@@ -6,6 +6,20 @@ require "fileutils"
|
|
6
6
|
module IsoDoc
|
7
7
|
module Ogc
|
8
8
|
module BaseConvert
|
9
|
+
def error_parse(node, out)
|
10
|
+
case node.name
|
11
|
+
when "hi" then hi_parse(node, out)
|
12
|
+
else
|
13
|
+
super
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def hi_parse(node, out)
|
18
|
+
out.span **{class: "hi"} do |e|
|
19
|
+
node.children.each { |n| parse(n, e) }
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
9
23
|
def cleanup(docxml)
|
10
24
|
super
|
11
25
|
term_cleanup(docxml)
|
@@ -37,7 +51,7 @@ module IsoDoc
|
|
37
51
|
|
38
52
|
def middle_clause(_docxml)
|
39
53
|
"//clause[parent::sections][not(@type = 'scope' or "\
|
40
|
-
|
54
|
+
"@type = 'conformance')][not(descendant::terms)]"
|
41
55
|
end
|
42
56
|
|
43
57
|
def is_clause?(name)
|
data/lib/isodoc/ogc/html/ogc.css
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
<xsl:output version="1.0" method="xml" encoding="UTF-8" indent="no"/>
|
4
4
|
|
5
5
|
<xsl:param name="svg_images"/>
|
6
|
+
<xsl:param name="external_index"/><!-- path to index xml, generated on 1st pass, based on FOP Intermediate Format -->
|
6
7
|
<xsl:variable name="images" select="document($svg_images)"/>
|
7
8
|
|
8
9
|
<xsl:variable name="pageWidth" select="'215.9mm'"/>
|
@@ -101,7 +102,9 @@
|
|
101
102
|
|
102
103
|
</fo:layout-master-set>
|
103
104
|
|
104
|
-
<
|
105
|
+
<fo:declarations>
|
106
|
+
<xsl:call-template name="addPDFUAmeta"/>
|
107
|
+
</fo:declarations>
|
105
108
|
|
106
109
|
<xsl:call-template name="addBookmarks">
|
107
110
|
<xsl:with-param name="contents" select="$contents"/>
|
@@ -1760,6 +1763,7 @@
|
|
1760
1763
|
|
1761
1764
|
|
1762
1765
|
|
1766
|
+
|
1763
1767
|
|
1764
1768
|
<xsl:attribute name="margin-bottom">14pt</xsl:attribute>
|
1765
1769
|
|
@@ -2397,7 +2401,15 @@
|
|
2397
2401
|
</xsl:template><xsl:template match="*[local-name()='link']" mode="td_text">
|
2398
2402
|
<xsl:value-of select="@target"/>
|
2399
2403
|
</xsl:template><xsl:template match="*[local-name()='math']" mode="td_text">
|
2400
|
-
<xsl:variable name="
|
2404
|
+
<xsl:variable name="mathml">
|
2405
|
+
<xsl:for-each select="*">
|
2406
|
+
<xsl:if test="local-name() != 'unit' and local-name() != 'prefix' and local-name() != 'dimension' and local-name() != 'quantity'">
|
2407
|
+
<xsl:copy-of select="."/>
|
2408
|
+
</xsl:if>
|
2409
|
+
</xsl:for-each>
|
2410
|
+
</xsl:variable>
|
2411
|
+
|
2412
|
+
<xsl:variable name="math_text" select="normalize-space(xalan:nodeset($mathml))"/>
|
2401
2413
|
<xsl:value-of select="translate($math_text, ' ', '#')"/><!-- mathml images as one 'word' without spaces -->
|
2402
2414
|
</xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
|
2403
2415
|
<xsl:param name="cols-count"/>
|
@@ -3382,6 +3394,10 @@
|
|
3382
3394
|
<fo:inline font-size="10pt" color="red" text-decoration="line-through">
|
3383
3395
|
<xsl:apply-templates/>
|
3384
3396
|
</fo:inline>
|
3397
|
+
</xsl:template><xsl:template match="*[local-name()='hi']">
|
3398
|
+
<fo:inline background-color="yellow">
|
3399
|
+
<xsl:apply-templates/>
|
3400
|
+
</fo:inline>
|
3385
3401
|
</xsl:template><xsl:template match="text()[ancestor::*[local-name()='smallcap']]">
|
3386
3402
|
<xsl:variable name="text" select="normalize-space(.)"/>
|
3387
3403
|
<fo:inline font-size="75%">
|
@@ -3722,6 +3738,7 @@
|
|
3722
3738
|
<xsl:apply-templates select="." mode="mathml"/>
|
3723
3739
|
</xsl:variable>
|
3724
3740
|
<fo:instream-foreign-object fox:alt-text="Math">
|
3741
|
+
|
3725
3742
|
<!-- <xsl:copy-of select="."/> -->
|
3726
3743
|
<xsl:copy-of select="xalan:nodeset($mathml)"/>
|
3727
3744
|
</fo:instream-foreign-object>
|
@@ -3740,7 +3757,7 @@
|
|
3740
3757
|
<xsl:apply-templates select="@*|node()" mode="mathml"/>
|
3741
3758
|
</xsl:copy>
|
3742
3759
|
<mathml:mspace width="0.5ex"/>
|
3743
|
-
</xsl:template><xsl:template match="*[local-name()='localityStack']"/><xsl:template match="*[local-name()='link']" name="link">
|
3760
|
+
</xsl:template><xsl:template match="mathml:math/*[local-name()='unit']" mode="mathml"/><xsl:template match="mathml:math/*[local-name()='prefix']" mode="mathml"/><xsl:template match="mathml:math/*[local-name()='dimension']" mode="mathml"/><xsl:template match="mathml:math/*[local-name()='quantity']" mode="mathml"/><xsl:template match="*[local-name()='localityStack']"/><xsl:template match="*[local-name()='link']" name="link">
|
3744
3761
|
<xsl:variable name="target">
|
3745
3762
|
<xsl:choose>
|
3746
3763
|
<xsl:when test="starts-with(normalize-space(@target), 'mailto:')">
|
@@ -3774,8 +3791,6 @@
|
|
3774
3791
|
</xsl:otherwise>
|
3775
3792
|
</xsl:choose>
|
3776
3793
|
</fo:inline>
|
3777
|
-
</xsl:template><xsl:template match="*[local-name()='bookmark']">
|
3778
|
-
<fo:inline id="{@id}"/>
|
3779
3794
|
</xsl:template><xsl:template match="*[local-name()='appendix']">
|
3780
3795
|
<fo:block id="{@id}" xsl:use-attribute-sets="appendix-style">
|
3781
3796
|
<xsl:apply-templates select="*[local-name()='title']" mode="process"/>
|
@@ -3990,6 +4005,7 @@
|
|
3990
4005
|
<fo:block id="{@id}">
|
3991
4006
|
<xsl:apply-templates/>
|
3992
4007
|
</fo:block>
|
4008
|
+
<xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
|
3993
4009
|
</xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']//*[local-name() = 'p']">
|
3994
4010
|
<fo:block xsl:use-attribute-sets="figure-pseudocode-p-style">
|
3995
4011
|
<xsl:apply-templates/>
|
@@ -4624,9 +4640,10 @@
|
|
4624
4640
|
</xsl:choose>
|
4625
4641
|
|
4626
4642
|
</xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
|
4627
|
-
|
4643
|
+
<xsl:variable name="num"><xsl:number/></xsl:variable>
|
4628
4644
|
<xsl:variable name="element">
|
4629
4645
|
|
4646
|
+
|
4630
4647
|
inline
|
4631
4648
|
</xsl:variable>
|
4632
4649
|
<xsl:choose>
|
@@ -4730,30 +4747,48 @@
|
|
4730
4747
|
<xsl:text>— </xsl:text>
|
4731
4748
|
<xsl:apply-templates/>
|
4732
4749
|
</xsl:template><xsl:template match="*[local-name() = 'eref']">
|
4733
|
-
|
4734
|
-
|
4735
|
-
|
4736
|
-
|
4737
|
-
|
4738
|
-
|
4739
|
-
|
4740
|
-
|
4741
|
-
|
4742
|
-
|
4743
|
-
|
4744
|
-
|
4745
|
-
|
4746
|
-
|
4747
|
-
|
4748
|
-
|
4749
|
-
|
4750
|
-
|
4751
|
-
|
4752
|
-
|
4753
|
-
|
4754
|
-
|
4755
|
-
|
4756
|
-
|
4750
|
+
|
4751
|
+
<xsl:variable name="bibitemid">
|
4752
|
+
<xsl:choose>
|
4753
|
+
<xsl:when test="//*[local-name() = 'bibitem'][@hidden='true' and @id = current()/@bibitemid]"/>
|
4754
|
+
<xsl:when test="//*[local-name() = 'references'][@hidden='true']/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"/>
|
4755
|
+
<xsl:otherwise><xsl:value-of select="@bibitemid"/></xsl:otherwise>
|
4756
|
+
</xsl:choose>
|
4757
|
+
</xsl:variable>
|
4758
|
+
|
4759
|
+
<xsl:choose>
|
4760
|
+
<xsl:when test="normalize-space($bibitemid) != ''">
|
4761
|
+
<fo:inline xsl:use-attribute-sets="eref-style">
|
4762
|
+
<xsl:if test="@type = 'footnote'">
|
4763
|
+
|
4764
|
+
<xsl:attribute name="keep-together.within-line">always</xsl:attribute>
|
4765
|
+
<xsl:attribute name="font-size">80%</xsl:attribute>
|
4766
|
+
<xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
|
4767
|
+
<xsl:attribute name="vertical-align">super</xsl:attribute>
|
4768
|
+
|
4769
|
+
|
4770
|
+
</xsl:if>
|
4771
|
+
|
4772
|
+
<fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
|
4773
|
+
<xsl:if test="normalize-space(@citeas) = ''">
|
4774
|
+
<xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
|
4775
|
+
</xsl:if>
|
4776
|
+
<xsl:if test="@type = 'inline'">
|
4777
|
+
|
4778
|
+
|
4779
|
+
|
4780
|
+
|
4781
|
+
</xsl:if>
|
4782
|
+
|
4783
|
+
<xsl:apply-templates/>
|
4784
|
+
</fo:basic-link>
|
4785
|
+
|
4786
|
+
</fo:inline>
|
4787
|
+
</xsl:when>
|
4788
|
+
<xsl:otherwise>
|
4789
|
+
<fo:inline><xsl:apply-templates/></fo:inline>
|
4790
|
+
</xsl:otherwise>
|
4791
|
+
</xsl:choose>
|
4757
4792
|
</xsl:template><xsl:template match="*[local-name() = 'tab']">
|
4758
4793
|
<!-- zero-space char -->
|
4759
4794
|
<xsl:variable name="depth">
|
@@ -4936,6 +4971,153 @@
|
|
4936
4971
|
</fo:block>
|
4937
4972
|
</xsl:otherwise>
|
4938
4973
|
</xsl:choose>
|
4974
|
+
</xsl:template><xsl:variable name="index" select="document($external_index)"/><xsl:variable name="dash" select="'–'"/><xsl:variable name="bookmark_in_fn">
|
4975
|
+
<xsl:for-each select="//*[local-name() = 'bookmark'][ancestor::*[local-name() = 'fn']]">
|
4976
|
+
<bookmark><xsl:value-of select="@id"/></bookmark>
|
4977
|
+
</xsl:for-each>
|
4978
|
+
</xsl:variable><xsl:template match="@*|node()" mode="index_add_id">
|
4979
|
+
<xsl:copy>
|
4980
|
+
<xsl:apply-templates select="@*|node()" mode="index_add_id"/>
|
4981
|
+
</xsl:copy>
|
4982
|
+
</xsl:template><xsl:template match="*[local-name() = 'xref']" mode="index_add_id">
|
4983
|
+
<xsl:variable name="id">
|
4984
|
+
<xsl:call-template name="generateIndexXrefId"/>
|
4985
|
+
</xsl:variable>
|
4986
|
+
<xsl:copy> <!-- add id to xref -->
|
4987
|
+
<xsl:apply-templates select="@*" mode="index_add_id"/>
|
4988
|
+
<xsl:attribute name="id">
|
4989
|
+
<xsl:value-of select="$id"/>
|
4990
|
+
</xsl:attribute>
|
4991
|
+
<xsl:apply-templates mode="index_add_id"/>
|
4992
|
+
</xsl:copy>
|
4993
|
+
<!-- split <xref target="bm1" to="End" pagenumber="true"> to two xref:
|
4994
|
+
<xref target="bm1" pagenumber="true"> and <xref target="End" pagenumber="true"> -->
|
4995
|
+
<xsl:if test="@to">
|
4996
|
+
<xsl:value-of select="$dash"/>
|
4997
|
+
<xsl:copy>
|
4998
|
+
<xsl:copy-of select="@*"/>
|
4999
|
+
<xsl:attribute name="target"><xsl:value-of select="@to"/></xsl:attribute>
|
5000
|
+
<xsl:attribute name="id">
|
5001
|
+
<xsl:value-of select="$id"/><xsl:text>_to</xsl:text>
|
5002
|
+
</xsl:attribute>
|
5003
|
+
<xsl:apply-templates mode="index_add_id"/>
|
5004
|
+
</xsl:copy>
|
5005
|
+
</xsl:if>
|
5006
|
+
</xsl:template><xsl:template match="@*|node()" mode="index_update">
|
5007
|
+
<xsl:copy>
|
5008
|
+
<xsl:apply-templates select="@*|node()" mode="index_update"/>
|
5009
|
+
</xsl:copy>
|
5010
|
+
</xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'li']" mode="index_update">
|
5011
|
+
<xsl:copy>
|
5012
|
+
<xsl:apply-templates select="@*" mode="index_update"/>
|
5013
|
+
<xsl:apply-templates select="node()[1]" mode="process_li_element"/>
|
5014
|
+
</xsl:copy>
|
5015
|
+
</xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'li']/node()" mode="process_li_element" priority="2">
|
5016
|
+
<xsl:param name="element"/>
|
5017
|
+
<xsl:param name="remove" select="'false'"/>
|
5018
|
+
<xsl:param name="target"/>
|
5019
|
+
<!-- <node></node> -->
|
5020
|
+
<xsl:choose>
|
5021
|
+
<xsl:when test="self::text() and (normalize-space(.) = ',' or normalize-space(.) = $dash) and $remove = 'true'">
|
5022
|
+
<!-- skip text (i.e. remove it) and process next element -->
|
5023
|
+
<!-- [removed_<xsl:value-of select="."/>] -->
|
5024
|
+
<xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element">
|
5025
|
+
<xsl:with-param name="target"><xsl:value-of select="$target"/></xsl:with-param>
|
5026
|
+
</xsl:apply-templates>
|
5027
|
+
</xsl:when>
|
5028
|
+
<xsl:when test="self::text()">
|
5029
|
+
<xsl:value-of select="."/>
|
5030
|
+
<xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element"/>
|
5031
|
+
</xsl:when>
|
5032
|
+
<xsl:when test="self::* and local-name(.) = 'xref'">
|
5033
|
+
<xsl:variable name="id" select="@id"/>
|
5034
|
+
<xsl:variable name="page" select="$index//item[@id = $id]"/>
|
5035
|
+
<xsl:variable name="id_next" select="following-sibling::*[local-name() = 'xref'][1]/@id"/>
|
5036
|
+
<xsl:variable name="page_next" select="$index//item[@id = $id_next]"/>
|
5037
|
+
|
5038
|
+
<xsl:variable name="id_prev" select="preceding-sibling::*[local-name() = 'xref'][1]/@id"/>
|
5039
|
+
<xsl:variable name="page_prev" select="$index//item[@id = $id_prev]"/>
|
5040
|
+
|
5041
|
+
<xsl:choose>
|
5042
|
+
<!-- 2nd pass -->
|
5043
|
+
<!-- if page is equal to page for next and page is not the end of range -->
|
5044
|
+
<xsl:when test="$page != '' and $page_next != '' and $page = $page_next and not(contains($page, '_to'))"> <!-- case: 12, 12-14 -->
|
5045
|
+
<!-- skip element (i.e. remove it) and remove next text ',' -->
|
5046
|
+
<!-- [removed_xref] -->
|
5047
|
+
|
5048
|
+
<xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element">
|
5049
|
+
<xsl:with-param name="remove">true</xsl:with-param>
|
5050
|
+
<xsl:with-param name="target">
|
5051
|
+
<xsl:choose>
|
5052
|
+
<xsl:when test="$target != ''"><xsl:value-of select="$target"/></xsl:when>
|
5053
|
+
<xsl:otherwise><xsl:value-of select="@target"/></xsl:otherwise>
|
5054
|
+
</xsl:choose>
|
5055
|
+
</xsl:with-param>
|
5056
|
+
</xsl:apply-templates>
|
5057
|
+
</xsl:when>
|
5058
|
+
|
5059
|
+
<xsl:when test="$page != '' and $page_prev != '' and $page = $page_prev and contains($page_prev, '_to')"> <!-- case: 12-14, 14, ... -->
|
5060
|
+
<!-- remove xref -->
|
5061
|
+
<xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element">
|
5062
|
+
<xsl:with-param name="remove">true</xsl:with-param>
|
5063
|
+
</xsl:apply-templates>
|
5064
|
+
</xsl:when>
|
5065
|
+
|
5066
|
+
<xsl:otherwise>
|
5067
|
+
<xsl:apply-templates select="." mode="xref_copy">
|
5068
|
+
<xsl:with-param name="target" select="$target"/>
|
5069
|
+
</xsl:apply-templates>
|
5070
|
+
<xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element"/>
|
5071
|
+
</xsl:otherwise>
|
5072
|
+
</xsl:choose>
|
5073
|
+
</xsl:when>
|
5074
|
+
<xsl:when test="self::* and local-name(.) = 'ul'">
|
5075
|
+
<!-- ul -->
|
5076
|
+
<xsl:apply-templates select="." mode="index_update"/>
|
5077
|
+
</xsl:when>
|
5078
|
+
<xsl:otherwise>
|
5079
|
+
<xsl:apply-templates select="." mode="xref_copy">
|
5080
|
+
<xsl:with-param name="target" select="$target"/>
|
5081
|
+
</xsl:apply-templates>
|
5082
|
+
<xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element"/>
|
5083
|
+
</xsl:otherwise>
|
5084
|
+
</xsl:choose>
|
5085
|
+
</xsl:template><xsl:template match="@*|node()" mode="xref_copy">
|
5086
|
+
<xsl:param name="target"/>
|
5087
|
+
<xsl:copy>
|
5088
|
+
<xsl:apply-templates select="@*" mode="xref_copy"/>
|
5089
|
+
<xsl:if test="$target != '' and not(xalan:nodeset($bookmark_in_fn)//bookmark[. = $target])">
|
5090
|
+
<xsl:attribute name="target"><xsl:value-of select="$target"/></xsl:attribute>
|
5091
|
+
</xsl:if>
|
5092
|
+
<xsl:apply-templates select="node()" mode="xref_copy"/>
|
5093
|
+
</xsl:copy>
|
5094
|
+
</xsl:template><xsl:template name="generateIndexXrefId">
|
5095
|
+
<xsl:variable name="level" select="count(ancestor::*[local-name() = 'ul'])"/>
|
5096
|
+
|
5097
|
+
<xsl:variable name="docid">
|
5098
|
+
<xsl:call-template name="getDocumentId"/>
|
5099
|
+
</xsl:variable>
|
5100
|
+
<xsl:variable name="item_number">
|
5101
|
+
<xsl:number count="*[local-name() = 'li'][ancestor::*[local-name() = 'indexsect']]" level="any"/>
|
5102
|
+
</xsl:variable>
|
5103
|
+
<xsl:variable name="xref_number"><xsl:number count="*[local-name() = 'xref']"/></xsl:variable>
|
5104
|
+
<xsl:value-of select="concat($docid, '_', $item_number, '_', $xref_number)"/> <!-- $level, '_', -->
|
5105
|
+
</xsl:template><xsl:template match="*[local-name() = 'indexsect']/*[local-name() = 'clause']" priority="4">
|
5106
|
+
<xsl:apply-templates/>
|
5107
|
+
<fo:block>
|
5108
|
+
<xsl:if test="following-sibling::*[local-name() = 'clause']">
|
5109
|
+
<fo:block> </fo:block>
|
5110
|
+
</xsl:if>
|
5111
|
+
</fo:block>
|
5112
|
+
</xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'ul']" priority="4">
|
5113
|
+
<xsl:apply-templates/>
|
5114
|
+
</xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'li']" priority="4">
|
5115
|
+
<xsl:variable name="level" select="count(ancestor::*[local-name() = 'ul'])"/>
|
5116
|
+
<fo:block start-indent="{5 * $level}mm" text-indent="-5mm">
|
5117
|
+
<xsl:apply-templates/>
|
5118
|
+
</fo:block>
|
5119
|
+
</xsl:template><xsl:template match="*[local-name() = 'bookmark']">
|
5120
|
+
<fo:inline id="{@id}"/>
|
4939
5121
|
</xsl:template><xsl:template match="*[local-name() = 'errata']">
|
4940
5122
|
<!-- <row>
|
4941
5123
|
<date>05-07-2013</date>
|
@@ -5294,70 +5476,68 @@
|
|
5294
5476
|
<xsl:variable name="lang">
|
5295
5477
|
<xsl:call-template name="getLang"/>
|
5296
5478
|
</xsl:variable>
|
5297
|
-
<
|
5298
|
-
|
5299
|
-
<pdf:
|
5300
|
-
|
5301
|
-
|
5302
|
-
|
5303
|
-
<
|
5304
|
-
<rdf:
|
5305
|
-
|
5306
|
-
|
5307
|
-
<
|
5308
|
-
<xsl:variable name="title">
|
5309
|
-
<xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
|
5310
|
-
|
5311
|
-
|
5312
|
-
|
5313
|
-
|
5314
|
-
<xsl:value-of select="*[local-name() = 'title'][@language = $lang]"/>
|
5315
|
-
|
5316
|
-
|
5317
|
-
|
5318
|
-
</xsl:for-each>
|
5319
|
-
</xsl:variable>
|
5320
|
-
<xsl:choose>
|
5321
|
-
<xsl:when test="normalize-space($title) != ''">
|
5322
|
-
<xsl:value-of select="$title"/>
|
5323
|
-
</xsl:when>
|
5324
|
-
<xsl:otherwise>
|
5325
|
-
<xsl:text> </xsl:text>
|
5326
|
-
</xsl:otherwise>
|
5327
|
-
</xsl:choose>
|
5328
|
-
</dc:title>
|
5329
|
-
<dc:creator>
|
5479
|
+
<pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
|
5480
|
+
<pdf:dictionary type="normal" key="ViewerPreferences">
|
5481
|
+
<pdf:boolean key="DisplayDocTitle">true</pdf:boolean>
|
5482
|
+
</pdf:dictionary>
|
5483
|
+
</pdf:catalog>
|
5484
|
+
<x:xmpmeta xmlns:x="adobe:ns:meta/">
|
5485
|
+
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
|
5486
|
+
<rdf:Description xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" rdf:about="">
|
5487
|
+
<!-- Dublin Core properties go here -->
|
5488
|
+
<dc:title>
|
5489
|
+
<xsl:variable name="title">
|
5330
5490
|
<xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
|
5331
5491
|
|
5332
|
-
<xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
|
5333
|
-
<xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
|
5334
|
-
<xsl:if test="position() != last()">; </xsl:if>
|
5335
|
-
</xsl:for-each>
|
5336
|
-
|
5337
5492
|
|
5338
5493
|
|
5339
|
-
|
5340
|
-
|
5341
|
-
<dc:description>
|
5342
|
-
<xsl:variable name="abstract">
|
5343
|
-
|
5344
|
-
<xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
|
5494
|
+
|
5495
|
+
<xsl:value-of select="*[local-name() = 'title'][@language = $lang]"/>
|
5345
5496
|
|
5346
5497
|
|
5347
|
-
|
5348
|
-
|
5349
|
-
</
|
5350
|
-
<
|
5351
|
-
<xsl:
|
5352
|
-
|
5353
|
-
|
5354
|
-
|
5355
|
-
|
5356
|
-
|
5357
|
-
|
5358
|
-
|
5359
|
-
|
5360
|
-
|
5498
|
+
|
5499
|
+
</xsl:for-each>
|
5500
|
+
</xsl:variable>
|
5501
|
+
<xsl:choose>
|
5502
|
+
<xsl:when test="normalize-space($title) != ''">
|
5503
|
+
<xsl:value-of select="$title"/>
|
5504
|
+
</xsl:when>
|
5505
|
+
<xsl:otherwise>
|
5506
|
+
<xsl:text> </xsl:text>
|
5507
|
+
</xsl:otherwise>
|
5508
|
+
</xsl:choose>
|
5509
|
+
</dc:title>
|
5510
|
+
<dc:creator>
|
5511
|
+
<xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
|
5512
|
+
|
5513
|
+
<xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
|
5514
|
+
<xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
|
5515
|
+
<xsl:if test="position() != last()">; </xsl:if>
|
5516
|
+
</xsl:for-each>
|
5517
|
+
|
5518
|
+
|
5519
|
+
|
5520
|
+
</xsl:for-each>
|
5521
|
+
</dc:creator>
|
5522
|
+
<dc:description>
|
5523
|
+
<xsl:variable name="abstract">
|
5524
|
+
|
5525
|
+
<xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
|
5526
|
+
|
5527
|
+
|
5528
|
+
</xsl:variable>
|
5529
|
+
<xsl:value-of select="normalize-space($abstract)"/>
|
5530
|
+
</dc:description>
|
5531
|
+
<pdf:Keywords>
|
5532
|
+
<xsl:call-template name="insertKeywords"/>
|
5533
|
+
</pdf:Keywords>
|
5534
|
+
</rdf:Description>
|
5535
|
+
<rdf:Description xmlns:xmp="http://ns.adobe.com/xap/1.0/" rdf:about="">
|
5536
|
+
<!-- XMP properties go here -->
|
5537
|
+
<xmp:CreatorTool/>
|
5538
|
+
</rdf:Description>
|
5539
|
+
</rdf:RDF>
|
5540
|
+
</x:xmpmeta>
|
5361
5541
|
</xsl:template><xsl:template name="getId">
|
5362
5542
|
<xsl:choose>
|
5363
5543
|
<xsl:when test="../@id">
|