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] I'm want to indent only 'section/para', not 'section/para/programlisting'


Thank you, I make a chinese copy[2] of 'DocBook 5.0: The Definitive Guide'[1],
It's fine.

But some page[3] layout is broken, could you give me some advice?

[1] http://i18n-zh.googlecode.com/files/defguide5-r8198-4cad.pdf
[2] http://i18n-zh.googlecode.com/files/defguide5-r8198-4cad-zh.pdf
[3] http://i18n-zh.googlecode.com/files/defguide5-r8198-4cad-zh.png

2008/12/30 Bob Stayton <bobs@sagehill.net>:
> The problem is that the XSL-FO property text-indent is an inherited
> property.  That means it is applied to any fo:block elements contained in
> the para's fo:block.  That's why the fo:block containing your programlisting
> text also has that property, even though it doesn't show in the FO file. The
> other complication is that para allows both inline and block elements, as
> well as text, so it can be difficult to sort out how to apply a solution to
> subelements of para.
>
> You might try this oversimplified solution using fo:wrapper to turn off the
> text-indent for all subelements:
>
> <xsl:template match="section/para/*">
>   <fo:wrapper text-indent="0pt">
>     <xsl:apply-imports/>
>   </fo:wrapper>
> </xsl:template>
>
> This wraps any subelement output in an fo:wrapper to reset the text-indent
> property. It then uses xsl:apply-imports to apply the stock DocBook template
> for each subelement.  However, if you have a customization of one of those
> subelements, then the apply-imports will ignore that customization and go
> back to the original stock template.  So any customized templates for such
> elements must also have this solution.  Not pretty, and there are probably
> situations where it won't work properly.
>
> Bob Stayton
> Sagehill Enterprises
> bobs@sagehill.net
>
>
> ----- Original Message ----- From: "Dongsheng Song"
> <dongsheng.song@gmail.com>
> To: "DocBook Apps" <docbook-apps@lists.oasis-open.org>
> Sent: Monday, December 29, 2008 1:34 AM
> Subject: [docbook-apps] I'm want to indent only 'section/para', not
> 'section/para/programlisting'
>
>
>> When I use custom xsl to indent 'section/para':
>>
>>  <xsl:attribute-set name="standard.para.spacing"
>> use-attribute-sets="normal.para.spacing">
>>   <xsl:attribute name="text-indent">24pt</xsl:attribute>
>>  </xsl:attribute-set>
>>
>>  <xsl:template match="section/para">
>>   <fo:block xsl:use-attribute-sets="standard.para.spacing">
>>     <xsl:call-template name="anchor"/>
>>     <xsl:apply-templates/>
>>   </fo:block>
>>  </xsl:template>
>>
>> But 'section/para/programlisting' indent too, how can I avoid it indent
>> any
>> subelements of 'section/para'?
>>
>> Thanks,
>>
>> Dongsheng Song
>>
>> ---------------------------------------------------------------------
>> 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]