<?xml version='1.0' encoding='ISO-8859-1'?>

<plain-doc-pages 
  xmlns:fo="http://www.w3.org/1999/XSL/Format">


  <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
           xmlns:dcterms="http://purl.org/dc/terms/"
           xmlns:dc="http://purl.org/dc/elements/1.1/"
           xmlns:db="http://www.oasis-open.org/docbook/xml/4.2/">
     <rdf:Description rdf:about="http://xep.xattic.com/testsuite/features/containers.xml">
        <dc:title> Block-containers </dc:title>
        <dc:description>
          <db:para>
            Tests absolute and relative placement, borders, and reference
            orientation on
            <db:sgmltag class='starttag'>fo:block-container</db:sgmltag>
            elements.
          </db:para>
        </dc:description>
        <dc:date>2003-07-24</dc:date><dcterms:requires rdf:resource="http://xep.xattic.com/testsuite/features/macro.xsl"/>
    </rdf:Description>
  </rdf:RDF> 


<!-- ===================================================== -->
<!-- Templates definition.                                 -->

<define-macro name="static-content">
  <fo:static-content flow-name="xsl-region-before">
    <fo:list-block font="10pt Helvetica" provisional-distance-between-starts="5in" provisional-label-separation="0in">
      <fo:list-item>
        <fo:list-item-label end-indent="label-end()">
          <fo:block text-align="start" font-weight="bold">Block-containers</fo:block>
        </fo:list-item-label>
        <fo:list-item-body start-indent="body-start()">
          <fo:block text-align="end">Page <fo:page-number/></fo:block>
        </fo:list-item-body>
      </fo:list-item>
    </fo:list-block>
  </fo:static-content>
  <fo:static-content flow-name="xsl-region-after">
    <fo:list-block font="9pt Times" provisional-distance-between-starts="3in" provisional-label-separation="0in">
      <fo:list-item>
        <fo:list-item-label end-indent="label-end()">
          <fo:block text-align="start" font-weight="bold">© <fo:basic-link external-destination="url(http://www.renderx.com/)" color="#0000C0" text-decoration="underline">Render<fo:wrapper font-weight="bold" color="#C00000">X</fo:wrapper></fo:basic-link> 2002</fo:block>
        </fo:list-item-label>
        <fo:list-item-body start-indent="body-start()">
          <fo:block text-align="end" font-style="italic" color="#606060">
            XSL Formatting Objects Test Suite
          </fo:block>
        </fo:list-item-body>
      </fo:list-item>
    </fo:list-block>
  </fo:static-content>
</define-macro>

<!-- ========================================== -->
<!-- Layout master set                          -->

<fo:layout-master-set>
  <fo:simple-page-master master-name="one-column-page">
    <fo:region-body region-name="xsl-region-body" margin="0.7in" border="0.25pt solid gray" padding="6pt"/>
    <fo:region-before region-name="xsl-region-before" extent="0.7in" display-align="after" padding="6pt 0.7in"/>
    <fo:region-after region-name="xsl-region-after" extent="0.7in" display-align="before" padding="6pt 0.7in"/>
  </fo:simple-page-master>
</fo:layout-master-set>

<!-- ========================================== -->
<!-- Document body                              -->

<fo:page-sequence master-reference="one-column-page">
  <macro name="static-content"/>
  <fo:flow flow-name="xsl-region-body">
  <fo:block>

  <title>Block-containers</title>

  <annotation>
    In this document 
    blocks with <code>absolute-position="absolute"</code> have red   border and pink        background,
    blocks with <code>absolute-position="fixed"</code>    have green border and light-green background,
    blocks with <code>absolute-position="auto"</code>     have black border and grey        background.
    All blocks have doble border on the top and solid border on other sides.
  </annotation>

  <define-macro name="absolute-block">
    <macro name="color-block" arg1="absolute" arg9="red"   argA="#fedafb"
                              arg2="$arg2"    arg3="$arg3" arg4="$arg4"
                              arg5="$arg5"    arg6="$arg6" arg7="$arg7" 
                              arg8="$arg8"/>
  </define-macro>

  <define-macro name="fixed-block">
    <macro name="color-block" arg1="fixed"    arg9="green" argA="#3affff"
                              arg2="$arg2"    arg3="$arg3" arg4="$arg4"
                              arg5="$arg5"    arg6="$arg6" arg7="$arg7" 
                              arg8="$arg8"/>
  </define-macro>

  <define-macro name="color-block">
    <fo:block-container border="1pt solid {$arg9}"
                        border-top="double 3pt {$arg9}"
                        background-color="{$argA}"
                        padding="6pt"
                        display-align="center"
                        absolute-position="$arg1"
                        reference-orientation="$arg2"
                        width="$arg3"
                        height="$arg4"
                        left="$arg5"
                        right="$arg6"
                        top="$arg7"
                        bottom="$arg8">
      <p font="11pt Times">
        This block-container is absolutely positioned.
        It has the following values for position properties:
      </p>
      <fo:table font="9pt Times" space-before="6pt">
        <fo:table-column column-width="proportional-column-width(2)"/>
        <fo:table-column column-width="proportional-column-width(1)"/>
        <fo:table-body>
          <fo:table-cell>
            <p>absolute-position="<arg1/>"</p>
            <p>reference-orientation="<arg2/>"</p>
            <p>width="<arg3/>"</p>
            <p>height="<arg4/>"</p>
          </fo:table-cell>
          <fo:table-cell text-align="end">
            <p>left="<arg5/>"</p>
            <p>right="<arg6/>"</p>
            <p>top="<arg7/>"</p>
            <p>bottom="<arg8/>"</p>
          </fo:table-cell>
        </fo:table-body>
      </fo:table>
    </fo:block-container>
  </define-macro>



<!-- ============ -->
  <test>

    <title>
       Position of block-containers with 
       <code>absolute-position="absolute"</code>
       or <code>"fixed"</code>
    </title>

    <define-macro name="set">
      <!--
        arg1   = absolute/fixed
        arg6   = width/height
        arg7   = first-left
        arg8   = second-left
        arg9   = first-right
        argA   = second-right
        argB   = first-top
        argC   = second-top
        argD   = first-bottom
        arg2    = second-bottom
      -->
      <macro name="{$arg1}-block" arg2="0"   arg3="$arg6" arg4="$arg6" arg5="$arg7" arg6="$arg9" arg7="$argB" arg8="$argD" argB="auto"/>
      <macro name="{$arg1}-block" arg2="90"  arg3="$arg6" arg4="$arg6" arg5="$arg8" arg6="$argA" arg7="$argB" arg8="$argD" argB="auto"/>
      <macro name="{$arg1}-block" arg2="180" arg3="$arg6" arg4="$arg6" arg5="$arg7" arg6="$arg9" arg7="$argC" arg8="$arg2"/>
      <macro name="{$arg1}-block" arg2="270" arg3="$arg6" arg4="$arg6" arg5="$arg8" arg6="$argA" arg7="$argC" arg8="$arg2"/>
    </define-macro>

    <define-macro name="absolute-pair">
      <macro name="set" arg1="absolute" arg2="$arg2" arg3="$arg3" arg4="$arg4" arg5="$arg5" arg6="$arg6" arg7="$arg7" arg8="$arg8" arg9="$arg9" argA="$argA" argB="$argB" argC="$argC" argD="$argD"/>
      <macro name="set" arg1="fixed"    arg2="$arg2" arg3="$arg3" arg4="$arg4" arg5="$arg5" arg6="$arg6" arg7="$arg7" arg8="$arg8" arg9="$arg9" argA="$argA" argB="$argB" argC="$argC" argD="$argD"/>
    </define-macro>

    <define-macro name="fixed-pair">
      <macro name="set" arg1="fixed"    arg2="$arg2" arg3="$arg3" arg4="$arg4" arg5="$arg5" arg6="$arg6" arg7="$arg7" arg8="$arg8" arg9="$arg9" argA="$argA" argB="$argB" argC="$argC" argD="$argD"/>
      <macro name="set" arg1="absolute" arg2="$arg2" arg3="$arg3" arg4="$arg4" arg5="$arg5" arg6="$arg6" arg7="$arg7" arg8="$arg8" arg9="$arg9" argA="$argA" argB="$argB" argC="$argC" argD="$argD"/>
    </define-macro>

    <define-macro name="pair">
      <macro name="{$arg1}-pair" arg2="$arg2" arg3="$arg3" arg4="$arg4" arg5="$arg5" arg6="$arg6" arg7="$arg7" arg8="$arg8" arg9="$arg9" argA="$argA" argB="$argB" argC="$argC" argD="$argD"/>
    </define-macro>
  
    <annotation>
      <p break-after="column">
        This test contains a series of absolutely positioned block-containers.
        Each page contain two sets of block-containers - one with 
        <code>absolute-position="absolute"</code> and another with
        <code>absolute-position="fixed"</code>.
        All other parameters of sets is same.
<!--
        On each even page absolute-set placed before fixed-set
        and this order is changed .
-->
      </p>
    </annotation>

    <!--
      arg1   = absolute/fixed
      arg6   = width/height
      arg7   = first-left
      arg8   = second-left
      arg9   = first-right
      argA   = second-right
      argB   = first-top
      argC   = second-top
      argD   = first-bottom
      arg2    = second-bottom
    -->

    <test>
      <annotation>
        On this page, all blocks have fixed width and height,
        and 'right' and 'bottom' properties set to "auto". The
        blocks should be positioned with their upper left corner
        in the specified point.
      </annotation>
      <macro name="pair"
             arg1="absolute"
             arg6="2in"
             arg7="1in"  arg8="3.5in"
             arg9="auto" argA="auto"
             argB="3in"  argC="5.5in"
             argD="auto" arg2="auto"/>
    </test>
<!--
    <test>
      <annotation>
        On this page, all blocks have fixed width and height,
        and 'left' and 'bottom' properties set to "auto". The
        blocks should be positioned with their upper right corner
        in the specified point.
      </annotation>
      <macro name="pair"
             arg1="fixed"
             arg6="2in"
             arg7="auto" arg8="auto"
             arg9="1in"  argA="3.5in"
             argB="auto" argC="auto"
             argD="3in"  arg2="5.5in"/>
    </test>

    <test>
      <annotation>
        On this page, all blocks have fixed width and height,
        and 'right' and 'top' properties set to "auto". The
        blocks should be positioned with their lower left corner
        in the specified point.
      </annotation>
      <macro name="pair"
             arg1="absolute"
             arg6="2in"
             arg7="1in"  arg8="3.5in"
             arg9="auto" argA="auto"
             argB="auto" argC="auto"
             argD="3in"  arg2="5.5in"/>
    </test>
-->
    <test>
      <annotation>
        On this page, all blocks have fixed width and height,
        and 'left' and 'top' properties set to "auto". The
        blocks should be positioned with their lower right corner
        in the specified point.
      </annotation>
      <macro name="pair"
             arg1="fixed"
             arg6="2in"
             arg7="auto" arg8="auto"
             arg9="1in"  argA="3.5in"
             argB="auto" argC="auto"
             argD="3in"  arg2="5.5in"/>
    </test> 

    <test>
      <annotation>
        On this page, all blocks have automatic width and height. All four
        corners have their specified positions.
      </annotation>
      <macro name="pair"
             arg1="absolute"
             arg6="auto"
             arg7="1in"   arg8="4.5in"
             arg9="4in"   argA="0.5in"
             argB="2.5in" argC="6in"
             argD="5.7in" arg2="2in"/>
    </test>
<!--    
    <test>
      <annotation>
        On this page, all blocks have explicit width and height.
        However, they should be overridden by explicit offset
        properties: the pattern should be identical to that of the
        previous page.
      </annotation>
      <macro name="pair"
             arg1="fixed"
             arg6="1in"
             arg7="1in"   arg8="4.5in"
             arg9="4in"   argA="0.5in"
             argB="2.5in" argC="6in"
             argD="5.7in" arg2="2in"/>
    </test>
-->
  </test>



<!-- ============ -->
  <test>

    <title>
       Position of nested block-containers with 
       <code>absolute-position="absolute"</code>
       or <code>"fixed"</code>
    </title>

    <define-macro name="nested-set">
      <macro name="nested-unit" arg="$arg" arg1="absolute" arg2="$arg2" arg3="$arg3" arg4="$arg4" arg5="$arg5" arg6="$arg6" arg7="$arg7" arg8="$arg8"/>
      <macro name="nested-unit" arg="$arg" arg1="fixed"    arg2="$arg2" arg3="$arg3" arg4="$arg4" arg5="$arg5" arg6="$arg6" arg7="$arg7" arg8="$arg8"/>
    </define-macro>

    <define-macro name="nested-unit">
      <fo:block-container inline-progression-dimension="400pt"
                          block-progression-dimension="300pt"
                          reference-orientation="$arg"
                          border="1pt solid black"
                          border-top="double 3pt black"
                          background-color="#cfcfcf">
        <p>Parent container has reference-orientation="<arg/>".</p>
        <macro name="{$arg1}-block" arg2="$arg2" arg3="$arg3" arg4="$arg4" arg5="$arg5" arg6="$arg6" arg7="$arg7" arg8="$arg8"/>
      </fo:block-container>
      <fo:block break-after="column"/>
    </define-macro>

    <annotation>
      In this test we are combining coordinates and sizes
      of containers in different ways, hovever we expect all red containers
      (<code>absolute-position="absolute"</code>) to be the same size.
      In addition, red containers should not cross  the borders of black ones.
      For each subtest with <code>absolute-position="absolute"</code> 
      we placed same subtest on next page, but with 
      <code>absolute-position="fixed"</code>.
    </annotation>

    <!-- ===================|==========|============|============|===========|===========|===========|============|========== -->
    <!--                    |parent ref|  height    |  width     |   refer   |   left    |    top    |   right    |   bottom  -->
    <!-- ===================|==========|============|============|===========|===========|===========|============|========== -->
    <macro name="nested-set" arg="0"    arg3="250pt" arg4="150pt" arg2="0"    arg5="50pt" arg7="30pt" arg6="100pt" arg8="120pt"/>
    <macro name="nested-set" arg="90"   arg3="auto"  arg4="auto"  arg2="0"    arg5="50pt" arg7="30pt" arg6="100pt" arg8="120pt"/>
    <macro name="nested-set" arg="-180" arg3="250pt" arg4="150pt" arg2="0"    arg5="auto" arg7="auto" arg6="100pt" arg8="120pt"/>
    <macro name="nested-set" arg="270"  arg3="250pt" arg4="150pt" arg2="180"  arg5="50pt" arg7="30pt" arg6="100pt" arg8="120pt"/>
<!--
    <macro name="nested-set" arg="0"    arg3="250pt" arg4="150pt" arg2="90"   arg5="50pt" arg7="30pt" arg6="auto"  arg8="auto" />
    <macro name="mested-set" arg="180"  arg3="250pt" arg4="auto"  arg2="-180" arg5="50pt" arg7="30pt" arg6="auto"  arg8="120pt"/>
    <macro name="nested-set" arg="90"   arg3="auto"  arg4="auto"  arg2="-90"  arg5="50pt" arg7="30pt" arg6="200pt" arg8="20pt" />
    <macro name="nested-set" arg="-180" arg3="250pt" arg4="150pt" arg2="90"   arg5="auto" arg7="auto" arg6="200pt" arg8="20pt" />
-->

  </test>

<!-- ============ -->
<test>

  <title><code>Padding</code> properties</title>

  <define-macro name="padding-list-item">
    <fo:list-item>
      <fo:list-item-label end-indent="label-end()">
        <p text-align="end" font-weight="bold"><arg1/>:</p>
      </fo:list-item-label>
      <fo:list-item-body start-indent="body-start()">
        <p text-align="start"><arg2/></p>
      </fo:list-item-body>
    </fo:list-item>
  </define-macro>

  <define-macro name="inner-frame">
    <fo:block-container
       border="1pt solid blue" 
       border-top="3pt double blue" 
       background-color="white" 
       text-align="center" 
       margin="0pt"
       padding="6pt 6pt">
      <p><arg/></p>
      <p><b>Expected padding values:</b></p>
      <ul provisional-distance-between-starts="1.2in"
          provisional-label-separation="0.1in">  
        <macro name="padding-list-item" arg1="Top"    arg2="$arg1"/>
        <macro name="padding-list-item" arg1="Bottom" arg2="$arg2"/>
        <macro name="padding-list-item" arg1="Left"   arg2="$arg3"/>
        <macro name="padding-list-item" arg1="Right"  arg2="$arg4"/>
      </ul>
    </fo:block-container>
  </define-macro>

  <define-macro name="padding-frame">
    <fo:block-container
       border="1pt solid black" 
       border-top="3pt double black" 
       background="#cfcfcf" 
       padding-top="{$arg1}pt" 
       padding-bottom="{$arg2}pt" 
       padding-left="{$arg3}pt" 
       padding-right="{$arg4}pt" 
       margin-top="0pt"
       margin-left="0pt"
       margin-right="0pt"
       margin-bottom="12pt">
      <macro name="inner-frame" 
             arg="$arg"
             arg1="{$arg1} points"
             arg2="{$arg2} points"
             arg3="{$arg3} points"
             arg4="{$arg4} points"/>
    </fo:block-container>
  </define-macro>

  <define-macro name="frame-shorthand">
    <fo:block-container
       border="1pt solid black" 
       border-top="3pt double black" 
       background="#cfcfcf" 
       padding="$arg" 
       margin-top="0pt"
       margin-left="0pt"
       margin-right="0pt"
       margin-bottom="12pt">
      <macro name="inner-frame" 
             arg="Padding value: '{$arg}'"
             arg1="$arg1"
             arg2="$arg2"
             arg3="$arg3"
             arg4="$arg4"/>
    </fo:block-container>
  </define-macro>

  <annotation>
    This text contains series of figures, each composed of two
    nested block-containers: the outer has black background,
    and the inner has blue background.
    The separation between the two frames is determined by padding 
    value for the outer block-container. The space between the frames
    is filled by grey color.
  </annotation>

  <subtest>
    <title>Unabridged padding specifiers</title>
    <text>
      The following tests have padding explicitly set for each side
      using <code>padding-top</code> / <code>padding-bottom</code> /
      <code>padding-left</code> /<code>padding-right</code> attributes.
    </text>
    <macro name="padding-frame"
           arg1="0"
           arg2="0"
           arg3="0"
           arg4="0"
           arg="Padding is zero, so the two frames must be attached."/>
    <macro name="padding-frame"
           arg1="6"
           arg2="6"
           arg3="6"
           arg4="6"
           arg="Uniform padding from all sides."/>
    <macro name="padding-frame"
           arg1="18"
           arg2="36"
           arg3="72"
           arg4="144"
           arg="Different padding values for all sides."/>
  </subtest>
     
  <subtest>
    <title>Shorthand padding specifiers</title>
    <text>
      The following tests use a shorthand notation for padding,
      using a generic <code>padding</code> attribute.
    </text>
    <macro name="frame-shorthand" 
         arg="0.1in"
         arg1="0.1 inch"
         arg2="0.1 inch"
         arg3="0.1 inch"
         arg4="0.1 inch"/>
    <macro name="frame-shorthand" 
         arg="0.25in 0.5in"
         arg1="0.25 inch"
         arg2="0.25 inch"
         arg3="0.5 inch"
         arg4="0.5 inch"/>
    <macro name="frame-shorthand" 
         arg="0in 1in 0.25in"
         arg1="0 (no padding)"
         arg2="0.25 inch"
         arg3="1 inch"
         arg4="1 inch"/>
<!--
    <macro name="frame-shorthand" 
         arg="0.25in 0.5in 1in 2in"
         arg1="0.25 inch"
         arg2="1 inch"
         arg3="2 inch"
         arg4="0.5 inch"/>
-->
  </subtest>
</test>


<!-- ============ -->
<test>

  <title><code>Margin, Indent and Padding</code> properties</title>

  <define-macro name="margin-pair">
    <macro name="margin-block" arg1="absolute" arg9="red"   argA="#fedafb"
                               arg2="$arg2"    arg3="$arg3" arg4="$arg4"
                               arg5="$arg5"    arg6="$arg6" arg7="$arg7" 
                               arg8="$arg8"    argB="$argB" argC="$argC"
                               argD="$argD"/>
    <macro name="margin-block" arg1="fixed"    arg9="green" argA="#3affff"
                               arg2="$arg2"    arg3="$arg3" arg4="$arg4"
                               arg5="$arg5"    arg6="$arg6" arg7="$arg7" 
                               arg8="$arg8"    argB="$argB" argC="$argC"
                               argD="$argD"/>
    <macro name="margin-block" arg1="auto"     arg9="black" argA="#cfcfcf"
                               arg2="$arg2"    arg3="$arg3" arg4="$arg4"
                               arg5="$arg5"    arg6="$arg6" arg7="$arg7" 
                               arg8="$arg8"    argB="$argB" argC="$argC"
                               argD="$argD"/>
    <fo:block break-after="{$arg1}"/>
  </define-macro>

  <define-macro name="margin-block">
    <fo:block-container border="1pt solid {$arg9}"
                        border-top="double 3pt {$arg9}"
                        background-color="{$argA}"
                        display-align="auto"
                        absolute-position="$arg1"
                        reference-orientation="$arg2"
                        width  ="$arg3"
                        height ="$arg4"
                        left   ="$arg5"
                        right  ="$arg6"
                        top    ="$arg7"
                        bottom ="$arg8"
                        margin ="$argB"
                        padding="$argC"
                        start-indent="$argD">
      <p font="11pt Times">
        This block-container has the following values forproperties:
      </p>
      <fo:table font="9pt Times" space-before="6pt">
        <fo:table-column column-width="proportional-column-width(2)"/>
        <fo:table-column column-width="proportional-column-width(1)"/>
        <fo:table-body>
          <fo:table-cell>
            <p>absolute-position="<arg1/>"</p>
            <p>reference-orientation="<arg2/>"</p>
            <p>margin ="<argB/>"</p>
            <p>padding="<argC/>"</p>
            <p>start-indent="<argD/>"</p>
          </fo:table-cell>
          <fo:table-cell text-align="end">
            <p>width="<arg3/>"</p>
            <p>height="<arg4/>"</p>
            <p>left="<arg5/>"</p>
            <p>right="<arg6/>"</p>
            <p>top="<arg7/>"</p>
            <p>bottom="<arg8/>"</p>
          </fo:table-cell>
        </fo:table-body>
      </fo:table>
    </fo:block-container>
  </define-macro>

  <annotation>
    This test contains a sets, each consist from three block-containers with
    same attributes except <code>absolute-position</code>,
    <code>background</code> and <code>border</code>.
    Background and border is same as describe on first page.
  </annotation>

<!-- 
      reference-orientation="$arg2"
      width  ="$arg3"
      height ="$arg4"
      left   ="$arg5"
      right  ="$arg6"
      top    ="$arg7"
      bottom ="$arg8"
      margin ="$argB"
      padding="$argC"
      indent ="$argD"
      break-after="$arg1"
-->

  <macro name="margin-pair" arg2="0"   arg3="2.5in" arg4="1.7in" arg5="1in" arg6="auto" arg7="3in" arg8="auto" argB="0pt"  argC="0pt"  argD="0pt"  arg1="auto"/>
  <macro name="margin-pair" arg2="90"  arg3="2.5in" arg4="1.7in" arg5="1in" arg6="auto" arg7="7in" arg8="auto" argB="10pt" argC="0pt"  argD="0pt"  arg1="column"/>
  <macro name="margin-pair" arg2="0"   arg3="2.5in" arg4="1.7in" arg5="1in" arg6="auto" arg7="3in" arg8="auto" argB="0pt"  argC="10pt" argD="0pt"  arg1="auto"/>
  <macro name="margin-pair" arg2="180" arg3="2.5in" arg4="1.7in" arg5="1in" arg6="auto" arg7="7in" arg8="auto" argB="0pt"  argC="0pt"  argD="10pt" arg1="column"/>
  <macro name="margin-pair" arg2="0"   arg3="2.5in" arg4="1.7in" arg5="1in" arg6="auto" arg7="3in" arg8="auto" argB="30pt" argC="20pt" argD="10pt" arg1="auto"/>
  <macro name="margin-pair" arg2="270" arg3="2.5in" arg4="1.7in" arg5="1in" arg6="auto" arg7="7in" arg8="auto" argB="20pt" argC="10pt" argD="30pt"  arg1="column"/>

</test>

<!-- ========================================== -->
<test>

  <title>Borders conditionality</title>

  <define-macro name="conditionality-test">
    <fo:block-container padding="5pt" padding-before="1in" padding-after="1in"
                        border="5pt solid red" background="#cfcfcf"
                        space-before="0.7in" space-after="4in" margin="0" 
                        border-before-width.conditionality="{$arg1}" 
                        border-after-width.conditionality="{$arg3}"
                        padding-before.conditionality="{$arg2}"
                        padding-after.conditionality="{$arg4}">
      <fo:block space-before="5pt" space-after="5pt"><code>border-before-width.conditionality = <arg1/></code></fo:block>
      <fo:block space-before="5pt" space-after="5pt"><code>padding-before.conditionality = <arg2/></code></fo:block>
      <fo:block space-before="5pt" space-after="5pt"><code>border-after-width.conditionality = <arg3/></code></fo:block>
      <fo:block space-before="5pt" space-after="5pt"><code>padding-after.conditionality = <arg4/></code></fo:block>
    </fo:block-container>
  </define-macro>

  <annotation>
    This test show  <code>.conditionality="discard"</code> and
    <code>.conditionality="retain"</code> differentials on the block-containers
    with <code>absolute-position="auto"</code>.
  </annotation>
  <p space-before="5.8in">
    <macro name="conditionality-test" arg1="discard" arg2="discard" arg3="discard" arg4="discard"/>
    <macro name="conditionality-test" arg1="discard" arg2="discard" arg3="retain" arg4="retain"/>
    <macro name="conditionality-test" arg1="retain" arg2="retain" arg3="discard" arg4="discard"/>
    <macro name="conditionality-test" arg1="retain" arg2="retain" arg3="retain" arg4="retain"/>
  </p>

</test>

</fo:block>
</fo:flow>
</fo:page-sequence>

</plain-doc-pages>
