<?xml version='1.0'?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" version='1.0'> <!-- ******************************************************************** $Id: admon.xsl 7248 2007-08-18 06:50:21Z mzjn $ ******************************************************************** This file is part of the XSL DocBook Stylesheet distribution. See ../README or http://docbook.sf.net/release/xsl/current/ for copyright and other information. ******************************************************************** --> <xsl:template match="note|important|warning|caution|tip"> <xsl:choose> <xsl:when test="$admon.graphics != 0"> <xsl:call-template name="graphical.admonition"/> </xsl:when> <xsl:otherwise> <xsl:call-template name="nongraphical.admonition"/> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template match="*" mode="admon.graphic.width"> <xsl:param name="node" select="."/> <xsl:text>36pt</xsl:text> </xsl:template> <xsl:template name="admon.graphic"> <xsl:param name="node" select="."/> <xsl:variable name="filename"> <xsl:value-of select="$admon.graphics.path"/> <xsl:choose> <xsl:when test="local-name($node)='note'">note</xsl:when> <xsl:when test="local-name($node)='warning'">warning</xsl:when> <xsl:when test="local-name($node)='caution'">caution</xsl:when> <xsl:when test="local-name($node)='tip'">tip</xsl:when> <xsl:when test="local-name($node)='important'">important</xsl:when> <xsl:otherwise>note</xsl:otherwise> </xsl:choose> <xsl:value-of select="$admon.graphics.extension"/> </xsl:variable> <xsl:choose> <xsl:when test="$passivetex.extensions != 0 or $fop.extensions != 0 or $arbortext.extensions != 0"> <xsl:value-of select="$filename"/> </xsl:when> <xsl:otherwise> <xsl:text>url(</xsl:text> <xsl:value-of select="$filename"/> <xsl:text>)</xsl:text> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template name="graphical.admonition"> <xsl:variable name="id"> <xsl:call-template name="object.id"/> </xsl:variable> <xsl:variable name="graphic.width"> <xsl:apply-templates select="." mode="admon.graphic.width"/> </xsl:variable> <fo:block id="{$id}" xsl:use-attribute-sets="graphical.admonition.properties"> <fo:list-block provisional-distance-between-starts="{$graphic.width} + 18pt" provisional-label-separation="18pt"> <fo:list-item> <fo:list-item-label end-indent="label-end()"> <fo:block> <fo:external-graphic width="auto" height="auto" content-width="{$graphic.width}" > <xsl:attribute name="src"> <xsl:call-template name="admon.graphic"/> </xsl:attribute> </fo:external-graphic> </fo:block> </fo:list-item-label> <fo:list-item-body start-indent="body-start()"> <xsl:if test="$admon.textlabel != 0 or title or info/title"> <fo:block xsl:use-attribute-sets="admonition.title.properties"> <xsl:apply-templates select="." mode="object.title.markup"> <xsl:with-param name="allow-anchors" select="1"/> </xsl:apply-templates> </fo:block> </xsl:if> <fo:block xsl:use-attribute-sets="admonition.properties"> <xsl:apply-templates/> </fo:block> </fo:list-item-body> </fo:list-item> </fo:list-block> </fo:block> </xsl:template> <xsl:template name="nongraphical.admonition"> <xsl:variable name="id"> <xsl:call-template name="object.id"/> </xsl:variable> <fo:block id="{$id}" xsl:use-attribute-sets="nongraphical.admonition.properties"> <xsl:if test="$admon.textlabel != 0 or title or info/title"> <fo:block keep-with-next.within-column='always' xsl:use-attribute-sets="admonition.title.properties"> <xsl:apply-templates select="." mode="object.title.markup"> <xsl:with-param name="allow-anchors" select="1"/> </xsl:apply-templates> </fo:block> </xsl:if> <fo:block xsl:use-attribute-sets="admonition.properties"> <xsl:apply-templates/> </fo:block> </fo:block> </xsl:template> <xsl:template match="note/title"></xsl:template> <xsl:template match="important/title"></xsl:template> <xsl:template match="warning/title"></xsl:template> <xsl:template match="caution/title"></xsl:template> <xsl:template match="tip/title"></xsl:template> </xsl:stylesheet>