metanorma-ogc 2.6.5 → 2.6.6

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: 17f8abe4584052c8638ff63af0cf4f601329a1833105aa4847d70c8746c285ca
4
- data.tar.gz: e9287cf4b36ddf56eb74b927e677ec483f96a934bd891014d1bdada95eb07823
3
+ metadata.gz: 711f1bee1292fc9c5d009c8a74752c3e791b75e222b13c104a34b7520d85d339
4
+ data.tar.gz: 8c29744eeee97ee284acc02f838baeb83f4a22b0ea86e5b5e1a5ae1dccdcbfd0
5
5
  SHA512:
6
- metadata.gz: a8e30d2b9bdc650ae6c3c953221ea480761bbc06eb8bc3a09ff8b5b65799896893ca8a4d5d928f240b877990a32f61c4d3cea183bbad3928244eea05d682bc0e
7
- data.tar.gz: 3966ff5a7adbb26710a33606cf97cc622db0d2154a50e07453c5d5b05c2228022408435a63660dd51c54157ba4a8a6e3fee43267c2489217a781f3e2a042f053
6
+ metadata.gz: bc0c33bdbbcf1548b50e40a6e2378be7e00a0de0d82eedf34352c1e25f84ce42bdc7cee19d675d35054213abfb5fe77046546d5094b72794d8349a3ab8b57ca1
7
+ data.tar.gz: 19f16e0e04b5964a188f38db9c78d0f5b31a0ec149d4bcef19b2cc5b7912371713673dd24584c716926e65f1ca10e669bcf6e9e601e1535868189fe88e44b79b
@@ -36,8 +36,8 @@ module IsoDoc
36
36
  h2 = term.at("./preceding-sibling::*[@class = 'TermNum'][1]")
37
37
  term["class"] = h2["class"]
38
38
  term["id"] = h2["id"]
39
- term.children.first.previous = " "
40
- term.children.first.previous = h2.remove.children
39
+ term.add_first_child " "
40
+ term.add_first_child h2.remove.children
41
41
  end
42
42
 
43
43
  def term_cleanup_merge_admitted(term)
@@ -143,7 +143,6 @@ module IsoDoc
143
143
  def figure_parse1(node, out)
144
144
  out.div **figure_attrs(node) do |div|
145
145
  node.children.each do |n|
146
- figure_key(out) if n.name == "dl"
147
146
  parse(n, div) unless n.name == "name"
148
147
  end
149
148
  end
@@ -170,7 +169,7 @@ module IsoDoc
170
169
  encoding: "UTF-8")
171
170
  "#{a[0]}#{scripts}#{a[1]}"
172
171
  end
173
-
172
+
174
173
  # to pass on to imported _coverpage.scss
175
174
  def scss_fontheader(is_html_css)
176
175
  super + <<~SCSS
@@ -32,15 +32,6 @@ module IsoDoc
32
32
  def submittingorgs_path
33
33
  "//bibdata/contributor[role/@type = 'author']/organization/name"
34
34
  end
35
-
36
- def ogc_draft_ref?(ref)
37
- return unless ref.at(ns("./docidentifier[@type = 'OGC']"))
38
-
39
- status = ref.at(ns("./status/stage"))&.text or return
40
- return if %w(approved published deprecated retired).include? status
41
-
42
- true
43
- end
44
35
  end
45
36
  end
46
37
  end
@@ -1241,6 +1241,7 @@
1241
1241
  <xsl:attribute name="line-height">125%</xsl:attribute>
1242
1242
  </xsl:if>
1243
1243
  <xsl:call-template name="setId"/>
1244
+ <xsl:call-template name="addReviewHelper"/>
1244
1245
  <xsl:apply-templates/>
1245
1246
  </fo:block>
1246
1247
  </xsl:template>
@@ -5548,6 +5549,11 @@
5548
5549
 
5549
5550
  <xsl:value-of select="@reference"/>
5550
5551
 
5552
+ <!-- commented https://github.com/metanorma/isodoc/issues/614 -->
5553
+ <!-- <xsl:if test="$namespace = 'itu'">
5554
+ <xsl:text>)</xsl:text>
5555
+ </xsl:if> -->
5556
+
5551
5557
  </fo:inline>
5552
5558
  <fo:inline xsl:use-attribute-sets="table-fn-body-style">
5553
5559
  <xsl:copy-of select="./node()"/>
@@ -5557,7 +5563,7 @@
5557
5563
 
5558
5564
  </xsl:if>
5559
5565
  </xsl:for-each>
5560
- </xsl:template>
5566
+ </xsl:template> <!-- table_fn_display -->
5561
5567
 
5562
5568
  <xsl:template name="create_fn">
5563
5569
  <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
@@ -5591,8 +5597,10 @@
5591
5597
  <!-- EMD table's footnotes rendering -->
5592
5598
  <!-- ============================ -->
5593
5599
 
5600
+ <!-- ============================ -->
5594
5601
  <!-- figure's footnotes rendering -->
5595
- <xsl:template name="fn_display_figure">
5602
+ <!-- ============================ -->
5603
+ <xsl:template name="fn_display_figure"> <!-- figure_fn_display -->
5596
5604
 
5597
5605
  <!-- current figure id -->
5598
5606
  <xsl:variable name="figure_id_">
@@ -5705,9 +5713,28 @@
5705
5713
 
5706
5714
  </fo:block>
5707
5715
  </xsl:if>
5708
-
5709
5716
  </xsl:template> <!-- fn_display_figure -->
5710
5717
 
5718
+ <!-- added for https://github.com/metanorma/isodoc/issues/607 -->
5719
+ <!-- figure's footnote label -->
5720
+ <xsl:template match="*[local-name() = 'figure']/*[local-name() = 'dl'][@key = 'true']/*[local-name() = 'dt']/ *[local-name() = 'p'][count(node()[normalize-space() != '']) = 1]/*[local-name() = 'sup']" priority="3">
5721
+ <xsl:variable name="key_iso">
5722
+
5723
+ </xsl:variable>
5724
+ <xsl:if test="normalize-space($key_iso) = 'true'">
5725
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
5726
+
5727
+ </xsl:if>
5728
+ <fo:inline xsl:use-attribute-sets="figure-fn-number-style"> <!-- id="{@id}" -->
5729
+ <!-- <xsl:value-of select="@reference"/> -->
5730
+ <xsl:apply-templates/>
5731
+ </fo:inline>
5732
+ </xsl:template>
5733
+
5734
+ <!-- ============================ -->
5735
+ <!-- END: figure's footnotes rendering -->
5736
+ <!-- ============================ -->
5737
+
5711
5738
  <!-- fn reference in the text rendering (for instance, 'some text 1) some text' ) -->
5712
5739
  <xsl:template match="*[local-name()='fn']">
5713
5740
  <fo:inline xsl:use-attribute-sets="fn-reference-style">
@@ -5728,6 +5755,10 @@
5728
5755
 
5729
5756
  <xsl:value-of select="@reference"/>
5730
5757
 
5758
+ <!-- commented, https://github.com/metanorma/isodoc/issues/614 -->
5759
+ <!-- <xsl:if test="$namespace = 'jis'">
5760
+ <fo:inline font-weight="normal">)</fo:inline>
5761
+ </xsl:if> -->
5731
5762
  </fo:basic-link>
5732
5763
  </fo:inline>
5733
5764
  </xsl:template>
@@ -5854,17 +5885,22 @@
5854
5885
  </fo:block>
5855
5886
  </xsl:when> <!-- END: a few components -->
5856
5887
  <xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')"> <!-- definition list in a figure -->
5857
- <fo:block font-weight="bold" text-align="left" margin-bottom="12pt" keep-with-next="always">
5888
+ <!-- Presentation XML contains 'Key' caption, https://github.com/metanorma/isodoc/issues/607 -->
5889
+ <xsl:if test="not(preceding-sibling::*[1][local-name() = 'p' and @keep-with-next])"> <!-- for old Presentation XML -->
5858
5890
 
5859
- <xsl:call-template name="refine_figure_key_style"/>
5891
+ <fo:block font-weight="bold" text-align="left" margin-bottom="12pt" keep-with-next="always">
5860
5892
 
5861
- <xsl:variable name="title-key">
5862
- <xsl:call-template name="getLocalizedString">
5863
- <xsl:with-param name="key">key</xsl:with-param>
5864
- </xsl:call-template>
5865
- </xsl:variable>
5866
- <xsl:value-of select="$title-key"/>
5867
- </fo:block>
5893
+ <xsl:call-template name="refine_figure_key_style"/>
5894
+
5895
+ <xsl:variable name="title-key">
5896
+ <xsl:call-template name="getLocalizedString">
5897
+ <xsl:with-param name="key">key</xsl:with-param>
5898
+ </xsl:call-template>
5899
+ </xsl:variable>
5900
+ <xsl:value-of select="$title-key"/>
5901
+ </fo:block>
5902
+
5903
+ </xsl:if>
5868
5904
  </xsl:when> <!-- END: definition list in a figure -->
5869
5905
  </xsl:choose>
5870
5906
 
@@ -6050,6 +6086,14 @@
6050
6086
 
6051
6087
  </xsl:template> <!-- END: dl -->
6052
6088
 
6089
+ <!-- caption for figure key and another caption, https://github.com/metanorma/isodoc/issues/607 -->
6090
+ <xsl:template match="*[local-name() = 'figure']/*[local-name() = 'p'][@keep-with-next = 'true' and *[local-name() = 'strong']]" priority="3">
6091
+ <fo:block text-align="left" margin-bottom="12pt" keep-with-next="always">
6092
+ <xsl:call-template name="refine_figure_key_style"/>
6093
+ <xsl:apply-templates/>
6094
+ </fo:block>
6095
+ </xsl:template>
6096
+
6053
6097
  <xsl:template name="refine_dl_formula_where_style">
6054
6098
 
6055
6099
  </xsl:template> <!-- refine_dl_formula_where_style -->
@@ -8092,6 +8136,39 @@
8092
8136
  </xsl:copy>
8093
8137
  </xsl:template>
8094
8138
 
8139
+ <xsl:template match="@*|node()" mode="mathml_linebreak">
8140
+ <xsl:copy>
8141
+ <xsl:apply-templates select="@*|node()" mode="mathml_linebreak"/>
8142
+ </xsl:copy>
8143
+ </xsl:template>
8144
+
8145
+ <!-- split math into two math -->
8146
+ <xsl:template match="mathml:mo[@linebreak] | mathml:mspace[@linebreak]" mode="mathml_linebreak">
8147
+ <xsl:variable name="math_elements_tree_">
8148
+ <xsl:for-each select="ancestor::*[ancestor-or-self::mathml:math]">
8149
+ <element pos="{position()}">
8150
+ <xsl:copy-of select="@*[local-name() != 'id']"/>
8151
+ <xsl:value-of select="name()"/>
8152
+ </element>
8153
+ </xsl:for-each>
8154
+ </xsl:variable>
8155
+
8156
+ <xsl:variable name="math_elements_tree" select="xalan:nodeset($math_elements_tree_)"/>
8157
+
8158
+ <xsl:call-template name="insertClosingElements">
8159
+ <xsl:with-param name="tree" select="$math_elements_tree"/>
8160
+ </xsl:call-template>
8161
+
8162
+ <xsl:element name="br" namespace="{$namespace_full}"/>
8163
+
8164
+ <xsl:call-template name="insertOpeningElements">
8165
+ <xsl:with-param name="tree" select="$math_elements_tree"/>
8166
+ <xsl:with-param name="xmlns">http://www.w3.org/1998/Math/MathML</xsl:with-param>
8167
+ <xsl:with-param name="add_continue">false</xsl:with-param>
8168
+ </xsl:call-template>
8169
+
8170
+ </xsl:template>
8171
+
8095
8172
  <!-- Examples:
8096
8173
  <stem type="AsciiMath">x = 1</stem>
8097
8174
  <stem type="AsciiMath"><asciimath>x = 1</asciimath></stem>
@@ -8347,9 +8424,11 @@
8347
8424
  </xsl:template>
8348
8425
 
8349
8426
  <xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']"> <!-- show in 'stem' template -->
8427
+ <!-- https://github.com/metanorma/isodoc/issues/607
8350
8428
  <xsl:if test="normalize-space() != ''">
8351
- <xsl:text>(</xsl:text><xsl:apply-templates/><xsl:text>)</xsl:text>
8352
- </xsl:if>
8429
+ <xsl:text>(</xsl:text><xsl:apply-templates /><xsl:text>)</xsl:text>
8430
+ </xsl:if> -->
8431
+ <xsl:apply-templates/>
8353
8432
  </xsl:template>
8354
8433
 
8355
8434
  <!-- stem inside formula with name (with formula's number) -->
@@ -8505,6 +8584,17 @@
8505
8584
  </xsl:when>
8506
8585
  <xsl:otherwise>
8507
8586
 
8587
+ <!-- https://github.com/metanorma/isodoc/issues/607 -->
8588
+ <!-- <xsl:if test="$namespace = 'ieee'">
8589
+ <xsl:text>—</xsl:text> em dash &#x2014;
8590
+ </xsl:if> -->
8591
+ <!-- <xsl:if test="$namespace = 'iho' or $namespace = 'gb' or $namespace = 'm3d' or $namespace = 'unece-rec' or $namespace = 'unece' or $namespace = 'rsd'">
8592
+ <xsl:text>:</xsl:text>
8593
+ </xsl:if> -->
8594
+
8595
+ <!-- <xsl:if test="$namespace = 'itu' or $namespace = 'nist-cswp' or $namespace = 'nist-sp'">
8596
+ <xsl:text> – </xsl:text> en dash &#x2013;
8597
+ </xsl:if> -->
8508
8598
  </xsl:otherwise>
8509
8599
  </xsl:choose>
8510
8600
  </xsl:variable>
@@ -8523,8 +8613,16 @@
8523
8613
  </xsl:when>
8524
8614
  <xsl:otherwise>
8525
8615
 
8616
+ <!-- https://github.com/metanorma/isodoc/issues/607 -->
8617
+ <!-- <xsl:if test="$namespace = 'ieee'">
8618
+ <xsl:text>—</xsl:text> em dash &#x2014;
8619
+ </xsl:if> -->
8620
+ <!-- <xsl:if test="$namespace = 'gb' or $namespace = 'iso' or $namespace = 'iec' or $namespace = 'ogc' or $namespace = 'ogc-white-paper' or $namespace = 'rsd' or $namespace = 'jcgm'">
8526
8621
  <xsl:text>:</xsl:text>
8527
-
8622
+ </xsl:if> -->
8623
+ <!-- <xsl:if test="$namespace = 'itu' or $namespace = 'nist-cswp' or $namespace = 'nist-sp' or $namespace = 'unece-rec' or $namespace = 'unece'">
8624
+ <xsl:text> – </xsl:text> en dash &#x2013;
8625
+ </xsl:if> -->
8528
8626
  </xsl:otherwise>
8529
8627
  </xsl:choose>
8530
8628
  </xsl:variable>
@@ -10745,7 +10843,7 @@
10745
10843
  <xsl:if test="normalize-space() != ''">
10746
10844
  <fo:inline xsl:use-attribute-sets="termexample-name-style">
10747
10845
  <xsl:call-template name="refine_termexample-name-style"/>
10748
- <xsl:apply-templates/>
10846
+ <xsl:apply-templates/> <!-- commented $namespace = 'ieee', https://github.com/metanorma/isodoc/issues/614-->
10749
10847
  </fo:inline>
10750
10848
  </xsl:if>
10751
10849
  </xsl:template>
@@ -10907,7 +11005,7 @@
10907
11005
  <xsl:otherwise>
10908
11006
  <fo:inline xsl:use-attribute-sets="example-name-style">
10909
11007
  <xsl:call-template name="refine_example-name-style"/>
10910
- <xsl:apply-templates/>:
11008
+ <xsl:apply-templates/>: <!-- $namespace = 'ieee', see https://github.com/metanorma/isodoc/issues/614 -->
10911
11009
  </fo:inline>
10912
11010
  </xsl:otherwise>
10913
11011
  </xsl:choose>
@@ -11089,15 +11187,17 @@
11089
11187
 
11090
11188
  <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
11091
11189
  <fo:block role="BlockQuote">
11092
- <xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
11190
+ <xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source') and not(local-name() = 'attribution')]"/> <!-- process all nested nodes, except author and source -->
11093
11191
  </fo:block>
11094
11192
  </fo:block-container>
11095
11193
  </fo:block-container>
11096
- <xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
11194
+ <xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source'] or *[local-name() = 'attribution']">
11097
11195
  <fo:block xsl:use-attribute-sets="quote-source-style">
11098
11196
  <!-- — ISO, ISO 7301:2011, Clause 1 -->
11099
11197
  <xsl:apply-templates select="*[local-name() = 'author']"/>
11100
11198
  <xsl:apply-templates select="*[local-name() = 'source']"/>
11199
+ <!-- added for https://github.com/metanorma/isodoc/issues/607 -->
11200
+ <xsl:apply-templates select="*[local-name() = 'attribution']/*[local-name() = 'p']/node()"/>
11101
11201
  </fo:block>
11102
11202
  </xsl:if>
11103
11203
 
@@ -11119,9 +11219,13 @@
11119
11219
  </xsl:template>
11120
11220
 
11121
11221
  <xsl:template match="*[local-name() = 'author']">
11122
- <xsl:text>— </xsl:text>
11222
+ <xsl:if test="local-name(..) = 'quote'"> <!-- for old Presentation XML, https://github.com/metanorma/isodoc/issues/607 -->
11223
+ <xsl:text>— </xsl:text>
11224
+ </xsl:if>
11123
11225
  <xsl:apply-templates/>
11124
11226
  </xsl:template>
11227
+
11228
+ <xsl:template match="*[local-name() = 'quote']//*[local-name() = 'referenceFrom']"/>
11125
11229
  <!-- ====== -->
11126
11230
  <!-- ====== -->
11127
11231
 
@@ -11300,8 +11404,12 @@
11300
11404
  </xsl:template>
11301
11405
 
11302
11406
  <xsl:template match="*[local-name() = 'domain']">
11407
+ <!-- https://github.com/metanorma/isodoc/issues/607
11303
11408
  <fo:inline xsl:use-attribute-sets="domain-style">&lt;<xsl:apply-templates/>&gt;</fo:inline>
11304
- <xsl:text> </xsl:text>
11409
+ <xsl:text> </xsl:text> -->
11410
+ <xsl:if test="not(@hidden = 'true')">
11411
+ <xsl:apply-templates/>
11412
+ </xsl:if>
11305
11413
  </xsl:template>
11306
11414
 
11307
11415
  <xsl:template match="*[local-name() = 'admitted']">
@@ -11349,6 +11457,29 @@
11349
11457
  <!-- END definition -->
11350
11458
  <!-- ========== -->
11351
11459
 
11460
+ <xsl:variable name="reviews_">
11461
+ <xsl:for-each select="//*[local-name() = 'review'][@from]">
11462
+ <xsl:copy>
11463
+ <xsl:copy-of select="@from"/>
11464
+ <xsl:copy-of select="@id"/>
11465
+ </xsl:copy>
11466
+ </xsl:for-each>
11467
+ </xsl:variable>
11468
+ <xsl:variable name="reviews" select="xalan:nodeset($reviews_)"/>
11469
+
11470
+ <xsl:template name="addReviewHelper">
11471
+ <!-- if there is review with from="...", then add small helper block for Annot tag adding, see 'review' template -->
11472
+ <xsl:variable name="curr_id" select="@id"/>
11473
+ <xsl:variable name="review_id" select="normalize-space($reviews//*[local-name() = 'review'][@from = $curr_id]/@id)"/>
11474
+ <xsl:if test="$review_id != ''"> <!-- i.e. if review found -->
11475
+ <fo:block keep-with-next="always" line-height="0.1" id="{$review_id}" font-size="1pt" role="SKIP"><xsl:value-of select="$hair_space"/><fo:basic-link internal-destination="{$review_id}" fox:alt-text="Annot___{$review_id}" role="Annot"><xsl:value-of select="$hair_space"/></fo:basic-link></fo:block>
11476
+ </xsl:if>
11477
+ <!-- <fo:block>
11478
+ <curr_id><xsl:value-of select="$curr_id"/></curr_id>
11479
+ <xsl:copy-of select="$reviews"/>
11480
+ </fo:block> -->
11481
+ </xsl:template>
11482
+
11352
11483
  <!-- main sections -->
11353
11484
  <xsl:template match="/*/*[local-name() = 'sections']/*" name="sections_node" priority="2">
11354
11485
 
@@ -11357,6 +11488,8 @@
11357
11488
 
11358
11489
  <xsl:call-template name="sections_element_style"/>
11359
11490
 
11491
+ <xsl:call-template name="addReviewHelper"/>
11492
+
11360
11493
  <xsl:apply-templates/>
11361
11494
  </fo:block>
11362
11495
 
@@ -11397,6 +11530,7 @@
11397
11530
 
11398
11531
  <fo:block>
11399
11532
  <xsl:call-template name="setId"/>
11533
+ <xsl:call-template name="addReviewHelper"/>
11400
11534
  <xsl:apply-templates/>
11401
11535
  </fo:block>
11402
11536
  </xsl:template>
@@ -11433,6 +11567,8 @@
11433
11567
 
11434
11568
  <xsl:call-template name="refine_clause_style"/>
11435
11569
 
11570
+ <xsl:call-template name="addReviewHelper"/>
11571
+
11436
11572
  <xsl:apply-templates/>
11437
11573
  </fo:block>
11438
11574
  </xsl:template>
@@ -11485,6 +11621,23 @@
11485
11621
 
11486
11622
  <xsl:variable name="id_from" select="normalize-space(current()/@from)"/>
11487
11623
 
11624
+ <xsl:if test="1 = 1">
11625
+ <xsl:choose>
11626
+ <!-- if there isn't the attribute '@from', then -->
11627
+ <xsl:when test="$id_from = ''">
11628
+ <fo:block id="{@id}" font-size="1pt" role="SKIP"><xsl:value-of select="$hair_space"/><fo:basic-link internal-destination="{@id}" fox:alt-text="Annot___{@id}" role="Annot"><xsl:value-of select="$hair_space"/></fo:basic-link></fo:block>
11629
+ </xsl:when>
11630
+ <!-- if there isn't element with id 'from', then create 'bookmark' here -->
11631
+ <xsl:when test="ancestor::*[contains(local-name(), '-standard')] and not(ancestor::*[contains(local-name(), '-standard')]//*[@id = $id_from])">
11632
+ <fo:block id="{@from}" font-size="1pt" role="SKIP"><xsl:value-of select="$hair_space"/><fo:basic-link internal-destination="{@from}" fox:alt-text="Annot___{@id}" role="Annot"><xsl:value-of select="$hair_space"/></fo:basic-link></fo:block>
11633
+ </xsl:when>
11634
+ <xsl:when test="not(/*[@id = $id_from]) and not(/*//*[@id = $id_from]) and not(preceding-sibling::*[@id = $id_from])">
11635
+ <fo:block id="{@from}" font-size="1pt" role="SKIP"><xsl:value-of select="$hair_space"/><fo:basic-link internal-destination="{@from}" fox:alt-text="Annot___{@id}" role="Annot"><xsl:value-of select="$hair_space"/></fo:basic-link></fo:block>
11636
+ </xsl:when>
11637
+ </xsl:choose>
11638
+ </xsl:if>
11639
+
11640
+ <xsl:if test="1 = 2">
11488
11641
  <xsl:choose>
11489
11642
  <!-- if there isn't the attribute '@from', then -->
11490
11643
  <xsl:when test="$id_from = ''">
@@ -11498,6 +11651,7 @@
11498
11651
  <fo:block id="{@from}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:block>
11499
11652
  </xsl:when>
11500
11653
  </xsl:choose>
11654
+ </xsl:if>
11501
11655
 
11502
11656
  </xsl:template>
11503
11657
 
@@ -12863,7 +13017,7 @@
12863
13017
  <!-- remove preprocess-xslt -->
12864
13018
  <xsl:template match="*[local-name() = 'preprocess-xslt']" mode="update_xml_step1"/>
12865
13019
 
12866
- <xsl:template match="*[local-name() = 'stem'] | *[local-name() = 'image'] | *[local-name() = 'sourcecode'] | *[local-name() = 'bibdata'] | *[local-name() = 'localized-strings']" mode="update_xml_step1">
13020
+ <xsl:template match="*[local-name() = 'stem'][not(.//*[local-name() = 'passthrough']) and not(.//*[@linebreak])] | *[local-name() = 'image'][not(.//*[local-name() = 'passthrough'])] | *[local-name() = 'sourcecode'][not(.//*[local-name() = 'passthrough'])] | *[local-name() = 'bibdata'][not(.//*[local-name() = 'passthrough'])] | *[local-name() = 'localized-strings']" mode="update_xml_step1">
12867
13021
  <xsl:copy-of select="."/>
12868
13022
  </xsl:template>
12869
13023
 
@@ -12929,6 +13083,22 @@
12929
13083
  </xsl:choose>
12930
13084
  </xsl:template>
12931
13085
 
13086
+ <xsl:variable name="regex_passthrough">.*\bpdf\b.*</xsl:variable>
13087
+ <xsl:template match="*[local-name() = 'passthrough']" mode="update_xml_step1">
13088
+ <!-- <xsl:if test="contains(@formats, ' pdf ')"> -->
13089
+ <xsl:if test="normalize-space(java:matches(java:java.lang.String.new(@formats), $regex_passthrough)) = 'true'">
13090
+ <xsl:apply-templates mode="update_xml_step1"/>
13091
+ </xsl:if>
13092
+ </xsl:template>
13093
+
13094
+ <!-- split math by element with @linebreak into maths -->
13095
+ <xsl:template match="mathml:math[.//mathml:mo[@linebreak] or .//mathml:mspace[@linebreak]]" mode="update_xml_step1">
13096
+ <xsl:variable name="maths">
13097
+ <xsl:apply-templates select="." mode="mathml_linebreak"/>
13098
+ </xsl:variable>
13099
+ <xsl:copy-of select="$maths"/>
13100
+ </xsl:template>
13101
+
12932
13102
  <!-- =========================================================================== -->
12933
13103
  <!-- END STEP1: Re-order elements in 'preface', 'sections' based on @displayorder -->
12934
13104
  <!-- =========================================================================== -->
@@ -13032,6 +13202,8 @@
13032
13202
 
13033
13203
  <xsl:template name="insertOpeningElements">
13034
13204
  <xsl:param name="tree"/>
13205
+ <xsl:param name="xmlns"/>
13206
+ <xsl:param name="add_continue">true</xsl:param>
13035
13207
  <xsl:for-each select="$tree//element">
13036
13208
  <xsl:text disable-output-escaping="yes">&lt;</xsl:text>
13037
13209
  <xsl:value-of select="."/>
@@ -13042,7 +13214,8 @@
13042
13214
  <xsl:value-of select="."/>
13043
13215
  <xsl:text>"</xsl:text>
13044
13216
  </xsl:for-each>
13045
- <xsl:if test="position() = 1"> continue="true"</xsl:if>
13217
+ <xsl:if test="position() = 1 and $add_continue = 'true'"> continue="true"</xsl:if>
13218
+ <xsl:if test="position() = 1 and $xmlns != ''"> xmlns="<xsl:value-of select="$xmlns"/>"</xsl:if>
13046
13219
  <xsl:text disable-output-escaping="yes">&gt;</xsl:text>
13047
13220
  <xsl:if test="$debug = 'true'">
13048
13221
  <xsl:message>&lt;<xsl:value-of select="."/>&gt;</xsl:message>