metanorma-ieee 0.0.7 → 0.1.1
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/automerge.yml +31 -0
- data/lib/isodoc/ieee/html/htmlstyle.css +1 -1
- data/lib/isodoc/ieee/ieee.amendment.xsl +62 -15
- data/lib/isodoc/ieee/ieee.standard.xsl +62 -15
- data/lib/isodoc/ieee/ieee_xml_convert.rb +36 -0
- data/lib/isodoc/ieee/presentation_xml_convert.rb +1 -1
- data/lib/isodoc/ieee.rb +1 -0
- data/lib/metanorma/ieee/basicdoc.rng +0 -27
- data/lib/metanorma/ieee/biblio-standoc.rng +164 -0
- data/lib/metanorma/ieee/biblio.rng +45 -18
- data/lib/metanorma/ieee/cleanup.rb +26 -9
- data/lib/metanorma/ieee/converter.rb +13 -1
- data/lib/metanorma/ieee/ieee.rng +2 -144
- data/lib/metanorma/ieee/isodoc.rng +31 -194
- data/lib/metanorma/ieee/processor.rb +4 -0
- data/lib/metanorma/ieee/relaton-ieee.rng +151 -0
- data/lib/metanorma/ieee/version.rb +1 -1
- data/metanorma-ieee.gemspec +1 -0
- metadata +20 -3
- data/Gemfile.devel +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 05e99861807be4a3295ae7642f381419eef870dee2dd2b1f8df22391342acb45
|
4
|
+
data.tar.gz: d79bf191d766d6a705d612b806e81ddc800d09efe985191258f09b588a916f85
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: be97ca0b1c97744f41e69719dc70e430fb67092b6bbc184d7d59292a49b153acbb772db3d35e22b0e359d092fb6c42ff0385aca16ad4ada89966d753113219e0
|
7
|
+
data.tar.gz: 6480760c5aab6e43318585c05bfed56ae85e568ac84a50267518e8a40f05a34f9998cddb2cbc8d52dfccfd698d08df835ddfb372870de0d737763f7fd23e2457
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# Auto-generated by Cimas: Do not edit it manually!
|
2
|
+
# See https://github.com/metanorma/cimas
|
3
|
+
# source: https://github.com/marketplace/actions/merge-pull-requests#usage
|
4
|
+
name: automerge
|
5
|
+
on:
|
6
|
+
pull_request:
|
7
|
+
types:
|
8
|
+
- labeled
|
9
|
+
- unlabeled
|
10
|
+
- synchronize
|
11
|
+
- opened
|
12
|
+
- edited
|
13
|
+
- ready_for_review
|
14
|
+
- reopened
|
15
|
+
- unlocked
|
16
|
+
pull_request_review:
|
17
|
+
types:
|
18
|
+
- submitted
|
19
|
+
check_suite:
|
20
|
+
types:
|
21
|
+
- completed
|
22
|
+
status: {}
|
23
|
+
jobs:
|
24
|
+
automerge:
|
25
|
+
runs-on: ubuntu-latest
|
26
|
+
steps:
|
27
|
+
- id: automerge
|
28
|
+
name: automerge
|
29
|
+
uses: "pascalgn/automerge-action@v0.15.3"
|
30
|
+
env:
|
31
|
+
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
@@ -7249,8 +7249,17 @@
|
|
7249
7249
|
</fo:inline>
|
7250
7250
|
</xsl:template> <!-- tt -->
|
7251
7251
|
|
7252
|
+
<xsl:variable name="regex_url_start">^(http://|https://|www\.)?(.*)</xsl:variable>
|
7252
7253
|
<xsl:template match="*[local-name()='tt']/text()" priority="2">
|
7253
|
-
<xsl:
|
7254
|
+
<xsl:choose>
|
7255
|
+
<xsl:when test="java:replaceAll(java:java.lang.String.new(.), '$2', '') != ''">
|
7256
|
+
<!-- url -->
|
7257
|
+
<xsl:call-template name="add-zero-spaces-link-java"/>
|
7258
|
+
</xsl:when>
|
7259
|
+
<xsl:otherwise>
|
7260
|
+
<xsl:call-template name="add_spaces_to_sourcecode"/>
|
7261
|
+
</xsl:otherwise>
|
7262
|
+
</xsl:choose>
|
7254
7263
|
</xsl:template>
|
7255
7264
|
|
7256
7265
|
<xsl:template match="*[local-name()='underline']">
|
@@ -7606,8 +7615,11 @@
|
|
7606
7615
|
|
7607
7616
|
<xsl:template name="add-zero-spaces-link-java">
|
7608
7617
|
<xsl:param name="text" select="."/>
|
7618
|
+
|
7619
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($text), $regex_url_start, '$1')"/> <!-- http://. https:// or www. -->
|
7620
|
+
<xsl:variable name="url_continue" select="java:replaceAll(java:java.lang.String.new($text), $regex_url_start, '$2')"/>
|
7609
7621
|
<!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
|
7610
|
-
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($
|
7622
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($url_continue),'(-|\.|:|=|_|—| |,|/)','$1')"/>
|
7611
7623
|
</xsl:template>
|
7612
7624
|
|
7613
7625
|
<!-- add zero space after dash character (for table's entries) -->
|
@@ -10587,7 +10599,7 @@
|
|
10587
10599
|
<!-- ====== -->
|
10588
10600
|
<!-- eref -->
|
10589
10601
|
<!-- ====== -->
|
10590
|
-
<xsl:template match="*[local-name() = 'eref']">
|
10602
|
+
<xsl:template match="*[local-name() = 'eref']" name="eref">
|
10591
10603
|
<xsl:variable name="current_bibitemid" select="@bibitemid"/>
|
10592
10604
|
<!-- <xsl:variable name="external-destination" select="normalize-space(key('bibitems', $current_bibitemid)/*[local-name() = 'uri'][@type = 'citation'])"/> -->
|
10593
10605
|
<xsl:variable name="external-destination" select="normalize-space($bibitems/*[local-name() ='bibitem'][@id = $current_bibitemid]/*[local-name() = 'uri'][@type = 'citation'])"/>
|
@@ -11098,21 +11110,29 @@
|
|
11098
11110
|
</xsl:variable>
|
11099
11111
|
|
11100
11112
|
<xsl:template match="@*|node()" mode="index_add_id">
|
11113
|
+
<xsl:param name="docid"/>
|
11101
11114
|
<xsl:copy>
|
11102
|
-
|
11115
|
+
<xsl:apply-templates select="@*|node()" mode="index_add_id">
|
11116
|
+
<xsl:with-param name="docid" select="$docid"/>
|
11117
|
+
</xsl:apply-templates>
|
11103
11118
|
</xsl:copy>
|
11104
11119
|
</xsl:template>
|
11105
11120
|
|
11106
11121
|
<xsl:template match="*[local-name() = 'xref']" mode="index_add_id">
|
11122
|
+
<xsl:param name="docid"/>
|
11107
11123
|
<xsl:variable name="id">
|
11108
|
-
<xsl:call-template name="generateIndexXrefId"
|
11124
|
+
<xsl:call-template name="generateIndexXrefId">
|
11125
|
+
<xsl:with-param name="docid" select="$docid"/>
|
11126
|
+
</xsl:call-template>
|
11109
11127
|
</xsl:variable>
|
11110
11128
|
<xsl:copy> <!-- add id to xref -->
|
11111
11129
|
<xsl:apply-templates select="@*" mode="index_add_id"/>
|
11112
11130
|
<xsl:attribute name="id">
|
11113
11131
|
<xsl:value-of select="$id"/>
|
11114
11132
|
</xsl:attribute>
|
11115
|
-
<xsl:apply-templates mode="index_add_id"
|
11133
|
+
<xsl:apply-templates mode="index_add_id">
|
11134
|
+
<xsl:with-param name="docid" select="$docid"/>
|
11135
|
+
</xsl:apply-templates>
|
11116
11136
|
</xsl:copy>
|
11117
11137
|
<!-- split <xref target="bm1" to="End" pagenumber="true"> to two xref:
|
11118
11138
|
<xref target="bm1" pagenumber="true"> and <xref target="End" pagenumber="true"> -->
|
@@ -11124,7 +11144,9 @@
|
|
11124
11144
|
<xsl:attribute name="id">
|
11125
11145
|
<xsl:value-of select="$id"/><xsl:text>_to</xsl:text>
|
11126
11146
|
</xsl:attribute>
|
11127
|
-
<xsl:apply-templates mode="index_add_id"
|
11147
|
+
<xsl:apply-templates mode="index_add_id">
|
11148
|
+
<xsl:with-param name="docid" select="$docid"/>
|
11149
|
+
</xsl:apply-templates>
|
11128
11150
|
</xsl:copy>
|
11129
11151
|
</xsl:if>
|
11130
11152
|
</xsl:template>
|
@@ -11161,12 +11183,33 @@
|
|
11161
11183
|
</xsl:when>
|
11162
11184
|
<xsl:when test="self::* and local-name(.) = 'xref'">
|
11163
11185
|
<xsl:variable name="id" select="@id"/>
|
11164
|
-
<xsl:variable name="page" select="$index//item[@id = $id]"/>
|
11165
|
-
<xsl:variable name="id_next" select="following-sibling::*[local-name() = 'xref'][1]/@id"/>
|
11166
|
-
<xsl:variable name="page_next" select="$index//item[@id = $id_next]"/>
|
11167
11186
|
|
11187
|
+
<xsl:variable name="id_next" select="following-sibling::*[local-name() = 'xref'][1]/@id"/>
|
11168
11188
|
<xsl:variable name="id_prev" select="preceding-sibling::*[local-name() = 'xref'][1]/@id"/>
|
11169
|
-
|
11189
|
+
|
11190
|
+
<xsl:variable name="pages_">
|
11191
|
+
<xsl:for-each select="$index/index/item[@id = $id or @id = $id_next or @id = $id_prev]">
|
11192
|
+
<xsl:choose>
|
11193
|
+
<xsl:when test="@id = $id">
|
11194
|
+
<page><xsl:value-of select="."/></page>
|
11195
|
+
</xsl:when>
|
11196
|
+
<xsl:when test="@id = $id_next">
|
11197
|
+
<page_next><xsl:value-of select="."/></page_next>
|
11198
|
+
</xsl:when>
|
11199
|
+
<xsl:when test="@id = $id_prev">
|
11200
|
+
<page_prev><xsl:value-of select="."/></page_prev>
|
11201
|
+
</xsl:when>
|
11202
|
+
</xsl:choose>
|
11203
|
+
</xsl:for-each>
|
11204
|
+
</xsl:variable>
|
11205
|
+
<xsl:variable name="pages" select="xalan:nodeset($pages_)"/>
|
11206
|
+
|
11207
|
+
<!-- <xsl:variable name="page" select="$index/index/item[@id = $id]"/> -->
|
11208
|
+
<xsl:variable name="page" select="$pages/page"/>
|
11209
|
+
<!-- <xsl:variable name="page_next" select="$index/index/item[@id = $id_next]"/> -->
|
11210
|
+
<xsl:variable name="page_next" select="$pages/page_next"/>
|
11211
|
+
<!-- <xsl:variable name="page_prev" select="$index/index/item[@id = $id_prev]"/> -->
|
11212
|
+
<xsl:variable name="page_prev" select="$pages/page_prev"/>
|
11170
11213
|
|
11171
11214
|
<xsl:choose>
|
11172
11215
|
<!-- 2nd pass -->
|
@@ -11226,16 +11269,20 @@
|
|
11226
11269
|
</xsl:template>
|
11227
11270
|
|
11228
11271
|
<xsl:template name="generateIndexXrefId">
|
11272
|
+
<xsl:param name="docid"/>
|
11273
|
+
|
11229
11274
|
<xsl:variable name="level" select="count(ancestor::*[local-name() = 'ul'])"/>
|
11230
11275
|
|
11231
|
-
<xsl:variable name="
|
11232
|
-
<xsl:
|
11276
|
+
<xsl:variable name="docid_curr">
|
11277
|
+
<xsl:value-of select="$docid"/>
|
11278
|
+
<xsl:if test="normalize-space($docid) = ''"><xsl:call-template name="getDocumentId"/></xsl:if>
|
11233
11279
|
</xsl:variable>
|
11280
|
+
|
11234
11281
|
<xsl:variable name="item_number">
|
11235
11282
|
<xsl:number count="*[local-name() = 'li'][ancestor::*[local-name() = 'indexsect']]" level="any"/>
|
11236
11283
|
</xsl:variable>
|
11237
11284
|
<xsl:variable name="xref_number"><xsl:number count="*[local-name() = 'xref']"/></xsl:variable>
|
11238
|
-
<xsl:value-of select="concat($
|
11285
|
+
<xsl:value-of select="concat($docid_curr, '_', $item_number, '_', $xref_number)"/> <!-- $level, '_', -->
|
11239
11286
|
</xsl:template>
|
11240
11287
|
|
11241
11288
|
<xsl:template match="*[local-name() = 'indexsect']/*[local-name() = 'title']" priority="4">
|
@@ -12173,7 +12220,7 @@
|
|
12173
12220
|
|
12174
12221
|
<xsl:variable name="element_name_keep-together_within-line">keep-together_within-line</xsl:variable>
|
12175
12222
|
|
12176
|
-
<xsl:template match="text()[not(ancestor::*[local-name() = 'bibdata'] or ancestor::*[local-name() = 'sourcecode'] or
|
12223
|
+
<xsl:template match="text()[not(ancestor::*[local-name() = 'bibdata'] or ancestor::*[local-name() = 'link'][not(contains(.,' '))] or ancestor::*[local-name() = 'sourcecode'] or ancestor::*[local-name() = 'math'] or starts-with(., 'http://') or starts-with(., 'https://') or starts-with(., 'www.') )]" name="keep_together_standard_number" mode="update_xml_enclose_keep-together_within-line">
|
12177
12224
|
|
12178
12225
|
<!-- enclose standard's number into tag 'keep-together_within-line' -->
|
12179
12226
|
<xsl:variable name="regex_standard_reference">([A-Z]{2,}(/[A-Z]{2,})* \d+(-\d+)*(:\d{4})?)</xsl:variable>
|
@@ -7249,8 +7249,17 @@
|
|
7249
7249
|
</fo:inline>
|
7250
7250
|
</xsl:template> <!-- tt -->
|
7251
7251
|
|
7252
|
+
<xsl:variable name="regex_url_start">^(http://|https://|www\.)?(.*)</xsl:variable>
|
7252
7253
|
<xsl:template match="*[local-name()='tt']/text()" priority="2">
|
7253
|
-
<xsl:
|
7254
|
+
<xsl:choose>
|
7255
|
+
<xsl:when test="java:replaceAll(java:java.lang.String.new(.), '$2', '') != ''">
|
7256
|
+
<!-- url -->
|
7257
|
+
<xsl:call-template name="add-zero-spaces-link-java"/>
|
7258
|
+
</xsl:when>
|
7259
|
+
<xsl:otherwise>
|
7260
|
+
<xsl:call-template name="add_spaces_to_sourcecode"/>
|
7261
|
+
</xsl:otherwise>
|
7262
|
+
</xsl:choose>
|
7254
7263
|
</xsl:template>
|
7255
7264
|
|
7256
7265
|
<xsl:template match="*[local-name()='underline']">
|
@@ -7606,8 +7615,11 @@
|
|
7606
7615
|
|
7607
7616
|
<xsl:template name="add-zero-spaces-link-java">
|
7608
7617
|
<xsl:param name="text" select="."/>
|
7618
|
+
|
7619
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($text), $regex_url_start, '$1')"/> <!-- http://. https:// or www. -->
|
7620
|
+
<xsl:variable name="url_continue" select="java:replaceAll(java:java.lang.String.new($text), $regex_url_start, '$2')"/>
|
7609
7621
|
<!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
|
7610
|
-
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($
|
7622
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($url_continue),'(-|\.|:|=|_|—| |,|/)','$1')"/>
|
7611
7623
|
</xsl:template>
|
7612
7624
|
|
7613
7625
|
<!-- add zero space after dash character (for table's entries) -->
|
@@ -10587,7 +10599,7 @@
|
|
10587
10599
|
<!-- ====== -->
|
10588
10600
|
<!-- eref -->
|
10589
10601
|
<!-- ====== -->
|
10590
|
-
<xsl:template match="*[local-name() = 'eref']">
|
10602
|
+
<xsl:template match="*[local-name() = 'eref']" name="eref">
|
10591
10603
|
<xsl:variable name="current_bibitemid" select="@bibitemid"/>
|
10592
10604
|
<!-- <xsl:variable name="external-destination" select="normalize-space(key('bibitems', $current_bibitemid)/*[local-name() = 'uri'][@type = 'citation'])"/> -->
|
10593
10605
|
<xsl:variable name="external-destination" select="normalize-space($bibitems/*[local-name() ='bibitem'][@id = $current_bibitemid]/*[local-name() = 'uri'][@type = 'citation'])"/>
|
@@ -11098,21 +11110,29 @@
|
|
11098
11110
|
</xsl:variable>
|
11099
11111
|
|
11100
11112
|
<xsl:template match="@*|node()" mode="index_add_id">
|
11113
|
+
<xsl:param name="docid"/>
|
11101
11114
|
<xsl:copy>
|
11102
|
-
|
11115
|
+
<xsl:apply-templates select="@*|node()" mode="index_add_id">
|
11116
|
+
<xsl:with-param name="docid" select="$docid"/>
|
11117
|
+
</xsl:apply-templates>
|
11103
11118
|
</xsl:copy>
|
11104
11119
|
</xsl:template>
|
11105
11120
|
|
11106
11121
|
<xsl:template match="*[local-name() = 'xref']" mode="index_add_id">
|
11122
|
+
<xsl:param name="docid"/>
|
11107
11123
|
<xsl:variable name="id">
|
11108
|
-
<xsl:call-template name="generateIndexXrefId"
|
11124
|
+
<xsl:call-template name="generateIndexXrefId">
|
11125
|
+
<xsl:with-param name="docid" select="$docid"/>
|
11126
|
+
</xsl:call-template>
|
11109
11127
|
</xsl:variable>
|
11110
11128
|
<xsl:copy> <!-- add id to xref -->
|
11111
11129
|
<xsl:apply-templates select="@*" mode="index_add_id"/>
|
11112
11130
|
<xsl:attribute name="id">
|
11113
11131
|
<xsl:value-of select="$id"/>
|
11114
11132
|
</xsl:attribute>
|
11115
|
-
<xsl:apply-templates mode="index_add_id"
|
11133
|
+
<xsl:apply-templates mode="index_add_id">
|
11134
|
+
<xsl:with-param name="docid" select="$docid"/>
|
11135
|
+
</xsl:apply-templates>
|
11116
11136
|
</xsl:copy>
|
11117
11137
|
<!-- split <xref target="bm1" to="End" pagenumber="true"> to two xref:
|
11118
11138
|
<xref target="bm1" pagenumber="true"> and <xref target="End" pagenumber="true"> -->
|
@@ -11124,7 +11144,9 @@
|
|
11124
11144
|
<xsl:attribute name="id">
|
11125
11145
|
<xsl:value-of select="$id"/><xsl:text>_to</xsl:text>
|
11126
11146
|
</xsl:attribute>
|
11127
|
-
<xsl:apply-templates mode="index_add_id"
|
11147
|
+
<xsl:apply-templates mode="index_add_id">
|
11148
|
+
<xsl:with-param name="docid" select="$docid"/>
|
11149
|
+
</xsl:apply-templates>
|
11128
11150
|
</xsl:copy>
|
11129
11151
|
</xsl:if>
|
11130
11152
|
</xsl:template>
|
@@ -11161,12 +11183,33 @@
|
|
11161
11183
|
</xsl:when>
|
11162
11184
|
<xsl:when test="self::* and local-name(.) = 'xref'">
|
11163
11185
|
<xsl:variable name="id" select="@id"/>
|
11164
|
-
<xsl:variable name="page" select="$index//item[@id = $id]"/>
|
11165
|
-
<xsl:variable name="id_next" select="following-sibling::*[local-name() = 'xref'][1]/@id"/>
|
11166
|
-
<xsl:variable name="page_next" select="$index//item[@id = $id_next]"/>
|
11167
11186
|
|
11187
|
+
<xsl:variable name="id_next" select="following-sibling::*[local-name() = 'xref'][1]/@id"/>
|
11168
11188
|
<xsl:variable name="id_prev" select="preceding-sibling::*[local-name() = 'xref'][1]/@id"/>
|
11169
|
-
|
11189
|
+
|
11190
|
+
<xsl:variable name="pages_">
|
11191
|
+
<xsl:for-each select="$index/index/item[@id = $id or @id = $id_next or @id = $id_prev]">
|
11192
|
+
<xsl:choose>
|
11193
|
+
<xsl:when test="@id = $id">
|
11194
|
+
<page><xsl:value-of select="."/></page>
|
11195
|
+
</xsl:when>
|
11196
|
+
<xsl:when test="@id = $id_next">
|
11197
|
+
<page_next><xsl:value-of select="."/></page_next>
|
11198
|
+
</xsl:when>
|
11199
|
+
<xsl:when test="@id = $id_prev">
|
11200
|
+
<page_prev><xsl:value-of select="."/></page_prev>
|
11201
|
+
</xsl:when>
|
11202
|
+
</xsl:choose>
|
11203
|
+
</xsl:for-each>
|
11204
|
+
</xsl:variable>
|
11205
|
+
<xsl:variable name="pages" select="xalan:nodeset($pages_)"/>
|
11206
|
+
|
11207
|
+
<!-- <xsl:variable name="page" select="$index/index/item[@id = $id]"/> -->
|
11208
|
+
<xsl:variable name="page" select="$pages/page"/>
|
11209
|
+
<!-- <xsl:variable name="page_next" select="$index/index/item[@id = $id_next]"/> -->
|
11210
|
+
<xsl:variable name="page_next" select="$pages/page_next"/>
|
11211
|
+
<!-- <xsl:variable name="page_prev" select="$index/index/item[@id = $id_prev]"/> -->
|
11212
|
+
<xsl:variable name="page_prev" select="$pages/page_prev"/>
|
11170
11213
|
|
11171
11214
|
<xsl:choose>
|
11172
11215
|
<!-- 2nd pass -->
|
@@ -11226,16 +11269,20 @@
|
|
11226
11269
|
</xsl:template>
|
11227
11270
|
|
11228
11271
|
<xsl:template name="generateIndexXrefId">
|
11272
|
+
<xsl:param name="docid"/>
|
11273
|
+
|
11229
11274
|
<xsl:variable name="level" select="count(ancestor::*[local-name() = 'ul'])"/>
|
11230
11275
|
|
11231
|
-
<xsl:variable name="
|
11232
|
-
<xsl:
|
11276
|
+
<xsl:variable name="docid_curr">
|
11277
|
+
<xsl:value-of select="$docid"/>
|
11278
|
+
<xsl:if test="normalize-space($docid) = ''"><xsl:call-template name="getDocumentId"/></xsl:if>
|
11233
11279
|
</xsl:variable>
|
11280
|
+
|
11234
11281
|
<xsl:variable name="item_number">
|
11235
11282
|
<xsl:number count="*[local-name() = 'li'][ancestor::*[local-name() = 'indexsect']]" level="any"/>
|
11236
11283
|
</xsl:variable>
|
11237
11284
|
<xsl:variable name="xref_number"><xsl:number count="*[local-name() = 'xref']"/></xsl:variable>
|
11238
|
-
<xsl:value-of select="concat($
|
11285
|
+
<xsl:value-of select="concat($docid_curr, '_', $item_number, '_', $xref_number)"/> <!-- $level, '_', -->
|
11239
11286
|
</xsl:template>
|
11240
11287
|
|
11241
11288
|
<xsl:template match="*[local-name() = 'indexsect']/*[local-name() = 'title']" priority="4">
|
@@ -12173,7 +12220,7 @@
|
|
12173
12220
|
|
12174
12221
|
<xsl:variable name="element_name_keep-together_within-line">keep-together_within-line</xsl:variable>
|
12175
12222
|
|
12176
|
-
<xsl:template match="text()[not(ancestor::*[local-name() = 'bibdata'] or ancestor::*[local-name() = 'sourcecode'] or
|
12223
|
+
<xsl:template match="text()[not(ancestor::*[local-name() = 'bibdata'] or ancestor::*[local-name() = 'link'][not(contains(.,' '))] or ancestor::*[local-name() = 'sourcecode'] or ancestor::*[local-name() = 'math'] or starts-with(., 'http://') or starts-with(., 'https://') or starts-with(., 'www.') )]" name="keep_together_standard_number" mode="update_xml_enclose_keep-together_within-line">
|
12177
12224
|
|
12178
12225
|
<!-- enclose standard's number into tag 'keep-together_within-line' -->
|
12179
12226
|
<xsl:variable name="regex_standard_reference">([A-Z]{2,}(/[A-Z]{2,})* \d+(-\d+)*(:\d{4})?)</xsl:variable>
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require "isodoc"
|
2
|
+
require "mnconvert"
|
3
|
+
|
4
|
+
module IsoDoc
|
5
|
+
module IEEE
|
6
|
+
class IEEEXMLConvert < IsoDoc::XslfoPdfConvert
|
7
|
+
def initialize(options) # rubocop:disable Lint/MissingSuper
|
8
|
+
@libdir = File.dirname(__FILE__)
|
9
|
+
@format = :ieee
|
10
|
+
@suffix = "ieee.xml"
|
11
|
+
@ieeedtd = options[:ieeedtd]
|
12
|
+
end
|
13
|
+
|
14
|
+
def inputfile(in_fname, filename)
|
15
|
+
/\.xml$/.match?(in_fname) or
|
16
|
+
in_fname = Tempfile.open([filename, ".xml"], encoding: "utf-8") do |f|
|
17
|
+
f.write file
|
18
|
+
f.path
|
19
|
+
end
|
20
|
+
in_fname
|
21
|
+
end
|
22
|
+
|
23
|
+
def convert(in_fname, file = nil, debug = false, out_fname = nil)
|
24
|
+
file = File.read(in_fname, encoding: "utf-8") if file.nil?
|
25
|
+
_docxml, filename, dir = convert_init(file, in_fname, debug)
|
26
|
+
in_fname = inputfile(in_fname, filename)
|
27
|
+
FileUtils.rm_rf dir
|
28
|
+
opt = { input_format: MnConvert::InputFormat::MN,
|
29
|
+
output_file: out_fname || "#{filename}.#{@suffix}",
|
30
|
+
output_format: :ieee }
|
31
|
+
@ieeedtd and opt.merge!(validation_against: @ieeedtd)
|
32
|
+
MnConvert.convert(in_fname, opt)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -62,7 +62,7 @@ module IsoDoc
|
|
62
62
|
linkend = linkend.sub(/^Clause /, "")
|
63
63
|
container = @xrefs.anchor(node["target"], :container, false)
|
64
64
|
prefix_container?(container, node) and
|
65
|
-
linkend = prefix_container(container, linkend, node["target"])
|
65
|
+
linkend = prefix_container(container, linkend, node, node["target"])
|
66
66
|
capitalise_xref(node, linkend, anchor_value(node["target"]))
|
67
67
|
end
|
68
68
|
|
data/lib/isodoc/ieee.rb
CHANGED
@@ -1,10 +1,5 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
2
|
<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
3
|
-
<include href="biblio.rng">
|
4
|
-
<start>
|
5
|
-
<ref name="document"/>
|
6
|
-
</start>
|
7
|
-
</include>
|
8
3
|
<define name="document">
|
9
4
|
<element name="document">
|
10
5
|
<optional>
|
@@ -1125,26 +1120,4 @@
|
|
1125
1120
|
</zeroOrMore>
|
1126
1121
|
</element>
|
1127
1122
|
</define>
|
1128
|
-
<define name="ext">
|
1129
|
-
<element name="ext">
|
1130
|
-
<ref name="BibDataExtensionType"/>
|
1131
|
-
</element>
|
1132
|
-
</define>
|
1133
|
-
<define name="BibDataExtensionType">
|
1134
|
-
<ref name="doctype"/>
|
1135
|
-
</define>
|
1136
|
-
<define name="doctype">
|
1137
|
-
<element name="doctype">
|
1138
|
-
<ref name="DocumentType"/>
|
1139
|
-
</element>
|
1140
|
-
</define>
|
1141
|
-
<define name="DocumentType">
|
1142
|
-
<value>document</value>
|
1143
|
-
</define>
|
1144
|
-
<define name="BibData">
|
1145
|
-
<ref name="BibliographicItem"/>
|
1146
|
-
<optional>
|
1147
|
-
<ref name="ext"/>
|
1148
|
-
</optional>
|
1149
|
-
</define>
|
1150
1123
|
</grammar>
|
@@ -0,0 +1,164 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<grammar xmlns="http://relaxng.org/ns/structure/1.0">
|
3
|
+
<!--
|
4
|
+
Add-ons to biblio.rnc for standoc model: defines the extension point BibDataExtensionType
|
5
|
+
of relaton
|
6
|
+
|
7
|
+
Specialisations as for biblio.rnc. Extension point can be redefined completely for a flavour of standoc
|
8
|
+
(SDO); but other elements in Bibdata can only be extended (more specialised vocabularies for Bibdata)
|
9
|
+
-->
|
10
|
+
<include href="biblio.rng">
|
11
|
+
<define name="BibData">
|
12
|
+
<ref name="BibliographicItem"/>
|
13
|
+
<optional>
|
14
|
+
<ref name="ext"/>
|
15
|
+
</optional>
|
16
|
+
</define>
|
17
|
+
</include>
|
18
|
+
<define name="ext">
|
19
|
+
<element name="ext">
|
20
|
+
<ref name="BibDataExtensionType"/>
|
21
|
+
</element>
|
22
|
+
</define>
|
23
|
+
<define name="BibDataExtensionType">
|
24
|
+
<optional>
|
25
|
+
<attribute name="schema-version"/>
|
26
|
+
</optional>
|
27
|
+
<ref name="doctype"/>
|
28
|
+
<optional>
|
29
|
+
<ref name="docsubtype"/>
|
30
|
+
</optional>
|
31
|
+
<optional>
|
32
|
+
<ref name="editorialgroup"/>
|
33
|
+
</optional>
|
34
|
+
<zeroOrMore>
|
35
|
+
<ref name="ics"/>
|
36
|
+
</zeroOrMore>
|
37
|
+
<zeroOrMore>
|
38
|
+
<ref name="structuredidentifier"/>
|
39
|
+
</zeroOrMore>
|
40
|
+
</define>
|
41
|
+
<define name="doctype">
|
42
|
+
<element name="doctype">
|
43
|
+
<optional>
|
44
|
+
<attribute name="abbreviation"/>
|
45
|
+
</optional>
|
46
|
+
<ref name="DocumentType"/>
|
47
|
+
</element>
|
48
|
+
</define>
|
49
|
+
<define name="DocumentType">
|
50
|
+
<value>document</value>
|
51
|
+
</define>
|
52
|
+
<define name="docsubtype">
|
53
|
+
<element name="subdoctype">
|
54
|
+
<ref name="DocumentSubtype"/>
|
55
|
+
</element>
|
56
|
+
</define>
|
57
|
+
<define name="DocumentSubtype">
|
58
|
+
<text/>
|
59
|
+
</define>
|
60
|
+
<define name="editorialgroup">
|
61
|
+
<element name="editorialgroup">
|
62
|
+
<oneOrMore>
|
63
|
+
<ref name="technical-committee"/>
|
64
|
+
</oneOrMore>
|
65
|
+
</element>
|
66
|
+
</define>
|
67
|
+
<define name="technical-committee">
|
68
|
+
<element name="technical-committee">
|
69
|
+
<ref name="IsoWorkgroup"/>
|
70
|
+
</element>
|
71
|
+
</define>
|
72
|
+
<define name="IsoWorkgroup">
|
73
|
+
<optional>
|
74
|
+
<attribute name="number"/>
|
75
|
+
</optional>
|
76
|
+
<optional>
|
77
|
+
<attribute name="type"/>
|
78
|
+
</optional>
|
79
|
+
<optional>
|
80
|
+
<attribute name="identifier"/>
|
81
|
+
</optional>
|
82
|
+
<optional>
|
83
|
+
<attribute name="prefix"/>
|
84
|
+
</optional>
|
85
|
+
<text/>
|
86
|
+
</define>
|
87
|
+
<define name="ics">
|
88
|
+
<element name="ics">
|
89
|
+
<element name="code">
|
90
|
+
<text/>
|
91
|
+
</element>
|
92
|
+
<optional>
|
93
|
+
<element name="text">
|
94
|
+
<text/>
|
95
|
+
</element>
|
96
|
+
</optional>
|
97
|
+
</element>
|
98
|
+
</define>
|
99
|
+
<define name="structuredidentifier">
|
100
|
+
<element name="structuredidentifier">
|
101
|
+
<optional>
|
102
|
+
<attribute name="type"/>
|
103
|
+
</optional>
|
104
|
+
<oneOrMore>
|
105
|
+
<element name="agency">
|
106
|
+
<text/>
|
107
|
+
</element>
|
108
|
+
</oneOrMore>
|
109
|
+
<optional>
|
110
|
+
<element name="class">
|
111
|
+
<text/>
|
112
|
+
</element>
|
113
|
+
</optional>
|
114
|
+
<element name="docnumber">
|
115
|
+
<text/>
|
116
|
+
</element>
|
117
|
+
<optional>
|
118
|
+
<element name="partnumber">
|
119
|
+
<text/>
|
120
|
+
</element>
|
121
|
+
</optional>
|
122
|
+
<optional>
|
123
|
+
<element name="edition">
|
124
|
+
<text/>
|
125
|
+
</element>
|
126
|
+
</optional>
|
127
|
+
<optional>
|
128
|
+
<element name="version">
|
129
|
+
<text/>
|
130
|
+
</element>
|
131
|
+
</optional>
|
132
|
+
<optional>
|
133
|
+
<element name="supplementtype">
|
134
|
+
<text/>
|
135
|
+
</element>
|
136
|
+
</optional>
|
137
|
+
<optional>
|
138
|
+
<element name="supplementnumber">
|
139
|
+
<text/>
|
140
|
+
</element>
|
141
|
+
</optional>
|
142
|
+
<optional>
|
143
|
+
<element name="amendment">
|
144
|
+
<text/>
|
145
|
+
</element>
|
146
|
+
</optional>
|
147
|
+
<optional>
|
148
|
+
<element name="corrigendum">
|
149
|
+
<text/>
|
150
|
+
</element>
|
151
|
+
</optional>
|
152
|
+
<optional>
|
153
|
+
<element name="language">
|
154
|
+
<text/>
|
155
|
+
</element>
|
156
|
+
</optional>
|
157
|
+
<optional>
|
158
|
+
<element name="year">
|
159
|
+
<text/>
|
160
|
+
</element>
|
161
|
+
</optional>
|
162
|
+
</element>
|
163
|
+
</define>
|
164
|
+
</grammar>
|