pagesetup.xsl 115 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570
  1. <?xml version="1.0"?>
  2. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  3. xmlns:fo="http://www.w3.org/1999/XSL/Format"
  4. version="1.0">
  5. <!-- ********************************************************************
  6. $Id: pagesetup.xsl 8320 2009-03-12 17:43:44Z mzjn $
  7. ********************************************************************
  8. This file is part of the DocBook XSL Stylesheet distribution.
  9. See ../README or http://docbook.sf.net/ for copyright
  10. copyright and other information.
  11. ******************************************************************** -->
  12. <!-- ==================================================================== -->
  13. <xsl:param name="body.fontset">
  14. <xsl:value-of select="$body.font.family"/>
  15. <xsl:if test="$body.font.family != ''
  16. and $symbol.font.family != ''">,</xsl:if>
  17. <xsl:value-of select="$symbol.font.family"/>
  18. </xsl:param>
  19. <xsl:param name="title.fontset">
  20. <xsl:value-of select="$title.font.family"/>
  21. <xsl:if test="$title.font.family != ''
  22. and $symbol.font.family != ''">,</xsl:if>
  23. <xsl:value-of select="$symbol.font.family"/>
  24. </xsl:param>
  25. <xsl:param name="margin.left.inner">
  26. <xsl:choose>
  27. <xsl:when test="$passivetex.extensions != 0">
  28. <xsl:value-of select="$page.margin.inner"/>
  29. </xsl:when>
  30. <xsl:otherwise>
  31. <xsl:value-of select="$page.margin.inner"/>
  32. <xsl:text> - </xsl:text>
  33. <xsl:value-of select="$title.margin.left"/>
  34. </xsl:otherwise>
  35. </xsl:choose>
  36. </xsl:param>
  37. <xsl:template name="setup.pagemasters">
  38. <fo:layout-master-set>
  39. <!-- blank pages -->
  40. <fo:simple-page-master master-name="blank"
  41. page-width="{$page.width}"
  42. page-height="{$page.height}"
  43. margin-top="{$page.margin.top}"
  44. margin-bottom="{$page.margin.bottom}">
  45. <xsl:attribute name="margin-{$direction.align.start}">
  46. <xsl:value-of select="$page.margin.outer"/>
  47. <xsl:if test="$fop.extensions != 0">
  48. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  49. </xsl:if>
  50. </xsl:attribute>
  51. <xsl:attribute name="margin-{$direction.align.end}">
  52. <xsl:value-of select="$page.margin.inner"/>
  53. </xsl:attribute>
  54. <xsl:if test="$axf.extensions != 0">
  55. <xsl:call-template name="axf-page-master-properties">
  56. <xsl:with-param name="page.master">blank</xsl:with-param>
  57. </xsl:call-template>
  58. </xsl:if>
  59. <fo:region-body display-align="center"
  60. margin-bottom="{$body.margin.bottom}"
  61. margin-top="{$body.margin.top}">
  62. <xsl:if test="$fop.extensions = 0 and $fop1.extensions = 0">
  63. <xsl:attribute name="region-name">blank-body</xsl:attribute>
  64. </xsl:if>
  65. </fo:region-body>
  66. <fo:region-before region-name="xsl-region-before-blank"
  67. extent="{$region.before.extent}"
  68. display-align="before"/>
  69. <fo:region-after region-name="xsl-region-after-blank"
  70. extent="{$region.after.extent}"
  71. display-align="after"/>
  72. </fo:simple-page-master>
  73. <!-- title pages -->
  74. <!-- Hacked up -{$page.margin.top}- to -40 - 11 PGTX -->
  75. <fo:simple-page-master master-name="titlepage-first"
  76. page-width="{$page.width}"
  77. page-height="{$page.height}"
  78. margin-top="-40pt"
  79. margin-bottom="{$page.margin.bottom}">
  80. <xsl:attribute name="margin-{$direction.align.start}">
  81. <xsl:value-of select="$page.margin.inner"/>
  82. <xsl:if test="$fop.extensions != 0">
  83. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  84. </xsl:if>
  85. </xsl:attribute>
  86. <xsl:attribute name="margin-{$direction.align.end}">
  87. <xsl:value-of select="$page.margin.outer"/>
  88. </xsl:attribute>
  89. <xsl:if test="$axf.extensions != 0">
  90. <xsl:call-template name="axf-page-master-properties">
  91. <xsl:with-param name="page.master">titlepage-first</xsl:with-param>
  92. </xsl:call-template>
  93. </xsl:if>
  94. <fo:region-body margin-bottom="{$body.margin.bottom}"
  95. margin-top="{$body.margin.top}"
  96. column-gap="{$column.gap.titlepage}"
  97. column-count="{$column.count.titlepage}">
  98. </fo:region-body>
  99. <fo:region-before region-name="xsl-region-before-first"
  100. extent="{$region.before.extent}"
  101. display-align="before"/>
  102. <fo:region-after region-name="xsl-region-after-first"
  103. extent="{$region.after.extent}"
  104. display-align="after"/>
  105. </fo:simple-page-master>
  106. <fo:simple-page-master master-name="titlepage-odd"
  107. page-width="{$page.width}"
  108. page-height="{$page.height}"
  109. margin-top="{$page.margin.top}"
  110. margin-bottom="{$page.margin.bottom}">
  111. <xsl:attribute name="margin-{$direction.align.start}">
  112. <xsl:value-of select="$page.margin.inner"/>
  113. <xsl:if test="$fop.extensions != 0">
  114. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  115. </xsl:if>
  116. </xsl:attribute>
  117. <xsl:attribute name="margin-{$direction.align.end}">
  118. <xsl:value-of select="$page.margin.outer"/>
  119. </xsl:attribute>
  120. <xsl:if test="$axf.extensions != 0">
  121. <xsl:call-template name="axf-page-master-properties">
  122. <xsl:with-param name="page.master">titlepage-odd</xsl:with-param>
  123. </xsl:call-template>
  124. </xsl:if>
  125. <fo:region-body margin-bottom="{$body.margin.bottom}"
  126. margin-top="{$body.margin.top}"
  127. column-gap="{$column.gap.titlepage}"
  128. column-count="{$column.count.titlepage}">
  129. </fo:region-body>
  130. <fo:region-before region-name="xsl-region-before-odd"
  131. extent="{$region.before.extent}"
  132. display-align="before"/>
  133. <fo:region-after region-name="xsl-region-after-odd"
  134. extent="{$region.after.extent}"
  135. display-align="after"/>
  136. </fo:simple-page-master>
  137. <fo:simple-page-master master-name="titlepage-even"
  138. page-width="{$page.width}"
  139. page-height="{$page.height}"
  140. margin-top="{$page.margin.top}"
  141. margin-bottom="{$page.margin.bottom}">
  142. <xsl:attribute name="margin-{$direction.align.start}">
  143. <xsl:value-of select="$page.margin.outer"/>
  144. <xsl:if test="$fop.extensions != 0">
  145. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  146. </xsl:if>
  147. </xsl:attribute>
  148. <xsl:attribute name="margin-{$direction.align.end}">
  149. <xsl:value-of select="$page.margin.inner"/>
  150. </xsl:attribute>
  151. <xsl:if test="$axf.extensions != 0">
  152. <xsl:call-template name="axf-page-master-properties">
  153. <xsl:with-param name="page.master">titlepage-even</xsl:with-param>
  154. </xsl:call-template>
  155. </xsl:if>
  156. <fo:region-body margin-bottom="{$body.margin.bottom}"
  157. margin-top="{$body.margin.top}"
  158. column-gap="{$column.gap.titlepage}"
  159. column-count="{$column.count.titlepage}">
  160. </fo:region-body>
  161. <fo:region-before region-name="xsl-region-before-even"
  162. extent="{$region.before.extent}"
  163. display-align="before"/>
  164. <fo:region-after region-name="xsl-region-after-even"
  165. extent="{$region.after.extent}"
  166. display-align="after"/>
  167. </fo:simple-page-master>
  168. <!-- list-of-title pages -->
  169. <fo:simple-page-master master-name="lot-first"
  170. page-width="{$page.width}"
  171. page-height="{$page.height}"
  172. margin-top="{$page.margin.top}"
  173. margin-bottom="{$page.margin.bottom}">
  174. <xsl:attribute name="margin-{$direction.align.start}">
  175. <xsl:value-of select="$page.margin.inner"/>
  176. <xsl:if test="$fop.extensions != 0">
  177. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  178. </xsl:if>
  179. </xsl:attribute>
  180. <xsl:attribute name="margin-{$direction.align.end}">
  181. <xsl:value-of select="$page.margin.outer"/>
  182. </xsl:attribute>
  183. <xsl:if test="$axf.extensions != 0">
  184. <xsl:call-template name="axf-page-master-properties">
  185. <xsl:with-param name="page.master">lot-first</xsl:with-param>
  186. </xsl:call-template>
  187. </xsl:if>
  188. <fo:region-body margin-bottom="{$body.margin.bottom}"
  189. margin-top="{$body.margin.top}"
  190. column-gap="{$column.gap.lot}"
  191. column-count="{$column.count.lot}">
  192. </fo:region-body>
  193. <fo:region-before region-name="xsl-region-before-first"
  194. extent="{$region.before.extent}"
  195. display-align="before"/>
  196. <fo:region-after region-name="xsl-region-after-first"
  197. extent="{$region.after.extent}"
  198. display-align="after"/>
  199. </fo:simple-page-master>
  200. <fo:simple-page-master master-name="lot-odd"
  201. page-width="{$page.width}"
  202. page-height="{$page.height}"
  203. margin-top="{$page.margin.top}"
  204. margin-bottom="{$page.margin.bottom}">
  205. <xsl:attribute name="margin-{$direction.align.start}">
  206. <xsl:value-of select="$page.margin.inner"/>
  207. <xsl:if test="$fop.extensions != 0">
  208. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  209. </xsl:if>
  210. </xsl:attribute>
  211. <xsl:attribute name="margin-{$direction.align.end}">
  212. <xsl:value-of select="$page.margin.outer"/>
  213. </xsl:attribute>
  214. <xsl:if test="$axf.extensions != 0">
  215. <xsl:call-template name="axf-page-master-properties">
  216. <xsl:with-param name="page.master">lot-odd</xsl:with-param>
  217. </xsl:call-template>
  218. </xsl:if>
  219. <fo:region-body margin-bottom="{$body.margin.bottom}"
  220. margin-top="{$body.margin.top}"
  221. column-gap="{$column.gap.lot}"
  222. column-count="{$column.count.lot}">
  223. </fo:region-body>
  224. <fo:region-before region-name="xsl-region-before-odd"
  225. extent="{$region.before.extent}"
  226. display-align="before"/>
  227. <fo:region-after region-name="xsl-region-after-odd"
  228. extent="{$region.after.extent}"
  229. display-align="after"/>
  230. </fo:simple-page-master>
  231. <fo:simple-page-master master-name="lot-even"
  232. page-width="{$page.width}"
  233. page-height="{$page.height}"
  234. margin-top="{$page.margin.top}"
  235. margin-bottom="{$page.margin.bottom}">
  236. <xsl:attribute name="margin-{$direction.align.start}">
  237. <xsl:value-of select="$page.margin.outer"/>
  238. <xsl:if test="$fop.extensions != 0">
  239. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  240. </xsl:if>
  241. </xsl:attribute>
  242. <xsl:attribute name="margin-{$direction.align.end}">
  243. <xsl:value-of select="$page.margin.inner"/>
  244. </xsl:attribute>
  245. <xsl:if test="$axf.extensions != 0">
  246. <xsl:call-template name="axf-page-master-properties">
  247. <xsl:with-param name="page.master">lot-even</xsl:with-param>
  248. </xsl:call-template>
  249. </xsl:if>
  250. <fo:region-body margin-bottom="{$body.margin.bottom}"
  251. margin-top="{$body.margin.top}"
  252. column-gap="{$column.gap.lot}"
  253. column-count="{$column.count.lot}">
  254. </fo:region-body>
  255. <fo:region-before region-name="xsl-region-before-even"
  256. extent="{$region.before.extent}"
  257. display-align="before"/>
  258. <fo:region-after region-name="xsl-region-after-even"
  259. extent="{$region.after.extent}"
  260. display-align="after"/>
  261. </fo:simple-page-master>
  262. <!-- frontmatter pages -->
  263. <fo:simple-page-master master-name="front-first"
  264. page-width="{$page.width}"
  265. page-height="{$page.height}"
  266. margin-top="{$page.margin.top}"
  267. margin-bottom="{$page.margin.bottom}">
  268. <xsl:attribute name="margin-{$direction.align.start}">
  269. <xsl:value-of select="$page.margin.inner"/>
  270. <xsl:if test="$fop.extensions != 0">
  271. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  272. </xsl:if>
  273. </xsl:attribute>
  274. <xsl:attribute name="margin-{$direction.align.end}">
  275. <xsl:value-of select="$page.margin.outer"/>
  276. </xsl:attribute>
  277. <xsl:if test="$axf.extensions != 0">
  278. <xsl:call-template name="axf-page-master-properties">
  279. <xsl:with-param name="page.master">front-first</xsl:with-param>
  280. </xsl:call-template>
  281. </xsl:if>
  282. <fo:region-body margin-bottom="{$body.margin.bottom}"
  283. margin-top="{$body.margin.top}"
  284. column-gap="{$column.gap.front}"
  285. column-count="{$column.count.front}">
  286. </fo:region-body>
  287. <fo:region-before region-name="xsl-region-before-first"
  288. extent="{$region.before.extent}"
  289. display-align="before"/>
  290. <fo:region-after region-name="xsl-region-after-first"
  291. extent="{$region.after.extent}"
  292. display-align="after"/>
  293. </fo:simple-page-master>
  294. <fo:simple-page-master master-name="front-odd"
  295. page-width="{$page.width}"
  296. page-height="{$page.height}"
  297. margin-top="{$page.margin.top}"
  298. margin-bottom="{$page.margin.bottom}">
  299. <xsl:attribute name="margin-{$direction.align.start}">
  300. <xsl:value-of select="$page.margin.inner"/>
  301. <xsl:if test="$fop.extensions != 0">
  302. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  303. </xsl:if>
  304. </xsl:attribute>
  305. <xsl:attribute name="margin-{$direction.align.end}">
  306. <xsl:value-of select="$page.margin.outer"/>
  307. </xsl:attribute>
  308. <xsl:if test="$axf.extensions != 0">
  309. <xsl:call-template name="axf-page-master-properties">
  310. <xsl:with-param name="page.master">front-odd</xsl:with-param>
  311. </xsl:call-template>
  312. </xsl:if>
  313. <fo:region-body margin-bottom="{$body.margin.bottom}"
  314. margin-top="{$body.margin.top}"
  315. column-gap="{$column.gap.front}"
  316. column-count="{$column.count.front}">
  317. </fo:region-body>
  318. <fo:region-before region-name="xsl-region-before-odd"
  319. extent="{$region.before.extent}"
  320. display-align="before"/>
  321. <fo:region-after region-name="xsl-region-after-odd"
  322. extent="{$region.after.extent}"
  323. display-align="after"/>
  324. </fo:simple-page-master>
  325. <fo:simple-page-master master-name="front-even"
  326. page-width="{$page.width}"
  327. page-height="{$page.height}"
  328. margin-top="{$page.margin.top}"
  329. margin-bottom="{$page.margin.bottom}">
  330. <xsl:attribute name="margin-{$direction.align.start}">
  331. <xsl:value-of select="$page.margin.outer"/>
  332. <xsl:if test="$fop.extensions != 0">
  333. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  334. </xsl:if>
  335. </xsl:attribute>
  336. <xsl:attribute name="margin-{$direction.align.end}">
  337. <xsl:value-of select="$page.margin.inner"/>
  338. </xsl:attribute>
  339. <xsl:if test="$axf.extensions != 0">
  340. <xsl:call-template name="axf-page-master-properties">
  341. <xsl:with-param name="page.master">front-even</xsl:with-param>
  342. </xsl:call-template>
  343. </xsl:if>
  344. <fo:region-body margin-bottom="{$body.margin.bottom}"
  345. margin-top="{$body.margin.top}"
  346. column-gap="{$column.gap.front}"
  347. column-count="{$column.count.front}">
  348. </fo:region-body>
  349. <fo:region-before region-name="xsl-region-before-even"
  350. extent="{$region.before.extent}"
  351. display-align="before"/>
  352. <fo:region-after region-name="xsl-region-after-even"
  353. extent="{$region.after.extent}"
  354. display-align="after"/>
  355. </fo:simple-page-master>
  356. <!-- body pages -->
  357. <fo:simple-page-master master-name="body-first"
  358. page-width="{$page.width}"
  359. page-height="{$page.height}"
  360. margin-top="{$page.margin.top}"
  361. margin-bottom="{$page.margin.bottom}">
  362. <xsl:attribute name="margin-{$direction.align.start}">
  363. <xsl:value-of select="$page.margin.inner"/>
  364. <xsl:if test="$fop.extensions != 0">
  365. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  366. </xsl:if>
  367. <xsl:if test="$fop.extensions != 0">
  368. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  369. </xsl:if>
  370. </xsl:attribute>
  371. <xsl:attribute name="margin-{$direction.align.end}">
  372. <xsl:value-of select="$page.margin.outer"/>
  373. </xsl:attribute>
  374. <xsl:if test="$axf.extensions != 0">
  375. <xsl:call-template name="axf-page-master-properties">
  376. <xsl:with-param name="page.master">body-first</xsl:with-param>
  377. </xsl:call-template>
  378. </xsl:if>
  379. <fo:region-body margin-bottom="{$body.margin.bottom}"
  380. margin-top="{$body.margin.top}"
  381. column-gap="{$column.gap.body}"
  382. column-count="{$column.count.body}">
  383. </fo:region-body>
  384. <fo:region-before region-name="xsl-region-before-first"
  385. extent="{$region.before.extent}"
  386. display-align="before"/>
  387. <fo:region-after region-name="xsl-region-after-first"
  388. extent="{$region.after.extent}"
  389. display-align="after"/>
  390. </fo:simple-page-master>
  391. <fo:simple-page-master master-name="body-odd"
  392. page-width="{$page.width}"
  393. page-height="{$page.height}"
  394. margin-top="{$page.margin.top}"
  395. margin-bottom="{$page.margin.bottom}">
  396. <xsl:attribute name="margin-{$direction.align.start}">
  397. <xsl:value-of select="$page.margin.inner"/>
  398. <xsl:if test="$fop.extensions != 0">
  399. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  400. </xsl:if>
  401. </xsl:attribute>
  402. <xsl:attribute name="margin-{$direction.align.end}">
  403. <xsl:value-of select="$page.margin.outer"/>
  404. </xsl:attribute>
  405. <xsl:if test="$axf.extensions != 0">
  406. <xsl:call-template name="axf-page-master-properties">
  407. <xsl:with-param name="page.master">body-odd</xsl:with-param>
  408. </xsl:call-template>
  409. </xsl:if>
  410. <fo:region-body margin-bottom="{$body.margin.bottom}"
  411. margin-top="{$body.margin.top}"
  412. column-gap="{$column.gap.body}"
  413. column-count="{$column.count.body}">
  414. </fo:region-body>
  415. <fo:region-before region-name="xsl-region-before-odd"
  416. extent="{$region.before.extent}"
  417. display-align="before"/>
  418. <fo:region-after region-name="xsl-region-after-odd"
  419. extent="{$region.after.extent}"
  420. display-align="after"/>
  421. </fo:simple-page-master>
  422. <fo:simple-page-master master-name="body-even"
  423. page-width="{$page.width}"
  424. page-height="{$page.height}"
  425. margin-top="{$page.margin.top}"
  426. margin-bottom="{$page.margin.bottom}">
  427. <xsl:attribute name="margin-{$direction.align.start}">
  428. <xsl:value-of select="$page.margin.outer"/>
  429. <xsl:if test="$fop.extensions != 0">
  430. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  431. </xsl:if>
  432. </xsl:attribute>
  433. <xsl:attribute name="margin-{$direction.align.end}">
  434. <xsl:value-of select="$page.margin.inner"/>
  435. </xsl:attribute>
  436. <xsl:if test="$axf.extensions != 0">
  437. <xsl:call-template name="axf-page-master-properties">
  438. <xsl:with-param name="page.master">body-even</xsl:with-param>
  439. </xsl:call-template>
  440. </xsl:if>
  441. <fo:region-body margin-bottom="{$body.margin.bottom}"
  442. margin-top="{$body.margin.top}"
  443. column-gap="{$column.gap.body}"
  444. column-count="{$column.count.body}">
  445. </fo:region-body>
  446. <fo:region-before region-name="xsl-region-before-even"
  447. extent="{$region.before.extent}"
  448. display-align="before"/>
  449. <fo:region-after region-name="xsl-region-after-even"
  450. extent="{$region.after.extent}"
  451. display-align="after"/>
  452. </fo:simple-page-master>
  453. <!-- backmatter pages -->
  454. <fo:simple-page-master master-name="back-first"
  455. page-width="{$page.width}"
  456. page-height="{$page.height}"
  457. margin-top="{$page.margin.top}"
  458. margin-bottom="{$page.margin.bottom}">
  459. <xsl:attribute name="margin-{$direction.align.start}">
  460. <xsl:value-of select="$page.margin.inner"/>
  461. <xsl:if test="$fop.extensions != 0">
  462. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  463. </xsl:if>
  464. </xsl:attribute>
  465. <xsl:attribute name="margin-{$direction.align.end}">
  466. <xsl:value-of select="$page.margin.outer"/>
  467. </xsl:attribute>
  468. <xsl:if test="$axf.extensions != 0">
  469. <xsl:call-template name="axf-page-master-properties">
  470. <xsl:with-param name="page.master">back-first</xsl:with-param>
  471. </xsl:call-template>
  472. </xsl:if>
  473. <fo:region-body margin-bottom="{$body.margin.bottom}"
  474. margin-top="{$body.margin.top}"
  475. column-gap="{$column.gap.back}"
  476. column-count="{$column.count.back}">
  477. </fo:region-body>
  478. <fo:region-before region-name="xsl-region-before-first"
  479. extent="{$region.before.extent}"
  480. display-align="before"/>
  481. <fo:region-after region-name="xsl-region-after-first"
  482. extent="{$region.after.extent}"
  483. display-align="after"/>
  484. </fo:simple-page-master>
  485. <fo:simple-page-master master-name="back-odd"
  486. page-width="{$page.width}"
  487. page-height="{$page.height}"
  488. margin-top="{$page.margin.top}"
  489. margin-bottom="{$page.margin.bottom}">
  490. <xsl:attribute name="margin-{$direction.align.start}">
  491. <xsl:value-of select="$page.margin.inner"/>
  492. <xsl:if test="$fop.extensions != 0">
  493. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  494. </xsl:if>
  495. </xsl:attribute>
  496. <xsl:attribute name="margin-{$direction.align.end}">
  497. <xsl:value-of select="$page.margin.outer"/>
  498. </xsl:attribute>
  499. <xsl:if test="$axf.extensions != 0">
  500. <xsl:call-template name="axf-page-master-properties">
  501. <xsl:with-param name="page.master">back-odd</xsl:with-param>
  502. </xsl:call-template>
  503. </xsl:if>
  504. <fo:region-body margin-bottom="{$body.margin.bottom}"
  505. margin-top="{$body.margin.top}"
  506. column-gap="{$column.gap.back}"
  507. column-count="{$column.count.back}">
  508. </fo:region-body>
  509. <fo:region-before region-name="xsl-region-before-odd"
  510. extent="{$region.before.extent}"
  511. display-align="before"/>
  512. <fo:region-after region-name="xsl-region-after-odd"
  513. extent="{$region.after.extent}"
  514. display-align="after"/>
  515. </fo:simple-page-master>
  516. <fo:simple-page-master master-name="back-even"
  517. page-width="{$page.width}"
  518. page-height="{$page.height}"
  519. margin-top="{$page.margin.top}"
  520. margin-bottom="{$page.margin.bottom}">
  521. <xsl:attribute name="margin-{$direction.align.start}">
  522. <xsl:value-of select="$page.margin.outer"/>
  523. <xsl:if test="$fop.extensions != 0">
  524. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  525. </xsl:if>
  526. </xsl:attribute>
  527. <xsl:attribute name="margin-{$direction.align.end}">
  528. <xsl:value-of select="$page.margin.inner"/>
  529. </xsl:attribute>
  530. <xsl:if test="$axf.extensions != 0">
  531. <xsl:call-template name="axf-page-master-properties">
  532. <xsl:with-param name="page.master">back-even</xsl:with-param>
  533. </xsl:call-template>
  534. </xsl:if>
  535. <fo:region-body margin-bottom="{$body.margin.bottom}"
  536. margin-top="{$body.margin.top}"
  537. column-gap="{$column.gap.back}"
  538. column-count="{$column.count.back}">
  539. </fo:region-body>
  540. <fo:region-before region-name="xsl-region-before-even"
  541. extent="{$region.before.extent}"
  542. display-align="before"/>
  543. <fo:region-after region-name="xsl-region-after-even"
  544. extent="{$region.after.extent}"
  545. display-align="after"/>
  546. </fo:simple-page-master>
  547. <!-- index pages -->
  548. <fo:simple-page-master master-name="index-first"
  549. page-width="{$page.width}"
  550. page-height="{$page.height}"
  551. margin-top="{$page.margin.top}"
  552. margin-bottom="{$page.margin.bottom}">
  553. <xsl:attribute name="margin-{$direction.align.start}">
  554. <xsl:value-of select="$page.margin.inner"/>
  555. <xsl:if test="$fop.extensions != 0">
  556. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  557. </xsl:if>
  558. </xsl:attribute>
  559. <xsl:attribute name="margin-{$direction.align.end}">
  560. <xsl:value-of select="$page.margin.outer"/>
  561. </xsl:attribute>
  562. <xsl:if test="$axf.extensions != 0">
  563. <xsl:call-template name="axf-page-master-properties">
  564. <xsl:with-param name="page.master">index-first</xsl:with-param>
  565. </xsl:call-template>
  566. </xsl:if>
  567. <fo:region-body margin-bottom="{$body.margin.bottom}"
  568. margin-top="{$body.margin.top}"
  569. column-gap="{$column.gap.index}"
  570. column-count="{$column.count.index}">
  571. </fo:region-body>
  572. <fo:region-before region-name="xsl-region-before-first"
  573. extent="{$region.before.extent}"
  574. display-align="before"/>
  575. <fo:region-after region-name="xsl-region-after-first"
  576. extent="{$region.after.extent}"
  577. display-align="after"/>
  578. </fo:simple-page-master>
  579. <fo:simple-page-master master-name="index-odd"
  580. page-width="{$page.width}"
  581. page-height="{$page.height}"
  582. margin-top="{$page.margin.top}"
  583. margin-bottom="{$page.margin.bottom}">
  584. <xsl:attribute name="margin-{$direction.align.start}">
  585. <xsl:value-of select="$page.margin.inner"/>
  586. <xsl:if test="$fop.extensions != 0">
  587. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  588. </xsl:if>
  589. </xsl:attribute>
  590. <xsl:attribute name="margin-{$direction.align.end}">
  591. <xsl:value-of select="$page.margin.outer"/>
  592. </xsl:attribute>
  593. <xsl:if test="$axf.extensions != 0">
  594. <xsl:call-template name="axf-page-master-properties">
  595. <xsl:with-param name="page.master">index-odd</xsl:with-param>
  596. </xsl:call-template>
  597. </xsl:if>
  598. <fo:region-body margin-bottom="{$body.margin.bottom}"
  599. margin-top="{$body.margin.top}"
  600. column-gap="{$column.gap.index}"
  601. column-count="{$column.count.index}">
  602. </fo:region-body>
  603. <fo:region-before region-name="xsl-region-before-odd"
  604. extent="{$region.before.extent}"
  605. display-align="before"/>
  606. <fo:region-after region-name="xsl-region-after-odd"
  607. extent="{$region.after.extent}"
  608. display-align="after"/>
  609. </fo:simple-page-master>
  610. <fo:simple-page-master master-name="index-even"
  611. page-width="{$page.width}"
  612. page-height="{$page.height}"
  613. margin-top="{$page.margin.top}"
  614. margin-bottom="{$page.margin.bottom}">
  615. <xsl:attribute name="margin-{$direction.align.start}">
  616. <xsl:value-of select="$page.margin.outer"/>
  617. <xsl:if test="$fop.extensions != 0">
  618. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  619. </xsl:if>
  620. </xsl:attribute>
  621. <xsl:attribute name="margin-{$direction.align.end}">
  622. <xsl:value-of select="$page.margin.inner"/>
  623. </xsl:attribute>
  624. <xsl:if test="$axf.extensions != 0">
  625. <xsl:call-template name="axf-page-master-properties">
  626. <xsl:with-param name="page.master">index-even</xsl:with-param>
  627. </xsl:call-template>
  628. </xsl:if>
  629. <fo:region-body margin-bottom="{$body.margin.bottom}"
  630. margin-top="{$body.margin.top}"
  631. column-gap="{$column.gap.index}"
  632. column-count="{$column.count.index}">
  633. </fo:region-body>
  634. <fo:region-before region-name="xsl-region-before-even"
  635. extent="{$region.before.extent}"
  636. display-align="before"/>
  637. <fo:region-after region-name="xsl-region-after-even"
  638. extent="{$region.after.extent}"
  639. display-align="after"/>
  640. </fo:simple-page-master>
  641. <xsl:if test="$draft.mode != 'no'">
  642. <!-- draft blank pages -->
  643. <fo:simple-page-master master-name="blank-draft"
  644. page-width="{$page.width}"
  645. page-height="{$page.height}"
  646. margin-top="{$page.margin.top}"
  647. margin-bottom="{$page.margin.bottom}">
  648. <xsl:attribute name="margin-{$direction.align.start}">
  649. <xsl:value-of select="$page.margin.outer"/>
  650. <xsl:if test="$fop.extensions != 0">
  651. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  652. </xsl:if>
  653. </xsl:attribute>
  654. <xsl:attribute name="margin-{$direction.align.end}">
  655. <xsl:value-of select="$page.margin.inner"/>
  656. </xsl:attribute>
  657. <xsl:if test="$axf.extensions != 0">
  658. <xsl:call-template name="axf-page-master-properties">
  659. <xsl:with-param name="page.master">blank-draft</xsl:with-param>
  660. </xsl:call-template>
  661. </xsl:if>
  662. <fo:region-body margin-bottom="{$body.margin.bottom}"
  663. margin-top="{$body.margin.top}">
  664. <xsl:if test="$draft.watermark.image != ''">
  665. <xsl:attribute name="background-image">
  666. <xsl:call-template name="fo-external-image">
  667. <xsl:with-param name="filename" select="$draft.watermark.image"/>
  668. </xsl:call-template>
  669. </xsl:attribute>
  670. <xsl:attribute name="background-attachment">fixed</xsl:attribute>
  671. <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
  672. <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
  673. <xsl:attribute name="background-position-vertical">center</xsl:attribute>
  674. </xsl:if>
  675. </fo:region-body>
  676. <fo:region-before region-name="xsl-region-before-blank"
  677. extent="{$region.before.extent}"
  678. display-align="before"/>
  679. <fo:region-after region-name="xsl-region-after-blank"
  680. extent="{$region.after.extent}"
  681. display-align="after"/>
  682. </fo:simple-page-master>
  683. <!-- draft title pages -->
  684. <fo:simple-page-master master-name="titlepage-first-draft"
  685. page-width="{$page.width}"
  686. page-height="{$page.height}"
  687. margin-top="{$page.margin.top}"
  688. margin-bottom="{$page.margin.bottom}">
  689. <xsl:attribute name="margin-{$direction.align.start}">
  690. <xsl:value-of select="$page.margin.inner"/>
  691. <xsl:if test="$fop.extensions != 0">
  692. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  693. </xsl:if>
  694. </xsl:attribute>
  695. <xsl:attribute name="margin-{$direction.align.end}">
  696. <xsl:value-of select="$page.margin.outer"/>
  697. </xsl:attribute>
  698. <xsl:if test="$axf.extensions != 0">
  699. <xsl:call-template name="axf-page-master-properties">
  700. <xsl:with-param name="page.master">titlepage-first-draft</xsl:with-param>
  701. </xsl:call-template>
  702. </xsl:if>
  703. <fo:region-body margin-bottom="{$body.margin.bottom}"
  704. margin-top="{$body.margin.top}"
  705. column-gap="{$column.gap.titlepage}"
  706. column-count="{$column.count.titlepage}">
  707. <xsl:if test="$draft.watermark.image != ''">
  708. <xsl:attribute name="background-image">
  709. <xsl:call-template name="fo-external-image">
  710. <xsl:with-param name="filename" select="$draft.watermark.image"/>
  711. </xsl:call-template>
  712. </xsl:attribute>
  713. <xsl:attribute name="background-attachment">fixed</xsl:attribute>
  714. <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
  715. <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
  716. <xsl:attribute name="background-position-vertical">center</xsl:attribute>
  717. </xsl:if>
  718. </fo:region-body>
  719. <fo:region-before region-name="xsl-region-before-first"
  720. extent="{$region.before.extent}"
  721. display-align="before"/>
  722. <fo:region-after region-name="xsl-region-after-first"
  723. extent="{$region.after.extent}"
  724. display-align="after"/>
  725. </fo:simple-page-master>
  726. <fo:simple-page-master master-name="titlepage-odd-draft"
  727. page-width="{$page.width}"
  728. page-height="{$page.height}"
  729. margin-top="{$page.margin.top}"
  730. margin-bottom="{$page.margin.bottom}">
  731. <xsl:attribute name="margin-{$direction.align.start}">
  732. <xsl:value-of select="$page.margin.inner"/>
  733. <xsl:if test="$fop.extensions != 0">
  734. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  735. </xsl:if>
  736. </xsl:attribute>
  737. <xsl:attribute name="margin-{$direction.align.end}">
  738. <xsl:value-of select="$page.margin.outer"/>
  739. </xsl:attribute>
  740. <xsl:if test="$axf.extensions != 0">
  741. <xsl:call-template name="axf-page-master-properties">
  742. <xsl:with-param name="page.master">titlepage-odd-draft</xsl:with-param>
  743. </xsl:call-template>
  744. </xsl:if>
  745. <fo:region-body margin-bottom="{$body.margin.bottom}"
  746. margin-top="{$body.margin.top}"
  747. column-gap="{$column.gap.titlepage}"
  748. column-count="{$column.count.titlepage}">
  749. <xsl:if test="$draft.watermark.image != ''">
  750. <xsl:attribute name="background-image">
  751. <xsl:call-template name="fo-external-image">
  752. <xsl:with-param name="filename" select="$draft.watermark.image"/>
  753. </xsl:call-template>
  754. </xsl:attribute>
  755. <xsl:attribute name="background-attachment">fixed</xsl:attribute>
  756. <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
  757. <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
  758. <xsl:attribute name="background-position-vertical">center</xsl:attribute>
  759. </xsl:if>
  760. </fo:region-body>
  761. <fo:region-before region-name="xsl-region-before-odd"
  762. extent="{$region.before.extent}"
  763. display-align="before"/>
  764. <fo:region-after region-name="xsl-region-after-odd"
  765. extent="{$region.after.extent}"
  766. display-align="after"/>
  767. </fo:simple-page-master>
  768. <fo:simple-page-master master-name="titlepage-even-draft"
  769. page-width="{$page.width}"
  770. page-height="{$page.height}"
  771. margin-top="{$page.margin.top}"
  772. margin-bottom="{$page.margin.bottom}">
  773. <xsl:attribute name="margin-{$direction.align.start}">
  774. <xsl:value-of select="$page.margin.outer"/>
  775. <xsl:if test="$fop.extensions != 0">
  776. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  777. </xsl:if>
  778. </xsl:attribute>
  779. <xsl:attribute name="margin-{$direction.align.end}">
  780. <xsl:value-of select="$page.margin.inner"/>
  781. </xsl:attribute>
  782. <xsl:if test="$axf.extensions != 0">
  783. <xsl:call-template name="axf-page-master-properties">
  784. <xsl:with-param name="page.master">titlepage-even-draft</xsl:with-param>
  785. </xsl:call-template>
  786. </xsl:if>
  787. <fo:region-body margin-bottom="{$body.margin.bottom}"
  788. margin-top="{$body.margin.top}"
  789. column-gap="{$column.gap.titlepage}"
  790. column-count="{$column.count.titlepage}">
  791. <xsl:if test="$draft.watermark.image != ''">
  792. <xsl:attribute name="background-image">
  793. <xsl:call-template name="fo-external-image">
  794. <xsl:with-param name="filename" select="$draft.watermark.image"/>
  795. </xsl:call-template>
  796. </xsl:attribute>
  797. <xsl:attribute name="background-attachment">fixed</xsl:attribute>
  798. <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
  799. <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
  800. <xsl:attribute name="background-position-vertical">center</xsl:attribute>
  801. </xsl:if>
  802. </fo:region-body>
  803. <fo:region-before region-name="xsl-region-before-even"
  804. extent="{$region.before.extent}"
  805. display-align="before"/>
  806. <fo:region-after region-name="xsl-region-after-even"
  807. extent="{$region.after.extent}"
  808. display-align="after"/>
  809. </fo:simple-page-master>
  810. <!-- draft list-of-title pages -->
  811. <fo:simple-page-master master-name="lot-first-draft"
  812. page-width="{$page.width}"
  813. page-height="{$page.height}"
  814. margin-top="{$page.margin.top}"
  815. margin-bottom="{$page.margin.bottom}">
  816. <xsl:attribute name="margin-{$direction.align.start}">
  817. <xsl:value-of select="$page.margin.inner"/>
  818. <xsl:if test="$fop.extensions != 0">
  819. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  820. </xsl:if>
  821. </xsl:attribute>
  822. <xsl:attribute name="margin-{$direction.align.end}">
  823. <xsl:value-of select="$page.margin.outer"/>
  824. </xsl:attribute>
  825. <xsl:if test="$axf.extensions != 0">
  826. <xsl:call-template name="axf-page-master-properties">
  827. <xsl:with-param name="page.master">lot-first-draft</xsl:with-param>
  828. </xsl:call-template>
  829. </xsl:if>
  830. <fo:region-body margin-bottom="{$body.margin.bottom}"
  831. margin-top="{$body.margin.top}"
  832. column-gap="{$column.gap.lot}"
  833. column-count="{$column.count.lot}">
  834. <xsl:if test="$draft.watermark.image != ''">
  835. <xsl:attribute name="background-image">
  836. <xsl:call-template name="fo-external-image">
  837. <xsl:with-param name="filename" select="$draft.watermark.image"/>
  838. </xsl:call-template>
  839. </xsl:attribute>
  840. <xsl:attribute name="background-attachment">fixed</xsl:attribute>
  841. <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
  842. <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
  843. <xsl:attribute name="background-position-vertical">center</xsl:attribute>
  844. </xsl:if>
  845. </fo:region-body>
  846. <fo:region-before region-name="xsl-region-before-first"
  847. extent="{$region.before.extent}"
  848. display-align="before"/>
  849. <fo:region-after region-name="xsl-region-after-first"
  850. extent="{$region.after.extent}"
  851. display-align="after"/>
  852. </fo:simple-page-master>
  853. <fo:simple-page-master master-name="lot-odd-draft"
  854. page-width="{$page.width}"
  855. page-height="{$page.height}"
  856. margin-top="{$page.margin.top}"
  857. margin-bottom="{$page.margin.bottom}">
  858. <xsl:attribute name="margin-{$direction.align.start}">
  859. <xsl:value-of select="$page.margin.inner"/>
  860. <xsl:if test="$fop.extensions != 0">
  861. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  862. </xsl:if>
  863. </xsl:attribute>
  864. <xsl:attribute name="margin-{$direction.align.end}">
  865. <xsl:value-of select="$page.margin.outer"/>
  866. </xsl:attribute>
  867. <xsl:if test="$axf.extensions != 0">
  868. <xsl:call-template name="axf-page-master-properties">
  869. <xsl:with-param name="page.master">lot-odd-draft</xsl:with-param>
  870. </xsl:call-template>
  871. </xsl:if>
  872. <fo:region-body margin-bottom="{$body.margin.bottom}"
  873. margin-top="{$body.margin.top}"
  874. column-gap="{$column.gap.lot}"
  875. column-count="{$column.count.lot}">
  876. <xsl:if test="$draft.watermark.image != ''">
  877. <xsl:attribute name="background-image">
  878. <xsl:call-template name="fo-external-image">
  879. <xsl:with-param name="filename" select="$draft.watermark.image"/>
  880. </xsl:call-template>
  881. </xsl:attribute>
  882. <xsl:attribute name="background-attachment">fixed</xsl:attribute>
  883. <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
  884. <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
  885. <xsl:attribute name="background-position-vertical">center</xsl:attribute>
  886. </xsl:if>
  887. </fo:region-body>
  888. <fo:region-before region-name="xsl-region-before-odd"
  889. extent="{$region.before.extent}"
  890. display-align="before"/>
  891. <fo:region-after region-name="xsl-region-after-odd"
  892. extent="{$region.after.extent}"
  893. display-align="after"/>
  894. </fo:simple-page-master>
  895. <fo:simple-page-master master-name="lot-even-draft"
  896. page-width="{$page.width}"
  897. page-height="{$page.height}"
  898. margin-top="{$page.margin.top}"
  899. margin-bottom="{$page.margin.bottom}">
  900. <xsl:attribute name="margin-{$direction.align.start}">
  901. <xsl:value-of select="$page.margin.outer"/>
  902. <xsl:if test="$fop.extensions != 0">
  903. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  904. </xsl:if>
  905. </xsl:attribute>
  906. <xsl:attribute name="margin-{$direction.align.end}">
  907. <xsl:value-of select="$page.margin.inner"/>
  908. </xsl:attribute>
  909. <xsl:if test="$axf.extensions != 0">
  910. <xsl:call-template name="axf-page-master-properties">
  911. <xsl:with-param name="page.master">lot-even-draft</xsl:with-param>
  912. </xsl:call-template>
  913. </xsl:if>
  914. <fo:region-body margin-bottom="{$body.margin.bottom}"
  915. margin-top="{$body.margin.top}"
  916. column-gap="{$column.gap.lot}"
  917. column-count="{$column.count.lot}">
  918. <xsl:if test="$draft.watermark.image != ''">
  919. <xsl:attribute name="background-image">
  920. <xsl:call-template name="fo-external-image">
  921. <xsl:with-param name="filename" select="$draft.watermark.image"/>
  922. </xsl:call-template>
  923. </xsl:attribute>
  924. <xsl:attribute name="background-attachment">fixed</xsl:attribute>
  925. <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
  926. <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
  927. <xsl:attribute name="background-position-vertical">center</xsl:attribute>
  928. </xsl:if>
  929. </fo:region-body>
  930. <fo:region-before region-name="xsl-region-before-even"
  931. extent="{$region.before.extent}"
  932. display-align="before"/>
  933. <fo:region-after region-name="xsl-region-after-even"
  934. extent="{$region.after.extent}"
  935. display-align="after"/>
  936. </fo:simple-page-master>
  937. <!-- draft frontmatter pages -->
  938. <fo:simple-page-master master-name="front-first-draft"
  939. page-width="{$page.width}"
  940. page-height="{$page.height}"
  941. margin-top="{$page.margin.top}"
  942. margin-bottom="{$page.margin.bottom}">
  943. <xsl:attribute name="margin-{$direction.align.start}">
  944. <xsl:value-of select="$page.margin.inner"/>
  945. <xsl:if test="$fop.extensions != 0">
  946. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  947. </xsl:if>
  948. </xsl:attribute>
  949. <xsl:attribute name="margin-{$direction.align.end}">
  950. <xsl:value-of select="$page.margin.outer"/>
  951. </xsl:attribute>
  952. <xsl:if test="$axf.extensions != 0">
  953. <xsl:call-template name="axf-page-master-properties">
  954. <xsl:with-param name="page.master">front-first-draft</xsl:with-param>
  955. </xsl:call-template>
  956. </xsl:if>
  957. <fo:region-body margin-bottom="{$body.margin.bottom}"
  958. margin-top="{$body.margin.top}"
  959. column-gap="{$column.gap.front}"
  960. column-count="{$column.count.front}">
  961. <xsl:if test="$draft.watermark.image != ''">
  962. <xsl:attribute name="background-image">
  963. <xsl:call-template name="fo-external-image">
  964. <xsl:with-param name="filename" select="$draft.watermark.image"/>
  965. </xsl:call-template>
  966. </xsl:attribute>
  967. <xsl:attribute name="background-attachment">fixed</xsl:attribute>
  968. <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
  969. <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
  970. <xsl:attribute name="background-position-vertical">center</xsl:attribute>
  971. </xsl:if>
  972. </fo:region-body>
  973. <fo:region-before region-name="xsl-region-before-first"
  974. extent="{$region.before.extent}"
  975. display-align="before"/>
  976. <fo:region-after region-name="xsl-region-after-first"
  977. extent="{$region.after.extent}"
  978. display-align="after"/>
  979. </fo:simple-page-master>
  980. <fo:simple-page-master master-name="front-odd-draft"
  981. page-width="{$page.width}"
  982. page-height="{$page.height}"
  983. margin-top="{$page.margin.top}"
  984. margin-bottom="{$page.margin.bottom}">
  985. <xsl:attribute name="margin-{$direction.align.start}">
  986. <xsl:value-of select="$page.margin.inner"/>
  987. <xsl:if test="$fop.extensions != 0">
  988. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  989. </xsl:if>
  990. </xsl:attribute>
  991. <xsl:attribute name="margin-{$direction.align.end}">
  992. <xsl:value-of select="$page.margin.outer"/>
  993. </xsl:attribute>
  994. <xsl:if test="$axf.extensions != 0">
  995. <xsl:call-template name="axf-page-master-properties">
  996. <xsl:with-param name="page.master">front-odd-draft</xsl:with-param>
  997. </xsl:call-template>
  998. </xsl:if>
  999. <fo:region-body margin-bottom="{$body.margin.bottom}"
  1000. margin-top="{$body.margin.top}"
  1001. column-gap="{$column.gap.front}"
  1002. column-count="{$column.count.front}">
  1003. <xsl:if test="$draft.watermark.image != ''">
  1004. <xsl:attribute name="background-image">
  1005. <xsl:call-template name="fo-external-image">
  1006. <xsl:with-param name="filename" select="$draft.watermark.image"/>
  1007. </xsl:call-template>
  1008. </xsl:attribute>
  1009. <xsl:attribute name="background-attachment">fixed</xsl:attribute>
  1010. <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
  1011. <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
  1012. <xsl:attribute name="background-position-vertical">center</xsl:attribute>
  1013. </xsl:if>
  1014. </fo:region-body>
  1015. <fo:region-before region-name="xsl-region-before-odd"
  1016. extent="{$region.before.extent}"
  1017. display-align="before"/>
  1018. <fo:region-after region-name="xsl-region-after-odd"
  1019. extent="{$region.after.extent}"
  1020. display-align="after"/>
  1021. </fo:simple-page-master>
  1022. <fo:simple-page-master master-name="front-even-draft"
  1023. page-width="{$page.width}"
  1024. page-height="{$page.height}"
  1025. margin-top="{$page.margin.top}"
  1026. margin-bottom="{$page.margin.bottom}">
  1027. <xsl:attribute name="margin-{$direction.align.start}">
  1028. <xsl:value-of select="$page.margin.outer"/>
  1029. <xsl:if test="$fop.extensions != 0">
  1030. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  1031. </xsl:if>
  1032. </xsl:attribute>
  1033. <xsl:attribute name="margin-{$direction.align.end}">
  1034. <xsl:value-of select="$page.margin.inner"/>
  1035. </xsl:attribute>
  1036. <xsl:if test="$axf.extensions != 0">
  1037. <xsl:call-template name="axf-page-master-properties">
  1038. <xsl:with-param name="page.master">front-even-draft</xsl:with-param>
  1039. </xsl:call-template>
  1040. </xsl:if>
  1041. <fo:region-body margin-bottom="{$body.margin.bottom}"
  1042. margin-top="{$body.margin.top}"
  1043. column-gap="{$column.gap.front}"
  1044. column-count="{$column.count.front}">
  1045. <xsl:if test="$draft.watermark.image != ''">
  1046. <xsl:attribute name="background-image">
  1047. <xsl:call-template name="fo-external-image">
  1048. <xsl:with-param name="filename" select="$draft.watermark.image"/>
  1049. </xsl:call-template>
  1050. </xsl:attribute>
  1051. <xsl:attribute name="background-attachment">fixed</xsl:attribute>
  1052. <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
  1053. <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
  1054. <xsl:attribute name="background-position-vertical">center</xsl:attribute>
  1055. </xsl:if>
  1056. </fo:region-body>
  1057. <fo:region-before region-name="xsl-region-before-even"
  1058. extent="{$region.before.extent}"
  1059. display-align="before"/>
  1060. <fo:region-after region-name="xsl-region-after-even"
  1061. extent="{$region.after.extent}"
  1062. display-align="after"/>
  1063. </fo:simple-page-master>
  1064. <!-- draft body pages -->
  1065. <fo:simple-page-master master-name="body-first-draft"
  1066. page-width="{$page.width}"
  1067. page-height="{$page.height}"
  1068. margin-top="{$page.margin.top}"
  1069. margin-bottom="{$page.margin.bottom}">
  1070. <xsl:attribute name="margin-{$direction.align.start}">
  1071. <xsl:value-of select="$page.margin.inner"/>
  1072. <xsl:if test="$fop.extensions != 0">
  1073. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  1074. </xsl:if>
  1075. </xsl:attribute>
  1076. <xsl:attribute name="margin-{$direction.align.end}">
  1077. <xsl:value-of select="$page.margin.outer"/>
  1078. </xsl:attribute>
  1079. <xsl:if test="$axf.extensions != 0">
  1080. <xsl:call-template name="axf-page-master-properties">
  1081. <xsl:with-param name="page.master">body-first-draft</xsl:with-param>
  1082. </xsl:call-template>
  1083. </xsl:if>
  1084. <fo:region-body margin-bottom="{$body.margin.bottom}"
  1085. margin-top="{$body.margin.top}"
  1086. column-gap="{$column.gap.body}"
  1087. column-count="{$column.count.body}">
  1088. <xsl:if test="$draft.watermark.image != ''">
  1089. <xsl:attribute name="background-image">
  1090. <xsl:call-template name="fo-external-image">
  1091. <xsl:with-param name="filename" select="$draft.watermark.image"/>
  1092. </xsl:call-template>
  1093. </xsl:attribute>
  1094. <xsl:attribute name="background-attachment">fixed</xsl:attribute>
  1095. <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
  1096. <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
  1097. <xsl:attribute name="background-position-vertical">center</xsl:attribute>
  1098. </xsl:if>
  1099. </fo:region-body>
  1100. <fo:region-before region-name="xsl-region-before-first"
  1101. extent="{$region.before.extent}"
  1102. display-align="before"/>
  1103. <fo:region-after region-name="xsl-region-after-first"
  1104. extent="{$region.after.extent}"
  1105. display-align="after"/>
  1106. </fo:simple-page-master>
  1107. <fo:simple-page-master master-name="body-odd-draft"
  1108. page-width="{$page.width}"
  1109. page-height="{$page.height}"
  1110. margin-top="{$page.margin.top}"
  1111. margin-bottom="{$page.margin.bottom}">
  1112. <xsl:attribute name="margin-{$direction.align.start}">
  1113. <xsl:value-of select="$page.margin.inner"/>
  1114. <xsl:if test="$fop.extensions != 0">
  1115. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  1116. </xsl:if>
  1117. </xsl:attribute>
  1118. <xsl:attribute name="margin-{$direction.align.end}">
  1119. <xsl:value-of select="$page.margin.outer"/>
  1120. </xsl:attribute>
  1121. <xsl:if test="$axf.extensions != 0">
  1122. <xsl:call-template name="axf-page-master-properties">
  1123. <xsl:with-param name="page.master">body-odd-draft</xsl:with-param>
  1124. </xsl:call-template>
  1125. </xsl:if>
  1126. <fo:region-body margin-bottom="{$body.margin.bottom}"
  1127. margin-top="{$body.margin.top}"
  1128. column-gap="{$column.gap.body}"
  1129. column-count="{$column.count.body}">
  1130. <xsl:if test="$draft.watermark.image != ''">
  1131. <xsl:attribute name="background-image">
  1132. <xsl:call-template name="fo-external-image">
  1133. <xsl:with-param name="filename" select="$draft.watermark.image"/>
  1134. </xsl:call-template>
  1135. </xsl:attribute>
  1136. <xsl:attribute name="background-attachment">fixed</xsl:attribute>
  1137. <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
  1138. <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
  1139. <xsl:attribute name="background-position-vertical">center</xsl:attribute>
  1140. </xsl:if>
  1141. </fo:region-body>
  1142. <fo:region-before region-name="xsl-region-before-odd"
  1143. extent="{$region.before.extent}"
  1144. display-align="before"/>
  1145. <fo:region-after region-name="xsl-region-after-odd"
  1146. extent="{$region.after.extent}"
  1147. display-align="after"/>
  1148. </fo:simple-page-master>
  1149. <fo:simple-page-master master-name="body-even-draft"
  1150. page-width="{$page.width}"
  1151. page-height="{$page.height}"
  1152. margin-top="{$page.margin.top}"
  1153. margin-bottom="{$page.margin.bottom}">
  1154. <xsl:attribute name="margin-{$direction.align.start}">
  1155. <xsl:value-of select="$page.margin.outer"/>
  1156. <xsl:if test="$fop.extensions != 0">
  1157. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  1158. </xsl:if>
  1159. </xsl:attribute>
  1160. <xsl:attribute name="margin-{$direction.align.end}">
  1161. <xsl:value-of select="$page.margin.inner"/>
  1162. </xsl:attribute>
  1163. <xsl:if test="$axf.extensions != 0">
  1164. <xsl:call-template name="axf-page-master-properties">
  1165. <xsl:with-param name="page.master">body-even-draft</xsl:with-param>
  1166. </xsl:call-template>
  1167. </xsl:if>
  1168. <fo:region-body margin-bottom="{$body.margin.bottom}"
  1169. margin-top="{$body.margin.top}"
  1170. column-gap="{$column.gap.body}"
  1171. column-count="{$column.count.body}">
  1172. <xsl:if test="$draft.watermark.image != ''">
  1173. <xsl:attribute name="background-image">
  1174. <xsl:call-template name="fo-external-image">
  1175. <xsl:with-param name="filename" select="$draft.watermark.image"/>
  1176. </xsl:call-template>
  1177. </xsl:attribute>
  1178. <xsl:attribute name="background-attachment">fixed</xsl:attribute>
  1179. <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
  1180. <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
  1181. <xsl:attribute name="background-position-vertical">center</xsl:attribute>
  1182. </xsl:if>
  1183. </fo:region-body>
  1184. <fo:region-before region-name="xsl-region-before-even"
  1185. extent="{$region.before.extent}"
  1186. display-align="before"/>
  1187. <fo:region-after region-name="xsl-region-after-even"
  1188. extent="{$region.after.extent}"
  1189. display-align="after"/>
  1190. </fo:simple-page-master>
  1191. <!-- draft backmatter pages -->
  1192. <fo:simple-page-master master-name="back-first-draft"
  1193. page-width="{$page.width}"
  1194. page-height="{$page.height}"
  1195. margin-top="{$page.margin.top}"
  1196. margin-bottom="{$page.margin.bottom}">
  1197. <xsl:attribute name="margin-{$direction.align.start}">
  1198. <xsl:value-of select="$page.margin.inner"/>
  1199. <xsl:if test="$fop.extensions != 0">
  1200. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  1201. </xsl:if>
  1202. </xsl:attribute>
  1203. <xsl:attribute name="margin-{$direction.align.end}">
  1204. <xsl:value-of select="$page.margin.outer"/>
  1205. </xsl:attribute>
  1206. <xsl:if test="$axf.extensions != 0">
  1207. <xsl:call-template name="axf-page-master-properties">
  1208. <xsl:with-param name="page.master">back-first-draft</xsl:with-param>
  1209. </xsl:call-template>
  1210. </xsl:if>
  1211. <fo:region-body margin-bottom="{$body.margin.bottom}"
  1212. margin-top="{$body.margin.top}"
  1213. column-gap="{$column.gap.back}"
  1214. column-count="{$column.count.back}">
  1215. <xsl:if test="$draft.watermark.image != ''">
  1216. <xsl:attribute name="background-image">
  1217. <xsl:call-template name="fo-external-image">
  1218. <xsl:with-param name="filename" select="$draft.watermark.image"/>
  1219. </xsl:call-template>
  1220. </xsl:attribute>
  1221. <xsl:attribute name="background-attachment">fixed</xsl:attribute>
  1222. <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
  1223. <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
  1224. <xsl:attribute name="background-position-vertical">center</xsl:attribute>
  1225. </xsl:if>
  1226. </fo:region-body>
  1227. <fo:region-before region-name="xsl-region-before-first"
  1228. extent="{$region.before.extent}"
  1229. display-align="before"/>
  1230. <fo:region-after region-name="xsl-region-after-first"
  1231. extent="{$region.after.extent}"
  1232. display-align="after"/>
  1233. </fo:simple-page-master>
  1234. <fo:simple-page-master master-name="back-odd-draft"
  1235. page-width="{$page.width}"
  1236. page-height="{$page.height}"
  1237. margin-top="{$page.margin.top}"
  1238. margin-bottom="{$page.margin.bottom}">
  1239. <xsl:attribute name="margin-{$direction.align.start}">
  1240. <xsl:value-of select="$page.margin.inner"/>
  1241. <xsl:if test="$fop.extensions != 0">
  1242. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  1243. </xsl:if>
  1244. </xsl:attribute>
  1245. <xsl:attribute name="margin-{$direction.align.end}">
  1246. <xsl:value-of select="$page.margin.outer"/>
  1247. </xsl:attribute>
  1248. <xsl:if test="$axf.extensions != 0">
  1249. <xsl:call-template name="axf-page-master-properties">
  1250. <xsl:with-param name="page.master">back-odd-draft</xsl:with-param>
  1251. </xsl:call-template>
  1252. </xsl:if>
  1253. <fo:region-body margin-bottom="{$body.margin.bottom}"
  1254. margin-top="{$body.margin.top}"
  1255. column-gap="{$column.gap.back}"
  1256. column-count="{$column.count.back}">
  1257. <xsl:if test="$draft.watermark.image != ''">
  1258. <xsl:attribute name="background-image">
  1259. <xsl:call-template name="fo-external-image">
  1260. <xsl:with-param name="filename" select="$draft.watermark.image"/>
  1261. </xsl:call-template>
  1262. </xsl:attribute>
  1263. <xsl:attribute name="background-attachment">fixed</xsl:attribute>
  1264. <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
  1265. <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
  1266. <xsl:attribute name="background-position-vertical">center</xsl:attribute>
  1267. </xsl:if>
  1268. </fo:region-body>
  1269. <fo:region-before region-name="xsl-region-before-odd"
  1270. extent="{$region.before.extent}"
  1271. display-align="before"/>
  1272. <fo:region-after region-name="xsl-region-after-odd"
  1273. extent="{$region.after.extent}"
  1274. display-align="after"/>
  1275. </fo:simple-page-master>
  1276. <fo:simple-page-master master-name="back-even-draft"
  1277. page-width="{$page.width}"
  1278. page-height="{$page.height}"
  1279. margin-top="{$page.margin.top}"
  1280. margin-bottom="{$page.margin.bottom}">
  1281. <xsl:attribute name="margin-{$direction.align.start}">
  1282. <xsl:value-of select="$page.margin.outer"/>
  1283. <xsl:if test="$fop.extensions != 0">
  1284. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  1285. </xsl:if>
  1286. </xsl:attribute>
  1287. <xsl:attribute name="margin-{$direction.align.end}">
  1288. <xsl:value-of select="$page.margin.inner"/>
  1289. </xsl:attribute>
  1290. <xsl:if test="$axf.extensions != 0">
  1291. <xsl:call-template name="axf-page-master-properties">
  1292. <xsl:with-param name="page.master">back-even-draft</xsl:with-param>
  1293. </xsl:call-template>
  1294. </xsl:if>
  1295. <fo:region-body margin-bottom="{$body.margin.bottom}"
  1296. margin-top="{$body.margin.top}"
  1297. column-gap="{$column.gap.back}"
  1298. column-count="{$column.count.back}">
  1299. <xsl:if test="$draft.watermark.image != ''">
  1300. <xsl:attribute name="background-image">
  1301. <xsl:call-template name="fo-external-image">
  1302. <xsl:with-param name="filename" select="$draft.watermark.image"/>
  1303. </xsl:call-template>
  1304. </xsl:attribute>
  1305. <xsl:attribute name="background-attachment">fixed</xsl:attribute>
  1306. <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
  1307. <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
  1308. <xsl:attribute name="background-position-vertical">center</xsl:attribute>
  1309. </xsl:if>
  1310. </fo:region-body>
  1311. <fo:region-before region-name="xsl-region-before-even"
  1312. extent="{$region.before.extent}"
  1313. display-align="before"/>
  1314. <fo:region-after region-name="xsl-region-after-even"
  1315. extent="{$region.after.extent}"
  1316. display-align="after"/>
  1317. </fo:simple-page-master>
  1318. <!-- draft index pages -->
  1319. <fo:simple-page-master master-name="index-first-draft"
  1320. page-width="{$page.width}"
  1321. page-height="{$page.height}"
  1322. margin-top="{$page.margin.top}"
  1323. margin-bottom="{$page.margin.bottom}">
  1324. <xsl:attribute name="margin-{$direction.align.start}">
  1325. <xsl:value-of select="$page.margin.inner"/>
  1326. <xsl:if test="$fop.extensions != 0">
  1327. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  1328. </xsl:if>
  1329. </xsl:attribute>
  1330. <xsl:attribute name="margin-{$direction.align.end}">
  1331. <xsl:value-of select="$page.margin.outer"/>
  1332. </xsl:attribute>
  1333. <xsl:if test="$axf.extensions != 0">
  1334. <xsl:call-template name="axf-page-master-properties">
  1335. <xsl:with-param name="page.master">index-first-draft</xsl:with-param>
  1336. </xsl:call-template>
  1337. </xsl:if>
  1338. <fo:region-body margin-bottom="{$body.margin.bottom}"
  1339. margin-top="{$body.margin.top}"
  1340. column-gap="{$column.gap.index}"
  1341. column-count="{$column.count.index}">
  1342. <xsl:if test="$draft.watermark.image != ''">
  1343. <xsl:attribute name="background-image">
  1344. <xsl:call-template name="fo-external-image">
  1345. <xsl:with-param name="filename" select="$draft.watermark.image"/>
  1346. </xsl:call-template>
  1347. </xsl:attribute>
  1348. <xsl:attribute name="background-attachment">fixed</xsl:attribute>
  1349. <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
  1350. <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
  1351. <xsl:attribute name="background-position-vertical">center</xsl:attribute>
  1352. </xsl:if>
  1353. </fo:region-body>
  1354. <fo:region-before region-name="xsl-region-before-first"
  1355. extent="{$region.before.extent}"
  1356. display-align="before"/>
  1357. <fo:region-after region-name="xsl-region-after-first"
  1358. extent="{$region.after.extent}"
  1359. display-align="after"/>
  1360. </fo:simple-page-master>
  1361. <fo:simple-page-master master-name="index-odd-draft"
  1362. page-width="{$page.width}"
  1363. page-height="{$page.height}"
  1364. margin-top="{$page.margin.top}"
  1365. margin-bottom="{$page.margin.bottom}">
  1366. <xsl:attribute name="margin-{$direction.align.start}">
  1367. <xsl:value-of select="$page.margin.inner"/>
  1368. <xsl:if test="$fop.extensions != 0">
  1369. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  1370. </xsl:if>
  1371. </xsl:attribute>
  1372. <xsl:attribute name="margin-{$direction.align.end}">
  1373. <xsl:value-of select="$page.margin.outer"/>
  1374. </xsl:attribute>
  1375. <xsl:if test="$axf.extensions != 0">
  1376. <xsl:call-template name="axf-page-master-properties">
  1377. <xsl:with-param name="page.master">index-odd-draft</xsl:with-param>
  1378. </xsl:call-template>
  1379. </xsl:if>
  1380. <fo:region-body margin-bottom="{$body.margin.bottom}"
  1381. margin-top="{$body.margin.top}"
  1382. column-gap="{$column.gap.index}"
  1383. column-count="{$column.count.index}">
  1384. <xsl:if test="$draft.watermark.image != ''">
  1385. <xsl:attribute name="background-image">
  1386. <xsl:call-template name="fo-external-image">
  1387. <xsl:with-param name="filename" select="$draft.watermark.image"/>
  1388. </xsl:call-template>
  1389. </xsl:attribute>
  1390. <xsl:attribute name="background-attachment">fixed</xsl:attribute>
  1391. <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
  1392. <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
  1393. <xsl:attribute name="background-position-vertical">center</xsl:attribute>
  1394. </xsl:if>
  1395. </fo:region-body>
  1396. <fo:region-before region-name="xsl-region-before-odd"
  1397. extent="{$region.before.extent}"
  1398. display-align="before"/>
  1399. <fo:region-after region-name="xsl-region-after-odd"
  1400. extent="{$region.after.extent}"
  1401. display-align="after"/>
  1402. </fo:simple-page-master>
  1403. <fo:simple-page-master master-name="index-even-draft"
  1404. page-width="{$page.width}"
  1405. page-height="{$page.height}"
  1406. margin-top="{$page.margin.top}"
  1407. margin-bottom="{$page.margin.bottom}">
  1408. <xsl:attribute name="margin-{$direction.align.start}">
  1409. <xsl:value-of select="$page.margin.outer"/>
  1410. <xsl:if test="$fop.extensions != 0">
  1411. <xsl:value-of select="concat(' - (',$title.margin.left,')')"/>
  1412. </xsl:if>
  1413. </xsl:attribute>
  1414. <xsl:attribute name="margin-{$direction.align.end}">
  1415. <xsl:value-of select="$page.margin.inner"/>
  1416. </xsl:attribute>
  1417. <xsl:if test="$axf.extensions != 0">
  1418. <xsl:call-template name="axf-page-master-properties">
  1419. <xsl:with-param name="page.master">index-even-draft</xsl:with-param>
  1420. </xsl:call-template>
  1421. </xsl:if>
  1422. <fo:region-body margin-bottom="{$body.margin.bottom}"
  1423. margin-top="{$body.margin.top}"
  1424. column-gap="{$column.gap.index}"
  1425. column-count="{$column.count.index}">
  1426. <xsl:if test="$draft.watermark.image != ''">
  1427. <xsl:attribute name="background-image">
  1428. <xsl:call-template name="fo-external-image">
  1429. <xsl:with-param name="filename" select="$draft.watermark.image"/>
  1430. </xsl:call-template>
  1431. </xsl:attribute>
  1432. <xsl:attribute name="background-attachment">fixed</xsl:attribute>
  1433. <xsl:attribute name="background-repeat">no-repeat</xsl:attribute>
  1434. <xsl:attribute name="background-position-horizontal">center</xsl:attribute>
  1435. <xsl:attribute name="background-position-vertical">center</xsl:attribute>
  1436. </xsl:if>
  1437. </fo:region-body>
  1438. <fo:region-before region-name="xsl-region-before-even"
  1439. extent="{$region.before.extent}"
  1440. display-align="before"/>
  1441. <fo:region-after region-name="xsl-region-after-even"
  1442. extent="{$region.after.extent}"
  1443. display-align="after"/>
  1444. </fo:simple-page-master>
  1445. </xsl:if>
  1446. <!-- setup for title page(s) -->
  1447. <fo:page-sequence-master master-name="titlepage">
  1448. <fo:repeatable-page-master-alternatives>
  1449. <fo:conditional-page-master-reference master-reference="blank"
  1450. blank-or-not-blank="blank"/>
  1451. <fo:conditional-page-master-reference master-reference="titlepage-first"
  1452. page-position="first"/>
  1453. <fo:conditional-page-master-reference master-reference="titlepage-odd"
  1454. odd-or-even="odd"/>
  1455. <fo:conditional-page-master-reference
  1456. odd-or-even="even">
  1457. <xsl:attribute name="master-reference">
  1458. <xsl:choose>
  1459. <xsl:when test="$double.sided != 0">titlepage-even</xsl:when>
  1460. <xsl:otherwise>titlepage-odd</xsl:otherwise>
  1461. </xsl:choose>
  1462. </xsl:attribute>
  1463. </fo:conditional-page-master-reference>
  1464. </fo:repeatable-page-master-alternatives>
  1465. </fo:page-sequence-master>
  1466. <!-- setup for lots -->
  1467. <fo:page-sequence-master master-name="lot">
  1468. <fo:repeatable-page-master-alternatives>
  1469. <fo:conditional-page-master-reference master-reference="blank"
  1470. blank-or-not-blank="blank"/>
  1471. <fo:conditional-page-master-reference master-reference="lot-first"
  1472. page-position="first"/>
  1473. <fo:conditional-page-master-reference master-reference="lot-odd"
  1474. odd-or-even="odd"/>
  1475. <fo:conditional-page-master-reference
  1476. odd-or-even="even">
  1477. <xsl:attribute name="master-reference">
  1478. <xsl:choose>
  1479. <xsl:when test="$double.sided != 0">lot-even</xsl:when>
  1480. <xsl:otherwise>lot-odd</xsl:otherwise>
  1481. </xsl:choose>
  1482. </xsl:attribute>
  1483. </fo:conditional-page-master-reference>
  1484. </fo:repeatable-page-master-alternatives>
  1485. </fo:page-sequence-master>
  1486. <!-- setup front matter -->
  1487. <fo:page-sequence-master master-name="front">
  1488. <fo:repeatable-page-master-alternatives>
  1489. <fo:conditional-page-master-reference master-reference="blank"
  1490. blank-or-not-blank="blank"/>
  1491. <fo:conditional-page-master-reference master-reference="front-first"
  1492. page-position="first"/>
  1493. <fo:conditional-page-master-reference master-reference="front-odd"
  1494. odd-or-even="odd"/>
  1495. <fo:conditional-page-master-reference
  1496. odd-or-even="even">
  1497. <xsl:attribute name="master-reference">
  1498. <xsl:choose>
  1499. <xsl:when test="$double.sided != 0">front-even</xsl:when>
  1500. <xsl:otherwise>front-odd</xsl:otherwise>
  1501. </xsl:choose>
  1502. </xsl:attribute>
  1503. </fo:conditional-page-master-reference>
  1504. </fo:repeatable-page-master-alternatives>
  1505. </fo:page-sequence-master>
  1506. <!-- setup for body pages -->
  1507. <fo:page-sequence-master master-name="body">
  1508. <fo:repeatable-page-master-alternatives>
  1509. <fo:conditional-page-master-reference master-reference="blank"
  1510. blank-or-not-blank="blank"/>
  1511. <fo:conditional-page-master-reference master-reference="body-first"
  1512. page-position="first"/>
  1513. <fo:conditional-page-master-reference master-reference="body-odd"
  1514. odd-or-even="odd"/>
  1515. <fo:conditional-page-master-reference
  1516. odd-or-even="even">
  1517. <xsl:attribute name="master-reference">
  1518. <xsl:choose>
  1519. <xsl:when test="$double.sided != 0">body-even</xsl:when>
  1520. <xsl:otherwise>body-odd</xsl:otherwise>
  1521. </xsl:choose>
  1522. </xsl:attribute>
  1523. </fo:conditional-page-master-reference>
  1524. </fo:repeatable-page-master-alternatives>
  1525. </fo:page-sequence-master>
  1526. <!-- setup back matter -->
  1527. <fo:page-sequence-master master-name="back">
  1528. <fo:repeatable-page-master-alternatives>
  1529. <fo:conditional-page-master-reference master-reference="blank"
  1530. blank-or-not-blank="blank"/>
  1531. <fo:conditional-page-master-reference master-reference="back-first"
  1532. page-position="first"/>
  1533. <fo:conditional-page-master-reference master-reference="back-odd"
  1534. odd-or-even="odd"/>
  1535. <fo:conditional-page-master-reference
  1536. odd-or-even="even">
  1537. <xsl:attribute name="master-reference">
  1538. <xsl:choose>
  1539. <xsl:when test="$double.sided != 0">back-even</xsl:when>
  1540. <xsl:otherwise>back-odd</xsl:otherwise>
  1541. </xsl:choose>
  1542. </xsl:attribute>
  1543. </fo:conditional-page-master-reference>
  1544. </fo:repeatable-page-master-alternatives>
  1545. </fo:page-sequence-master>
  1546. <!-- setup back matter -->
  1547. <fo:page-sequence-master master-name="index">
  1548. <fo:repeatable-page-master-alternatives>
  1549. <fo:conditional-page-master-reference master-reference="blank"
  1550. blank-or-not-blank="blank"/>
  1551. <fo:conditional-page-master-reference master-reference="index-first"
  1552. page-position="first"/>
  1553. <fo:conditional-page-master-reference master-reference="index-odd"
  1554. odd-or-even="odd"/>
  1555. <fo:conditional-page-master-reference
  1556. odd-or-even="even">
  1557. <xsl:attribute name="master-reference">
  1558. <xsl:choose>
  1559. <xsl:when test="$double.sided != 0">index-even</xsl:when>
  1560. <xsl:otherwise>index-odd</xsl:otherwise>
  1561. </xsl:choose>
  1562. </xsl:attribute>
  1563. </fo:conditional-page-master-reference>
  1564. </fo:repeatable-page-master-alternatives>
  1565. </fo:page-sequence-master>
  1566. <xsl:if test="$draft.mode != 'no'">
  1567. <!-- setup for draft title page(s) -->
  1568. <fo:page-sequence-master master-name="titlepage-draft">
  1569. <fo:repeatable-page-master-alternatives>
  1570. <fo:conditional-page-master-reference master-reference="blank-draft"
  1571. blank-or-not-blank="blank"/>
  1572. <fo:conditional-page-master-reference master-reference="titlepage-first-draft"
  1573. page-position="first"/>
  1574. <fo:conditional-page-master-reference master-reference="titlepage-odd-draft"
  1575. odd-or-even="odd"/>
  1576. <fo:conditional-page-master-reference
  1577. odd-or-even="even">
  1578. <xsl:attribute name="master-reference">
  1579. <xsl:choose>
  1580. <xsl:when test="$double.sided != 0">titlepage-even-draft</xsl:when>
  1581. <xsl:otherwise>titlepage-odd-draft</xsl:otherwise>
  1582. </xsl:choose>
  1583. </xsl:attribute>
  1584. </fo:conditional-page-master-reference>
  1585. </fo:repeatable-page-master-alternatives>
  1586. </fo:page-sequence-master>
  1587. <!-- setup for draft lots -->
  1588. <fo:page-sequence-master master-name="lot-draft">
  1589. <fo:repeatable-page-master-alternatives>
  1590. <fo:conditional-page-master-reference master-reference="blank-draft"
  1591. blank-or-not-blank="blank"/>
  1592. <fo:conditional-page-master-reference master-reference="lot-first-draft"
  1593. page-position="first"/>
  1594. <fo:conditional-page-master-reference master-reference="lot-odd-draft"
  1595. odd-or-even="odd"/>
  1596. <fo:conditional-page-master-reference
  1597. odd-or-even="even">
  1598. <xsl:attribute name="master-reference">
  1599. <xsl:choose>
  1600. <xsl:when test="$double.sided != 0">lot-even-draft</xsl:when>
  1601. <xsl:otherwise>lot-odd-draft</xsl:otherwise>
  1602. </xsl:choose>
  1603. </xsl:attribute>
  1604. </fo:conditional-page-master-reference>
  1605. </fo:repeatable-page-master-alternatives>
  1606. </fo:page-sequence-master>
  1607. <!-- setup draft front matter -->
  1608. <fo:page-sequence-master master-name="front-draft">
  1609. <fo:repeatable-page-master-alternatives>
  1610. <fo:conditional-page-master-reference master-reference="blank-draft"
  1611. blank-or-not-blank="blank"/>
  1612. <fo:conditional-page-master-reference master-reference="front-first-draft"
  1613. page-position="first"/>
  1614. <fo:conditional-page-master-reference master-reference="front-odd-draft"
  1615. odd-or-even="odd"/>
  1616. <fo:conditional-page-master-reference
  1617. odd-or-even="even">
  1618. <xsl:attribute name="master-reference">
  1619. <xsl:choose>
  1620. <xsl:when test="$double.sided != 0">front-even-draft</xsl:when>
  1621. <xsl:otherwise>front-odd-draft</xsl:otherwise>
  1622. </xsl:choose>
  1623. </xsl:attribute>
  1624. </fo:conditional-page-master-reference>
  1625. </fo:repeatable-page-master-alternatives>
  1626. </fo:page-sequence-master>
  1627. <!-- setup for draft body pages -->
  1628. <fo:page-sequence-master master-name="body-draft">
  1629. <fo:repeatable-page-master-alternatives>
  1630. <fo:conditional-page-master-reference master-reference="blank-draft"
  1631. blank-or-not-blank="blank"/>
  1632. <fo:conditional-page-master-reference master-reference="body-first-draft"
  1633. page-position="first"/>
  1634. <fo:conditional-page-master-reference master-reference="body-odd-draft"
  1635. odd-or-even="odd"/>
  1636. <fo:conditional-page-master-reference
  1637. odd-or-even="even">
  1638. <xsl:attribute name="master-reference">
  1639. <xsl:choose>
  1640. <xsl:when test="$double.sided != 0">body-even-draft</xsl:when>
  1641. <xsl:otherwise>body-odd-draft</xsl:otherwise>
  1642. </xsl:choose>
  1643. </xsl:attribute>
  1644. </fo:conditional-page-master-reference>
  1645. </fo:repeatable-page-master-alternatives>
  1646. </fo:page-sequence-master>
  1647. <!-- setup draft back matter -->
  1648. <fo:page-sequence-master master-name="back-draft">
  1649. <fo:repeatable-page-master-alternatives>
  1650. <fo:conditional-page-master-reference master-reference="blank-draft"
  1651. blank-or-not-blank="blank"/>
  1652. <fo:conditional-page-master-reference master-reference="back-first-draft"
  1653. page-position="first"/>
  1654. <fo:conditional-page-master-reference master-reference="back-odd-draft"
  1655. odd-or-even="odd"/>
  1656. <fo:conditional-page-master-reference
  1657. odd-or-even="even">
  1658. <xsl:attribute name="master-reference">
  1659. <xsl:choose>
  1660. <xsl:when test="$double.sided != 0">back-even-draft</xsl:when>
  1661. <xsl:otherwise>back-odd-draft</xsl:otherwise>
  1662. </xsl:choose>
  1663. </xsl:attribute>
  1664. </fo:conditional-page-master-reference>
  1665. </fo:repeatable-page-master-alternatives>
  1666. </fo:page-sequence-master>
  1667. <!-- setup draft index pages -->
  1668. <fo:page-sequence-master master-name="index-draft">
  1669. <fo:repeatable-page-master-alternatives>
  1670. <fo:conditional-page-master-reference master-reference="blank-draft"
  1671. blank-or-not-blank="blank"/>
  1672. <fo:conditional-page-master-reference master-reference="index-first-draft"
  1673. page-position="first"/>
  1674. <fo:conditional-page-master-reference master-reference="index-odd-draft"
  1675. odd-or-even="odd"/>
  1676. <fo:conditional-page-master-reference
  1677. odd-or-even="even">
  1678. <xsl:attribute name="master-reference">
  1679. <xsl:choose>
  1680. <xsl:when test="$double.sided != 0">index-even-draft</xsl:when>
  1681. <xsl:otherwise>index-odd-draft</xsl:otherwise>
  1682. </xsl:choose>
  1683. </xsl:attribute>
  1684. </fo:conditional-page-master-reference>
  1685. </fo:repeatable-page-master-alternatives>
  1686. </fo:page-sequence-master>
  1687. </xsl:if>
  1688. <xsl:call-template name="user.pagemasters"/>
  1689. </fo:layout-master-set>
  1690. </xsl:template>
  1691. <!-- ==================================================================== -->
  1692. <xsl:template name="user.pagemasters"/> <!-- intentionally empty -->
  1693. <!-- ==================================================================== -->
  1694. <xsl:template name="select.pagemaster">
  1695. <xsl:param name="element" select="local-name(.)"/>
  1696. <xsl:param name="pageclass" select="''"/>
  1697. <xsl:variable name="pagemaster">
  1698. <xsl:choose>
  1699. <xsl:when test="$pageclass != ''">
  1700. <xsl:value-of select="$pageclass"/>
  1701. </xsl:when>
  1702. <xsl:when test="$pageclass = 'lot'">lot</xsl:when>
  1703. <xsl:when test="$element = 'dedication'">front</xsl:when>
  1704. <xsl:when test="$element = 'acknowledgements'">front</xsl:when>
  1705. <xsl:when test="$element = 'preface'">front</xsl:when>
  1706. <xsl:when test="$element = 'appendix'">back</xsl:when>
  1707. <xsl:when test="$element = 'glossary'">back</xsl:when>
  1708. <xsl:when test="$element = 'bibliography'">back</xsl:when>
  1709. <xsl:when test="$element = 'index'">index</xsl:when>
  1710. <xsl:when test="$element = 'colophon'">back</xsl:when>
  1711. <xsl:otherwise>body</xsl:otherwise>
  1712. </xsl:choose>
  1713. <xsl:choose>
  1714. <xsl:when test="$draft.mode = 'yes'">
  1715. <xsl:text>-draft</xsl:text>
  1716. </xsl:when>
  1717. <xsl:when test="$draft.mode = 'no'">
  1718. <!-- nop -->
  1719. </xsl:when>
  1720. <xsl:when test="ancestor-or-self::*[@status][1]/@status = 'draft'">
  1721. <xsl:text>-draft</xsl:text>
  1722. </xsl:when>
  1723. <xsl:otherwise>
  1724. <!-- nop -->
  1725. </xsl:otherwise>
  1726. </xsl:choose>
  1727. </xsl:variable>
  1728. <xsl:call-template name="select.user.pagemaster">
  1729. <xsl:with-param name="element" select="$element"/>
  1730. <xsl:with-param name="pageclass" select="$pageclass"/>
  1731. <xsl:with-param name="default-pagemaster" select="$pagemaster"/>
  1732. </xsl:call-template>
  1733. </xsl:template>
  1734. <xsl:template name="select.user.pagemaster">
  1735. <xsl:param name="element"/>
  1736. <xsl:param name="pageclass"/>
  1737. <xsl:param name="default-pagemaster"/>
  1738. <!-- by default, return the default. But if you've created your own
  1739. pagemasters in user.pagemasters, you might want to select one here. -->
  1740. <xsl:value-of select="$default-pagemaster"/>
  1741. </xsl:template>
  1742. <!-- ==================================================================== -->
  1743. <xsl:template name="head.sep.rule">
  1744. <xsl:param name="pageclass"/>
  1745. <xsl:param name="sequence"/>
  1746. <xsl:param name="gentext-key"/>
  1747. <xsl:if test="$header.rule != 0">
  1748. <xsl:attribute name="border-bottom-width">0.5pt</xsl:attribute>
  1749. <xsl:attribute name="border-bottom-style">solid</xsl:attribute>
  1750. <xsl:attribute name="border-bottom-color">black</xsl:attribute>
  1751. </xsl:if>
  1752. </xsl:template>
  1753. <xsl:template name="foot.sep.rule">
  1754. <xsl:param name="pageclass"/>
  1755. <xsl:param name="sequence"/>
  1756. <xsl:param name="gentext-key"/>
  1757. <xsl:if test="$footer.rule != 0">
  1758. <xsl:attribute name="border-top-width">0.5pt</xsl:attribute>
  1759. <xsl:attribute name="border-top-style">solid</xsl:attribute>
  1760. <xsl:attribute name="border-top-color">black</xsl:attribute>
  1761. </xsl:if>
  1762. </xsl:template>
  1763. <!-- ==================================================================== -->
  1764. <xsl:template match="*" mode="running.head.mode">
  1765. <xsl:param name="master-reference" select="'unknown'"/>
  1766. <xsl:param name="gentext-key" select="local-name(.)"/>
  1767. <!-- remove -draft from reference -->
  1768. <xsl:variable name="pageclass">
  1769. <xsl:choose>
  1770. <xsl:when test="contains($master-reference, '-draft')">
  1771. <xsl:value-of select="substring-before($master-reference, '-draft')"/>
  1772. </xsl:when>
  1773. <xsl:otherwise>
  1774. <xsl:value-of select="$master-reference"/>
  1775. </xsl:otherwise>
  1776. </xsl:choose>
  1777. </xsl:variable>
  1778. <fo:static-content flow-name="xsl-region-before-first">
  1779. <fo:block xsl:use-attribute-sets="header.content.properties">
  1780. <xsl:call-template name="header.table">
  1781. <xsl:with-param name="pageclass" select="$pageclass"/>
  1782. <xsl:with-param name="sequence" select="'first'"/>
  1783. <xsl:with-param name="gentext-key" select="$gentext-key"/>
  1784. </xsl:call-template>
  1785. </fo:block>
  1786. </fo:static-content>
  1787. <fo:static-content flow-name="xsl-region-before-odd">
  1788. <fo:block xsl:use-attribute-sets="header.content.properties">
  1789. <xsl:call-template name="header.table">
  1790. <xsl:with-param name="pageclass" select="$pageclass"/>
  1791. <xsl:with-param name="sequence" select="'odd'"/>
  1792. <xsl:with-param name="gentext-key" select="$gentext-key"/>
  1793. </xsl:call-template>
  1794. </fo:block>
  1795. </fo:static-content>
  1796. <fo:static-content flow-name="xsl-region-before-even">
  1797. <fo:block xsl:use-attribute-sets="header.content.properties">
  1798. <xsl:call-template name="header.table">
  1799. <xsl:with-param name="pageclass" select="$pageclass"/>
  1800. <xsl:with-param name="sequence" select="'even'"/>
  1801. <xsl:with-param name="gentext-key" select="$gentext-key"/>
  1802. </xsl:call-template>
  1803. </fo:block>
  1804. </fo:static-content>
  1805. <fo:static-content flow-name="xsl-region-before-blank">
  1806. <fo:block xsl:use-attribute-sets="header.content.properties">
  1807. <xsl:call-template name="header.table">
  1808. <xsl:with-param name="pageclass" select="$pageclass"/>
  1809. <xsl:with-param name="sequence" select="'blank'"/>
  1810. <xsl:with-param name="gentext-key" select="$gentext-key"/>
  1811. </xsl:call-template>
  1812. </fo:block>
  1813. </fo:static-content>
  1814. <xsl:call-template name="footnote-separator"/>
  1815. <xsl:if test="$fop.extensions = 0 and $fop1.extensions = 0">
  1816. <xsl:call-template name="blank.page.content"/>
  1817. </xsl:if>
  1818. </xsl:template>
  1819. <xsl:template name="footnote-separator">
  1820. <fo:static-content flow-name="xsl-footnote-separator">
  1821. <fo:block>
  1822. <fo:leader xsl:use-attribute-sets="footnote.sep.leader.properties"/>
  1823. </fo:block>
  1824. </fo:static-content>
  1825. </xsl:template>
  1826. <xsl:template name="blank.page.content">
  1827. <fo:static-content flow-name="blank-body">
  1828. <fo:block text-align="center"/>
  1829. </fo:static-content>
  1830. </xsl:template>
  1831. <xsl:template name="header.table">
  1832. <xsl:param name="pageclass" select="''"/>
  1833. <xsl:param name="sequence" select="''"/>
  1834. <xsl:param name="gentext-key" select="''"/>
  1835. <!-- default is a single table style for all headers -->
  1836. <!-- Customize it for different page classes or sequence location -->
  1837. <xsl:choose>
  1838. <xsl:when test="$pageclass = 'index'">
  1839. <xsl:attribute name="margin-{$direction.align.start}">0pt</xsl:attribute>
  1840. </xsl:when>
  1841. </xsl:choose>
  1842. <xsl:variable name="column1">
  1843. <xsl:choose>
  1844. <xsl:when test="$double.sided = 0">1</xsl:when>
  1845. <xsl:when test="$sequence = 'first' or $sequence = 'odd'">1</xsl:when>
  1846. <xsl:otherwise>3</xsl:otherwise>
  1847. </xsl:choose>
  1848. </xsl:variable>
  1849. <xsl:variable name="column3">
  1850. <xsl:choose>
  1851. <xsl:when test="$double.sided = 0">3</xsl:when>
  1852. <xsl:when test="$sequence = 'first' or $sequence = 'odd'">3</xsl:when>
  1853. <xsl:otherwise>1</xsl:otherwise>
  1854. </xsl:choose>
  1855. </xsl:variable>
  1856. <xsl:variable name="candidate">
  1857. <fo:table xsl:use-attribute-sets="header.table.properties">
  1858. <xsl:call-template name="head.sep.rule">
  1859. <xsl:with-param name="pageclass" select="$pageclass"/>
  1860. <xsl:with-param name="sequence" select="$sequence"/>
  1861. <xsl:with-param name="gentext-key" select="$gentext-key"/>
  1862. </xsl:call-template>
  1863. <fo:table-column column-number="1">
  1864. <xsl:attribute name="column-width">
  1865. <xsl:text>proportional-column-width(</xsl:text>
  1866. <xsl:call-template name="header.footer.width">
  1867. <xsl:with-param name="location">header</xsl:with-param>
  1868. <xsl:with-param name="position" select="$column1"/>
  1869. </xsl:call-template>
  1870. <xsl:text>)</xsl:text>
  1871. </xsl:attribute>
  1872. </fo:table-column>
  1873. <fo:table-column column-number="2">
  1874. <xsl:attribute name="column-width">
  1875. <xsl:text>proportional-column-width(</xsl:text>
  1876. <xsl:call-template name="header.footer.width">
  1877. <xsl:with-param name="location">header</xsl:with-param>
  1878. <xsl:with-param name="position" select="2"/>
  1879. </xsl:call-template>
  1880. <xsl:text>)</xsl:text>
  1881. </xsl:attribute>
  1882. </fo:table-column>
  1883. <fo:table-column column-number="3">
  1884. <xsl:attribute name="column-width">
  1885. <xsl:text>proportional-column-width(</xsl:text>
  1886. <xsl:call-template name="header.footer.width">
  1887. <xsl:with-param name="location">header</xsl:with-param>
  1888. <xsl:with-param name="position" select="$column3"/>
  1889. </xsl:call-template>
  1890. <xsl:text>)</xsl:text>
  1891. </xsl:attribute>
  1892. </fo:table-column>
  1893. <fo:table-body>
  1894. <fo:table-row>
  1895. <xsl:attribute name="block-progression-dimension.minimum">
  1896. <xsl:value-of select="$header.table.height"/>
  1897. </xsl:attribute>
  1898. <fo:table-cell text-align="start"
  1899. display-align="before">
  1900. <xsl:if test="$fop.extensions = 0">
  1901. <xsl:attribute name="relative-align">baseline</xsl:attribute>
  1902. </xsl:if>
  1903. <fo:block>
  1904. <xsl:call-template name="header.content">
  1905. <xsl:with-param name="pageclass" select="$pageclass"/>
  1906. <xsl:with-param name="sequence" select="$sequence"/>
  1907. <xsl:with-param name="position" select="$direction.align.start"/>
  1908. <xsl:with-param name="gentext-key" select="$gentext-key"/>
  1909. </xsl:call-template>
  1910. </fo:block>
  1911. </fo:table-cell>
  1912. <fo:table-cell text-align="center"
  1913. display-align="before">
  1914. <xsl:if test="$fop.extensions = 0">
  1915. <xsl:attribute name="relative-align">baseline</xsl:attribute>
  1916. </xsl:if>
  1917. <fo:block>
  1918. <xsl:call-template name="header.content">
  1919. <xsl:with-param name="pageclass" select="$pageclass"/>
  1920. <xsl:with-param name="sequence" select="$sequence"/>
  1921. <xsl:with-param name="position" select="'center'"/>
  1922. <xsl:with-param name="gentext-key" select="$gentext-key"/>
  1923. </xsl:call-template>
  1924. </fo:block>
  1925. </fo:table-cell>
  1926. <fo:table-cell text-align="right"
  1927. display-align="before">
  1928. <xsl:if test="$fop.extensions = 0">
  1929. <xsl:attribute name="relative-align">baseline</xsl:attribute>
  1930. </xsl:if>
  1931. <fo:block>
  1932. <xsl:call-template name="header.content">
  1933. <xsl:with-param name="pageclass" select="$pageclass"/>
  1934. <xsl:with-param name="sequence" select="$sequence"/>
  1935. <xsl:with-param name="position" select="$direction.align.end"/>
  1936. <xsl:with-param name="gentext-key" select="$gentext-key"/>
  1937. </xsl:call-template>
  1938. </fo:block>
  1939. </fo:table-cell>
  1940. </fo:table-row>
  1941. </fo:table-body>
  1942. </fo:table>
  1943. </xsl:variable>
  1944. <!-- Really output a header? -->
  1945. <xsl:choose>
  1946. <xsl:when test="$pageclass = 'titlepage' and $gentext-key = 'book'
  1947. and $sequence='first'">
  1948. <!-- no, book titlepages have no headers at all -->
  1949. </xsl:when>
  1950. <xsl:when test="$sequence = 'blank' and $headers.on.blank.pages = 0">
  1951. <!-- no output -->
  1952. </xsl:when>
  1953. <xsl:otherwise>
  1954. <xsl:copy-of select="$candidate"/>
  1955. </xsl:otherwise>
  1956. </xsl:choose>
  1957. </xsl:template>
  1958. <xsl:template name="header.content">
  1959. <xsl:param name="pageclass" select="''"/>
  1960. <xsl:param name="sequence" select="''"/>
  1961. <xsl:param name="position" select="''"/>
  1962. <xsl:param name="gentext-key" select="''"/>
  1963. <!--
  1964. <fo:block>
  1965. <xsl:value-of select="$pageclass"/>
  1966. <xsl:text>, </xsl:text>
  1967. <xsl:value-of select="$sequence"/>
  1968. <xsl:text>, </xsl:text>
  1969. <xsl:value-of select="$position"/>
  1970. <xsl:text>, </xsl:text>
  1971. <xsl:value-of select="$gentext-key"/>
  1972. </fo:block>
  1973. -->
  1974. <fo:block>
  1975. <!-- sequence can be odd, even, first, blank -->
  1976. <!-- position can be left, center, right -->
  1977. <xsl:choose>
  1978. <xsl:when test="$sequence = 'blank'">
  1979. <!-- nothing -->
  1980. </xsl:when>
  1981. <xsl:when test="$position='left'">
  1982. <!-- Same for odd, even, empty, and blank sequences -->
  1983. <xsl:call-template name="draft.text"/>
  1984. </xsl:when>
  1985. <xsl:when test="($sequence='odd' or $sequence='even') and $position='center'">
  1986. <xsl:if test="$pageclass != 'titlepage'">
  1987. <xsl:choose>
  1988. <xsl:when test="ancestor::book and ($double.sided != 0)">
  1989. <fo:retrieve-marker retrieve-class-name="section.head.marker"
  1990. retrieve-position="first-including-carryover"
  1991. retrieve-boundary="page-sequence"/>
  1992. </xsl:when>
  1993. <xsl:otherwise>
  1994. <xsl:apply-templates select="." mode="titleabbrev.markup"/>
  1995. </xsl:otherwise>
  1996. </xsl:choose>
  1997. </xsl:if>
  1998. </xsl:when>
  1999. <xsl:when test="$position='center'">
  2000. <!-- nothing for empty and blank sequences -->
  2001. </xsl:when>
  2002. <xsl:when test="$position='right'">
  2003. <!-- Same for odd, even, empty, and blank sequences -->
  2004. <xsl:call-template name="draft.text"/>
  2005. </xsl:when>
  2006. <xsl:when test="$sequence = 'first'">
  2007. <!-- nothing for first pages -->
  2008. </xsl:when>
  2009. <xsl:when test="$sequence = 'blank'">
  2010. <!-- nothing for blank pages -->
  2011. </xsl:when>
  2012. </xsl:choose>
  2013. </fo:block>
  2014. </xsl:template>
  2015. <xsl:template name="header.footer.width">
  2016. <xsl:param name="location" select="'header'"/>
  2017. <xsl:param name="position" select="1"/>
  2018. <xsl:variable name="width.set">
  2019. <xsl:choose>
  2020. <xsl:when test="$location = 'header'">
  2021. <xsl:value-of select="normalize-space($header.column.widths)"/>
  2022. </xsl:when>
  2023. <xsl:otherwise>
  2024. <xsl:value-of select="normalize-space($footer.column.widths)"/>
  2025. </xsl:otherwise>
  2026. </xsl:choose>
  2027. </xsl:variable>
  2028. <xsl:variable name="width">
  2029. <xsl:choose>
  2030. <xsl:when test="$position = 1">
  2031. <xsl:value-of select="substring-before($width.set, ' ')"/>
  2032. </xsl:when>
  2033. <xsl:when test="$position = 2">
  2034. <xsl:value-of select="substring-before(substring-after($width.set, ' '), ' ')"/>
  2035. </xsl:when>
  2036. <xsl:otherwise>
  2037. <xsl:value-of select="substring-after(substring-after($width.set, ' '), ' ')"/>
  2038. </xsl:otherwise>
  2039. </xsl:choose>
  2040. </xsl:variable>
  2041. <!-- Make sure it is a number -->
  2042. <xsl:choose>
  2043. <xsl:when test = "$width = number($width)">
  2044. <xsl:value-of select="$width"/>
  2045. </xsl:when>
  2046. <xsl:otherwise>
  2047. <xsl:message>Error: value in <xsl:value-of select="$location"/>.column.widths at position <xsl:value-of select="$position"/> is not a number.</xsl:message>
  2048. <xsl:text>1</xsl:text>
  2049. </xsl:otherwise>
  2050. </xsl:choose>
  2051. </xsl:template>
  2052. <xsl:template name="draft.text">
  2053. <xsl:choose>
  2054. <xsl:when test="$draft.mode = 'yes'">
  2055. <xsl:call-template name="gentext">
  2056. <xsl:with-param name="key" select="'Draft'"/>
  2057. </xsl:call-template>
  2058. </xsl:when>
  2059. <xsl:when test="$draft.mode = 'no'">
  2060. <!-- nop -->
  2061. </xsl:when>
  2062. <xsl:when test="ancestor-or-self::*[@status][1]/@status = 'draft'">
  2063. <xsl:call-template name="gentext">
  2064. <xsl:with-param name="key" select="'Draft'"/>
  2065. </xsl:call-template>
  2066. </xsl:when>
  2067. <xsl:otherwise>
  2068. <!-- nop -->
  2069. </xsl:otherwise>
  2070. </xsl:choose>
  2071. </xsl:template>
  2072. <!-- ==================================================================== -->
  2073. <xsl:template match="*" mode="running.foot.mode">
  2074. <xsl:param name="master-reference" select="'unknown'"/>
  2075. <xsl:param name="gentext-key" select="local-name(.)"/>
  2076. <!-- remove -draft from reference -->
  2077. <xsl:variable name="pageclass">
  2078. <xsl:choose>
  2079. <xsl:when test="contains($master-reference, '-draft')">
  2080. <xsl:value-of select="substring-before($master-reference, '-draft')"/>
  2081. </xsl:when>
  2082. <xsl:otherwise>
  2083. <xsl:value-of select="$master-reference"/>
  2084. </xsl:otherwise>
  2085. </xsl:choose>
  2086. </xsl:variable>
  2087. <fo:static-content flow-name="xsl-region-after-first">
  2088. <fo:block xsl:use-attribute-sets="footer.content.properties">
  2089. <xsl:call-template name="footer.table">
  2090. <xsl:with-param name="pageclass" select="$pageclass"/>
  2091. <xsl:with-param name="sequence" select="'first'"/>
  2092. <xsl:with-param name="gentext-key" select="$gentext-key"/>
  2093. </xsl:call-template>
  2094. </fo:block>
  2095. </fo:static-content>
  2096. <fo:static-content flow-name="xsl-region-after-odd">
  2097. <fo:block xsl:use-attribute-sets="footer.content.properties">
  2098. <xsl:call-template name="footer.table">
  2099. <xsl:with-param name="pageclass" select="$pageclass"/>
  2100. <xsl:with-param name="sequence" select="'odd'"/>
  2101. <xsl:with-param name="gentext-key" select="$gentext-key"/>
  2102. </xsl:call-template>
  2103. </fo:block>
  2104. </fo:static-content>
  2105. <fo:static-content flow-name="xsl-region-after-even">
  2106. <fo:block xsl:use-attribute-sets="footer.content.properties">
  2107. <xsl:call-template name="footer.table">
  2108. <xsl:with-param name="pageclass" select="$pageclass"/>
  2109. <xsl:with-param name="sequence" select="'even'"/>
  2110. <xsl:with-param name="gentext-key" select="$gentext-key"/>
  2111. </xsl:call-template>
  2112. </fo:block>
  2113. </fo:static-content>
  2114. <fo:static-content flow-name="xsl-region-after-blank">
  2115. <fo:block xsl:use-attribute-sets="footer.content.properties">
  2116. <xsl:call-template name="footer.table">
  2117. <xsl:with-param name="pageclass" select="$pageclass"/>
  2118. <xsl:with-param name="sequence" select="'blank'"/>
  2119. <xsl:with-param name="gentext-key" select="$gentext-key"/>
  2120. </xsl:call-template>
  2121. </fo:block>
  2122. </fo:static-content>
  2123. </xsl:template>
  2124. <xsl:template name="footer.table">
  2125. <xsl:param name="pageclass" select="''"/>
  2126. <xsl:param name="sequence" select="''"/>
  2127. <xsl:param name="gentext-key" select="''"/>
  2128. <!-- default is a single table style for all footers -->
  2129. <!-- Customize it for different page classes or sequence location -->
  2130. <xsl:choose>
  2131. <xsl:when test="$pageclass = 'index'">
  2132. <xsl:attribute name="margin-{$direction.align.start}">0pt</xsl:attribute>
  2133. </xsl:when>
  2134. </xsl:choose>
  2135. <xsl:variable name="column1">
  2136. <xsl:choose>
  2137. <xsl:when test="$double.sided = 0">1</xsl:when>
  2138. <xsl:when test="$sequence = 'first' or $sequence = 'odd'">1</xsl:when>
  2139. <xsl:otherwise>3</xsl:otherwise>
  2140. </xsl:choose>
  2141. </xsl:variable>
  2142. <xsl:variable name="column3">
  2143. <xsl:choose>
  2144. <xsl:when test="$double.sided = 0">3</xsl:when>
  2145. <xsl:when test="$sequence = 'first' or $sequence = 'odd'">3</xsl:when>
  2146. <xsl:otherwise>1</xsl:otherwise>
  2147. </xsl:choose>
  2148. </xsl:variable>
  2149. <xsl:variable name="candidate">
  2150. <fo:table xsl:use-attribute-sets="footer.table.properties">
  2151. <xsl:call-template name="foot.sep.rule">
  2152. <xsl:with-param name="pageclass" select="$pageclass"/>
  2153. <xsl:with-param name="sequence" select="$sequence"/>
  2154. <xsl:with-param name="gentext-key" select="$gentext-key"/>
  2155. </xsl:call-template>
  2156. <fo:table-column column-number="1">
  2157. <xsl:attribute name="column-width">
  2158. <xsl:text>proportional-column-width(</xsl:text>
  2159. <xsl:call-template name="header.footer.width">
  2160. <xsl:with-param name="location">footer</xsl:with-param>
  2161. <xsl:with-param name="position" select="$column1"/>
  2162. </xsl:call-template>
  2163. <xsl:text>)</xsl:text>
  2164. </xsl:attribute>
  2165. </fo:table-column>
  2166. <fo:table-column column-number="2">
  2167. <xsl:attribute name="column-width">
  2168. <xsl:text>proportional-column-width(</xsl:text>
  2169. <xsl:call-template name="header.footer.width">
  2170. <xsl:with-param name="location">footer</xsl:with-param>
  2171. <xsl:with-param name="position" select="2"/>
  2172. </xsl:call-template>
  2173. <xsl:text>)</xsl:text>
  2174. </xsl:attribute>
  2175. </fo:table-column>
  2176. <fo:table-column column-number="3">
  2177. <xsl:attribute name="column-width">
  2178. <xsl:text>proportional-column-width(</xsl:text>
  2179. <xsl:call-template name="header.footer.width">
  2180. <xsl:with-param name="location">footer</xsl:with-param>
  2181. <xsl:with-param name="position" select="$column3"/>
  2182. </xsl:call-template>
  2183. <xsl:text>)</xsl:text>
  2184. </xsl:attribute>
  2185. </fo:table-column>
  2186. <fo:table-body>
  2187. <fo:table-row>
  2188. <xsl:attribute name="block-progression-dimension.minimum">
  2189. <xsl:value-of select="$footer.table.height"/>
  2190. </xsl:attribute>
  2191. <fo:table-cell text-align="start"
  2192. display-align="after">
  2193. <xsl:if test="$fop.extensions = 0">
  2194. <xsl:attribute name="relative-align">baseline</xsl:attribute>
  2195. </xsl:if>
  2196. <fo:block>
  2197. <xsl:call-template name="footer.content">
  2198. <xsl:with-param name="pageclass" select="$pageclass"/>
  2199. <xsl:with-param name="sequence" select="$sequence"/>
  2200. <xsl:with-param name="position" select="$direction.align.start"/>
  2201. <xsl:with-param name="gentext-key" select="$gentext-key"/>
  2202. </xsl:call-template>
  2203. </fo:block>
  2204. </fo:table-cell>
  2205. <fo:table-cell text-align="center"
  2206. display-align="after">
  2207. <xsl:if test="$fop.extensions = 0">
  2208. <xsl:attribute name="relative-align">baseline</xsl:attribute>
  2209. </xsl:if>
  2210. <fo:block>
  2211. <xsl:call-template name="footer.content">
  2212. <xsl:with-param name="pageclass" select="$pageclass"/>
  2213. <xsl:with-param name="sequence" select="$sequence"/>
  2214. <xsl:with-param name="position" select="'center'"/>
  2215. <xsl:with-param name="gentext-key" select="$gentext-key"/>
  2216. </xsl:call-template>
  2217. </fo:block>
  2218. </fo:table-cell>
  2219. <fo:table-cell text-align="end"
  2220. display-align="after">
  2221. <xsl:if test="$fop.extensions = 0">
  2222. <xsl:attribute name="relative-align">baseline</xsl:attribute>
  2223. </xsl:if>
  2224. <fo:block>
  2225. <xsl:call-template name="footer.content">
  2226. <xsl:with-param name="pageclass" select="$pageclass"/>
  2227. <xsl:with-param name="sequence" select="$sequence"/>
  2228. <xsl:with-param name="position" select="$direction.align.end"/>
  2229. <xsl:with-param name="gentext-key" select="$gentext-key"/>
  2230. </xsl:call-template>
  2231. </fo:block>
  2232. </fo:table-cell>
  2233. </fo:table-row>
  2234. </fo:table-body>
  2235. </fo:table>
  2236. </xsl:variable>
  2237. <!-- Really output a footer? -->
  2238. <xsl:choose>
  2239. <xsl:when test="$pageclass='titlepage' and $gentext-key='book'
  2240. and $sequence='first'">
  2241. <!-- no, book titlepages have no footers at all -->
  2242. </xsl:when>
  2243. <xsl:when test="$sequence = 'blank' and $footers.on.blank.pages = 0">
  2244. <!-- no output -->
  2245. </xsl:when>
  2246. <xsl:otherwise>
  2247. <xsl:copy-of select="$candidate"/>
  2248. </xsl:otherwise>
  2249. </xsl:choose>
  2250. </xsl:template>
  2251. <xsl:template name="footer.content">
  2252. <xsl:param name="pageclass" select="''"/>
  2253. <xsl:param name="sequence" select="''"/>
  2254. <xsl:param name="position" select="''"/>
  2255. <xsl:param name="gentext-key" select="''"/>
  2256. <!--
  2257. <fo:block>
  2258. <xsl:value-of select="$pageclass"/>
  2259. <xsl:text>, </xsl:text>
  2260. <xsl:value-of select="$sequence"/>
  2261. <xsl:text>, </xsl:text>
  2262. <xsl:value-of select="$position"/>
  2263. <xsl:text>, </xsl:text>
  2264. <xsl:value-of select="$gentext-key"/>
  2265. </fo:block>
  2266. -->
  2267. <fo:block>
  2268. <!-- pageclass can be front, body, back -->
  2269. <!-- sequence can be odd, even, first, blank -->
  2270. <!-- position can be left, center, right -->
  2271. <xsl:choose>
  2272. <xsl:when test="$pageclass = 'titlepage'">
  2273. <!-- nop; no footer on title pages -->
  2274. </xsl:when>
  2275. <xsl:when test="$double.sided != 0 and $sequence = 'even'
  2276. and $position='left'">
  2277. <fo:page-number/>
  2278. </xsl:when>
  2279. <xsl:when test="$double.sided != 0 and ($sequence = 'odd' or $sequence = 'first')
  2280. and $position='right'">
  2281. <fo:page-number/>
  2282. </xsl:when>
  2283. <xsl:when test="$double.sided = 0 and $position='center'">
  2284. <fo:page-number/>
  2285. </xsl:when>
  2286. <xsl:when test="$sequence='blank'">
  2287. <xsl:choose>
  2288. <xsl:when test="$double.sided != 0 and $position = 'left'">
  2289. <fo:page-number/>
  2290. </xsl:when>
  2291. <xsl:when test="$double.sided = 0 and $position = 'center'">
  2292. <fo:page-number/>
  2293. </xsl:when>
  2294. <xsl:otherwise>
  2295. <!-- nop -->
  2296. </xsl:otherwise>
  2297. </xsl:choose>
  2298. </xsl:when>
  2299. <xsl:otherwise>
  2300. <!-- nop -->
  2301. </xsl:otherwise>
  2302. </xsl:choose>
  2303. </fo:block>
  2304. </xsl:template>
  2305. <!-- ==================================================================== -->
  2306. <!-- ====Custom-XSL-for-Seq-PN=PANAGEOTECH-2010-========================= -->
  2307. <xsl:template name="page.number.format">
  2308. <xsl:param name="element" select="local-name(.)"/>
  2309. <xsl:param name="master-reference" select="''"/>
  2310. <xsl:choose>
  2311. <xsl:when test="$element = 'toc' and self::book">1</xsl:when>
  2312. <xsl:when test="$element = 'preface'">1</xsl:when>
  2313. <xsl:when test="$element = 'dedication'">1</xsl:when>
  2314. <xsl:otherwise>1</xsl:otherwise>
  2315. </xsl:choose>
  2316. </xsl:template>
  2317. <xsl:template name="initial.page.number">
  2318. <xsl:param name="element" select="local-name(.)"/>
  2319. <xsl:param name="master-reference" select="''"/>
  2320. <!-- Select the first content that the stylesheet places
  2321. after the TOC -->
  2322. <xsl:variable name="first.book.content"
  2323. select="ancestor::book/*[
  2324. not(self::title or
  2325. self::subtitle or
  2326. self::titleabbrev or
  2327. self::bookinfo or
  2328. self::info or
  2329. self::dedication or
  2330. self::preface or
  2331. self::toc or
  2332. self::lot)][1]"/>
  2333. <xsl:choose>
  2334. <!-- double-sided output -->
  2335. <xsl:when test="$double.sided != 0">
  2336. <xsl:choose>
  2337. <xsl:when test="$element = 'toc'">auto-odd</xsl:when>
  2338. <xsl:when test="$element = 'book'">auto</xsl:when>
  2339. <!-- preface typically continues TOC roman numerals -->
  2340. <!-- Change page.number.format if not -->
  2341. <xsl:when test="$element = 'preface'">auto-odd</xsl:when>
  2342. <xsl:when test="($element = 'dedication' or $element = 'article')
  2343. and not(preceding::chapter
  2344. or preceding::preface
  2345. or preceding::appendix
  2346. or preceding::article
  2347. or preceding::dedication
  2348. or parent::part
  2349. or parent::reference)">auto</xsl:when>
  2350. <xsl:when test="generate-id($first.book.content) =
  2351. generate-id(.)">auto</xsl:when>
  2352. <xsl:otherwise>auto-odd</xsl:otherwise>
  2353. </xsl:choose>
  2354. </xsl:when>
  2355. <!-- single-sided output -->
  2356. <xsl:otherwise>
  2357. <xsl:choose>
  2358. <xsl:when test="$element = 'toc'">auto</xsl:when>
  2359. <xsl:when test="$element = 'book'">1</xsl:when>
  2360. <xsl:when test="$element = 'preface'">auto</xsl:when>
  2361. <xsl:when test="($element = 'dedication' or $element = 'article') and
  2362. not(preceding::chapter
  2363. or preceding::preface
  2364. or preceding::appendix
  2365. or preceding::article
  2366. or preceding::dedication
  2367. or parent::part
  2368. or parent::reference)">auto</xsl:when>
  2369. <xsl:when test="generate-id($first.book.content) =
  2370. generate-id(.)">auto</xsl:when>
  2371. <xsl:otherwise>auto</xsl:otherwise>
  2372. </xsl:choose>
  2373. </xsl:otherwise>
  2374. </xsl:choose>
  2375. </xsl:template>
  2376. <xsl:template name="force.page.count">
  2377. <xsl:param name="element" select="local-name(.)"/>
  2378. <xsl:param name="master-reference" select="''"/>
  2379. <xsl:choose>
  2380. <!-- double-sided output -->
  2381. <xsl:when test="$double.sided != 0">end-on-even</xsl:when>
  2382. <!-- single-sided output -->
  2383. <xsl:otherwise>no-force</xsl:otherwise>
  2384. </xsl:choose>
  2385. </xsl:template>
  2386. <xsl:template name="set.flow.properties">
  2387. <xsl:param name="element" select="local-name(.)"/>
  2388. <xsl:param name="master-reference" select="''"/>
  2389. <!-- This template is called after each <fo:flow> starts. -->
  2390. <!-- Customize this template to set attributes on fo:flow -->
  2391. <!-- remove -draft from reference -->
  2392. <xsl:variable name="pageclass">
  2393. <xsl:choose>
  2394. <xsl:when test="contains($master-reference, '-draft')">
  2395. <xsl:value-of select="substring-before($master-reference, '-draft')"/>
  2396. </xsl:when>
  2397. <xsl:otherwise>
  2398. <xsl:value-of select="$master-reference"/>
  2399. </xsl:otherwise>
  2400. </xsl:choose>
  2401. </xsl:variable>
  2402. <xsl:choose>
  2403. <xsl:when test="$fop.extensions != 0 or $passivetex.extensions != 0">
  2404. <!-- body.start.indent does not work well with these processors -->
  2405. </xsl:when>
  2406. <xsl:when test="starts-with($pageclass, 'body') or
  2407. starts-with($pageclass, 'lot') or
  2408. starts-with($pageclass, 'front') or
  2409. $element = 'preface' or
  2410. (starts-with($pageclass, 'back') and
  2411. $element = 'appendix')">
  2412. <xsl:attribute name="start-indent">
  2413. <xsl:value-of select="$body.start.indent"/>
  2414. </xsl:attribute>
  2415. <xsl:attribute name="end-indent">
  2416. <xsl:value-of select="$body.end.indent"/>
  2417. </xsl:attribute>
  2418. </xsl:when>
  2419. </xsl:choose>
  2420. </xsl:template>
  2421. <!-- ==================================================================== -->
  2422. </xsl:stylesheet>