metanorma-jis 0.2.6 → 0.2.7

Sign up to get free protection for your applications and to get access to all the features.
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: