OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [docbook-apps] Changing floatstyle of figures/tables


Hi,

On Sat, Apr 2, 2011 at 16:10, redlettucemail
<redlettucemail@mailscan.acenet.net.au> wrote:
> For FO output of a book, when I select one column for body text (instead of
> two for example), I'd like some code to change the floatstyle of figures,
> tables and examples (any formal object) from "before" to "none". I have
> coded the floatstyle of formal objects in XML files - some are "before",
> some are "none". Can I change all these to "none"? I tried the following
> code, but all I get in the PDF is "false" where the figures should be.
>
> <!--When there is one-column body text, do not float graphics *****test-->
>     <xsl:template match="*[@floatstyle = 'before']">
>     <xsl:choose>
>       <xsl:when test="column.count.body = '1'">
>         <xsl:value-of select="@floatstyle = 'none'"/>
>       </xsl:when>
>       <xsl:otherwise>
>         <xsl:value-of select="@floatstyle = 'none'"/>
>       </xsl:otherwise>
>     </xsl:choose>
>   </xsl:template>

The ‘xsl:value-of’ elements are just going to put the result of the
expression ‘@floatstyle = 'none'’ in the output document, i.e. ‘true’
if ‘@floatstyle’ is ‘none’, ‘false’ otherwise.  I /think/ you can
achieve the preprocessing you actually want using variables.  Here’s
one (untested) possible solution:

,----
| <xsl:template match="*[@floatstyle = 'before']">
|   <xsl:variable name="preprocessed">
|     <xsl:copy>
|       <xsl:attribute name="floatstyle">none</xsl:attribute>
|       <xsl:apply-templates select="@*[not(local-name() =
'floatstyle')] | node()"/>
|     </xsl:copy>
|   </xsl:variable>
|
|   <xsl:choose>
|     <xsl:when test="column.count.body = '1'">
|       <xsl:apply-templates select="$preprocessed"/>
|     </xsl:when>
|     <xsl:otherwise><xsl:apply-imports/></xsl:otherwise>
|   </xsl:choose>
| </xsl:template>
`----

Hope this doesn’t break anything. ;-)

Aankhen


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]