]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
PR:
authorGlen Mazza <gmazza@apache.org>
Mon, 6 Sep 2004 21:23:23 +0000 (21:23 +0000)
committerGlen Mazza <gmazza@apache.org>
Mon, 6 Sep 2004 21:23:23 +0000 (21:23 +0000)
Obtained from:
Submitted by:
Reviewed by:
validateChildNode() for fo:table-row added.

git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@197915 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/fop/fo/flow/MultiSwitch.java
src/java/org/apache/fop/fo/flow/TableRow.java

index fffd00e8b7e514eaaf4639606e5463763b357599..8fd28151989fe3eac246e231d7eae10668072ed4 100644 (file)
@@ -59,8 +59,7 @@ public class MultiSwitch extends FObj {
     }
 
     /**
-     * Make sure content model satisfied, if so then tell the
-     * FOEventHandler that we are at the end of the flow.
+     * Make sure content model satisfied.
      * @see org.apache.fop.fo.FONode#end
      */
     protected void endOfNode() throws SAXParseException {
index 680cb0b65418c8c545962ed91969054766db2242..ec3057cb24f354cba006da5ff07eb448af511566 100644 (file)
@@ -23,6 +23,7 @@ import java.util.List;
 
 // XML
 import org.xml.sax.Attributes;
+import org.xml.sax.Locator;
 import org.xml.sax.SAXParseException;
 
 // FOP
@@ -37,7 +38,6 @@ import org.apache.fop.fo.properties.Property;
 
 /**
  * Class modelling the fo:table-row object.
- * @todo implement validateChildNode()
  */
 public class TableRow extends FObj {
 
@@ -67,8 +67,24 @@ public class TableRow extends FObj {
         getFOEventHandler().startRow(this);
     }
 
+    /**
+     * @see org.apache.fop.fo.FONode#validateChildNode(Locator, String, String)
+     * XSL Content Model: (table-cell+)
+     */
+    protected void validateChildNode(Locator loc, String nsURI, String localName) 
+        throws SAXParseException {
+        if (!(nsURI == FO_URI && localName.equals("table-cell"))) {
+            invalidChildError(loc, nsURI, localName);
+        }
+    }
 
+    /**
+     * @see org.apache.fop.fo.FONode#end
+     */
     protected void endOfNode() throws SAXParseException {
+        if (childNodes == null) {
+            missingChildElementError("(table-cell+)");
+        }
         getFOEventHandler().endRow(this);
     }
 
@@ -79,6 +95,9 @@ public class TableRow extends FObj {
         return keepWithPrevious;
     }
 
+    /**
+     * @todo see if should remove, or move code to addProperties()
+     */
     private void doSetup() {
         this.breakAfter = getPropEnum(PR_BREAK_AFTER);
         this.backgroundColor =