metanorma-jis 0.2.6 → 0.2.7

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: 3e535a59c279bcefe69819d283821225f8c751cec09a3c28d9362186fc6ad6d1
4
- data.tar.gz: 0265fc5c6ad595bd5c4cab59b539cc2d8f33c8260e6e7f908419897296889554
3
+ metadata.gz: b368234d9277b29aa534c29eea939c9511d9151c7aa759fd9fbf819848c287c1
4
+ data.tar.gz: b51cccd52045311c34869ec041b5fd18781e2c0b4c0e9c8312e7fc1748d3fc30
5
5
  SHA512:
6
- metadata.gz: 4426ffed2000345bf1150e89c336e22b43311af42d470aede5c894a156b1c6336766318cb07f54340e01d7ac0d230729a053673524b2fa4cde5cb896e9748e59
7
- data.tar.gz: 6220cd22faaec6fdfedddf86c1b352c0796906e5fda536a7f31e95ea06fcbd337a289dbedd8ac9a22a796bddeea46d7f27ddaa4a0dd750e28ee2656ac8b1bf26
6
+ metadata.gz: f1e43b3d65c7f723f2562e900a9f4b9dcc8304954d43b65db4fc7591e1949e2c0595965c00e8d2d6f5bd8ae478047501fc05ab7c0c9345e8e3bfb17235631d1b
7
+ data.tar.gz: f20a68b53311de5a77a38838d4c7805ff0746f18c9fbf450693eed3c74f58bac0d870f573238cb91d4a90beee6022d6457bedb198b4b7aa7562833d5f25fdc35
@@ -7790,10 +7790,11 @@
7790
7790
  </xsl:template>
7791
7791
 
7792
7792
  <xsl:template match="*[local-name() = 'image']">
7793
+ <xsl:param name="indent">0</xsl:param>
7793
7794
  <xsl:variable name="isAdded" select="../@added"/>
7794
7795
  <xsl:variable name="isDeleted" select="../@deleted"/>
7795
7796
  <xsl:choose>
7796
- <xsl:when test="ancestor::*[local-name() = 'title'] or not(parent::*[local-name() = 'figure']) or parent::*[local-name() = 'p']">
7797
+ <xsl:when test="ancestor::*[local-name() = 'title'] or not(parent::*[local-name() = 'figure']) or parent::*[local-name() = 'p']"> <!-- inline image ( 'image:path' in adoc, with one colon after image) -->
7797
7798
  <fo:inline padding-left="1mm" padding-right="1mm">
7798
7799
  <xsl:if test="not(parent::*[local-name() = 'figure']) or parent::*[local-name() = 'p']">
7799
7800
  <xsl:attribute name="padding-left">0mm</xsl:attribute>
@@ -7802,7 +7803,43 @@
7802
7803
  <xsl:variable name="src">
7803
7804
  <xsl:call-template name="image_src"/>
7804
7805
  </xsl:variable>
7805
- <fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" vertical-align="middle"/>
7806
+
7807
+ <xsl:variable name="scale">
7808
+ <xsl:call-template name="getImageScale">
7809
+ <xsl:with-param name="indent" select="$indent"/>
7810
+ </xsl:call-template>
7811
+ </xsl:variable>
7812
+
7813
+ <!-- debug scale='<xsl:value-of select="$scale"/>', indent='<xsl:value-of select="$indent"/>' -->
7814
+
7815
+ <!-- <fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" vertical-align="middle"/> -->
7816
+ <fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" vertical-align="middle">
7817
+
7818
+ <xsl:variable name="width">
7819
+ <xsl:call-template name="setImageWidth"/>
7820
+ </xsl:variable>
7821
+ <xsl:if test="$width != ''">
7822
+ <xsl:attribute name="width"><xsl:value-of select="$width"/></xsl:attribute>
7823
+ </xsl:if>
7824
+ <xsl:variable name="height">
7825
+ <xsl:call-template name="setImageHeight"/>
7826
+ </xsl:variable>
7827
+ <xsl:if test="$height != ''">
7828
+ <xsl:attribute name="height"><xsl:value-of select="$height"/></xsl:attribute>
7829
+ </xsl:if>
7830
+
7831
+ <xsl:if test="$width = '' and $height = ''">
7832
+ <xsl:if test="number($scale) &lt; 100">
7833
+ <xsl:attribute name="content-width"><xsl:value-of select="number($scale)"/>%</xsl:attribute>
7834
+ <!-- <xsl:attribute name="content-width">scale-to-fit</xsl:attribute>
7835
+ <xsl:attribute name="content-height">100%</xsl:attribute>
7836
+ <xsl:attribute name="width">100%</xsl:attribute>
7837
+ <xsl:attribute name="scaling">uniform</xsl:attribute> -->
7838
+ </xsl:if>
7839
+ </xsl:if>
7840
+
7841
+ </fo:external-graphic>
7842
+
7806
7843
  </fo:inline>
7807
7844
  </xsl:when>
7808
7845
  <xsl:otherwise>
@@ -7823,25 +7860,23 @@
7823
7860
  <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
7824
7861
  <xsl:attribute name="scaling">uniform</xsl:attribute>
7825
7862
 
7826
- <xsl:apply-templates select="." mode="cross_image"/>
7863
+ <xsl:apply-templates select="." mode="cross_image"/>
7827
7864
 
7828
7865
  </fo:instream-foreign-object>
7829
7866
  </xsl:when>
7830
7867
  <xsl:otherwise>
7868
+ <!-- <fo:block>debug block image:
7869
+ <xsl:variable name="scale">
7870
+ <xsl:call-template name="getImageScale">
7871
+ <xsl:with-param name="indent" select="$indent"/>
7872
+ </xsl:call-template>
7873
+ </xsl:variable>
7874
+ <xsl:value-of select="concat('scale=', $scale,', indent=', $indent)"/>
7875
+ </fo:block> -->
7831
7876
  <fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style">
7832
7877
  <xsl:if test="not(@mimetype = 'image/svg+xml') and (../*[local-name() = 'name'] or parent::*[local-name() = 'figure'][@unnumbered = 'true']) and not(ancestor::*[local-name() = 'table'])">
7833
7878
 
7834
- <xsl:if test="@width != '' and @width != 'auto' and @width != 'text-width' and @width != 'full-page-width' and @width != 'narrow'">
7835
- <xsl:attribute name="width">
7836
- <xsl:value-of select="@width"/>
7837
- </xsl:attribute>
7838
- </xsl:if>
7839
-
7840
- <xsl:if test="@height != '' and @height != 'auto'">
7841
- <xsl:attribute name="height">
7842
- <xsl:value-of select="@height"/>
7843
- </xsl:attribute>
7844
- </xsl:if>
7879
+ <xsl:call-template name="setImageWidthHeight"/>
7845
7880
 
7846
7881
  <xsl:choose>
7847
7882
  <xsl:when test="@width != '' and @width != 'auto' and @height != '' and @height != 'auto'">
@@ -7849,24 +7884,18 @@
7849
7884
  </xsl:when>
7850
7885
  <xsl:otherwise>
7851
7886
 
7852
- <xsl:variable name="img_src">
7853
- <xsl:choose>
7854
- <xsl:when test="not(starts-with(@src, 'data:'))"><xsl:value-of select="concat($basepath, @src)"/></xsl:when>
7855
- <xsl:otherwise><xsl:value-of select="@src"/></xsl:otherwise>
7856
- </xsl:choose>
7887
+ <xsl:variable name="scale">
7888
+ <xsl:call-template name="getImageScale">
7889
+ <xsl:with-param name="indent" select="$indent"/>
7890
+ </xsl:call-template>
7857
7891
  </xsl:variable>
7858
7892
 
7859
- <xsl:variable name="image_width_effective">
7860
-
7861
- <xsl:value-of select="$width_effective"/>
7862
-
7893
+ <xsl:variable name="scaleRatio">
7894
+ 1
7863
7895
  </xsl:variable>
7864
7896
 
7865
- <xsl:variable name="scale" select="java:org.metanorma.fop.Util.getImageScale($img_src, $image_width_effective, $height_effective)"/>
7866
7897
  <xsl:if test="number($scale) &lt; 100">
7867
-
7868
- <xsl:attribute name="content-width"><xsl:value-of select="$scale"/>%</xsl:attribute>
7869
-
7898
+ <xsl:attribute name="content-width"><xsl:value-of select="number($scale) * number($scaleRatio)"/>%</xsl:attribute>
7870
7899
  </xsl:if>
7871
7900
  </xsl:otherwise>
7872
7901
  </xsl:choose>
@@ -7882,6 +7911,62 @@
7882
7911
  </xsl:choose>
7883
7912
  </xsl:template>
7884
7913
 
7914
+ <xsl:template name="setImageWidth">
7915
+ <xsl:if test="@width != '' and @width != 'auto' and @width != 'text-width' and @width != 'full-page-width' and @width != 'narrow'">
7916
+ <xsl:value-of select="@width"/>
7917
+ </xsl:if>
7918
+ </xsl:template>
7919
+ <xsl:template name="setImageHeight">
7920
+ <xsl:if test="@height != '' and @height != 'auto'">
7921
+ <xsl:value-of select="@height"/>
7922
+ </xsl:if>
7923
+ </xsl:template>
7924
+ <xsl:template name="setImageWidthHeight">
7925
+ <xsl:variable name="width">
7926
+ <xsl:call-template name="setImageWidth"/>
7927
+ </xsl:variable>
7928
+ <xsl:if test="$width != ''">
7929
+ <xsl:attribute name="width">
7930
+ <xsl:value-of select="$width"/>
7931
+ </xsl:attribute>
7932
+ </xsl:if>
7933
+ <xsl:variable name="height">
7934
+ <xsl:call-template name="setImageHeight"/>
7935
+ </xsl:variable>
7936
+ <xsl:if test="$height != ''">
7937
+ <xsl:attribute name="height">
7938
+ <xsl:value-of select="$height"/>
7939
+ </xsl:attribute>
7940
+ </xsl:if>
7941
+ </xsl:template>
7942
+
7943
+ <xsl:template name="getImageScale">
7944
+ <xsl:param name="indent"/>
7945
+ <xsl:variable name="indent_left">
7946
+ <xsl:choose>
7947
+ <xsl:when test="$indent != ''"><xsl:value-of select="$indent"/></xsl:when>
7948
+ <xsl:otherwise>0</xsl:otherwise>
7949
+ </xsl:choose>
7950
+ </xsl:variable>
7951
+ <xsl:variable name="img_src">
7952
+ <xsl:choose>
7953
+ <xsl:when test="not(starts-with(@src, 'data:'))"><xsl:value-of select="concat($basepath, @src)"/></xsl:when>
7954
+ <xsl:otherwise><xsl:value-of select="@src"/></xsl:otherwise>
7955
+ </xsl:choose>
7956
+ </xsl:variable>
7957
+
7958
+ <xsl:variable name="image_width_effective">
7959
+
7960
+ <xsl:value-of select="$width_effective - number($indent_left)"/>
7961
+
7962
+ </xsl:variable>
7963
+ <!-- <xsl:message>width_effective=<xsl:value-of select="$width_effective"/></xsl:message>
7964
+ <xsl:message>indent_left=<xsl:value-of select="$indent_left"/></xsl:message>
7965
+ <xsl:message>image_width_effective=<xsl:value-of select="$image_width_effective"/> for <xsl:value-of select="ancestor::ogc:p[1]/@id"/></xsl:message> -->
7966
+ <xsl:variable name="scale" select="java:org.metanorma.fop.Util.getImageScale($img_src, $image_width_effective, $height_effective)"/>
7967
+ <xsl:value-of select="$scale"/>
7968
+ </xsl:template>
7969
+
7885
7970
  <xsl:template name="image_src">
7886
7971
  <xsl:choose>
7887
7972
  <xsl:when test="@mimetype = 'image/svg+xml' and $images/images/image[@id = current()/@id]">
@@ -10550,6 +10635,7 @@
10550
10635
  </xsl:template>
10551
10636
 
10552
10637
  <xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
10638
+ <xsl:param name="indent">0</xsl:param>
10553
10639
  <xsl:choose>
10554
10640
  <xsl:when test="parent::*[local-name() = 'note'] or parent::*[local-name() = 'termnote']">
10555
10641
  <fo:block-container role="SKIP">
@@ -10564,7 +10650,9 @@
10564
10650
 
10565
10651
  <fo:block-container margin-left="0mm" role="SKIP">
10566
10652
  <fo:block>
10567
- <xsl:apply-templates select="." mode="list"/>
10653
+ <xsl:apply-templates select="." mode="list">
10654
+ <xsl:with-param name="indent" select="$indent"/>
10655
+ </xsl:apply-templates>
10568
10656
  </fo:block>
10569
10657
  </fo:block-container>
10570
10658
  </fo:block-container>
@@ -10577,7 +10665,9 @@
10577
10665
  </xsl:if>
10578
10666
  <fo:block-container margin-left="0mm" role="SKIP">
10579
10667
  <fo:block>
10580
- <xsl:apply-templates select="." mode="list"/>
10668
+ <xsl:apply-templates select="." mode="list">
10669
+ <xsl:with-param name="indent" select="$indent"/>
10670
+ </xsl:apply-templates>
10581
10671
  </fo:block>
10582
10672
  </fo:block-container>
10583
10673
  </fo:block-container>
@@ -10664,6 +10754,13 @@
10664
10754
  </xsl:template>
10665
10755
 
10666
10756
  <xsl:template match="*[local-name()='li']">
10757
+ <xsl:param name="indent">0</xsl:param>
10758
+ <!-- <fo:list-item xsl:use-attribute-sets="list-item-style">
10759
+ <fo:list-item-label end-indent="label-end()"><fo:block>x</fo:block></fo:list-item-label>
10760
+ <fo:list-item-body start-indent="body-start()" xsl:use-attribute-sets="list-item-body-style">
10761
+ <fo:block>debug li indent=<xsl:value-of select="$indent"/></fo:block>
10762
+ </fo:list-item-body>
10763
+ </fo:list-item> -->
10667
10764
  <fo:list-item xsl:use-attribute-sets="list-item-style">
10668
10765
  <xsl:copy-of select="@id"/>
10669
10766
 
@@ -10688,7 +10785,9 @@
10688
10785
 
10689
10786
  <xsl:call-template name="refine_list-item-body-style"/>
10690
10787
 
10691
- <xsl:apply-templates/>
10788
+ <xsl:apply-templates>
10789
+ <xsl:with-param name="indent" select="$indent"/>
10790
+ </xsl:apply-templates>
10692
10791
 
10693
10792
  <!-- <xsl:apply-templates select="node()[not(local-name() = 'note')]" />
10694
10793
 
@@ -0,0 +1,10 @@
1
+ module IsoDoc
2
+ module Plateau
3
+ class HtmlConvert < IsoDoc::JIS::HtmlConvert
4
+ def initialize(options)
5
+ super
6
+ @libdir = File.dirname(__FILE__)
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,6 @@
1
+ module IsoDoc
2
+ module Plateau
3
+ class Metadata < IsoDoc::JIS::Metadata
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,14 @@
1
+ module IsoDoc
2
+ module Plateau
3
+ class PdfConvert < IsoDoc::JIS::PdfConvert
4
+ def initialize(options)
5
+ @libdir = File.dirname(__FILE__)
6
+ super
7
+ end
8
+
9
+ def pdf_stylesheet(_docxml)
10
+ "jis.international-standard.xsl"
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,6 @@
1
+ module IsoDoc
2
+ module Plateau
3
+ class PresentationXMLConvert < IsoDoc::JIS::PresentationXMLConvert
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,11 @@
1
+ module IsoDoc
2
+ module Plateau
3
+ class WordConvert < IsoDoc::JIS::WordConvert
4
+ def initialize(options)
5
+ @libdir = File.dirname(__FILE__)
6
+ super
7
+ @libdir = File.dirname(__FILE__)
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,6 @@
1
+ module IsoDoc
2
+ module Plateau
3
+ class Xref < IsoDoc::JIS::Xref
4
+ end
5
+ end
6
+ end
@@ -95,7 +95,7 @@
95
95
  <text/>
96
96
  </element>
97
97
  </define>
98
- <define name="LocalizedString1">
98
+ <define name="LocalizedStringAttrs">
99
99
  <optional>
100
100
  <!-- multiple languages and scripts possible: comma delimit them if so -->
101
101
  <attribute name="language"/>
@@ -106,6 +106,10 @@
106
106
  <optional>
107
107
  <attribute name="script"/>
108
108
  </optional>
109
+ </define>
110
+ <define name="LocalizedString1">
111
+ <!-- multiple languages and scripts possible: comma delimit them if so -->
112
+ <ref name="LocalizedStringAttrs"/>
109
113
  <text/>
110
114
  </define>
111
115
  <define name="LocalizedString">
@@ -142,16 +146,8 @@
142
146
  <ref name="LocalizedStringOrXsAny"/>
143
147
  </define>
144
148
  <define name="LocalizedStringOrXsAny1">
145
- <optional>
146
- <!-- multiple languages and scripts possible: comma delimit them if so -->
147
- <attribute name="language"/>
148
- </optional>
149
- <optional>
150
- <attribute name="locale"/>
151
- </optional>
152
- <optional>
153
- <attribute name="script"/>
154
- </optional>
149
+ <!-- multiple languages and scripts possible: comma delimit them if so -->
150
+ <ref name="LocalizedStringAttrs"/>
155
151
  <oneOrMore>
156
152
  <choice>
157
153
  <text/>
@@ -208,6 +204,7 @@
208
204
  </define>
209
205
  <define name="roledescription">
210
206
  <element name="description">
207
+ <ref name="LocalizedStringAttrs"/>
211
208
  <oneOrMore>
212
209
  <ref name="TextElement"/>
213
210
  </oneOrMore>
@@ -335,6 +332,7 @@
335
332
  </define>
336
333
  <define name="affiliationdescription">
337
334
  <element name="description">
335
+ <ref name="LocalizedStringAttrs"/>
338
336
  <oneOrMore>
339
337
  <ref name="TextElement"/>
340
338
  </oneOrMore>
@@ -948,6 +946,7 @@
948
946
  <optional>
949
947
  <attribute name="type"/>
950
948
  </optional>
949
+ <ref name="LocalizedStringAttrs"/>
951
950
  <zeroOrMore>
952
951
  <ref name="TextElement"/>
953
952
  </zeroOrMore>
@@ -1041,15 +1040,7 @@
1041
1040
  <data type="boolean"/>
1042
1041
  </attribute>
1043
1042
  </optional>
1044
- <optional>
1045
- <attribute name="language"/>
1046
- </optional>
1047
- <optional>
1048
- <attribute name="locale"/>
1049
- </optional>
1050
- <optional>
1051
- <attribute name="script"/>
1052
- </optional>
1043
+ <ref name="LocalizedStringAttrs"/>
1053
1044
  <oneOrMore>
1054
1045
  <ref name="TextElement"/>
1055
1046
  </oneOrMore>
@@ -1277,6 +1268,7 @@
1277
1268
  <optional>
1278
1269
  <attribute name="type"/>
1279
1270
  </optional>
1271
+ <ref name="LocalizedStringAttrs"/>
1280
1272
  <oneOrMore>
1281
1273
  <ref name="TextElement"/>
1282
1274
  </oneOrMore>
@@ -1284,9 +1276,15 @@
1284
1276
  </define>
1285
1277
  <define name="bibabstract">
1286
1278
  <element name="abstract">
1287
- <oneOrMore>
1288
- <ref name="TextElement"/>
1289
- </oneOrMore>
1279
+ <ref name="LocalizedStringAttrs"/>
1280
+ <choice>
1281
+ <oneOrMore>
1282
+ <ref name="BasicBlock"/>
1283
+ </oneOrMore>
1284
+ <oneOrMore>
1285
+ <ref name="TextElement"/>
1286
+ </oneOrMore>
1287
+ </choice>
1290
1288
  </element>
1291
1289
  </define>
1292
1290
  <define name="copyright">
@@ -1391,6 +1389,7 @@
1391
1389
  </attribute>
1392
1390
  <optional>
1393
1391
  <element name="description">
1392
+ <ref name="LocalizedStringAttrs"/>
1394
1393
  <oneOrMore>
1395
1394
  <ref name="TextElement"/>
1396
1395
  </oneOrMore>
@@ -80,7 +80,8 @@ module Metanorma
80
80
  else
81
81
  IsoDoc::JIS::PresentationXMLConvert
82
82
  .new(doc_extract_attributes(node)
83
- .merge(output_formats: ::Metanorma::JIS::Processor.new.output_formats))
83
+ .merge(output_formats: ::Metanorma::JIS::Processor.new
84
+ .output_formats))
84
85
  end
85
86
  end
86
87
  end
@@ -17,7 +17,7 @@
17
17
  these elements; we just want one namespace for any child grammars
18
18
  of this.
19
19
  -->
20
- <!-- VERSION v1.3.0 -->
20
+ <!-- VERSION v1.3.1 -->
21
21
  <grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
22
22
  <include href="reqt.rng"/>
23
23
  <include href="basicdoc.rng">
@@ -1346,38 +1346,41 @@
1346
1346
  </oneOrMore>
1347
1347
  </element>
1348
1348
  </define>
1349
+ <define name="Section-Attributes">
1350
+ <optional>
1351
+ <attribute name="id">
1352
+ <data type="ID"/>
1353
+ </attribute>
1354
+ </optional>
1355
+ <optional>
1356
+ <attribute name="language"/>
1357
+ </optional>
1358
+ <optional>
1359
+ <attribute name="script"/>
1360
+ </optional>
1361
+ <optional>
1362
+ <attribute name="inline-header">
1363
+ <data type="boolean"/>
1364
+ </attribute>
1365
+ </optional>
1366
+ <optional>
1367
+ <attribute name="number"/>
1368
+ </optional>
1369
+ <optional>
1370
+ <attribute name="branch-number"/>
1371
+ </optional>
1372
+ <optional>
1373
+ <attribute name="obligation">
1374
+ <choice>
1375
+ <value>normative</value>
1376
+ <value>informative</value>
1377
+ </choice>
1378
+ </attribute>
1379
+ </optional>
1380
+ </define>
1349
1381
  <define name="reference-clause">
1350
1382
  <element name="clause">
1351
- <optional>
1352
- <attribute name="id">
1353
- <data type="ID"/>
1354
- </attribute>
1355
- </optional>
1356
- <optional>
1357
- <attribute name="language"/>
1358
- </optional>
1359
- <optional>
1360
- <attribute name="script"/>
1361
- </optional>
1362
- <optional>
1363
- <attribute name="inline-header">
1364
- <data type="boolean"/>
1365
- </attribute>
1366
- </optional>
1367
- <optional>
1368
- <attribute name="number"/>
1369
- </optional>
1370
- <optional>
1371
- <attribute name="branch-number"/>
1372
- </optional>
1373
- <optional>
1374
- <attribute name="obligation">
1375
- <choice>
1376
- <value>normative</value>
1377
- <value>informative</value>
1378
- </choice>
1379
- </attribute>
1380
- </optional>
1383
+ <ref name="Section-Attributes"/>
1381
1384
  <optional>
1382
1385
  <ref name="section-title"/>
1383
1386
  </optional>
@@ -1566,36 +1569,7 @@
1566
1569
  </element>
1567
1570
  </define>
1568
1571
  <define name="Content-Section">
1569
- <optional>
1570
- <attribute name="id">
1571
- <data type="ID"/>
1572
- </attribute>
1573
- </optional>
1574
- <optional>
1575
- <attribute name="language"/>
1576
- </optional>
1577
- <optional>
1578
- <attribute name="script"/>
1579
- </optional>
1580
- <optional>
1581
- <attribute name="inline-header">
1582
- <data type="boolean"/>
1583
- </attribute>
1584
- </optional>
1585
- <optional>
1586
- <attribute name="obligation">
1587
- <choice>
1588
- <value>normative</value>
1589
- <value>informative</value>
1590
- </choice>
1591
- </attribute>
1592
- </optional>
1593
- <optional>
1594
- <attribute name="number"/>
1595
- </optional>
1596
- <optional>
1597
- <attribute name="branch-number"/>
1598
- </optional>
1572
+ <ref name="Section-Attributes"/>
1599
1573
  <optional>
1600
1574
  <attribute name="type"/>
1601
1575
  </optional>
@@ -1617,39 +1591,10 @@
1617
1591
  </element>
1618
1592
  </define>
1619
1593
  <define name="Clause-Section">
1620
- <optional>
1621
- <attribute name="id">
1622
- <data type="ID"/>
1623
- </attribute>
1624
- </optional>
1625
- <optional>
1626
- <attribute name="language"/>
1627
- </optional>
1628
- <optional>
1629
- <attribute name="script"/>
1630
- </optional>
1631
- <optional>
1632
- <attribute name="inline-header">
1633
- <data type="boolean"/>
1634
- </attribute>
1635
- </optional>
1636
- <optional>
1637
- <attribute name="obligation">
1638
- <choice>
1639
- <value>normative</value>
1640
- <value>informative</value>
1641
- </choice>
1642
- </attribute>
1643
- </optional>
1594
+ <ref name="Section-Attributes"/>
1644
1595
  <optional>
1645
1596
  <attribute name="type"/>
1646
1597
  </optional>
1647
- <optional>
1648
- <attribute name="number"/>
1649
- </optional>
1650
- <optional>
1651
- <attribute name="branch-number"/>
1652
- </optional>
1653
1598
  <optional>
1654
1599
  <ref name="section-title"/>
1655
1600
  </optional>
@@ -1730,34 +1675,10 @@
1730
1675
  </define>
1731
1676
  <define name="terms">
1732
1677
  <element name="terms">
1733
- <optional>
1734
- <attribute name="id">
1735
- <data type="ID"/>
1736
- </attribute>
1737
- </optional>
1738
- <optional>
1739
- <attribute name="language"/>
1740
- </optional>
1741
- <optional>
1742
- <attribute name="script"/>
1743
- </optional>
1678
+ <ref name="Section-Attributes"/>
1744
1679
  <optional>
1745
1680
  <attribute name="type"/>
1746
1681
  </optional>
1747
- <optional>
1748
- <attribute name="number"/>
1749
- </optional>
1750
- <optional>
1751
- <attribute name="branch-number"/>
1752
- </optional>
1753
- <optional>
1754
- <attribute name="obligation">
1755
- <choice>
1756
- <value>normative</value>
1757
- <value>informative</value>
1758
- </choice>
1759
- </attribute>
1760
- </optional>
1761
1682
  <optional>
1762
1683
  <ref name="section-title"/>
1763
1684
  </optional>
@@ -1,6 +1,6 @@
1
1
  module Metanorma
2
2
  module JIS
3
- VERSION = "0.2.6".freeze
3
+ VERSION = "0.2.7".freeze
4
4
  end
5
5
  end
6
6
 
@@ -0,0 +1,55 @@
1
+ module Metanorma
2
+ module Plateau
3
+ class Converter < JIS::Converter
4
+ register_for "plateau"
5
+
6
+ def version
7
+ flavour = "JIS"
8
+ Metanorma.versioned(Metanorma, flavour)[-1]::VERSION
9
+ end
10
+
11
+ def schema_version
12
+ f = File.read(File.join(File.dirname(__FILE__), "..", "jis", "isodoc.rng"))
13
+ m = / VERSION (v\S+)/.match(f)
14
+ m[1]
15
+ end
16
+
17
+ def html_converter(node)
18
+ if node.nil?
19
+ IsoDoc::Plateau::HtmlConvert.new({})
20
+ else
21
+ IsoDoc::Plateau::HtmlConvert.new(html_extract_attributes(node))
22
+ end
23
+ end
24
+
25
+ def doc_converter(node)
26
+ if node.nil?
27
+ IsoDoc::Plateau::WordConvert.new({})
28
+ else
29
+ IsoDoc::Plateau::WordConvert.new(doc_extract_attributes(node))
30
+ end
31
+ end
32
+
33
+ def pdf_converter(node)
34
+ return if node.attr("no-pdf")
35
+
36
+ if node.nil?
37
+ IsoDoc::Plateau::PdfConvert.new({})
38
+ else
39
+ IsoDoc::Plateau::PdfConvert.new(pdf_extract_attributes(node))
40
+ end
41
+ end
42
+
43
+ def presentation_xml_converter(node)
44
+ if node.nil?
45
+ IsoDoc::Plateau::PresentationXMLConvert.new({})
46
+ else
47
+ IsoDoc::Plateau::PresentationXMLConvert
48
+ .new(doc_extract_attributes(node)
49
+ .merge(output_formats: ::Metanorma::Plateau::Processor.new
50
+ .output_formats))
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,57 @@
1
+ require "metanorma/processor"
2
+
3
+ module Metanorma
4
+ module Plateau
5
+ class Processor < Metanorma::JIS::Processor
6
+ def initialize # rubocop:disable Lint/MissingSuper
7
+ @short = :plateau
8
+ @input_format = :asciidoc
9
+ @asciidoctor_backend = :plateau
10
+ end
11
+
12
+ def output_formats
13
+ super.merge(
14
+ html: "html",
15
+ pdf: "pdf",
16
+ doc: "doc",
17
+ )
18
+ end
19
+
20
+ def fonts_manifest
21
+ {
22
+ "STIX Two Math" => nil,
23
+ "IPAexGothic" => nil,
24
+ "IPAexMincho" => nil,
25
+ "Courier New" => nil,
26
+ "Cambria Math" => nil,
27
+ "Times New Roman" => nil,
28
+ "Arial" => nil,
29
+ }
30
+ end
31
+
32
+ def version
33
+ "Metanorma::JIS #{Metanorma::JIS::VERSION}"
34
+ end
35
+
36
+ def output(xml, inname, outname, format, options = {})
37
+ options_preprocess(options)
38
+ case format
39
+ when :html
40
+ IsoDoc::Plateau::HtmlConvert.new(options).convert(inname, xml, nil,
41
+ outname)
42
+ when :doc
43
+ IsoDoc::Plateau::WordConvert.new(options).convert(inname, xml, nil,
44
+ outname)
45
+ when :pdf
46
+ IsoDoc::Plateau::PdfConvert.new(options).convert(inname, xml, nil,
47
+ outname)
48
+ when :presentation
49
+ IsoDoc::Plateau::PresentationXMLConvert.new(options).convert(inname, xml,
50
+ nil, outname)
51
+ else
52
+ super
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,6 @@
1
+ require_relative "./plateau/processor"
2
+
3
+ module Metanorma
4
+ module Plateau
5
+ end
6
+ end
data/lib/metanorma-jis.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require "asciidoctor" unless defined? Asciidoctor::Converter
2
2
  require_relative "metanorma/jis/converter"
3
+ require_relative "metanorma/plateau/converter"
3
4
  require_relative "metanorma/jis/version"
4
5
  require "isodoc/jis/html_convert"
5
6
  require "isodoc/jis/word_convert"
@@ -7,10 +8,18 @@ require "isodoc/jis/pdf_convert"
7
8
  require "isodoc/jis/presentation_xml_convert"
8
9
  require "isodoc/jis/metadata"
9
10
  require "isodoc/jis/xref"
11
+ require "isodoc/plateau/html_convert"
12
+ require "isodoc/plateau/word_convert"
13
+ require "isodoc/plateau/pdf_convert"
14
+ require "isodoc/plateau/presentation_xml_convert"
15
+ require "isodoc/plateau/metadata"
16
+ require "isodoc/plateau/xref"
10
17
  require "metanorma"
11
18
 
12
19
  if defined? Metanorma::Registry
13
20
  require_relative "metanorma/jis"
14
21
  Metanorma::Registry.instance.register(Metanorma::JIS::Processor)
22
+ require_relative "metanorma/plateau"
23
+ Metanorma::Registry.instance.register(Metanorma::Plateau::Processor)
15
24
  end
16
25
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-jis
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6
4
+ version: 0.2.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-04-08 00:00:00.000000000 Z
11
+ date: 2024-04-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: japanese_calendar
@@ -282,6 +282,12 @@ files:
282
282
  - lib/isodoc/jis/word_cleanup.rb
283
283
  - lib/isodoc/jis/word_convert.rb
284
284
  - lib/isodoc/jis/xref.rb
285
+ - lib/isodoc/plateau/html_convert.rb
286
+ - lib/isodoc/plateau/metadata.rb
287
+ - lib/isodoc/plateau/pdf_convert.rb
288
+ - lib/isodoc/plateau/presentation_xml_convert.rb
289
+ - lib/isodoc/plateau/word_convert.rb
290
+ - lib/isodoc/plateau/xref.rb
285
291
  - lib/metanorma-jis.rb
286
292
  - lib/metanorma/jis.rb
287
293
  - lib/metanorma/jis/basicdoc.rng
@@ -300,6 +306,9 @@ files:
300
306
  - lib/metanorma/jis/reqt.rng
301
307
  - lib/metanorma/jis/validate.rb
302
308
  - lib/metanorma/jis/version.rb
309
+ - lib/metanorma/plateau.rb
310
+ - lib/metanorma/plateau/converter.rb
311
+ - lib/metanorma/plateau/processor.rb
303
312
  - metanorma-jis.gemspec
304
313
  homepage: https://github.com/metanorma/metanorma-jis
305
314
  licenses: