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: listitem not creating vertical space for mediaobject


I cannot get screenshots (wrapped in mediaobject) to display correctly with enough vertical space in either an orderedlist or itemizedlist. I've compared the fo output for my customization and the standard stylesheets (DB 1.76.1), looking closely at all markup for lists from the fo:list-block, down to the fo:block surrounding each fo:external-graphic. Here's my debugging so far:

Using DB 1.76.1 stylesheets

In the standard stylesheets, screenshots are formatted in mediaobject (both with and without being wrapped in informalfigure) and appear correctly within listitems:

The relevant FO for that listitem is:

            <fo:list-item space-before.optimum="1em" space-before.minimum="0.8em"
              space-before.maximum="1.2em" id="d0e975">
             
<fo:list-item-label end-indent="label-end()">
               
<fo:block>3.</fo:block>
             
</fo:list-item-label>
              
<fo:list-item-body start-indent="body-start()">
               
<fo:block><fo:block>In the final screen, click on Install. That will launch Serna.
                    When Serna starts, a window titled
<fo:inline>“Examples”</fo:inline> may appear.
                    At the lower left, click on the checkbox
<fo:inline>“Dont show this dialog on
                      startup”
</fo:inline>.</fo:block><fo:block start-indent="0pt"
                    space-before.minimum="0.5em" space-before.optimum="1em"
                    space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em"
                    space-after.maximum="2em" id="d0e986"><fo:block id="d0e987" text-align="center"
                        ><fo:external-graphic src="url(images/4A.png)" width="120mm" height="auto"
                        content-width="scale-to-fit" content-height="scale-to-fit"
                        content-type="content-type:image/png" text-align="center"
                    /></fo:block></fo:block><fo:block space-before.optimum="1em"
                    space-before.minimum="0.8em" space-before.maximum="1.2em">Close that window and
                    exit Serna.
</fo:block></fo:block>
             
</fo:list-item-body>
           
</fo:list-item>

Using customized stylesheets

In my customization I have screenshots that are in a mediaobject (I’ve also tried wrapping in informalfigure):

This is the following page where I’ve tested putting the mediaobject outside an orderedlist (in body text). This does create space for the screenshot (the section title 4.2 occurs below the screenshot):

 

I get the same result in an itemizedlist:

The FO for that listitem is:

<fo:list-item space-before.optimum="1mm" space-before.minimum="1mm"
              space-before.maximum="1mm" id="d0e975">
             
<fo:list-item-label color="#000000" font-size="12" end-indent="label-end()">
               
<fo:block>3.</fo:block>
             
</fo:list-item-label>
             
<fo:list-item-body start-indent="body-start()">
               
<fo:block><fo:block space-before.optimum="0mm" space-before.minimum="0mm"
                    space-before.maximum="0mm" space-after.minimum="3mm" space-after.optimum="5mm"
                    space-after.maximum="7mm" line-stacking-strategy="font-height">In the final
                    screen, click on Install. That will launch Serna. When Serna starts, a window
                    titled
<fo:inline>‘Examples’</fo:inline> may appear. At the lower left, click on
                    the checkbox
<fo:inline>‘Don<fo:character character="’"/>t show this dialog on
                      startup’
</fo:inline>.</fo:block><fo:block start-indent="0pt" span="all"
                    padding-top="0mm" padding-bottom="0mm" margin-top="0mm" margin-bottom="0mm"
                    space-before.minimum="0.5em" space-before.optimum="1em"
                    space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em"
                    space-after.maximum="2em" font-size="10.5pt" font-weight="bold"
                    font-style="normal" color="#000000" text-align="justify" space-before="0mm"
                    space-after="0mm" id="d0e986"><fo:block id="d0e987" text-align="center"
                        ><fo:external-graphic
                        src="url(c:/xmplar/book_XML-concepts-in-practice/images/4A.png)"
                        width="120mm" height="auto" content-width="scale-to-fit"
                        content-height="scale-to-fit" content-type="content-type:image/png"
                        text-align="center"/></fo:block></fo:block><fo:block
                    space-before.optimum="0mm" space-before.minimum="0mm" space-before.maximum="0mm"
                    space-after.minimum="3mm" space-after.optimum="5mm" space-after.maximum="7mm"
                    line-stacking-strategy="font-height">Close that window and exit
                    Serna.
</fo:block></fo:block>
             
</fo:list-item-body>
           
</fo:list-item>

 

I cheated a little by adding a “space-before” value in the fo:block (highlighted in yellow above) preceding the external-graphic, and created space for the screenshot, but that seems impractical. I’ve deleted attributes for line-stacking-strategy, space-after and space-before values, with no effect.

Here’s the markup:

<para><emphasis role="bold">Exercise 1</emphasis><orderedlist numeration="arabic">
       
<listitem>
         
<para>In a web browser, go to <link
              xlink:href="http://downloads.syntext.com/serna-free/4.4.0-RELEASE/"/>. This has
            different versions for Windows, Macintosh or Linux operating systems.
</para>
       
</listitem>
       
<listitem>
         
<para>Download the respective file for your computer (.exe, .dmg or linux.tgz). Save the
            file to your desktop or a convenient temporary directory. Double-click on the downloaded
            file and follow the instructions at each step to set up the software. You can choose to
            set up the software files in the Program Files directory (
<emphasis>C:/Program
              Files
</emphasis>) or another convenient directory that you have permission to access.
            Use all the default settings in the screen
<quote>Select Additional
            Tasks
</quote>.</para>
       
</listitem>
       
<listitem>
         
<para>In the final screen, click on Install. That will launch Serna. When Serna starts, a
            window titled
<quote>Examples</quote> may appear. At the lower left, click on the
            checkbox
<quote>Don<?apos?>t show this dialog on startup</quote>.</para>
         
<informalfigure pgwide="1">
           
<mediaobject>
             
<textobject>
               
<phrase>window showing example documents</phrase>
             
</textobject>
             
<imageobject role="pdf">
               
<imagedata fileref="images/4A.png" align="center" format="PNG" width="120mm"/>
             
</imageobject>
             
<imageobject role="epub">
               
<imagedata fileref="images/4A.gif" format="GIF" width="500px"/>
              
</imageobject>
             
<imageobject role="web">
               
<imagedata fileref="images/4A.gif" format="GIF" width="500px"/>
             
</imageobject>
           
</mediaobject>
         
</informalfigure>
         
<para>Close that window and exit Serna.</para>
       
</listitem>
       
<listitem>
         
<para>In your file manager, create a directory (for example, under the
             
<emphasis>C:/</emphasis> drive) in which to put the XML files that you will create in
            the exercises. Name this directory
<emphasis>xmlfiles</emphasis>.</para>
       
</listitem>
     
</orderedlist></para>

 

And part of my customization for orderedlist properties:

<xsl:attribute-set name="orderedlist.properties" use-attribute-sets="list.block.properties">
   
<xsl:attribute name="font-family">
     
<xsl:choose>
       
<!--for lists within 'table' or 'example', use same font style as surrounding text-->
       
<xsl:when test="ancestor-or-self::d:table">
          
<xsl:value-of select="$graphictypeface"/>
       
</xsl:when>
       
<xsl:when test="ancestor-or-self::d:example">
          
<xsl:value-of select="$graphictypeface"/>
       
</xsl:when>
       
<xsl:otherwise>
         
<xsl:value-of select="$body.fontset"/>
       
</xsl:otherwise>
     
</xsl:choose>
   
</xsl:attribute>
   
<xsl:attribute name="font-size">
     
<xsl:choose> <!-- change font size of text for numbered list
        for formal objects (table and example) ******works 24/9/11 -->
       
<!--for lists within 'table' or 'example', this sets the same font size as surrounding text-->
       
<xsl:when test="ancestor-or-self::d:table">
         
<xsl:value-of select="$graphicfontsize"/>
       
</xsl:when>
       
<xsl:when test="ancestor-or-self::d:example">
          
<xsl:value-of select="$graphicfontsize"/>
       
</xsl:when>
       
<xsl:otherwise>
         
<xsl:value-of select="$body.font.master"/>
       
</xsl:otherwise>
     
</xsl:choose>
   
</xsl:attribute>
   
<xsl:attribute name="line-height">
     
<xsl:choose> <!-- change font size of text for numbered list
        for formal objects (table and example) ******works 24/9/11 -->
       
<!--for lists within 'table' or 'example', use same line height as surrounding text-->
       
<xsl:when test="ancestor-or-self::d:table">
         
<xsl:value-of select="'inherit'"/>
       
</xsl:when>
       
<xsl:when test="ancestor-or-self::d:example">
         
<xsl:value-of select="'inherit'"/>
       
</xsl:when>
       
<xsl:otherwise>
         
<xsl:value-of select="'inherit'"/>
       
</xsl:otherwise>
     
</xsl:choose>     
   
</xsl:attribute>
   
<xsl:attribute name="color">
     
<xsl:value-of select="$orderedlistcolour"/>
   
</xsl:attribute> <!-- text colour: specify web colour, e.g. #ff0000*****works 24/9/11 -->
 
</xsl:attribute-set>

 

I'm sure that the "height" and "contentheight" in the markup has no bearing on the result. Thanks in advance.

--
Dave Gardiner



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