static-content.xsl 42 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930
  1. <?xml version='1.0'?>
  2. <!--
  3. Copyright © 2004-2006 by Idiom Technologies, Inc. All rights reserved.
  4. IDIOM is a registered trademark of Idiom Technologies, Inc. and WORLDSERVER
  5. and WORLDSTART are trademarks of Idiom Technologies, Inc. All other
  6. trademarks are the property of their respective owners.
  7. IDIOM TECHNOLOGIES, INC. IS DELIVERING THE SOFTWARE "AS IS," WITH
  8. ABSOLUTELY NO WARRANTIES WHATSOEVER, WHETHER EXPRESS OR IMPLIED, AND IDIOM
  9. TECHNOLOGIES, INC. DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
  10. BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  11. PURPOSE AND WARRANTY OF NON-INFRINGEMENT. IDIOM TECHNOLOGIES, INC. SHALL NOT
  12. BE LIABLE FOR INDIRECT, INCIDENTAL, SPECIAL, COVER, PUNITIVE, EXEMPLARY,
  13. RELIANCE, OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT LIMITED TO LOSS OF
  14. ANTICIPATED PROFIT), ARISING FROM ANY CAUSE UNDER OR RELATED TO OR ARISING
  15. OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE, EVEN IF IDIOM
  16. TECHNOLOGIES, INC. HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
  17. Idiom Technologies, Inc. and its licensors shall not be liable for any
  18. damages suffered by any person as a result of using and/or modifying the
  19. Software or its derivatives. In no event shall Idiom Technologies, Inc.'s
  20. liability for any damages hereunder exceed the amounts received by Idiom
  21. Technologies, Inc. as a result of this transaction.
  22. These terms and conditions supersede the terms and conditions in any
  23. licensing agreement to the extent that such terms and conditions conflict
  24. with those set forth herein.
  25. This file is part of the DITA Open Toolkit project hosted on Sourceforge.net.
  26. See the accompanying license.txt file for applicable licenses.
  27. -->
  28. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  29. xmlns:fo="http://www.w3.org/1999/XSL/Format"
  30. version="2.0">
  31. <xsl:template name="insertBodyStaticContents">
  32. <xsl:call-template name="insertBodyFootnoteSeparator"/>
  33. <xsl:call-template name="insertBodyOddFooter"/>
  34. <xsl:if test="$mirror-page-margins">
  35. <xsl:call-template name="insertBodyEvenFooter"/>
  36. </xsl:if>
  37. <xsl:call-template name="insertBodyOddHeader"/>
  38. <xsl:if test="$mirror-page-margins">
  39. <xsl:call-template name="insertBodyEvenHeader"/>
  40. </xsl:if>
  41. <xsl:call-template name="insertBodyFirstHeader"/>
  42. <xsl:call-template name="insertBodyFirstFooter"/>
  43. <xsl:call-template name="insertBodyLastHeader"/>
  44. <xsl:call-template name="insertBodyLastFooter"/>
  45. </xsl:template>
  46. <xsl:template name="insertTocStaticContents">
  47. <xsl:call-template name="insertTocOddFooter"/>
  48. <xsl:if test="$mirror-page-margins">
  49. <xsl:call-template name="insertTocEvenFooter"/>
  50. </xsl:if>
  51. <xsl:call-template name="insertTocOddHeader"/>
  52. <xsl:if test="$mirror-page-margins">
  53. <xsl:call-template name="insertTocEvenHeader"/>
  54. </xsl:if>
  55. </xsl:template>
  56. <xsl:template name="insertIndexStaticContents">
  57. <xsl:call-template name="insertIndexOddFooter"/>
  58. <xsl:if test="$mirror-page-margins">
  59. <xsl:call-template name="insertIndexEvenFooter"/>
  60. </xsl:if>
  61. <xsl:call-template name="insertIndexOddHeader"/>
  62. <xsl:if test="$mirror-page-margins">
  63. <xsl:call-template name="insertIndexEvenHeader"/>
  64. </xsl:if>
  65. </xsl:template>
  66. <xsl:template name="insertPrefaceStaticContents">
  67. <xsl:call-template name="insertPrefaceFootnoteSeparator"/>
  68. <xsl:call-template name="insertPrefaceOddFooter"/>
  69. <xsl:if test="$mirror-page-margins">
  70. <xsl:call-template name="insertPrefaceEvenFooter"/>
  71. </xsl:if>
  72. <xsl:call-template name="insertPrefaceOddHeader"/>
  73. <xsl:if test="$mirror-page-margins">
  74. <xsl:call-template name="insertPrefaceEvenHeader"/>
  75. </xsl:if>
  76. <xsl:call-template name="insertPrefaceFirstHeader"/>
  77. <xsl:call-template name="insertPrefaceFirstFooter"/>
  78. </xsl:template>
  79. <xsl:template name="insertFrontMatterStaticContents">
  80. <xsl:call-template name="insertFrontMatterFootnoteSeparator"/>
  81. <xsl:call-template name="insertFrontMatterOddFooter"/>
  82. <xsl:if test="$mirror-page-margins">
  83. <xsl:call-template name="insertFrontMatterEvenFooter"/>
  84. </xsl:if>
  85. <xsl:call-template name="insertFrontMatterOddHeader"/>
  86. <xsl:if test="$mirror-page-margins">
  87. <xsl:call-template name="insertFrontMatterEvenHeader"/>
  88. </xsl:if>
  89. </xsl:template>
  90. <xsl:template name="insertBackCoverStaticContents">
  91. <xsl:call-template name="insertBackCoverOddFooter"/>
  92. <xsl:if test="$mirror-page-margins">
  93. <xsl:call-template name="insertBackCoverEvenFooter"/>
  94. </xsl:if>
  95. <xsl:call-template name="insertBackCoverOddHeader"/>
  96. <xsl:if test="$mirror-page-margins">
  97. <xsl:call-template name="insertBackCoverEvenHeader"/>
  98. </xsl:if>
  99. </xsl:template>
  100. <xsl:template name="insertGlossaryStaticContents">
  101. <xsl:call-template name="insertGlossaryOddFooter"/>
  102. <xsl:if test="$mirror-page-margins">
  103. <xsl:call-template name="insertGlossaryEvenFooter"/>
  104. </xsl:if>
  105. <xsl:call-template name="insertGlossaryOddHeader"/>
  106. <xsl:if test="$mirror-page-margins">
  107. <xsl:call-template name="insertGlossaryEvenHeader"/>
  108. </xsl:if>
  109. </xsl:template>
  110. <xsl:template name="insertBodyOddHeader">
  111. <fo:static-content flow-name="odd-body-header">
  112. <fo:block xsl:use-attribute-sets="__body__odd__header">
  113. <xsl:call-template name="getVariable">
  114. <xsl:with-param name="id" select="'Body odd header'"/>
  115. <xsl:with-param name="params">
  116. <prodname>
  117. <xsl:value-of select="$productName"/>
  118. </prodname>
  119. <heading>
  120. <fo:inline xsl:use-attribute-sets="__body__odd__header__heading">
  121. <fo:retrieve-marker retrieve-class-name="current-header"/>
  122. </fo:inline>
  123. </heading>
  124. <pagenum>
  125. <fo:inline xsl:use-attribute-sets="__body__odd__header__pagenum">
  126. <fo:page-number/>
  127. </fo:inline>
  128. </pagenum>
  129. </xsl:with-param>
  130. </xsl:call-template>
  131. </fo:block>
  132. </fo:static-content>
  133. </xsl:template>
  134. <xsl:template name="insertBodyEvenHeader">
  135. <fo:static-content flow-name="even-body-header">
  136. <fo:block xsl:use-attribute-sets="__body__even__header">
  137. <xsl:call-template name="getVariable">
  138. <xsl:with-param name="id" select="'Body even header'"/>
  139. <xsl:with-param name="params">
  140. <prodname>
  141. <xsl:value-of select="$productName"/>
  142. </prodname>
  143. <heading>
  144. <fo:inline xsl:use-attribute-sets="__body__even__header__heading">
  145. <fo:retrieve-marker retrieve-class-name="current-header"/>
  146. </fo:inline>
  147. </heading>
  148. <pagenum>
  149. <fo:inline xsl:use-attribute-sets="__body__even__header__pagenum">
  150. <fo:page-number/>
  151. </fo:inline>
  152. </pagenum>
  153. </xsl:with-param>
  154. </xsl:call-template>
  155. </fo:block>
  156. </fo:static-content>
  157. </xsl:template>
  158. <xsl:template name="insertBodyFirstHeader">
  159. <fo:static-content flow-name="first-body-header">
  160. <fo:block xsl:use-attribute-sets="__body__first__header">
  161. <xsl:call-template name="getVariable">
  162. <xsl:with-param name="id" select="'Body first header'"/>
  163. <xsl:with-param name="params">
  164. <prodname>
  165. <xsl:value-of select="$productName"/>
  166. </prodname>
  167. <heading>
  168. <fo:inline xsl:use-attribute-sets="__body__first__header__heading">
  169. <fo:retrieve-marker retrieve-class-name="current-header"/>
  170. </fo:inline>
  171. </heading>
  172. <pagenum>
  173. <fo:inline xsl:use-attribute-sets="__body__first__header__pagenum">
  174. <fo:page-number/>
  175. </fo:inline>
  176. </pagenum>
  177. </xsl:with-param>
  178. </xsl:call-template>
  179. </fo:block>
  180. </fo:static-content>
  181. </xsl:template>
  182. <xsl:template name="insertBodyFirstFooter">
  183. <fo:static-content flow-name="first-body-footer">
  184. <fo:block xsl:use-attribute-sets="__body__first__footer">
  185. <xsl:call-template name="getVariable">
  186. <xsl:with-param name="id" select="'Body first footer'"/>
  187. <xsl:with-param name="params">
  188. <heading>
  189. <fo:inline xsl:use-attribute-sets="__body__first__footer__heading">
  190. <fo:retrieve-marker retrieve-class-name="current-header"/>
  191. </fo:inline>
  192. </heading>
  193. <pagenum>
  194. <fo:inline xsl:use-attribute-sets="__body__first__footer__pagenum">
  195. <fo:page-number/>
  196. </fo:inline>
  197. </pagenum>
  198. </xsl:with-param>
  199. </xsl:call-template>
  200. </fo:block>
  201. </fo:static-content>
  202. </xsl:template>
  203. <xsl:template name="insertBodyLastHeader">
  204. <fo:static-content flow-name="last-body-header">
  205. <fo:block xsl:use-attribute-sets="__body__last__header">
  206. </fo:block>
  207. </fo:static-content>
  208. </xsl:template>
  209. <xsl:template name="insertBodyLastFooter">
  210. <fo:static-content flow-name="last-body-footer">
  211. <fo:block xsl:use-attribute-sets="__body__last__footer">
  212. </fo:block>
  213. </fo:static-content>
  214. </xsl:template>
  215. <xsl:template name="insertBodyFootnoteSeparator">
  216. <fo:static-content flow-name="xsl-footnote-separator">
  217. <fo:block>
  218. <fo:leader xsl:use-attribute-sets="__body__footnote__separator"/>
  219. </fo:block>
  220. </fo:static-content>
  221. </xsl:template>
  222. <xsl:template name="insertBodyOddFooter">
  223. <fo:static-content flow-name="odd-body-footer">
  224. <fo:block xsl:use-attribute-sets="__body__odd__footer">
  225. <xsl:call-template name="getVariable">
  226. <xsl:with-param name="id" select="'Body odd footer'"/>
  227. <xsl:with-param name="params">
  228. <heading>
  229. <fo:inline xsl:use-attribute-sets="__body__odd__footer__heading">
  230. <fo:retrieve-marker retrieve-class-name="current-header"/>
  231. </fo:inline>
  232. </heading>
  233. <pagenum>
  234. <fo:inline xsl:use-attribute-sets="__body__odd__footer__pagenum">
  235. <fo:page-number/>
  236. </fo:inline>
  237. </pagenum>
  238. </xsl:with-param>
  239. </xsl:call-template>
  240. </fo:block>
  241. </fo:static-content>
  242. </xsl:template>
  243. <xsl:template name="insertBodyEvenFooter">
  244. <fo:static-content flow-name="even-body-footer">
  245. <fo:block xsl:use-attribute-sets="__body__even__footer">
  246. <xsl:call-template name="getVariable">
  247. <xsl:with-param name="id" select="'Body even footer'"/>
  248. <xsl:with-param name="params">
  249. <heading>
  250. <fo:inline xsl:use-attribute-sets="__body__even__footer__heading">
  251. <fo:retrieve-marker retrieve-class-name="current-header"/>
  252. </fo:inline>
  253. </heading>
  254. <pagenum>
  255. <fo:inline xsl:use-attribute-sets="__body__even__footer__pagenum">
  256. <fo:page-number/>
  257. </fo:inline>
  258. </pagenum>
  259. </xsl:with-param>
  260. </xsl:call-template>
  261. </fo:block>
  262. </fo:static-content>
  263. </xsl:template>
  264. <xsl:template name="insertTocOddHeader">
  265. <fo:static-content flow-name="odd-toc-header">
  266. <fo:block xsl:use-attribute-sets="__toc__odd__header">
  267. <xsl:call-template name="getVariable">
  268. <xsl:with-param name="id" select="'Toc odd header'"/>
  269. <xsl:with-param name="params">
  270. <prodname>
  271. <xsl:value-of select="$productName"/>
  272. </prodname>
  273. <heading>
  274. <fo:inline xsl:use-attribute-sets="__body__odd__header__heading">
  275. <fo:retrieve-marker retrieve-class-name="current-header"/>
  276. </fo:inline>
  277. </heading>
  278. <pagenum>
  279. <fo:inline xsl:use-attribute-sets="__toc__odd__header__pagenum">
  280. <fo:page-number/>
  281. </fo:inline>
  282. </pagenum>
  283. </xsl:with-param>
  284. </xsl:call-template>
  285. </fo:block>
  286. </fo:static-content>
  287. </xsl:template>
  288. <xsl:template name="insertTocEvenHeader">
  289. <fo:static-content flow-name="even-toc-header">
  290. <fo:block xsl:use-attribute-sets="__toc__even__header">
  291. <xsl:call-template name="getVariable">
  292. <xsl:with-param name="id" select="'Toc even header'"/>
  293. <xsl:with-param name="params">
  294. <prodname>
  295. <xsl:value-of select="$productName"/>
  296. </prodname>
  297. <heading>
  298. <fo:inline xsl:use-attribute-sets="__body__even__header__heading">
  299. <fo:retrieve-marker retrieve-class-name="current-header"/>
  300. </fo:inline>
  301. </heading>
  302. <pagenum>
  303. <fo:inline xsl:use-attribute-sets="__toc__even__header__pagenum">
  304. <fo:page-number/>
  305. </fo:inline>
  306. </pagenum>
  307. </xsl:with-param>
  308. </xsl:call-template>
  309. </fo:block>
  310. </fo:static-content>
  311. </xsl:template>
  312. <xsl:template name="insertTocOddFooter">
  313. <fo:static-content flow-name="odd-toc-footer">
  314. <fo:block xsl:use-attribute-sets="__toc__odd__footer">
  315. <xsl:call-template name="getVariable">
  316. <xsl:with-param name="id" select="'Toc odd footer'"/>
  317. <xsl:with-param name="params">
  318. <pagenum>
  319. <fo:inline xsl:use-attribute-sets="__toc__odd__footer__pagenum">
  320. <fo:page-number/>
  321. </fo:inline>
  322. </pagenum>
  323. </xsl:with-param>
  324. </xsl:call-template>
  325. </fo:block>
  326. </fo:static-content>
  327. </xsl:template>
  328. <xsl:template name="insertTocEvenFooter">
  329. <fo:static-content flow-name="even-toc-footer">
  330. <fo:block xsl:use-attribute-sets="__toc__even__footer">
  331. <xsl:call-template name="getVariable">
  332. <xsl:with-param name="id" select="'Toc even footer'"/>
  333. <xsl:with-param name="params">
  334. <pagenum>
  335. <fo:inline xsl:use-attribute-sets="__toc__even__footer__pagenum">
  336. <fo:page-number/>
  337. </fo:inline>
  338. </pagenum>
  339. </xsl:with-param>
  340. </xsl:call-template>
  341. </fo:block>
  342. </fo:static-content>
  343. </xsl:template>
  344. <xsl:template name="insertIndexOddHeader">
  345. <fo:static-content flow-name="odd-index-header">
  346. <fo:block xsl:use-attribute-sets="__index__odd__header">
  347. <xsl:call-template name="getVariable">
  348. <xsl:with-param name="id" select="'Index odd header'"/>
  349. <xsl:with-param name="params">
  350. <prodname>
  351. <xsl:value-of select="$productName"/>
  352. </prodname>
  353. <heading>
  354. <fo:inline xsl:use-attribute-sets="__body__odd__header__heading">
  355. <fo:retrieve-marker retrieve-class-name="current-header"/>
  356. </fo:inline>
  357. </heading>
  358. <pagenum>
  359. <fo:inline xsl:use-attribute-sets="__index__odd__header__pagenum">
  360. <fo:page-number/>
  361. </fo:inline>
  362. </pagenum>
  363. </xsl:with-param>
  364. </xsl:call-template>
  365. </fo:block>
  366. </fo:static-content>
  367. </xsl:template>
  368. <xsl:template name="insertIndexEvenHeader">
  369. <fo:static-content flow-name="even-index-header">
  370. <fo:block xsl:use-attribute-sets="__index__even__header">
  371. <xsl:call-template name="getVariable">
  372. <xsl:with-param name="id" select="'Index even header'"/>
  373. <xsl:with-param name="params">
  374. <prodname>
  375. <xsl:value-of select="$productName"/>
  376. </prodname>
  377. <heading>
  378. <fo:inline xsl:use-attribute-sets="__body__even__header__heading">
  379. <fo:retrieve-marker retrieve-class-name="current-header"/>
  380. </fo:inline>
  381. </heading>
  382. <pagenum>
  383. <fo:inline xsl:use-attribute-sets="__index__even__header__pagenum">
  384. <fo:page-number/>
  385. </fo:inline>
  386. </pagenum>
  387. </xsl:with-param>
  388. </xsl:call-template>
  389. </fo:block>
  390. </fo:static-content>
  391. </xsl:template>
  392. <xsl:template name="insertIndexOddFooter">
  393. <fo:static-content flow-name="odd-index-footer">
  394. <fo:block xsl:use-attribute-sets="__index__odd__footer">
  395. <xsl:call-template name="getVariable">
  396. <xsl:with-param name="id" select="'Index odd footer'"/>
  397. <xsl:with-param name="params">
  398. <pagenum>
  399. <fo:inline xsl:use-attribute-sets="__index__odd__footer__pagenum">
  400. <fo:page-number/>
  401. </fo:inline>
  402. </pagenum>
  403. </xsl:with-param>
  404. </xsl:call-template>
  405. </fo:block>
  406. </fo:static-content>
  407. </xsl:template>
  408. <xsl:template name="insertIndexEvenFooter">
  409. <fo:static-content flow-name="even-index-footer">
  410. <fo:block xsl:use-attribute-sets="__index__even__footer">
  411. <xsl:call-template name="getVariable">
  412. <xsl:with-param name="id" select="'Index even footer'"/>
  413. <xsl:with-param name="params">
  414. <pagenum>
  415. <fo:inline xsl:use-attribute-sets="__index__even__footer__pagenum">
  416. <fo:page-number/>
  417. </fo:inline>
  418. </pagenum>
  419. </xsl:with-param>
  420. </xsl:call-template>
  421. </fo:block>
  422. </fo:static-content>
  423. </xsl:template>
  424. <xsl:template name="insertPrefaceOddHeader">
  425. <fo:static-content flow-name="odd-body-header">
  426. <fo:block xsl:use-attribute-sets="__body__odd__header">
  427. <xsl:call-template name="getVariable">
  428. <xsl:with-param name="id" select="'Preface odd header'"/>
  429. <xsl:with-param name="params">
  430. <prodname>
  431. <xsl:value-of select="$productName"/>
  432. </prodname>
  433. <heading>
  434. <fo:inline xsl:use-attribute-sets="__body__odd__header__heading">
  435. <fo:retrieve-marker retrieve-class-name="current-header"/>
  436. </fo:inline>
  437. </heading>
  438. <pagenum>
  439. <fo:inline xsl:use-attribute-sets="__body__odd__header__pagenum">
  440. <fo:page-number/>
  441. </fo:inline>
  442. </pagenum>
  443. </xsl:with-param>
  444. </xsl:call-template>
  445. </fo:block>
  446. </fo:static-content>
  447. </xsl:template>
  448. <xsl:template name="insertPrefaceEvenHeader">
  449. <fo:static-content flow-name="even-body-header">
  450. <fo:block xsl:use-attribute-sets="__body__even__header">
  451. <xsl:call-template name="getVariable">
  452. <xsl:with-param name="id" select="'Preface even header'"/>
  453. <xsl:with-param name="params">
  454. <prodname>
  455. <xsl:value-of select="$productName"/>
  456. </prodname>
  457. <heading>
  458. <fo:inline xsl:use-attribute-sets="__body__even__header__heading">
  459. <fo:retrieve-marker retrieve-class-name="current-header"/>
  460. </fo:inline>
  461. </heading>
  462. <pagenum>
  463. <fo:inline xsl:use-attribute-sets="__body__even__header__pagenum">
  464. <fo:page-number/>
  465. </fo:inline>
  466. </pagenum>
  467. </xsl:with-param>
  468. </xsl:call-template>
  469. </fo:block>
  470. </fo:static-content>
  471. </xsl:template>
  472. <xsl:template name="insertPrefaceFirstHeader">
  473. <fo:static-content flow-name="first-body-header">
  474. <fo:block xsl:use-attribute-sets="__body__first__header">
  475. <xsl:call-template name="getVariable">
  476. <xsl:with-param name="id" select="'Preface first header'"/>
  477. <xsl:with-param name="params">
  478. <prodname>
  479. <xsl:value-of select="$productName"/>
  480. </prodname>
  481. <heading>
  482. <fo:inline xsl:use-attribute-sets="__body__first__header__heading">
  483. <fo:retrieve-marker retrieve-class-name="current-header"/>
  484. </fo:inline>
  485. </heading>
  486. <pagenum>
  487. <fo:inline xsl:use-attribute-sets="__body__first__header__pagenum">
  488. <fo:page-number/>
  489. </fo:inline>
  490. </pagenum>
  491. </xsl:with-param>
  492. </xsl:call-template>
  493. </fo:block>
  494. </fo:static-content>
  495. </xsl:template>
  496. <xsl:template name="insertPrefaceFirstFooter">
  497. <fo:static-content flow-name="first-body-footer">
  498. <fo:block xsl:use-attribute-sets="__body__first__footer">
  499. <xsl:call-template name="getVariable">
  500. <xsl:with-param name="id" select="'Preface first footer'"/>
  501. <xsl:with-param name="params">
  502. <heading>
  503. <fo:inline xsl:use-attribute-sets="__body__first__footer__heading">
  504. <fo:retrieve-marker retrieve-class-name="current-header"/>
  505. </fo:inline>
  506. </heading>
  507. <pagenum>
  508. <fo:inline xsl:use-attribute-sets="__body__first__footer__pagenum">
  509. <fo:page-number/>
  510. </fo:inline>
  511. </pagenum>
  512. </xsl:with-param>
  513. </xsl:call-template>
  514. </fo:block>
  515. </fo:static-content>
  516. </xsl:template>
  517. <xsl:template name="insertPrefaceLastHeader">
  518. <fo:static-content flow-name="last-body-header">
  519. <fo:block xsl:use-attribute-sets="__body__last__header">
  520. </fo:block>
  521. </fo:static-content>
  522. </xsl:template>
  523. <xsl:template name="insertPrefaceLastFooter">
  524. <fo:static-content flow-name="last-body-footer">
  525. <fo:block xsl:use-attribute-sets="__body__last__footer">
  526. </fo:block>
  527. </fo:static-content>
  528. </xsl:template>
  529. <xsl:template name="insertPrefaceFootnoteSeparator">
  530. <fo:static-content flow-name="xsl-footnote-separator">
  531. <fo:block>
  532. <fo:leader xsl:use-attribute-sets="__body__footnote__separator"/>
  533. </fo:block>
  534. </fo:static-content>
  535. </xsl:template>
  536. <xsl:template name="insertPrefaceOddFooter">
  537. <fo:static-content flow-name="odd-body-footer">
  538. <fo:block xsl:use-attribute-sets="__body__odd__footer">
  539. <xsl:call-template name="getVariable">
  540. <xsl:with-param name="id" select="'Preface odd footer'"/>
  541. <xsl:with-param name="params">
  542. <heading>
  543. <fo:inline xsl:use-attribute-sets="__body__odd__footer__heading">
  544. <fo:retrieve-marker retrieve-class-name="current-header"/>
  545. </fo:inline>
  546. </heading>
  547. <pagenum>
  548. <fo:inline xsl:use-attribute-sets="__body__odd__footer__pagenum">
  549. <fo:page-number/>
  550. </fo:inline>
  551. </pagenum>
  552. </xsl:with-param>
  553. </xsl:call-template>
  554. </fo:block>
  555. </fo:static-content>
  556. </xsl:template>
  557. <xsl:template name="insertPrefaceEvenFooter">
  558. <fo:static-content flow-name="even-body-footer">
  559. <fo:block xsl:use-attribute-sets="__body__even__footer">
  560. <xsl:call-template name="getVariable">
  561. <xsl:with-param name="id" select="'Preface even footer'"/>
  562. <xsl:with-param name="params">
  563. <heading>
  564. <fo:inline xsl:use-attribute-sets="__body__even__footer__heading">
  565. <fo:retrieve-marker retrieve-class-name="current-header"/>
  566. </fo:inline>
  567. </heading>
  568. <pagenum>
  569. <fo:inline xsl:use-attribute-sets="__body__even__footer__pagenum">
  570. <fo:page-number/>
  571. </fo:inline>
  572. </pagenum>
  573. </xsl:with-param>
  574. </xsl:call-template>
  575. </fo:block>
  576. </fo:static-content>
  577. </xsl:template>
  578. <xsl:template name="insertFrontMatterOddHeader">
  579. <fo:static-content flow-name="odd-frontmatter-header">
  580. <fo:block xsl:use-attribute-sets="__body__odd__header">
  581. <xsl:call-template name="getVariable">
  582. <xsl:with-param name="id" select="'Preface odd header'"/>
  583. <xsl:with-param name="params">
  584. <prodname>
  585. <xsl:value-of select="$productName"/>
  586. </prodname>
  587. <heading>
  588. <fo:inline xsl:use-attribute-sets="__body__odd__header__heading">
  589. <fo:retrieve-marker retrieve-class-name="current-header"/>
  590. </fo:inline>
  591. </heading>
  592. <pagenum>
  593. <fo:inline xsl:use-attribute-sets="__body__odd__header__pagenum">
  594. <fo:page-number/>
  595. </fo:inline>
  596. </pagenum>
  597. </xsl:with-param>
  598. </xsl:call-template>
  599. </fo:block>
  600. </fo:static-content>
  601. </xsl:template>
  602. <xsl:template name="insertFrontMatterEvenHeader">
  603. <fo:static-content flow-name="even-frontmatter-header">
  604. <fo:block xsl:use-attribute-sets="__body__even__header">
  605. <xsl:call-template name="getVariable">
  606. <xsl:with-param name="id" select="'Preface even header'"/>
  607. <xsl:with-param name="params">
  608. <prodname>
  609. <xsl:value-of select="$productName"/>
  610. </prodname>
  611. <heading>
  612. <fo:inline xsl:use-attribute-sets="__body__even__header__heading">
  613. <fo:retrieve-marker retrieve-class-name="current-header"/>
  614. </fo:inline>
  615. </heading>
  616. <pagenum>
  617. <fo:inline xsl:use-attribute-sets="__body__even__header__pagenum">
  618. <fo:page-number/>
  619. </fo:inline>
  620. </pagenum>
  621. </xsl:with-param>
  622. </xsl:call-template>
  623. </fo:block>
  624. </fo:static-content>
  625. </xsl:template>
  626. <xsl:template name="insertFrontMatterLastHeader">
  627. <fo:static-content flow-name="last-frontmatter-header">
  628. <fo:block xsl:use-attribute-sets="__body__even__header">
  629. <xsl:call-template name="getVariable">
  630. <xsl:with-param name="id" select="'Preface even header'"/>
  631. <xsl:with-param name="params">
  632. <prodname>
  633. <xsl:value-of select="$productName"/>
  634. </prodname>
  635. <heading>
  636. <fo:inline xsl:use-attribute-sets="__body__even__header__heading">
  637. <fo:retrieve-marker retrieve-class-name="current-header"/>
  638. </fo:inline>
  639. </heading>
  640. <pagenum>
  641. <fo:inline xsl:use-attribute-sets="__body__even__header__pagenum">
  642. <fo:page-number/>
  643. </fo:inline>
  644. </pagenum>
  645. </xsl:with-param>
  646. </xsl:call-template>
  647. </fo:block>
  648. </fo:static-content>
  649. </xsl:template>
  650. <xsl:template name="insertFrontMatterLastFooter">
  651. <fo:static-content flow-name="last-frontmatter-footer">
  652. <fo:block xsl:use-attribute-sets="__body__last__footer">
  653. </fo:block>
  654. </fo:static-content>
  655. </xsl:template>
  656. <xsl:template name="insertFrontMatterFootnoteSeparator">
  657. <fo:static-content flow-name="xsl-footnote-separator">
  658. <fo:block>
  659. <fo:leader xsl:use-attribute-sets="__body__footnote__separator"/>
  660. </fo:block>
  661. </fo:static-content>
  662. </xsl:template>
  663. <xsl:template name="insertFrontMatterOddFooter">
  664. <fo:static-content flow-name="odd-frontmatter-footer">
  665. <fo:block xsl:use-attribute-sets="__body__odd__footer">
  666. <xsl:call-template name="getVariable">
  667. <xsl:with-param name="id" select="'Preface odd footer'"/>
  668. <xsl:with-param name="params">
  669. <heading>
  670. <fo:inline xsl:use-attribute-sets="__body__odd__footer__heading">
  671. <fo:retrieve-marker retrieve-class-name="current-header"/>
  672. </fo:inline>
  673. </heading>
  674. <pagenum>
  675. <fo:inline xsl:use-attribute-sets="__body__odd__footer__pagenum">
  676. <fo:page-number/>
  677. </fo:inline>
  678. </pagenum>
  679. </xsl:with-param>
  680. </xsl:call-template>
  681. </fo:block>
  682. </fo:static-content>
  683. </xsl:template>
  684. <xsl:template name="insertFrontMatterEvenFooter">
  685. <fo:static-content flow-name="even-frontmatter-footer">
  686. <fo:block xsl:use-attribute-sets="__body__even__footer">
  687. <xsl:call-template name="getVariable">
  688. <xsl:with-param name="id" select="'Preface even footer'"/>
  689. <xsl:with-param name="params">
  690. <heading>
  691. <fo:inline xsl:use-attribute-sets="__body__even__footer__heading">
  692. <fo:retrieve-marker retrieve-class-name="current-header"/>
  693. </fo:inline>
  694. </heading>
  695. <pagenum>
  696. <fo:inline xsl:use-attribute-sets="__body__even__footer__pagenum">
  697. <fo:page-number/>
  698. </fo:inline>
  699. </pagenum>
  700. </xsl:with-param>
  701. </xsl:call-template>
  702. </fo:block>
  703. </fo:static-content>
  704. </xsl:template>
  705. <xsl:template name="insertBackCoverOddHeader">
  706. <fo:static-content flow-name="odd-back-cover-header">
  707. <fo:block xsl:use-attribute-sets="__body__odd__header">
  708. <xsl:call-template name="getVariable">
  709. <xsl:with-param name="id" select="'Preface odd header'"/>
  710. <xsl:with-param name="params">
  711. <prodname>
  712. <xsl:value-of select="$productName"/>
  713. </prodname>
  714. <heading>
  715. <fo:inline xsl:use-attribute-sets="__body__odd__header__heading">
  716. <fo:retrieve-marker retrieve-class-name="current-header"/>
  717. </fo:inline>
  718. </heading>
  719. <pagenum>
  720. <fo:inline xsl:use-attribute-sets="__body__odd__header__pagenum">
  721. <fo:page-number/>
  722. </fo:inline>
  723. </pagenum>
  724. </xsl:with-param>
  725. </xsl:call-template>
  726. </fo:block>
  727. </fo:static-content>
  728. </xsl:template>
  729. <xsl:template name="insertBackCoverEvenHeader">
  730. <fo:static-content flow-name="even-back-cover-header">
  731. <fo:block xsl:use-attribute-sets="__body__even__header">
  732. <xsl:call-template name="getVariable">
  733. <xsl:with-param name="id" select="'Preface even header'"/>
  734. <xsl:with-param name="params">
  735. <prodname>
  736. <xsl:value-of select="$productName"/>
  737. </prodname>
  738. <heading>
  739. <fo:inline xsl:use-attribute-sets="__body__even__header__heading">
  740. <fo:retrieve-marker retrieve-class-name="current-header"/>
  741. </fo:inline>
  742. </heading>
  743. <pagenum>
  744. <fo:inline xsl:use-attribute-sets="__body__even__header__pagenum">
  745. <fo:page-number/>
  746. </fo:inline>
  747. </pagenum>
  748. </xsl:with-param>
  749. </xsl:call-template>
  750. </fo:block>
  751. </fo:static-content>
  752. </xsl:template>
  753. <xsl:template name="insertBackCoverOddFooter">
  754. <fo:static-content flow-name="odd-back-cover-footer">
  755. <fo:block xsl:use-attribute-sets="__body__odd__footer">
  756. <xsl:call-template name="getVariable">
  757. <xsl:with-param name="id" select="'Preface odd footer'"/>
  758. <xsl:with-param name="params">
  759. <heading>
  760. <fo:inline xsl:use-attribute-sets="__body__odd__footer__heading">
  761. <fo:retrieve-marker retrieve-class-name="current-header"/>
  762. </fo:inline>
  763. </heading>
  764. <pagenum>
  765. <fo:inline xsl:use-attribute-sets="__body__odd__footer__pagenum">
  766. <fo:page-number/>
  767. </fo:inline>
  768. </pagenum>
  769. </xsl:with-param>
  770. </xsl:call-template>
  771. </fo:block>
  772. </fo:static-content>
  773. </xsl:template>
  774. <xsl:template name="insertBackCoverEvenFooter">
  775. <fo:static-content flow-name="even-back-cover-footer">
  776. <fo:block xsl:use-attribute-sets="__body__even__footer">
  777. <xsl:call-template name="getVariable">
  778. <xsl:with-param name="id" select="'Preface even footer'"/>
  779. <xsl:with-param name="params">
  780. <heading>
  781. <fo:inline xsl:use-attribute-sets="__body__even__footer__heading">
  782. <fo:retrieve-marker retrieve-class-name="current-header"/>
  783. </fo:inline>
  784. </heading>
  785. <pagenum>
  786. <fo:inline xsl:use-attribute-sets="__body__even__footer__pagenum">
  787. <fo:page-number/>
  788. </fo:inline>
  789. </pagenum>
  790. </xsl:with-param>
  791. </xsl:call-template>
  792. </fo:block>
  793. </fo:static-content>
  794. </xsl:template>
  795. <xsl:template name="insertGlossaryOddHeader">
  796. <fo:static-content flow-name="odd-glossary-header">
  797. <fo:block xsl:use-attribute-sets="__glossary__odd__header">
  798. <xsl:call-template name="getVariable">
  799. <xsl:with-param name="id" select="'Glossary odd header'"/>
  800. <xsl:with-param name="params">
  801. <prodname>
  802. <xsl:value-of select="$productName"/>
  803. </prodname>
  804. <heading>
  805. <fo:inline xsl:use-attribute-sets="__body__odd__header__heading">
  806. <fo:retrieve-marker retrieve-class-name="current-header"/>
  807. </fo:inline>
  808. </heading>
  809. <pagenum>
  810. <fo:inline xsl:use-attribute-sets="__glossary__odd__header__pagenum">
  811. <fo:page-number/>
  812. </fo:inline>
  813. </pagenum>
  814. </xsl:with-param>
  815. </xsl:call-template>
  816. </fo:block>
  817. </fo:static-content>
  818. </xsl:template>
  819. <xsl:template name="insertGlossaryEvenHeader">
  820. <fo:static-content flow-name="even-glossary-header">
  821. <fo:block xsl:use-attribute-sets="__glossary__even__header">
  822. <xsl:call-template name="getVariable">
  823. <xsl:with-param name="id" select="'Glossary even header'"/>
  824. <xsl:with-param name="params">
  825. <prodname>
  826. <xsl:value-of select="$productName"/>
  827. </prodname>
  828. <heading>
  829. <fo:inline xsl:use-attribute-sets="__body__even__header__heading">
  830. <fo:retrieve-marker retrieve-class-name="current-header"/>
  831. </fo:inline>
  832. </heading>
  833. <pagenum>
  834. <fo:inline xsl:use-attribute-sets="__glossary__even__header__pagenum">
  835. <fo:page-number/>
  836. </fo:inline>
  837. </pagenum>
  838. </xsl:with-param>
  839. </xsl:call-template>
  840. </fo:block>
  841. </fo:static-content>
  842. </xsl:template>
  843. <xsl:template name="insertGlossaryOddFooter">
  844. <fo:static-content flow-name="odd-glossary-footer">
  845. <fo:block xsl:use-attribute-sets="__glossary__odd__footer">
  846. <xsl:call-template name="getVariable">
  847. <xsl:with-param name="id" select="'Glossary odd footer'"/>
  848. <xsl:with-param name="params">
  849. <pagenum>
  850. <fo:inline xsl:use-attribute-sets="__glossary__odd__footer__pagenum">
  851. <fo:page-number/>
  852. </fo:inline>
  853. </pagenum>
  854. </xsl:with-param>
  855. </xsl:call-template>
  856. </fo:block>
  857. </fo:static-content>
  858. </xsl:template>
  859. <xsl:template name="insertGlossaryEvenFooter">
  860. <fo:static-content flow-name="even-glossary-footer">
  861. <fo:block xsl:use-attribute-sets="__glossary__even__footer">
  862. <xsl:call-template name="getVariable">
  863. <xsl:with-param name="id" select="'Glossary even footer'"/>
  864. <xsl:with-param name="params">
  865. <pagenum>
  866. <fo:inline xsl:use-attribute-sets="__glossary__even__footer__pagenum">
  867. <fo:page-number/>
  868. </fo:inline>
  869. </pagenum>
  870. </xsl:with-param>
  871. </xsl:call-template>
  872. </fo:block>
  873. </fo:static-content>
  874. </xsl:template>
  875. </xsl:stylesheet>