gmazza 2004/06/15 17:27:27 Modified: src/java/org/apache/fop/apps Document.java src/java/org/apache/fop/fo FOInputHandler.java FONode.java FOTreeBuilder.java FObj.java FObjMixed.java src/java/org/apache/fop/fo/flow BasicLink.java Block.java ExternalGraphic.java Footnote.java FootnoteBody.java Inline.java Leader.java ListBlock.java ListItem.java ListItemLabel.java PageNumber.java PageNumberCitation.java Table.java TableBody.java TableCell.java TableColumn.java TableRow.java src/java/org/apache/fop/fo/pagination ColorProfile.java Declarations.java Flow.java PageSequence.java Root.java Title.java src/java/org/apache/fop/layoutmgr BlockLayoutManager.java Log: 1.) Check for fo:color-profile made to ensure no child elements during processing. 2.) Error messages for bad fo: files now give locator (line/col. #) information. 3.) Parent of the fo:root (FO Tree) "lowered" from apps.Document to fo.FOInputHandler; IDReferences moved from former to latter. Revision Changes Path 1.21 +1 -23 xml-fop/src/java/org/apache/fop/apps/Document.java Index: Document.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/apps/Document.java,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- Document.java 15 Jun 2004 06:26:55 -0000 1.20 +++ Document.java 16 Jun 2004 00:27:26 -0000 1.21 @@ -18,20 +18,12 @@ package org.apache.fop.apps; -// Java -import java.util.Map; -import java.util.Set; -import java.util.HashSet; - // FOP import org.apache.fop.area.AreaTree; import org.apache.fop.area.AreaTreeModel; - import org.apache.fop.fo.FOInputHandler; import org.apache.fop.fonts.FontInfo; -import org.apache.commons.logging.Log; - // SAX import org.xml.sax.SAXException; @@ -54,12 +46,6 @@ public AreaTreeModel atModel; /** - * The current set of id's in the FO tree. - * This is used so we know if the FO tree contains duplicates. - */ - private Set idReferences = new HashSet(); - - /** * Structure handler used to notify structure * events such as start end element. */ @@ -97,14 +83,6 @@ */ public AreaTree getAreaTree() { return areaTree; - } - - /** - * Retuns the set of ID references. - * @return the ID references - */ - public Set getIDReferences() { - return idReferences; } /** 1.18 +19 -1 xml-fop/src/java/org/apache/fop/fo/FOInputHandler.java Index: FOInputHandler.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/FOInputHandler.java,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- FOInputHandler.java 15 Jun 2004 06:26:55 -0000 1.17 +++ FOInputHandler.java 16 Jun 2004 00:27:26 -0000 1.18 @@ -18,6 +18,10 @@ package org.apache.fop.fo; +// Java +import java.util.HashSet; +import java.util.Set; + // FOP import org.apache.fop.apps.Document; import org.apache.fop.apps.Driver; @@ -69,12 +73,26 @@ protected Log logger = null; /** + * The current set of id's in the FO tree. + * This is used so we know if the FO tree contains duplicates. + */ + private Set idReferences = new HashSet(); + + /** * Main constructor * @param document the apps.Document implementation that is controlling * the FO Tree being built */ public FOInputHandler(Document document) { doc = document; + } + + /** + * Retuns the set of ID references. + * @return the ID references + */ + public Set getIDReferences() { + return idReferences; } /** 1.23 +23 -15 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.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- FONode.java 15 Jun 2004 06:26:55 -0000 1.22 +++ FONode.java 16 Jun 2004 00:27:26 -0000 1.23 @@ -28,7 +28,6 @@ import org.apache.commons.logging.Log; // FOP -import org.apache.fop.apps.Document; import org.apache.fop.apps.FOPException; import org.apache.fop.apps.FOUserAgent; import org.apache.fop.util.CharUtilities; @@ -60,7 +59,7 @@ * @return FOUserAgent */ public FOUserAgent getUserAgent() { - return getDocument().getDriver().getUserAgent(); + return getFOInputHandler().getDriver().getUserAgent(); } /** @@ -68,7 +67,7 @@ * @return the logger */ public Log getLogger() { - return getDocument().getDriver().getLogger(); + return getFOInputHandler().getDriver().getLogger(); } /** @@ -101,7 +100,7 @@ * @param localName (e.g. "table" for "fo:table") * @throws IllegalArgumentException if incoming node not valid for parent */ - protected void validateChildNode(String namespaceURI, String localName) {} + protected void validateChildNode(Locator loc, String namespaceURI, String localName) {} /** * Adds characters (does nothing here) @@ -180,12 +179,12 @@ } /** - * Recursively goes up the FOTree hierarchy until the FONode is found, - * which returns the parent Document. - * @return the Document object that is the parent of this node. + * Recursively goes up the FOTree hierarchy until the fo:root is found, + * which returns the parent FOInputHandler. + * @return the FOInputHandler object that is the parent of the FO Tree */ - public Document getDocument() { - return parent.getDocument(); + public FOInputHandler getFOInputHandler() { + return parent.getFOInputHandler(); } /** @@ -226,9 +225,9 @@ * (e.g., two fo:declarations within fo:root) * @param offendingNode incoming node that would cause a duplication. */ - protected void tooManyNodesError(String offendingNode) { + protected void tooManyNodesError(Locator loc, String offendingNode) { throw new IllegalArgumentException( - "Error: for " + getName() + ", only one " + errorText(loc) + getName() + ", only one " + offendingNode + " may be declared."); } @@ -238,9 +237,10 @@ * @param tooLateNode string name of node that should be earlier in document * @param tooEarlyNode string name of node that should be later in document */ - protected void nodesOutOfOrderError(String tooLateNode, String tooEarlyNode) { + protected void nodesOutOfOrderError(Locator loc, String tooLateNode, + String tooEarlyNode) { throw new IllegalArgumentException( - "Error: for " + getName() + ", " + tooLateNode + errorText(loc) + getName() + ", " + tooLateNode + " must be declared before " + tooEarlyNode + "."); } @@ -250,11 +250,19 @@ * @param nsURI namespace URI of incoming invalid node * @param lName local name (i.e., no prefix) of incoming node */ - protected void invalidChildError(String nsURI, String lName) { + protected void invalidChildError(Locator loc, String nsURI, String lName) { throw new IllegalArgumentException( - "Error: " + getNodeString(nsURI, lName) + + errorText(loc) + getNodeString(nsURI, lName) + " is not valid child element of " + getName() + "."); } + /** + * Helper function to return "Error (line#/column#)" string for + * above exception messages + * @param loc org.xml.sax.Locator object + */ + protected static String errorText(Locator loc) { + return "Error(" + loc.getLineNumber() + "/" + loc.getColumnNumber() + "): "; + } } 1.32 +2 -2 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.31 retrieving revision 1.32 diff -u -r1.31 -r1.32 --- FOTreeBuilder.java 15 Jun 2004 06:26:55 -0000 1.31 +++ FOTreeBuilder.java 16 Jun 2004 00:27:26 -0000 1.32 @@ -234,7 +234,7 @@ } } else { // check that incoming node is valid for currentFObj try { - currentFObj.validateChildNode(namespaceURI, localName); + currentFObj.validateChildNode(locator, namespaceURI, localName); } catch (IllegalArgumentException e) { throw new SAXException(e); } @@ -254,7 +254,7 @@ if (rootFObj == null) { rootFObj = (Root) foNode; - rootFObj.setDocument(document); + rootFObj.setFOInputHandler(document.getFOInputHandler()); } else { currentFObj.addChild(foNode); } 1.45 +1 -1 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.44 retrieving revision 1.45 diff -u -r1.44 -r1.45 --- FObj.java 15 Jun 2004 06:26:55 -0000 1.44 +++ FObj.java 16 Jun 2004 00:27:26 -0000 1.45 @@ -298,7 +298,7 @@ if (prop != null) { String str = prop.getString(); if (str != null && !str.equals("")) { - Set idrefs = getDocument().getIDReferences(); + Set idrefs = getFOInputHandler().getIDReferences(); if (!idrefs.contains(str)) { id = str; idrefs.add(id); 1.25 +3 -3 xml-fop/src/java/org/apache/fop/fo/FObjMixed.java Index: FObjMixed.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/FObjMixed.java,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- FObjMixed.java 15 Jun 2004 06:26:55 -0000 1.24 +++ FObjMixed.java 16 Jun 2004 00:27:26 -0000 1.25 @@ -46,8 +46,8 @@ if (textInfo == null) { // Really only need one of these, but need to get fontInfo // stored in propMgr for later use. - propMgr.setFontInfo(getDocument()); - textInfo = propMgr.getTextLayoutProps(getDocument()); + propMgr.setFontInfo(getFOInputHandler().getDocument()); + textInfo = propMgr.getTextLayoutProps(getFOInputHandler().getDocument()); } FOText ft = new FOText(data, start, length, textInfo, this); @@ -55,7 +55,7 @@ ft.setName("text"); /* characters() processing empty for FOTreeHandler, not empty for RTF & MIFHandlers */ - getDocument().getFOInputHandler().characters(ft.ca, ft.startIndex, ft.endIndex); + getFOInputHandler().characters(ft.ca, ft.startIndex, ft.endIndex); addChild(ft); } 1.14 +2 -3 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.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- BasicLink.java 15 Jun 2004 06:26:55 -0000 1.13 +++ BasicLink.java 16 Jun 2004 00:27:26 -0000 1.14 @@ -54,7 +54,7 @@ */ protected void addProperties(Attributes attlist) throws FOPException { super.addProperties(attlist); - getDocument().getFOInputHandler().startLink(this); + getFOInputHandler().startLink(this); } public void setup() { @@ -142,8 +142,7 @@ */ public void end() { super.end(); - - getDocument().getFOInputHandler().endLink(); + getFOInputHandler().endLink(); } public String getName() { 1.19 +2 -2 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.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- Block.java 15 Jun 2004 06:26:55 -0000 1.18 +++ Block.java 16 Jun 2004 00:27:26 -0000 1.19 @@ -111,7 +111,7 @@ setupID(); - getDocument().getFOInputHandler().startBlock(this); + getFOInputHandler().startBlock(this); } private void setup() { @@ -238,7 +238,7 @@ */ public void end() { handleWhiteSpace(); - getDocument().getFOInputHandler().endBlock(this); + getFOInputHandler().endBlock(this); } private void handleWhiteSpace() { 1.27 +1 -1 xml-fop/src/java/org/apache/fop/fo/flow/ExternalGraphic.java Index: ExternalGraphic.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/ExternalGraphic.java,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- ExternalGraphic.java 15 Jun 2004 06:26:55 -0000 1.26 +++ ExternalGraphic.java 16 Jun 2004 00:27:26 -0000 1.27 @@ -63,7 +63,7 @@ */ protected void addProperties(Attributes attlist) throws FOPException { super.addProperties(attlist); - getDocument().getFOInputHandler().image(this); + getFOInputHandler().image(this); } /** 1.11 +2 -2 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.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- Footnote.java 15 Jun 2004 06:26:55 -0000 1.10 +++ Footnote.java 16 Jun 2004 00:27:26 -0000 1.11 @@ -48,7 +48,7 @@ */ protected void addProperties(Attributes attlist) throws FOPException { super.addProperties(attlist); - getDocument().getFOInputHandler().startFootnote(this); + getFOInputHandler().startFootnote(this); } /** @@ -79,7 +79,7 @@ protected void end() { super.end(); - getDocument().getFOInputHandler().endFootnote(this); + getFOInputHandler().endFootnote(this); } public String getName() { 1.10 +2 -3 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.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- FootnoteBody.java 15 Jun 2004 06:26:55 -0000 1.9 +++ FootnoteBody.java 16 Jun 2004 00:27:26 -0000 1.10 @@ -52,7 +52,7 @@ */ protected void addProperties(Attributes attlist) throws FOPException { super.addProperties(attlist); - getDocument().getFOInputHandler().startFootnoteBody(this); + getFOInputHandler().startFootnoteBody(this); } public void acceptVisitor(FOTreeVisitor fotv) { @@ -61,8 +61,7 @@ protected void end() { super.end(); - - getDocument().getFOInputHandler().endFootnoteBody(this); + getFOInputHandler().endFootnoteBody(this); } public String getName() { 1.14 +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.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- Inline.java 15 Jun 2004 06:26:55 -0000 1.13 +++ Inline.java 16 Jun 2004 00:27:26 -0000 1.14 @@ -114,7 +114,7 @@ this.lineThrough = true; } - getDocument().getFOInputHandler().startInline(this); + getFOInputHandler().startInline(this); } /** @@ -139,7 +139,7 @@ * @see org.apache.fop.fo.FONode#end */ public void end() { - getDocument().getFOInputHandler().endInline(this); + getFOInputHandler().endInline(this); } public String getName() { 1.26 +1 -1 xml-fop/src/java/org/apache/fop/fo/flow/Leader.java Index: Leader.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Leader.java,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- Leader.java 15 Jun 2004 06:26:55 -0000 1.25 +++ Leader.java 16 Jun 2004 00:27:26 -0000 1.26 @@ -66,7 +66,7 @@ CommonBackground bProps = propMgr.getBackgroundProps(); // Common Font Properties - this.fontState = propMgr.getFontState(getDocument()); + this.fontState = propMgr.getFontState(getFOInputHandler().getDocument()); // Common Margin Properties-Inline CommonMarginInline mProps = propMgr.getMarginInlineProps(); 1.14 +2 -3 xml-fop/src/java/org/apache/fop/fo/flow/ListBlock.java Index: ListBlock.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/ListBlock.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- ListBlock.java 15 Jun 2004 06:26:55 -0000 1.13 +++ ListBlock.java 16 Jun 2004 00:27:26 -0000 1.14 @@ -64,7 +64,7 @@ */ protected void addProperties(Attributes attlist) throws FOPException { super.addProperties(attlist); - getDocument().getFOInputHandler().startList(this); + getFOInputHandler().startList(this); } private void setup() throws FOPException { @@ -138,8 +138,7 @@ protected void end() { super.end(); - - getDocument().getFOInputHandler().endList(this); + getFOInputHandler().endList(this); } public String getName() { 1.15 +2 -2 xml-fop/src/java/org/apache/fop/fo/flow/ListItem.java Index: ListItem.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/ListItem.java,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- ListItem.java 15 Jun 2004 06:26:55 -0000 1.14 +++ ListItem.java 16 Jun 2004 00:27:26 -0000 1.15 @@ -64,7 +64,7 @@ */ protected void addProperties(Attributes attlist) throws FOPException { super.addProperties(attlist); - getDocument().getFOInputHandler().startListItem(this); + getFOInputHandler().startListItem(this); } private void setup() { @@ -148,7 +148,7 @@ protected void end() { super.end(); - getDocument().getFOInputHandler().endListItem(this); + getFOInputHandler().endListItem(this); } public String getName() { 1.16 +2 -3 xml-fop/src/java/org/apache/fop/fo/flow/ListItemLabel.java Index: ListItemLabel.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/ListItemLabel.java,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- ListItemLabel.java 15 Jun 2004 06:26:55 -0000 1.15 +++ ListItemLabel.java 16 Jun 2004 00:27:26 -0000 1.16 @@ -46,7 +46,7 @@ */ protected void addProperties(Attributes attlist) throws FOPException { super.addProperties(attlist); - getDocument().getFOInputHandler().startListLabel(); + getFOInputHandler().startListLabel(); } private void setup() { @@ -85,8 +85,7 @@ protected void end() { super.end(); - - getDocument().getFOInputHandler().endListLabel(); + getFOInputHandler().endListLabel(); } public String getName() { 1.23 +3 -3 xml-fop/src/java/org/apache/fop/fo/flow/PageNumber.java Index: PageNumber.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/PageNumber.java,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- PageNumber.java 15 Jun 2004 06:26:55 -0000 1.22 +++ PageNumber.java 16 Jun 2004 00:27:26 -0000 1.23 @@ -61,7 +61,7 @@ protected void addProperties(Attributes attlist) throws FOPException { super.addProperties(attlist); setup(); - getDocument().getFOInputHandler().startPageNumber(this); + getFOInputHandler().startPageNumber(this); } public void setup() { @@ -77,7 +77,7 @@ CommonBackground bProps = propMgr.getBackgroundProps(); // Common Font Properties - this.fontState = propMgr.getFontState(getDocument()); + this.fontState = propMgr.getFontState(getFOInputHandler().getDocument()); // Common Margin Properties-Inline CommonMarginInline mProps = propMgr.getMarginInlineProps(); @@ -129,7 +129,7 @@ } protected void end() { - getDocument().getFOInputHandler().endPageNumber(this); + getFOInputHandler().endPageNumber(this); } public String getName() { 1.23 +1 -1 xml-fop/src/java/org/apache/fop/fo/flow/PageNumberCitation.java Index: PageNumberCitation.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/PageNumberCitation.java,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- PageNumberCitation.java 15 Jun 2004 06:26:55 -0000 1.22 +++ PageNumberCitation.java 16 Jun 2004 00:27:26 -0000 1.23 @@ -82,7 +82,7 @@ CommonBackground bProps = propMgr.getBackgroundProps(); // Common Font Properties - this.fontState = propMgr.getFontState(getDocument()); + this.fontState = propMgr.getFontState(getFOInputHandler().getDocument()); // Common Margin Properties-Inline CommonMarginInline mProps = propMgr.getMarginInlineProps(); 1.18 +2 -2 xml-fop/src/java/org/apache/fop/fo/flow/Table.java Index: Table.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Table.java,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- Table.java 15 Jun 2004 06:26:55 -0000 1.17 +++ Table.java 16 Jun 2004 00:27:26 -0000 1.18 @@ -81,7 +81,7 @@ protected void addProperties(Attributes attlist) throws FOPException { super.addProperties(attlist); setupID(); - getDocument().getFOInputHandler().startTable(this); + getFOInputHandler().startTable(this); } /** @@ -203,7 +203,7 @@ } protected void end() { - getDocument().getFOInputHandler().endTable(this); + getFOInputHandler().endTable(this); } public String getName() { 1.14 +2 -2 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.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- TableBody.java 15 Jun 2004 06:26:55 -0000 1.13 +++ TableBody.java 16 Jun 2004 00:27:26 -0000 1.14 @@ -57,7 +57,7 @@ protected void addProperties(Attributes attlist) throws FOPException { super.addProperties(attlist); setupID(); - getDocument().getFOInputHandler().startBody(this); + getFOInputHandler().startBody(this); } private void setup() throws FOPException { @@ -104,7 +104,7 @@ } protected void end() { - getDocument().getFOInputHandler().endBody(this); + getFOInputHandler().endBody(this); } public String getName() { 1.16 +2 -2 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.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- TableCell.java 15 Jun 2004 06:26:55 -0000 1.15 +++ TableCell.java 16 Jun 2004 00:27:26 -0000 1.16 @@ -123,7 +123,7 @@ protected void addProperties(Attributes attlist) throws FOPException { super.addProperties(attlist); doSetup(); // init some basic property values - getDocument().getFOInputHandler().startCell(this); + getFOInputHandler().startCell(this); } /** @@ -348,7 +348,7 @@ } protected void end() { - getDocument().getFOInputHandler().endCell(this); + getFOInputHandler().endCell(this); } public String getName() { 1.19 +2 -2 xml-fop/src/java/org/apache/fop/fo/flow/TableColumn.java Index: TableColumn.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/TableColumn.java,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- TableColumn.java 15 Jun 2004 06:26:55 -0000 1.18 +++ TableColumn.java 16 Jun 2004 00:27:26 -0000 1.19 @@ -60,7 +60,7 @@ protected void addProperties(Attributes attlist) throws FOPException { super.addProperties(attlist); initialize(); // init some basic property values - getDocument().getFOInputHandler().startColumn(this); + getFOInputHandler().startColumn(this); } /** @@ -124,7 +124,7 @@ } protected void end() { - getDocument().getFOInputHandler().endColumn(this); + getFOInputHandler().endColumn(this); } public String getName() { 1.19 +2 -2 xml-fop/src/java/org/apache/fop/fo/flow/TableRow.java Index: TableRow.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/TableRow.java,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- TableRow.java 15 Jun 2004 06:26:55 -0000 1.18 +++ TableRow.java 16 Jun 2004 00:27:26 -0000 1.19 @@ -68,7 +68,7 @@ protected void addProperties(Attributes attlist) throws FOPException { super.addProperties(attlist); setupID(); - getDocument().getFOInputHandler().startRow(this); + getFOInputHandler().startRow(this); } /** @@ -145,7 +145,7 @@ } protected void end() { - getDocument().getFOInputHandler().endRow(this); + getFOInputHandler().endRow(this); } public String getName() { 1.9 +10 -1 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.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- ColorProfile.java 12 Jun 2004 23:18:52 -0000 1.8 +++ ColorProfile.java 16 Jun 2004 00:27:26 -0000 1.9 @@ -24,6 +24,7 @@ import java.net.URL; import java.io.IOException; import java.io.InputStream; +import org.xml.sax.Locator; // FOP import org.apache.fop.datatypes.ColorType; @@ -46,6 +47,14 @@ */ public ColorProfile(FONode parent) { super(parent); + } + + /** + * @see org.apache.fop.fo.FONode#validateChildNode(String, String) + XSL 1.0/FOP: EMPTY (no child nodes permitted) + */ + protected void validateChildNode(Locator loc, String nsURI, String localName) { + invalidChildError(loc, nsURI, localName); } /** 1.9 +5 -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.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- Declarations.java 15 Jun 2004 06:26:56 -0000 1.8 +++ Declarations.java 16 Jun 2004 00:27:26 -0000 1.9 @@ -29,6 +29,7 @@ import org.apache.fop.fo.FObj; import org.apache.fop.fo.FOTreeVisitor; import org.apache.fop.fo.XMLObj; +import org.xml.sax.Locator; /** @@ -54,12 +55,12 @@ /** * @see org.apache.fop.fo.FONode#validateChildNode(String, String) XSL 1.0: (color-profile)+ (and non-XSL NS nodes) - FOP (currently): (color-profile)* (and non-XSL NS nodes) + FOP/XSL 1.1: (color-profile)* (and non-XSL NS nodes) */ - protected void validateChildNode(String nsURI, String localName) { + protected void validateChildNode(Locator loc, String nsURI, String localName) { if (nsURI == FOElementMapping.URI) { if (!localName.equals("color-profile")) { - invalidChildError(nsURI, localName); + invalidChildError(loc, nsURI, localName); } } // anything outside of XSL namespace is OK. } 1.12 +3 -3 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.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- Flow.java 15 Jun 2004 06:26:56 -0000 1.11 +++ Flow.java 16 Jun 2004 00:27:26 -0000 1.12 @@ -92,14 +92,14 @@ // Now done in addChild of page-sequence //pageSequence.addFlow(this); - getDocument().getFOInputHandler().startFlow(this); + getFOInputHandler().startFlow(this); } /** * Tell the StructureRenderer that we are at the end of the flow. */ public void end() { - getDocument().getFOInputHandler().endFlow(this); + getFOInputHandler().endFlow(this); } /** 1.25 +2 -2 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.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- PageSequence.java 15 Jun 2004 06:26:56 -0000 1.24 +++ PageSequence.java 16 Jun 2004 00:27:26 -0000 1.25 @@ -291,7 +291,7 @@ */ private void startStructuredPageSequence() { if (!sequenceStarted) { - getDocument().getFOInputHandler().startPageSequence(this); + getFOInputHandler().startPageSequence(this); sequenceStarted = true; } } @@ -303,7 +303,7 @@ */ public void end() { try { - this.getDocument().getFOInputHandler().endPageSequence(this); + getFOInputHandler().endPageSequence(this); } catch (FOPException fopex) { getLogger().error("Error in PageSequence.end(): " + fopex.getMessage(), fopex); 1.16 +26 -22 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.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- Root.java 15 Jun 2004 06:26:56 -0000 1.15 +++ Root.java 16 Jun 2004 00:27:26 -0000 1.16 @@ -22,13 +22,14 @@ import java.util.List; // FOP -import org.apache.fop.apps.Document; import org.apache.fop.fo.FONode; import org.apache.fop.fo.FObj; import org.apache.fop.fo.FOElementMapping; import org.apache.fop.fo.extensions.ExtensionElementMapping; import org.apache.fop.fo.extensions.Bookmarks; +import org.apache.fop.fo.FOInputHandler; import org.apache.fop.fo.FOTreeVisitor; +import org.xml.sax.Locator; /** * The fo:root formatting object. Contains page masters, page-sequences. @@ -47,7 +48,10 @@ */ private int runningPageNumberCounter = 0; - private Document document = null; + /** + * Controlling FOTreeHandler object for this FO Tree + */ + private FOInputHandler foInputHandler = null; /** * @see org.apache.fop.fo.FONode#FONode(FONode) @@ -66,43 +70,43 @@ XSL 1.0 Spec: (layout-master-set,declarations?,page-sequence+) FOP: (layout-master-set, declarations?, fox:bookmarks?, page-sequence+) */ - protected void validateChildNode(String nsURI, String localName) { + protected void validateChildNode(Locator loc, String nsURI, String localName) { if (nsURI == FOElementMapping.URI) { if (localName.equals("layout-master-set")) { if (layoutMasterSet != null) { - tooManyNodesError("fo:layout-master-set"); + tooManyNodesError(loc, "fo:layout-master-set"); } } else if (localName.equals("declarations")) { if (layoutMasterSet == null) { - nodesOutOfOrderError("fo:layout-master-set", "fo:declarations"); + nodesOutOfOrderError(loc, "fo:layout-master-set", "fo:declarations"); } else if (declarations != null) { - tooManyNodesError("fo:declarations"); + tooManyNodesError(loc, "fo:declarations"); } else if (bookmarks != null) { - nodesOutOfOrderError("fo:declarations", "fox:bookmarks"); + nodesOutOfOrderError(loc, "fo:declarations", "fox:bookmarks"); } else if (pageSequenceFound) { - nodesOutOfOrderError("fo:declarations", "fo:page-sequence"); + nodesOutOfOrderError(loc, "fo:declarations", "fo:page-sequence"); } } else if (localName.equals("page-sequence")) { if (layoutMasterSet == null) { - nodesOutOfOrderError("fo:layout-master-set", "fo:page-sequence"); + nodesOutOfOrderError(loc, "fo:layout-master-set", "fo:page-sequence"); } else { pageSequenceFound = true; } } else { - invalidChildError(nsURI, localName); + invalidChildError(loc, nsURI, localName); } } else if (nsURI.equals(ExtensionElementMapping.URI)) { if (!localName.equals("bookmarks")) { - invalidChildError(nsURI, localName); + invalidChildError(loc, nsURI, localName); } else if (layoutMasterSet == null) { - nodesOutOfOrderError("fo:layout-master-set", "fox:bookmarks"); + nodesOutOfOrderError(loc, "fo:layout-master-set", "fox:bookmarks"); } else if (bookmarks != null) { - tooManyNodesError("fox:bookmarks"); + tooManyNodesError(loc, "fox:bookmarks"); } else if (pageSequenceFound) { - nodesOutOfOrderError("fox:bookmarks", "fo:page-sequence"); + nodesOutOfOrderError(loc, "fox:bookmarks", "fo:page-sequence"); } } else { - invalidChildError(nsURI, localName); + invalidChildError(loc, nsURI, localName); } } @@ -201,19 +205,19 @@ * @param document the apps.Document implementation to which this Root * is attached */ - public void setDocument(Document document) { - this.document = document; + public void setFOInputHandler(FOInputHandler foInputHandler) { + this.foInputHandler = foInputHandler; } /** * This method overrides the FONode version. The FONode version calls the * method by the same name for the parent object. Since Root is at the top - * of the tree, it returns the actual apps.Document object. Thus, any FONode - * can use this chain to find which apps.Document it is being built for. - * @return the Document implementation that this Root is attached to + * of the tree, it returns the actual FOInputHandler object. Thus, any FONode + * can use this chain to find which FOInputHandler it is being built for. + * @return the FOInputHandler implementation that this Root is attached to */ - public Document getDocument() { - return document; + public FOInputHandler getFOInputHandler() { + return foInputHandler; } /** 1.18 +2 -2 xml-fop/src/java/org/apache/fop/fo/pagination/Title.java Index: Title.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/Title.java,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- Title.java 15 Jun 2004 06:26:56 -0000 1.17 +++ Title.java 16 Jun 2004 00:27:26 -0000 1.18 @@ -59,7 +59,7 @@ CommonBackground bProps = propMgr.getBackgroundProps(); // Common Font Properties - Font fontState = propMgr.getFontState(getDocument()); + Font fontState = propMgr.getFontState(getFOInputHandler().getDocument()); // Common Margin Properties-Inline CommonMarginInline mProps = propMgr.getMarginInlineProps(); 1.22 +1 -1 xml-fop/src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java Index: BlockLayoutManager.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- BlockLayoutManager.java 15 Jun 2004 06:26:56 -0000 1.21 +++ BlockLayoutManager.java 16 Jun 2004 00:27:27 -0000 1.22 @@ -74,7 +74,7 @@ childLMiter = new BlockLMiter(this, childLMiter); userAgent = inBlock.getUserAgent(); setBlockTextInfo(inBlock.getPropertyManager().getTextLayoutProps( - inBlock.getDocument())); + inBlock.getFOInputHandler().getDocument())); } private void setBlockTextInfo(TextInfo ti) {
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]