You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by je...@apache.org on 2006/01/19 16:10:34 UTC

svn commit: r370494 - in /xmlgraphics/fop/trunk: ./ src/java/org/apache/fop/layoutmgr/ src/java/org/apache/fop/layoutmgr/list/ src/java/org/apache/fop/layoutmgr/table/ test/layoutengine/ test/layoutengine/standard-testcases/

Author: jeremias
Date: Thu Jan 19 07:10:14 2006
New Revision: 370494

URL: http://svn.apache.org/viewcvs?rev=370494&view=rev
Log:
Following a clarification by the XSL FO SG, space traits are only set on the first and last area generated by an FO, and not on every area anymore.
For details, see: http://wiki.apache.org/xmlgraphics-fop/XslFoSpecificationUncertainties/SpaceTraits

Note: this change brings another issue in column balancing to light. That's the reason for disabling one of the tests. I wasn't able to find a quick fix there.

Modified:
    xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockContainerLayoutManager.java
    xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java
    xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockStackingLayoutManager.java
    xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/list/ListBlockLayoutManager.java
    xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/list/ListItemLayoutManager.java
    xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/table/TableLayoutManager.java
    xmlgraphics/fop/trunk/status.xml
    xmlgraphics/fop/trunk/test/layoutengine/disabled-testcases.xml
    xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block-container_space-before_space-after_1.xml
    xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block-container_space-before_space-after_2.xml
    xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block_space-before_space-after_2.xml
    xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block_space-before_space-after_4.xml
    xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block_space-before_space-after_6.xml
    xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/list-block_space-before_space-after_1.xml
    xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table_space-before_space-after_1.xml
    xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table_space-before_space-after_2.xml

Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockContainerLayoutManager.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockContainerLayoutManager.java?rev=370494&r1=370493&r2=370494&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockContainerLayoutManager.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockContainerLayoutManager.java Thu Jan 19 07:10:14 2006
@@ -129,8 +129,8 @@
         this.discardBorderAfter = false;        
         this.discardPaddingBefore = false;        
         this.discardPaddingAfter = false;
-        this.effSpaceBefore = foSpaceBefore;
-        this.effSpaceAfter = foSpaceAfter;
+        this.effSpaceBefore = null;
+        this.effSpaceAfter = null;
     }
 
     /** @return the content IPD */
@@ -241,17 +241,19 @@
         LinkedList contentList = new LinkedList();
         LinkedList returnList = new LinkedList();
         
-        if (!bBreakBeforeServed) {
+        if (!breakBeforeServed) {
             try {
                 if (addKnuthElementsForBreakBefore(returnList, context)) {
                     return returnList;
                 }
             } finally {
-                bBreakBeforeServed = true;
+                breakBeforeServed = true;
             }
         }
 
-        addKnuthElementsForSpaceBefore(returnList, alignment);
+        if (!firstVisibleMarkServed) {
+            addKnuthElementsForSpaceBefore(returnList, alignment);
+        }
         
         addKnuthElementsForBorderPaddingBefore(returnList, !firstVisibleMarkServed);
         firstVisibleMarkServed = true;

Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java?rev=370494&r1=370493&r2=370494&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java Thu Jan 19 07:10:14 2006
@@ -110,8 +110,8 @@
         this.discardBorderAfter = false;        
         this.discardPaddingBefore = false;        
         this.discardPaddingAfter = false;
-        this.effSpaceBefore = foSpaceBefore;
-        this.effSpaceAfter = foSpaceAfter;
+        this.effSpaceBefore = null;
+        this.effSpaceAfter = null;
     }
     
     /**

Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockStackingLayoutManager.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockStackingLayoutManager.java?rev=370494&r1=370493&r2=370494&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockStackingLayoutManager.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockStackingLayoutManager.java Thu Jan 19 07:10:14 2006
@@ -55,7 +55,7 @@
     /** Only used to store the original list when createUnitElements is called */
     protected LinkedList storedList = null;
     /** Indicates whether break before has been served or not */
-    protected boolean bBreakBeforeServed = false;
+    protected boolean breakBeforeServed = false;
     /** Indicates whether the first visible mark has been returned by this LM, yet */
     protected boolean firstVisibleMarkServed = false;
     /** Reference IPD available */
@@ -235,17 +235,19 @@
         LinkedList contentList = new LinkedList();
         LinkedList returnList = new LinkedList();
 
-        if (!bBreakBeforeServed) {
+        if (!breakBeforeServed) {
             try {
                 if (addKnuthElementsForBreakBefore(returnList, context)) {
                     return returnList;
                 }
             } finally {
-                bBreakBeforeServed = true;
+                breakBeforeServed = true;
             }
         }
 
-        addKnuthElementsForSpaceBefore(returnList, alignment);
+        if (!firstVisibleMarkServed) {
+            addKnuthElementsForSpaceBefore(returnList, alignment);
+        }
         
         addKnuthElementsForBorderPaddingBefore(returnList, !firstVisibleMarkServed);
         firstVisibleMarkServed = true;
@@ -316,18 +318,10 @@
                         // blocks
                         contentList.add(new BreakElement(
                                 new Position(this), KnuthElement.INFINITE, context));
-                        /*
-                        contentList.add(new KnuthPenalty(0,
-                                KnuthElement.INFINITE, false,
-                                new Position(this), false));
-                        */
                     } else if (!((ListElement) contentList.getLast()).isGlue()) {
                         // add a null penalty to allow a break between blocks
                         contentList.add(new BreakElement(
                                 new Position(this), 0, context));
-                        /*
-                        contentList.add(new KnuthPenalty(0, 0, false,
-                                new Position(this), false));*/
                     } else {
                         // the last element in contentList is a glue;
                         // it is a feasible breakpoint, there is no need to add
@@ -763,22 +757,6 @@
      * @param context the layout context
      */
     protected void addPendingMarks(LayoutContext context) {
-        SpaceProperty spaceBefore = getSpaceBeforeProperty();
-        if (spaceBefore != null
-                   && !(spaceBefore.getMinimum(this).getLength().getValue(this) == 0 
-                        && spaceBefore.getMaximum(this).getLength().getValue(this) == 0)) {
-            context.addPendingBeforeMark(new SpaceElement(getAuxiliaryPosition(), spaceBefore,
-                    RelSide.BEFORE, 
-                    true, false, this));
-        }
-        SpaceProperty spaceAfter = getSpaceAfterProperty();
-        if (spaceAfter != null
-                && !(spaceAfter.getMinimum(this).getLength().getValue(this) == 0 
-                     && spaceAfter.getMaximum(this).getLength().getValue(this) == 0)) {
-            context.addPendingAfterMark(new SpaceElement(getAuxiliaryPosition(), spaceAfter,
-                    RelSide.AFTER, 
-                    false, true, this));
-        }
         CommonBorderPaddingBackground borderAndPadding = getBorderPaddingBackground();
         if (borderAndPadding != null) {
             if (borderAndPadding.getBorderBeforeWidth(false) > 0) {

Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/list/ListBlockLayoutManager.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/list/ListBlockLayoutManager.java?rev=370494&r1=370493&r2=370494&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/list/ListBlockLayoutManager.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/list/ListBlockLayoutManager.java Thu Jan 19 07:10:14 2006
@@ -109,8 +109,8 @@
         this.discardBorderAfter = false;        
         this.discardPaddingBefore = false;        
         this.discardPaddingAfter = false;
-        this.effSpaceBefore = foSpaceBefore;
-        this.effSpaceAfter = foSpaceAfter;
+        this.effSpaceBefore = null;
+        this.effSpaceAfter = null;
     }
     
     /** @see org.apache.fop.layoutmgr.BlockStackingLayoutManager */

Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/list/ListItemLayoutManager.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/list/ListItemLayoutManager.java?rev=370494&r1=370493&r2=370494&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/list/ListItemLayoutManager.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/list/ListItemLayoutManager.java Thu Jan 19 07:10:14 2006
@@ -168,8 +168,8 @@
         this.discardBorderAfter = false;        
         this.discardPaddingBefore = false;        
         this.discardPaddingAfter = false;
-        this.effSpaceBefore = foSpaceBefore;
-        this.effSpaceAfter = foSpaceAfter;
+        this.effSpaceBefore = null;
+        this.effSpaceAfter = null;
     }
     
     /** @see org.apache.fop.layoutmgr.LayoutManager */

Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/table/TableLayoutManager.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/table/TableLayoutManager.java?rev=370494&r1=370493&r2=370494&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/table/TableLayoutManager.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/table/TableLayoutManager.java Thu Jan 19 07:10:14 2006
@@ -126,8 +126,8 @@
         this.discardBorderAfter = false;        
         this.discardPaddingBefore = false;        
         this.discardPaddingAfter = false;
-        this.effSpaceBefore = foSpaceBefore;
-        this.effSpaceAfter = foSpaceAfter;
+        this.effSpaceBefore = null;
+        this.effSpaceAfter = null;
     }
     
     /** @return half the value of border-separation.block-progression-dimension. */
@@ -145,13 +145,13 @@
         
         LinkedList returnList = new LinkedList();
         
-        if (!bBreakBeforeServed) {
+        if (!breakBeforeServed) {
             try {
                 if (addKnuthElementsForBreakBefore(returnList, context)) {
                     return returnList;
                 }
             } finally {
-                bBreakBeforeServed = true;
+                breakBeforeServed = true;
             }
         }
 
@@ -202,7 +202,9 @@
             }
         }
 
-        addKnuthElementsForSpaceBefore(returnList, alignment);
+        if (!firstVisibleMarkServed) {
+            addKnuthElementsForSpaceBefore(returnList, alignment);
+        }
         
         if (getTable().isSeparateBorderModel()) {
             addKnuthElementsForBorderPaddingBefore(returnList, !firstVisibleMarkServed);

Modified: xmlgraphics/fop/trunk/status.xml
URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/status.xml?rev=370494&r1=370493&r2=370494&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/status.xml (original)
+++ xmlgraphics/fop/trunk/status.xml Thu Jan 19 07:10:14 2006
@@ -27,6 +27,10 @@
 
   <changes>
     <release version="FOP Trunk">
+      <action context="Code" dev="JM" type="fix">
+        Following a clarification by the XSL FO SG, space traits are only set on the 
+        first and last area generated by an FO, and not on every area anymore.
+      </action>
       <action context="Code" dev="JM" type="add">
         New feature: "Intermediate format" (IF). The IF is basically the XML dialect
         written by the area tree renderer (XMLRenderer). A new parser for this format

Modified: xmlgraphics/fop/trunk/test/layoutengine/disabled-testcases.xml
URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/test/layoutengine/disabled-testcases.xml?rev=370494&r1=370493&r2=370494&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/test/layoutengine/disabled-testcases.xml (original)
+++ xmlgraphics/fop/trunk/test/layoutengine/disabled-testcases.xml Thu Jan 19 07:10:14 2006
@@ -260,6 +260,11 @@
     content to disappear.</description>
   </testcase>
   <testcase>
+    <name>Column Balancing problems</name>
+    <file>region-body_column-count_bug36356.xml</file>
+    <description>Column balancing doesn't work as expected.</description>
+  </testcase>
+  <testcase>
     <name>No background-images on table-body</name>
     <file>table-body_background-image.xml</file>
     <description>The backgrounds of table-body, table-header,

Modified: xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block-container_space-before_space-after_1.xml
URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block-container_space-before_space-after_1.xml?rev=370494&r1=370493&r2=370494&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block-container_space-before_space-after_1.xml (original)
+++ xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block-container_space-before_space-after_1.xml Thu Jan 19 07:10:14 2006
@@ -75,38 +75,20 @@
       <box w="14400"/>
       <box w="14400"/>
       
-      <penalty w="0" p="INF"/>
-      <glue w="10000" y="0" z="10000"/>
       <penalty w="0" p="0"/>
-      <glue w="-30000" y="0" z="-30000"/>
-      <box w="0"/>
-      <penalty w="0" p="INF"/>
-      <glue w="20000" y="0" z="20000"/>
       
       <box w="14400"/>
       
-      <penalty w="0" p="INF"/>
-      <glue w="10000" y="0" z="10000"/>
       <penalty w="0" p="0"/>
-      <glue w="-30000" y="0" z="-30000"/>
-      <box w="0"/>
-      <penalty w="0" p="INF"/>
-      <glue w="20000" y="0" z="20000"/>
       
       <box w="14400"/>
       
       <!-- skip three more lines -->
-      <skip>8</skip>
-      <skip>8</skip>
-      <skip>8</skip>
+      <skip>2</skip>
+      <skip>2</skip>
+      <skip>2</skip>
       
-      <penalty w="0" p="INF"/>
-      <glue w="10000" y="0" z="10000"/>
       <penalty w="0" p="0"/>
-      <glue w="-30000" y="0" z="-30000"/>
-      <box w="0"/>
-      <penalty w="0" p="INF"/>
-      <glue w="20000" y="0" z="20000"/>
       
       <box w="14400"/>
       <box w="14400"/>

Modified: xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block-container_space-before_space-after_2.xml
URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block-container_space-before_space-after_2.xml?rev=370494&r1=370493&r2=370494&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block-container_space-before_space-after_2.xml (original)
+++ xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block-container_space-before_space-after_2.xml Thu Jan 19 07:10:14 2006
@@ -18,13 +18,13 @@
 <testcase>
   <info>
     <p>
-      This test checks block-level space properties. Demonstrates that spaces are repeated on every generated area.
+      This test checks block-level space properties. Demonstrates that spaces are only on the first (or last) generated area.
     </p>
   </info>
   <fo>
     <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg">
       <fo:layout-master-set>
-        <fo:simple-page-master master-name="normal" page-width="5in" page-height="30pt">
+        <fo:simple-page-master master-name="normal" page-width="5in" page-height="28pt">
           <fo:region-body/>
         </fo:simple-page-master>
       </fo:layout-master-set>
@@ -46,42 +46,23 @@
       <box w="0"/>
       <penalty w="0" p="INF"/>
       <glue w="5000"/>
+      
       <box w="10000"/>
       <penalty w="0" p="0"/>
-      <glue w="-5000"/>
-      
-      <box w="0"/>
-      <penalty w="0" p="INF"/>
-      <glue w="5000"/>
       <box w="10000"/>
       <penalty w="0" p="0"/>
-      <glue w="-5000"/>
-      
-      <box w="0"/>
-      <penalty w="0" p="INF"/>
-      <glue w="5000"/>
       <box w="10000"/>
       <penalty w="0" p="0"/>
-      <glue w="-5000"/>
-      
-      <box w="0"/>
-      <penalty w="0" p="INF"/>
-      <glue w="5000"/>
       <box w="10000"/>
       <penalty w="0" p="0"/>
-      <glue w="-5000"/>
-      
-      <box w="0"/>
-      <penalty w="0" p="INF"/>
-      <glue w="5000"/>
       <box w="10000"/>
       
       <skip>3</skip>
     </element-list>
     <eval expected="3" xpath="count(//pageViewport)"/>
     <eval expected="5000" xpath="//pageViewport[@nr=1]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/@space-before"/>
-    <eval expected="5000" xpath="//pageViewport[@nr=2]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/@space-before"/>
-    <eval expected="5000" xpath="//pageViewport[@nr=3]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/@space-before"/>
+    <true xpath="not(boolean(//pageViewport[@nr=2]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/@space-before))"/>
+    <true xpath="not(boolean(//pageViewport[@nr=3]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/@space-before))"/>
     <eval expected="1" xpath="count(//pageViewport[@nr=1]/page/regionViewport/regionBody/mainReference/span/flow/block)"/>
     <eval expected="1" xpath="count(//pageViewport[@nr=2]/page/regionViewport/regionBody/mainReference/span/flow/block)"/>
     <eval expected="1" xpath="count(//pageViewport[@nr=3]/page/regionViewport/regionBody/mainReference/span/flow/block)"/>

Modified: xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block_space-before_space-after_2.xml
URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block_space-before_space-after_2.xml?rev=370494&r1=370493&r2=370494&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block_space-before_space-after_2.xml (original)
+++ xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block_space-before_space-after_2.xml Thu Jan 19 07:10:14 2006
@@ -71,38 +71,20 @@
       <box w="14400"/>
       <box w="14400"/>
       
-      <penalty w="0" p="INF"/>
-      <glue w="10000" y="0" z="10000"/>
       <penalty w="0" p="0"/>
-      <glue w="-30000" y="0" z="-30000"/>
-      <box w="0"/>
-      <penalty w="0" p="INF"/>
-      <glue w="20000" y="0" z="20000"/>
       
       <box w="14400"/>
       
-      <penalty w="0" p="INF"/>
-      <glue w="10000" y="0" z="10000"/>
       <penalty w="0" p="0"/>
-      <glue w="-30000" y="0" z="-30000"/>
-      <box w="0"/>
-      <penalty w="0" p="INF"/>
-      <glue w="20000" y="0" z="20000"/>
       
       <box w="14400"/>
       
       <!-- skip three more lines -->
-      <skip>8</skip>
-      <skip>8</skip>
-      <skip>8</skip>
+      <skip>2</skip>
+      <skip>2</skip>
+      <skip>2</skip>
       
-      <penalty w="0" p="INF"/>
-      <glue w="10000" y="0" z="10000"/>
       <penalty w="0" p="0"/>
-      <glue w="-30000" y="0" z="-30000"/>
-      <box w="0"/>
-      <penalty w="0" p="INF"/>
-      <glue w="20000" y="0" z="20000"/>
       
       <box w="14400"/>
       <box w="14400"/>

Modified: xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block_space-before_space-after_4.xml
URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block_space-before_space-after_4.xml?rev=370494&r1=370493&r2=370494&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block_space-before_space-after_4.xml (original)
+++ xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block_space-before_space-after_4.xml Thu Jan 19 07:10:14 2006
@@ -18,13 +18,13 @@
 <testcase>
   <info>
     <p>
-      This test checks block-level space properties. Demonstrates that spaces are repeated on every generated area.
+      This test checks block-level space properties. Demonstrates that space-before is only on the first generated area.
     </p>
   </info>
   <fo>
     <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg">
       <fo:layout-master-set>
-        <fo:simple-page-master master-name="normal" page-width="5in" page-height="30pt">
+        <fo:simple-page-master master-name="normal" page-width="5in" page-height="28pt">
           <fo:region-body/>
         </fo:simple-page-master>
       </fo:layout-master-set>
@@ -48,30 +48,22 @@
       <glue w="5000"/>
       <box w="10000"/>
       <penalty w="0" p="0"/>
-      <glue w="-5000"/>
       
-      <box w="0"/>
-      <penalty w="0" p="INF"/>
-      <glue w="5000"/>
       <box w="10000"/>
       <penalty w="0" p="0"/>
-      <glue w="-5000"/>
 
       <!-- skip two more lines -->
-      <skip>6</skip>
-      <skip>6</skip>
+      <skip>2</skip>
+      <skip>2</skip>
       
-      <box w="0"/>
-      <penalty w="0" p="INF"/>
-      <glue w="5000"/>
       <box w="10000"/>
       
       <skip>3</skip>
     </element-list>
     <eval expected="3" xpath="count(//pageViewport)"/>
     <eval expected="5000" xpath="//pageViewport[@nr=1]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/@space-before"/>
-    <eval expected="5000" xpath="//pageViewport[@nr=2]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/@space-before"/>
-    <eval expected="5000" xpath="//pageViewport[@nr=3]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/@space-before"/>
+    <true xpath="not(boolean(//pageViewport[@nr=2]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/@space-before))"/>
+    <true xpath="not(boolean(//pageViewport[@nr=3]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/@space-before))"/>
     <eval expected="1" xpath="count(//pageViewport[@nr=1]/page/regionViewport/regionBody/mainReference/span/flow/block)"/>
     <eval expected="1" xpath="count(//pageViewport[@nr=2]/page/regionViewport/regionBody/mainReference/span/flow/block)"/>
     <eval expected="1" xpath="count(//pageViewport[@nr=3]/page/regionViewport/regionBody/mainReference/span/flow/block)"/>

Modified: xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block_space-before_space-after_6.xml
URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block_space-before_space-after_6.xml?rev=370494&r1=370493&r2=370494&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block_space-before_space-after_6.xml (original)
+++ xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block_space-before_space-after_6.xml Thu Jan 19 07:10:14 2006
@@ -78,12 +78,6 @@
 
       <penalty w="0" p="0"/>
 
-      <glue w="-10000"/>
-      
-      <box w="0"/>
-      <penalty w="0" p="INF"/>
-      <glue w="10000"/>
-
       <box w="14400"/>
       
       <skip>3</skip>

Modified: xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/list-block_space-before_space-after_1.xml
URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/list-block_space-before_space-after_1.xml?rev=370494&r1=370493&r2=370494&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/list-block_space-before_space-after_1.xml (original)
+++ xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/list-block_space-before_space-after_1.xml Thu Jan 19 07:10:14 2006
@@ -108,48 +108,24 @@
       
       <box w="28800"/>
       
-      <penalty w="0" p="INF"/>
-      <glue w="10000"/>
       <penalty w="0" p="0"/>
-      <glue w="-30000"/>
-      <box w="0"/>
-      <penalty w="0" p="INF"/>
-      <glue w="20000"/>
       
       <box w="14400"/>
       
-      <penalty w="0" p="INF"/>
-      <glue w="10000"/>
       <penalty w="0" p="0"/>
-      <glue w="-30000"/>
-      <box w="0"/>
-      <penalty w="0" p="INF"/>
-      <glue w="20000"/>
       
       <box w="14400"/>
       
       <!-- skip three more lines -->
-      <skip>8</skip>
-      <skip>8</skip>
-      <skip>8</skip>
+      <skip>2</skip>
+      <skip>2</skip>
+      <skip>2</skip>
       
-      <penalty w="0" p="INF"/>
-      <glue w="10000"/>
       <penalty w="0" p="0"/>
-      <glue w="-30000"/>
-      <box w="0"/>
-      <penalty w="0" p="INF"/>
-      <glue w="20000"/>
       
       <box w="28800"/> <!-- end of first list item -->
       
-      <penalty w="0" p="INF"/>
-      <glue w="10000"/>
       <penalty w="0" p="0"/>
-      <glue w="-30000"/>
-      <box w="0"/>
-      <penalty w="0" p="INF"/>
-      <glue w="20000"/>
       
       <box w="14400"/> <!-- second list-item -->
       
@@ -203,8 +179,8 @@
     
     <!-- 1: retain -->
     <eval expected="20000" xpath="//pageViewport[@nr=1]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/@space-before"/>
-    <eval expected="10000" xpath="//pageViewport[@nr=1]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/@space-after"/>
-    <eval expected="20000" xpath="//pageViewport[@nr=2]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/@space-before"/>
+    <true xpath="not(boolean(//pageViewport[@nr=1]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/@space-after))"/>
+    <true xpath="not(boolean(//pageViewport[@nr=2]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/@space-before))"/>
     <!-- the following space is eliminated/collapsed through space resolution -->
     <true xpath="not(boolean(//pageViewport[@nr=2]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/@space-after))"/>
     <eval expected="10000" xpath="//pageViewport[@nr=2]/page/regionViewport/regionBody/mainReference/span/flow/block[2]/@space-before"/>

Modified: xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table_space-before_space-after_1.xml
URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table_space-before_space-after_1.xml?rev=370494&r1=370493&r2=370494&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table_space-before_space-after_1.xml (original)
+++ xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table_space-before_space-after_1.xml Thu Jan 19 07:10:14 2006
@@ -96,40 +96,22 @@
       
       <box w="0"/>
       
-      <penalty w="0" p="INF"/>
-      <glue w="10000"/>
       <penalty w="14400"/> <!-- p is not of interest here -->
-      <glue w="-30000"/>
-      <box w="0"/>
-      <penalty w="0" p="INF"/>
-      <glue w="20000"/>
       
       <box w="28800"/>
       
-      <penalty w="0" p="INF"/>
-      <glue w="10000"/>
       <penalty w="0" p="0"/>
-      <glue w="-30000"/>
-      <box w="0"/>
-      <penalty w="0" p="INF"/>
-      <glue w="20000"/>
       
       <box w="14400"/>
       
       <!-- skip three more lines -->
-      <skip>8</skip>
-      <skip>8</skip>
-      <skip>8</skip>
-      <skip>8</skip>
-      <skip>8</skip>
+      <skip>2</skip>
+      <skip>2</skip>
+      <skip>2</skip>
+      <skip>2</skip>
+      <skip>2</skip>
       
-      <penalty w="0" p="INF"/>
-      <glue w="10000"/>
       <penalty w="0" p="0"/>
-      <glue w="-30000"/>
-      <box w="0"/>
-      <penalty w="0" p="INF"/>
-      <glue w="20000"/>
       
       <box w="28800"/> <!-- end of table -->
       
@@ -185,8 +167,8 @@
     
     <!-- 1: retain -->
     <eval expected="20000" xpath="//pageViewport[@nr=1]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/@space-before"/>
-    <eval expected="10000" xpath="//pageViewport[@nr=1]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/@space-after"/>
-    <eval expected="20000" xpath="//pageViewport[@nr=2]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/@space-before"/>
+    <true xpath="not(boolean(//pageViewport[@nr=1]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/@space-after))"/>
+    <true xpath="not(boolean(//pageViewport[@nr=2]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/@space-before))"/>
     <!-- the following space is eliminated/collapsed through space resolution -->
     <true xpath="not(boolean(//pageViewport[@nr=2]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/@space-after))"/>
     <eval expected="10000" xpath="//pageViewport[@nr=2]/page/regionViewport/regionBody/mainReference/span/flow/block[2]/@space-before"/>

Modified: xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table_space-before_space-after_2.xml
URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table_space-before_space-after_2.xml?rev=370494&r1=370493&r2=370494&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table_space-before_space-after_2.xml (original)
+++ xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table_space-before_space-after_2.xml Thu Jan 19 07:10:14 2006
@@ -18,13 +18,13 @@
 <testcase>
   <info>
     <p>
-      This test checks space properties on table. Demonstrates that spaces are repeated on every generated area.
+      This test checks space properties on table. Demonstrates that spaces are only on the first (or last) generated area.
     </p>
   </info>
   <fo>
     <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg">
       <fo:layout-master-set>
-        <fo:simple-page-master master-name="normal" page-width="5in" page-height="30pt">
+        <fo:simple-page-master master-name="normal" page-width="5in" page-height="28pt">
           <fo:region-body/>
         </fo:simple-page-master>
       </fo:layout-master-set>
@@ -57,42 +57,23 @@
       <box w="0"/>
       <penalty w="0" p="INF"/>
       <glue w="5000"/>
+      
       <box w="10000"/>
       <penalty w="0" p="0"/>
-      <glue w="-5000"/>
-      
-      <box w="0"/>
-      <penalty w="0" p="INF"/>
-      <glue w="5000"/>
       <box w="10000"/>
       <penalty w="0" p="0"/>
-      <glue w="-5000"/>
-      
-      <box w="0"/>
-      <penalty w="0" p="INF"/>
-      <glue w="5000"/>
       <box w="10000"/>
       <penalty w="0" p="0"/>
-      <glue w="-5000"/>
-      
-      <box w="0"/>
-      <penalty w="0" p="INF"/>
-      <glue w="5000"/>
       <box w="10000"/>
       <penalty w="0" p="0"/>
-      <glue w="-5000"/>
-      
-      <box w="0"/>
-      <penalty w="0" p="INF"/>
-      <glue w="5000"/>
       <box w="10000"/>
       
       <skip>3</skip>
     </element-list>
     <eval expected="3" xpath="count(//pageViewport)"/>
     <eval expected="5000" xpath="//pageViewport[@nr=1]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/@space-before"/>
-    <eval expected="5000" xpath="//pageViewport[@nr=2]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/@space-before"/>
-    <eval expected="5000" xpath="//pageViewport[@nr=3]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/@space-before"/>
+    <true xpath="not(boolean(//pageViewport[@nr=2]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/@space-before))"/>
+    <true xpath="not(boolean(//pageViewport[@nr=3]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/@space-before))"/>
     <eval expected="1" xpath="count(//pageViewport[@nr=1]/page/regionViewport/regionBody/mainReference/span/flow/block)"/>
     <eval expected="1" xpath="count(//pageViewport[@nr=2]/page/regionViewport/regionBody/mainReference/span/flow/block)"/>
     <eval expected="1" xpath="count(//pageViewport[@nr=3]/page/regionViewport/regionBody/mainReference/span/flow/block)"/>



---------------------------------------------------------------------
To unsubscribe, e-mail: fop-commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-commits-help@xmlgraphics.apache.org