diff options
Diffstat (limited to '3rdParty/DocBook/XSL/fo/admon.xsl')
-rw-r--r-- | 3rdParty/DocBook/XSL/fo/admon.xsl | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/3rdParty/DocBook/XSL/fo/admon.xsl b/3rdParty/DocBook/XSL/fo/admon.xsl new file mode 100644 index 0000000..4f69be4 --- /dev/null +++ b/3rdParty/DocBook/XSL/fo/admon.xsl @@ -0,0 +1,130 @@ +<?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> |