docbook_xsl_wrapper 0.1.2 → 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (170) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +2 -0
  3. data/CHANGELOG +41 -0
  4. data/README.md +9 -17
  5. data/bin/docbook_xsl_wrapper +9 -14
  6. data/docbook_xsl_wrapper.gemspec +8 -7
  7. data/lib/docbook_xsl_wrapper.rb +24 -1
  8. data/lib/docbook_xsl_wrapper/epub.rb +124 -122
  9. data/lib/docbook_xsl_wrapper/options.rb +1 -1
  10. data/lib/docbook_xsl_wrapper/validate.rb +22 -0
  11. data/lib/docbook_xsl_wrapper/version.rb +1 -1
  12. data/schema/docbookxi.rng +18654 -0
  13. data/spec/docbook_xsl_wrapper/validate_spec.rb +64 -0
  14. data/xsl/AUTHORS +4 -0
  15. data/xsl/COPYING +48 -0
  16. data/xsl/REVISION +1 -0
  17. data/xsl/VERSION.xsl +115 -0
  18. data/xsl/common/addns.xsl +124 -0
  19. data/xsl/common/af.xml +1272 -0
  20. data/xsl/common/am.xml +1272 -0
  21. data/xsl/common/ar.xml +1272 -0
  22. data/xsl/common/as.xml +703 -0
  23. data/xsl/common/ast.xml +703 -0
  24. data/xsl/common/autoidx-kimber.xsl +45 -0
  25. data/xsl/common/autoidx-kosek.xsl +155 -0
  26. data/xsl/common/az.xml +715 -0
  27. data/xsl/common/bg.xml +767 -0
  28. data/xsl/common/bn.xml +1272 -0
  29. data/xsl/common/bn_in.xml +703 -0
  30. data/xsl/common/bs.xml +705 -0
  31. data/xsl/common/ca.xml +703 -0
  32. data/xsl/common/charmap.xsl +222 -0
  33. data/xsl/common/common.xsl +2129 -0
  34. data/xsl/common/cs.xml +743 -0
  35. data/xsl/common/cy.xml +1288 -0
  36. data/xsl/common/da.xml +707 -0
  37. data/xsl/common/de.xml +709 -0
  38. data/xsl/common/el.xml +772 -0
  39. data/xsl/common/en.xml +1272 -0
  40. data/xsl/common/entities.ent +67 -0
  41. data/xsl/common/eo.xml +1272 -0
  42. data/xsl/common/es.xml +719 -0
  43. data/xsl/common/et.xml +1272 -0
  44. data/xsl/common/eu.xml +1272 -0
  45. data/xsl/common/fa.xml +703 -0
  46. data/xsl/common/fi.xml +713 -0
  47. data/xsl/common/fr.xml +733 -0
  48. data/xsl/common/ga.xml +1272 -0
  49. data/xsl/common/gentext.xsl +855 -0
  50. data/xsl/common/gl.xml +1272 -0
  51. data/xsl/common/gu.xml +703 -0
  52. data/xsl/common/he.xml +1272 -0
  53. data/xsl/common/hi.xml +703 -0
  54. data/xsl/common/hr.xml +705 -0
  55. data/xsl/common/hu.xml +721 -0
  56. data/xsl/common/id.xml +1272 -0
  57. data/xsl/common/insertfile.xsl +113 -0
  58. data/xsl/common/is.xml +715 -0
  59. data/xsl/common/it.xml +1272 -0
  60. data/xsl/common/ja.xml +703 -0
  61. data/xsl/common/ka.xml +743 -0
  62. data/xsl/common/kn.xml +1272 -0
  63. data/xsl/common/ko.xml +1272 -0
  64. data/xsl/common/ky.xml +775 -0
  65. data/xsl/common/l10n.dtd +64 -0
  66. data/xsl/common/l10n.xml +78 -0
  67. data/xsl/common/l10n.xsl +598 -0
  68. data/xsl/common/la.xml +1272 -0
  69. data/xsl/common/labels.xsl +933 -0
  70. data/xsl/common/lt.xml +721 -0
  71. data/xsl/common/lv.xml +1272 -0
  72. data/xsl/common/ml.xml +703 -0
  73. data/xsl/common/mn.xml +773 -0
  74. data/xsl/common/mr.xml +703 -0
  75. data/xsl/common/nb.xml +1272 -0
  76. data/xsl/common/nds.xml +709 -0
  77. data/xsl/common/nl.xml +703 -0
  78. data/xsl/common/nn.xml +1272 -0
  79. data/xsl/common/olink.xsl +1284 -0
  80. data/xsl/common/or.xml +1272 -0
  81. data/xsl/common/pa.xml +703 -0
  82. data/xsl/common/pi.xml +168 -0
  83. data/xsl/common/pi.xsl +347 -0
  84. data/xsl/common/pl.xml +721 -0
  85. data/xsl/common/pt.xml +1272 -0
  86. data/xsl/common/pt_br.xml +1272 -0
  87. data/xsl/common/refentry.xsl +1353 -0
  88. data/xsl/common/ro.xml +1272 -0
  89. data/xsl/common/ru.xml +769 -0
  90. data/xsl/common/sk.xml +1272 -0
  91. data/xsl/common/sl.xml +1272 -0
  92. data/xsl/common/sq.xml +1272 -0
  93. data/xsl/common/sr.xml +763 -0
  94. data/xsl/common/sr_Latn.xml +722 -0
  95. data/xsl/common/subtitles.xsl +181 -0
  96. data/xsl/common/sv.xml +707 -0
  97. data/xsl/common/ta.xml +703 -0
  98. data/xsl/common/table.xsl +515 -0
  99. data/xsl/common/targetdatabase.dtd +49 -0
  100. data/xsl/common/targets.xsl +338 -0
  101. data/xsl/common/te.xml +703 -0
  102. data/xsl/common/th.xml +1272 -0
  103. data/xsl/common/titles.xsl +850 -0
  104. data/xsl/common/tl.xml +1272 -0
  105. data/xsl/common/tr.xml +709 -0
  106. data/xsl/common/uk.xml +769 -0
  107. data/xsl/common/ur.xml +705 -0
  108. data/xsl/common/utility.xsl +291 -0
  109. data/xsl/common/vi.xml +1272 -0
  110. data/xsl/common/xh.xml +1272 -0
  111. data/xsl/common/zh.xml +703 -0
  112. data/xsl/common/zh_cn.xml +703 -0
  113. data/xsl/common/zh_tw.xml +703 -0
  114. data/xsl/epub/docbook.xsl +1769 -0
  115. data/xsl/epub3/chunk.xsl +30 -0
  116. data/xsl/epub3/docbook-epub.css.xml +142 -0
  117. data/xsl/epub3/docbook.xsl +20 -0
  118. data/xsl/epub3/epub3-chunk-mods.xsl +52 -0
  119. data/xsl/epub3/epub3-element-mods.xsl +2533 -0
  120. data/xsl/epub3/titlepage.templates.xml +712 -0
  121. data/xsl/epub3/titlepage.templates.xsl +3842 -0
  122. data/xsl/lib/lib.xsl +533 -0
  123. data/xsl/xhtml/admon.xsl +142 -0
  124. data/xsl/xhtml/annotations.xsl +160 -0
  125. data/xsl/xhtml/autoidx.xsl +831 -0
  126. data/xsl/xhtml/autotoc.xsl +706 -0
  127. data/xsl/xhtml/biblio-iso690.xsl +1302 -0
  128. data/xsl/xhtml/biblio.xsl +1371 -0
  129. data/xsl/xhtml/block.xsl +584 -0
  130. data/xsl/xhtml/callout.xsl +210 -0
  131. data/xsl/xhtml/chunk-code.xsl +675 -0
  132. data/xsl/xhtml/chunk-common.xsl +1627 -0
  133. data/xsl/xhtml/chunker.xsl +317 -0
  134. data/xsl/xhtml/component.xsl +440 -0
  135. data/xsl/xhtml/division.xsl +214 -0
  136. data/xsl/xhtml/ebnf.xsl +331 -0
  137. data/xsl/xhtml/footnote.xsl +346 -0
  138. data/xsl/xhtml/formal.xsl +496 -0
  139. data/xsl/xhtml/glossary.xsl +602 -0
  140. data/xsl/xhtml/graphics.xsl +1537 -0
  141. data/xsl/xhtml/html-rtf.xsl +321 -0
  142. data/xsl/xhtml/html.xsl +690 -0
  143. data/xsl/xhtml/htmltbl.xsl +102 -0
  144. data/xsl/xhtml/index.xsl +264 -0
  145. data/xsl/xhtml/info.xsl +48 -0
  146. data/xsl/xhtml/inline.xsl +1508 -0
  147. data/xsl/xhtml/its.xsl +109 -0
  148. data/xsl/xhtml/keywords.xsl +38 -0
  149. data/xsl/xhtml/lists.xsl +1227 -0
  150. data/xsl/xhtml/math.xsl +286 -0
  151. data/xsl/xhtml/param.xsl +449 -0
  152. data/xsl/xhtml/pi.xsl +1237 -0
  153. data/xsl/xhtml/qandaset.xsl +440 -0
  154. data/xsl/xhtml/refentry.xsl +307 -0
  155. data/xsl/xhtml/sections.xsl +564 -0
  156. data/xsl/xhtml/synop.xsl +1623 -0
  157. data/xsl/xhtml/table.xsl +1179 -0
  158. data/xsl/xhtml/task.xsl +76 -0
  159. data/xsl/xhtml/titlepage.templates.xsl +4005 -0
  160. data/xsl/xhtml/titlepage.xsl +1108 -0
  161. data/xsl/xhtml/toc.xsl +334 -0
  162. data/xsl/xhtml/verbatim.xsl +389 -0
  163. data/xsl/xhtml/xref.xsl +1268 -0
  164. data/xsl/xhtml5/docbook.xsl +22 -0
  165. data/xsl/xhtml5/html5-chunk-mods.xsl +112 -0
  166. data/xsl/xhtml5/html5-element-mods.xsl +791 -0
  167. data/xsl/xhtml5/xhtml-docbook.xsl +531 -0
  168. metadata +207 -27
  169. data/.rvmrc +0 -48
  170. data/xslt/obfuscate.xsl +0 -12
@@ -0,0 +1,168 @@
1
+ <?xml version="1.0"?>
2
+
3
+ <reference><info><title>Common Processing Instruction Reference</title>
4
+ <releaseinfo role="meta">
5
+ $Id: pi.xsl 8782 2010-07-27 21:15:17Z mzjn $
6
+ </releaseinfo>
7
+ </info>
8
+ <partintro xml:id="partintro">
9
+ <title>Introduction</title>
10
+
11
+ <para>This is generated reference documentation for all
12
+ user-specifiable processing instructions (PIs) in the
13
+ “common” part of the DocBook XSL stylesheets.
14
+ <note>
15
+
16
+ <para>You add these PIs at particular points in a document to
17
+ cause specific “exceptions” to formatting/output behavior. To
18
+ make global changes in formatting/output behavior across an
19
+ entire document, it’s better to do it by setting an
20
+ appropriate stylesheet parameter (if there is one).</para>
21
+
22
+ </note>
23
+ </para>
24
+
25
+ </partintro>
26
+
27
+ <refentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="dbchoice_choice">
28
+ <refnamediv>
29
+ <refname>dbchoice_choice</refname>
30
+ <refpurpose>Generates a localized choice separator</refpurpose>
31
+ </refnamediv>
32
+ <refsynopsisdiv>
33
+
34
+ <synopsis><tag class="xmlpi">dbchoice choice="and"|"or"|<replaceable>string</replaceable>"</tag></synopsis>
35
+
36
+ </refsynopsisdiv>
37
+ <refsect1><title>Description</title>
38
+
39
+ <para>Use the <tag class="xmlpi">dbchoice choice</tag> PI to
40
+ generate an appropriate localized “choice” separator (for
41
+ example, <literal>and</literal> or <literal>or</literal>)
42
+ before the final item in an inline <tag>simplelist</tag></para>
43
+
44
+ <warning>
45
+
46
+ <para>This PI is a less-than-ideal hack; support for it may
47
+ disappear in the future (particularly if and when a more
48
+ appropriate means for marking up "choice" lists becomes
49
+ available in DocBook).</para>
50
+
51
+ </warning>
52
+ </refsect1><refsect1><title>Parameters</title>
53
+
54
+ <variablelist>
55
+ <varlistentry><term>choice="and"</term>
56
+ <listitem>
57
+
58
+ <para>generates a localized <literal>and</literal> separator</para>
59
+
60
+ </listitem>
61
+ </varlistentry>
62
+ <varlistentry><term>choice="or"</term>
63
+ <listitem>
64
+
65
+ <para>generates a localized <literal>or</literal> separator</para>
66
+
67
+ </listitem>
68
+ </varlistentry>
69
+ <varlistentry><term>choice="<replaceable>string</replaceable>"</term>
70
+ <listitem>
71
+
72
+ <para>generates a literal <replaceable>string</replaceable> separator</para>
73
+
74
+ </listitem>
75
+ </varlistentry>
76
+ </variablelist>
77
+
78
+ </refsect1></refentry>
79
+
80
+ <refentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="dbtimestamp">
81
+ <refnamediv>
82
+ <refname>dbtimestamp</refname>
83
+ <refpurpose>Inserts a date timestamp</refpurpose>
84
+ </refnamediv>
85
+ <refsynopsisdiv>
86
+
87
+ <synopsis><tag class="xmlpi">dbtimestamp format="<replaceable>formatstring</replaceable>" [padding="0"|"1"]</tag></synopsis>
88
+
89
+ </refsynopsisdiv>
90
+ <refsect1><title>Description</title>
91
+
92
+ <para>Use the <tag class="xmlpi">dbtimestamp</tag> PI at any point in a
93
+ source document to cause a date timestamp (a formatted
94
+ string representing the current date and time) to be
95
+ inserted in output of the document.</para>
96
+
97
+ </refsect1><refsect1><title>Parameters</title>
98
+
99
+ <variablelist>
100
+ <varlistentry><term>format="<replaceable>formatstring</replaceable>"</term>
101
+ <listitem>
102
+
103
+ <para>Specifies format in which the date and time are
104
+ output</para>
105
+
106
+ <note>
107
+
108
+ <para>For details of the content of the format string,
109
+ see <link role="tcg" xlink:href="Datetime.html">Date and time</link>.</para>
110
+
111
+ </note>
112
+ </listitem>
113
+ </varlistentry>
114
+ <varlistentry><term>padding="0"|"1"</term>
115
+ <listitem>
116
+
117
+ <para>Specifies padding behavior; if non-zero, padding is is added</para>
118
+
119
+ </listitem>
120
+ </varlistentry>
121
+ </variablelist>
122
+
123
+ </refsect1></refentry>
124
+
125
+ <refentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="dbtex_delims">
126
+ <refnamediv>
127
+ <refname>dbtex_delims</refname>
128
+ <refpurpose>Generates delimiters around embedded TeX equations
129
+ in output</refpurpose>
130
+ </refnamediv>
131
+ <refsynopsisdiv>
132
+
133
+ <synopsis><tag class="xmlpi">dbtex delims="no"|"yes"</tag></synopsis>
134
+
135
+ </refsynopsisdiv>
136
+ <refsect1><title>Description</title>
137
+
138
+ <para>Use the <tag class="xmlpi">dbtex delims</tag> PI as a
139
+ child of a <tag>textobject</tag> containing embedded TeX
140
+ markup, to cause that markup to be surrounded by
141
+ <literal>$</literal> delimiter characters in output.</para>
142
+
143
+ <warning>
144
+
145
+ <para>This feature is useful for print/PDF output only if you
146
+ use the obsolete and now unsupported PassiveTeX XSL-FO
147
+ engine.</para>
148
+
149
+ </warning>
150
+ </refsect1><refsect1><title>Parameters</title>
151
+
152
+ <variablelist>
153
+ <varlistentry><term>dbtex delims="no"|"yes"</term>
154
+ <listitem>
155
+
156
+ <para>Specifies whether delimiters are output</para>
157
+
158
+ </listitem>
159
+ </varlistentry>
160
+ </variablelist>
161
+
162
+ </refsect1><refsect1 role="params"><title>Related Global Parameters</title>
163
+
164
+ <para><parameter>tex.math.delims</parameter></para>
165
+
166
+ </refsect1></refentry>
167
+ </reference>
168
+
@@ -0,0 +1,347 @@
1
+ <?xml version='1.0'?>
2
+ <xsl:stylesheet
3
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
4
+ xmlns:d="http://docbook.org/ns/docbook"
5
+ xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
6
+ xmlns:date="http://exslt.org/dates-and-times"
7
+ xmlns:exsl="http://exslt.org/common"
8
+ xmlns:xlink="http://www.w3.org/1999/xlink"
9
+ exclude-result-prefixes="doc date exsl d"
10
+ extension-element-prefixes="date exsl"
11
+ version='1.0'>
12
+
13
+ <!-- ********************************************************************
14
+ $Id: pi.xsl 8782 2010-07-27 21:15:17Z mzjn $
15
+ ********************************************************************
16
+
17
+ This file is part of the XSL DocBook Stylesheet distribution.
18
+ See ../README or http://docbook.sf.net/release/xsl/current/ for
19
+ copyright and other information.
20
+
21
+ ******************************************************************** -->
22
+
23
+ <doc:reference xmlns=""><info><title>Common Processing Instruction Reference</title>
24
+ <releaseinfo role="meta">
25
+ $Id: pi.xsl 8782 2010-07-27 21:15:17Z mzjn $
26
+ </releaseinfo>
27
+ </info>
28
+ <partintro id="partintro">
29
+ <title>Introduction</title>
30
+ <para>This is generated reference documentation for all
31
+ user-specifiable processing instructions (PIs) in the
32
+ “common” part of the DocBook XSL stylesheets.
33
+ <note>
34
+ <para>You add these PIs at particular points in a document to
35
+ cause specific “exceptions” to formatting/output behavior. To
36
+ make global changes in formatting/output behavior across an
37
+ entire document, it’s better to do it by setting an
38
+ appropriate stylesheet parameter (if there is one).</para>
39
+ </note>
40
+ </para>
41
+ </partintro>
42
+ </doc:reference>
43
+
44
+ <!-- ==================================================================== -->
45
+ <doc:pi name="dbchoice_choice" xmlns="">
46
+ <refpurpose>Generates a localized choice separator</refpurpose>
47
+ <refdescription id="select.choice.separator-desc">
48
+ <para>Use the <tag class="xmlpi">dbchoice choice</tag> PI to
49
+ generate an appropriate localized “choice” separator (for
50
+ example, <literal>and</literal> or <literal>or</literal>)
51
+ before the final item in an inline <tag>simplelist</tag></para>
52
+ <warning>
53
+ <para>This PI is a less-than-ideal hack; support for it may
54
+ disappear in the future (particularly if and when a more
55
+ appropriate means for marking up "choice" lists becomes
56
+ available in DocBook).</para>
57
+ </warning>
58
+ </refdescription>
59
+ <refsynopsisdiv>
60
+ <synopsis><tag class="xmlpi">dbchoice choice="and"|"or"|<replaceable>string</replaceable>"</tag></synopsis>
61
+ </refsynopsisdiv>
62
+ <refparameter>
63
+ <variablelist>
64
+ <varlistentry><term>choice="and"</term>
65
+ <listitem>
66
+ <para>generates a localized <literal>and</literal> separator</para>
67
+ </listitem>
68
+ </varlistentry>
69
+ <varlistentry><term>choice="or"</term>
70
+ <listitem>
71
+ <para>generates a localized <literal>or</literal> separator</para>
72
+ </listitem>
73
+ </varlistentry>
74
+ <varlistentry><term>choice="<replaceable>string</replaceable>"</term>
75
+ <listitem>
76
+ <para>generates a literal <replaceable>string</replaceable> separator</para>
77
+ </listitem>
78
+ </varlistentry>
79
+ </variablelist>
80
+ </refparameter>
81
+ </doc:pi>
82
+ <xsl:template name="pi.dbchoice_choice">
83
+ <xsl:param name="node" select="."/>
84
+ <xsl:call-template name="pi-attribute">
85
+ <xsl:with-param name="pis" select="$node/processing-instruction('dbchoice')"/>
86
+ <xsl:with-param name="attribute">choice</xsl:with-param>
87
+ </xsl:call-template>
88
+ </xsl:template>
89
+
90
+ <doc:pi name="dbtimestamp" xmlns="">
91
+ <refpurpose>Inserts a date timestamp</refpurpose>
92
+ <refdescription>
93
+ <para>Use the <tag class="xmlpi">dbtimestamp</tag> PI at any point in a
94
+ source document to cause a date timestamp (a formatted
95
+ string representing the current date and time) to be
96
+ inserted in output of the document.</para>
97
+ </refdescription>
98
+ <refsynopsisdiv>
99
+ <synopsis><tag class="xmlpi">dbtimestamp format="<replaceable>formatstring</replaceable>" [padding="0"|"1"]</tag></synopsis>
100
+ </refsynopsisdiv>
101
+ <refparameter>
102
+ <variablelist>
103
+ <varlistentry><term>format="<replaceable>formatstring</replaceable>"</term>
104
+ <listitem>
105
+ <para>Specifies format in which the date and time are
106
+ output</para>
107
+ <note>
108
+ <para>For details of the content of the format string,
109
+ see <link role="tcg" xlink:href="Datetime.html"
110
+ >Date and time</link>.</para>
111
+ </note>
112
+ </listitem>
113
+ </varlistentry>
114
+ <varlistentry><term>padding="0"|"1"</term>
115
+ <listitem>
116
+ <para>Specifies padding behavior; if non-zero, padding is is added</para>
117
+ </listitem>
118
+ </varlistentry>
119
+ </variablelist>
120
+ </refparameter>
121
+ </doc:pi>
122
+ <xsl:template name="pi.dbtimestamp">
123
+ <xsl:variable name="format">
124
+ <xsl:variable name="pi-format">
125
+ <xsl:call-template name="pi-attribute">
126
+ <xsl:with-param name="pis" select="."/>
127
+ <xsl:with-param name="attribute">format</xsl:with-param>
128
+ </xsl:call-template>
129
+ </xsl:variable>
130
+ <xsl:choose>
131
+ <xsl:when test="$pi-format != ''">
132
+ <xsl:value-of select="$pi-format"/>
133
+ </xsl:when>
134
+ <xsl:otherwise>
135
+ <xsl:call-template name="gentext.template">
136
+ <xsl:with-param name="context" select="'datetime'"/>
137
+ <xsl:with-param name="name" select="'format'"/>
138
+ </xsl:call-template>
139
+ </xsl:otherwise>
140
+ </xsl:choose>
141
+ </xsl:variable>
142
+ <xsl:variable name="padding">
143
+ <xsl:variable name="pi-padding">
144
+ <xsl:call-template name="pi-attribute">
145
+ <xsl:with-param name="pis" select="."/>
146
+ <xsl:with-param name="attribute">padding</xsl:with-param>
147
+ </xsl:call-template>
148
+ </xsl:variable>
149
+ <xsl:choose>
150
+ <xsl:when test="$pi-padding != ''">
151
+ <xsl:value-of select="$pi-padding"/>
152
+ </xsl:when>
153
+ <xsl:otherwise>1</xsl:otherwise>
154
+ </xsl:choose>
155
+ </xsl:variable>
156
+ <xsl:variable name="date">
157
+ <xsl:choose>
158
+ <xsl:when test="function-available('date:date-time')">
159
+ <xsl:value-of select="date:date-time()"/>
160
+ </xsl:when>
161
+ <xsl:when test="function-available('date:dateTime')">
162
+ <!-- Xalan quirk -->
163
+ <xsl:value-of select="date:dateTime()"/>
164
+ </xsl:when>
165
+ </xsl:choose>
166
+ </xsl:variable>
167
+ <xsl:choose>
168
+ <xsl:when test="function-available('date:date-time') or
169
+ function-available('date:dateTime')">
170
+ <xsl:call-template name="datetime.format">
171
+ <xsl:with-param name="date" select="$date"/>
172
+ <xsl:with-param name="format" select="$format"/>
173
+ <xsl:with-param name="padding" select="$padding"/>
174
+ </xsl:call-template>
175
+ </xsl:when>
176
+ <xsl:otherwise>
177
+ <xsl:message>
178
+ Timestamp processing requires XSLT processor with EXSLT date support.
179
+ </xsl:message>
180
+ </xsl:otherwise>
181
+ </xsl:choose>
182
+ </xsl:template>
183
+
184
+ <doc:pi name="dbtex_delims" xmlns="">
185
+ <refpurpose>Generates delimiters around embedded TeX equations
186
+ in output</refpurpose>
187
+ <refdescription>
188
+ <para>Use the <tag class="xmlpi">dbtex delims</tag> PI as a
189
+ child of a <tag>textobject</tag> containing embedded TeX
190
+ markup, to cause that markup to be surrounded by
191
+ <literal>$</literal> delimiter characters in output.</para>
192
+ <warning>
193
+ <para>This feature is useful for print/PDF output only if you
194
+ use the obsolete and now unsupported PassiveTeX XSL-FO
195
+ engine.</para>
196
+ </warning>
197
+ </refdescription>
198
+ <refsynopsisdiv>
199
+ <synopsis><tag class="xmlpi">dbtex delims="no"|"yes"</tag></synopsis>
200
+ </refsynopsisdiv>
201
+ <refparameter>
202
+ <variablelist>
203
+ <varlistentry><term>dbtex delims="no"|"yes"</term>
204
+ <listitem>
205
+ <para>Specifies whether delimiters are output</para>
206
+ </listitem>
207
+ </varlistentry>
208
+ </variablelist>
209
+ </refparameter>
210
+
211
+ <refsee role="params">
212
+ <para><parameter>tex.math.delims</parameter></para>
213
+ </refsee>
214
+
215
+ </doc:pi>
216
+ <xsl:template name="pi.dbtex_delims">
217
+ <xsl:param name="node" select="."/>
218
+ <xsl:call-template name="pi-attribute">
219
+ <xsl:with-param name="pis" select="$node/processing-instruction('dbtex')"/>
220
+ <xsl:with-param name="attribute" select="'delims'"/>
221
+ </xsl:call-template>
222
+ </xsl:template>
223
+
224
+ <!-- ==================================================================== -->
225
+
226
+ <xsl:template match="processing-instruction()" mode="titlepage.mode">
227
+ <!-- * Als process PIs on title pages -->
228
+ <xsl:apply-templates select="."/>
229
+ </xsl:template>
230
+
231
+ <xsl:template match="processing-instruction('dbtimestamp')">
232
+ <xsl:call-template name="pi.dbtimestamp"/>
233
+ </xsl:template>
234
+
235
+ <xsl:template name="datetime.format">
236
+ <xsl:param name="date"/>
237
+ <xsl:param name="format"/>
238
+ <xsl:param name="padding" select="1"/>
239
+ <xsl:if test="$format != ''">
240
+ <!-- replace any whitespace in the format string with a non-breaking space -->
241
+ <xsl:variable name="format-nbsp"
242
+ select="translate($format,
243
+ '&#x20;&#x9;&#xd;&#xa;',
244
+ '&#xa0;&#xa0;&#xa0;&#xa0;')"/>
245
+ <xsl:variable name="tokenized-format-string">
246
+ <xsl:call-template name="str.tokenize.keep.delimiters">
247
+ <xsl:with-param name="string" select="$format-nbsp"/>
248
+ <xsl:with-param name="delimiters" select="'&#xa0;,./-()[]:'"/>
249
+ </xsl:call-template>
250
+ </xsl:variable>
251
+ <xsl:choose>
252
+ <xsl:when test="$exsl.node.set.available != 0">
253
+ <!-- We must preserve context node in order to get valid language -->
254
+ <xsl:variable name="context" select="."/>
255
+ <xsl:for-each select="exsl:node-set($tokenized-format-string)/node()">
256
+ <xsl:variable name="token">
257
+ <xsl:value-of select="."/>
258
+ </xsl:variable>
259
+ <!-- Restore context node -->
260
+ <xsl:for-each select="$context">
261
+ <xsl:choose>
262
+ <xsl:when test="$token = 'a'">
263
+ <xsl:call-template name="gentext.template">
264
+ <xsl:with-param name="context" select="'datetime-abbrev'"/>
265
+ <xsl:with-param name="name" select="date:day-abbreviation($date)"/>
266
+ </xsl:call-template>
267
+ </xsl:when>
268
+ <xsl:when test="$token = 'A'">
269
+ <xsl:call-template name="gentext.template">
270
+ <xsl:with-param name="context" select="'datetime-full'"/>
271
+ <xsl:with-param name="name" select="date:day-name($date)"/>
272
+ </xsl:call-template>
273
+ </xsl:when>
274
+ <xsl:when test="$token = 'b'">
275
+ <xsl:call-template name="gentext.template">
276
+ <xsl:with-param name="context" select="'datetime-abbrev'"/>
277
+ <xsl:with-param name="name" select="date:month-abbreviation($date)"/>
278
+ </xsl:call-template>
279
+ </xsl:when>
280
+ <xsl:when test="$token = 'c'">
281
+ <xsl:value-of select="date:date($date)"/>
282
+ <xsl:text> </xsl:text>
283
+ <xsl:value-of select="date:time($date)"/>
284
+ </xsl:when>
285
+ <xsl:when test="$token = 'B'">
286
+ <xsl:call-template name="gentext.template">
287
+ <xsl:with-param name="context" select="'datetime-full'"/>
288
+ <xsl:with-param name="name" select="date:month-name($date)"/>
289
+ </xsl:call-template>
290
+ </xsl:when>
291
+ <xsl:when test="$token = 'd'">
292
+ <xsl:if test="$padding = 1 and
293
+ string-length(date:day-in-month($date)) = 1">0</xsl:if>
294
+ <xsl:value-of select="date:day-in-month($date)"/>
295
+ </xsl:when>
296
+ <xsl:when test="$token = 'H'">
297
+ <xsl:if test="$padding = 1 and string-length(date:hour-in-day($date)) = 1">0</xsl:if>
298
+ <xsl:value-of select="date:hour-in-day($date)"/>
299
+ </xsl:when>
300
+ <xsl:when test="$token = 'j'">
301
+ <xsl:value-of select="date:day-in-year($date)"/>
302
+ </xsl:when>
303
+ <xsl:when test="$token = 'm'">
304
+ <xsl:if test="$padding = 1 and string-length(date:month-in-year($date)) = 1">0</xsl:if>
305
+ <xsl:value-of select="date:month-in-year($date)"/>
306
+ </xsl:when>
307
+ <xsl:when test="$token = 'M'">
308
+ <xsl:if test="string-length(date:minute-in-hour($date)) = 1">0</xsl:if>
309
+ <xsl:value-of select="date:minute-in-hour($date)"/>
310
+ </xsl:when>
311
+ <xsl:when test="$token = 'S'">
312
+ <xsl:if test="string-length(date:second-in-minute($date)) = 1">0</xsl:if>
313
+ <xsl:value-of select="date:second-in-minute($date)"/>
314
+ </xsl:when>
315
+ <xsl:when test="$token = 'U'">
316
+ <xsl:value-of select="date:week-in-year($date)"/>
317
+ </xsl:when>
318
+ <xsl:when test="$token = 'w'">
319
+ <xsl:value-of select="date:day-in-week($date)"/>
320
+ </xsl:when>
321
+ <xsl:when test="$token = 'x'">
322
+ <xsl:value-of select="date:date($date)"/>
323
+ </xsl:when>
324
+ <xsl:when test="$token = 'X'">
325
+ <xsl:value-of select="date:time($date)"/>
326
+ </xsl:when>
327
+ <xsl:when test="$token = 'Y'">
328
+ <xsl:value-of select="date:year($date)"/>
329
+ </xsl:when>
330
+ <xsl:otherwise>
331
+ <xsl:value-of select="$token"/>
332
+ </xsl:otherwise>
333
+ </xsl:choose>
334
+ </xsl:for-each>
335
+ </xsl:for-each>
336
+ </xsl:when>
337
+ <xsl:otherwise>
338
+ <xsl:message>
339
+ Timestamp processing requires an XSLT processor with support
340
+ for the EXSLT node-set() function.
341
+ </xsl:message>
342
+ </xsl:otherwise>
343
+ </xsl:choose>
344
+ </xsl:if>
345
+ </xsl:template>
346
+
347
+ </xsl:stylesheet>