metanorma-ogc 2.2.5 → 2.2.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/lib/isodoc/ogc/html/htmlstyle.css +6 -0
  3. data/lib/isodoc/ogc/html/htmlstyle.scss +1 -0
  4. data/lib/isodoc/ogc/metadata.rb +7 -6
  5. data/lib/isodoc/ogc/ogc.abstract-specification-topic.xsl +122 -16
  6. data/lib/isodoc/ogc/ogc.best-practice.xsl +122 -16
  7. data/lib/isodoc/ogc/ogc.change-request-supporting-document.xsl +122 -16
  8. data/lib/isodoc/ogc/ogc.community-practice.xsl +122 -16
  9. data/lib/isodoc/ogc/ogc.community-standard.xsl +122 -16
  10. data/lib/isodoc/ogc/ogc.discussion-paper.xsl +122 -16
  11. data/lib/isodoc/ogc/ogc.draft-standard.xsl +10902 -0
  12. data/lib/isodoc/ogc/ogc.engineering-report.xsl +122 -16
  13. data/lib/isodoc/ogc/ogc.other.xsl +122 -16
  14. data/lib/isodoc/ogc/ogc.policy.xsl +122 -16
  15. data/lib/isodoc/ogc/ogc.reference-model.xsl +122 -16
  16. data/lib/isodoc/ogc/ogc.release-notes.xsl +122 -16
  17. data/lib/isodoc/ogc/ogc.standard.xsl +122 -16
  18. data/lib/isodoc/ogc/ogc.test-suite.xsl +122 -16
  19. data/lib/isodoc/ogc/ogc.user-guide.xsl +122 -16
  20. data/lib/isodoc/ogc/ogc.white-paper.xsl +120 -15
  21. data/lib/isodoc/ogc/pdf_convert.rb +5 -4
  22. data/lib/isodoc/ogc/presentation_xml_convert.rb +5 -5
  23. data/lib/metanorma/ogc/biblio.rng +5 -0
  24. data/lib/metanorma/ogc/cleanup.rb +14 -14
  25. data/lib/metanorma/ogc/converter.rb +2 -2
  26. data/lib/metanorma/ogc/front.rb +12 -8
  27. data/lib/metanorma/ogc/isodoc.rng +46 -12
  28. data/lib/metanorma/ogc/relaton-ogc.rng +1 -0
  29. data/lib/metanorma/ogc/validate.rb +15 -15
  30. data/lib/metanorma/ogc/version.rb +1 -1
  31. data/metanorma-ogc.gemspec +3 -2
  32. metadata +5 -11
  33. data/.github/workflows/automerge.yml +0 -31
  34. data/.github/workflows/rake.yml +0 -15
  35. data/.github/workflows/release.yml +0 -24
  36. data/Rakefile +0 -8
  37. data/bin/console +0 -14
  38. data/bin/rspec +0 -17
  39. data/bin/setup +0 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9064de05c3fbdef4e2ff7f883c35d94c9dc91ecb08ad51f8a0d92ce72fb25102
4
- data.tar.gz: 375a9fc31158575e59a83e7a758f5071d5afeb88bb3512bd3147550ae042a844
3
+ metadata.gz: 6ae48fbcbe15955982e5f3af106711b970fb68fe864f978a92bc39dc8844bb34
4
+ data.tar.gz: a9c1ec81b04dbd973f6a43fdd9a8371f13c442c9c88bce45901cfde102cb0863
5
5
  SHA512:
6
- metadata.gz: d3a71a45d2213b55843e0ce6efa6baef02ea3da4c36bc82bbbe97841ee0e7538ae6ac0592a0dd731e5f809ac1425bc27d82d78aaf39904819cd6a86af26f259e
7
- data.tar.gz: 6a6c5f0d69937f240db9fd3894987a3a3ee4f17c9985da5918d137fe28c91059f1dc6b4d516b5d49817dd99f32f42a2dd51765d7152fa5aac20403abbcec1119
6
+ metadata.gz: 0a617dd4f0bb0de1e0420fbe7a3c198cd1de02d69b5832fa0bb8603e7eda07f645e44caec0e9293e424cc31c4de52f584d50b3b8eb759f5f5c16c7bb7db083a2
7
+ data.tar.gz: f1eb4e409703355e1759044d8b6e31058bd1aae151a94d927b94eaf034f3a614df7bb7fcff0fc32c554d485c379e8e02712dbbcc3635cd3830adf331b9e56305
@@ -130,6 +130,12 @@ a.FootnoteRef + a.FootnoteRef:before {
130
130
  #standard {
131
131
  border-bottom: solid 3px #3D9970; }
132
132
 
133
+ #draft-standard-band {
134
+ background-color: #3D9970; }
135
+
136
+ #draft-standard {
137
+ border-bottom: solid 3px #3D9970; }
138
+
133
139
  #abstract-specification-topic-band {
134
140
  background-color: #3D9970; }
135
141
 
@@ -1,5 +1,6 @@
1
1
  $doctype-colors-list: (
2
2
  standard: #3D9970,
3
+ draft-standard: #3D9970,
3
4
  abstract-specification-topic: #3D9970,
4
5
  reference-model: #3D9970,
5
6
 
@@ -5,6 +5,7 @@ module IsoDoc
5
5
  module Ogc
6
6
  DOCTYPE_ABBR = {
7
7
  "standard" => "IS",
8
+ "draft-standard" => "DS",
8
9
  "abstract-specification-topic" => "AST",
9
10
  "best-practice" => "BP",
10
11
  "change-request-supporting-document" => "CRSD",
@@ -57,22 +58,22 @@ module IsoDoc
57
58
  def author(isoxml, _out)
58
59
  tc = isoxml.at(ns("//bibdata/ext/editorialgroup/committee"))
59
60
  set(:tc, tc.text) if tc
60
- authors = isoxml.xpath(ns("//bibdata/contributor"\
61
+ authors = isoxml.xpath(ns("//bibdata/contributor" \
61
62
  "[role/@type = 'author']/person"))
62
63
  set(:authors, extract_person_names(authors))
63
- editors = isoxml.xpath(ns("//bibdata/contributor"\
64
+ editors = isoxml.xpath(ns("//bibdata/contributor" \
64
65
  "[role/@type = 'editor']/person"))
65
66
  set(:editors, extract_person_names(editors))
66
- contributors = isoxml.xpath(ns("//bibdata/contributor"\
67
- "[role/@type = 'contributor']/person"))
67
+ contributors = isoxml.xpath(ns("//bibdata/contributor" \
68
+ "[role/@type = 'contributor']/person"))
68
69
  set(:contributors, extract_person_names(contributors))
69
70
  agency(isoxml)
70
71
  end
71
72
 
72
73
  def docid(isoxml, _out)
73
- set(:docnumber, isoxml&.at(ns("//bibdata/docidentifier"\
74
+ set(:docnumber, isoxml&.at(ns("//bibdata/docidentifier" \
74
75
  "[@type = 'ogc-internal']"))&.text)
75
- set(:externalid, isoxml&.at(ns("//bibdata/docidentifier"\
76
+ set(:externalid, isoxml&.at(ns("//bibdata/docidentifier" \
76
77
  "[@type = 'ogc-external']"))&.text)
77
78
  end
78
79
 
@@ -1143,7 +1143,7 @@
1143
1143
  <xsl:template name="insertHeaderFooter">
1144
1144
  <xsl:param name="color" select="$color_blue"/>
1145
1145
  <fo:static-content flow-name="footer" role="artifact">
1146
- <fo:block-container font-size="8pt" height="100%" color="{$color}" padding-top="6mm">
1146
+ <fo:block-container font-size="8pt" color="{$color}" padding-top="6mm">
1147
1147
  <fo:table table-layout="fixed" width="100%">
1148
1148
  <fo:table-column column-width="90%"/>
1149
1149
  <fo:table-column column-width="10%"/>
@@ -1883,6 +1883,15 @@
1883
1883
 
1884
1884
  </xsl:attribute-set>
1885
1885
 
1886
+ <xsl:attribute-set name="pre-style">
1887
+ <xsl:attribute name="font-family">Courier New, <xsl:value-of select="$font_noto_sans_mono"/></xsl:attribute>
1888
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1889
+
1890
+ <xsl:attribute name="font-family">Fira Code, <xsl:value-of select="$font_noto_sans_mono"/></xsl:attribute>
1891
+ <xsl:attribute name="line-height">113%</xsl:attribute>
1892
+
1893
+ </xsl:attribute-set>
1894
+
1886
1895
  <xsl:attribute-set name="permission-style">
1887
1896
 
1888
1897
  <xsl:attribute name="margin-top">6pt</xsl:attribute>
@@ -2026,6 +2035,11 @@
2026
2035
  </xsl:variable>
2027
2036
  <xsl:variable name="table-border" select="normalize-space($table-border_)"/>
2028
2037
 
2038
+ <xsl:variable name="table-cell-border_">
2039
+
2040
+ </xsl:variable>
2041
+ <xsl:variable name="table-cell-border" select="normalize-space($table-cell-border_)"/>
2042
+
2029
2043
  <xsl:attribute-set name="table-container-style">
2030
2044
  <xsl:attribute name="margin-left">0mm</xsl:attribute>
2031
2045
  <xsl:attribute name="margin-right">0mm</xsl:attribute>
@@ -2037,8 +2051,6 @@
2037
2051
  <xsl:attribute-set name="table-style">
2038
2052
  <xsl:attribute name="table-omit-footer-at-break">true</xsl:attribute>
2039
2053
  <xsl:attribute name="table-layout">fixed</xsl:attribute>
2040
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
2041
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
2042
2054
 
2043
2055
  </xsl:attribute-set><!-- table-style -->
2044
2056
 
@@ -3208,6 +3220,12 @@
3208
3220
  <xsl:variable name="table_attributes">
3209
3221
 
3210
3222
  <xsl:element name="table_attributes" use-attribute-sets="table-style">
3223
+
3224
+ <xsl:if test="$margin-side != 0">
3225
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
3226
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
3227
+ </xsl:if>
3228
+
3211
3229
  <xsl:attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></xsl:attribute>
3212
3230
 
3213
3231
  </xsl:element>
@@ -3961,6 +3979,10 @@
3961
3979
  <xsl:template match="*[local-name()='tr']">
3962
3980
  <fo:table-row xsl:use-attribute-sets="table-body-row-style">
3963
3981
 
3982
+ <xsl:if test="*[local-name() = 'th']">
3983
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
3984
+ </xsl:if>
3985
+
3964
3986
  <xsl:variable name="number"><xsl:number/></xsl:variable>
3965
3987
  <xsl:attribute name="background-color">
3966
3988
  <xsl:choose>
@@ -5953,6 +5975,9 @@
5953
5975
  <xsl:value-of select="substring($str, 2)"/>
5954
5976
  </xsl:template>
5955
5977
 
5978
+ <!-- ======================================= -->
5979
+ <!-- math -->
5980
+ <!-- ======================================= -->
5956
5981
  <xsl:template match="mathml:math">
5957
5982
  <xsl:variable name="isAdded" select="@added"/>
5958
5983
  <xsl:variable name="isDeleted" select="@deleted"/>
@@ -6003,14 +6028,57 @@
6003
6028
  <xsl:value-of select="$comment_text"/>
6004
6029
  </xsl:template>
6005
6030
 
6031
+ <xsl:template match="*[local-name() = 'asciimath']">
6032
+ <xsl:param name="process" select="'false'"/>
6033
+ <xsl:if test="$process = 'true'">
6034
+ <xsl:apply-templates/>
6035
+ </xsl:if>
6036
+ </xsl:template>
6037
+
6038
+ <xsl:template match="*[local-name() = 'latexmath']"/>
6039
+
6040
+ <xsl:template name="getMathml_asciimath_text">
6041
+ <xsl:variable name="asciimath" select="../*[local-name() = 'asciimath']"/>
6042
+ <xsl:variable name="latexmath">
6043
+
6044
+ </xsl:variable>
6045
+ <xsl:variable name="asciimath_text_following">
6046
+ <xsl:choose>
6047
+ <xsl:when test="normalize-space($latexmath) != ''">
6048
+ <xsl:value-of select="$latexmath"/>
6049
+ </xsl:when>
6050
+ <xsl:when test="normalize-space($asciimath) != ''">
6051
+ <xsl:value-of select="$asciimath"/>
6052
+ </xsl:when>
6053
+ <xsl:otherwise>
6054
+ <xsl:value-of select="following-sibling::node()[1][self::comment()]"/>
6055
+ </xsl:otherwise>
6056
+ </xsl:choose>
6057
+ </xsl:variable>
6058
+ <xsl:variable name="asciimath_text_">
6059
+ <xsl:choose>
6060
+ <xsl:when test="normalize-space($asciimath_text_following) != ''">
6061
+ <xsl:value-of select="$asciimath_text_following"/>
6062
+ </xsl:when>
6063
+ <xsl:otherwise>
6064
+ <xsl:value-of select="normalize-space(translate(.,' ⁢',' '))"/>
6065
+ </xsl:otherwise>
6066
+ </xsl:choose>
6067
+ </xsl:variable>
6068
+ <xsl:variable name="asciimath_text_2" select="java:org.metanorma.fop.Util.unescape($asciimath_text_)"/>
6069
+ <xsl:variable name="asciimath_text" select="java:trim(java:java.lang.String.new($asciimath_text_2))"/>
6070
+ <xsl:value-of select="$asciimath_text"/>
6071
+ </xsl:template>
6072
+
6006
6073
  <xsl:template name="mathml_instream_object">
6007
- <xsl:param name="comment_text"/>
6074
+ <xsl:param name="asciimath_text"/>
6008
6075
  <xsl:param name="mathml_content"/>
6009
6076
 
6010
- <xsl:variable name="comment_text_">
6077
+ <xsl:variable name="asciimath_text_">
6011
6078
  <xsl:choose>
6012
- <xsl:when test="normalize-space($comment_text) != ''"><xsl:value-of select="$comment_text"/></xsl:when>
6013
- <xsl:otherwise><xsl:call-template name="getMathml_comment_text"/></xsl:otherwise>
6079
+ <xsl:when test="normalize-space($asciimath_text) != ''"><xsl:value-of select="$asciimath_text"/></xsl:when>
6080
+ <!-- <xsl:otherwise><xsl:call-template name="getMathml_comment_text"/></xsl:otherwise> -->
6081
+ <xsl:otherwise><xsl:call-template name="getMathml_asciimath_text"/></xsl:otherwise>
6014
6082
  </xsl:choose>
6015
6083
  </xsl:variable>
6016
6084
 
@@ -6027,10 +6095,10 @@
6027
6095
  </xsl:attribute>
6028
6096
 
6029
6097
  <!-- <xsl:if test="$add_math_as_text = 'true'"> -->
6030
- <xsl:if test="normalize-space($comment_text_) != ''">
6098
+ <xsl:if test="normalize-space($asciimath_text_) != ''">
6031
6099
  <!-- put Mathin Alternate Text -->
6032
6100
  <xsl:attribute name="fox:alt-text">
6033
- <xsl:value-of select="$comment_text_"/>
6101
+ <xsl:value-of select="$asciimath_text_"/>
6034
6102
  </xsl:attribute>
6035
6103
  </xsl:if>
6036
6104
  <!-- </xsl:if> -->
@@ -6103,6 +6171,29 @@
6103
6171
  <xsl:value-of select="."/><xsl:value-of select="$zero_width_space"/>
6104
6172
  </xsl:template>
6105
6173
 
6174
+ <!-- Examples:
6175
+ <stem type="AsciiMath">x = 1</stem>
6176
+ <stem type="AsciiMath"><asciimath>x = 1</asciimath></stem>
6177
+ <stem type="AsciiMath"><asciimath>x = 1</asciimath><latexmath>x = 1</latexmath></stem>
6178
+ -->
6179
+ <xsl:template match="*[local-name() = 'stem'][@type = 'AsciiMath'][count(*) = 0]/text() | *[local-name() = 'stem'][@type = 'AsciiMath'][*[local-name() = 'asciimath']]" priority="3">
6180
+ <fo:inline xsl:use-attribute-sets="mathml-style">
6181
+
6182
+ <xsl:choose>
6183
+ <xsl:when test="self::text()"><xsl:value-of select="."/></xsl:when>
6184
+ <xsl:otherwise>
6185
+ <xsl:apply-templates>
6186
+ <xsl:with-param name="process">true</xsl:with-param>
6187
+ </xsl:apply-templates>
6188
+ </xsl:otherwise>
6189
+ </xsl:choose>
6190
+
6191
+ </fo:inline>
6192
+ </xsl:template>
6193
+ <!-- ======================================= -->
6194
+ <!-- END: math -->
6195
+ <!-- ======================================= -->
6196
+
6106
6197
  <xsl:template match="*[local-name()='localityStack']"/>
6107
6198
 
6108
6199
  <xsl:template match="*[local-name()='link']" name="link">
@@ -7467,9 +7558,9 @@
7467
7558
  <xsl:apply-templates mode="contents_item"/>
7468
7559
  </xsl:template>
7469
7560
 
7470
- <!-- ====== -->
7471
- <!-- sourcecode -->
7472
- <!-- ====== -->
7561
+ <!-- =============== -->
7562
+ <!-- sourcecode -->
7563
+ <!-- =============== -->
7473
7564
  <xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
7474
7565
 
7475
7566
  <fo:block-container xsl:use-attribute-sets="sourcecode-container-style">
@@ -7783,8 +7874,22 @@
7783
7874
  </fo:block>
7784
7875
  </xsl:if>
7785
7876
  </xsl:template>
7786
- <!-- ====== -->
7787
- <!-- ====== -->
7877
+ <!-- =============== -->
7878
+ <!-- END sourcecode -->
7879
+ <!-- =============== -->
7880
+
7881
+ <!-- =============== -->
7882
+ <!-- pre -->
7883
+ <!-- =============== -->
7884
+ <xsl:template match="*[local-name()='pre']" name="pre">
7885
+ <fo:block xsl:use-attribute-sets="pre-style">
7886
+ <xsl:copy-of select="@id"/>
7887
+ <xsl:apply-templates/>
7888
+ </fo:block>
7889
+ </xsl:template>
7890
+ <!-- =============== -->
7891
+ <!-- pre -->
7892
+ <!-- =============== -->
7788
7893
 
7789
7894
  <!-- ========== -->
7790
7895
  <!-- permission -->
@@ -10341,13 +10446,14 @@
10341
10446
  </xsl:template>
10342
10447
 
10343
10448
  <xsl:template name="setId">
10449
+ <xsl:param name="prefix"/>
10344
10450
  <xsl:attribute name="id">
10345
10451
  <xsl:choose>
10346
10452
  <xsl:when test="@id">
10347
- <xsl:value-of select="@id"/>
10453
+ <xsl:value-of select="concat($prefix, @id)"/>
10348
10454
  </xsl:when>
10349
10455
  <xsl:otherwise>
10350
- <xsl:value-of select="generate-id()"/>
10456
+ <xsl:value-of select="concat($prefix, generate-id())"/>
10351
10457
  </xsl:otherwise>
10352
10458
  </xsl:choose>
10353
10459
  </xsl:attribute>
@@ -1143,7 +1143,7 @@
1143
1143
  <xsl:template name="insertHeaderFooter">
1144
1144
  <xsl:param name="color" select="$color_blue"/>
1145
1145
  <fo:static-content flow-name="footer" role="artifact">
1146
- <fo:block-container font-size="8pt" height="100%" color="{$color}" padding-top="6mm">
1146
+ <fo:block-container font-size="8pt" color="{$color}" padding-top="6mm">
1147
1147
  <fo:table table-layout="fixed" width="100%">
1148
1148
  <fo:table-column column-width="90%"/>
1149
1149
  <fo:table-column column-width="10%"/>
@@ -1883,6 +1883,15 @@
1883
1883
 
1884
1884
  </xsl:attribute-set>
1885
1885
 
1886
+ <xsl:attribute-set name="pre-style">
1887
+ <xsl:attribute name="font-family">Courier New, <xsl:value-of select="$font_noto_sans_mono"/></xsl:attribute>
1888
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1889
+
1890
+ <xsl:attribute name="font-family">Fira Code, <xsl:value-of select="$font_noto_sans_mono"/></xsl:attribute>
1891
+ <xsl:attribute name="line-height">113%</xsl:attribute>
1892
+
1893
+ </xsl:attribute-set>
1894
+
1886
1895
  <xsl:attribute-set name="permission-style">
1887
1896
 
1888
1897
  <xsl:attribute name="margin-top">6pt</xsl:attribute>
@@ -2026,6 +2035,11 @@
2026
2035
  </xsl:variable>
2027
2036
  <xsl:variable name="table-border" select="normalize-space($table-border_)"/>
2028
2037
 
2038
+ <xsl:variable name="table-cell-border_">
2039
+
2040
+ </xsl:variable>
2041
+ <xsl:variable name="table-cell-border" select="normalize-space($table-cell-border_)"/>
2042
+
2029
2043
  <xsl:attribute-set name="table-container-style">
2030
2044
  <xsl:attribute name="margin-left">0mm</xsl:attribute>
2031
2045
  <xsl:attribute name="margin-right">0mm</xsl:attribute>
@@ -2037,8 +2051,6 @@
2037
2051
  <xsl:attribute-set name="table-style">
2038
2052
  <xsl:attribute name="table-omit-footer-at-break">true</xsl:attribute>
2039
2053
  <xsl:attribute name="table-layout">fixed</xsl:attribute>
2040
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
2041
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
2042
2054
 
2043
2055
  </xsl:attribute-set><!-- table-style -->
2044
2056
 
@@ -3208,6 +3220,12 @@
3208
3220
  <xsl:variable name="table_attributes">
3209
3221
 
3210
3222
  <xsl:element name="table_attributes" use-attribute-sets="table-style">
3223
+
3224
+ <xsl:if test="$margin-side != 0">
3225
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
3226
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
3227
+ </xsl:if>
3228
+
3211
3229
  <xsl:attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></xsl:attribute>
3212
3230
 
3213
3231
  </xsl:element>
@@ -3961,6 +3979,10 @@
3961
3979
  <xsl:template match="*[local-name()='tr']">
3962
3980
  <fo:table-row xsl:use-attribute-sets="table-body-row-style">
3963
3981
 
3982
+ <xsl:if test="*[local-name() = 'th']">
3983
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
3984
+ </xsl:if>
3985
+
3964
3986
  <xsl:variable name="number"><xsl:number/></xsl:variable>
3965
3987
  <xsl:attribute name="background-color">
3966
3988
  <xsl:choose>
@@ -5953,6 +5975,9 @@
5953
5975
  <xsl:value-of select="substring($str, 2)"/>
5954
5976
  </xsl:template>
5955
5977
 
5978
+ <!-- ======================================= -->
5979
+ <!-- math -->
5980
+ <!-- ======================================= -->
5956
5981
  <xsl:template match="mathml:math">
5957
5982
  <xsl:variable name="isAdded" select="@added"/>
5958
5983
  <xsl:variable name="isDeleted" select="@deleted"/>
@@ -6003,14 +6028,57 @@
6003
6028
  <xsl:value-of select="$comment_text"/>
6004
6029
  </xsl:template>
6005
6030
 
6031
+ <xsl:template match="*[local-name() = 'asciimath']">
6032
+ <xsl:param name="process" select="'false'"/>
6033
+ <xsl:if test="$process = 'true'">
6034
+ <xsl:apply-templates/>
6035
+ </xsl:if>
6036
+ </xsl:template>
6037
+
6038
+ <xsl:template match="*[local-name() = 'latexmath']"/>
6039
+
6040
+ <xsl:template name="getMathml_asciimath_text">
6041
+ <xsl:variable name="asciimath" select="../*[local-name() = 'asciimath']"/>
6042
+ <xsl:variable name="latexmath">
6043
+
6044
+ </xsl:variable>
6045
+ <xsl:variable name="asciimath_text_following">
6046
+ <xsl:choose>
6047
+ <xsl:when test="normalize-space($latexmath) != ''">
6048
+ <xsl:value-of select="$latexmath"/>
6049
+ </xsl:when>
6050
+ <xsl:when test="normalize-space($asciimath) != ''">
6051
+ <xsl:value-of select="$asciimath"/>
6052
+ </xsl:when>
6053
+ <xsl:otherwise>
6054
+ <xsl:value-of select="following-sibling::node()[1][self::comment()]"/>
6055
+ </xsl:otherwise>
6056
+ </xsl:choose>
6057
+ </xsl:variable>
6058
+ <xsl:variable name="asciimath_text_">
6059
+ <xsl:choose>
6060
+ <xsl:when test="normalize-space($asciimath_text_following) != ''">
6061
+ <xsl:value-of select="$asciimath_text_following"/>
6062
+ </xsl:when>
6063
+ <xsl:otherwise>
6064
+ <xsl:value-of select="normalize-space(translate(.,' ⁢',' '))"/>
6065
+ </xsl:otherwise>
6066
+ </xsl:choose>
6067
+ </xsl:variable>
6068
+ <xsl:variable name="asciimath_text_2" select="java:org.metanorma.fop.Util.unescape($asciimath_text_)"/>
6069
+ <xsl:variable name="asciimath_text" select="java:trim(java:java.lang.String.new($asciimath_text_2))"/>
6070
+ <xsl:value-of select="$asciimath_text"/>
6071
+ </xsl:template>
6072
+
6006
6073
  <xsl:template name="mathml_instream_object">
6007
- <xsl:param name="comment_text"/>
6074
+ <xsl:param name="asciimath_text"/>
6008
6075
  <xsl:param name="mathml_content"/>
6009
6076
 
6010
- <xsl:variable name="comment_text_">
6077
+ <xsl:variable name="asciimath_text_">
6011
6078
  <xsl:choose>
6012
- <xsl:when test="normalize-space($comment_text) != ''"><xsl:value-of select="$comment_text"/></xsl:when>
6013
- <xsl:otherwise><xsl:call-template name="getMathml_comment_text"/></xsl:otherwise>
6079
+ <xsl:when test="normalize-space($asciimath_text) != ''"><xsl:value-of select="$asciimath_text"/></xsl:when>
6080
+ <!-- <xsl:otherwise><xsl:call-template name="getMathml_comment_text"/></xsl:otherwise> -->
6081
+ <xsl:otherwise><xsl:call-template name="getMathml_asciimath_text"/></xsl:otherwise>
6014
6082
  </xsl:choose>
6015
6083
  </xsl:variable>
6016
6084
 
@@ -6027,10 +6095,10 @@
6027
6095
  </xsl:attribute>
6028
6096
 
6029
6097
  <!-- <xsl:if test="$add_math_as_text = 'true'"> -->
6030
- <xsl:if test="normalize-space($comment_text_) != ''">
6098
+ <xsl:if test="normalize-space($asciimath_text_) != ''">
6031
6099
  <!-- put Mathin Alternate Text -->
6032
6100
  <xsl:attribute name="fox:alt-text">
6033
- <xsl:value-of select="$comment_text_"/>
6101
+ <xsl:value-of select="$asciimath_text_"/>
6034
6102
  </xsl:attribute>
6035
6103
  </xsl:if>
6036
6104
  <!-- </xsl:if> -->
@@ -6103,6 +6171,29 @@
6103
6171
  <xsl:value-of select="."/><xsl:value-of select="$zero_width_space"/>
6104
6172
  </xsl:template>
6105
6173
 
6174
+ <!-- Examples:
6175
+ <stem type="AsciiMath">x = 1</stem>
6176
+ <stem type="AsciiMath"><asciimath>x = 1</asciimath></stem>
6177
+ <stem type="AsciiMath"><asciimath>x = 1</asciimath><latexmath>x = 1</latexmath></stem>
6178
+ -->
6179
+ <xsl:template match="*[local-name() = 'stem'][@type = 'AsciiMath'][count(*) = 0]/text() | *[local-name() = 'stem'][@type = 'AsciiMath'][*[local-name() = 'asciimath']]" priority="3">
6180
+ <fo:inline xsl:use-attribute-sets="mathml-style">
6181
+
6182
+ <xsl:choose>
6183
+ <xsl:when test="self::text()"><xsl:value-of select="."/></xsl:when>
6184
+ <xsl:otherwise>
6185
+ <xsl:apply-templates>
6186
+ <xsl:with-param name="process">true</xsl:with-param>
6187
+ </xsl:apply-templates>
6188
+ </xsl:otherwise>
6189
+ </xsl:choose>
6190
+
6191
+ </fo:inline>
6192
+ </xsl:template>
6193
+ <!-- ======================================= -->
6194
+ <!-- END: math -->
6195
+ <!-- ======================================= -->
6196
+
6106
6197
  <xsl:template match="*[local-name()='localityStack']"/>
6107
6198
 
6108
6199
  <xsl:template match="*[local-name()='link']" name="link">
@@ -7467,9 +7558,9 @@
7467
7558
  <xsl:apply-templates mode="contents_item"/>
7468
7559
  </xsl:template>
7469
7560
 
7470
- <!-- ====== -->
7471
- <!-- sourcecode -->
7472
- <!-- ====== -->
7561
+ <!-- =============== -->
7562
+ <!-- sourcecode -->
7563
+ <!-- =============== -->
7473
7564
  <xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
7474
7565
 
7475
7566
  <fo:block-container xsl:use-attribute-sets="sourcecode-container-style">
@@ -7783,8 +7874,22 @@
7783
7874
  </fo:block>
7784
7875
  </xsl:if>
7785
7876
  </xsl:template>
7786
- <!-- ====== -->
7787
- <!-- ====== -->
7877
+ <!-- =============== -->
7878
+ <!-- END sourcecode -->
7879
+ <!-- =============== -->
7880
+
7881
+ <!-- =============== -->
7882
+ <!-- pre -->
7883
+ <!-- =============== -->
7884
+ <xsl:template match="*[local-name()='pre']" name="pre">
7885
+ <fo:block xsl:use-attribute-sets="pre-style">
7886
+ <xsl:copy-of select="@id"/>
7887
+ <xsl:apply-templates/>
7888
+ </fo:block>
7889
+ </xsl:template>
7890
+ <!-- =============== -->
7891
+ <!-- pre -->
7892
+ <!-- =============== -->
7788
7893
 
7789
7894
  <!-- ========== -->
7790
7895
  <!-- permission -->
@@ -10341,13 +10446,14 @@
10341
10446
  </xsl:template>
10342
10447
 
10343
10448
  <xsl:template name="setId">
10449
+ <xsl:param name="prefix"/>
10344
10450
  <xsl:attribute name="id">
10345
10451
  <xsl:choose>
10346
10452
  <xsl:when test="@id">
10347
- <xsl:value-of select="@id"/>
10453
+ <xsl:value-of select="concat($prefix, @id)"/>
10348
10454
  </xsl:when>
10349
10455
  <xsl:otherwise>
10350
- <xsl:value-of select="generate-id()"/>
10456
+ <xsl:value-of select="concat($prefix, generate-id())"/>
10351
10457
  </xsl:otherwise>
10352
10458
  </xsl:choose>
10353
10459
  </xsl:attribute>