metanorma-un 0.9.0 → 0.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/isodoc/un/html/htmlstyle.css +6 -0
- data/lib/isodoc/un/html/htmlstyle.scss +1 -0
- data/lib/isodoc/un/html/unece.css +18 -12
- data/lib/isodoc/un/html/unece.scss +17 -10
- data/lib/isodoc/un/html/word_unece_titlepage.html +4 -4
- data/lib/isodoc/un/i18n.rb +1 -1
- data/lib/isodoc/un/presentation_xml_convert.rb +1 -1
- data/lib/isodoc/un/un.plenary-attachment.xsl +1343 -274
- data/lib/isodoc/un/un.plenary.xsl +1343 -274
- data/lib/isodoc/un/un.recommendation.xsl +1340 -271
- data/lib/isodoc/un/word_convert.rb +27 -21
- data/lib/metanorma/un/biblio.rng +134 -39
- data/lib/metanorma/un/isodoc.rng +16 -0
- data/lib/metanorma/un/version.rb +1 -1
- metadata +3 -3
@@ -14,7 +14,7 @@
|
|
14
14
|
<contents>
|
15
15
|
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']" mode="contents"/>
|
16
16
|
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']" mode="contents"/>
|
17
|
-
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']" mode="contents"/>
|
17
|
+
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements' and local-name() != 'note' and local-name() != 'admonition']" mode="contents"/>
|
18
18
|
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']" mode="contents"/>
|
19
19
|
|
20
20
|
<xsl:apply-templates select="/un:un-standard/un:sections/*" mode="contents"/>
|
@@ -289,10 +289,10 @@
|
|
289
289
|
</xsl:if>
|
290
290
|
|
291
291
|
<!-- Preface Pages (except Abstract, that showed in Summary on cover page`) -->
|
292
|
-
<xsl:if test="/un:un-standard/un:preface/*[not(local-name() = 'abstract')]">
|
292
|
+
<xsl:if test="/un:un-standard/un:preface/*[not(local-name() = 'abstract' or local-name() != 'note' or local-name() != 'admonition')]">
|
293
293
|
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']"/>
|
294
294
|
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']"/>
|
295
|
-
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']"/>
|
295
|
+
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements' and local-name() != 'note' and local-name() != 'admonition']"/>
|
296
296
|
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']"/>
|
297
297
|
<fo:block break-after="page"/>
|
298
298
|
</xsl:if>
|
@@ -481,6 +481,7 @@
|
|
481
481
|
</xsl:template>
|
482
482
|
|
483
483
|
<xsl:template match="un:p" name="paragraph">
|
484
|
+
<xsl:param name="split_keep-within-line"/>
|
484
485
|
<fo:block margin-bottom="6pt" line-height="122%">
|
485
486
|
<xsl:if test="following-sibling::*">
|
486
487
|
<xsl:attribute name="margin-bottom">6pt</xsl:attribute>
|
@@ -491,7 +492,9 @@
|
|
491
492
|
<xsl:otherwise>justify</xsl:otherwise>
|
492
493
|
</xsl:choose>
|
493
494
|
</xsl:attribute>
|
494
|
-
<xsl:apply-templates
|
495
|
+
<xsl:apply-templates>
|
496
|
+
<xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
|
497
|
+
</xsl:apply-templates>
|
495
498
|
</fo:block>
|
496
499
|
</xsl:template>
|
497
500
|
|
@@ -679,86 +682,8 @@
|
|
679
682
|
</fo:block-container>
|
680
683
|
</xsl:template>
|
681
684
|
|
682
|
-
<!-- Examples:
|
683
|
-
[b-ASM] b-ASM, http://www.eecs.umich.edu/gasm/ (accessed 20 March 2018).
|
684
|
-
[b-Börger & Stärk] b-Börger & Stärk, Börger, E., and Stärk, R. S. (2003), Abstract State Machines: A Method for High-Level System Design and Analysis, Springer-Verlag.
|
685
|
-
-->
|
686
|
-
<xsl:template match="un:annex//un:bibitem">
|
687
|
-
<fo:block id="{@id}" margin-top="6pt" margin-left="12mm" text-indent="-12mm">
|
688
|
-
<xsl:if test="un:formattedref">
|
689
|
-
<xsl:choose>
|
690
|
-
<xsl:when test="un:docidentifier[@type = 'metanorma']">
|
691
|
-
<xsl:attribute name="margin-left">0</xsl:attribute>
|
692
|
-
<xsl:attribute name="text-indent">0</xsl:attribute>
|
693
|
-
<xsl:attribute name="margin-bottom">12pt</xsl:attribute>
|
694
|
-
<!-- create list -->
|
695
|
-
<fo:list-block>
|
696
|
-
<fo:list-item>
|
697
|
-
<fo:list-item-label end-indent="label-end()">
|
698
|
-
<fo:block>
|
699
|
-
<xsl:apply-templates select="un:docidentifier[@type = 'metanorma']" mode="process"/>
|
700
|
-
</fo:block>
|
701
|
-
</fo:list-item-label>
|
702
|
-
<fo:list-item-body start-indent="body-start()">
|
703
|
-
<fo:block margin-left="3mm">
|
704
|
-
<xsl:apply-templates select="un:formattedref"/>
|
705
|
-
</fo:block>
|
706
|
-
</fo:list-item-body>
|
707
|
-
</fo:list-item>
|
708
|
-
</fo:list-block>
|
709
|
-
</xsl:when>
|
710
|
-
<xsl:otherwise>
|
711
|
-
<xsl:apply-templates select="un:formattedref"/>
|
712
|
-
<xsl:apply-templates select="un:docidentifier[(@type != 'metanorma' and @type != 'metanorma-ordinal') or not(@type)]" mode="process"/>
|
713
|
-
</xsl:otherwise>
|
714
|
-
</xsl:choose>
|
715
|
-
</xsl:if>
|
716
|
-
<xsl:if test="un:title">
|
717
|
-
<xsl:for-each select="un:contributor">
|
718
|
-
<xsl:value-of select="un:organization/un:name"/>
|
719
|
-
<xsl:if test="position() != last()">, </xsl:if>
|
720
|
-
</xsl:for-each>
|
721
|
-
<xsl:text> (</xsl:text>
|
722
|
-
<xsl:variable name="date">
|
723
|
-
<xsl:choose>
|
724
|
-
<xsl:when test="un:date[@type='issued']">
|
725
|
-
<xsl:value-of select="un:date[@type='issued']/un:on"/>
|
726
|
-
</xsl:when>
|
727
|
-
<xsl:otherwise>
|
728
|
-
<xsl:value-of select="un:date/un:on"/>
|
729
|
-
</xsl:otherwise>
|
730
|
-
</xsl:choose>
|
731
|
-
</xsl:variable>
|
732
|
-
<xsl:value-of select="$date"/>
|
733
|
-
<xsl:text>) </xsl:text>
|
734
|
-
<fo:inline font-style="italic"><xsl:value-of select="un:title"/></fo:inline>
|
735
|
-
<xsl:if test="un:contributor[un:role/@type='publisher']/un:organization/un:name">
|
736
|
-
<xsl:text> (</xsl:text><xsl:value-of select="un:contributor[un:role/@type='publisher']/un:organization/un:name"/><xsl:text>)</xsl:text>
|
737
|
-
</xsl:if>
|
738
|
-
<xsl:text>, </xsl:text>
|
739
|
-
<xsl:value-of select="$date"/>
|
740
|
-
<xsl:text>. </xsl:text>
|
741
|
-
<xsl:value-of select="un:docidentifier"/>
|
742
|
-
<xsl:value-of select="$linebreak"/>
|
743
|
-
<xsl:value-of select="un:uri"/>
|
744
|
-
</xsl:if>
|
745
|
-
</fo:block>
|
746
|
-
</xsl:template>
|
747
|
-
|
748
|
-
<xsl:template match="un:annex//un:bibitem//un:formattedref">
|
749
|
-
<xsl:apply-templates/>
|
750
|
-
</xsl:template>
|
751
|
-
|
752
|
-
<xsl:template match="un:docidentifier[@type = 'metanorma' or @type = 'metanorma-ordinal']" mode="process">
|
753
|
-
<xsl:apply-templates/>
|
754
|
-
</xsl:template>
|
755
|
-
<xsl:template match="un:docidentifier[(@type != 'metanorma' and @type != 'metanorma-ordinal') or not(@type)]" mode="process">
|
756
|
-
<xsl:text> [</xsl:text><xsl:apply-templates/><xsl:text>]</xsl:text>
|
757
|
-
</xsl:template>
|
758
|
-
<xsl:template match="un:docidentifier"/>
|
759
685
|
|
760
686
|
|
761
|
-
|
762
687
|
<xsl:template match="un:dl" priority="2">
|
763
688
|
<fo:block-container margin-left="0mm">
|
764
689
|
<xsl:if test="parent::*[local-name() = 'note']">
|
@@ -833,12 +758,41 @@
|
|
833
758
|
<xsl:text>iVBORw0KGgoAAAANSUhEUgAAAJkAAAAmCAYAAADXwDkaAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA+lpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJNaWNyb3NvZnTCriBXb3JkIDIwMTYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzM0NUVBQ0U2RUMzMTFFQUIzQjg4RDg3OEE1NEI2QzAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzM0NUVBQ0Y2RUMzMTFFQUIzQjg4RDg3OEE1NEI2QzAiPiA8ZGM6Y3JlYXRvcj4gPHJkZjpTZXE+IDxyZGY6bGk+RGhhbmplZTwvcmRmOmxpPiA8L3JkZjpTZXE+IDwvZGM6Y3JlYXRvcj4gPGRjOnRpdGxlPiA8cmRmOkFsdD4gPHJkZjpsaSB4bWw6bGFuZz0ieC1kZWZhdWx0Ij4xODAxNzYzPC9yZGY6bGk+IDwvcmRmOkFsdD4gPC9kYzp0aXRsZT4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVm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</xsl:text>
|
834
759
|
</xsl:variable>
|
835
760
|
|
836
|
-
<xsl:param name="svg_images"/><xsl:variable name="images" select="document($svg_images)"/><xsl:param name="basepath"/><xsl:param name="external_index"/><xsl:param name="syntax-highlight">false</xsl:param><xsl:param name="add_math_as_text">true</xsl:param><xsl:variable name="
|
761
|
+
<xsl:param name="svg_images"/><xsl:variable name="images" select="document($svg_images)"/><xsl:param name="basepath"/><xsl:param name="external_index"/><xsl:param name="syntax-highlight">false</xsl:param><xsl:param name="add_math_as_text">true</xsl:param><xsl:param name="table_if">false</xsl:param><xsl:param name="table_widths"/><xsl:variable name="table_widths_from_if" select="xalan:nodeset($table_widths)"/><xsl:variable name="table_widths_from_if_calculated_">
|
762
|
+
<xsl:for-each select="$table_widths_from_if//table">
|
763
|
+
<xsl:copy>
|
764
|
+
<xsl:copy-of select="@*"/>
|
765
|
+
<xsl:call-template name="calculate-column-widths-autolayout-algorithm"/>
|
766
|
+
</xsl:copy>
|
767
|
+
</xsl:for-each>
|
768
|
+
</xsl:variable><xsl:variable name="table_widths_from_if_calculated" select="xalan:nodeset($table_widths_from_if_calculated_)"/><xsl:param name="table_if_debug">false</xsl:param><xsl:variable name="isGenerateTableIF_">
|
769
|
+
false
|
770
|
+
</xsl:variable><xsl:variable name="isGenerateTableIF" select="normalize-space($isGenerateTableIF_)"/><xsl:variable name="lang">
|
837
771
|
<xsl:call-template name="getLang"/>
|
838
|
-
</xsl:variable><xsl:variable name="
|
839
|
-
|
772
|
+
</xsl:variable><xsl:variable name="papersize" select="java:toLowerCase(java:java.lang.String.new(normalize-space(//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'presentation-metadata']/*[local-name() = 'papersize'])))"/><xsl:variable name="papersize_width_">
|
773
|
+
<xsl:choose>
|
774
|
+
<xsl:when test="$papersize = 'letter'">215.9</xsl:when>
|
775
|
+
<xsl:when test="$papersize = 'a4'">210</xsl:when>
|
776
|
+
</xsl:choose>
|
777
|
+
</xsl:variable><xsl:variable name="papersize_width" select="normalize-space($papersize_width_)"/><xsl:variable name="papersize_height_">
|
778
|
+
<xsl:choose>
|
779
|
+
<xsl:when test="$papersize = 'letter'">279.4</xsl:when>
|
780
|
+
<xsl:when test="$papersize = 'a4'">297</xsl:when>
|
781
|
+
</xsl:choose>
|
782
|
+
</xsl:variable><xsl:variable name="papersize_height" select="normalize-space($papersize_height_)"/><xsl:variable name="pageWidth_">
|
783
|
+
<xsl:choose>
|
784
|
+
<xsl:when test="$papersize_width != ''"><xsl:value-of select="$papersize_width"/></xsl:when>
|
785
|
+
<xsl:otherwise>
|
786
|
+
210
|
787
|
+
</xsl:otherwise>
|
788
|
+
</xsl:choose>
|
840
789
|
</xsl:variable><xsl:variable name="pageWidth" select="normalize-space($pageWidth_)"/><xsl:variable name="pageHeight_">
|
841
|
-
|
790
|
+
<xsl:choose>
|
791
|
+
<xsl:when test="$papersize_height != ''"><xsl:value-of select="$papersize_height"/></xsl:when>
|
792
|
+
<xsl:otherwise>
|
793
|
+
297
|
794
|
+
</xsl:otherwise>
|
795
|
+
</xsl:choose>
|
842
796
|
</xsl:variable><xsl:variable name="pageHeight" select="normalize-space($pageHeight_)"/><xsl:variable name="marginLeftRight1_">
|
843
797
|
40
|
844
798
|
</xsl:variable><xsl:variable name="marginLeftRight1" select="normalize-space($marginLeftRight1_)"/><xsl:variable name="marginLeftRight2_">
|
@@ -950,7 +904,8 @@
|
|
950
904
|
<xsl:value-of select="$titles/*[local-name() = $name][@lang = 'en']"/>
|
951
905
|
</xsl:otherwise>
|
952
906
|
</xsl:choose>
|
953
|
-
</xsl:template><xsl:variable name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable><xsl:variable name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable><xsl:variable name="en_chars" select="concat($lower,$upper,',.`1234567890-=~!@#$%^*()_+[]{}\|?/')"/><xsl:attribute-set name="root-style">
|
907
|
+
</xsl:template><xsl:variable name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable><xsl:variable name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable><xsl:variable name="en_chars" select="concat($lower,$upper,',.`1234567890-=~!@#$%^*()_+[]{}\|?/')"/><xsl:variable name="font_noto_sans">Noto Sans, Noto Sans HK, Noto Sans JP, Noto Sans KR, Noto Sans SC, Noto Sans TC</xsl:variable><xsl:variable name="font_noto_sans_mono">Noto Sans Mono, Noto Sans Mono CJK HK, Noto Sans Mono CJK JP, Noto Sans Mono CJK KR, Noto Sans Mono CJK SC, Noto Sans Mono CJK TC</xsl:variable><xsl:variable name="font_noto_serif">Noto Serif, Noto Serif HK, Noto Serif JP, Noto Serif KR, Noto Serif SC, Noto Serif TC</xsl:variable><xsl:attribute-set name="root-style">
|
908
|
+
|
954
909
|
|
955
910
|
|
956
911
|
|
@@ -967,7 +922,8 @@
|
|
967
922
|
|
968
923
|
|
969
924
|
|
970
|
-
<xsl:attribute name="font-family">Times New Roman, STIX Two Math,
|
925
|
+
<xsl:attribute name="font-family">Times New Roman, STIX Two Math, <xsl:value-of select="$font_noto_serif"/></xsl:attribute>
|
926
|
+
<xsl:attribute name="font-family-generic">Serif</xsl:attribute>
|
971
927
|
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
972
928
|
|
973
929
|
</xsl:attribute-set><xsl:template name="insertRootStyle">
|
@@ -981,17 +937,60 @@
|
|
981
937
|
</xsl:variable>
|
982
938
|
<xsl:variable name="additional_fonts" select="normalize-space($additional_fonts_)"/>
|
983
939
|
|
940
|
+
<xsl:variable name="font_family_generic" select="$root-style_/root-style/@font-family-generic"/>
|
941
|
+
|
984
942
|
<xsl:for-each select="$root-style_/root-style/@*">
|
943
|
+
|
985
944
|
<xsl:choose>
|
986
|
-
<xsl:when test="local-name() = 'font-family'
|
945
|
+
<xsl:when test="local-name() = 'font-family-generic'"><!-- skip, it's using for determine 'sans' or 'serif' --></xsl:when>
|
946
|
+
<xsl:when test="local-name() = 'font-family'">
|
947
|
+
|
948
|
+
<xsl:variable name="font_regional_prefix">
|
949
|
+
<xsl:choose>
|
950
|
+
<xsl:when test="$font_family_generic = 'Sans'">Noto Sans</xsl:when>
|
951
|
+
<xsl:otherwise>Noto Serif</xsl:otherwise>
|
952
|
+
</xsl:choose>
|
953
|
+
</xsl:variable>
|
954
|
+
|
987
955
|
<xsl:attribute name="{local-name()}">
|
988
|
-
|
956
|
+
|
957
|
+
<xsl:variable name="font_extended">
|
958
|
+
<xsl:choose>
|
959
|
+
<xsl:when test="$lang = 'zh'"><xsl:value-of select="$font_regional_prefix"/> SC</xsl:when>
|
960
|
+
<xsl:when test="$lang = 'hk'"><xsl:value-of select="$font_regional_prefix"/> HK</xsl:when>
|
961
|
+
<xsl:when test="$lang = 'jp'"><xsl:value-of select="$font_regional_prefix"/> JP</xsl:when>
|
962
|
+
<xsl:when test="$lang = 'kr'"><xsl:value-of select="$font_regional_prefix"/> KR</xsl:when>
|
963
|
+
<xsl:when test="$lang = 'sc'"><xsl:value-of select="$font_regional_prefix"/> SC</xsl:when>
|
964
|
+
<xsl:when test="$lang = 'tc'"><xsl:value-of select="$font_regional_prefix"/> TC</xsl:when>
|
965
|
+
</xsl:choose>
|
966
|
+
</xsl:variable>
|
967
|
+
<xsl:if test="normalize-space($font_extended) != ''">
|
968
|
+
<xsl:value-of select="$font_regional_prefix"/><xsl:text>, </xsl:text>
|
969
|
+
<xsl:value-of select="$font_extended"/><xsl:text>, </xsl:text>
|
970
|
+
</xsl:if>
|
971
|
+
|
972
|
+
<xsl:value-of select="."/>
|
973
|
+
|
974
|
+
<xsl:if test="$additional_fonts != ''">
|
975
|
+
<xsl:text>, </xsl:text><xsl:value-of select="$additional_fonts"/>
|
976
|
+
</xsl:if>
|
989
977
|
</xsl:attribute>
|
990
978
|
</xsl:when>
|
991
979
|
<xsl:otherwise>
|
992
980
|
<xsl:copy-of select="."/>
|
993
981
|
</xsl:otherwise>
|
994
982
|
</xsl:choose>
|
983
|
+
|
984
|
+
<!-- <xsl:choose>
|
985
|
+
<xsl:when test="local-name() = 'font-family'">
|
986
|
+
<xsl:attribute name="{local-name()}">
|
987
|
+
<xsl:value-of select="."/>, <xsl:value-of select="$additional_fonts"/>
|
988
|
+
</xsl:attribute>
|
989
|
+
</xsl:when>
|
990
|
+
<xsl:otherwise>
|
991
|
+
<xsl:copy-of select="."/>
|
992
|
+
</xsl:otherwise>
|
993
|
+
</xsl:choose> -->
|
995
994
|
</xsl:for-each>
|
996
995
|
</xsl:template><xsl:attribute-set name="copyright-statement-style">
|
997
996
|
|
@@ -1062,13 +1061,14 @@
|
|
1062
1061
|
|
1063
1062
|
|
1064
1063
|
|
1064
|
+
|
1065
1065
|
|
1066
1066
|
|
1067
1067
|
|
1068
1068
|
|
1069
1069
|
|
1070
1070
|
|
1071
|
-
<xsl:attribute name="font-family">Courier New
|
1071
|
+
<xsl:attribute name="font-family">Courier New, <xsl:value-of select="$font_noto_sans_mono"/></xsl:attribute>
|
1072
1072
|
<xsl:attribute name="margin-top">6pt</xsl:attribute>
|
1073
1073
|
<xsl:attribute name="margin-bottom">6pt</xsl:attribute>
|
1074
1074
|
|
@@ -1106,6 +1106,7 @@
|
|
1106
1106
|
|
1107
1107
|
|
1108
1108
|
|
1109
|
+
|
1109
1110
|
|
1110
1111
|
</xsl:attribute-set><xsl:attribute-set name="example-style">
|
1111
1112
|
|
@@ -1121,6 +1122,7 @@
|
|
1121
1122
|
|
1122
1123
|
|
1123
1124
|
|
1125
|
+
|
1124
1126
|
</xsl:attribute-set><xsl:attribute-set name="example-body-style">
|
1125
1127
|
|
1126
1128
|
|
@@ -1140,6 +1142,7 @@
|
|
1140
1142
|
|
1141
1143
|
|
1142
1144
|
|
1145
|
+
|
1143
1146
|
|
1144
1147
|
|
1145
1148
|
<xsl:attribute name="keep-with-next">always</xsl:attribute>
|
@@ -1180,6 +1183,7 @@
|
|
1180
1183
|
|
1181
1184
|
</xsl:attribute-set><xsl:variable name="table-border_">
|
1182
1185
|
|
1186
|
+
|
1183
1187
|
</xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-container-style">
|
1184
1188
|
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
1185
1189
|
<xsl:attribute name="margin-right">0mm</xsl:attribute>
|
@@ -1202,6 +1206,7 @@
|
|
1202
1206
|
|
1203
1207
|
|
1204
1208
|
|
1209
|
+
|
1205
1210
|
<xsl:attribute name="margin-bottom">18pt</xsl:attribute>
|
1206
1211
|
<xsl:attribute name="font-size">8pt</xsl:attribute>
|
1207
1212
|
|
@@ -1231,6 +1236,7 @@
|
|
1231
1236
|
|
1232
1237
|
|
1233
1238
|
|
1239
|
+
|
1234
1240
|
<xsl:attribute name="border-top">0.5pt solid black</xsl:attribute>
|
1235
1241
|
|
1236
1242
|
|
@@ -1240,6 +1246,7 @@
|
|
1240
1246
|
|
1241
1247
|
|
1242
1248
|
|
1249
|
+
|
1243
1250
|
|
1244
1251
|
|
1245
1252
|
|
@@ -1284,6 +1291,7 @@
|
|
1284
1291
|
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
1285
1292
|
<xsl:attribute name="border">solid black 1pt</xsl:attribute>
|
1286
1293
|
<xsl:attribute name="padding-left">1mm</xsl:attribute>
|
1294
|
+
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
1287
1295
|
<xsl:attribute name="display-align">center</xsl:attribute>
|
1288
1296
|
|
1289
1297
|
|
@@ -1312,6 +1320,8 @@
|
|
1312
1320
|
<xsl:attribute name="display-align">center</xsl:attribute>
|
1313
1321
|
<xsl:attribute name="border">solid black 1pt</xsl:attribute>
|
1314
1322
|
<xsl:attribute name="padding-left">1mm</xsl:attribute>
|
1323
|
+
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
1324
|
+
|
1315
1325
|
|
1316
1326
|
|
1317
1327
|
|
@@ -1345,7 +1355,7 @@
|
|
1345
1355
|
|
1346
1356
|
|
1347
1357
|
|
1348
|
-
|
1358
|
+
|
1349
1359
|
|
1350
1360
|
|
1351
1361
|
|
@@ -1360,6 +1370,7 @@
|
|
1360
1370
|
|
1361
1371
|
|
1362
1372
|
|
1373
|
+
|
1363
1374
|
</xsl:attribute-set><xsl:attribute-set name="table-fn-style">
|
1364
1375
|
<xsl:attribute name="margin-bottom">12pt</xsl:attribute>
|
1365
1376
|
|
@@ -1368,6 +1379,8 @@
|
|
1368
1379
|
|
1369
1380
|
|
1370
1381
|
|
1382
|
+
|
1383
|
+
|
1371
1384
|
</xsl:attribute-set><xsl:attribute-set name="table-fn-number-style">
|
1372
1385
|
<xsl:attribute name="font-size">80%</xsl:attribute>
|
1373
1386
|
<xsl:attribute name="padding-right">5mm</xsl:attribute>
|
@@ -1383,6 +1396,7 @@
|
|
1383
1396
|
|
1384
1397
|
|
1385
1398
|
|
1399
|
+
|
1386
1400
|
<xsl:attribute name="vertical-align">super</xsl:attribute>
|
1387
1401
|
|
1388
1402
|
</xsl:attribute-set><xsl:attribute-set name="fn-container-body-style">
|
@@ -1406,7 +1420,8 @@
|
|
1406
1420
|
</xsl:attribute-set><xsl:attribute-set name="dt-row-style">
|
1407
1421
|
|
1408
1422
|
|
1409
|
-
</xsl:attribute-set><xsl:attribute-set name="dt-style">
|
1423
|
+
</xsl:attribute-set><xsl:attribute-set name="dt-cell-style">
|
1424
|
+
</xsl:attribute-set><xsl:attribute-set name="dt-block-style">
|
1410
1425
|
<xsl:attribute name="margin-top">6pt</xsl:attribute>
|
1411
1426
|
|
1412
1427
|
|
@@ -1418,6 +1433,29 @@
|
|
1418
1433
|
|
1419
1434
|
|
1420
1435
|
|
1436
|
+
|
1437
|
+
</xsl:attribute-set><xsl:attribute-set name="dl-name-style">
|
1438
|
+
<xsl:attribute name="keep-with-next">always</xsl:attribute>
|
1439
|
+
<xsl:attribute name="margin-bottom">6pt</xsl:attribute>
|
1440
|
+
|
1441
|
+
|
1442
|
+
|
1443
|
+
|
1444
|
+
|
1445
|
+
|
1446
|
+
|
1447
|
+
|
1448
|
+
|
1449
|
+
|
1450
|
+
|
1451
|
+
<xsl:attribute name="font-weight">normal</xsl:attribute>
|
1452
|
+
|
1453
|
+
|
1454
|
+
|
1455
|
+
|
1456
|
+
|
1457
|
+
</xsl:attribute-set><xsl:attribute-set name="dd-cell-style">
|
1458
|
+
<xsl:attribute name="padding-left">2mm</xsl:attribute>
|
1421
1459
|
</xsl:attribute-set><xsl:attribute-set name="appendix-style">
|
1422
1460
|
|
1423
1461
|
|
@@ -1447,6 +1485,7 @@
|
|
1447
1485
|
|
1448
1486
|
|
1449
1487
|
|
1488
|
+
|
1450
1489
|
|
1451
1490
|
|
1452
1491
|
|
@@ -1514,6 +1553,8 @@
|
|
1514
1553
|
|
1515
1554
|
|
1516
1555
|
|
1556
|
+
</xsl:attribute-set><xsl:attribute-set name="termnote-p-style">
|
1557
|
+
|
1517
1558
|
</xsl:attribute-set><xsl:attribute-set name="quote-style">
|
1518
1559
|
<xsl:attribute name="margin-left">12mm</xsl:attribute>
|
1519
1560
|
<xsl:attribute name="margin-right">12mm</xsl:attribute>
|
@@ -1554,6 +1595,7 @@
|
|
1554
1595
|
</xsl:attribute-set><xsl:attribute-set name="figure-name-style">
|
1555
1596
|
|
1556
1597
|
|
1598
|
+
|
1557
1599
|
|
1558
1600
|
|
1559
1601
|
|
@@ -1598,6 +1640,7 @@
|
|
1598
1640
|
|
1599
1641
|
|
1600
1642
|
|
1643
|
+
|
1601
1644
|
</xsl:attribute-set><xsl:attribute-set name="formula-stem-number-style">
|
1602
1645
|
<xsl:attribute name="text-align">right</xsl:attribute>
|
1603
1646
|
|
@@ -1620,17 +1663,16 @@
|
|
1620
1663
|
</xsl:attribute-set><xsl:attribute-set name="figure-pseudocode-p-style">
|
1621
1664
|
|
1622
1665
|
</xsl:attribute-set><xsl:attribute-set name="image-graphic-style">
|
1666
|
+
<xsl:attribute name="width">100%</xsl:attribute>
|
1667
|
+
<xsl:attribute name="content-height">100%</xsl:attribute>
|
1668
|
+
<xsl:attribute name="scaling">uniform</xsl:attribute>
|
1623
1669
|
|
1624
1670
|
|
1625
1671
|
|
1626
|
-
<xsl:attribute name="width">100%</xsl:attribute>
|
1627
|
-
<xsl:attribute name="content-height">100%</xsl:attribute>
|
1628
1672
|
<xsl:attribute name="content-width">scale-to-fit</xsl:attribute>
|
1629
|
-
<xsl:attribute name="scaling">uniform</xsl:attribute>
|
1630
1673
|
|
1631
1674
|
|
1632
|
-
|
1633
|
-
|
1675
|
+
|
1634
1676
|
</xsl:attribute-set><xsl:attribute-set name="tt-style">
|
1635
1677
|
|
1636
1678
|
|
@@ -1708,10 +1750,29 @@
|
|
1708
1750
|
|
1709
1751
|
|
1710
1752
|
|
1753
|
+
|
1711
1754
|
<xsl:attribute name="provisional-distance-between-starts">4mm</xsl:attribute>
|
1712
1755
|
<xsl:attribute name="margin-left">-8mm</xsl:attribute>
|
1713
1756
|
|
1714
1757
|
|
1758
|
+
</xsl:attribute-set><xsl:attribute-set name="list-name-style">
|
1759
|
+
<xsl:attribute name="keep-with-next">always</xsl:attribute>
|
1760
|
+
|
1761
|
+
|
1762
|
+
|
1763
|
+
|
1764
|
+
|
1765
|
+
|
1766
|
+
|
1767
|
+
|
1768
|
+
|
1769
|
+
|
1770
|
+
<xsl:attribute name="font-weight">normal</xsl:attribute>
|
1771
|
+
|
1772
|
+
|
1773
|
+
|
1774
|
+
|
1775
|
+
|
1715
1776
|
</xsl:attribute-set><xsl:attribute-set name="list-item-style">
|
1716
1777
|
|
1717
1778
|
|
@@ -1755,6 +1816,7 @@
|
|
1755
1816
|
|
1756
1817
|
|
1757
1818
|
|
1819
|
+
|
1758
1820
|
<xsl:attribute name="font-size">60%</xsl:attribute>
|
1759
1821
|
<xsl:attribute name="vertical-align">super</xsl:attribute>
|
1760
1822
|
|
@@ -1781,6 +1843,7 @@
|
|
1781
1843
|
|
1782
1844
|
|
1783
1845
|
|
1846
|
+
|
1784
1847
|
<xsl:attribute name="font-size">9pt</xsl:attribute>
|
1785
1848
|
<xsl:attribute name="text-align">justify</xsl:attribute>
|
1786
1849
|
<xsl:attribute name="line-height">125%</xsl:attribute>
|
@@ -1805,6 +1868,7 @@
|
|
1805
1868
|
|
1806
1869
|
|
1807
1870
|
|
1871
|
+
|
1808
1872
|
<xsl:attribute name="font-size">60%</xsl:attribute>
|
1809
1873
|
<xsl:attribute name="vertical-align">super</xsl:attribute>
|
1810
1874
|
<xsl:attribute name="padding-right">8mm</xsl:attribute>
|
@@ -1824,6 +1888,7 @@
|
|
1824
1888
|
|
1825
1889
|
|
1826
1890
|
|
1891
|
+
|
1827
1892
|
<xsl:attribute name="border">0.25pt solid black</xsl:attribute>
|
1828
1893
|
<xsl:attribute name="margin-left">-3mm</xsl:attribute>
|
1829
1894
|
<xsl:attribute name="margin-right">-3mm</xsl:attribute>
|
@@ -1832,6 +1897,9 @@
|
|
1832
1897
|
|
1833
1898
|
|
1834
1899
|
</xsl:attribute-set><xsl:attribute-set name="admonition-container-style">
|
1900
|
+
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
1901
|
+
<xsl:attribute name="margin-right">0mm</xsl:attribute>
|
1902
|
+
|
1835
1903
|
|
1836
1904
|
|
1837
1905
|
|
@@ -1876,6 +1944,7 @@
|
|
1876
1944
|
|
1877
1945
|
|
1878
1946
|
|
1947
|
+
|
1879
1948
|
<xsl:attribute name="text-align">justify</xsl:attribute>
|
1880
1949
|
<xsl:attribute name="margin-bottom">6pt</xsl:attribute>
|
1881
1950
|
<xsl:attribute name="line-height">122%</xsl:attribute>
|
@@ -1918,6 +1987,7 @@
|
|
1918
1987
|
|
1919
1988
|
|
1920
1989
|
|
1990
|
+
|
1921
1991
|
</xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-style">
|
1922
1992
|
|
1923
1993
|
|
@@ -1937,6 +2007,7 @@
|
|
1937
2007
|
|
1938
2008
|
|
1939
2009
|
|
2010
|
+
|
1940
2011
|
</xsl:attribute-set><xsl:attribute-set name="bibitem-normative-list-body-style">
|
1941
2012
|
|
1942
2013
|
|
@@ -1963,6 +2034,7 @@
|
|
1963
2034
|
|
1964
2035
|
|
1965
2036
|
|
2037
|
+
|
1966
2038
|
<xsl:attribute name="vertical-align">super</xsl:attribute>
|
1967
2039
|
|
1968
2040
|
</xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-number-style">
|
@@ -1983,6 +2055,7 @@
|
|
1983
2055
|
|
1984
2056
|
|
1985
2057
|
|
2058
|
+
|
1986
2059
|
<xsl:attribute name="font-size">60%</xsl:attribute>
|
1987
2060
|
<xsl:attribute name="vertical-align">super</xsl:attribute>
|
1988
2061
|
|
@@ -2001,6 +2074,7 @@
|
|
2001
2074
|
|
2002
2075
|
|
2003
2076
|
|
2077
|
+
|
2004
2078
|
</xsl:attribute-set><xsl:attribute-set name="references-non-normative-style">
|
2005
2079
|
|
2006
2080
|
|
@@ -2112,13 +2186,13 @@
|
|
2112
2186
|
|
2113
2187
|
</xsl:attribute-set><xsl:variable name="border-block-added">2.5pt solid rgb(0, 176, 80)</xsl:variable><xsl:variable name="border-block-deleted">2.5pt solid rgb(255, 0, 0)</xsl:variable><xsl:variable name="ace_tag">ace-tag_</xsl:variable><xsl:template name="processPrefaceSectionsDefault_Contents">
|
2114
2188
|
<xsl:variable name="nodes_preface_">
|
2115
|
-
<xsl:for-each select="/*/*[local-name()='preface']/*">
|
2189
|
+
<xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition')]">
|
2116
2190
|
<node id="{@id}"/>
|
2117
2191
|
</xsl:for-each>
|
2118
2192
|
</xsl:variable>
|
2119
2193
|
<xsl:variable name="nodes_preface" select="xalan:nodeset($nodes_preface_)"/>
|
2120
2194
|
|
2121
|
-
<xsl:for-each select="/*/*[local-name()='preface']/*">
|
2195
|
+
<xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition')]">
|
2122
2196
|
<xsl:sort select="@displayorder" data-type="number"/>
|
2123
2197
|
|
2124
2198
|
<!-- process Section's title -->
|
@@ -2184,7 +2258,7 @@
|
|
2184
2258
|
</xsl:for-each>
|
2185
2259
|
</figures>
|
2186
2260
|
</xsl:template><xsl:template name="processPrefaceSectionsDefault">
|
2187
|
-
<xsl:for-each select="/*/*[local-name()='preface']/*">
|
2261
|
+
<xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition')]">
|
2188
2262
|
<xsl:sort select="@displayorder" data-type="number"/>
|
2189
2263
|
<xsl:apply-templates select="."/>
|
2190
2264
|
</xsl:for-each>
|
@@ -2238,7 +2312,38 @@
|
|
2238
2312
|
</xsl:template><xsl:template match="*[local-name()='br']">
|
2239
2313
|
<xsl:value-of select="$linebreak"/>
|
2240
2314
|
</xsl:template><xsl:template match="*[local-name() = 'keep-together_within-line']">
|
2241
|
-
<
|
2315
|
+
<xsl:param name="split_keep-within-line"/>
|
2316
|
+
|
2317
|
+
<!-- <fo:inline>split_keep-within-line='<xsl:value-of select="$split_keep-within-line"/>'</fo:inline> -->
|
2318
|
+
<xsl:choose>
|
2319
|
+
|
2320
|
+
<xsl:when test="normalize-space($split_keep-within-line) = 'true'">
|
2321
|
+
<xsl:variable name="sep">_</xsl:variable>
|
2322
|
+
<xsl:variable name="items">
|
2323
|
+
<xsl:call-template name="split">
|
2324
|
+
<xsl:with-param name="pText" select="."/>
|
2325
|
+
<xsl:with-param name="sep" select="$sep"/>
|
2326
|
+
<xsl:with-param name="normalize-space">false</xsl:with-param>
|
2327
|
+
<xsl:with-param name="keep_sep">true</xsl:with-param>
|
2328
|
+
</xsl:call-template>
|
2329
|
+
</xsl:variable>
|
2330
|
+
<xsl:for-each select="xalan:nodeset($items)/item">
|
2331
|
+
<xsl:choose>
|
2332
|
+
<xsl:when test=". = $sep">
|
2333
|
+
<xsl:value-of select="$sep"/><xsl:value-of select="$zero_width_space"/>
|
2334
|
+
</xsl:when>
|
2335
|
+
<xsl:otherwise>
|
2336
|
+
<fo:inline keep-together.within-line="always"><xsl:apply-templates/></fo:inline>
|
2337
|
+
</xsl:otherwise>
|
2338
|
+
</xsl:choose>
|
2339
|
+
</xsl:for-each>
|
2340
|
+
</xsl:when>
|
2341
|
+
|
2342
|
+
<xsl:otherwise>
|
2343
|
+
<fo:inline keep-together.within-line="always"><xsl:apply-templates/></fo:inline>
|
2344
|
+
</xsl:otherwise>
|
2345
|
+
|
2346
|
+
</xsl:choose>
|
2242
2347
|
</xsl:template><xsl:template match="*[local-name()='copyright-statement']">
|
2243
2348
|
<fo:block xsl:use-attribute-sets="copyright-statement-style">
|
2244
2349
|
<xsl:apply-templates/>
|
@@ -2330,9 +2435,14 @@
|
|
2330
2435
|
|
2331
2436
|
<xsl:variable name="table">
|
2332
2437
|
|
2333
|
-
<xsl:variable name="simple-table">
|
2334
|
-
<xsl:call-template name="getSimpleTable"
|
2438
|
+
<xsl:variable name="simple-table">
|
2439
|
+
<xsl:call-template name="getSimpleTable">
|
2440
|
+
<xsl:with-param name="id" select="@id"/>
|
2441
|
+
</xsl:call-template>
|
2335
2442
|
</xsl:variable>
|
2443
|
+
<!-- <xsl:variable name="simple-table" select="xalan:nodeset($simple-table_)"/> -->
|
2444
|
+
|
2445
|
+
<!-- simple-table=<xsl:copy-of select="$simple-table"/> -->
|
2336
2446
|
|
2337
2447
|
|
2338
2448
|
<!-- Display table's name before table as standalone block -->
|
@@ -2355,7 +2465,23 @@
|
|
2355
2465
|
</xsl:call-template>
|
2356
2466
|
</xsl:if>
|
2357
2467
|
</xsl:variable>
|
2358
|
-
<!--
|
2468
|
+
<!-- <xsl:variable name="colwidths" select="xalan:nodeset($colwidths_)"/> -->
|
2469
|
+
|
2470
|
+
<!-- DEBUG -->
|
2471
|
+
<xsl:if test="$table_if_debug = 'true'">
|
2472
|
+
<fo:block font-size="60%">
|
2473
|
+
<xsl:apply-templates select="xalan:nodeset($colwidths)" mode="print_as_xml"/>
|
2474
|
+
</fo:block>
|
2475
|
+
</xsl:if>
|
2476
|
+
|
2477
|
+
|
2478
|
+
<!-- <xsl:copy-of select="$colwidths"/> -->
|
2479
|
+
|
2480
|
+
<!-- <xsl:text disable-output-escaping="yes"><!- -</xsl:text>
|
2481
|
+
DEBUG
|
2482
|
+
colwidths=<xsl:copy-of select="$colwidths"/>
|
2483
|
+
<xsl:text disable-output-escaping="yes">- -></xsl:text> -->
|
2484
|
+
|
2359
2485
|
|
2360
2486
|
|
2361
2487
|
<xsl:variable name="margin-side">
|
@@ -2380,6 +2506,8 @@
|
|
2380
2506
|
|
2381
2507
|
|
2382
2508
|
|
2509
|
+
|
2510
|
+
|
2383
2511
|
|
2384
2512
|
|
2385
2513
|
|
@@ -2424,12 +2552,22 @@
|
|
2424
2552
|
|
2425
2553
|
|
2426
2554
|
|
2555
|
+
|
2556
|
+
|
2427
2557
|
</xsl:element>
|
2428
2558
|
</xsl:variable>
|
2429
2559
|
|
2560
|
+
<xsl:if test="$isGenerateTableIF = 'true'">
|
2561
|
+
<!-- to determine start of table -->
|
2562
|
+
<fo:block id="{concat('table_if_start_',@id)}" keep-with-next="always" font-size="1pt">Start table '<xsl:value-of select="@id"/>'.</fo:block>
|
2563
|
+
</xsl:if>
|
2430
2564
|
|
2431
2565
|
<fo:table id="{@id}">
|
2432
2566
|
|
2567
|
+
<xsl:if test="$isGenerateTableIF = 'true'">
|
2568
|
+
<xsl:attribute name="wrap-option">no-wrap</xsl:attribute>
|
2569
|
+
</xsl:if>
|
2570
|
+
|
2433
2571
|
<xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
|
2434
2572
|
<xsl:attribute name="{local-name()}">
|
2435
2573
|
<xsl:value-of select="."/>
|
@@ -2443,24 +2581,47 @@
|
|
2443
2581
|
|
2444
2582
|
|
2445
2583
|
<xsl:choose>
|
2446
|
-
<xsl:when test="
|
2447
|
-
|
2448
|
-
|
2449
|
-
|
2584
|
+
<xsl:when test="$isGenerateTableIF = 'true'">
|
2585
|
+
<!-- generate IF for table widths -->
|
2586
|
+
<!-- example:
|
2587
|
+
<tr>
|
2588
|
+
<td valign="top" align="left" id="tab-symdu_1_1">
|
2589
|
+
<p>Symbol</p>
|
2590
|
+
<word id="tab-symdu_1_1_word_1">Symbol</word>
|
2591
|
+
</td>
|
2592
|
+
<td valign="top" align="left" id="tab-symdu_1_2">
|
2593
|
+
<p>Description</p>
|
2594
|
+
<word id="tab-symdu_1_2_word_1">Description</word>
|
2595
|
+
</td>
|
2596
|
+
</tr>
|
2597
|
+
-->
|
2598
|
+
<xsl:apply-templates select="xalan:nodeset($simple-table)" mode="process_table-if"/>
|
2599
|
+
|
2450
2600
|
</xsl:when>
|
2451
2601
|
<xsl:otherwise>
|
2452
|
-
<xsl:call-template name="insertTableColumnWidth">
|
2453
|
-
<xsl:with-param name="colwidths" select="$colwidths"/>
|
2454
|
-
</xsl:call-template>
|
2455
|
-
</xsl:otherwise>
|
2456
|
-
</xsl:choose>
|
2457
2602
|
|
2458
|
-
|
2459
|
-
|
2460
|
-
|
2461
|
-
|
2462
|
-
|
2463
|
-
|
2603
|
+
<xsl:choose>
|
2604
|
+
<xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
|
2605
|
+
<xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
|
2606
|
+
<fo:table-column column-width="{@width}"/>
|
2607
|
+
</xsl:for-each>
|
2608
|
+
</xsl:when>
|
2609
|
+
<xsl:otherwise>
|
2610
|
+
<xsl:call-template name="insertTableColumnWidth">
|
2611
|
+
<xsl:with-param name="colwidths" select="$colwidths"/>
|
2612
|
+
</xsl:call-template>
|
2613
|
+
</xsl:otherwise>
|
2614
|
+
</xsl:choose>
|
2615
|
+
|
2616
|
+
<xsl:choose>
|
2617
|
+
<xsl:when test="not(*[local-name()='tbody']) and *[local-name()='thead']">
|
2618
|
+
<xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
|
2619
|
+
</xsl:when>
|
2620
|
+
<xsl:otherwise>
|
2621
|
+
<xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note') and not(local-name() = 'thead') and not(local-name() = 'tfoot')]"/> <!-- process all table' elements, except name, header, footer and note that renders separaterely -->
|
2622
|
+
</xsl:otherwise>
|
2623
|
+
</xsl:choose>
|
2624
|
+
|
2464
2625
|
</xsl:otherwise>
|
2465
2626
|
</xsl:choose>
|
2466
2627
|
|
@@ -2535,23 +2696,29 @@
|
|
2535
2696
|
</xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']">
|
2536
2697
|
<xsl:param name="continued"/>
|
2537
2698
|
<xsl:if test="normalize-space() != ''">
|
2538
|
-
|
2539
|
-
|
2540
|
-
|
2541
|
-
|
2542
|
-
|
2699
|
+
|
2700
|
+
|
2543
2701
|
|
2544
|
-
|
2545
|
-
|
2702
|
+
<fo:block xsl:use-attribute-sets="table-name-style">
|
2703
|
+
|
2546
2704
|
|
2547
|
-
|
2548
|
-
|
2549
|
-
|
2550
|
-
|
2551
|
-
|
2552
|
-
|
2705
|
+
|
2706
|
+
|
2707
|
+
|
2708
|
+
<xsl:choose>
|
2709
|
+
<xsl:when test="$continued = 'true'">
|
2710
|
+
|
2711
|
+
</xsl:when>
|
2712
|
+
<xsl:otherwise>
|
2713
|
+
<xsl:apply-templates/>
|
2714
|
+
</xsl:otherwise>
|
2715
|
+
</xsl:choose>
|
2716
|
+
|
2717
|
+
|
2718
|
+
</fo:block>
|
2719
|
+
|
2553
2720
|
|
2554
|
-
|
2721
|
+
|
2555
2722
|
</xsl:if>
|
2556
2723
|
</xsl:template><xsl:template name="calculate-columns-numbers">
|
2557
2724
|
<xsl:param name="table-row"/>
|
@@ -2560,11 +2727,22 @@
|
|
2560
2727
|
<xsl:variable name="columns-with-colspan" select="count($table-row/*[@colspan])"/>
|
2561
2728
|
<xsl:value-of select="$columns-count + $sum-colspans - $columns-with-colspan"/>
|
2562
2729
|
</xsl:template><xsl:template name="calculate-column-widths">
|
2730
|
+
<xsl:param name="table"/>
|
2731
|
+
<xsl:param name="cols-count"/>
|
2732
|
+
|
2733
|
+
<xsl:call-template name="calculate-column-widths-proportional">
|
2734
|
+
<xsl:with-param name="cols-count" select="$cols-count"/>
|
2735
|
+
<xsl:with-param name="table" select="$table"/>
|
2736
|
+
</xsl:call-template>
|
2737
|
+
|
2738
|
+
</xsl:template><xsl:template name="calculate-column-widths-proportional">
|
2563
2739
|
<xsl:param name="table"/>
|
2564
2740
|
<xsl:param name="cols-count"/>
|
2565
2741
|
<xsl:param name="curr-col" select="1"/>
|
2566
2742
|
<xsl:param name="width" select="0"/>
|
2567
2743
|
|
2744
|
+
<!-- table=<xsl:copy-of select="$table"/> -->
|
2745
|
+
|
2568
2746
|
<xsl:if test="$curr-col <= $cols-count">
|
2569
2747
|
<xsl:variable name="widths">
|
2570
2748
|
<xsl:choose>
|
@@ -2602,10 +2780,15 @@
|
|
2602
2780
|
</xsl:for-each>
|
2603
2781
|
</xsl:when>
|
2604
2782
|
<xsl:otherwise>
|
2605
|
-
<xsl:
|
2783
|
+
<!-- <curr_col><xsl:value-of select="$curr-col"/></curr_col> -->
|
2784
|
+
|
2785
|
+
<!-- <table><xsl:copy-of select="$table"/></table>
|
2786
|
+
-->
|
2787
|
+
<xsl:for-each select="xalan:nodeset($table)/*/*[local-name()='tr']">
|
2606
2788
|
<xsl:variable name="td_text">
|
2607
2789
|
<xsl:apply-templates select="td[$curr-col]" mode="td_text"/>
|
2608
2790
|
</xsl:variable>
|
2791
|
+
<!-- <td_text><xsl:value-of select="$td_text"/></td_text> -->
|
2609
2792
|
<xsl:variable name="words">
|
2610
2793
|
<xsl:variable name="string_with_added_zerospaces">
|
2611
2794
|
<xsl:call-template name="add-zero-spaces-java">
|
@@ -2620,6 +2803,7 @@
|
|
2620
2803
|
<xsl:with-param name="text" select="normalize-space(translate($string_with_added_zerospaces, '', ' '))"/> <!-- replace zero-width-space and soft-hyphen to space -->
|
2621
2804
|
</xsl:call-template>
|
2622
2805
|
</xsl:variable>
|
2806
|
+
<!-- words=<xsl:copy-of select="$words"/> -->
|
2623
2807
|
<xsl:variable name="max_length">
|
2624
2808
|
<xsl:call-template name="max_length">
|
2625
2809
|
<xsl:with-param name="words" select="xalan:nodeset($words)"/>
|
@@ -2644,6 +2828,8 @@
|
|
2644
2828
|
</xsl:choose>
|
2645
2829
|
</xsl:variable>
|
2646
2830
|
|
2831
|
+
<!-- widths=<xsl:copy-of select="$widths"/> -->
|
2832
|
+
|
2647
2833
|
<column>
|
2648
2834
|
<xsl:for-each select="xalan:nodeset($widths)//width">
|
2649
2835
|
<xsl:sort select="." data-type="number" order="descending"/>
|
@@ -2652,33 +2838,271 @@
|
|
2652
2838
|
</xsl:if>
|
2653
2839
|
</xsl:for-each>
|
2654
2840
|
</column>
|
2655
|
-
<xsl:call-template name="calculate-column-widths">
|
2841
|
+
<xsl:call-template name="calculate-column-widths-proportional">
|
2656
2842
|
<xsl:with-param name="cols-count" select="$cols-count"/>
|
2657
2843
|
<xsl:with-param name="curr-col" select="$curr-col +1"/>
|
2658
2844
|
<xsl:with-param name="table" select="$table"/>
|
2659
2845
|
</xsl:call-template>
|
2660
2846
|
</xsl:if>
|
2661
|
-
</xsl:template><xsl:template match="*[@keep-together.within-line]/text()" priority="2" mode="td_text">
|
2847
|
+
</xsl:template><xsl:template match="*[@keep-together.within-line or local-name() = 'keep-together_within-line']/text()" priority="2" mode="td_text">
|
2662
2848
|
<!-- <xsl:message>DEBUG t1=<xsl:value-of select="."/></xsl:message>
|
2663
2849
|
<xsl:message>DEBUG t2=<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'.','X')"/></xsl:message> -->
|
2664
2850
|
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'.','X')"/>
|
2851
|
+
|
2852
|
+
<!-- if all capitals english letters or digits -->
|
2853
|
+
<xsl:if test="normalize-space(translate(., concat($upper,'0123456789'), '')) = ''">
|
2854
|
+
<xsl:call-template name="repeat">
|
2855
|
+
<xsl:with-param name="char" select="'X'"/>
|
2856
|
+
<xsl:with-param name="count" select="string-length(normalize-space(.)) * 0.5"/>
|
2857
|
+
</xsl:call-template>
|
2858
|
+
</xsl:if>
|
2665
2859
|
</xsl:template><xsl:template match="text()" mode="td_text">
|
2666
2860
|
<xsl:value-of select="translate(., $zero_width_space, ' ')"/><xsl:text> </xsl:text>
|
2667
2861
|
</xsl:template><xsl:template match="*[local-name()='termsource']" mode="td_text">
|
2668
2862
|
<xsl:value-of select="*[local-name()='origin']/@citeas"/>
|
2669
2863
|
</xsl:template><xsl:template match="*[local-name()='link']" mode="td_text">
|
2670
2864
|
<xsl:value-of select="@target"/>
|
2671
|
-
</xsl:template><xsl:template match="*[local-name()='math']" mode="td_text">
|
2672
|
-
<xsl:
|
2673
|
-
<xsl:
|
2674
|
-
<xsl:
|
2675
|
-
<xsl:
|
2676
|
-
|
2865
|
+
</xsl:template><xsl:template match="*[local-name()='math']" mode="td_text" name="math_length">
|
2866
|
+
<xsl:if test="$isGenerateTableIF = 'false'">
|
2867
|
+
<xsl:variable name="mathml_">
|
2868
|
+
<xsl:for-each select="*">
|
2869
|
+
<xsl:if test="local-name() != 'unit' and local-name() != 'prefix' and local-name() != 'dimension' and local-name() != 'quantity'">
|
2870
|
+
<xsl:copy-of select="."/>
|
2871
|
+
</xsl:if>
|
2872
|
+
</xsl:for-each>
|
2873
|
+
</xsl:variable>
|
2874
|
+
<xsl:variable name="mathml" select="xalan:nodeset($mathml_)"/>
|
2875
|
+
|
2876
|
+
<xsl:variable name="math_text">
|
2877
|
+
<xsl:value-of select="normalize-space($mathml)"/>
|
2878
|
+
<xsl:for-each select="$mathml//@open"><xsl:value-of select="."/></xsl:for-each>
|
2879
|
+
<xsl:for-each select="$mathml//@close"><xsl:value-of select="."/></xsl:for-each>
|
2880
|
+
</xsl:variable>
|
2881
|
+
<xsl:value-of select="translate($math_text, ' ', '#')"/><!-- mathml images as one 'word' without spaces -->
|
2882
|
+
</xsl:if>
|
2883
|
+
</xsl:template><xsl:template name="calculate-column-widths-autolayout-algorithm">
|
2884
|
+
<xsl:param name="parent_table_page-width"/> <!-- for nested tables, in re-calculate step -->
|
2885
|
+
|
2886
|
+
<!-- via intermediate format -->
|
2887
|
+
|
2888
|
+
<!-- The algorithm uses two passes through the table data and scales linearly with the size of the table -->
|
2889
|
+
|
2890
|
+
<!-- In the first pass, line wrapping is disabled, and the user agent keeps track of the minimum and maximum width of each cell. -->
|
2891
|
+
|
2892
|
+
<!-- Since line wrap has been disabled, paragraphs are treated as long lines unless broken by BR elements. -->
|
2893
|
+
|
2894
|
+
<!-- get current table id -->
|
2895
|
+
<xsl:variable name="table_id" select="@id"/>
|
2896
|
+
<!-- find table by id in the file 'table_widths' -->
|
2897
|
+
<!-- <xsl:variable name="table-if_" select="$table_widths_from_if//table[@id = $table_id]"/>
|
2898
|
+
<xsl:variable name="table-if" select="xalan:nodeset($table-if_)"/> -->
|
2899
|
+
|
2900
|
+
<!-- table='<xsl:copy-of select="$table"/>' -->
|
2901
|
+
<!-- table_id='<xsl:value-of select="$table_id"/>\ -->
|
2902
|
+
<!-- table-if='<xsl:copy-of select="$table-if"/>' -->
|
2903
|
+
<!-- table_widths_from_if='<xsl:copy-of select="$table_widths_from_if"/>' -->
|
2904
|
+
|
2905
|
+
<xsl:variable name="table_with_cell_widths_">
|
2906
|
+
<xsl:apply-templates select="." mode="determine_cell_widths-if"/> <!-- read column's width from IF -->
|
2907
|
+
</xsl:variable>
|
2908
|
+
<xsl:variable name="table_with_cell_widths" select="xalan:nodeset($table_with_cell_widths_)"/>
|
2909
|
+
|
2910
|
+
<!-- <xsl:if test="$table_if_debug = 'true'">
|
2911
|
+
<xsl:copy-of select="$table_with_cell_widths"/>
|
2912
|
+
</xsl:if> -->
|
2913
|
+
|
2914
|
+
|
2915
|
+
<!-- The minimum and maximum cell widths are then used to determine the corresponding minimum and maximum widths for the columns. -->
|
2916
|
+
|
2917
|
+
<xsl:variable name="column_widths_">
|
2918
|
+
<!-- iteration of columns -->
|
2919
|
+
<xsl:for-each select="$table_with_cell_widths//tr[1]/td">
|
2920
|
+
<xsl:variable name="pos" select="position()"/>
|
2921
|
+
<column>
|
2922
|
+
<xsl:attribute name="width_max">
|
2923
|
+
<xsl:for-each select="ancestor::tbody//tr/td[$pos]/@width_max">
|
2924
|
+
<xsl:sort select="." data-type="number" order="descending"/>
|
2925
|
+
<xsl:if test="position() = 1"><xsl:value-of select="."/></xsl:if>
|
2926
|
+
</xsl:for-each>
|
2927
|
+
</xsl:attribute>
|
2928
|
+
<xsl:attribute name="width_min">
|
2929
|
+
<xsl:for-each select="ancestor::tbody//tr/td[$pos]/@width_min">
|
2930
|
+
<xsl:sort select="." data-type="number" order="descending"/>
|
2931
|
+
<xsl:if test="position() = 1"><xsl:value-of select="."/></xsl:if>
|
2932
|
+
</xsl:for-each>
|
2933
|
+
</xsl:attribute>
|
2934
|
+
</column>
|
2677
2935
|
</xsl:for-each>
|
2678
2936
|
</xsl:variable>
|
2937
|
+
<xsl:variable name="column_widths" select="xalan:nodeset($column_widths_)"/>
|
2938
|
+
|
2939
|
+
<!-- <column_widths>
|
2940
|
+
<xsl:copy-of select="$column_widths"/>
|
2941
|
+
</column_widths> -->
|
2942
|
+
|
2943
|
+
<!-- These in turn, are used to find the minimum and maximum width for the table. -->
|
2944
|
+
<xsl:variable name="table_widths_">
|
2945
|
+
<table>
|
2946
|
+
<xsl:attribute name="width_max">
|
2947
|
+
<xsl:value-of select="sum($column_widths/column/@width_max)"/>
|
2948
|
+
</xsl:attribute>
|
2949
|
+
<xsl:attribute name="width_min">
|
2950
|
+
<xsl:value-of select="sum($column_widths/column/@width_min)"/>
|
2951
|
+
</xsl:attribute>
|
2952
|
+
</table>
|
2953
|
+
</xsl:variable>
|
2954
|
+
<xsl:variable name="table_widths" select="xalan:nodeset($table_widths_)"/>
|
2955
|
+
|
2956
|
+
<xsl:variable name="page_width">
|
2957
|
+
<xsl:choose>
|
2958
|
+
<xsl:when test="$parent_table_page-width != ''">
|
2959
|
+
<xsl:value-of select="$parent_table_page-width"/>
|
2960
|
+
</xsl:when>
|
2961
|
+
<xsl:otherwise>
|
2962
|
+
<xsl:value-of select="@page-width"/>
|
2963
|
+
</xsl:otherwise>
|
2964
|
+
</xsl:choose>
|
2965
|
+
</xsl:variable>
|
2966
|
+
|
2967
|
+
<xsl:if test="$table_if_debug = 'true'">
|
2968
|
+
<table_width>
|
2969
|
+
<xsl:copy-of select="$table_widths"/>
|
2970
|
+
</table_width>
|
2971
|
+
<debug>$page_width=<xsl:value-of select="$page_width"/></debug>
|
2972
|
+
</xsl:if>
|
2973
|
+
|
2679
2974
|
|
2680
|
-
|
2681
|
-
<xsl:
|
2975
|
+
<!-- There are three cases: -->
|
2976
|
+
<xsl:choose>
|
2977
|
+
<!-- 1. The minimum table width is equal to or wider than the available space -->
|
2978
|
+
<xsl:when test="$table_widths/table/@width_min >= $page_width and 1 = 2"> <!-- this condition isn't working see case 3 below -->
|
2979
|
+
<!-- call old algorithm -->
|
2980
|
+
<case1/>
|
2981
|
+
<!-- <xsl:variable name="cols-count" select="count(xalan:nodeset($table)/*/tr[1]/td)"/>
|
2982
|
+
<xsl:call-template name="calculate-column-widths-proportional">
|
2983
|
+
<xsl:with-param name="cols-count" select="$cols-count"/>
|
2984
|
+
<xsl:with-param name="table" select="$table"/>
|
2985
|
+
</xsl:call-template> -->
|
2986
|
+
</xsl:when>
|
2987
|
+
<!-- 2. The maximum table width fits within the available space. In this case, set the columns to their maximum widths. -->
|
2988
|
+
<xsl:when test="$table_widths/table/@width_max <= $page_width">
|
2989
|
+
<case2/>
|
2990
|
+
<autolayout/>
|
2991
|
+
<xsl:for-each select="$column_widths/column/@width_max">
|
2992
|
+
<column divider="100"><xsl:value-of select="."/></column>
|
2993
|
+
</xsl:for-each>
|
2994
|
+
</xsl:when>
|
2995
|
+
<!-- 3. The maximum width of the table is greater than the available space, but the minimum table width is smaller.
|
2996
|
+
In this case, find the difference between the available space and the minimum table width, lets call it W.
|
2997
|
+
Lets also call D the difference between maximum and minimum width of the table.
|
2998
|
+
For each column, let d be the difference between maximum and minimum width of that column.
|
2999
|
+
Now set the column's width to the minimum width plus d times W over D.
|
3000
|
+
This makes columns with large differences between minimum and maximum widths wider than columns with smaller differences. -->
|
3001
|
+
<xsl:when test="($table_widths/table/@width_max > $page_width and $table_widths/table/@width_min < $page_width) or ($table_widths/table/@width_min >= $page_width)">
|
3002
|
+
<!-- difference between the available space and the minimum table width -->
|
3003
|
+
<xsl:variable name="W" select="$page_width - $table_widths/table/@width_min"/>
|
3004
|
+
<W><xsl:value-of select="$W"/></W>
|
3005
|
+
<!-- difference between maximum and minimum width of the table -->
|
3006
|
+
<xsl:variable name="D" select="$table_widths/table/@width_max - $table_widths/table/@width_min"/>
|
3007
|
+
<D><xsl:value-of select="$D"/></D>
|
3008
|
+
<case3/>
|
3009
|
+
<autolayout/>
|
3010
|
+
<xsl:if test="$table_widths/table/@width_min >= $page_width">
|
3011
|
+
<split_keep-within-line>true</split_keep-within-line>
|
3012
|
+
</xsl:if>
|
3013
|
+
<xsl:for-each select="$column_widths/column">
|
3014
|
+
<!-- difference between maximum and minimum width of that column. -->
|
3015
|
+
<xsl:variable name="d" select="@width_max - @width_min"/>
|
3016
|
+
<d><xsl:value-of select="$d"/></d>
|
3017
|
+
<width_min><xsl:value-of select="@width_min"/></width_min>
|
3018
|
+
<e><xsl:value-of select="$d * $W div $D"/></e>
|
3019
|
+
<!-- set the column's width to the minimum width plus d times W over D. -->
|
3020
|
+
<column divider="100">
|
3021
|
+
<xsl:value-of select="round(@width_min + $d * $W div $D)"/> <!-- * 10 -->
|
3022
|
+
</column>
|
3023
|
+
</xsl:for-each>
|
3024
|
+
|
3025
|
+
</xsl:when>
|
3026
|
+
<xsl:otherwise><unknown_case/></xsl:otherwise>
|
3027
|
+
</xsl:choose>
|
3028
|
+
|
3029
|
+
</xsl:template><xsl:template name="get-calculated-column-widths-autolayout-algorithm">
|
3030
|
+
|
3031
|
+
<!-- if nested 'dl' or 'table' -->
|
3032
|
+
<xsl:variable name="parent_table_id" select="normalize-space(ancestor::*[local-name() = 'table' or local-name() = 'dl'][1]/@id)"/>
|
3033
|
+
<parent_table_id><xsl:value-of select="$parent_table_id"/></parent_table_id>
|
3034
|
+
|
3035
|
+
<parent_element><xsl:value-of select="local-name(..)"/></parent_element>
|
3036
|
+
|
3037
|
+
<xsl:variable name="parent_table_page-width_">
|
3038
|
+
<xsl:if test="$parent_table_id != ''">
|
3039
|
+
<!-- determine column number in the parent table -->
|
3040
|
+
<xsl:variable name="parent_table_column_number">
|
3041
|
+
<xsl:choose>
|
3042
|
+
<xsl:when test="parent::*[local-name() = 'dd']">2</xsl:when>
|
3043
|
+
<xsl:otherwise> <!-- parent is table -->
|
3044
|
+
<xsl:value-of select="count(ancestor::*[local-name() = 'td'][1]/preceding-sibling::*[local-name() = 'td']) + 1"/>
|
3045
|
+
</xsl:otherwise>
|
3046
|
+
</xsl:choose>
|
3047
|
+
</xsl:variable>
|
3048
|
+
<!-- find table by id in the file 'table_widths' and get all Nth `<column>...</column> -->
|
3049
|
+
<xsl:value-of select="$table_widths_from_if_calculated//table[@id = $parent_table_id]/column[number($parent_table_column_number)]"/>
|
3050
|
+
</xsl:if>
|
3051
|
+
</xsl:variable>
|
3052
|
+
<xsl:variable name="parent_table_page-width" select="normalize-space($parent_table_page-width_)"/>
|
3053
|
+
|
3054
|
+
<!-- get current table id -->
|
3055
|
+
<xsl:variable name="table_id" select="@id"/>
|
3056
|
+
|
3057
|
+
<xsl:choose>
|
3058
|
+
<xsl:when test="$parent_table_id = '' or $parent_table_page-width = ''">
|
3059
|
+
<!-- find table by id in the file 'table_widths' and get all `<column>...</column> -->
|
3060
|
+
<xsl:copy-of select="$table_widths_from_if_calculated//table[@id = $table_id]/node()"/>
|
3061
|
+
</xsl:when>
|
3062
|
+
<xsl:otherwise>
|
3063
|
+
<!-- recalculate columns width based on parent table width -->
|
3064
|
+
<xsl:for-each select="$table_widths_from_if//table[@id = $table_id]">
|
3065
|
+
<xsl:call-template name="calculate-column-widths-autolayout-algorithm">
|
3066
|
+
<xsl:with-param name="parent_table_page-width" select="$parent_table_page-width"/> <!-- padding-left = 2mm = 50000-->
|
3067
|
+
</xsl:call-template>
|
3068
|
+
</xsl:for-each>
|
3069
|
+
</xsl:otherwise>
|
3070
|
+
</xsl:choose>
|
3071
|
+
|
3072
|
+
</xsl:template><xsl:template match="@*|node()" mode="determine_cell_widths-if">
|
3073
|
+
<xsl:copy>
|
3074
|
+
<xsl:apply-templates select="@*|node()" mode="determine_cell_widths-if"/>
|
3075
|
+
</xsl:copy>
|
3076
|
+
</xsl:template><xsl:template match="td | th" mode="determine_cell_widths-if">
|
3077
|
+
<xsl:copy>
|
3078
|
+
<xsl:copy-of select="@*"/>
|
3079
|
+
|
3080
|
+
<!-- The maximum width is given by the widest line. -->
|
3081
|
+
<xsl:attribute name="width_max">
|
3082
|
+
<xsl:for-each select="p_len">
|
3083
|
+
<xsl:sort select="." data-type="number" order="descending"/>
|
3084
|
+
<xsl:if test="position() = 1"><xsl:value-of select="."/></xsl:if>
|
3085
|
+
</xsl:for-each>
|
3086
|
+
</xsl:attribute>
|
3087
|
+
|
3088
|
+
<!-- The minimum width is given by the widest text element (word, image, etc.) -->
|
3089
|
+
<xsl:variable name="width_min">
|
3090
|
+
<xsl:for-each select="word_len">
|
3091
|
+
<xsl:sort select="." data-type="number" order="descending"/>
|
3092
|
+
<xsl:if test="position() = 1"><xsl:value-of select="."/></xsl:if>
|
3093
|
+
</xsl:for-each>
|
3094
|
+
</xsl:variable>
|
3095
|
+
<xsl:attribute name="width_min">
|
3096
|
+
<xsl:value-of select="$width_min"/>
|
3097
|
+
</xsl:attribute>
|
3098
|
+
|
3099
|
+
<xsl:if test="$width_min = 0">
|
3100
|
+
<xsl:attribute name="width_min">1</xsl:attribute>
|
3101
|
+
</xsl:if>
|
3102
|
+
|
3103
|
+
<xsl:apply-templates select="node()" mode="determine_cell_widths-if"/>
|
3104
|
+
|
3105
|
+
</xsl:copy>
|
2682
3106
|
</xsl:template><xsl:template match="*[local-name()='thead']">
|
2683
3107
|
<xsl:param name="cols-count"/>
|
2684
3108
|
<fo:table-header>
|
@@ -2692,12 +3116,18 @@
|
|
2692
3116
|
<fo:table-row>
|
2693
3117
|
<fo:table-cell number-columns-spanned="{$cols-count}" border-left="1.5pt solid white" border-right="1.5pt solid white" border-top="1.5pt solid white" border-bottom="1.5pt solid black">
|
2694
3118
|
|
2695
|
-
<xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']">
|
2696
|
-
<xsl:with-param name="continued">true</xsl:with-param>
|
2697
|
-
</xsl:apply-templates>
|
2698
3119
|
|
2699
3120
|
|
2700
3121
|
|
3122
|
+
<xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']">
|
3123
|
+
<xsl:with-param name="continued">true</xsl:with-param>
|
3124
|
+
</xsl:apply-templates>
|
3125
|
+
|
3126
|
+
|
3127
|
+
|
3128
|
+
|
3129
|
+
|
3130
|
+
|
2701
3131
|
</fo:table-cell>
|
2702
3132
|
</fo:table-row>
|
2703
3133
|
</xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
|
@@ -2763,6 +3193,7 @@
|
|
2763
3193
|
</xsl:for-each>
|
2764
3194
|
</xsl:when>
|
2765
3195
|
<xsl:otherwise>
|
3196
|
+
<!-- $colwidths=<xsl:copy-of select="$colwidths"/> -->
|
2766
3197
|
<xsl:call-template name="insertTableColumnWidth">
|
2767
3198
|
<xsl:with-param name="colwidths" select="$colwidths"/>
|
2768
3199
|
</xsl:call-template>
|
@@ -2797,7 +3228,10 @@
|
|
2797
3228
|
|
2798
3229
|
|
2799
3230
|
<!-- fn processing -->
|
2800
|
-
|
3231
|
+
|
3232
|
+
<xsl:call-template name="table_fn_display"/>
|
3233
|
+
|
3234
|
+
|
2801
3235
|
|
2802
3236
|
<!-- for PAS display Notes after footnotes -->
|
2803
3237
|
|
@@ -2807,6 +3241,9 @@
|
|
2807
3241
|
</fo:table-body>
|
2808
3242
|
|
2809
3243
|
</fo:table>
|
3244
|
+
|
3245
|
+
|
3246
|
+
|
2810
3247
|
</xsl:if>
|
2811
3248
|
</xsl:template><xsl:template match="*[local-name()='tbody']">
|
2812
3249
|
|
@@ -2842,6 +3279,52 @@
|
|
2842
3279
|
|
2843
3280
|
</fo:table-body>
|
2844
3281
|
|
3282
|
+
</xsl:template><xsl:template match="/" mode="process_table-if">
|
3283
|
+
<xsl:param name="table_or_dl">table</xsl:param>
|
3284
|
+
<xsl:apply-templates mode="process_table-if">
|
3285
|
+
<xsl:with-param name="table_or_dl" select="$table_or_dl"/>
|
3286
|
+
</xsl:apply-templates>
|
3287
|
+
</xsl:template><xsl:template match="*[local-name()='tbody']" mode="process_table-if">
|
3288
|
+
<xsl:param name="table_or_dl">table</xsl:param>
|
3289
|
+
|
3290
|
+
<fo:table-body>
|
3291
|
+
<xsl:for-each select="*[local-name() = 'tr']">
|
3292
|
+
<xsl:variable name="col_count" select="count(*)"/>
|
3293
|
+
|
3294
|
+
<!-- iteration for each tr/td -->
|
3295
|
+
|
3296
|
+
<xsl:choose>
|
3297
|
+
<xsl:when test="$table_or_dl = 'table'">
|
3298
|
+
<xsl:for-each select="*[local-name() = 'td' or local-name() = 'th']/*">
|
3299
|
+
<fo:table-row number-columns-spanned="{$col_count}">
|
3300
|
+
<!-- <test_table><xsl:copy-of select="."/></test_table> -->
|
3301
|
+
<xsl:call-template name="td"/>
|
3302
|
+
</fo:table-row>
|
3303
|
+
</xsl:for-each>
|
3304
|
+
</xsl:when>
|
3305
|
+
<xsl:otherwise> <!-- $table_or_dl = 'dl' -->
|
3306
|
+
<xsl:for-each select="*[local-name() = 'td' or local-name() = 'th']">
|
3307
|
+
<xsl:variable name="is_dt" select="position() = 1"/>
|
3308
|
+
|
3309
|
+
<xsl:for-each select="*">
|
3310
|
+
<!-- <test><xsl:copy-of select="."/></test> -->
|
3311
|
+
<fo:table-row number-columns-spanned="{$col_count}">
|
3312
|
+
<xsl:choose>
|
3313
|
+
<xsl:when test="$is_dt">
|
3314
|
+
<xsl:call-template name="insert_dt_cell"/>
|
3315
|
+
</xsl:when>
|
3316
|
+
<xsl:otherwise>
|
3317
|
+
<xsl:call-template name="insert_dd_cell"/>
|
3318
|
+
</xsl:otherwise>
|
3319
|
+
</xsl:choose>
|
3320
|
+
</fo:table-row>
|
3321
|
+
</xsl:for-each>
|
3322
|
+
</xsl:for-each>
|
3323
|
+
</xsl:otherwise>
|
3324
|
+
</xsl:choose>
|
3325
|
+
|
3326
|
+
</xsl:for-each>
|
3327
|
+
</fo:table-body>
|
2845
3328
|
</xsl:template><xsl:template match="*[local-name()='thead']/*[local-name()='tr']" priority="2">
|
2846
3329
|
<fo:table-row xsl:use-attribute-sets="table-header-row-style">
|
2847
3330
|
|
@@ -2849,6 +3332,9 @@
|
|
2849
3332
|
|
2850
3333
|
|
2851
3334
|
|
3335
|
+
|
3336
|
+
|
3337
|
+
|
2852
3338
|
|
2853
3339
|
|
2854
3340
|
<xsl:call-template name="setTableRowAttributes"/>
|
@@ -2868,6 +3354,8 @@
|
|
2868
3354
|
|
2869
3355
|
|
2870
3356
|
|
3357
|
+
|
3358
|
+
|
2871
3359
|
<xsl:call-template name="setTableRowAttributes"/>
|
2872
3360
|
<xsl:apply-templates/>
|
2873
3361
|
</fo:table-row>
|
@@ -2932,7 +3420,7 @@
|
|
2932
3420
|
</xsl:choose>
|
2933
3421
|
</xsl:attribute>
|
2934
3422
|
</xsl:if>
|
2935
|
-
</xsl:template><xsl:template match="*[local-name()='td']">
|
3423
|
+
</xsl:template><xsl:template match="*[local-name()='td']" name="td">
|
2936
3424
|
<fo:table-cell xsl:use-attribute-sets="table-cell-style"> <!-- text-align="{@align}" -->
|
2937
3425
|
<xsl:call-template name="setTextAlignment">
|
2938
3426
|
<xsl:with-param name="default">left</xsl:with-param>
|
@@ -2953,6 +3441,8 @@
|
|
2953
3441
|
|
2954
3442
|
|
2955
3443
|
|
3444
|
+
|
3445
|
+
|
2956
3446
|
|
2957
3447
|
|
2958
3448
|
|
@@ -2966,11 +3456,24 @@
|
|
2966
3456
|
|
2967
3457
|
<xsl:call-template name="setTableCellAttributes"/>
|
2968
3458
|
|
3459
|
+
<xsl:if test="$isGenerateTableIF = 'true'">
|
3460
|
+
<xsl:attribute name="border">1pt solid black</xsl:attribute> <!-- border is mandatory, to determine page width -->
|
3461
|
+
<xsl:attribute name="text-align">left</xsl:attribute>
|
3462
|
+
</xsl:if>
|
3463
|
+
|
2969
3464
|
<fo:block>
|
2970
3465
|
|
3466
|
+
<xsl:if test="$isGenerateTableIF = 'true'">
|
3467
|
+
<xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
|
3468
|
+
</xsl:if>
|
3469
|
+
|
3470
|
+
|
2971
3471
|
|
2972
3472
|
|
2973
3473
|
<xsl:apply-templates/>
|
3474
|
+
|
3475
|
+
<xsl:if test="$isGenerateTableIF = 'true'"><fo:inline id="{@id}_end">end</fo:inline></xsl:if> <!-- to determine width of text --> <!-- <xsl:value-of select="$hair_space"/> -->
|
3476
|
+
|
2974
3477
|
</fo:block>
|
2975
3478
|
</fo:table-cell>
|
2976
3479
|
</xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']" priority="2">
|
@@ -3015,7 +3518,11 @@
|
|
3015
3518
|
|
3016
3519
|
<xsl:variable name="gen_id" select="generate-id(.)"/>
|
3017
3520
|
<xsl:variable name="lang" select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibdata']//*[local-name()='language'][@current = 'true']"/>
|
3018
|
-
<xsl:variable name="
|
3521
|
+
<xsl:variable name="reference_">
|
3522
|
+
<xsl:value-of select="@reference"/>
|
3523
|
+
<xsl:if test="normalize-space(@reference) = ''"><xsl:value-of select="$gen_id"/></xsl:if>
|
3524
|
+
</xsl:variable>
|
3525
|
+
<xsl:variable name="reference" select="normalize-space($reference_)"/>
|
3019
3526
|
<!-- fn sequence number in document -->
|
3020
3527
|
<xsl:variable name="current_fn_number">
|
3021
3528
|
<xsl:choose>
|
@@ -3090,7 +3597,7 @@
|
|
3090
3597
|
<xsl:copy-of select="node()"/>
|
3091
3598
|
</fn>
|
3092
3599
|
</xsl:for-each>
|
3093
|
-
<xsl:for-each select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='preface']/* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='sections']/* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='annex'] | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibliography']/*">
|
3600
|
+
<xsl:for-each select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='boilerplate']/* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='preface']/* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='sections']/* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='annex'] | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibliography']/*">
|
3094
3601
|
<xsl:sort select="@displayorder" data-type="number"/>
|
3095
3602
|
<xsl:for-each select=".//*[local-name() = 'bibitem'][ancestor::*[local-name() = 'references']]/*[local-name() = 'note'] | .//*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure') and not(ancestor::*[local-name() = 'name'])])][generate-id(.)=generate-id(key('kfn',@reference)[1])]">
|
3096
3603
|
<!-- copy unique fn -->
|
@@ -3171,9 +3678,9 @@
|
|
3171
3678
|
<!-- current hierarchy is 'figure' element -->
|
3172
3679
|
<xsl:variable name="following_dl_colwidths">
|
3173
3680
|
<xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
|
3174
|
-
<xsl:variable name="
|
3175
|
-
<xsl:variable name="doc_ns">
|
3176
|
-
|
3681
|
+
<xsl:variable name="simple-table">
|
3682
|
+
<!-- <xsl:variable name="doc_ns">
|
3683
|
+
<xsl:if test="$namespace = 'bipm'">bipm</xsl:if>
|
3177
3684
|
</xsl:variable>
|
3178
3685
|
<xsl:variable name="ns">
|
3179
3686
|
<xsl:choose>
|
@@ -3184,7 +3691,7 @@
|
|
3184
3691
|
<xsl:value-of select="substring-before(name(/*), '-')"/>
|
3185
3692
|
</xsl:otherwise>
|
3186
3693
|
</xsl:choose>
|
3187
|
-
</xsl:variable>
|
3694
|
+
</xsl:variable> -->
|
3188
3695
|
|
3189
3696
|
<xsl:for-each select="*[local-name() = 'dl'][1]">
|
3190
3697
|
<tbody>
|
@@ -3195,7 +3702,7 @@
|
|
3195
3702
|
|
3196
3703
|
<xsl:call-template name="calculate-column-widths">
|
3197
3704
|
<xsl:with-param name="cols-count" select="2"/>
|
3198
|
-
<xsl:with-param name="table" select="$
|
3705
|
+
<xsl:with-param name="table" select="$simple-table"/>
|
3199
3706
|
</xsl:call-template>
|
3200
3707
|
|
3201
3708
|
</xsl:if>
|
@@ -3370,12 +3877,31 @@
|
|
3370
3877
|
|
3371
3878
|
|
3372
3879
|
|
3880
|
+
|
3881
|
+
<xsl:if test="ancestor::*[local-name() = 'dd' or local-name() = 'td']">
|
3882
|
+
<xsl:attribute name="margin-top">0</xsl:attribute>
|
3883
|
+
</xsl:if>
|
3884
|
+
|
3373
3885
|
<fo:block>
|
3374
3886
|
|
3375
3887
|
|
3376
3888
|
|
3377
3889
|
|
3890
|
+
<xsl:apply-templates select="*[local-name() = 'name']">
|
3891
|
+
<xsl:with-param name="process">true</xsl:with-param>
|
3892
|
+
</xsl:apply-templates>
|
3893
|
+
|
3894
|
+
<xsl:if test="$isGenerateTableIF = 'true'">
|
3895
|
+
<!-- to determine start of table -->
|
3896
|
+
<fo:block id="{concat('table_if_start_',@id)}" keep-with-next="always" font-size="1pt">Start table '<xsl:value-of select="@id"/>'.</fo:block>
|
3897
|
+
</xsl:if>
|
3898
|
+
|
3378
3899
|
<fo:table width="95%" table-layout="fixed">
|
3900
|
+
|
3901
|
+
<xsl:if test="$isGenerateTableIF = 'true'">
|
3902
|
+
<xsl:attribute name="wrap-option">no-wrap</xsl:attribute>
|
3903
|
+
</xsl:if>
|
3904
|
+
|
3379
3905
|
|
3380
3906
|
<xsl:choose>
|
3381
3907
|
<xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'"/>
|
@@ -3384,69 +3910,173 @@
|
|
3384
3910
|
|
3385
3911
|
</xsl:when>
|
3386
3912
|
</xsl:choose>
|
3387
|
-
|
3388
|
-
|
3389
|
-
|
3913
|
+
|
3914
|
+
|
3915
|
+
|
3916
|
+
<xsl:choose>
|
3917
|
+
<xsl:when test="$isGenerateTableIF = 'true'">
|
3918
|
+
<!-- generate IF for table widths -->
|
3919
|
+
<!-- example:
|
3920
|
+
<tr>
|
3921
|
+
<td valign="top" align="left" id="tab-symdu_1_1">
|
3922
|
+
<p>Symbol</p>
|
3923
|
+
<word id="tab-symdu_1_1_word_1">Symbol</word>
|
3924
|
+
</td>
|
3925
|
+
<td valign="top" align="left" id="tab-symdu_1_2">
|
3926
|
+
<p>Description</p>
|
3927
|
+
<word id="tab-symdu_1_2_word_1">Description</word>
|
3928
|
+
</td>
|
3929
|
+
</tr>
|
3930
|
+
-->
|
3390
3931
|
|
3391
|
-
|
3392
|
-
|
3393
|
-
|
3394
|
-
<xsl:
|
3395
|
-
<
|
3396
|
-
|
3397
|
-
|
3398
|
-
|
3399
|
-
|
3400
|
-
|
3401
|
-
|
3402
|
-
|
3403
|
-
|
3404
|
-
|
3405
|
-
|
3406
|
-
|
3407
|
-
|
3408
|
-
|
3409
|
-
|
3410
|
-
|
3411
|
-
|
3412
|
-
|
3413
|
-
|
3414
|
-
|
3415
|
-
|
3416
|
-
|
3417
|
-
|
3418
|
-
|
3419
|
-
|
3420
|
-
|
3421
|
-
|
3422
|
-
|
3423
|
-
|
3424
|
-
|
3425
|
-
|
3426
|
-
|
3932
|
+
<!-- create virtual html table for dl/[dt and dd] -->
|
3933
|
+
<xsl:variable name="simple-table">
|
3934
|
+
|
3935
|
+
<xsl:variable name="dl_table">
|
3936
|
+
<tbody>
|
3937
|
+
<xsl:apply-templates mode="dl_if">
|
3938
|
+
<xsl:with-param name="id" select="@id"/>
|
3939
|
+
</xsl:apply-templates>
|
3940
|
+
</tbody>
|
3941
|
+
</xsl:variable>
|
3942
|
+
|
3943
|
+
<!-- dl_table='<xsl:copy-of select="$dl_table"/>' -->
|
3944
|
+
|
3945
|
+
<!-- Step: replace <br/> to <p>...</p> -->
|
3946
|
+
<xsl:variable name="table_without_br">
|
3947
|
+
<xsl:apply-templates select="xalan:nodeset($dl_table)" mode="table-without-br"/>
|
3948
|
+
</xsl:variable>
|
3949
|
+
|
3950
|
+
<!-- table_without_br='<xsl:copy-of select="$table_without_br"/>' -->
|
3951
|
+
|
3952
|
+
<!-- Step: add id to each cell -->
|
3953
|
+
<!-- add <word>...</word> for each word, image, math -->
|
3954
|
+
<xsl:variable name="simple-table-id">
|
3955
|
+
<xsl:apply-templates select="xalan:nodeset($table_without_br)" mode="simple-table-id">
|
3956
|
+
<xsl:with-param name="id" select="@id"/>
|
3957
|
+
</xsl:apply-templates>
|
3958
|
+
</xsl:variable>
|
3959
|
+
|
3960
|
+
<!-- simple-table-id='<xsl:copy-of select="$simple-table-id"/>' -->
|
3961
|
+
|
3962
|
+
<xsl:copy-of select="xalan:nodeset($simple-table-id)"/>
|
3963
|
+
|
3964
|
+
</xsl:variable>
|
3965
|
+
|
3966
|
+
<!-- DEBUG: simple-table<xsl:copy-of select="$simple-table"/> -->
|
3967
|
+
|
3968
|
+
<xsl:apply-templates select="xalan:nodeset($simple-table)" mode="process_table-if">
|
3969
|
+
<xsl:with-param name="table_or_dl">dl</xsl:with-param>
|
3970
|
+
</xsl:apply-templates>
|
3971
|
+
|
3972
|
+
</xsl:when>
|
3973
|
+
<xsl:otherwise>
|
3427
3974
|
|
3428
|
-
|
3429
|
-
|
3430
|
-
|
3431
|
-
|
3432
|
-
|
3975
|
+
<xsl:variable name="simple-table">
|
3976
|
+
|
3977
|
+
<xsl:variable name="dl_table">
|
3978
|
+
<tbody>
|
3979
|
+
<xsl:apply-templates mode="dl">
|
3980
|
+
<xsl:with-param name="id" select="@id"/>
|
3981
|
+
</xsl:apply-templates>
|
3982
|
+
</tbody>
|
3983
|
+
</xsl:variable>
|
3984
|
+
|
3985
|
+
<xsl:copy-of select="$dl_table"/>
|
3986
|
+
</xsl:variable>
|
3987
|
+
|
3988
|
+
<xsl:variable name="colwidths">
|
3989
|
+
<xsl:call-template name="calculate-column-widths">
|
3990
|
+
<xsl:with-param name="cols-count" select="2"/>
|
3991
|
+
<xsl:with-param name="table" select="$simple-table"/>
|
3992
|
+
</xsl:call-template>
|
3993
|
+
</xsl:variable>
|
3994
|
+
|
3995
|
+
<!-- <xsl:text disable-output-escaping="yes"><!- -</xsl:text>
|
3996
|
+
DEBUG
|
3997
|
+
colwidths=<xsl:copy-of select="$colwidths"/>
|
3998
|
+
<xsl:text disable-output-escaping="yes">- -></xsl:text> -->
|
3999
|
+
|
4000
|
+
<!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
|
4001
|
+
|
4002
|
+
<xsl:variable name="maxlength_dt">
|
4003
|
+
<xsl:call-template name="getMaxLength_dt"/>
|
4004
|
+
</xsl:variable>
|
4005
|
+
|
4006
|
+
<xsl:variable name="isContainsKeepTogetherTag_">
|
4007
|
+
false
|
4008
|
+
</xsl:variable>
|
4009
|
+
<xsl:variable name="isContainsKeepTogetherTag" select="normalize-space($isContainsKeepTogetherTag_)"/>
|
4010
|
+
<!-- isContainsExpressReference=<xsl:value-of select="$isContainsExpressReference"/> -->
|
4011
|
+
|
4012
|
+
|
4013
|
+
<xsl:call-template name="setColumnWidth_dl">
|
4014
|
+
<xsl:with-param name="colwidths" select="$colwidths"/>
|
4015
|
+
<xsl:with-param name="maxlength_dt" select="$maxlength_dt"/>
|
4016
|
+
<xsl:with-param name="isContainsKeepTogetherTag" select="$isContainsKeepTogetherTag"/>
|
4017
|
+
</xsl:call-template>
|
4018
|
+
|
4019
|
+
<fo:table-body>
|
4020
|
+
|
4021
|
+
<!-- DEBUG -->
|
4022
|
+
<xsl:if test="$table_if_debug = 'true'">
|
4023
|
+
<fo:table-row>
|
4024
|
+
<fo:table-cell number-columns-spanned="2" font-size="60%">
|
4025
|
+
<xsl:apply-templates select="xalan:nodeset($colwidths)" mode="print_as_xml"/>
|
4026
|
+
</fo:table-cell>
|
4027
|
+
</fo:table-row>
|
4028
|
+
</xsl:if>
|
4029
|
+
|
4030
|
+
<xsl:apply-templates>
|
4031
|
+
<xsl:with-param name="key_iso" select="normalize-space($key_iso)"/>
|
4032
|
+
<xsl:with-param name="split_keep-within-line" select="xalan:nodeset($colwidths)/split_keep-within-line"/>
|
4033
|
+
</xsl:apply-templates>
|
4034
|
+
|
4035
|
+
</fo:table-body>
|
4036
|
+
</xsl:otherwise>
|
4037
|
+
</xsl:choose>
|
3433
4038
|
</fo:table>
|
3434
4039
|
</fo:block>
|
3435
4040
|
</fo:block>
|
3436
4041
|
</xsl:if> <!-- END: a few components -->
|
3437
4042
|
</fo:block-container>
|
3438
4043
|
</fo:block-container>
|
4044
|
+
|
4045
|
+
<xsl:if test="$isGenerateTableIF = 'true'"> <!-- process nested 'dl' -->
|
4046
|
+
<xsl:apply-templates select="*[local-name() = 'dd']/*[local-name() = 'dl']"/>
|
4047
|
+
</xsl:if>
|
4048
|
+
|
4049
|
+
</xsl:template><xsl:template match="*[local-name() = 'dl']/*[local-name() = 'name']">
|
4050
|
+
<xsl:param name="process">false</xsl:param>
|
4051
|
+
<xsl:if test="$process = 'true'">
|
4052
|
+
<fo:block xsl:use-attribute-sets="dl-name-style">
|
4053
|
+
<xsl:apply-templates/>
|
4054
|
+
</fo:block>
|
4055
|
+
</xsl:if>
|
3439
4056
|
</xsl:template><xsl:template name="setColumnWidth_dl">
|
3440
4057
|
<xsl:param name="colwidths"/>
|
3441
4058
|
<xsl:param name="maxlength_dt"/>
|
3442
4059
|
<xsl:param name="isContainsKeepTogetherTag"/>
|
4060
|
+
|
4061
|
+
<!-- <colwidths><xsl:copy-of select="$colwidths"/></colwidths> -->
|
4062
|
+
|
3443
4063
|
<xsl:choose>
|
4064
|
+
<xsl:when test="xalan:nodeset($colwidths)/autolayout">
|
4065
|
+
<xsl:call-template name="insertTableColumnWidth">
|
4066
|
+
<xsl:with-param name="colwidths" select="$colwidths"/>
|
4067
|
+
</xsl:call-template>
|
4068
|
+
</xsl:when>
|
3444
4069
|
<xsl:when test="ancestor::*[local-name()='dl']"><!-- second level, i.e. inlined table -->
|
3445
4070
|
<fo:table-column column-width="50%"/>
|
3446
4071
|
<fo:table-column column-width="50%"/>
|
3447
4072
|
</xsl:when>
|
3448
4073
|
<xsl:otherwise>
|
3449
4074
|
<xsl:choose>
|
4075
|
+
<xsl:when test="xalan:nodeset($colwidths)/autolayout">
|
4076
|
+
<xsl:call-template name="insertTableColumnWidth">
|
4077
|
+
<xsl:with-param name="colwidths" select="$colwidths"/>
|
4078
|
+
</xsl:call-template>
|
4079
|
+
</xsl:when>
|
3450
4080
|
<xsl:when test="$isContainsKeepTogetherTag">
|
3451
4081
|
<xsl:call-template name="insertTableColumnWidth">
|
3452
4082
|
<xsl:with-param name="colwidths" select="$colwidths"/>
|
@@ -3491,13 +4121,19 @@
|
|
3491
4121
|
</xsl:choose>
|
3492
4122
|
</xsl:template><xsl:template name="insertTableColumnWidth">
|
3493
4123
|
<xsl:param name="colwidths"/>
|
4124
|
+
|
3494
4125
|
<xsl:for-each select="xalan:nodeset($colwidths)//column">
|
3495
4126
|
<xsl:choose>
|
3496
4127
|
<xsl:when test=". = 1 or . = 0">
|
3497
4128
|
<fo:table-column column-width="proportional-column-width(2)"/>
|
3498
4129
|
</xsl:when>
|
3499
4130
|
<xsl:otherwise>
|
3500
|
-
<fo:table-column column-width="proportional-column-width({.})"/>
|
4131
|
+
<!-- <fo:table-column column-width="proportional-column-width({.})"/> -->
|
4132
|
+
<xsl:variable name="divider">
|
4133
|
+
<xsl:value-of select="@divider"/>
|
4134
|
+
<xsl:if test="not(@divider)">1</xsl:if>
|
4135
|
+
</xsl:variable>
|
4136
|
+
<fo:table-column column-width="proportional-column-width({round(. div $divider)})"/>
|
3501
4137
|
</xsl:otherwise>
|
3502
4138
|
</xsl:choose>
|
3503
4139
|
</xsl:for-each>
|
@@ -3559,65 +4195,157 @@
|
|
3559
4195
|
</fo:table-cell>
|
3560
4196
|
</fo:table-row>
|
3561
4197
|
</xsl:template><xsl:template match="*[local-name()='dt']" mode="dl">
|
4198
|
+
<xsl:param name="id"/>
|
4199
|
+
<xsl:variable name="row_number" select="count(preceding-sibling::*[local-name()='dt']) + 1"/>
|
3562
4200
|
<tr>
|
3563
4201
|
<td>
|
4202
|
+
<xsl:attribute name="id">
|
4203
|
+
<xsl:value-of select="concat($id,'_',$row_number,'_1')"/>
|
4204
|
+
</xsl:attribute>
|
3564
4205
|
<xsl:apply-templates/>
|
3565
4206
|
</td>
|
3566
4207
|
<td>
|
4208
|
+
<xsl:attribute name="id">
|
4209
|
+
<xsl:value-of select="concat($id,'_',$row_number,'_2')"/>
|
4210
|
+
</xsl:attribute>
|
4211
|
+
|
4212
|
+
<xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]">
|
4213
|
+
<xsl:with-param name="process">true</xsl:with-param>
|
4214
|
+
</xsl:apply-templates>
|
4215
|
+
|
4216
|
+
</td>
|
4217
|
+
</tr>
|
4218
|
+
|
4219
|
+
</xsl:template><xsl:template match="*[local-name()='dt']">
|
4220
|
+
<xsl:param name="key_iso"/>
|
4221
|
+
<xsl:param name="split_keep-within-line"/>
|
4222
|
+
|
4223
|
+
<fo:table-row xsl:use-attribute-sets="dt-row-style">
|
4224
|
+
<xsl:call-template name="insert_dt_cell">
|
4225
|
+
<xsl:with-param name="key_iso" select="$key_iso"/>
|
4226
|
+
<xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
|
4227
|
+
</xsl:call-template>
|
4228
|
+
<xsl:for-each select="following-sibling::*[local-name()='dd'][1]">
|
4229
|
+
<xsl:call-template name="insert_dd_cell">
|
4230
|
+
<xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
|
4231
|
+
</xsl:call-template>
|
4232
|
+
</xsl:for-each>
|
4233
|
+
</fo:table-row>
|
4234
|
+
</xsl:template><xsl:template name="insert_dt_cell">
|
4235
|
+
<xsl:param name="key_iso"/>
|
4236
|
+
<xsl:param name="split_keep-within-line"/>
|
4237
|
+
<fo:table-cell xsl:use-attribute-sets="dt-cell-style">
|
4238
|
+
|
4239
|
+
<xsl:if test="$isGenerateTableIF = 'true'">
|
4240
|
+
<!-- border is mandatory, to calculate real width -->
|
4241
|
+
<xsl:attribute name="border">0.1pt solid black</xsl:attribute>
|
4242
|
+
<xsl:attribute name="text-align">left</xsl:attribute>
|
4243
|
+
</xsl:if>
|
4244
|
+
|
4245
|
+
|
4246
|
+
<fo:block xsl:use-attribute-sets="dt-block-style">
|
4247
|
+
<xsl:copy-of select="@id"/>
|
4248
|
+
|
4249
|
+
<xsl:if test="normalize-space($key_iso) = 'true'">
|
4250
|
+
<xsl:attribute name="margin-top">0</xsl:attribute>
|
4251
|
+
</xsl:if>
|
4252
|
+
|
4253
|
+
|
4254
|
+
|
4255
|
+
<xsl:apply-templates>
|
4256
|
+
<xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
|
4257
|
+
</xsl:apply-templates>
|
3567
4258
|
|
3568
|
-
|
3569
|
-
|
3570
|
-
|
3571
|
-
|
3572
|
-
|
3573
|
-
|
4259
|
+
<xsl:if test="$isGenerateTableIF = 'true'"><fo:inline id="{@id}_end">end</fo:inline></xsl:if> <!-- to determine width of text --> <!-- <xsl:value-of select="$hair_space"/> -->
|
4260
|
+
|
4261
|
+
</fo:block>
|
4262
|
+
</fo:table-cell>
|
4263
|
+
</xsl:template><xsl:template name="insert_dd_cell">
|
4264
|
+
<xsl:param name="split_keep-within-line"/>
|
4265
|
+
<fo:table-cell xsl:use-attribute-sets="dd-cell-style">
|
3574
4266
|
|
3575
|
-
|
3576
|
-
|
4267
|
+
<xsl:if test="$isGenerateTableIF = 'true'">
|
4268
|
+
<!-- border is mandatory, to calculate real width -->
|
4269
|
+
<xsl:attribute name="border">0.1pt solid black</xsl:attribute>
|
4270
|
+
</xsl:if>
|
3577
4271
|
|
3578
|
-
|
3579
|
-
|
4272
|
+
<fo:block>
|
4273
|
+
|
4274
|
+
<xsl:if test="$isGenerateTableIF = 'true'">
|
4275
|
+
<xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
|
4276
|
+
</xsl:if>
|
4277
|
+
|
3580
4278
|
|
3581
|
-
<fo:block xsl:use-attribute-sets="dt-style">
|
3582
|
-
<xsl:copy-of select="@id"/>
|
3583
|
-
|
3584
|
-
<xsl:if test="normalize-space($key_iso) = 'true'">
|
3585
|
-
<xsl:attribute name="margin-top">0</xsl:attribute>
|
3586
|
-
</xsl:if>
|
3587
|
-
|
3588
|
-
|
3589
|
-
|
3590
|
-
<xsl:apply-templates/>
|
3591
|
-
</fo:block>
|
3592
|
-
</fo:table-cell>
|
3593
|
-
<fo:table-cell>
|
3594
|
-
<fo:block>
|
3595
|
-
|
3596
4279
|
|
3597
|
-
|
3598
|
-
|
3599
|
-
|
3600
|
-
|
3601
|
-
|
3602
|
-
|
4280
|
+
<xsl:choose>
|
4281
|
+
<xsl:when test="$isGenerateTableIF = 'true'">
|
4282
|
+
<xsl:apply-templates> <!-- following-sibling::*[local-name()='dd'][1] -->
|
4283
|
+
<xsl:with-param name="process">true</xsl:with-param>
|
4284
|
+
</xsl:apply-templates>
|
4285
|
+
</xsl:when>
|
4286
|
+
<xsl:otherwise>
|
4287
|
+
<xsl:apply-templates select="."> <!-- following-sibling::*[local-name()='dd'][1] -->
|
4288
|
+
<xsl:with-param name="process">true</xsl:with-param>
|
4289
|
+
<xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
|
4290
|
+
</xsl:apply-templates>
|
4291
|
+
</xsl:otherwise>
|
4292
|
+
|
4293
|
+
</xsl:choose>
|
4294
|
+
|
4295
|
+
<xsl:if test="$isGenerateTableIF = 'true'"><fo:inline id="{@id}_end">end</fo:inline></xsl:if> <!-- to determine width of text --> <!-- <xsl:value-of select="$hair_space"/> -->
|
4296
|
+
|
4297
|
+
</fo:block>
|
4298
|
+
</fo:table-cell>
|
3603
4299
|
</xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
|
3604
4300
|
<xsl:apply-templates/>
|
3605
4301
|
</xsl:template><xsl:template match="*[local-name()='dd']">
|
3606
4302
|
<xsl:param name="process">false</xsl:param>
|
4303
|
+
<xsl:param name="split_keep-within-line"/>
|
3607
4304
|
<xsl:if test="$process = 'true'">
|
3608
4305
|
<xsl:apply-templates select="@language"/>
|
3609
|
-
<xsl:apply-templates
|
4306
|
+
<xsl:apply-templates>
|
4307
|
+
<xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
|
4308
|
+
</xsl:apply-templates>
|
3610
4309
|
</xsl:if>
|
3611
4310
|
</xsl:template><xsl:template match="*[local-name()='dd']/*[local-name()='p']" mode="inline">
|
3612
4311
|
<fo:inline><xsl:text> </xsl:text><xsl:apply-templates/></fo:inline>
|
3613
|
-
</xsl:template><xsl:template match="*[local-name()='
|
4312
|
+
</xsl:template><xsl:template match="*[local-name()='dt']" mode="dl_if">
|
4313
|
+
<xsl:param name="id"/>
|
4314
|
+
<xsl:variable name="row_number" select="count(preceding-sibling::*[local-name()='dt']) + 1"/>
|
4315
|
+
<tr>
|
4316
|
+
<td>
|
4317
|
+
<xsl:copy-of select="node()"/>
|
4318
|
+
</td>
|
4319
|
+
<td>
|
4320
|
+
|
4321
|
+
<xsl:copy-of select="following-sibling::*[local-name()='dd'][1]/node()[not(local-name() = 'dl')]"/>
|
4322
|
+
|
4323
|
+
<!-- get paragraphs from nested 'dl' -->
|
4324
|
+
<xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]/*[local-name() = 'dl']" mode="dl_if_nested"/>
|
4325
|
+
|
4326
|
+
|
4327
|
+
</td>
|
4328
|
+
</tr>
|
4329
|
+
|
4330
|
+
</xsl:template><xsl:template match="*[local-name()='dd']" mode="dl_if"/><xsl:template match="*[local-name()='dl']" mode="dl_if_nested">
|
4331
|
+
<xsl:for-each select="*[local-name() = 'dt']">
|
4332
|
+
<p>
|
4333
|
+
<xsl:copy-of select="node()"/>
|
4334
|
+
<xsl:text> </xsl:text>
|
4335
|
+
<xsl:copy-of select="following-sibling::*[local-name()='dd'][1]/*[local-name() = 'p']/node()"/>
|
4336
|
+
</p>
|
4337
|
+
</xsl:for-each>
|
4338
|
+
</xsl:template><xsl:template match="*[local-name()='dd']" mode="dl_if_nested"/><xsl:template match="*[local-name()='em']">
|
3614
4339
|
<fo:inline font-style="italic">
|
3615
4340
|
<xsl:apply-templates/>
|
3616
4341
|
</fo:inline>
|
3617
4342
|
</xsl:template><xsl:template match="*[local-name()='strong'] | *[local-name()='b']">
|
4343
|
+
<xsl:param name="split_keep-within-line"/>
|
3618
4344
|
<fo:inline font-weight="bold">
|
3619
4345
|
|
3620
|
-
<xsl:apply-templates
|
4346
|
+
<xsl:apply-templates>
|
4347
|
+
<xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
|
4348
|
+
</xsl:apply-templates>
|
3621
4349
|
</fo:inline>
|
3622
4350
|
</xsl:template><xsl:template match="*[local-name()='padding']">
|
3623
4351
|
<fo:inline padding-right="{@value}"> </fo:inline>
|
@@ -3638,7 +4366,7 @@
|
|
3638
4366
|
|
3639
4367
|
|
3640
4368
|
|
3641
|
-
|
4369
|
+
<!-- 10 -->
|
3642
4370
|
|
3643
4371
|
|
3644
4372
|
|
@@ -3818,6 +4546,10 @@
|
|
3818
4546
|
<xsl:param name="text"/>
|
3819
4547
|
<xsl:param name="separator" select="' '"/>
|
3820
4548
|
<xsl:choose>
|
4549
|
+
|
4550
|
+
<xsl:when test="$isGenerateTableIF = 'true' and not(contains($text, $separator))">
|
4551
|
+
<word><xsl:value-of select="normalize-space($text)"/></word>
|
4552
|
+
</xsl:when>
|
3821
4553
|
<xsl:when test="not(contains($text, $separator))">
|
3822
4554
|
<word>
|
3823
4555
|
<xsl:variable name="len_str_tmp" select="string-length(normalize-space($text))"/>
|
@@ -3862,13 +4594,66 @@
|
|
3862
4594
|
</xsl:when>
|
3863
4595
|
<xsl:otherwise>
|
3864
4596
|
<word>
|
3865
|
-
<xsl:
|
4597
|
+
<xsl:variable name="word" select="normalize-space(substring-before($text, $separator))"/>
|
4598
|
+
<xsl:choose>
|
4599
|
+
<xsl:when test="$isGenerateTableIF = 'true'">
|
4600
|
+
<xsl:value-of select="$word"/>
|
4601
|
+
</xsl:when>
|
4602
|
+
<xsl:otherwise>
|
4603
|
+
<xsl:value-of select="string-length($word)"/>
|
4604
|
+
</xsl:otherwise>
|
4605
|
+
</xsl:choose>
|
3866
4606
|
</word>
|
3867
4607
|
<xsl:call-template name="tokenize">
|
3868
4608
|
<xsl:with-param name="text" select="substring-after($text, $separator)"/>
|
3869
4609
|
</xsl:call-template>
|
3870
4610
|
</xsl:otherwise>
|
3871
4611
|
</xsl:choose>
|
4612
|
+
</xsl:template><xsl:template name="tokenize_with_tags">
|
4613
|
+
<xsl:param name="tags"/>
|
4614
|
+
<xsl:param name="text"/>
|
4615
|
+
<xsl:param name="separator" select="' '"/>
|
4616
|
+
<xsl:choose>
|
4617
|
+
|
4618
|
+
<xsl:when test="not(contains($text, $separator))">
|
4619
|
+
<word>
|
4620
|
+
<xsl:call-template name="enclose_text_in_tags">
|
4621
|
+
<xsl:with-param name="text" select="normalize-space($text)"/>
|
4622
|
+
<xsl:with-param name="tags" select="$tags"/>
|
4623
|
+
</xsl:call-template>
|
4624
|
+
</word>
|
4625
|
+
</xsl:when>
|
4626
|
+
<xsl:otherwise>
|
4627
|
+
<word>
|
4628
|
+
<xsl:call-template name="enclose_text_in_tags">
|
4629
|
+
<xsl:with-param name="text" select="normalize-space(substring-before($text, $separator))"/>
|
4630
|
+
<xsl:with-param name="tags" select="$tags"/>
|
4631
|
+
</xsl:call-template>
|
4632
|
+
</word>
|
4633
|
+
<xsl:call-template name="tokenize_with_tags">
|
4634
|
+
<xsl:with-param name="text" select="substring-after($text, $separator)"/>
|
4635
|
+
</xsl:call-template>
|
4636
|
+
</xsl:otherwise>
|
4637
|
+
</xsl:choose>
|
4638
|
+
</xsl:template><xsl:template name="enclose_text_in_tags">
|
4639
|
+
<xsl:param name="text"/>
|
4640
|
+
<xsl:param name="tags"/>
|
4641
|
+
<xsl:param name="num">1</xsl:param> <!-- default (start) value -->
|
4642
|
+
|
4643
|
+
<xsl:variable name="tag_name" select="normalize-space(xalan:nodeset($tags)//tag[$num])"/>
|
4644
|
+
|
4645
|
+
<xsl:choose>
|
4646
|
+
<xsl:when test="$tag_name = ''"><xsl:value-of select="$text"/></xsl:when>
|
4647
|
+
<xsl:otherwise>
|
4648
|
+
<xsl:element name="{$tag_name}">
|
4649
|
+
<xsl:call-template name="enclose_text_in_tags">
|
4650
|
+
<xsl:with-param name="text" select="$text"/>
|
4651
|
+
<xsl:with-param name="tags" select="$tags"/>
|
4652
|
+
<xsl:with-param name="num" select="$num + 1"/>
|
4653
|
+
</xsl:call-template>
|
4654
|
+
</xsl:element>
|
4655
|
+
</xsl:otherwise>
|
4656
|
+
</xsl:choose>
|
3872
4657
|
</xsl:template><xsl:template name="max_length">
|
3873
4658
|
<xsl:param name="words"/>
|
3874
4659
|
<xsl:for-each select="$words//word">
|
@@ -3969,12 +4754,19 @@
|
|
3969
4754
|
</xsl:otherwise>
|
3970
4755
|
</xsl:choose>
|
3971
4756
|
</xsl:template><xsl:template name="getSimpleTable">
|
4757
|
+
<xsl:param name="id"/>
|
4758
|
+
|
3972
4759
|
<xsl:variable name="simple-table">
|
3973
4760
|
|
4761
|
+
<!-- Step 0. replace <br/> to <p>...</p> -->
|
4762
|
+
<xsl:variable name="table_without_br">
|
4763
|
+
<xsl:apply-templates mode="table-without-br"/>
|
4764
|
+
</xsl:variable>
|
4765
|
+
|
3974
4766
|
<!-- Step 1. colspan processing -->
|
3975
4767
|
<xsl:variable name="simple-table-colspan">
|
3976
4768
|
<tbody>
|
3977
|
-
<xsl:apply-templates mode="simple-table-colspan"/>
|
4769
|
+
<xsl:apply-templates select="xalan:nodeset($table_without_br)" mode="simple-table-colspan"/>
|
3978
4770
|
</tbody>
|
3979
4771
|
</xsl:variable>
|
3980
4772
|
|
@@ -3983,10 +4775,67 @@
|
|
3983
4775
|
<xsl:apply-templates select="xalan:nodeset($simple-table-colspan)" mode="simple-table-rowspan"/>
|
3984
4776
|
</xsl:variable>
|
3985
4777
|
|
3986
|
-
|
3987
|
-
|
4778
|
+
<!-- Step 3: add id to each cell -->
|
4779
|
+
<!-- add <word>...</word> for each word, image, math -->
|
4780
|
+
<xsl:variable name="simple-table-id">
|
4781
|
+
<xsl:apply-templates select="xalan:nodeset($simple-table-rowspan)" mode="simple-table-id">
|
4782
|
+
<xsl:with-param name="id" select="$id"/>
|
4783
|
+
</xsl:apply-templates>
|
4784
|
+
</xsl:variable>
|
4785
|
+
|
4786
|
+
<xsl:copy-of select="xalan:nodeset($simple-table-id)"/>
|
4787
|
+
|
3988
4788
|
</xsl:variable>
|
3989
4789
|
<xsl:copy-of select="$simple-table"/>
|
4790
|
+
</xsl:template><xsl:template match="@*|node()" mode="table-without-br">
|
4791
|
+
<xsl:copy>
|
4792
|
+
<xsl:apply-templates select="@*|node()" mode="table-without-br"/>
|
4793
|
+
</xsl:copy>
|
4794
|
+
</xsl:template><xsl:template match="*[local-name()='th' or local-name() = 'td'][not(*[local-name()='br']) and not(*[local-name()='p'])]" mode="table-without-br">
|
4795
|
+
<xsl:copy>
|
4796
|
+
<xsl:copy-of select="@*"/>
|
4797
|
+
<p>
|
4798
|
+
<xsl:copy-of select="node()"/>
|
4799
|
+
</p>
|
4800
|
+
</xsl:copy>
|
4801
|
+
</xsl:template><xsl:template match="*[local-name()='th' or local-name()='td'][*[local-name()='br']]" mode="table-without-br">
|
4802
|
+
<xsl:copy>
|
4803
|
+
<xsl:copy-of select="@*"/>
|
4804
|
+
<xsl:for-each select="*[local-name()='br']">
|
4805
|
+
<xsl:variable name="current_id" select="generate-id()"/>
|
4806
|
+
<p>
|
4807
|
+
<xsl:for-each select="preceding-sibling::node()[following-sibling::*[local-name() = 'br'][1][generate-id() = $current_id]][not(local-name() = 'br')]">
|
4808
|
+
<xsl:copy-of select="."/>
|
4809
|
+
</xsl:for-each>
|
4810
|
+
</p>
|
4811
|
+
<xsl:if test="not(following-sibling::*[local-name() = 'br'])">
|
4812
|
+
<p>
|
4813
|
+
<xsl:for-each select="following-sibling::node()">
|
4814
|
+
<xsl:copy-of select="."/>
|
4815
|
+
</xsl:for-each>
|
4816
|
+
</p>
|
4817
|
+
</xsl:if>
|
4818
|
+
</xsl:for-each>
|
4819
|
+
</xsl:copy>
|
4820
|
+
</xsl:template><xsl:template match="*[local-name()='th' or local-name()='td']/*[local-name() = 'p'][*[local-name()='br']]" mode="table-without-br">
|
4821
|
+
<xsl:for-each select="*[local-name()='br']">
|
4822
|
+
<xsl:variable name="current_id" select="generate-id()"/>
|
4823
|
+
<p>
|
4824
|
+
<xsl:for-each select="preceding-sibling::node()[following-sibling::*[local-name() = 'br'][1][generate-id() = $current_id]][not(local-name() = 'br')]">
|
4825
|
+
<xsl:copy-of select="."/>
|
4826
|
+
</xsl:for-each>
|
4827
|
+
</p>
|
4828
|
+
<xsl:if test="not(following-sibling::*[local-name() = 'br'])">
|
4829
|
+
<p>
|
4830
|
+
<xsl:for-each select="following-sibling::node()">
|
4831
|
+
<xsl:copy-of select="."/>
|
4832
|
+
</xsl:for-each>
|
4833
|
+
</p>
|
4834
|
+
</xsl:if>
|
4835
|
+
</xsl:for-each>
|
4836
|
+
</xsl:template><xsl:template match="text()[not(ancestor::*[local-name() = 'sourcecode'])]" mode="table-without-br">
|
4837
|
+
<xsl:variable name="text" select="translate(.,'	 ','')"/>
|
4838
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),' {2,}',' ')"/>
|
3990
4839
|
</xsl:template><xsl:template match="*[local-name()='thead'] | *[local-name()='tbody']" mode="simple-table-colspan">
|
3991
4840
|
<xsl:apply-templates mode="simple-table-colspan"/>
|
3992
4841
|
</xsl:template><xsl:template match="*[local-name()='fn']" mode="simple-table-colspan"/><xsl:template match="*[local-name()='th'] | *[local-name()='td']" mode="simple-table-colspan">
|
@@ -4076,6 +4925,126 @@
|
|
4076
4925
|
<xsl:apply-templates select="following-sibling::tr[1]" mode="simple-table-rowspan">
|
4077
4926
|
<xsl:with-param name="previousRow" select="$newRow"/>
|
4078
4927
|
</xsl:apply-templates>
|
4928
|
+
</xsl:template><xsl:template match="/" mode="simple-table-id">
|
4929
|
+
<xsl:param name="id"/>
|
4930
|
+
<xsl:variable name="id_prefixed" select="concat('table_if_',$id)"/> <!-- table id prefixed by 'table_if_' to simple search in IF -->
|
4931
|
+
<xsl:apply-templates select="@*|node()" mode="simple-table-id">
|
4932
|
+
<xsl:with-param name="id" select="$id_prefixed"/>
|
4933
|
+
</xsl:apply-templates>
|
4934
|
+
</xsl:template><xsl:template match="@*|node()" mode="simple-table-id">
|
4935
|
+
<xsl:param name="id"/>
|
4936
|
+
<xsl:copy>
|
4937
|
+
<xsl:apply-templates select="@*|node()" mode="simple-table-id">
|
4938
|
+
<xsl:with-param name="id" select="$id"/>
|
4939
|
+
</xsl:apply-templates>
|
4940
|
+
</xsl:copy>
|
4941
|
+
</xsl:template><xsl:template match="*[local-name()='tbody']" mode="simple-table-id">
|
4942
|
+
<xsl:param name="id"/>
|
4943
|
+
<xsl:copy>
|
4944
|
+
<xsl:copy-of select="@*"/>
|
4945
|
+
<xsl:attribute name="id"><xsl:value-of select="$id"/></xsl:attribute>
|
4946
|
+
<xsl:apply-templates select="node()" mode="simple-table-id">
|
4947
|
+
<xsl:with-param name="id" select="$id"/>
|
4948
|
+
</xsl:apply-templates>
|
4949
|
+
</xsl:copy>
|
4950
|
+
</xsl:template><xsl:template match="*[local-name()='th' or local-name()='td']" mode="simple-table-id">
|
4951
|
+
<xsl:param name="id"/>
|
4952
|
+
<xsl:copy>
|
4953
|
+
<xsl:copy-of select="@*"/>
|
4954
|
+
<xsl:variable name="row_number" select="count(../preceding-sibling::*) + 1"/>
|
4955
|
+
<xsl:variable name="col_number" select="count(preceding-sibling::*) + 1"/>
|
4956
|
+
<xsl:attribute name="id">
|
4957
|
+
<xsl:value-of select="concat($id,'_',$row_number,'_',$col_number)"/>
|
4958
|
+
</xsl:attribute>
|
4959
|
+
|
4960
|
+
<xsl:for-each select="*[local-name() = 'p']">
|
4961
|
+
<xsl:copy>
|
4962
|
+
<xsl:copy-of select="@*"/>
|
4963
|
+
<xsl:variable name="p_num" select="count(preceding-sibling::*[local-name() = 'p']) + 1"/>
|
4964
|
+
<xsl:attribute name="id">
|
4965
|
+
<xsl:value-of select="concat($id,'_',$row_number,'_',$col_number,'_p_',$p_num)"/>
|
4966
|
+
</xsl:attribute>
|
4967
|
+
|
4968
|
+
<xsl:copy-of select="node()"/>
|
4969
|
+
</xsl:copy>
|
4970
|
+
</xsl:for-each>
|
4971
|
+
|
4972
|
+
|
4973
|
+
<xsl:if test="$isGenerateTableIF = 'true'"> <!-- split each paragraph to words, image, math -->
|
4974
|
+
|
4975
|
+
<xsl:variable name="td_text">
|
4976
|
+
<xsl:apply-templates select="." mode="td_text_with_formatting"/>
|
4977
|
+
</xsl:variable>
|
4978
|
+
|
4979
|
+
<!-- td_text='<xsl:copy-of select="$td_text"/>' -->
|
4980
|
+
|
4981
|
+
<xsl:variable name="words">
|
4982
|
+
<xsl:for-each select=".//*[local-name() = 'image' or local-name() = 'stem']">
|
4983
|
+
<word>
|
4984
|
+
<xsl:copy-of select="."/>
|
4985
|
+
</word>
|
4986
|
+
</xsl:for-each>
|
4987
|
+
|
4988
|
+
<xsl:for-each select="xalan:nodeset($td_text)//*[local-name() = 'word'][normalize-space() != '']">
|
4989
|
+
<xsl:copy-of select="."/>
|
4990
|
+
</xsl:for-each>
|
4991
|
+
|
4992
|
+
</xsl:variable>
|
4993
|
+
|
4994
|
+
<xsl:for-each select="xalan:nodeset($words)/word">
|
4995
|
+
<xsl:variable name="num" select="count(preceding-sibling::word) + 1"/>
|
4996
|
+
<xsl:copy>
|
4997
|
+
<xsl:attribute name="id">
|
4998
|
+
<xsl:value-of select="concat($id,'_',$row_number,'_',$col_number,'_word_',$num)"/>
|
4999
|
+
</xsl:attribute>
|
5000
|
+
<xsl:copy-of select="node()"/>
|
5001
|
+
</xsl:copy>
|
5002
|
+
</xsl:for-each>
|
5003
|
+
</xsl:if>
|
5004
|
+
</xsl:copy>
|
5005
|
+
|
5006
|
+
</xsl:template><xsl:template match="@*|node()" mode="td_text_with_formatting">
|
5007
|
+
<xsl:copy>
|
5008
|
+
<xsl:apply-templates select="@*|node()" mode="td_text_with_formatting"/>
|
5009
|
+
</xsl:copy>
|
5010
|
+
</xsl:template><xsl:template match="*[local-name() = 'stem' or local-name() = 'image']" mode="td_text_with_formatting"/><xsl:template match="*[local-name() = 'keep-together_within-line']/text()" mode="td_text_with_formatting">
|
5011
|
+
<xsl:variable name="formatting_tags">
|
5012
|
+
<xsl:call-template name="getFormattingTags"/>
|
5013
|
+
</xsl:variable>
|
5014
|
+
<word>
|
5015
|
+
<xsl:call-template name="enclose_text_in_tags">
|
5016
|
+
<xsl:with-param name="text" select="normalize-space(.)"/>
|
5017
|
+
<xsl:with-param name="tags" select="$formatting_tags"/>
|
5018
|
+
</xsl:call-template>
|
5019
|
+
</word>
|
5020
|
+
</xsl:template><xsl:template match="*[local-name() != 'keep-together_within-line']/text()" mode="td_text_with_formatting">
|
5021
|
+
|
5022
|
+
<xsl:variable name="td_text" select="."/>
|
5023
|
+
|
5024
|
+
<xsl:variable name="string_with_added_zerospaces">
|
5025
|
+
<xsl:call-template name="add-zero-spaces-java">
|
5026
|
+
<xsl:with-param name="text" select="$td_text"/>
|
5027
|
+
</xsl:call-template>
|
5028
|
+
</xsl:variable>
|
5029
|
+
|
5030
|
+
<xsl:variable name="formatting_tags">
|
5031
|
+
<xsl:call-template name="getFormattingTags"/>
|
5032
|
+
</xsl:variable>
|
5033
|
+
|
5034
|
+
<!-- <word>text</word> -->
|
5035
|
+
<xsl:call-template name="tokenize_with_tags">
|
5036
|
+
<xsl:with-param name="tags" select="$formatting_tags"/>
|
5037
|
+
<xsl:with-param name="text" select="normalize-space(translate($string_with_added_zerospaces, '', ' '))"/> <!-- replace zero-width-space and soft-hyphen to space -->
|
5038
|
+
</xsl:call-template>
|
5039
|
+
</xsl:template><xsl:template name="getFormattingTags">
|
5040
|
+
<tags>
|
5041
|
+
<xsl:if test="ancestor::*[local-name() = 'strong']"><tag>strong</tag></xsl:if>
|
5042
|
+
<xsl:if test="ancestor::*[local-name() = 'em']"><tag>em</tag></xsl:if>
|
5043
|
+
<xsl:if test="ancestor::*[local-name() = 'sub']"><tag>sub</tag></xsl:if>
|
5044
|
+
<xsl:if test="ancestor::*[local-name() = 'sup']"><tag>sup</tag></xsl:if>
|
5045
|
+
<xsl:if test="ancestor::*[local-name() = 'tt']"><tag>tt</tag></xsl:if>
|
5046
|
+
<xsl:if test="ancestor::*[local-name() = 'keep-together_within-line']"><tag>keep-together_within-line</tag></xsl:if>
|
5047
|
+
</tags>
|
4079
5048
|
</xsl:template><xsl:template name="getLang">
|
4080
5049
|
<xsl:variable name="language_current" select="normalize-space(//*[local-name()='bibdata']//*[local-name()='language'][@current = 'true'])"/>
|
4081
5050
|
<xsl:variable name="language">
|
@@ -4269,6 +5238,11 @@
|
|
4269
5238
|
</xsl:variable>
|
4270
5239
|
<fo:inline xsl:use-attribute-sets="link-style">
|
4271
5240
|
|
5241
|
+
<xsl:if test="starts-with(normalize-space(@target), 'mailto:')">
|
5242
|
+
<xsl:attribute name="keep-together.within-line">always</xsl:attribute>
|
5243
|
+
</xsl:if>
|
5244
|
+
|
5245
|
+
|
4272
5246
|
|
4273
5247
|
|
4274
5248
|
|
@@ -4547,7 +5521,19 @@
|
|
4547
5521
|
<xsl:value-of select="$suffix"/>
|
4548
5522
|
</xsl:if>
|
4549
5523
|
</xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'p']">
|
4550
|
-
<
|
5524
|
+
<xsl:variable name="num"><xsl:number/></xsl:variable>
|
5525
|
+
<xsl:choose>
|
5526
|
+
<xsl:when test="$num = 1"> <!-- first paragraph renders in the same line as titlenote name -->
|
5527
|
+
<fo:inline xsl:use-attribute-sets="termnote-p-style">
|
5528
|
+
<xsl:apply-templates/>
|
5529
|
+
</fo:inline>
|
5530
|
+
</xsl:when>
|
5531
|
+
<xsl:otherwise>
|
5532
|
+
<fo:block xsl:use-attribute-sets="termnote-p-style">
|
5533
|
+
<xsl:apply-templates/>
|
5534
|
+
</fo:block>
|
5535
|
+
</xsl:otherwise>
|
5536
|
+
</xsl:choose>
|
4551
5537
|
</xsl:template><xsl:template match="*[local-name() = 'terms']">
|
4552
5538
|
<!-- <xsl:message>'terms' <xsl:number/> processing...</xsl:message> -->
|
4553
5539
|
<fo:block id="{@id}">
|
@@ -5364,7 +6350,7 @@
|
|
5364
6350
|
</xsl:choose>
|
5365
6351
|
</xsl:template><xsl:template match="*[local-name() = 'fn']" mode="contents"/><xsl:template match="*[local-name() = 'fn']" mode="bookmarks"/><xsl:template match="*[local-name() = 'fn']" mode="contents_item"/><xsl:template match="*[local-name() = 'xref']" mode="contents">
|
5366
6352
|
<xsl:value-of select="."/>
|
5367
|
-
</xsl:template><xsl:template match="*[local-name() = 'tab']" mode="contents_item">
|
6353
|
+
</xsl:template><xsl:template match="*[local-name() = 'review']" mode="contents_item"/><xsl:template match="*[local-name() = 'tab']" mode="contents_item">
|
5368
6354
|
<xsl:text> </xsl:text>
|
5369
6355
|
</xsl:template><xsl:template match="*[local-name() = 'strong']" mode="contents_item">
|
5370
6356
|
<xsl:copy>
|
@@ -5435,7 +6421,7 @@
|
|
5435
6421
|
|
5436
6422
|
|
5437
6423
|
|
5438
|
-
|
6424
|
+
<!-- 9 -->
|
5439
6425
|
|
5440
6426
|
|
5441
6427
|
|
@@ -5519,7 +6505,7 @@
|
|
5519
6505
|
<xsl:for-each select="xalan:nodeset($text_step4)/node()">
|
5520
6506
|
<xsl:choose>
|
5521
6507
|
<xsl:when test="local-name() = 'interspers'"> <!-- word with length more than 30 will be interspersed with zero-width space -->
|
5522
|
-
<xsl:call-template name="interspers">
|
6508
|
+
<xsl:call-template name="interspers-java">
|
5523
6509
|
<xsl:with-param name="str" select="."/>
|
5524
6510
|
</xsl:call-template>
|
5525
6511
|
</xsl:when>
|
@@ -5569,6 +6555,10 @@
|
|
5569
6555
|
<xsl:with-param name="char" select="$char"/>
|
5570
6556
|
</xsl:call-template>
|
5571
6557
|
</xsl:if>
|
6558
|
+
</xsl:template><xsl:template name="interspers-java">
|
6559
|
+
<xsl:param name="str"/>
|
6560
|
+
<xsl:param name="char" select="$zero_width_space"/>
|
6561
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($str),'([^ -.:=_—])',concat('$1', $char))"/> <!-- insert $char after each char excep space, - . : = _ etc. -->
|
5572
6562
|
</xsl:template><xsl:template match="*" mode="syntax_highlight">
|
5573
6563
|
<xsl:apply-templates mode="syntax_highlight"/>
|
5574
6564
|
</xsl:template><xsl:variable name="syntax_highlight_styles_">
|
@@ -5781,7 +6771,9 @@
|
|
5781
6771
|
<!-- <xsl:attribute name="border">0.5pt solid black</xsl:attribute> -->
|
5782
6772
|
</xsl:if>
|
5783
6773
|
<xsl:variable name="simple-table">
|
5784
|
-
<xsl:call-template name="getSimpleTable"
|
6774
|
+
<xsl:call-template name="getSimpleTable">
|
6775
|
+
<xsl:with-param name="id" select="@id"/>
|
6776
|
+
</xsl:call-template>
|
5785
6777
|
</xsl:variable>
|
5786
6778
|
<xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
|
5787
6779
|
<xsl:if test="$cols-count = 2 and not(ancestor::*[local-name()='table'])">
|
@@ -6211,6 +7203,7 @@
|
|
6211
7203
|
|
6212
7204
|
|
6213
7205
|
|
7206
|
+
|
6214
7207
|
<xsl:choose>
|
6215
7208
|
<xsl:when test="ancestor::un:sections and $depth = 1">12</xsl:when>
|
6216
7209
|
<xsl:when test="ancestor::un:sections">8</xsl:when>
|
@@ -6526,6 +7519,11 @@
|
|
6526
7519
|
</xsl:otherwise>
|
6527
7520
|
</xsl:choose>
|
6528
7521
|
</xsl:template><xsl:template match="*[local-name()='ul'] | *[local-name()='ol']" mode="list" name="list">
|
7522
|
+
|
7523
|
+
<xsl:apply-templates select="*[local-name() = 'name']">
|
7524
|
+
<xsl:with-param name="process">true</xsl:with-param>
|
7525
|
+
</xsl:apply-templates>
|
7526
|
+
|
6529
7527
|
<fo:list-block xsl:use-attribute-sets="list-style">
|
6530
7528
|
|
6531
7529
|
|
@@ -6536,12 +7534,23 @@
|
|
6536
7534
|
|
6537
7535
|
|
6538
7536
|
|
7537
|
+
<xsl:if test="*[local-name() = 'name']">
|
7538
|
+
<xsl:attribute name="margin-top">0pt</xsl:attribute>
|
7539
|
+
</xsl:if>
|
7540
|
+
|
6539
7541
|
<xsl:apply-templates select="node()[not(local-name() = 'note')]"/>
|
6540
7542
|
</fo:list-block>
|
6541
7543
|
<!-- <xsl:for-each select="./iho:note">
|
6542
7544
|
<xsl:call-template name="note"/>
|
6543
7545
|
</xsl:for-each> -->
|
6544
7546
|
<xsl:apply-templates select="./*[local-name() = 'note']"/>
|
7547
|
+
</xsl:template><xsl:template match="*[local-name() = 'ol' or local-name() = 'ul']/*[local-name() = 'name']">
|
7548
|
+
<xsl:param name="process">false</xsl:param>
|
7549
|
+
<xsl:if test="$process = 'true'">
|
7550
|
+
<fo:block xsl:use-attribute-sets="list-name-style">
|
7551
|
+
<xsl:apply-templates/>
|
7552
|
+
</fo:block>
|
7553
|
+
</xsl:if>
|
6545
7554
|
</xsl:template><xsl:template match="*[local-name()='li']">
|
6546
7555
|
<fo:list-item xsl:use-attribute-sets="list-item-style">
|
6547
7556
|
<xsl:copy-of select="@id"/>
|
@@ -6741,7 +7750,7 @@
|
|
6741
7750
|
<!-- <fo:inline id="{@id}" font-size="1pt"/> -->
|
6742
7751
|
<fo:inline id="{@id}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:inline>
|
6743
7752
|
<!-- we need to add zero-width space, otherwise this fo:inline is missing in IF xml -->
|
6744
|
-
<xsl:if test="not(following-sibling::node()[normalize-space() != ''])"> </xsl:if>
|
7753
|
+
<xsl:if test="not(following-sibling::node()[normalize-space() != ''])"><fo:inline font-size="1pt"> </fo:inline></xsl:if>
|
6745
7754
|
</xsl:template><xsl:template match="*[local-name() = 'errata']">
|
6746
7755
|
<!-- <row>
|
6747
7756
|
<date>05-07-2013</date>
|
@@ -6819,22 +7828,11 @@
|
|
6819
7828
|
</xsl:template><xsl:template name="processBibitem">
|
6820
7829
|
|
6821
7830
|
|
7831
|
+
<!-- start UNECE bibitem processing -->
|
6822
7832
|
<fo:inline padding-right="5mm">[<xsl:value-of select="un:docidentifier"/>]</fo:inline><xsl:value-of select="un:docidentifier"/>
|
6823
|
-
<xsl:
|
6824
|
-
<fo:inline font-style="italic">
|
6825
|
-
<xsl:text>, </xsl:text>
|
6826
|
-
<xsl:choose>
|
6827
|
-
<xsl:when test="un:title[@type = 'main' and @language = 'en']">
|
6828
|
-
<xsl:apply-templates select="un:title[@type = 'main' and @language = 'en']"/>
|
6829
|
-
</xsl:when>
|
6830
|
-
<xsl:otherwise>
|
6831
|
-
<xsl:apply-templates select="un:title"/>
|
6832
|
-
</xsl:otherwise>
|
6833
|
-
</xsl:choose>
|
6834
|
-
</fo:inline>
|
6835
|
-
</xsl:if>
|
7833
|
+
<xsl:text> </xsl:text>
|
6836
7834
|
<xsl:apply-templates select="un:formattedref"/>
|
6837
|
-
|
7835
|
+
<!-- END UNECE bibitem processing -->
|
6838
7836
|
|
6839
7837
|
</xsl:template><xsl:template name="processBibitemDocId">
|
6840
7838
|
<xsl:variable name="_doc_ident" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'metanorma-ordinal' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]"/>
|
@@ -7142,12 +8140,16 @@
|
|
7142
8140
|
<fo:block-container id="{@id}" xsl:use-attribute-sets="admonition-style">
|
7143
8141
|
|
7144
8142
|
|
8143
|
+
|
8144
|
+
|
7145
8145
|
|
7146
8146
|
|
7147
8147
|
|
7148
8148
|
<fo:block-container xsl:use-attribute-sets="admonition-container-style">
|
7149
8149
|
|
7150
8150
|
|
8151
|
+
|
8152
|
+
|
7151
8153
|
<fo:block-container margin-left="0mm" margin-right="0mm">
|
7152
8154
|
<fo:block>
|
7153
8155
|
<xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
|
@@ -7159,25 +8161,32 @@
|
|
7159
8161
|
</fo:block-container>
|
7160
8162
|
|
7161
8163
|
</xsl:template><xsl:template name="displayAdmonitionName">
|
7162
|
-
|
8164
|
+
<xsl:param name="sep"/> <!-- Example: ' - ' -->
|
8165
|
+
<!-- <xsl:choose>
|
8166
|
+
<xsl:when test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
|
8167
|
+
<xsl:choose>
|
8168
|
+
<xsl:when test="@type='important'"><xsl:apply-templates select="@type"/></xsl:when>
|
8169
|
+
<xsl:otherwise>
|
8170
|
+
<xsl:apply-templates select="*[local-name() = 'name']"/>
|
8171
|
+
</xsl:otherwise>
|
8172
|
+
</xsl:choose>
|
8173
|
+
</xsl:when>
|
8174
|
+
<xsl:otherwise>
|
7163
8175
|
<xsl:apply-templates select="*[local-name() = 'name']"/>
|
7164
8176
|
<xsl:if test="not(*[local-name() = 'name'])">
|
7165
8177
|
<xsl:apply-templates select="@type"/>
|
7166
8178
|
</xsl:if>
|
7167
|
-
|
7168
|
-
|
7169
|
-
<xsl:
|
7170
|
-
|
7171
|
-
<xsl:variable name="admonition_type_">
|
7172
|
-
<xsl:call-template name="getLocalizedString">
|
7173
|
-
<xsl:with-param name="key">admonition.<xsl:value-of select="."/></xsl:with-param>
|
7174
|
-
</xsl:call-template>
|
8179
|
+
</xsl:otherwise>
|
8180
|
+
</xsl:choose> -->
|
8181
|
+
<xsl:variable name="name">
|
8182
|
+
<xsl:apply-templates select="*[local-name() = 'name']"/>
|
7175
8183
|
</xsl:variable>
|
7176
|
-
<xsl:
|
7177
|
-
<xsl:
|
7178
|
-
|
7179
|
-
<xsl:value-of select="java:toUpperCase(java:java.lang.String.new(.))"/>
|
8184
|
+
<xsl:copy-of select="$name"/>
|
8185
|
+
<xsl:if test="normalize-space($name) != ''">
|
8186
|
+
<xsl:value-of select="$sep"/>
|
7180
8187
|
</xsl:if>
|
8188
|
+
</xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'name']">
|
8189
|
+
<xsl:apply-templates/>
|
7181
8190
|
</xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'p']">
|
7182
8191
|
|
7183
8192
|
<fo:block xsl:use-attribute-sets="admonition-p-style">
|
@@ -7348,6 +8357,8 @@
|
|
7348
8357
|
</xsl:when>
|
7349
8358
|
<xsl:otherwise><xsl:value-of select="$text"/></xsl:otherwise>
|
7350
8359
|
</xsl:choose>
|
8360
|
+
</xsl:template><xsl:template match="*[local-name() = 'lang_none']">
|
8361
|
+
<fo:inline xml:lang="none"><xsl:value-of select="."/></fo:inline>
|
7351
8362
|
</xsl:template><xsl:template name="printEdition">
|
7352
8363
|
<xsl:variable name="edition_i18n" select="normalize-space((//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']/*[local-name() = 'edition'][normalize-space(@language) != ''])"/>
|
7353
8364
|
<xsl:text> </xsl:text>
|
@@ -7454,6 +8465,27 @@
|
|
7454
8465
|
</xsl:when>
|
7455
8466
|
<xsl:otherwise><xsl:value-of select="$monthStr_"/></xsl:otherwise>
|
7456
8467
|
</xsl:choose>
|
8468
|
+
</xsl:template><xsl:template name="getMonthLocalizedByNum">
|
8469
|
+
<xsl:param name="num"/>
|
8470
|
+
<xsl:variable name="monthStr">
|
8471
|
+
<xsl:choose>
|
8472
|
+
<xsl:when test="$num = '01'">january</xsl:when>
|
8473
|
+
<xsl:when test="$num = '02'">february</xsl:when>
|
8474
|
+
<xsl:when test="$num = '03'">march</xsl:when>
|
8475
|
+
<xsl:when test="$num = '04'">april</xsl:when>
|
8476
|
+
<xsl:when test="$num = '05'">may</xsl:when>
|
8477
|
+
<xsl:when test="$num = '06'">june</xsl:when>
|
8478
|
+
<xsl:when test="$num = '07'">july</xsl:when>
|
8479
|
+
<xsl:when test="$num = '08'">august</xsl:when>
|
8480
|
+
<xsl:when test="$num = '09'">september</xsl:when>
|
8481
|
+
<xsl:when test="$num = '10'">october</xsl:when>
|
8482
|
+
<xsl:when test="$num = '11'">november</xsl:when>
|
8483
|
+
<xsl:when test="$num = '12'">december</xsl:when>
|
8484
|
+
</xsl:choose>
|
8485
|
+
</xsl:variable>
|
8486
|
+
<xsl:call-template name="getLocalizedString">
|
8487
|
+
<xsl:with-param name="key">month_<xsl:value-of select="$monthStr"/></xsl:with-param>
|
8488
|
+
</xsl:call-template>
|
7457
8489
|
</xsl:template><xsl:template name="insertKeywords">
|
7458
8490
|
<xsl:param name="sorting" select="'true'"/>
|
7459
8491
|
<xsl:param name="charAtEnd" select="'.'"/>
|
@@ -7647,6 +8679,7 @@
|
|
7647
8679
|
|
7648
8680
|
|
7649
8681
|
|
8682
|
+
|
7650
8683
|
<xsl:value-of select="document('')//*/namespace::un"/>
|
7651
8684
|
|
7652
8685
|
|
@@ -8060,4 +9093,40 @@
|
|
8060
9093
|
<xsl:value-of select="$value"/>
|
8061
9094
|
</xsl:otherwise>
|
8062
9095
|
</xsl:choose>
|
9096
|
+
</xsl:template><xsl:template match="*" mode="print_as_xml">
|
9097
|
+
<xsl:param name="level">0</xsl:param>
|
9098
|
+
|
9099
|
+
<fo:block margin-left="{2*$level}mm">
|
9100
|
+
<xsl:text>
|
9101
|
+
<</xsl:text>
|
9102
|
+
<xsl:value-of select="local-name()"/>
|
9103
|
+
<xsl:for-each select="@*">
|
9104
|
+
<xsl:text> </xsl:text>
|
9105
|
+
<xsl:value-of select="local-name()"/>
|
9106
|
+
<xsl:text>="</xsl:text>
|
9107
|
+
<xsl:value-of select="."/>
|
9108
|
+
<xsl:text>"</xsl:text>
|
9109
|
+
</xsl:for-each>
|
9110
|
+
<xsl:text>></xsl:text>
|
9111
|
+
|
9112
|
+
<xsl:if test="not(*)">
|
9113
|
+
<fo:inline font-weight="bold"><xsl:value-of select="."/></fo:inline>
|
9114
|
+
<xsl:text></</xsl:text>
|
9115
|
+
<xsl:value-of select="local-name()"/>
|
9116
|
+
<xsl:text>></xsl:text>
|
9117
|
+
</xsl:if>
|
9118
|
+
</fo:block>
|
9119
|
+
|
9120
|
+
<xsl:if test="*">
|
9121
|
+
<fo:block>
|
9122
|
+
<xsl:apply-templates mode="print_as_xml">
|
9123
|
+
<xsl:with-param name="level" select="$level + 1"/>
|
9124
|
+
</xsl:apply-templates>
|
9125
|
+
</fo:block>
|
9126
|
+
<fo:block margin-left="{2*$level}mm">
|
9127
|
+
<xsl:text></</xsl:text>
|
9128
|
+
<xsl:value-of select="local-name()"/>
|
9129
|
+
<xsl:text>></xsl:text>
|
9130
|
+
</fo:block>
|
9131
|
+
</xsl:if>
|
8063
9132
|
</xsl:template></xsl:stylesheet>
|