[prev in list] [next in list] [prev in thread] [next in thread] 

List:       fop-cvs
Subject:    cvs commit: xml-fop/src/java/org/apache/fop/fo/flow TableBody.java
From:       jeremias () apache ! org
Date:       2005-02-23 22:04:01
Message-ID: 20050223220401.92043.qmail () minotaur ! apache ! org
[Download RAW message or body]

jeremias    2005/02/23 14:04:01

  Modified:    src/java/org/apache/fop/fo FObj.java FONode.java
               src/java/org/apache/fop/fo/flow TableBody.java
  Log:
  An empty table-body is illegal but we'll allow it to make things easier for \
stylesheet writers.  Empty table-body elements are removed from their parent so they \
can't cause any nasty effects in the LMs.  
  Revision  Changes    Path
  1.92      +7 -0      xml-fop/src/java/org/apache/fop/fo/FObj.java
  
  Index: FObj.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/FObj.java,v
  retrieving revision 1.91
  retrieving revision 1.92
  diff -u -r1.91 -r1.92
  --- FObj.java	3 Feb 2005 08:18:27 -0000	1.91
  +++ FObj.java	23 Feb 2005 22:04:01 -0000	1.92
  @@ -170,6 +170,13 @@
           }
       }
   
  +    /** @see org.apache.fop.fo.FONode#removeChild(org.apache.fop.fo.FONode) */
  +    public void removeChild(FONode child) {
  +        if (childNodes != null) {
  +            childNodes.remove(child);
  +        }
  +    }
  +    
       /**
        * Find the nearest parent, grandparent, etc. FONode that is also an FObj
        * @return FObj the nearest ancestor FONode that is an FObj
  
  
  
  1.54      +10 -0     xml-fop/src/java/org/apache/fop/fo/FONode.java
  
  Index: FONode.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/FONode.java,v
  retrieving revision 1.53
  retrieving revision 1.54
  diff -u -r1.53 -r1.54
  --- FONode.java	1 Feb 2005 21:21:28 -0000	1.53
  +++ FONode.java	23 Feb 2005 22:04:01 -0000	1.54
  @@ -198,6 +198,15 @@
       }
   
       /**
  +     * Removes a child node. Used by the child nodes to remove themselves, for
  +     * example table-body if it has no children.
  +     * @param child child node to be removed
  +     */
  +    public void removeChild(FONode child) {
  +        //nop
  +    }
  +
  +    /**
        * @return the parent node of this node
        */
       public FONode getParent() {
  @@ -410,5 +419,6 @@
       public int getNameId() {
           return Constants.FO_UNKNOWN_NODE;
       }
  +
   }
   
  
  
  
  1.38      +8 -1      xml-fop/src/java/org/apache/fop/fo/flow/TableBody.java
  
  Index: TableBody.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/TableBody.java,v
  retrieving revision 1.37
  retrieving revision 1.38
  diff -u -r1.37 -r1.38
  --- TableBody.java	21 Feb 2005 21:52:14 -0000	1.37
  +++ TableBody.java	23 Feb 2005 22:04:01 -0000	1.38
  @@ -88,6 +88,11 @@
        */
       protected void endOfNode() throws FOPException {
           getFOEventHandler().endBody(this);
  +        if (childNodes == null || childNodes.size() == 0) {
  +            getLogger().error("fo:table-body must not be empty. "
  +                    + "Expected: (table-row+|table-cell+)");
  +            getParent().removeChild(this);
  +        }
           convertCellsToRows();
       }
   
  @@ -98,7 +103,9 @@
        */
       private void convertCellsToRows() throws FOPException {
           try {
  -            if (childNodes.size() == 0 || childNodes.get(0) instanceof TableRow) {
  +            if (childNodes == null 
  +                    || childNodes.size() == 0 
  +                    || childNodes.get(0) instanceof TableRow) {
                   return;
               }
               //getLogger().debug("Converting cells to rows...");
  
  
  

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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic