[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Adding a border to graphics


Subject: Re: [xsl] Adding a border to graphics
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Tue, 30 Oct 2007 08:44:40 -0400

At 2007-10-30 05:34 -0700, Nancy Brandt wrote:
I have encountered the following issue:

I wanna have two kinds of images in my documents:
with a border and without a border.

So I did two things:

1) in my template for bordered images I inserted a
"role" attribute with value "bordered" like that:

Actually, you are missing some concepts in the specification of values of attributes.


<xsl:template match="diagram_border">
<xsl:element name="figure">
    <xsl:attribute name="id">
      <xsl:value-of select="@ref"/>
    </xsl:attribute>
    <xsl:attribute name="role">
    <xsl:value-of select="@bordered"/>
    </xsl:attribute>

You would need <xsl:attribute name="role">bordered</xsl:attribute>


Or even tighter, I'm not sure why you are using xsl:element and not just:

   <figure id="{@ref}" role="bordered">
     ...

    <title>
      <xsl:value-of select="@t"/>
    </title>
    <mediaobject>
      <imageobject>
        <xsl:element name="imagedata">
          <xsl:attribute
name="width">80%</xsl:attribute>
          <xsl:attribute
name="scalefit">1</xsl:attribute>
          <xsl:attribute name="fileref">
          <xsl:value-of select="concat('images/', @ref,
'.png')"/>
          </xsl:attribute>
        </xsl:element>
      </imageobject>
    </mediaobject>
  </xsl:element>
</xsl:template>


2) I added the following in the customization layer:


<xsl:template match="imagedata">
<fo:external-graphic>
    <xsl:if test="ancestor::figure[role|@bordered]">

That test is for the union of a role child or a bordered attribute, not a role attribute with a "bordered" value:


test="ancestor::figure[@role='bordered']"

    <xsl:attribute
name="border-color">black</xsl:attribute>
    <xsl:attribute
name="border-style">solid</xsl:attribute>
    </xsl:if>
</fo:external-graphic>
</xsl:template>

However, it does not work. Please, advise!

I hope this helps.


. . . . . . . . . Ken

--
Comprehensive in-depth XSLT2/XSL-FO1.1 classes: Austin TX,Jan-2008
World-wide corporate, govt. & user group XML, XSL and UBL training
RSS feeds:     publicly-available developer resources and training
G. Ken Holman                 mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0    +1(613)489-0999 (F:-0995)
Male Cancer Awareness Jul'07  http://www.CraneSoftwrights.com/s/bc
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal


Current Thread
Keywords