]> git.stg.codes - stg.git/blob - doc/xslt/fo/task.xsl
Moved common code to a single file.
[stg.git] / doc / xslt / fo / task.xsl
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 <!-- ********************************************************************
7      $Id: task.xsl 8011 2008-05-23 15:14:57Z mzjn $
8      ********************************************************************
9
10      This file is part of the XSL DocBook Stylesheet distribution.
11      See ../README or http://docbook.sf.net/release/xsl/current/ for
12      copyright and other information.
13
14      ******************************************************************** -->
15
16 <!-- ==================================================================== -->
17
18 <xsl:template match="task">
19   <xsl:variable name="id">
20     <xsl:call-template name="object.id"/>
21   </xsl:variable>
22
23   <xsl:variable name="param.placement"
24                 select="substring-after(normalize-space($formal.title.placement),
25                                         concat(local-name(.), ' '))"/>
26
27   <xsl:variable name="placement">
28     <xsl:choose>
29       <xsl:when test="contains($param.placement, ' ')">
30         <xsl:value-of select="substring-before($param.placement, ' ')"/>
31       </xsl:when>
32       <xsl:when test="$param.placement = ''">before</xsl:when>
33       <xsl:otherwise>
34         <xsl:value-of select="$param.placement"/>
35       </xsl:otherwise>
36     </xsl:choose>
37   </xsl:variable>
38
39   <xsl:variable name="preamble"
40                 select="*[not(self::title
41                               or self::titleabbrev)]"/>
42
43   <xsl:variable name="keep.together">
44     <xsl:call-template name="pi.dbfo_keep-together"/>
45   </xsl:variable>
46
47   <fo:block id="{$id}"
48             xsl:use-attribute-sets="formal.object.properties">
49
50     <xsl:if test="$keep.together != ''">
51       <xsl:attribute name="keep-together.within-column"><xsl:value-of
52       select="$keep.together"/></xsl:attribute>
53     </xsl:if>
54
55     <xsl:call-template name="anchor"/>
56
57     <xsl:if test="title and $placement = 'before'">
58       <xsl:call-template name="formal.object.heading"/>
59     </xsl:if>
60
61     <xsl:apply-templates select="$preamble"/>
62
63     <xsl:if test="title and $placement != 'before'">
64       <xsl:call-template name="formal.object.heading"/>
65     </xsl:if>
66   </fo:block>
67 </xsl:template>
68
69 <xsl:template match="task/title">
70   <!-- nop -->
71 </xsl:template>
72
73 <xsl:template match="tasksummary">
74   <xsl:call-template name="semiformal.object"/>
75 </xsl:template>
76
77 <xsl:template match="tasksummary/title"/>
78
79 <xsl:template match="taskprerequisites">
80   <xsl:call-template name="semiformal.object"/>
81 </xsl:template>
82
83 <xsl:template match="taskprerequisites/title"/>
84
85 <xsl:template match="taskrelated">
86   <xsl:call-template name="semiformal.object"/>
87 </xsl:template>
88
89 <xsl:template match="taskrelated/title"/>
90
91 </xsl:stylesheet>