Skip to content

Commit 6fe1a66

Browse files
Merge pull request #207 from metanorma/feature/xslt-update
2 parents 450ca9e + 896d0e3 commit 6fe1a66

File tree

1 file changed

+72
-41
lines changed

1 file changed

+72
-41
lines changed

lib/isodoc/jis/jis.international-standard.xsl

+72-41
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@
251251
<!-- Contents and preface pages -->
252252
<!-- ========================== -->
253253

254-
<xsl:for-each select="/*/*[local-name()='preface']/*">
254+
<xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'clause' and @type = 'contributors')]">
255255
<xsl:sort select="@displayorder" data-type="number"/>
256256

257257
<xsl:choose>
@@ -1427,49 +1427,68 @@
14271427

14281428
<xsl:template match="jis:p//text()[not(ancestor::jis:strong)] | jis:dt/text()" mode="update_xml_step1">
14291429
<xsl:variable name="text_en_" select="java:replaceAll(java:java.lang.String.new(.), $regex_en, concat($tag_font_en_open,'$1',$tag_font_en_close))"/>
1430-
<xsl:variable name="text_en"><text><xsl:call-template name="replace_text_tags">
1431-
<xsl:with-param name="tag_open" select="$tag_font_en_open"/>
1432-
<xsl:with-param name="tag_close" select="$tag_font_en_close"/>
1433-
<xsl:with-param name="text" select="$text_en_"/>
1434-
</xsl:call-template></text></xsl:variable>
1435-
<xsl:copy-of select="xalan:nodeset($text_en)/text/node()"/>
1430+
<xsl:variable name="text_en">
1431+
<xsl:element name="text" namespace="{$namespace_full}">
1432+
<xsl:call-template name="replace_text_tags">
1433+
<xsl:with-param name="tag_open" select="$tag_font_en_open"/>
1434+
<xsl:with-param name="tag_close" select="$tag_font_en_close"/>
1435+
<xsl:with-param name="text" select="$text_en_"/>
1436+
</xsl:call-template>
1437+
</xsl:element>
1438+
</xsl:variable>
1439+
<xsl:copy-of select="xalan:nodeset($text_en)/*[local-name() = 'text']/node()"/>
14361440
</xsl:template>
14371441

14381442
<!-- jis:term/jis:preferred2//text() | -->
14391443

14401444
<!-- <name>注記 1</name> to <name>注記<font_en> 1</font_en></name> -->
14411445
<xsl:template match="jis:title/text() | jis:note/jis:name/text() | jis:termnote/jis:name/text() | jis:table/jis:name/text() | jis:figure/jis:name/text() | jis:termexample/jis:name/text() | jis:xref//text() | jis:origin/text()" mode="update_xml_step1">
14421446
<xsl:variable name="text_en_" select="java:replaceAll(java:java.lang.String.new(.), $regex_en, concat($tag_font_en_bold_open,'$1',$tag_font_en_bold_close))"/>
1443-
<xsl:variable name="text_en"><text><xsl:call-template name="replace_text_tags">
1444-
<xsl:with-param name="tag_open" select="$tag_font_en_bold_open"/>
1445-
<xsl:with-param name="tag_close" select="$tag_font_en_bold_close"/>
1446-
<xsl:with-param name="text" select="$text_en_"/>
1447-
</xsl:call-template></text></xsl:variable>
1448-
<xsl:copy-of select="xalan:nodeset($text_en)/text/node()"/>
1447+
<xsl:variable name="text_en">
1448+
<xsl:element name="text" namespace="{$namespace_full}">
1449+
<xsl:call-template name="replace_text_tags">
1450+
<xsl:with-param name="tag_open" select="$tag_font_en_bold_open"/>
1451+
<xsl:with-param name="tag_close" select="$tag_font_en_bold_close"/>
1452+
<xsl:with-param name="text" select="$text_en_"/>
1453+
</xsl:call-template>
1454+
</xsl:element>
1455+
</xsl:variable>
1456+
<xsl:copy-of select="xalan:nodeset($text_en)/*[local-name() = 'text']/node()"/>
14491457
</xsl:template>
14501458

14511459
<!-- for $contents -->
14521460
<xsl:template match="title/text()">
14531461
<xsl:variable name="regex_en_contents">([^\u00A0\u2002-\u200B\u3000-\u9FFF\uF900-\uFFFF\(\)]{1,})</xsl:variable>
14541462
<xsl:variable name="text_en_" select="java:replaceAll(java:java.lang.String.new(.), $regex_en_contents, concat($tag_font_en_bold_open,'$1',$tag_font_en_bold_close))"/>
1455-
<xsl:variable name="text_en"><text><xsl:call-template name="replace_text_tags">
1456-
<xsl:with-param name="tag_open" select="$tag_font_en_bold_open"/>
1457-
<xsl:with-param name="tag_close" select="$tag_font_en_bold_close"/>
1458-
<xsl:with-param name="text" select="$text_en_"/>
1459-
</xsl:call-template></text></xsl:variable>
1460-
<xsl:apply-templates select="xalan:nodeset($text_en)/text/node()"/>
1463+
<xsl:variable name="text_en">
1464+
<xsl:element name="text" namespace="{$namespace_full}">
1465+
<xsl:call-template name="replace_text_tags">
1466+
<xsl:with-param name="tag_open" select="$tag_font_en_bold_open"/>
1467+
<xsl:with-param name="tag_close" select="$tag_font_en_bold_close"/>
1468+
<xsl:with-param name="text" select="$text_en_"/>
1469+
</xsl:call-template>
1470+
</xsl:element>
1471+
</xsl:variable>
1472+
<xsl:apply-templates select="xalan:nodeset($text_en)/*[local-name() = 'text']/node()"/>
14611473
</xsl:template>
14621474

14631475
<!-- move example title to the first paragraph -->
14641476
<xsl:template match="jis:example[contains(jis:name/text(), ' — ')]" mode="update_xml_step1">
14651477
<xsl:copy>
14661478
<xsl:copy-of select="@*"/>
14671479
<xsl:element name="p" namespace="https://www.metanorma.org/ns/jis">
1468-
<xsl:value-of select="substring-after(jis:name/text(), ' — ')"/>
1480+
<xsl:value-of select="substring-after(jis:name/text()[1], ' — ')"/>
1481+
<xsl:apply-templates select="jis:name/text()[1]/following-sibling::node()" mode="update_xml_step1"/>
14691482
</xsl:element>
14701483
<xsl:apply-templates mode="update_xml_step1"/>
14711484
</xsl:copy>
14721485
</xsl:template>
1486+
<xsl:template match="jis:example/jis:name[contains(text(), ' — ')]" mode="update_xml_step1">
1487+
<xsl:copy>
1488+
<xsl:copy-of select="@*"/>
1489+
<xsl:apply-templates select="text()[1]" mode="update_xml_step1"/>
1490+
</xsl:copy>
1491+
</xsl:template>
14731492
<xsl:template match="jis:example/jis:name/text()" mode="update_xml_step1">
14741493
<xsl:variable name="example_name">
14751494
<xsl:choose>
@@ -1478,37 +1497,45 @@
14781497
</xsl:choose>
14791498
</xsl:variable>
14801499
<xsl:variable name="text_en_" select="java:replaceAll(java:java.lang.String.new($example_name), $regex_en, concat($tag_font_en_bold_open,'$1',$tag_font_en_bold_close))"/>
1481-
<xsl:variable name="text_en"><text><xsl:call-template name="replace_text_tags">
1482-
<xsl:with-param name="tag_open" select="$tag_font_en_bold_open"/>
1483-
<xsl:with-param name="tag_close" select="$tag_font_en_bold_close"/>
1484-
<xsl:with-param name="text" select="$text_en_"/>
1485-
</xsl:call-template></text></xsl:variable>
1486-
<xsl:copy-of select="xalan:nodeset($text_en)/text/node()"/>
1500+
<xsl:variable name="text_en">
1501+
<xsl:element name="text" namespace="{$namespace_full}">
1502+
<xsl:call-template name="replace_text_tags">
1503+
<xsl:with-param name="tag_open" select="$tag_font_en_bold_open"/>
1504+
<xsl:with-param name="tag_close" select="$tag_font_en_bold_close"/>
1505+
<xsl:with-param name="text" select="$text_en_"/>
1506+
</xsl:call-template>
1507+
</xsl:element>
1508+
</xsl:variable>
1509+
<xsl:copy-of select="xalan:nodeset($text_en)/*[local-name() = 'text']/node()"/>
14871510
</xsl:template>
14881511

14891512
<xsl:template match="jis:eref//text()" mode="update_xml_step1">
14901513
<!-- Example: JIS Z 8301:2011 to <font_en_bold>JIS Z 8301</font_en_bold><font_en>:2011</font_en> -->
14911514
<xsl:variable name="parts">
14921515
<xsl:choose>
14931516
<xsl:when test="contains(., ':')">
1494-
<xsl:element name="{$element_name_font_en_bold}"><xsl:value-of select="substring-before(., ':')"/></xsl:element>
1495-
<xsl:element name="{$element_name_font_en}">:<xsl:value-of select="substring-after(., ':')"/></xsl:element>
1517+
<xsl:element name="{$element_name_font_en_bold}" namespace="{$namespace_full}"><xsl:value-of select="substring-before(., ':')"/></xsl:element>
1518+
<xsl:element name="{$element_name_font_en}" namespace="{$namespace_full}">:<xsl:value-of select="substring-after(., ':')"/></xsl:element>
14961519
</xsl:when>
14971520
<xsl:otherwise>
1498-
<xsl:element name="{$element_name_font_en_bold}"><xsl:value-of select="."/></xsl:element>
1521+
<xsl:element name="{$element_name_font_en_bold}" namespace="{$namespace_full}"><xsl:value-of select="."/></xsl:element>
14991522
</xsl:otherwise>
15001523
</xsl:choose>
15011524
</xsl:variable>
15021525
<xsl:for-each select="xalan:nodeset($parts)/*">
15031526
<xsl:variable name="tag_open">###<xsl:value-of select="local-name()"/>###</xsl:variable>
15041527
<xsl:variable name="tag_close">###/<xsl:value-of select="local-name()"/>###</xsl:variable>
15051528
<xsl:variable name="text_en_" select="java:replaceAll(java:java.lang.String.new(.), $regex_en, concat($tag_open,'$1',$tag_close))"/>
1506-
<xsl:variable name="text_en"><text><xsl:call-template name="replace_text_tags">
1507-
<xsl:with-param name="tag_open" select="$tag_open"/>
1508-
<xsl:with-param name="tag_close" select="$tag_close"/>
1509-
<xsl:with-param name="text" select="$text_en_"/>
1510-
</xsl:call-template></text></xsl:variable>
1511-
<xsl:copy-of select="xalan:nodeset($text_en)/text/node()"/>
1529+
<xsl:variable name="text_en">
1530+
<xsl:element name="text" namespace="{$namespace_full}">
1531+
<xsl:call-template name="replace_text_tags">
1532+
<xsl:with-param name="tag_open" select="$tag_open"/>
1533+
<xsl:with-param name="tag_close" select="$tag_close"/>
1534+
<xsl:with-param name="text" select="$text_en_"/>
1535+
</xsl:call-template>
1536+
</xsl:element>
1537+
</xsl:variable>
1538+
<xsl:copy-of select="xalan:nodeset($text_en)/*[local-name() = 'text']/node()"/>
15121539
</xsl:for-each>
15131540
</xsl:template>
15141541

@@ -1517,12 +1544,16 @@
15171544
</xsl:template>
15181545
<xsl:template match="jis:strong/text()" priority="2" mode="update_xml_step1">
15191546
<xsl:variable name="text_en_" select="java:replaceAll(java:java.lang.String.new(.), $regex_en, concat($tag_font_en_bold_open,'$1',$tag_font_en_bold_close))"/>
1520-
<xsl:variable name="text_en"><text><xsl:call-template name="replace_text_tags">
1521-
<xsl:with-param name="tag_open" select="$tag_font_en_bold_open"/>
1522-
<xsl:with-param name="tag_close" select="$tag_font_en_bold_close"/>
1523-
<xsl:with-param name="text" select="$text_en_"/>
1524-
</xsl:call-template></text></xsl:variable>
1525-
<xsl:copy-of select="xalan:nodeset($text_en)/text/node()"/>
1547+
<xsl:variable name="text_en">
1548+
<xsl:element name="text" namespace="{$namespace_full}">
1549+
<xsl:call-template name="replace_text_tags">
1550+
<xsl:with-param name="tag_open" select="$tag_font_en_bold_open"/>
1551+
<xsl:with-param name="tag_close" select="$tag_font_en_bold_close"/>
1552+
<xsl:with-param name="text" select="$text_en_"/>
1553+
</xsl:call-template>
1554+
</xsl:element>
1555+
</xsl:variable>
1556+
<xsl:copy-of select="xalan:nodeset($text_en)/*[local-name() = 'text']/node()"/>
15261557
</xsl:template>
15271558

15281559
<xsl:template match="*[local-name() = 'font_en_bold'][normalize-space() != '']">

0 commit comments

Comments
 (0)