metanorma-ogc 1.2.13 → 1.2.14

Sign up to get free protection for your applications and to get access to all the features.
@@ -124,24 +124,64 @@
124
124
  </fo:block-container>
125
125
  </fo:block-container>
126
126
 
127
- <fo:block font-family="Lato" font-weight="300" font-size="14pt" font-style="italic" margin-top="6pt" color="rgb(21, 43, 77)">
127
+ <!-- <fo:block font-family="Lato" font-weight="300" font-size="14pt" font-style="italic" margin-top="6pt" color="rgb(21, 43, 77)">
128
128
  <xsl:text>Additional context, inspirational quote, etc. fits into this subheading area</xsl:text>
129
- </fo:block>
129
+ </fo:block> -->
130
130
 
131
- <fo:block-container absolute-position="fixed" left="20mm" top="91mm" width="175mm" font-size="9pt">
132
- <fo:block margin-top="8pt">
133
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:boilerplate/ogc:copyright-statement"/>
134
- </fo:block>
135
- <fo:block margin-top="8pt"> </fo:block>
136
- <fo:block margin-top="8pt">
137
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:boilerplate/ogc:legal-statement"/>
131
+ <fo:block text-align="right" font-size="10pt" margin-top="12pt" margin-bottom="24pt">
132
+ <fo:block margin-top="6pt">Submission Date: <xsl:value-of select="/ogc:ogc-standard/ogc:bibdata/ogc:date[@type = 'received']/ogc:on"/></fo:block>
133
+ <fo:block margin-top="6pt">Approval Date: <xsl:value-of select="/ogc:ogc-standard/ogc:bibdata/ogc:date[@type = 'issued']/ogc:on"/></fo:block>
134
+ <fo:block margin-top="6pt">Publication Date: <xsl:value-of select="/ogc:ogc-standard/ogc:bibdata/ogc:date[@type = 'published']/ogc:on"/></fo:block>
135
+ <fo:block margin-top="6pt">External identifier of this OGC® document: <xsl:value-of select="/ogc:ogc-standard/ogc:bibdata/ogc:docidentifier[@type = 'ogc-external']"/></fo:block>
136
+ <fo:block margin-top="6pt">Internal reference number of this OGC® document: <xsl:value-of select="/ogc:ogc-standard/ogc:bibdata/ogc:docnumber"/></fo:block>
137
+
138
+ <xsl:variable name="url" select="/ogc:ogc-standard/ogc:bibdata/ogc:uri"/>
139
+ <xsl:if test="normalize-space($url) != ''">
140
+ <fo:block margin-top="6pt">URL for this OGC® document: <xsl:value-of select="$url"/></fo:block>
141
+ </xsl:if>
142
+
143
+ <xsl:variable name="edition" select="/ogc:ogc-standard/ogc:bibdata/ogc:edition"/>
144
+ <xsl:if test="normalize-space($edition) != ''">
145
+ <fo:block margin-top="6pt">Version: <xsl:value-of select="$edition"/></fo:block>
146
+ </xsl:if>
147
+
148
+ <fo:block margin-top="6pt"><xsl:text>Category: </xsl:text>
149
+ <xsl:call-template name="capitalizeWords">
150
+ <xsl:with-param name="str" select="/ogc:ogc-standard/ogc:bibdata/ogc:ext/ogc:doctype"/>
151
+ </xsl:call-template>
138
152
  </fo:block>
153
+
154
+ <xsl:variable name="editors">
155
+ <xsl:for-each select="/ogc:ogc-standard/ogc:bibdata/ogc:contributor[ogc:role/@type='editor']/ogc:person/ogc:name/ogc:completename">
156
+ <xsl:value-of select="."/>
157
+ <xsl:if test="position() != last()">, </xsl:if>
158
+ </xsl:for-each>
159
+ </xsl:variable>
160
+ <xsl:if test="normalize-space($editors) != ''">
161
+ <fo:block margin-top="6pt">Editor: <xsl:value-of select="$editors"/></fo:block>
162
+ </xsl:if>
163
+ </fo:block>
164
+
165
+ <!-- absolute-position="fixed" left="20mm" top="91mm" width="175mm" -->
166
+ <fo:block-container font-size="9pt" margin-left="-5mm" margin-right="-5mm">
167
+ <fo:block-container margin-left="0mm" margin-right="0mm">
168
+ <fo:block margin-top="8pt">
169
+ <xsl:apply-templates select="/ogc:ogc-standard/ogc:boilerplate/ogc:copyright-statement"/>
170
+ </fo:block>
171
+ <fo:block margin-top="8pt"> </fo:block>
172
+ <fo:block margin-top="8pt">
173
+ <xsl:apply-templates select="/ogc:ogc-standard/ogc:boilerplate/ogc:legal-statement"/>
174
+ </fo:block>
175
+ </fo:block-container>
139
176
  </fo:block-container>
140
177
 
141
- <fo:block-container absolute-position="fixed" left="79mm" top="168mm">
142
- <fo:block>
143
- <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Logo-OGC))}" width="57.5mm" content-height="scale-to-fit" scaling="uniform" fox:alt-text="Image Logo"/>
144
- </fo:block>
178
+ <!-- absolute-position="fixed" left="79mm" top="168mm" -->
179
+ <fo:block-container margin-top="24pt" margin-left="-5mm" margin-right="-5mm">
180
+ <fo:block-container margin-left="0mm" margin-right="0mm">
181
+ <fo:block text-align="center">
182
+ <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Logo-OGC))}" width="57.5mm" content-height="scale-to-fit" scaling="uniform" fox:alt-text="Image Logo"/>
183
+ </fo:block>
184
+ </fo:block-container>
145
185
  </fo:block-container>
146
186
 
147
187
  </fo:flow>
@@ -1453,202 +1493,230 @@
1453
1493
  <xsl:call-template name="add-zero-spaces-java"/>
1454
1494
  </xsl:template><xsl:template match="*[local-name()='table']" name="table">
1455
1495
 
1456
- <xsl:variable name="simple-table">
1457
- <xsl:call-template name="getSimpleTable"/>
1458
- </xsl:variable>
1496
+ <xsl:variable name="table">
1459
1497
 
1460
-
1461
-
1462
-
1463
-
1464
- <!-- <xsl:if test="$namespace = 'bipm'">
1465
- <fo:block>&#xA0;</fo:block>
1466
- </xsl:if> -->
1467
-
1468
- <!-- $namespace = 'iso' or -->
1469
-
1470
-
1471
-
1472
- <xsl:call-template name="fn_name_display"/>
1498
+ <xsl:variable name="simple-table">
1499
+ <xsl:call-template name="getSimpleTable"/>
1500
+ </xsl:variable>
1473
1501
 
1474
1502
 
1475
-
1476
- <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
1477
-
1478
- <!-- <xsl:variable name="cols-count">
1479
- <xsl:choose>
1480
- <xsl:when test="*[local-name()='thead']">
1481
- <xsl:call-template name="calculate-columns-numbers">
1482
- <xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
1483
- </xsl:call-template>
1484
- </xsl:when>
1485
- <xsl:otherwise>
1486
- <xsl:call-template name="calculate-columns-numbers">
1487
- <xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
1488
- </xsl:call-template>
1489
- </xsl:otherwise>
1490
- </xsl:choose>
1491
- </xsl:variable> -->
1492
- <!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
1493
- <!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
1494
-
1495
-
1496
-
1497
- <xsl:variable name="colwidths">
1498
- <xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
1499
- <xsl:call-template name="calculate-column-widths">
1500
- <xsl:with-param name="cols-count" select="$cols-count"/>
1501
- <xsl:with-param name="table" select="$simple-table"/>
1502
- </xsl:call-template>
1503
- </xsl:if>
1504
- </xsl:variable>
1505
- <!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
1506
-
1507
- <!-- <xsl:variable name="colwidths2">
1508
- <xsl:call-template name="calculate-column-widths">
1509
- <xsl:with-param name="cols-count" select="$cols-count"/>
1510
- </xsl:call-template>
1511
- </xsl:variable> -->
1512
-
1513
- <!-- cols-count=<xsl:copy-of select="$cols-count"/>
1514
- colwidthsNew=<xsl:copy-of select="$colwidths"/>
1515
- colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
1516
-
1517
- <xsl:variable name="margin-left">
1518
- <xsl:choose>
1519
- <xsl:when test="sum(xalan:nodeset($colwidths)//column) &gt; 75">15</xsl:when>
1520
- <xsl:otherwise>0</xsl:otherwise>
1521
- </xsl:choose>
1522
- </xsl:variable>
1523
-
1524
- <fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
1525
1503
 
1526
- <xsl:attribute name="font-size">10pt</xsl:attribute>
1527
1504
 
1528
1505
 
1529
-
1530
-
1531
-
1506
+ <!-- <xsl:if test="$namespace = 'bipm'">
1507
+ <fo:block>&#xA0;</fo:block>
1508
+ </xsl:if> -->
1532
1509
 
1510
+ <!-- $namespace = 'iso' or -->
1533
1511
 
1512
+
1534
1513
 
1535
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
1536
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
1537
- <xsl:attribute name="space-after">12pt</xsl:attribute>
1538
-
1514
+ <xsl:call-template name="fn_name_display"/>
1539
1515
 
1516
+
1540
1517
 
1518
+ <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
1541
1519
 
1520
+ <!-- <xsl:variable name="cols-count">
1521
+ <xsl:choose>
1522
+ <xsl:when test="*[local-name()='thead']">
1523
+ <xsl:call-template name="calculate-columns-numbers">
1524
+ <xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
1525
+ </xsl:call-template>
1526
+ </xsl:when>
1527
+ <xsl:otherwise>
1528
+ <xsl:call-template name="calculate-columns-numbers">
1529
+ <xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
1530
+ </xsl:call-template>
1531
+ </xsl:otherwise>
1532
+ </xsl:choose>
1533
+ </xsl:variable> -->
1534
+ <!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
1535
+ <!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
1542
1536
 
1543
1537
 
1544
1538
 
1539
+ <xsl:variable name="colwidths">
1540
+ <xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
1541
+ <xsl:call-template name="calculate-column-widths">
1542
+ <xsl:with-param name="cols-count" select="$cols-count"/>
1543
+ <xsl:with-param name="table" select="$simple-table"/>
1544
+ </xsl:call-template>
1545
+ </xsl:if>
1546
+ </xsl:variable>
1547
+ <!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
1545
1548
 
1546
- <xsl:variable name="table_attributes">
1547
- <attribute name="table-layout">fixed</attribute>
1548
- <attribute name="width">
1549
- <xsl:choose>
1550
- <xsl:when test="@width"><xsl:value-of select="@width"/></xsl:when>
1551
- <xsl:otherwise>100%</xsl:otherwise>
1552
- </xsl:choose>
1553
- </attribute>
1554
- <attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
1555
- <attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
1549
+ <!-- <xsl:variable name="colwidths2">
1550
+ <xsl:call-template name="calculate-column-widths">
1551
+ <xsl:with-param name="cols-count" select="$cols-count"/>
1552
+ </xsl:call-template>
1553
+ </xsl:variable> -->
1554
+
1555
+ <!-- cols-count=<xsl:copy-of select="$cols-count"/>
1556
+ colwidthsNew=<xsl:copy-of select="$colwidths"/>
1557
+ colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
1558
+
1559
+ <xsl:variable name="margin-left">
1560
+ <xsl:choose>
1561
+ <xsl:when test="sum(xalan:nodeset($colwidths)//column) &gt; 75">15</xsl:when>
1562
+ <xsl:otherwise>0</xsl:otherwise>
1563
+ </xsl:choose>
1564
+ </xsl:variable>
1565
+
1566
+ <fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
1556
1567
 
1568
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1557
1569
 
1558
1570
 
1571
+
1572
+
1573
+
1559
1574
 
1560
1575
 
1561
- <attribute name="margin-left">0mm</attribute>
1562
- <attribute name="margin-right">0mm</attribute>
1563
-
1564
-
1565
-
1566
1576
 
1567
-
1577
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
1578
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
1579
+ <xsl:attribute name="space-after">12pt</xsl:attribute>
1580
+
1568
1581
 
1569
- </xsl:variable>
1570
-
1571
-
1572
- <fo:table id="{@id}" table-omit-footer-at-break="true">
1573
1582
 
1574
- <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
1575
- <xsl:attribute name="{@name}">
1576
- <xsl:value-of select="."/>
1577
- </xsl:attribute>
1578
- </xsl:for-each>
1579
1583
 
1580
- <xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or .//*[local-name()='fn'][local-name(..) != 'name']"/>
1581
- <xsl:if test="$isNoteOrFnExist = 'true'">
1582
- <xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
1583
- </xsl:if>
1584
1584
 
1585
- <xsl:choose>
1586
- <xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
1587
- <xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
1588
- <fo:table-column column-width="{@width}"/>
1589
- </xsl:for-each>
1590
- </xsl:when>
1591
- <xsl:otherwise>
1592
- <xsl:for-each select="xalan:nodeset($colwidths)//column">
1593
- <xsl:choose>
1594
- <xsl:when test=". = 1 or . = 0">
1595
- <fo:table-column column-width="proportional-column-width(2)"/>
1596
- </xsl:when>
1597
- <xsl:otherwise>
1598
- <fo:table-column column-width="proportional-column-width({.})"/>
1599
- </xsl:otherwise>
1600
- </xsl:choose>
1601
- </xsl:for-each>
1602
- </xsl:otherwise>
1603
- </xsl:choose>
1604
1585
 
1605
- <xsl:choose>
1606
- <xsl:when test="not(*[local-name()='tbody']) and *[local-name()='thead']">
1607
- <xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
1608
- </xsl:when>
1609
- <xsl:otherwise>
1610
- <xsl:apply-templates/>
1611
- </xsl:otherwise>
1612
- </xsl:choose>
1613
1586
 
1614
- </fo:table>
1615
-
1616
- <xsl:variable name="colgroup" select="*[local-name()='colgroup']"/>
1617
- <xsl:for-each select="*[local-name()='tbody']"><!-- select context to tbody -->
1618
- <xsl:call-template name="insertTableFooterInSeparateTable">
1619
- <xsl:with-param name="table_attributes" select="$table_attributes"/>
1620
- <xsl:with-param name="colwidths" select="$colwidths"/>
1621
- <xsl:with-param name="colgroup" select="$colgroup"/>
1622
- </xsl:call-template>
1623
- </xsl:for-each>
1624
-
1625
- <!-- insert footer as table -->
1626
- <!-- <fo:table>
1627
- <xsl:for-each select="xalan::nodeset($table_attributes)/attribute">
1628
- <xsl:attribute name="{@name}">
1629
- <xsl:value-of select="."/>
1630
- </xsl:attribute>
1631
- </xsl:for-each>
1587
+ <xsl:variable name="table_width">
1588
+ <!-- for centered table always 100% (@width will be set for middle/second cell of outer table) -->
1589
+
1590
+
1591
+
1592
+ <xsl:choose>
1593
+ <xsl:when test="@width"><xsl:value-of select="@width"/></xsl:when>
1594
+ <xsl:otherwise>100%</xsl:otherwise>
1595
+ </xsl:choose>
1596
+
1597
+ </xsl:variable>
1632
1598
 
1633
- <xsl:for-each select="xalan:nodeset($colwidths)//column">
1599
+ <xsl:variable name="table_attributes">
1600
+ <attribute name="table-layout">fixed</attribute>
1601
+ <attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></attribute>
1602
+ <attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
1603
+ <attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
1604
+
1605
+
1606
+
1607
+
1608
+
1609
+ <attribute name="margin-left">0mm</attribute>
1610
+ <attribute name="margin-right">0mm</attribute>
1611
+
1612
+
1613
+
1614
+
1615
+
1616
+
1617
+ </xsl:variable>
1618
+
1619
+
1620
+ <fo:table id="{@id}" table-omit-footer-at-break="true">
1621
+
1622
+ <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
1623
+ <xsl:attribute name="{@name}">
1624
+ <xsl:value-of select="."/>
1625
+ </xsl:attribute>
1626
+ </xsl:for-each>
1627
+
1628
+ <xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or .//*[local-name()='fn'][local-name(..) != 'name']"/>
1629
+ <xsl:if test="$isNoteOrFnExist = 'true'">
1630
+ <xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
1631
+ </xsl:if>
1632
+
1634
1633
  <xsl:choose>
1635
- <xsl:when test=". = 1 or . = 0">
1636
- <fo:table-column column-width="proportional-column-width(2)"/>
1634
+ <xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
1635
+ <xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
1636
+ <fo:table-column column-width="{@width}"/>
1637
+ </xsl:for-each>
1637
1638
  </xsl:when>
1638
1639
  <xsl:otherwise>
1639
- <fo:table-column column-width="proportional-column-width({.})"/>
1640
+ <xsl:for-each select="xalan:nodeset($colwidths)//column">
1641
+ <xsl:choose>
1642
+ <xsl:when test=". = 1 or . = 0">
1643
+ <fo:table-column column-width="proportional-column-width(2)"/>
1644
+ </xsl:when>
1645
+ <xsl:otherwise>
1646
+ <fo:table-column column-width="proportional-column-width({.})"/>
1647
+ </xsl:otherwise>
1648
+ </xsl:choose>
1649
+ </xsl:for-each>
1640
1650
  </xsl:otherwise>
1641
1651
  </xsl:choose>
1652
+
1653
+ <xsl:choose>
1654
+ <xsl:when test="not(*[local-name()='tbody']) and *[local-name()='thead']">
1655
+ <xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
1656
+ </xsl:when>
1657
+ <xsl:otherwise>
1658
+ <xsl:apply-templates/>
1659
+ </xsl:otherwise>
1660
+ </xsl:choose>
1661
+
1662
+ </fo:table>
1663
+
1664
+ <xsl:variable name="colgroup" select="*[local-name()='colgroup']"/>
1665
+ <xsl:for-each select="*[local-name()='tbody']"><!-- select context to tbody -->
1666
+ <xsl:call-template name="insertTableFooterInSeparateTable">
1667
+ <xsl:with-param name="table_attributes" select="$table_attributes"/>
1668
+ <xsl:with-param name="colwidths" select="$colwidths"/>
1669
+ <xsl:with-param name="colgroup" select="$colgroup"/>
1670
+ </xsl:call-template>
1642
1671
  </xsl:for-each>
1643
- </fo:table>-->
1644
-
1645
-
1646
-
1647
-
1648
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
1649
-
1650
-
1651
- </fo:block-container>
1672
+
1673
+ <!-- insert footer as table -->
1674
+ <!-- <fo:table>
1675
+ <xsl:for-each select="xalan::nodeset($table_attributes)/attribute">
1676
+ <xsl:attribute name="{@name}">
1677
+ <xsl:value-of select="."/>
1678
+ </xsl:attribute>
1679
+ </xsl:for-each>
1680
+
1681
+ <xsl:for-each select="xalan:nodeset($colwidths)//column">
1682
+ <xsl:choose>
1683
+ <xsl:when test=". = 1 or . = 0">
1684
+ <fo:table-column column-width="proportional-column-width(2)"/>
1685
+ </xsl:when>
1686
+ <xsl:otherwise>
1687
+ <fo:table-column column-width="proportional-column-width({.})"/>
1688
+ </xsl:otherwise>
1689
+ </xsl:choose>
1690
+ </xsl:for-each>
1691
+ </fo:table>-->
1692
+
1693
+
1694
+
1695
+
1696
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
1697
+
1698
+
1699
+ </fo:block-container>
1700
+ </xsl:variable>
1701
+
1702
+
1703
+
1704
+ <xsl:choose>
1705
+ <xsl:when test="@width">
1706
+
1707
+ <!-- centered table when table name is centered (see table-name-style) -->
1708
+
1709
+
1710
+
1711
+ <xsl:copy-of select="$table"/>
1712
+
1713
+
1714
+ </xsl:when>
1715
+ <xsl:otherwise>
1716
+ <xsl:copy-of select="$table"/>
1717
+ </xsl:otherwise>
1718
+ </xsl:choose>
1719
+
1652
1720
  </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']"/><xsl:template match="*[local-name()='table']/*[local-name() = 'name']" mode="presentation">
1653
1721
  <xsl:if test="normalize-space() != ''">
1654
1722
  <fo:block xsl:use-attribute-sets="table-name-style">
@@ -2487,7 +2555,7 @@
2487
2555
  <xsl:with-param name="table" select="$html-table"/>
2488
2556
  </xsl:call-template>
2489
2557
  </xsl:variable>
2490
- <!-- colwidths=<xsl:value-of select="$colwidths"/> -->
2558
+ <!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
2491
2559
  <xsl:variable name="maxlength_dt">
2492
2560
  <xsl:call-template name="getMaxLength_dt"/>
2493
2561
  </xsl:variable>
@@ -2516,13 +2584,22 @@
2516
2584
  </xsl:when>
2517
2585
  <xsl:otherwise>
2518
2586
  <xsl:choose>
2587
+ <!-- to set width check most wide chars like `W` -->
2519
2588
  <xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) &lt;= 2"> <!-- if dt contains short text like t90, a, etc -->
2520
- <fo:table-column column-width="5%"/>
2521
- <fo:table-column column-width="95%"/>
2589
+ <fo:table-column column-width="7%"/>
2590
+ <fo:table-column column-width="93%"/>
2591
+ </xsl:when>
2592
+ <xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) &lt;= 5"> <!-- if dt contains short text like ABC, etc -->
2593
+ <fo:table-column column-width="15%"/>
2594
+ <fo:table-column column-width="85%"/>
2595
+ </xsl:when>
2596
+ <xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) &lt;= 7"> <!-- if dt contains short text like ABCDEF, etc -->
2597
+ <fo:table-column column-width="20%"/>
2598
+ <fo:table-column column-width="80%"/>
2522
2599
  </xsl:when>
2523
- <xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) &lt;= 5"> <!-- if dt contains short text like t90, a, etc -->
2524
- <fo:table-column column-width="10%"/>
2525
- <fo:table-column column-width="90%"/>
2600
+ <xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) &lt;= 10"> <!-- if dt contains short text like ABCDEFEF, etc -->
2601
+ <fo:table-column column-width="25%"/>
2602
+ <fo:table-column column-width="75%"/>
2526
2603
  </xsl:when>
2527
2604
  <!-- <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] &gt; 1.7">
2528
2605
  <fo:table-column column-width="60%"/>
@@ -2832,6 +2909,10 @@
2832
2909
  <xsl:param name="text" select="."/>
2833
2910
  <!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
2834
2911
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),'(-|\.|:|=|_|—| )','$1​')"/>
2912
+ </xsl:template><xsl:template name="add-zero-spaces-link-java">
2913
+ <xsl:param name="text" select="."/>
2914
+ <!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
2915
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),'(-|\.|:|=|_|—| |,)','$1​')"/>
2835
2916
  </xsl:template><xsl:template name="add-zero-spaces">
2836
2917
  <xsl:param name="text" select="."/>
2837
2918
  <xsl:variable name="zero-space-after-chars">-</xsl:variable>
@@ -3092,6 +3173,11 @@
3092
3173
  <!-- replace start and end spaces to non-break space -->
3093
3174
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'(^ )|( $)',' ')"/>
3094
3175
  </xsl:copy>
3176
+ </xsl:template><xsl:template match="mathml:mi[. = ',' and not(following-sibling::*[1][local-name() = 'mtext' and text() = ' '])]" mode="mathml">
3177
+ <xsl:copy>
3178
+ <xsl:apply-templates select="@*|node()" mode="mathml"/>
3179
+ </xsl:copy>
3180
+ <mathml:mspace width="0.5ex"/>
3095
3181
  </xsl:template><xsl:template match="*[local-name()='localityStack']"/><xsl:template match="*[local-name()='link']" name="link">
3096
3182
  <xsl:variable name="target">
3097
3183
  <xsl:choose>
@@ -3113,7 +3199,10 @@
3113
3199
  <fo:basic-link external-destination="{@target}" fox:alt-text="{@target}">
3114
3200
  <xsl:choose>
3115
3201
  <xsl:when test="normalize-space(.) = ''">
3116
- <xsl:value-of select="$target"/>
3202
+ <!-- <xsl:value-of select="$target"/> -->
3203
+ <xsl:call-template name="add-zero-spaces-link-java">
3204
+ <xsl:with-param name="text" select="$target"/>
3205
+ </xsl:call-template>
3117
3206
  </xsl:when>
3118
3207
  <xsl:otherwise>
3119
3208
  <xsl:apply-templates/>
@@ -3601,6 +3690,8 @@
3601
3690
  <xsl:copy>
3602
3691
  <xsl:apply-templates mode="contents_item"/>
3603
3692
  </xsl:copy>
3693
+ </xsl:template><xsl:template match="*[local-name() = 'stem']" mode="contents_item">
3694
+ <xsl:copy-of select="."/>
3604
3695
  </xsl:template><xsl:template match="*[local-name() = 'br']" mode="contents_item">
3605
3696
  <xsl:text> </xsl:text>
3606
3697
  </xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
@@ -4015,11 +4106,13 @@
4015
4106
  </xsl:if>
4016
4107
  </xsl:if>
4017
4108
 
4109
+
4018
4110
  <fo:block-container margin-left="0mm">
4019
4111
 
4020
4112
  <fo:block xsl:use-attribute-sets="quote-style">
4021
4113
  <!-- <xsl:apply-templates select=".//*[local-name() = 'p']"/> -->
4022
- <xsl:apply-templates select="./*[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
4114
+
4115
+ <xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
4023
4116
  </fo:block>
4024
4117
  <xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
4025
4118
  <fo:block xsl:use-attribute-sets="quote-source-style">
@@ -4581,7 +4674,7 @@
4581
4674
  <xsl:param name="charDelim" select="', '"/>
4582
4675
  <xsl:choose>
4583
4676
  <xsl:when test="$sorting = 'true' or $sorting = 'yes'">
4584
- <xsl:for-each select="/*/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
4677
+ <xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
4585
4678
  <xsl:sort data-type="text" order="ascending"/>
4586
4679
  <xsl:call-template name="insertKeyword">
4587
4680
  <xsl:with-param name="charAtEnd" select="$charAtEnd"/>
@@ -4590,7 +4683,7 @@
4590
4683
  </xsl:for-each>
4591
4684
  </xsl:when>
4592
4685
  <xsl:otherwise>
4593
- <xsl:for-each select="/*/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
4686
+ <xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
4594
4687
  <xsl:call-template name="insertKeyword">
4595
4688
  <xsl:with-param name="charAtEnd" select="$charAtEnd"/>
4596
4689
  <xsl:with-param name="charDelim" select="$charDelim"/>
@@ -4607,6 +4700,9 @@
4607
4700
  <xsl:otherwise><xsl:value-of select="$charAtEnd"/></xsl:otherwise>
4608
4701
  </xsl:choose>
4609
4702
  </xsl:template><xsl:template name="addPDFUAmeta">
4703
+ <xsl:variable name="lang">
4704
+ <xsl:call-template name="getLang"/>
4705
+ </xsl:variable>
4610
4706
  <fo:declarations>
4611
4707
  <pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
4612
4708
  <pdf:dictionary type="normal" key="ViewerPreferences">
@@ -4619,13 +4715,16 @@
4619
4715
  <!-- Dublin Core properties go here -->
4620
4716
  <dc:title>
4621
4717
  <xsl:variable name="title">
4622
-
4623
-
4624
-
4625
- <xsl:value-of select="/*/*[local-name() = 'bibdata']/*[local-name() = 'title'][@language = 'en']"/>
4626
-
4627
-
4628
-
4718
+ <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
4719
+
4720
+
4721
+
4722
+
4723
+ <xsl:value-of select="*[local-name() = 'title'][@language = $lang]"/>
4724
+
4725
+
4726
+
4727
+ </xsl:for-each>
4629
4728
  </xsl:variable>
4630
4729
  <xsl:choose>
4631
4730
  <xsl:when test="normalize-space($title) != ''">
@@ -4637,17 +4736,21 @@
4637
4736
  </xsl:choose>
4638
4737
  </dc:title>
4639
4738
  <dc:creator>
4640
-
4641
-
4642
-
4643
- </dc:creator>
4644
- <dc:description>
4645
- <xsl:variable name="abstract">
4739
+ <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
4740
+
4741
+ <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
4742
+ <xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
4743
+ <xsl:if test="position() != last()">; </xsl:if>
4744
+ </xsl:for-each>
4646
4745
 
4647
4746
 
4648
4747
 
4748
+ </xsl:for-each>
4749
+ </dc:creator>
4750
+ <dc:description>
4751
+ <xsl:variable name="abstract">
4649
4752
 
4650
- <xsl:copy-of select="/*/*[local-name() = 'bibdata']/*[local-name() = 'abstract']//text()"/>
4753
+ <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
4651
4754
 
4652
4755
 
4653
4756
  </xsl:variable>