[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [docbook-apps] Custom colors for admonitions
Hi Dean, Thanks for the speedy answer. Unfortunately, that doesn't let me give each admonition a different color either. The part that's not working for me is the "choose" block, where a warning should have red lines and a note should have blue lines. Whether I use test="self::d:warning" or test="ancestor-or-self::warning", all admonitions end up in my PDF as the default color, which is black. Thanks, Brett On 29 April 2014 15:51, <DeanNelson@aol.com> wrote: > Brett, > The simple answer is to add > <xsl:attribute name="border">1pt solid blue</xsl:attribute> > or a variation of it. > > However, I have found that you will need to also deal with the title box as > well or it will look a bit weird. So below you will see my admonition > section that you should be able to modify to suit your needs. > > Regards > Dean Nelson > > > <?xml version="1.0" encoding="UTF-8"?> > <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > version="1.0" > xmlns:fo="http://www.w3.org/1999/XSL/Format" > > > > <!-- Admonitions --> > > <xsl:param name="admon.graphics" select="'1'"/> > <xsl:param name="admon.textlabel" select="'1'"/> > <xsl:param name="admon.graphics.extension" select="'.svg'"/> > <xsl:param name="admon.graphics.path" > select="'http://docbook.sourceforge.net/release/xsl/current/images/'"/> > > <!-- Normal --> > <xsl:attribute-set name="admonition.properties"> > <xsl:attribute name="background-color"> > <xsl:choose> > <xsl:when test="ancestor-or-self::tip" >>#FFFFFF</xsl:when> > <xsl:when test="ancestor-or-self::note" >>#FFFFFF</xsl:when> > <xsl:when > test="ancestor-or-self::important">#B5FFB5</xsl:when> > <xsl:when test="ancestor-or-self::caution" >>#FAFA8C</xsl:when> > <xsl:when test="ancestor-or-self::warning" >>#FFADAD</xsl:when> > <xsl:otherwise>#000000</xsl:otherwise> > </xsl:choose> > </xsl:attribute> > <xsl:attribute > name="keep-together.within-column">always</xsl:attribute> > <xsl:attribute name="padding">5pt</xsl:attribute> > <xsl:attribute name="padding-top">-5pt</xsl:attribute> > <xsl:attribute name="border">1pt solid blue</xsl:attribute> > </xsl:attribute-set> > > <xsl:attribute-set name="admonition.title.properties"> > <xsl:attribute > name="keep-together.within-column">always</xsl:attribute> > <xsl:attribute name="background-color">#E0E0E0</xsl:attribute> > <xsl:attribute name="text-align">left</xsl:attribute> > <xsl:attribute name="padding">5pt</xsl:attribute> > <!-- <xsl:attribute name="border">1pt solid blue</xsl:attribute> > removed to avoid double line --> > <xsl:attribute name="border-top">1pt solid blue</xsl:attribute> > <xsl:attribute name="border-left">1pt solid blue</xsl:attribute> > <xsl:attribute name="border-right">1pt solid blue</xsl:attribute> > </xsl:attribute-set > > </xsl:stylesheet> > > > > In a message dated 4/28/2014 7:24:58 P.M. Pacific Daylight Time, > brettd43@gmail.com writes: > > Hi, > > I'd like to give each admonition a border of its own color. I found a > question where using a "choose" block was suggested when customizing > the attribute-set for "graphical.admonition.properties". I've tried > that, and while I can change the attributes in the attribute-set, my > tests in the "choose" block never match any admonitions. They all get > the value given in the "otherwise" block. Is there something I should > be using instead of test="self::d:warning", or have I screwed up > somewhere else? > > I'm using DocBook 5.0, libxslt-1.1.26.win32, fop-1.1 on Windows Vista > 64 bit Ultimate. > > > Here's testbook.xml: > > <?xml version="1.0" encoding="UTF-8"?> > <article xmlns="http://docbook.org/ns/docbook" version="5.0"> > <title>A Small Example</title> > > <section> > <para>If everything goes as planned, the warning below will > have a red line above and below it, and the note will have blue lines. > If not, they'll both have black lines.</para> > > <warning> > <para>This is a warning!</para> > </warning> > > <note> > <para>This is just a note.</para> > </note> > > <para>Ok, black lines it is.</para> > </section> > </article> > > > Here's testStylesheet.xsl: > > <?xml version="1.0" encoding="UTF-8"?> > <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > xmlns:fo="http://www.w3.org/1999/XSL/Format" > xmlns:d="http://docbook/org/ns/docbook" version="1.0"> > <xsl:import href="D:/sdk/docbook/docbook-xsl-ns-1.78.1/fo/docbook.xsl"/> > > <xsl:param name="paper.type">A4</xsl:param> > > <!-- customise admonitions --> > <xsl:param name="admon.graphics" select="1"/> > <xsl:param name="admon.graphics.path">images/</xsl:param> > <xsl:param name="admon.graphics.extension">.png</xsl:param> > > <xsl:attribute-set name="graphical.admonition.properties"> > <xsl:attribute name="border-color"> > <xsl:choose> > <xsl:when test="self::d:warning">red</xsl:when> > <xsl:when test="self::d:note">blue</xsl:when> > <xsl:otherwise>black</xsl:otherwise> > </xsl:choose> > </xsl:attribute> > <xsl:attribute name="border-top">1pt solid</xsl:attribute> > <xsl:attribute name="border-bottom">1pt solid</xsl:attribute> > </xsl:attribute-set> > </xsl:stylesheet> > > > I'm currently writing in Notepad++ and building using a .bat file: > > D:\sdk\docbook\libxslt-1.1.26.win32\bin\xsltproc.exe --output > testbook.fo testStylesheet.xsl testbook.xml > > D:\sdk\docbook\fop-1.1\fop.bat -fo testbook.fo -pdf testbook.pdf > > > I'm new to DocBook, so I'm probably making a stupid mistake somewhere. > Any help would be much appreciated. > > Thanks, > Brett > > --------------------------------------------------------------------- > To unsubscribe, e-mail: docbook-apps-unsubscribe@lists.oasis-open.org > For additional commands, e-mail: docbook-apps-help@lists.oasis-open.org >
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]