This is the mail archive of the docbook-apps@lists.oasis-open.org mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Attributes for figures


On Tue, Dec 03, 2002 at 10:23:33PM +0200, Togan Muftuoglu wrote:
> * Bob Stayton; <bobs@caldera.com> on 03 Dec, 2002 wrote:
> >The problem is that your new match="figure" template
> >overwrites the original, which called the "formal.object"
> >template which produced the title.
> >That's why I suggested customizing formal.object instead:
> 
> Ok I understand this (just this not the whole thing :-)
> 
> >You need to test for 'figure' since formal.object is
> >used for example and table too.
> >Combined with your 'figure.properties' attribute-set,
> >this should work.
> 
> What happens is not only formal.figures disappear but also formal
> examples also disappear, only the Titles of the examples/figures are
> available. I tried with FOP 0.20.5cvs and XEP 2.77  :*( 
> 
> Somewhere I must be making a mistake that I do not see. I have the
> following in my customization
> 
>    <xsl:attribute-set name="figure.properties"
>      use-attribute-sets="formal.object.properties">
>      <xsl:attribute name="border-color">black</xsl:attribute>
>    <xsl:attribute name="border-style">solid</xsl:attribute>
>    </xsl:attribute-set>
> 
> 
> <xsl:template name="formal.object">
>   <xsl:param name="placement" select="'before'"/>
> 
>   <xsl:variable name="id">
>     <xsl:call-template name="object.id"/>
>   </xsl:variable>
> 
>   <fo:block id="{$id}"
> 	xsl:use-attribute-sets="formal.object.properties">
>     <xsl:if test="$placement = 'before'">
>       <xsl:call-template name="formal.object.heading"/>
>     </xsl:if>
>     <xsl:if test="local-name(.) = 'figure'">                 <!-- new -->
>       <fo:block xsl:use-attribute-sets="figure.properties">  <!-- new -->
>         <xsl:apply-templates/>                               <!-- new -->
>       </fo:block>                                            <!-- new -->
>     </xsl:if>                                                <!-- new -->
>     <xsl:if test="$placement != 'before'">
>       <xsl:call-template name="formal.object.heading"/>
>     </xsl:if>
>   </fo:block>
> </xsl:template>

I cut and pasted the above into a customization layer, ran
xsltproc to generate the FO file using DocBook XSL 1.57.0,
and then ran FOP 0.20.4 on that and it worked.
Does your FO output include the <fo:external-graphic>
element?  If not, then then XSLT stage is failing somehow.

-- 

Bob Stayton                                 400 Encinal Street
Publications Architect                      Santa Cruz, CA  95060
Technical Publications                      voice: (831) 427-7796
The SCO Group                               fax:   (831) 429-1887
                                            email: bobs@sco.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]