metanorma-iho 0.2.14 → 0.2.15

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5cb49ef6f699fcc7e7491d55b57ddbca5b3a8608d5d237ffd19f38bb986ecc9c
4
- data.tar.gz: ddf0bc2624d07c74c7243b7b4b748a2be64f5f6dc98df690bd55fe8119834680
3
+ metadata.gz: dd084764cc365d72d94fabf29b38e4d387b2fa8b492c59f839c623dd0e55ba30
4
+ data.tar.gz: 580aff5d4154790bbc800d4fed5f435b87f2decf1b85ffd4b8eaa586b7ef712f
5
5
  SHA512:
6
- metadata.gz: cb70f5f8a5191c5a483631278bb81f030057eaa82db66a4bd323b2bc20243953286d5925a2ddc35cd4362bdefb5dabc704e2490b9a099ed01b6ce7035b8c0c9d
7
- data.tar.gz: c1f204b5e3445b68bb43976992c2f67559cd0ea9f3d9fae317e69f20e2a752efd57bba048dbc215c6864adb79cd0734b05df3feac704ebdd1ee387461aa9ab49
6
+ metadata.gz: 87c447db801103d23380fb84d05593349c46248b14665e1647ca03f0955943d76e9fcdc0a6ad7538ee65b74040ce9654c9e3808bd74eba62ab0f6375ecf7e886
7
+ data.tar.gz: cd2f7e8eb8993cb847f4aea6ff4b6270ff3af9e14eed4ac30bbe87d21d22e173c6e3442d8bfe82bc50d9520dd121daeb3e9616bc864976ec6970a35c5c3fac3a
@@ -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
 
@@ -37,35 +37,17 @@ jobs:
37
37
  ruby-version: ${{ matrix.ruby }}
38
38
  bundler-cache: true
39
39
 
40
- - name: install plantuml ubuntu
41
- if: matrix.os == 'ubuntu-latest'
42
- uses: nick-invision/retry@v1
43
- with:
44
- polling_interval_seconds: 5
45
- timeout_minutes: 5
46
- max_attempts: 3
47
- command: >
48
- sudo apt-get update -y && sudo bash -c
49
- "curl -L https://github.com/metanorma/plantuml-install/raw/master/ubuntu.sh | bash"
50
-
51
- - if: matrix.os == 'macos-latest'
52
- run: brew install plantuml
53
-
54
- - if: matrix.os == 'windows-latest'
55
- run: cinst -y plantuml
40
+ - uses: metanorma/metanorma-build-scripts/plantuml-setup-action@master
56
41
 
57
42
  - run: bundle exec rake
58
43
 
59
44
  tests-passed:
60
45
  needs: rake
61
46
  runs-on: ubuntu-latest
62
- continue-on-error: true
63
47
  steps:
64
- - name: Trigger tests passed event
65
- uses: Sibz/github-status-action@v1
48
+ - uses: peter-evans/repository-dispatch@v1
66
49
  with:
67
- authToken: ${{ secrets.METANORMA_CI_PAT_TOKEN || secrets.GITHUB_TOKEN }}
68
- context: 'tests-passed-successfully'
69
- description: 'Tests passed successfully'
70
- state: 'success'
71
- sha: ${{ github.event.pull_request.head.sha || github.sha }}
50
+ token: ${{ secrets.METANORMA_CI_PAT_TOKEN || secrets.GITHUB_TOKEN }}
51
+ repository: ${{ github.repository }}
52
+ event-type: notify
53
+ client-payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}"}'
@@ -102,7 +102,7 @@
102
102
  </attribute>
103
103
  </optional>
104
104
  <oneOrMore>
105
- <ref name="li"/>
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>
@@ -3,6 +3,7 @@
3
3
  <xsl:output 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
 
@@ -109,7 +110,9 @@
109
110
  </fo:page-sequence-master>
110
111
  </fo:layout-master-set>
111
112
 
112
- <xsl:call-template name="addPDFUAmeta"/>
113
+ <fo:declarations>
114
+ <xsl:call-template name="addPDFUAmeta"/>
115
+ </fo:declarations>
113
116
 
114
117
  <xsl:call-template name="addBookmarks">
115
118
  <xsl:with-param name="contents" select="$contents"/>
@@ -1224,6 +1227,7 @@
1224
1227
 
1225
1228
 
1226
1229
 
1230
+
1227
1231
  </xsl:attribute-set><xsl:attribute-set name="termexample-name-style">
1228
1232
 
1229
1233
 
@@ -1845,7 +1849,15 @@
1845
1849
  </xsl:template><xsl:template match="*[local-name()='link']" mode="td_text">
1846
1850
  <xsl:value-of select="@target"/>
1847
1851
  </xsl:template><xsl:template match="*[local-name()='math']" mode="td_text">
1848
- <xsl:variable name="math_text" select="normalize-space(.)"/>
1852
+ <xsl:variable name="mathml">
1853
+ <xsl:for-each select="*">
1854
+ <xsl:if test="local-name() != 'unit' and local-name() != 'prefix' and local-name() != 'dimension' and local-name() != 'quantity'">
1855
+ <xsl:copy-of select="."/>
1856
+ </xsl:if>
1857
+ </xsl:for-each>
1858
+ </xsl:variable>
1859
+
1860
+ <xsl:variable name="math_text" select="normalize-space(xalan:nodeset($mathml))"/>
1849
1861
  <xsl:value-of select="translate($math_text, ' ', '#')"/><!-- mathml images as one 'word' without spaces -->
1850
1862
  </xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
1851
1863
  <xsl:param name="cols-count"/>
@@ -2806,6 +2818,10 @@
2806
2818
  <fo:inline font-size="10pt" color="red" text-decoration="line-through">
2807
2819
  <xsl:apply-templates/>
2808
2820
  </fo:inline>
2821
+ </xsl:template><xsl:template match="*[local-name()='hi']">
2822
+ <fo:inline background-color="yellow">
2823
+ <xsl:apply-templates/>
2824
+ </fo:inline>
2809
2825
  </xsl:template><xsl:template match="text()[ancestor::*[local-name()='smallcap']]">
2810
2826
  <xsl:variable name="text" select="normalize-space(.)"/>
2811
2827
  <fo:inline font-size="75%">
@@ -3146,6 +3162,7 @@
3146
3162
  <xsl:apply-templates select="." mode="mathml"/>
3147
3163
  </xsl:variable>
3148
3164
  <fo:instream-foreign-object fox:alt-text="Math">
3165
+
3149
3166
  <!-- <xsl:copy-of select="."/> -->
3150
3167
  <xsl:copy-of select="xalan:nodeset($mathml)"/>
3151
3168
  </fo:instream-foreign-object>
@@ -3164,7 +3181,7 @@
3164
3181
  <xsl:apply-templates select="@*|node()" mode="mathml"/>
3165
3182
  </xsl:copy>
3166
3183
  <mathml:mspace width="0.5ex"/>
3167
- </xsl:template><xsl:template match="*[local-name()='localityStack']"/><xsl:template match="*[local-name()='link']" name="link">
3184
+ </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">
3168
3185
  <xsl:variable name="target">
3169
3186
  <xsl:choose>
3170
3187
  <xsl:when test="starts-with(normalize-space(@target), 'mailto:')">
@@ -3198,8 +3215,6 @@
3198
3215
  </xsl:otherwise>
3199
3216
  </xsl:choose>
3200
3217
  </fo:inline>
3201
- </xsl:template><xsl:template match="*[local-name()='bookmark']">
3202
- <fo:inline id="{@id}"/>
3203
3218
  </xsl:template><xsl:template match="*[local-name()='appendix']">
3204
3219
  <fo:block id="{@id}" xsl:use-attribute-sets="appendix-style">
3205
3220
  <xsl:apply-templates select="*[local-name()='title']" mode="process"/>
@@ -3410,6 +3425,7 @@
3410
3425
  <fo:block id="{@id}">
3411
3426
  <xsl:apply-templates/>
3412
3427
  </fo:block>
3428
+ <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3413
3429
  </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']//*[local-name() = 'p']">
3414
3430
  <fo:block xsl:use-attribute-sets="figure-pseudocode-p-style">
3415
3431
  <xsl:apply-templates/>
@@ -3993,10 +4009,11 @@
3993
4009
  </xsl:choose>
3994
4010
 
3995
4011
  </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
3996
-
4012
+ <xsl:variable name="num"><xsl:number/></xsl:variable>
3997
4013
  <xsl:variable name="element">
3998
4014
  block
3999
4015
 
4016
+
4000
4017
  </xsl:variable>
4001
4018
  <xsl:choose>
4002
4019
  <xsl:when test="normalize-space($element) = 'block'">
@@ -4100,32 +4117,50 @@
4100
4117
  <xsl:text>— </xsl:text>
4101
4118
  <xsl:apply-templates/>
4102
4119
  </xsl:template><xsl:template match="*[local-name() = 'eref']">
4103
- <fo:inline xsl:use-attribute-sets="eref-style">
4104
- <xsl:if test="@type = 'footnote'">
4105
-
4106
- <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
4107
- <xsl:attribute name="font-size">80%</xsl:attribute>
4108
- <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
4109
- <xsl:attribute name="vertical-align">super</xsl:attribute>
4110
-
4111
-
4112
- </xsl:if>
4113
-
4114
- <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
4115
-
4116
- <xsl:if test="@type = 'inline'">
4117
-
4118
- <xsl:attribute name="color">blue</xsl:attribute>
4119
- <xsl:attribute name="text-decoration">underline</xsl:attribute>
4120
-
4121
-
4122
-
4123
- </xsl:if>
4124
-
4125
-
4126
- <xsl:apply-templates/>
4127
- </fo:basic-link>
4128
- </fo:inline>
4120
+
4121
+ <xsl:variable name="bibitemid">
4122
+ <xsl:choose>
4123
+ <xsl:when test="//*[local-name() = 'bibitem'][@hidden='true' and @id = current()/@bibitemid]"/>
4124
+ <xsl:when test="//*[local-name() = 'references'][@hidden='true']/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"/>
4125
+ <xsl:otherwise><xsl:value-of select="@bibitemid"/></xsl:otherwise>
4126
+ </xsl:choose>
4127
+ </xsl:variable>
4128
+
4129
+ <xsl:choose>
4130
+ <xsl:when test="normalize-space($bibitemid) != ''">
4131
+ <fo:inline xsl:use-attribute-sets="eref-style">
4132
+ <xsl:if test="@type = 'footnote'">
4133
+
4134
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
4135
+ <xsl:attribute name="font-size">80%</xsl:attribute>
4136
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
4137
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
4138
+
4139
+
4140
+ </xsl:if>
4141
+
4142
+ <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
4143
+ <xsl:if test="normalize-space(@citeas) = ''">
4144
+ <xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
4145
+ </xsl:if>
4146
+ <xsl:if test="@type = 'inline'">
4147
+
4148
+ <xsl:attribute name="color">blue</xsl:attribute>
4149
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
4150
+
4151
+
4152
+
4153
+ </xsl:if>
4154
+
4155
+ <xsl:apply-templates/>
4156
+ </fo:basic-link>
4157
+
4158
+ </fo:inline>
4159
+ </xsl:when>
4160
+ <xsl:otherwise>
4161
+ <fo:inline><xsl:apply-templates/></fo:inline>
4162
+ </xsl:otherwise>
4163
+ </xsl:choose>
4129
4164
  </xsl:template><xsl:template match="*[local-name() = 'tab']">
4130
4165
  <!-- zero-space char -->
4131
4166
  <xsl:variable name="depth">
@@ -4304,6 +4339,153 @@
4304
4339
  </fo:block>
4305
4340
  </xsl:otherwise>
4306
4341
  </xsl:choose>
4342
+ </xsl:template><xsl:variable name="index" select="document($external_index)"/><xsl:variable name="dash" select="'–'"/><xsl:variable name="bookmark_in_fn">
4343
+ <xsl:for-each select="//*[local-name() = 'bookmark'][ancestor::*[local-name() = 'fn']]">
4344
+ <bookmark><xsl:value-of select="@id"/></bookmark>
4345
+ </xsl:for-each>
4346
+ </xsl:variable><xsl:template match="@*|node()" mode="index_add_id">
4347
+ <xsl:copy>
4348
+ <xsl:apply-templates select="@*|node()" mode="index_add_id"/>
4349
+ </xsl:copy>
4350
+ </xsl:template><xsl:template match="*[local-name() = 'xref']" mode="index_add_id">
4351
+ <xsl:variable name="id">
4352
+ <xsl:call-template name="generateIndexXrefId"/>
4353
+ </xsl:variable>
4354
+ <xsl:copy> <!-- add id to xref -->
4355
+ <xsl:apply-templates select="@*" mode="index_add_id"/>
4356
+ <xsl:attribute name="id">
4357
+ <xsl:value-of select="$id"/>
4358
+ </xsl:attribute>
4359
+ <xsl:apply-templates mode="index_add_id"/>
4360
+ </xsl:copy>
4361
+ <!-- split <xref target="bm1" to="End" pagenumber="true"> to two xref:
4362
+ <xref target="bm1" pagenumber="true"> and <xref target="End" pagenumber="true"> -->
4363
+ <xsl:if test="@to">
4364
+ <xsl:value-of select="$dash"/>
4365
+ <xsl:copy>
4366
+ <xsl:copy-of select="@*"/>
4367
+ <xsl:attribute name="target"><xsl:value-of select="@to"/></xsl:attribute>
4368
+ <xsl:attribute name="id">
4369
+ <xsl:value-of select="$id"/><xsl:text>_to</xsl:text>
4370
+ </xsl:attribute>
4371
+ <xsl:apply-templates mode="index_add_id"/>
4372
+ </xsl:copy>
4373
+ </xsl:if>
4374
+ </xsl:template><xsl:template match="@*|node()" mode="index_update">
4375
+ <xsl:copy>
4376
+ <xsl:apply-templates select="@*|node()" mode="index_update"/>
4377
+ </xsl:copy>
4378
+ </xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'li']" mode="index_update">
4379
+ <xsl:copy>
4380
+ <xsl:apply-templates select="@*" mode="index_update"/>
4381
+ <xsl:apply-templates select="node()[1]" mode="process_li_element"/>
4382
+ </xsl:copy>
4383
+ </xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'li']/node()" mode="process_li_element" priority="2">
4384
+ <xsl:param name="element"/>
4385
+ <xsl:param name="remove" select="'false'"/>
4386
+ <xsl:param name="target"/>
4387
+ <!-- <node></node> -->
4388
+ <xsl:choose>
4389
+ <xsl:when test="self::text() and (normalize-space(.) = ',' or normalize-space(.) = $dash) and $remove = 'true'">
4390
+ <!-- skip text (i.e. remove it) and process next element -->
4391
+ <!-- [removed_<xsl:value-of select="."/>] -->
4392
+ <xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element">
4393
+ <xsl:with-param name="target"><xsl:value-of select="$target"/></xsl:with-param>
4394
+ </xsl:apply-templates>
4395
+ </xsl:when>
4396
+ <xsl:when test="self::text()">
4397
+ <xsl:value-of select="."/>
4398
+ <xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element"/>
4399
+ </xsl:when>
4400
+ <xsl:when test="self::* and local-name(.) = 'xref'">
4401
+ <xsl:variable name="id" select="@id"/>
4402
+ <xsl:variable name="page" select="$index//item[@id = $id]"/>
4403
+ <xsl:variable name="id_next" select="following-sibling::*[local-name() = 'xref'][1]/@id"/>
4404
+ <xsl:variable name="page_next" select="$index//item[@id = $id_next]"/>
4405
+
4406
+ <xsl:variable name="id_prev" select="preceding-sibling::*[local-name() = 'xref'][1]/@id"/>
4407
+ <xsl:variable name="page_prev" select="$index//item[@id = $id_prev]"/>
4408
+
4409
+ <xsl:choose>
4410
+ <!-- 2nd pass -->
4411
+ <!-- if page is equal to page for next and page is not the end of range -->
4412
+ <xsl:when test="$page != '' and $page_next != '' and $page = $page_next and not(contains($page, '_to'))"> <!-- case: 12, 12-14 -->
4413
+ <!-- skip element (i.e. remove it) and remove next text ',' -->
4414
+ <!-- [removed_xref] -->
4415
+
4416
+ <xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element">
4417
+ <xsl:with-param name="remove">true</xsl:with-param>
4418
+ <xsl:with-param name="target">
4419
+ <xsl:choose>
4420
+ <xsl:when test="$target != ''"><xsl:value-of select="$target"/></xsl:when>
4421
+ <xsl:otherwise><xsl:value-of select="@target"/></xsl:otherwise>
4422
+ </xsl:choose>
4423
+ </xsl:with-param>
4424
+ </xsl:apply-templates>
4425
+ </xsl:when>
4426
+
4427
+ <xsl:when test="$page != '' and $page_prev != '' and $page = $page_prev and contains($page_prev, '_to')"> <!-- case: 12-14, 14, ... -->
4428
+ <!-- remove xref -->
4429
+ <xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element">
4430
+ <xsl:with-param name="remove">true</xsl:with-param>
4431
+ </xsl:apply-templates>
4432
+ </xsl:when>
4433
+
4434
+ <xsl:otherwise>
4435
+ <xsl:apply-templates select="." mode="xref_copy">
4436
+ <xsl:with-param name="target" select="$target"/>
4437
+ </xsl:apply-templates>
4438
+ <xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element"/>
4439
+ </xsl:otherwise>
4440
+ </xsl:choose>
4441
+ </xsl:when>
4442
+ <xsl:when test="self::* and local-name(.) = 'ul'">
4443
+ <!-- ul -->
4444
+ <xsl:apply-templates select="." mode="index_update"/>
4445
+ </xsl:when>
4446
+ <xsl:otherwise>
4447
+ <xsl:apply-templates select="." mode="xref_copy">
4448
+ <xsl:with-param name="target" select="$target"/>
4449
+ </xsl:apply-templates>
4450
+ <xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element"/>
4451
+ </xsl:otherwise>
4452
+ </xsl:choose>
4453
+ </xsl:template><xsl:template match="@*|node()" mode="xref_copy">
4454
+ <xsl:param name="target"/>
4455
+ <xsl:copy>
4456
+ <xsl:apply-templates select="@*" mode="xref_copy"/>
4457
+ <xsl:if test="$target != '' and not(xalan:nodeset($bookmark_in_fn)//bookmark[. = $target])">
4458
+ <xsl:attribute name="target"><xsl:value-of select="$target"/></xsl:attribute>
4459
+ </xsl:if>
4460
+ <xsl:apply-templates select="node()" mode="xref_copy"/>
4461
+ </xsl:copy>
4462
+ </xsl:template><xsl:template name="generateIndexXrefId">
4463
+ <xsl:variable name="level" select="count(ancestor::*[local-name() = 'ul'])"/>
4464
+
4465
+ <xsl:variable name="docid">
4466
+ <xsl:call-template name="getDocumentId"/>
4467
+ </xsl:variable>
4468
+ <xsl:variable name="item_number">
4469
+ <xsl:number count="*[local-name() = 'li'][ancestor::*[local-name() = 'indexsect']]" level="any"/>
4470
+ </xsl:variable>
4471
+ <xsl:variable name="xref_number"><xsl:number count="*[local-name() = 'xref']"/></xsl:variable>
4472
+ <xsl:value-of select="concat($docid, '_', $item_number, '_', $xref_number)"/> <!-- $level, '_', -->
4473
+ </xsl:template><xsl:template match="*[local-name() = 'indexsect']/*[local-name() = 'clause']" priority="4">
4474
+ <xsl:apply-templates/>
4475
+ <fo:block>
4476
+ <xsl:if test="following-sibling::*[local-name() = 'clause']">
4477
+ <fo:block> </fo:block>
4478
+ </xsl:if>
4479
+ </fo:block>
4480
+ </xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'ul']" priority="4">
4481
+ <xsl:apply-templates/>
4482
+ </xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'li']" priority="4">
4483
+ <xsl:variable name="level" select="count(ancestor::*[local-name() = 'ul'])"/>
4484
+ <fo:block start-indent="{5 * $level}mm" text-indent="-5mm">
4485
+ <xsl:apply-templates/>
4486
+ </fo:block>
4487
+ </xsl:template><xsl:template match="*[local-name() = 'bookmark']">
4488
+ <fo:inline id="{@id}"/>
4307
4489
  </xsl:template><xsl:template match="*[local-name() = 'errata']">
4308
4490
  <!-- <row>
4309
4491
  <date>05-07-2013</date>
@@ -4619,70 +4801,68 @@
4619
4801
  <xsl:variable name="lang">
4620
4802
  <xsl:call-template name="getLang"/>
4621
4803
  </xsl:variable>
4622
- <fo:declarations>
4623
- <pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
4624
- <pdf:dictionary type="normal" key="ViewerPreferences">
4625
- <pdf:boolean key="DisplayDocTitle">true</pdf:boolean>
4626
- </pdf:dictionary>
4627
- </pdf:catalog>
4628
- <x:xmpmeta xmlns:x="adobe:ns:meta/">
4629
- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
4630
- <rdf:Description xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" rdf:about="">
4631
- <!-- Dublin Core properties go here -->
4632
- <dc:title>
4633
- <xsl:variable name="title">
4634
- <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
4635
-
4636
-
4637
-
4638
-
4639
- <xsl:value-of select="*[local-name() = 'title'][@language = $lang]"/>
4640
-
4641
-
4642
-
4643
- </xsl:for-each>
4644
- </xsl:variable>
4645
- <xsl:choose>
4646
- <xsl:when test="normalize-space($title) != ''">
4647
- <xsl:value-of select="$title"/>
4648
- </xsl:when>
4649
- <xsl:otherwise>
4650
- <xsl:text> </xsl:text>
4651
- </xsl:otherwise>
4652
- </xsl:choose>
4653
- </dc:title>
4654
- <dc:creator>
4804
+ <pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
4805
+ <pdf:dictionary type="normal" key="ViewerPreferences">
4806
+ <pdf:boolean key="DisplayDocTitle">true</pdf:boolean>
4807
+ </pdf:dictionary>
4808
+ </pdf:catalog>
4809
+ <x:xmpmeta xmlns:x="adobe:ns:meta/">
4810
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
4811
+ <rdf:Description xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" rdf:about="">
4812
+ <!-- Dublin Core properties go here -->
4813
+ <dc:title>
4814
+ <xsl:variable name="title">
4655
4815
  <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
4656
4816
 
4657
- <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
4658
- <xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
4659
- <xsl:if test="position() != last()">; </xsl:if>
4660
- </xsl:for-each>
4661
-
4662
-
4663
4817
 
4664
- </xsl:for-each>
4665
- </dc:creator>
4666
- <dc:description>
4667
- <xsl:variable name="abstract">
4668
4818
 
4669
- <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
4819
+
4820
+ <xsl:value-of select="*[local-name() = 'title'][@language = $lang]"/>
4670
4821
 
4671
4822
 
4672
- </xsl:variable>
4673
- <xsl:value-of select="normalize-space($abstract)"/>
4674
- </dc:description>
4675
- <pdf:Keywords>
4676
- <xsl:call-template name="insertKeywords"/>
4677
- </pdf:Keywords>
4678
- </rdf:Description>
4679
- <rdf:Description xmlns:xmp="http://ns.adobe.com/xap/1.0/" rdf:about="">
4680
- <!-- XMP properties go here -->
4681
- <xmp:CreatorTool/>
4682
- </rdf:Description>
4683
- </rdf:RDF>
4684
- </x:xmpmeta>
4685
- </fo:declarations>
4823
+
4824
+ </xsl:for-each>
4825
+ </xsl:variable>
4826
+ <xsl:choose>
4827
+ <xsl:when test="normalize-space($title) != ''">
4828
+ <xsl:value-of select="$title"/>
4829
+ </xsl:when>
4830
+ <xsl:otherwise>
4831
+ <xsl:text> </xsl:text>
4832
+ </xsl:otherwise>
4833
+ </xsl:choose>
4834
+ </dc:title>
4835
+ <dc:creator>
4836
+ <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
4837
+
4838
+ <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
4839
+ <xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
4840
+ <xsl:if test="position() != last()">; </xsl:if>
4841
+ </xsl:for-each>
4842
+
4843
+
4844
+
4845
+ </xsl:for-each>
4846
+ </dc:creator>
4847
+ <dc:description>
4848
+ <xsl:variable name="abstract">
4849
+
4850
+ <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
4851
+
4852
+
4853
+ </xsl:variable>
4854
+ <xsl:value-of select="normalize-space($abstract)"/>
4855
+ </dc:description>
4856
+ <pdf:Keywords>
4857
+ <xsl:call-template name="insertKeywords"/>
4858
+ </pdf:Keywords>
4859
+ </rdf:Description>
4860
+ <rdf:Description xmlns:xmp="http://ns.adobe.com/xap/1.0/" rdf:about="">
4861
+ <!-- XMP properties go here -->
4862
+ <xmp:CreatorTool/>
4863
+ </rdf:Description>
4864
+ </rdf:RDF>
4865
+ </x:xmpmeta>
4686
4866
  </xsl:template><xsl:template name="getId">
4687
4867
  <xsl:choose>
4688
4868
  <xsl:when test="../@id">
@@ -3,6 +3,7 @@
3
3
  <xsl:output 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
 
@@ -109,7 +110,9 @@
109
110
  </fo:page-sequence-master>
110
111
  </fo:layout-master-set>
111
112
 
112
- <xsl:call-template name="addPDFUAmeta"/>
113
+ <fo:declarations>
114
+ <xsl:call-template name="addPDFUAmeta"/>
115
+ </fo:declarations>
113
116
 
114
117
  <xsl:call-template name="addBookmarks">
115
118
  <xsl:with-param name="contents" select="$contents"/>
@@ -1224,6 +1227,7 @@
1224
1227
 
1225
1228
 
1226
1229
 
1230
+
1227
1231
  </xsl:attribute-set><xsl:attribute-set name="termexample-name-style">
1228
1232
 
1229
1233
 
@@ -1845,7 +1849,15 @@
1845
1849
  </xsl:template><xsl:template match="*[local-name()='link']" mode="td_text">
1846
1850
  <xsl:value-of select="@target"/>
1847
1851
  </xsl:template><xsl:template match="*[local-name()='math']" mode="td_text">
1848
- <xsl:variable name="math_text" select="normalize-space(.)"/>
1852
+ <xsl:variable name="mathml">
1853
+ <xsl:for-each select="*">
1854
+ <xsl:if test="local-name() != 'unit' and local-name() != 'prefix' and local-name() != 'dimension' and local-name() != 'quantity'">
1855
+ <xsl:copy-of select="."/>
1856
+ </xsl:if>
1857
+ </xsl:for-each>
1858
+ </xsl:variable>
1859
+
1860
+ <xsl:variable name="math_text" select="normalize-space(xalan:nodeset($mathml))"/>
1849
1861
  <xsl:value-of select="translate($math_text, ' ', '#')"/><!-- mathml images as one 'word' without spaces -->
1850
1862
  </xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
1851
1863
  <xsl:param name="cols-count"/>
@@ -2806,6 +2818,10 @@
2806
2818
  <fo:inline font-size="10pt" color="red" text-decoration="line-through">
2807
2819
  <xsl:apply-templates/>
2808
2820
  </fo:inline>
2821
+ </xsl:template><xsl:template match="*[local-name()='hi']">
2822
+ <fo:inline background-color="yellow">
2823
+ <xsl:apply-templates/>
2824
+ </fo:inline>
2809
2825
  </xsl:template><xsl:template match="text()[ancestor::*[local-name()='smallcap']]">
2810
2826
  <xsl:variable name="text" select="normalize-space(.)"/>
2811
2827
  <fo:inline font-size="75%">
@@ -3146,6 +3162,7 @@
3146
3162
  <xsl:apply-templates select="." mode="mathml"/>
3147
3163
  </xsl:variable>
3148
3164
  <fo:instream-foreign-object fox:alt-text="Math">
3165
+
3149
3166
  <!-- <xsl:copy-of select="."/> -->
3150
3167
  <xsl:copy-of select="xalan:nodeset($mathml)"/>
3151
3168
  </fo:instream-foreign-object>
@@ -3164,7 +3181,7 @@
3164
3181
  <xsl:apply-templates select="@*|node()" mode="mathml"/>
3165
3182
  </xsl:copy>
3166
3183
  <mathml:mspace width="0.5ex"/>
3167
- </xsl:template><xsl:template match="*[local-name()='localityStack']"/><xsl:template match="*[local-name()='link']" name="link">
3184
+ </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">
3168
3185
  <xsl:variable name="target">
3169
3186
  <xsl:choose>
3170
3187
  <xsl:when test="starts-with(normalize-space(@target), 'mailto:')">
@@ -3198,8 +3215,6 @@
3198
3215
  </xsl:otherwise>
3199
3216
  </xsl:choose>
3200
3217
  </fo:inline>
3201
- </xsl:template><xsl:template match="*[local-name()='bookmark']">
3202
- <fo:inline id="{@id}"/>
3203
3218
  </xsl:template><xsl:template match="*[local-name()='appendix']">
3204
3219
  <fo:block id="{@id}" xsl:use-attribute-sets="appendix-style">
3205
3220
  <xsl:apply-templates select="*[local-name()='title']" mode="process"/>
@@ -3410,6 +3425,7 @@
3410
3425
  <fo:block id="{@id}">
3411
3426
  <xsl:apply-templates/>
3412
3427
  </fo:block>
3428
+ <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3413
3429
  </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']//*[local-name() = 'p']">
3414
3430
  <fo:block xsl:use-attribute-sets="figure-pseudocode-p-style">
3415
3431
  <xsl:apply-templates/>
@@ -3993,10 +4009,11 @@
3993
4009
  </xsl:choose>
3994
4010
 
3995
4011
  </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
3996
-
4012
+ <xsl:variable name="num"><xsl:number/></xsl:variable>
3997
4013
  <xsl:variable name="element">
3998
4014
  block
3999
4015
 
4016
+
4000
4017
  </xsl:variable>
4001
4018
  <xsl:choose>
4002
4019
  <xsl:when test="normalize-space($element) = 'block'">
@@ -4100,32 +4117,50 @@
4100
4117
  <xsl:text>— </xsl:text>
4101
4118
  <xsl:apply-templates/>
4102
4119
  </xsl:template><xsl:template match="*[local-name() = 'eref']">
4103
- <fo:inline xsl:use-attribute-sets="eref-style">
4104
- <xsl:if test="@type = 'footnote'">
4105
-
4106
- <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
4107
- <xsl:attribute name="font-size">80%</xsl:attribute>
4108
- <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
4109
- <xsl:attribute name="vertical-align">super</xsl:attribute>
4110
-
4111
-
4112
- </xsl:if>
4113
-
4114
- <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
4115
-
4116
- <xsl:if test="@type = 'inline'">
4117
-
4118
- <xsl:attribute name="color">blue</xsl:attribute>
4119
- <xsl:attribute name="text-decoration">underline</xsl:attribute>
4120
-
4121
-
4122
-
4123
- </xsl:if>
4124
-
4125
-
4126
- <xsl:apply-templates/>
4127
- </fo:basic-link>
4128
- </fo:inline>
4120
+
4121
+ <xsl:variable name="bibitemid">
4122
+ <xsl:choose>
4123
+ <xsl:when test="//*[local-name() = 'bibitem'][@hidden='true' and @id = current()/@bibitemid]"/>
4124
+ <xsl:when test="//*[local-name() = 'references'][@hidden='true']/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"/>
4125
+ <xsl:otherwise><xsl:value-of select="@bibitemid"/></xsl:otherwise>
4126
+ </xsl:choose>
4127
+ </xsl:variable>
4128
+
4129
+ <xsl:choose>
4130
+ <xsl:when test="normalize-space($bibitemid) != ''">
4131
+ <fo:inline xsl:use-attribute-sets="eref-style">
4132
+ <xsl:if test="@type = 'footnote'">
4133
+
4134
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
4135
+ <xsl:attribute name="font-size">80%</xsl:attribute>
4136
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
4137
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
4138
+
4139
+
4140
+ </xsl:if>
4141
+
4142
+ <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
4143
+ <xsl:if test="normalize-space(@citeas) = ''">
4144
+ <xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
4145
+ </xsl:if>
4146
+ <xsl:if test="@type = 'inline'">
4147
+
4148
+ <xsl:attribute name="color">blue</xsl:attribute>
4149
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
4150
+
4151
+
4152
+
4153
+ </xsl:if>
4154
+
4155
+ <xsl:apply-templates/>
4156
+ </fo:basic-link>
4157
+
4158
+ </fo:inline>
4159
+ </xsl:when>
4160
+ <xsl:otherwise>
4161
+ <fo:inline><xsl:apply-templates/></fo:inline>
4162
+ </xsl:otherwise>
4163
+ </xsl:choose>
4129
4164
  </xsl:template><xsl:template match="*[local-name() = 'tab']">
4130
4165
  <!-- zero-space char -->
4131
4166
  <xsl:variable name="depth">
@@ -4304,6 +4339,153 @@
4304
4339
  </fo:block>
4305
4340
  </xsl:otherwise>
4306
4341
  </xsl:choose>
4342
+ </xsl:template><xsl:variable name="index" select="document($external_index)"/><xsl:variable name="dash" select="'–'"/><xsl:variable name="bookmark_in_fn">
4343
+ <xsl:for-each select="//*[local-name() = 'bookmark'][ancestor::*[local-name() = 'fn']]">
4344
+ <bookmark><xsl:value-of select="@id"/></bookmark>
4345
+ </xsl:for-each>
4346
+ </xsl:variable><xsl:template match="@*|node()" mode="index_add_id">
4347
+ <xsl:copy>
4348
+ <xsl:apply-templates select="@*|node()" mode="index_add_id"/>
4349
+ </xsl:copy>
4350
+ </xsl:template><xsl:template match="*[local-name() = 'xref']" mode="index_add_id">
4351
+ <xsl:variable name="id">
4352
+ <xsl:call-template name="generateIndexXrefId"/>
4353
+ </xsl:variable>
4354
+ <xsl:copy> <!-- add id to xref -->
4355
+ <xsl:apply-templates select="@*" mode="index_add_id"/>
4356
+ <xsl:attribute name="id">
4357
+ <xsl:value-of select="$id"/>
4358
+ </xsl:attribute>
4359
+ <xsl:apply-templates mode="index_add_id"/>
4360
+ </xsl:copy>
4361
+ <!-- split <xref target="bm1" to="End" pagenumber="true"> to two xref:
4362
+ <xref target="bm1" pagenumber="true"> and <xref target="End" pagenumber="true"> -->
4363
+ <xsl:if test="@to">
4364
+ <xsl:value-of select="$dash"/>
4365
+ <xsl:copy>
4366
+ <xsl:copy-of select="@*"/>
4367
+ <xsl:attribute name="target"><xsl:value-of select="@to"/></xsl:attribute>
4368
+ <xsl:attribute name="id">
4369
+ <xsl:value-of select="$id"/><xsl:text>_to</xsl:text>
4370
+ </xsl:attribute>
4371
+ <xsl:apply-templates mode="index_add_id"/>
4372
+ </xsl:copy>
4373
+ </xsl:if>
4374
+ </xsl:template><xsl:template match="@*|node()" mode="index_update">
4375
+ <xsl:copy>
4376
+ <xsl:apply-templates select="@*|node()" mode="index_update"/>
4377
+ </xsl:copy>
4378
+ </xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'li']" mode="index_update">
4379
+ <xsl:copy>
4380
+ <xsl:apply-templates select="@*" mode="index_update"/>
4381
+ <xsl:apply-templates select="node()[1]" mode="process_li_element"/>
4382
+ </xsl:copy>
4383
+ </xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'li']/node()" mode="process_li_element" priority="2">
4384
+ <xsl:param name="element"/>
4385
+ <xsl:param name="remove" select="'false'"/>
4386
+ <xsl:param name="target"/>
4387
+ <!-- <node></node> -->
4388
+ <xsl:choose>
4389
+ <xsl:when test="self::text() and (normalize-space(.) = ',' or normalize-space(.) = $dash) and $remove = 'true'">
4390
+ <!-- skip text (i.e. remove it) and process next element -->
4391
+ <!-- [removed_<xsl:value-of select="."/>] -->
4392
+ <xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element">
4393
+ <xsl:with-param name="target"><xsl:value-of select="$target"/></xsl:with-param>
4394
+ </xsl:apply-templates>
4395
+ </xsl:when>
4396
+ <xsl:when test="self::text()">
4397
+ <xsl:value-of select="."/>
4398
+ <xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element"/>
4399
+ </xsl:when>
4400
+ <xsl:when test="self::* and local-name(.) = 'xref'">
4401
+ <xsl:variable name="id" select="@id"/>
4402
+ <xsl:variable name="page" select="$index//item[@id = $id]"/>
4403
+ <xsl:variable name="id_next" select="following-sibling::*[local-name() = 'xref'][1]/@id"/>
4404
+ <xsl:variable name="page_next" select="$index//item[@id = $id_next]"/>
4405
+
4406
+ <xsl:variable name="id_prev" select="preceding-sibling::*[local-name() = 'xref'][1]/@id"/>
4407
+ <xsl:variable name="page_prev" select="$index//item[@id = $id_prev]"/>
4408
+
4409
+ <xsl:choose>
4410
+ <!-- 2nd pass -->
4411
+ <!-- if page is equal to page for next and page is not the end of range -->
4412
+ <xsl:when test="$page != '' and $page_next != '' and $page = $page_next and not(contains($page, '_to'))"> <!-- case: 12, 12-14 -->
4413
+ <!-- skip element (i.e. remove it) and remove next text ',' -->
4414
+ <!-- [removed_xref] -->
4415
+
4416
+ <xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element">
4417
+ <xsl:with-param name="remove">true</xsl:with-param>
4418
+ <xsl:with-param name="target">
4419
+ <xsl:choose>
4420
+ <xsl:when test="$target != ''"><xsl:value-of select="$target"/></xsl:when>
4421
+ <xsl:otherwise><xsl:value-of select="@target"/></xsl:otherwise>
4422
+ </xsl:choose>
4423
+ </xsl:with-param>
4424
+ </xsl:apply-templates>
4425
+ </xsl:when>
4426
+
4427
+ <xsl:when test="$page != '' and $page_prev != '' and $page = $page_prev and contains($page_prev, '_to')"> <!-- case: 12-14, 14, ... -->
4428
+ <!-- remove xref -->
4429
+ <xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element">
4430
+ <xsl:with-param name="remove">true</xsl:with-param>
4431
+ </xsl:apply-templates>
4432
+ </xsl:when>
4433
+
4434
+ <xsl:otherwise>
4435
+ <xsl:apply-templates select="." mode="xref_copy">
4436
+ <xsl:with-param name="target" select="$target"/>
4437
+ </xsl:apply-templates>
4438
+ <xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element"/>
4439
+ </xsl:otherwise>
4440
+ </xsl:choose>
4441
+ </xsl:when>
4442
+ <xsl:when test="self::* and local-name(.) = 'ul'">
4443
+ <!-- ul -->
4444
+ <xsl:apply-templates select="." mode="index_update"/>
4445
+ </xsl:when>
4446
+ <xsl:otherwise>
4447
+ <xsl:apply-templates select="." mode="xref_copy">
4448
+ <xsl:with-param name="target" select="$target"/>
4449
+ </xsl:apply-templates>
4450
+ <xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element"/>
4451
+ </xsl:otherwise>
4452
+ </xsl:choose>
4453
+ </xsl:template><xsl:template match="@*|node()" mode="xref_copy">
4454
+ <xsl:param name="target"/>
4455
+ <xsl:copy>
4456
+ <xsl:apply-templates select="@*" mode="xref_copy"/>
4457
+ <xsl:if test="$target != '' and not(xalan:nodeset($bookmark_in_fn)//bookmark[. = $target])">
4458
+ <xsl:attribute name="target"><xsl:value-of select="$target"/></xsl:attribute>
4459
+ </xsl:if>
4460
+ <xsl:apply-templates select="node()" mode="xref_copy"/>
4461
+ </xsl:copy>
4462
+ </xsl:template><xsl:template name="generateIndexXrefId">
4463
+ <xsl:variable name="level" select="count(ancestor::*[local-name() = 'ul'])"/>
4464
+
4465
+ <xsl:variable name="docid">
4466
+ <xsl:call-template name="getDocumentId"/>
4467
+ </xsl:variable>
4468
+ <xsl:variable name="item_number">
4469
+ <xsl:number count="*[local-name() = 'li'][ancestor::*[local-name() = 'indexsect']]" level="any"/>
4470
+ </xsl:variable>
4471
+ <xsl:variable name="xref_number"><xsl:number count="*[local-name() = 'xref']"/></xsl:variable>
4472
+ <xsl:value-of select="concat($docid, '_', $item_number, '_', $xref_number)"/> <!-- $level, '_', -->
4473
+ </xsl:template><xsl:template match="*[local-name() = 'indexsect']/*[local-name() = 'clause']" priority="4">
4474
+ <xsl:apply-templates/>
4475
+ <fo:block>
4476
+ <xsl:if test="following-sibling::*[local-name() = 'clause']">
4477
+ <fo:block> </fo:block>
4478
+ </xsl:if>
4479
+ </fo:block>
4480
+ </xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'ul']" priority="4">
4481
+ <xsl:apply-templates/>
4482
+ </xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'li']" priority="4">
4483
+ <xsl:variable name="level" select="count(ancestor::*[local-name() = 'ul'])"/>
4484
+ <fo:block start-indent="{5 * $level}mm" text-indent="-5mm">
4485
+ <xsl:apply-templates/>
4486
+ </fo:block>
4487
+ </xsl:template><xsl:template match="*[local-name() = 'bookmark']">
4488
+ <fo:inline id="{@id}"/>
4307
4489
  </xsl:template><xsl:template match="*[local-name() = 'errata']">
4308
4490
  <!-- <row>
4309
4491
  <date>05-07-2013</date>
@@ -4619,70 +4801,68 @@
4619
4801
  <xsl:variable name="lang">
4620
4802
  <xsl:call-template name="getLang"/>
4621
4803
  </xsl:variable>
4622
- <fo:declarations>
4623
- <pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
4624
- <pdf:dictionary type="normal" key="ViewerPreferences">
4625
- <pdf:boolean key="DisplayDocTitle">true</pdf:boolean>
4626
- </pdf:dictionary>
4627
- </pdf:catalog>
4628
- <x:xmpmeta xmlns:x="adobe:ns:meta/">
4629
- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
4630
- <rdf:Description xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" rdf:about="">
4631
- <!-- Dublin Core properties go here -->
4632
- <dc:title>
4633
- <xsl:variable name="title">
4634
- <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
4635
-
4636
-
4637
-
4638
-
4639
- <xsl:value-of select="*[local-name() = 'title'][@language = $lang]"/>
4640
-
4641
-
4642
-
4643
- </xsl:for-each>
4644
- </xsl:variable>
4645
- <xsl:choose>
4646
- <xsl:when test="normalize-space($title) != ''">
4647
- <xsl:value-of select="$title"/>
4648
- </xsl:when>
4649
- <xsl:otherwise>
4650
- <xsl:text> </xsl:text>
4651
- </xsl:otherwise>
4652
- </xsl:choose>
4653
- </dc:title>
4654
- <dc:creator>
4804
+ <pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
4805
+ <pdf:dictionary type="normal" key="ViewerPreferences">
4806
+ <pdf:boolean key="DisplayDocTitle">true</pdf:boolean>
4807
+ </pdf:dictionary>
4808
+ </pdf:catalog>
4809
+ <x:xmpmeta xmlns:x="adobe:ns:meta/">
4810
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
4811
+ <rdf:Description xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" rdf:about="">
4812
+ <!-- Dublin Core properties go here -->
4813
+ <dc:title>
4814
+ <xsl:variable name="title">
4655
4815
  <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
4656
4816
 
4657
- <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
4658
- <xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
4659
- <xsl:if test="position() != last()">; </xsl:if>
4660
- </xsl:for-each>
4661
-
4662
-
4663
4817
 
4664
- </xsl:for-each>
4665
- </dc:creator>
4666
- <dc:description>
4667
- <xsl:variable name="abstract">
4668
4818
 
4669
- <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
4819
+
4820
+ <xsl:value-of select="*[local-name() = 'title'][@language = $lang]"/>
4670
4821
 
4671
4822
 
4672
- </xsl:variable>
4673
- <xsl:value-of select="normalize-space($abstract)"/>
4674
- </dc:description>
4675
- <pdf:Keywords>
4676
- <xsl:call-template name="insertKeywords"/>
4677
- </pdf:Keywords>
4678
- </rdf:Description>
4679
- <rdf:Description xmlns:xmp="http://ns.adobe.com/xap/1.0/" rdf:about="">
4680
- <!-- XMP properties go here -->
4681
- <xmp:CreatorTool/>
4682
- </rdf:Description>
4683
- </rdf:RDF>
4684
- </x:xmpmeta>
4685
- </fo:declarations>
4823
+
4824
+ </xsl:for-each>
4825
+ </xsl:variable>
4826
+ <xsl:choose>
4827
+ <xsl:when test="normalize-space($title) != ''">
4828
+ <xsl:value-of select="$title"/>
4829
+ </xsl:when>
4830
+ <xsl:otherwise>
4831
+ <xsl:text> </xsl:text>
4832
+ </xsl:otherwise>
4833
+ </xsl:choose>
4834
+ </dc:title>
4835
+ <dc:creator>
4836
+ <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
4837
+
4838
+ <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
4839
+ <xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
4840
+ <xsl:if test="position() != last()">; </xsl:if>
4841
+ </xsl:for-each>
4842
+
4843
+
4844
+
4845
+ </xsl:for-each>
4846
+ </dc:creator>
4847
+ <dc:description>
4848
+ <xsl:variable name="abstract">
4849
+
4850
+ <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
4851
+
4852
+
4853
+ </xsl:variable>
4854
+ <xsl:value-of select="normalize-space($abstract)"/>
4855
+ </dc:description>
4856
+ <pdf:Keywords>
4857
+ <xsl:call-template name="insertKeywords"/>
4858
+ </pdf:Keywords>
4859
+ </rdf:Description>
4860
+ <rdf:Description xmlns:xmp="http://ns.adobe.com/xap/1.0/" rdf:about="">
4861
+ <!-- XMP properties go here -->
4862
+ <xmp:CreatorTool/>
4863
+ </rdf:Description>
4864
+ </rdf:RDF>
4865
+ </x:xmpmeta>
4686
4866
  </xsl:template><xsl:template name="getId">
4687
4867
  <xsl:choose>
4688
4868
  <xsl:when test="../@id">
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module IHO
3
- VERSION = "0.2.14"
3
+ VERSION = "0.2.15"
4
4
  end
5
5
  end
@@ -34,7 +34,7 @@ Gem::Specification.new do |spec|
34
34
  spec.add_development_dependency "equivalent-xml", "~> 0.6"
35
35
  spec.add_development_dependency "guard", "~> 2.14"
36
36
  spec.add_development_dependency "guard-rspec", "~> 4.7"
37
- spec.add_development_dependency "rake", "~> 12.0"
37
+ spec.add_development_dependency "rake", "~> 13.0"
38
38
  spec.add_development_dependency "rspec", "~> 3.6"
39
39
  spec.add_development_dependency "rubocop", "= 0.54.0"
40
40
  spec.add_development_dependency "simplecov", "~> 0.15"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-iho
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.14
4
+ version: 0.2.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-02-22 00:00:00.000000000 Z
11
+ date: 2021-03-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: htmlentities
@@ -114,14 +114,14 @@ dependencies:
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '12.0'
117
+ version: '13.0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '12.0'
124
+ version: '13.0'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: rspec
127
127
  requirement: !ruby/object:Gem::Requirement