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: admon.xsl,v 1.11 2005/04/07 21:24:51 bobstayton Exp $ 8 ******************************************************************** 9 10 This file is part of the XSL DocBook Stylesheet distribution. 11 See ../README or http://nwalsh.com/docbook/xsl/ for copyright 12 and other information. 13 14 ******************************************************************** --> 15 16<xsl:template match="note|important|warning|caution|tip"> 17 <xsl:choose> 18 <xsl:when test="$admon.graphics != 0"> 19 <xsl:call-template name="graphical.admonition"/> 20 </xsl:when> 21 <xsl:otherwise> 22 <xsl:call-template name="nongraphical.admonition"/> 23 </xsl:otherwise> 24 </xsl:choose> 25</xsl:template> 26 27<xsl:template match="*" mode="admon.graphic.width"> 28 <xsl:param name="node" select="."/> 29 <xsl:text>36pt</xsl:text> 30</xsl:template> 31 32<xsl:template name="admon.graphic"> 33 <xsl:param name="node" select="."/> 34 35 <xsl:variable name="filename"> 36 <xsl:value-of select="$admon.graphics.path"/> 37 <xsl:choose> 38 <xsl:when test="name($node)='note'">note</xsl:when> 39 <xsl:when test="name($node)='warning'">warning</xsl:when> 40 <xsl:when test="name($node)='caution'">caution</xsl:when> 41 <xsl:when test="name($node)='tip'">tip</xsl:when> 42 <xsl:when test="name($node)='important'">important</xsl:when> 43 <xsl:otherwise>note</xsl:otherwise> 44 </xsl:choose> 45 <xsl:value-of select="$admon.graphics.extension"/> 46 </xsl:variable> 47 48 <xsl:choose> 49 <xsl:when test="$passivetex.extensions != 0 50 or $fop.extensions != 0 51 or $arbortext.extensions != 0"> 52 <xsl:value-of select="$filename"/> 53 </xsl:when> 54 <xsl:otherwise> 55 <xsl:text>url(</xsl:text> 56 <xsl:value-of select="$filename"/> 57 <xsl:text>)</xsl:text> 58 </xsl:otherwise> 59 </xsl:choose> 60</xsl:template> 61 62<xsl:template name="graphical.admonition"> 63 <xsl:variable name="id"> 64 <xsl:call-template name="object.id"/> 65 </xsl:variable> 66 <xsl:variable name="graphic.width"> 67 <xsl:apply-templates select="." mode="admon.graphic.width"/> 68 </xsl:variable> 69 70 <fo:block id="{$id}" 71 xsl:use-attribute-sets="graphical.admonition.properties"> 72 <fo:list-block provisional-distance-between-starts="{$graphic.width} + 18pt" 73 provisional-label-separation="18pt"> 74 <fo:list-item> 75 <fo:list-item-label end-indent="label-end()"> 76 <fo:block> 77 <fo:external-graphic width="auto" height="auto" 78 content-width="{$graphic.width}" > 79 <xsl:attribute name="src"> 80 <xsl:call-template name="admon.graphic"/> 81 </xsl:attribute> 82 </fo:external-graphic> 83 </fo:block> 84 </fo:list-item-label> 85 <fo:list-item-body start-indent="body-start()"> 86 <xsl:if test="$admon.textlabel != 0 or title"> 87 <fo:block xsl:use-attribute-sets="admonition.title.properties"> 88 <xsl:apply-templates select="." mode="object.title.markup"/> 89 </fo:block> 90 </xsl:if> 91 <fo:block xsl:use-attribute-sets="admonition.properties"> 92 <xsl:apply-templates/> 93 </fo:block> 94 </fo:list-item-body> 95 </fo:list-item> 96 </fo:list-block> 97 </fo:block> 98</xsl:template> 99 100<xsl:template name="nongraphical.admonition"> 101 <xsl:variable name="id"> 102 <xsl:call-template name="object.id"/> 103 </xsl:variable> 104 105 <fo:block id="{$id}" 106 xsl:use-attribute-sets="nongraphical.admonition.properties"> 107 <xsl:if test="$admon.textlabel != 0 or title"> 108 <fo:block keep-with-next.within-column='always' 109 xsl:use-attribute-sets="admonition.title.properties"> 110 <xsl:apply-templates select="." mode="object.title.markup"/> 111 </fo:block> 112 </xsl:if> 113 114 <fo:block xsl:use-attribute-sets="admonition.properties"> 115 <xsl:apply-templates/> 116 </fo:block> 117 </fo:block> 118</xsl:template> 119 120<xsl:template match="note/title"></xsl:template> 121<xsl:template match="important/title"></xsl:template> 122<xsl:template match="warning/title"></xsl:template> 123<xsl:template match="caution/title"></xsl:template> 124<xsl:template match="tip/title"></xsl:template> 125 126</xsl:stylesheet> 127