[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [docbook-apps] Custom colors for admonitions
Dean, you're a genius! If I use <xsl:when test="name(.) = 'warning'">red</xsl:when> instead of <xsl:when test="self::d:warning">red</xsl:when> it works! Thanks for your help, I didn't know much about <xsl:message>. It let me do some more testing and find something that matched. Problem solved. Thanks, Brett On 30 April 2014 15:09, <DeanNelson@aol.com> wrote: > Brett, > It may be time to do some debugging with <xsl:message> statements to see > what is really going on. Do you know that your template is actually > activated? > > Also, what command line arguments are you using with XSLTPROC? > > Dean > > In a message dated 4/29/2014 6:29:32 P.M. Pacific Daylight Time, > brettd43@gmail.com writes: > > Hi Frank, > > I'm using xsl-ns-1.78.1/fo/docbook.xsl as my base style sheet, and as > far as I know it's DocBook 5.0. I've had errors caused by missing > namespaces before, so I'm fairly sure that it's supposed to be there. > I've also tried leaving out the namespace ("self::warning") just to be > sure, and that gives the same result. > > So far I've tried: > test="self::d:warning" > test="self::warning" > test="ancestor-or-self::d:warning" > test="ancestor-or-self::warning" > > I don't know any other options to try. > > I just thought: maybe it's a problem with my version of xsltproc > (libxslt-1.1.26.win32), or maybe how I'm using it. That would be a > question for another mailing list... > > > Thanks, > Brett > > On 30 April 2014 02:23, Frank Arensmeier <farensmeier@gmail.com> wrote: >> Hi Brett! >> >> Which version of the stylesheets are you using? There is a version that >> uses a namespace and one that doesn’t. >> >> /frank >> >> 29 apr 2014 kl. 10:24 skrev Brett Davis <brettd43@gmail.com>: >> >>> 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 >>>> >>> >>> --------------------------------------------------------------------- >>> 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]