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 gm...@apache.org on 2004/06/17 01:40:58 UTC

cvs commit: xml-fop/src/java/org/apache/fop/fo/pagination ColorProfile.java Declarations.java Flow.java LayoutMasterSet.java PageSequence.java RegionBA.java RegionBASE.java Root.java

gmazza      2004/06/16 16:40:58

  Modified:    src/java/org/apache/fop/fo FONode.java FOTreeBuilder.java
                        FObj.java PropertyList.java XMLObj.java
               src/java/org/apache/fop/fo/expr PPColWidthFunction.java
               src/java/org/apache/fop/fo/extensions Bookmarks.java
               src/java/org/apache/fop/fo/flow BasicLink.java Block.java
                        Footnote.java FootnoteBody.java Inline.java
                        TableBody.java TableCell.java
               src/java/org/apache/fop/fo/pagination ColorProfile.java
                        Declarations.java Flow.java LayoutMasterSet.java
                        PageSequence.java RegionBA.java RegionBASE.java
                        Root.java
  Log:
  1.  Valid node checking for LayoutMasterSet done.
  2.  Additional error message provided for missing required child elements of a node.
  3.  Removal of elementName from property list; redundant (retrievable via getFObj.getName()).  Adding getName() to FObj so the element so fObj.getName() works.
  (Vielen Dank, Simon!)
  4.  Moving locator information from FObj to FONode so non-XSL NS elements will also have this information.
  
  Revision  Changes    Path
  1.24      +50 -1     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.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- FONode.java	16 Jun 2004 00:27:26 -0000	1.23
  +++ FONode.java	16 Jun 2004 23:40:58 -0000	1.24
  @@ -46,6 +46,15 @@
       /** Name of the node */
       protected String name;
   
  +    /** Marks input file containing this object **/
  +    public String systemId;
  +
  +    /** Marks line number of this object in the input file **/
  +    public int line;
  +
  +    /** Marks column number of this object in the input file **/
  +    public int column;
  +
       /**
        * Main constructor.
        * @param parent parent of this node
  @@ -55,6 +64,18 @@
       }
   
       /**
  +     * Set the location information for this element
  +     * @param locator the org.xml.sax.Locator object
  +     */
  +    public void setLocation(Locator locator) {
  +        if (locator != null) {
  +            line = locator.getLineNumber();
  +            column = locator.getColumnNumber();
  +            systemId = locator.getSystemId();
  +        }
  +    }
  +
  +    /**
        * Returns the user agent for the node.
        * @return FOUserAgent
        */
  @@ -80,6 +101,7 @@
        * @throws FOPException for errors or inconsistencies in the attributes
       */
       public void processNode(String elementName, Locator locator, Attributes attlist) throws FOPException {
  +        System.out.println("name = " + elementName);
           this.name = elementName;
       }
   
  @@ -223,6 +245,7 @@
       /**
        * Helper function to standardize "too many" error exceptions
        * (e.g., two fo:declarations within fo:root)
  +     * @param loc org.xml.sax.Locator object of the error (*not* parent node)
        * @param offendingNode incoming node that would cause a duplication.
        */
       protected void tooManyNodesError(Locator loc, String offendingNode) {
  @@ -234,6 +257,7 @@
       /**
        * Helper function to standardize "out of order" exceptions
        * (e.g., fo:layout-master-set appearing after fo:page-sequence)
  +     * @param loc org.xml.sax.Locator object of the error (*not* parent node)
        * @param tooLateNode string name of node that should be earlier in document
        * @param tooEarlyNode string name of node that should be later in document
        */
  @@ -247,22 +271,47 @@
       /**
        * Helper function to return "invalid child" exceptions
        * (e.g., fo:block appearing immediately under fo:root)
  +     * @param loc org.xml.sax.Locator object of the error (*not* parent node)
        * @param nsURI namespace URI of incoming invalid node
        * @param lName local name (i.e., no prefix) of incoming node 
        */
       protected void invalidChildError(Locator loc, String nsURI, String lName) {
           throw new IllegalArgumentException(
               errorText(loc) + getNodeString(nsURI, lName) + 
  -            " is not valid child element of " + getName() + ".");
  +            " is not a valid child element of " + getName() + ".");
       }
       
       /**
  +     * Helper function to return missing child element errors
  +     * (e.g., fo:layout-master-set not having any page-master child element)
  +     * @param contentModel The XSL Content Model for the fo: object.
  +     * or a similar description indicating child elements needed.
  +     */
  +    protected void missingChildElementError(String contentModel) {
  +        throw new IllegalArgumentException(
  +            errorText(line, column) + getName() + " is missing child elements. \n" + 
  +            "Required Content Model: " + contentModel);
  +    }
  +
  +    /**
        * Helper function to return "Error (line#/column#)" string for
        * above exception messages
        * @param loc org.xml.sax.Locator object
  +     * @return String opening error text
        */
       protected static String errorText(Locator loc) {
           return "Error(" + loc.getLineNumber() + "/" + loc.getColumnNumber() + "): ";
  +    }
  +    
  +    /**
  +     * Helper function to return "Error (line#/column#)" string for
  +     * above exception messages
  +     * @param lineNumber - line number of node with error
  +     * @param columnNumber - column number of node with error
  +     * @return String opening error text
  +     */
  +    protected static String errorText(int lineNumber, int columnNumber) {
  +        return "Error(" + lineNumber + "/" + columnNumber + "): ";
       }
   }
   
  
  
  
  1.33      +6 -1      xml-fop/src/java/org/apache/fop/fo/FOTreeBuilder.java
  
  Index: FOTreeBuilder.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/FOTreeBuilder.java,v
  retrieving revision 1.32
  retrieving revision 1.33
  diff -u -r1.32 -r1.33
  --- FOTreeBuilder.java	16 Jun 2004 00:27:26 -0000	1.32
  +++ FOTreeBuilder.java	16 Jun 2004 23:40:58 -0000	1.33
  @@ -268,7 +268,12 @@
        */
       public void endElement(String uri, String localName, String rawName)
                   throws SAXException {
  -        currentFObj.end();
  +        try {
  +            currentFObj.end();
  +        } catch (IllegalArgumentException e) {
  +            throw new SAXException(e);
  +        }
  +
           currentFObj = currentFObj.getParent();
       }
   
  
  
  
  1.46      +6 -22     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.45
  retrieving revision 1.46
  diff -u -r1.45 -r1.46
  --- FObj.java	16 Jun 2004 00:27:26 -0000	1.45
  +++ FObj.java	16 Jun 2004 23:40:58 -0000	1.46
  @@ -56,15 +56,6 @@
       /** Dynamic layout dimension. Used to resolve relative lengths. */
       protected Map layoutDimension = null;
   
  -    /** Marks input file containing this object **/
  -    public String systemId;
  -
  -    /** Marks line number of this object in the input file **/
  -    public int line;
  -
  -    /** Marks column number of this object in the input file **/
  -    public int column;
  -
       /**
        * Create a new formatting object.
        * All formatting object classes extend this class.
  @@ -103,18 +94,6 @@
       }
   
       /**
  -     * Set the location information for this element
  -     * @param locator the org.xml.sax.Locator object
  -     */
  -    public void setLocation(Locator locator) {
  -        if (locator != null) {
  -            line = locator.getLineNumber();
  -            column = locator.getColumnNumber();
  -            systemId = locator.getSystemId();
  -        }
  -    }
  -
  -    /**
        * Set properties for this FO based on node attributes
        * @param attlist Collection of attributes passed to us from the parser.
        */
  @@ -126,7 +105,7 @@
               parentPL = parentFO.getPropertiesForNamespace(FOElementMapping.URI);
           }
   
  -        propertyList = new PropertyList(this, parentPL, FOElementMapping.URI, name);
  +        propertyList = new PropertyList(this, parentPL, FOElementMapping.URI);
           propertyList.addAttributesToList(attlist);
           propMgr = new PropertyManager(propertyList);
           setWritingMode();
  @@ -457,5 +436,10 @@
           return getName() + " at line " + line + ":" + column;
       }
   */    
  +
  +    public String getName() {
  +        return null;
  +    }
  +
   }
   
  
  
  
  1.33      +1 -11     xml-fop/src/java/org/apache/fop/fo/PropertyList.java
  
  Index: PropertyList.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/PropertyList.java,v
  retrieving revision 1.32
  retrieving revision 1.33
  diff -u -r1.32 -r1.33
  --- PropertyList.java	22 May 2004 21:44:37 -0000	1.32
  +++ PropertyList.java	16 Jun 2004 23:40:58 -0000	1.33
  @@ -95,7 +95,6 @@
   
       private PropertyList parentPropertyList = null;
       private String namespace = "";
  -    private String elementName = "";
       private FObj fobj = null;
   
       /**
  @@ -103,14 +102,12 @@
        * @param parentPropertyList the PropertyList belonging to the new objects
        * parent
        * @param space name of namespace
  -     * @param elementName name of element
        */
       public PropertyList(FObj fObjToAttach, PropertyList parentPropertyList,
  -        String space, String elementName) {
  +        String space) {
           this.fobj = fObjToAttach;
           this.parentPropertyList = parentPropertyList;
           this.namespace = space;
  -        this.elementName = elementName;
       }
   
       /**
  @@ -143,13 +140,6 @@
        */
       public String getNameSpace() {
           return namespace;
  -    }
  -
  -    /**
  -     * @return element name for this
  -     */
  -    public String getElement() {
  -        return elementName;
       }
   
       /**
  
  
  
  1.10      +1 -0      xml-fop/src/java/org/apache/fop/fo/XMLObj.java
  
  Index: XMLObj.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/XMLObj.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- XMLObj.java	22 May 2004 03:59:51 -0000	1.9
  +++ XMLObj.java	16 Jun 2004 23:40:58 -0000	1.10
  @@ -58,6 +58,7 @@
        * @see org.apache.fop.fo.FONode#processNode
        */
       public void processNode(String elementName, Locator locator, Attributes attlist) throws FOPException {
  +        setLocation(locator);
           name = elementName;
           attr = attlist;
       }
  
  
  
  1.8       +1 -1      xml-fop/src/java/org/apache/fop/fo/expr/PPColWidthFunction.java
  
  Index: PPColWidthFunction.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/expr/PPColWidthFunction.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- PPColWidthFunction.java	27 Feb 2004 17:42:54 -0000	1.7
  +++ PPColWidthFunction.java	16 Jun 2004 23:40:58 -0000	1.8
  @@ -52,7 +52,7 @@
               throw new PropertyException("Non numeric operand to "
                       + "proportional-column-width function");
           }
  -        if (!pInfo.getPropertyList().getElement().equals("fo:table-column")) {
  +        if (!pInfo.getPropertyList().getFObj().getName().equals("fo:table-column")) {
               throw new PropertyException("proportional-column-width function "
                       + "may only be used on table-column FO");
           }
  
  
  
  1.6       +6 -4      xml-fop/src/java/org/apache/fop/fo/extensions/Bookmarks.java
  
  Index: Bookmarks.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/extensions/Bookmarks.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- Bookmarks.java	15 Jun 2004 00:30:43 -0000	1.5
  +++ Bookmarks.java	16 Jun 2004 23:40:58 -0000	1.6
  @@ -18,12 +18,14 @@
   
   package org.apache.fop.fo.extensions;
   
  +// Java
  +import java.util.ArrayList;
  +
  +// FOP
   import org.apache.fop.fo.FONode;
   import org.apache.fop.fo.FOTreeVisitor;
   import org.apache.fop.fo.pagination.Root;
   
  -import java.util.ArrayList;
  -
   /**
    * Bookmarks data is the top level element of the pdf bookmark extension.
    * This handles the adding of outlines. When the element is ended it
  @@ -58,7 +60,7 @@
        * the bookmark data from the child elements and add
        * the extension to the area tree.
        */
  -    public void end() {
  +    protected void end() {
           ((Root) parent).setBookmarks(this);
       }
   
  
  
  
  1.15      +1 -1      xml-fop/src/java/org/apache/fop/fo/flow/BasicLink.java
  
  Index: BasicLink.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/BasicLink.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- BasicLink.java	16 Jun 2004 00:27:26 -0000	1.14
  +++ BasicLink.java	16 Jun 2004 23:40:58 -0000	1.15
  @@ -140,7 +140,7 @@
       /**
        * @see org.apache.fop.fo.FONode#end
        */
  -    public void end() {
  +    protected void end() {
           super.end();
           getFOInputHandler().endLink();
       }
  
  
  
  1.20      +2 -1      xml-fop/src/java/org/apache/fop/fo/flow/Block.java
  
  Index: Block.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Block.java,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- Block.java	16 Jun 2004 00:27:26 -0000	1.19
  +++ Block.java	16 Jun 2004 23:40:58 -0000	1.20
  @@ -20,6 +20,7 @@
   
   // XML
   import org.xml.sax.Attributes;
  +import org.xml.sax.SAXException;
   
   // FOP
   import org.apache.fop.apps.FOPException;
  @@ -236,7 +237,7 @@
       /**
        * @see org.apache.fop.fo.FONode#end
        */
  -    public void end() {
  +    protected void end() {
           handleWhiteSpace();
           getFOInputHandler().endBlock(this);
       }
  
  
  
  1.12      +1 -0      xml-fop/src/java/org/apache/fop/fo/flow/Footnote.java
  
  Index: Footnote.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Footnote.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- Footnote.java	16 Jun 2004 00:27:26 -0000	1.11
  +++ Footnote.java	16 Jun 2004 23:40:58 -0000	1.12
  @@ -20,6 +20,7 @@
   
   // XML
   import org.xml.sax.Attributes;
  +import org.xml.sax.SAXException;
   
   // FOP
   import org.apache.fop.apps.FOPException;
  
  
  
  1.11      +1 -0      xml-fop/src/java/org/apache/fop/fo/flow/FootnoteBody.java
  
  Index: FootnoteBody.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/FootnoteBody.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- FootnoteBody.java	16 Jun 2004 00:27:26 -0000	1.10
  +++ FootnoteBody.java	16 Jun 2004 23:40:58 -0000	1.11
  @@ -20,6 +20,7 @@
   
   // XML
   import org.xml.sax.Attributes;
  +import org.xml.sax.SAXException;
   
   // FOP
   import org.apache.fop.apps.FOPException;
  
  
  
  1.15      +2 -2      xml-fop/src/java/org/apache/fop/fo/flow/Inline.java
  
  Index: Inline.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Inline.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- Inline.java	16 Jun 2004 00:27:26 -0000	1.14
  +++ Inline.java	16 Jun 2004 23:40:58 -0000	1.15
  @@ -22,6 +22,7 @@
   import org.xml.sax.Attributes;
   
   // FOP
  +import org.apache.fop.apps.FOPException;
   import org.apache.fop.fo.CharIterator;
   import org.apache.fop.fo.FONode;
   import org.apache.fop.fo.FObjMixed;
  @@ -33,7 +34,6 @@
   import org.apache.fop.fo.properties.CommonBorderAndPadding;
   import org.apache.fop.fo.properties.CommonMarginInline;
   import org.apache.fop.fo.properties.CommonRelativePosition;
  -import org.apache.fop.apps.FOPException;
   
   /**
    * Class modelling the fo:inline object. See Sec. 6.6.7 of the XSL-FO Standard.
  @@ -138,7 +138,7 @@
       /**
        * @see org.apache.fop.fo.FONode#end
        */
  -    public void end() {
  +    protected void end() {
           getFOInputHandler().endInline(this);
       }
   
  
  
  
  1.15      +1 -0      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.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- TableBody.java	16 Jun 2004 00:27:26 -0000	1.14
  +++ TableBody.java	16 Jun 2004 23:40:58 -0000	1.15
  @@ -20,6 +20,7 @@
   
   // XML
   import org.xml.sax.Attributes;
  +import org.xml.sax.SAXException;
   
   // FOP
   import org.apache.fop.apps.FOPException;
  
  
  
  1.17      +1 -0      xml-fop/src/java/org/apache/fop/fo/flow/TableCell.java
  
  Index: TableCell.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/TableCell.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- TableCell.java	16 Jun 2004 00:27:26 -0000	1.16
  +++ TableCell.java	16 Jun 2004 23:40:58 -0000	1.17
  @@ -20,6 +20,7 @@
   
   // XML
   import org.xml.sax.Attributes;
  +import org.xml.sax.SAXException;
   
   // FOP
   import org.apache.fop.apps.FOPException;
  
  
  
  1.10      +6 -3      xml-fop/src/java/org/apache/fop/fo/pagination/ColorProfile.java
  
  Index: ColorProfile.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/ColorProfile.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- ColorProfile.java	16 Jun 2004 00:27:26 -0000	1.9
  +++ ColorProfile.java	16 Jun 2004 23:40:58 -0000	1.10
  @@ -24,7 +24,10 @@
   import java.net.URL;
   import java.io.IOException;
   import java.io.InputStream;
  +
  +// XML
   import org.xml.sax.Locator;
  +import org.xml.sax.SAXException;
   
   // FOP
   import org.apache.fop.datatypes.ColorType;
  @@ -50,7 +53,7 @@
       }
   
       /**
  -     * @see org.apache.fop.fo.FONode#validateChildNode(String, String)
  +     * @see org.apache.fop.fo.FONode#validateChildNode(Locator, String, String)
           XSL 1.0/FOP: EMPTY (no child nodes permitted)
        */
       protected void validateChildNode(Locator loc, String nsURI, String localName) {
  @@ -62,7 +65,7 @@
        * Extract instance variables from the collection of properties for this
        * object.
        */
  -    public void end() {
  +    protected void end() {
           src = this.propertyList.get(PR_SRC).getString();
           profileName = this.propertyList.get(PR_COLOR_PROFILE_NAME).getString();
           intent = this.propertyList.get(PR_RENDERING_INTENT).getEnum();
  
  
  
  1.10      +7 -4      xml-fop/src/java/org/apache/fop/fo/pagination/Declarations.java
  
  Index: Declarations.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/Declarations.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- Declarations.java	16 Jun 2004 00:27:26 -0000	1.9
  +++ Declarations.java	16 Jun 2004 23:40:58 -0000	1.10
  @@ -23,13 +23,16 @@
   import java.util.Map;
   import java.util.Iterator;
   
  +// XML
  +import org.xml.sax.Attributes;
  +import org.xml.sax.Locator;
  +
   // FOP
   import org.apache.fop.fo.FOElementMapping;
   import org.apache.fop.fo.FONode;
   import org.apache.fop.fo.FObj;
   import org.apache.fop.fo.FOTreeVisitor;
   import org.apache.fop.fo.XMLObj;
  -import org.xml.sax.Locator;
   
   
   /**
  @@ -53,7 +56,7 @@
       }
   
       /**
  -     * @see org.apache.fop.fo.FONode#validateChildNode(String, String)
  +     * @see org.apache.fop.fo.FONode#validateChildNode(Locator, String, String)
           XSL 1.0: (color-profile)+ (and non-XSL NS nodes)
           FOP/XSL 1.1: (color-profile)* (and non-XSL NS nodes)
        */
  @@ -69,7 +72,7 @@
        * At the end of this element sort out the child into
        * a hashmap of color profiles and a list of external xml.
        */
  -    public void end() {
  +    protected void end() {
           if (children != null) {
               for (Iterator iter = children.iterator(); iter.hasNext();) {
                   FONode node = (FONode)iter.next();
  
  
  
  1.13      +2 -2      xml-fop/src/java/org/apache/fop/fo/pagination/Flow.java
  
  Index: Flow.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/Flow.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- Flow.java	16 Jun 2004 00:27:26 -0000	1.12
  +++ Flow.java	16 Jun 2004 23:40:58 -0000	1.13
  @@ -98,7 +98,7 @@
       /**
        * Tell the StructureRenderer that we are at the end of the flow.
        */
  -    public void end() {
  +    protected void end() {
           getFOInputHandler().endFlow(this);
       }
   
  
  
  
  1.10      +23 -0     xml-fop/src/java/org/apache/fop/fo/pagination/LayoutMasterSet.java
  
  Index: LayoutMasterSet.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/LayoutMasterSet.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- LayoutMasterSet.java	12 Jun 2004 23:18:52 -0000	1.9
  +++ LayoutMasterSet.java	16 Jun 2004 23:40:58 -0000	1.10
  @@ -28,8 +28,10 @@
   // FOP
   import org.apache.fop.fo.FONode;
   import org.apache.fop.fo.FObj;
  +import org.apache.fop.fo.FOElementMapping;
   import org.apache.fop.fo.FOTreeVisitor;
   import org.apache.fop.apps.FOPException;
  +import org.xml.sax.Locator;
   
   /**
    * The layout-master-set formatting object.
  @@ -50,6 +52,27 @@
        */
       public LayoutMasterSet(FONode parent) {
           super(parent);
  +    }
  +
  +    /**
  +     * @see org.apache.fop.fo.FONode#validateChildNode(Locator, String, String)
  +        XSL/FOP: (simple-page-master|page-sequence-master)+
  +     */
  +    protected void validateChildNode(Locator loc, String nsURI, String localName) {
  +        if (nsURI == FOElementMapping.URI) {
  +            if (!localName.equals("simple-page-master") 
  +                && !localName.equals("page-sequence-master")) {   
  +                    invalidChildError(loc, nsURI, localName);
  +            }
  +        } else {
  +            invalidChildError(loc, nsURI, localName);
  +        }
  +    }
  +
  +    protected void end() {
  +        if (children == null) {
  +           missingChildElementError("(simple-page-master|page-sequence-master)+");
  +        }
       }
   
       /**
  
  
  
  1.26      +7 -6      xml-fop/src/java/org/apache/fop/fo/pagination/PageSequence.java
  
  Index: PageSequence.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/PageSequence.java,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- PageSequence.java	16 Jun 2004 00:27:26 -0000	1.25
  +++ PageSequence.java	16 Jun 2004 23:40:58 -0000	1.26
  @@ -18,17 +18,18 @@
   
   package org.apache.fop.fo.pagination;
   
  +// Java
  +import java.util.HashMap;
  +
  +// XML
  +import org.xml.sax.Attributes;
  +
   // FOP
   import org.apache.fop.fo.FONode;
   import org.apache.fop.fo.FObj;
   import org.apache.fop.fo.FOTreeVisitor;
   import org.apache.fop.apps.FOPException;
   
  -// Java
  -import java.util.HashMap;
  -
  -import org.xml.sax.Attributes;
  -
   /**
    * This provides pagination of flows onto pages. Much of the
    * logic for paginating flows is contained in this class.
  @@ -301,7 +302,7 @@
        * This passes the end page sequence to the structure handler
        * so it can act upon that.
        */
  -    public void end() {
  +    protected void end() {
           try {
               getFOInputHandler().endPageSequence(this);
           } catch (FOPException fopex) {
  
  
  
  1.9       +2 -1      xml-fop/src/java/org/apache/fop/fo/pagination/RegionBA.java
  
  Index: RegionBA.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/RegionBA.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- RegionBA.java	9 May 2004 20:45:15 -0000	1.8
  +++ RegionBA.java	16 Jun 2004 23:40:58 -0000	1.9
  @@ -25,6 +25,7 @@
   import org.apache.fop.fo.FONode;
   import org.apache.fop.fo.FOTreeVisitor;
   
  +
   /**
    * Abstract base class for fo:region-before and fo:region-after.
    */
  @@ -49,7 +50,7 @@
       /**
        * @see org.apache.fop.fo.FONode#end()
        */
  -    public void end() {
  +    protected void end() {
           super.end();
           bPrecedence =
               (this.propertyList.get(PR_PRECEDENCE).getEnum() == Precedence.TRUE);
  
  
  
  1.8       +5 -1      xml-fop/src/java/org/apache/fop/fo/pagination/RegionBASE.java
  
  Index: RegionBASE.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/RegionBASE.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- RegionBASE.java	9 May 2004 20:45:15 -0000	1.7
  +++ RegionBASE.java	16 Jun 2004 23:40:58 -0000	1.8
  @@ -18,10 +18,14 @@
   
   package org.apache.fop.fo.pagination;
   
  +// XML
  +import org.xml.sax.SAXException;
  +
   // FOP
   import org.apache.fop.fo.FONode;
   import org.apache.fop.fo.FOTreeVisitor;
   
  +
   /**
    * Base class for Before, After, Start and End regions (BASE).
    */
  @@ -39,7 +43,7 @@
       /**
        * @see org.apache.fop.fo.FONode#end()
        */
  -    public void end() {
  +    protected void end() {
           // The problem with this is that it might not be known yet....
           // Supposing extent is calculated in terms of percentage
           this.extent = this.propertyList.get(PR_EXTENT).getLength().getValue();
  
  
  
  1.17      +1 -1      xml-fop/src/java/org/apache/fop/fo/pagination/Root.java
  
  Index: Root.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/Root.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- Root.java	16 Jun 2004 00:27:26 -0000	1.16
  +++ Root.java	16 Jun 2004 23:40:58 -0000	1.17
  @@ -66,7 +66,7 @@
       }
   
       /**
  -     * @see org.apache.fop.fo.FONode#validateChildNode(String, String)
  +     * @see org.apache.fop.fo.FONode#validateChildNode(Locator, String, String)
           XSL 1.0 Spec: (layout-master-set,declarations?,page-sequence+)
           FOP: (layout-master-set, declarations?, fox:bookmarks?, page-sequence+)
        */
  
  
  

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