gmazza 2004/06/12 16:18:53 Modified: src/java/org/apache/fop/fo FONode.java FOTreeBuilder.java FObj.java src/java/org/apache/fop/fo/extensions Label.java Outline.java src/java/org/apache/fop/fo/flow BasicLink.java BidiOverride.java Block.java BlockContainer.java Character.java ExternalGraphic.java Float.java Footnote.java FootnoteBody.java InitialPropertySet.java Inline.java InlineContainer.java InstreamForeignObject.java Leader.java ListBlock.java ListItem.java ListItemBody.java ListItemLabel.java Marker.java MultiCase.java MultiProperties.java MultiPropertySet.java MultiSwitch.java MultiToggle.java PageNumber.java PageNumberCitation.java RetrieveMarker.java Table.java TableAndCaption.java TableBody.java TableCaption.java TableCell.java TableColumn.java TableFooter.java TableHeader.java TableRow.java Wrapper.java src/java/org/apache/fop/fo/pagination ColorProfile.java ConditionalPageMasterReference.java Declarations.java Flow.java LayoutMasterSet.java PageMasterReference.java PageNumberGenerator.java PageSequence.java PageSequenceMaster.java RegionAfter.java RegionBefore.java RegionBody.java RegionEnd.java RegionStart.java RepeatablePageMasterAlternatives.java RepeatablePageMasterReference.java Root.java SimplePageMaster.java SinglePageMasterReference.java StaticContent.java Title.java Log: Created a validateChildNode() in FONode for better syntax checking in the fo document: e.g., preventing two fo:layout-master-set's from occurring within an fo:root, requiring fo:page-sequence to follow the fo:l-m-s (and fo:declarations, if present). Currently just validates fo:root's children--validateChildNode() needs to be overridden in other FObj subclasses to do the same for other formatting objects. Comments most welcome. Revision Changes Path 1.19 +11 -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.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- FONode.java 22 May 2004 03:59:51 -0000 1.18 +++ FONode.java 12 Jun 2004 23:18:52 -0000 1.19 @@ -90,6 +90,17 @@ } /** + * Checks to make sure, during SAX processing of input document, that the + * incoming node is valid for the this (parent) node (e.g., checking to + * see that fo:table is not an immediate child of fo:root) + * called within FObj constructor + * @param namespaceURI namespace of incoming node + * @param localName (e.g. "table" for "fo:table") + * @throws IllegalArgumentException if incoming node not valid for parent + */ + protected void validateChildNode(String namespaceURI, String localName) {} + + /** * Adds characters (does nothing here) * @param data text * @param start start position 1.29 +11 -4 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.28 retrieving revision 1.29 diff -u -r1.28 -r1.29 --- FOTreeBuilder.java 12 Jun 2004 18:52:08 -0000 1.28 +++ FOTreeBuilder.java 12 Jun 2004 23:18:52 -0000 1.29 @@ -227,18 +227,25 @@ // Check to ensure first node encountered is an fo:root if (rootFObj == null) { if (!namespaceURI.equals(FObj.FO_URI) || !localName.equals("root")) { - throw new SAXException(new FOPException("Error: Root element" + - " must be fo:root formatting object")); + throw new SAXException(new IllegalArgumentException( + "Error: First element must be fo:root formatting object")); + } + } else { // check that incoming node is valid for currentFObj + try { + currentFObj.validateChildNode(namespaceURI, localName); + } catch (IllegalArgumentException e) { + throw new SAXException(e); } } ElementMapping.Maker fobjMaker = findFOMaker(namespaceURI, localName); - // System.out.println("found a " + fobjMaker.toString()); try { foNode = fobjMaker.make(currentFObj); foNode.processNode(localName, locator, attlist); + } catch (IllegalArgumentException e) { + throw new SAXException(e); } catch (FOPException e) { throw new SAXException(e); } @@ -269,7 +276,7 @@ * @param localName name of the Element * @return the ElementMapping.Maker that can create an FO object for this element */ - public Maker findFOMaker(String namespaceURI, String localName) { + private Maker findFOMaker(String namespaceURI, String localName) { Map table = (Map)fobjTable.get(namespaceURI); Maker fobjMaker = null; if (table != null) { 1.42 +0 -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.41 retrieving revision 1.42 diff -u -r1.41 -r1.42 --- FObj.java 12 Jun 2004 18:52:08 -0000 1.41 +++ FObj.java 12 Jun 2004 23:18:52 -0000 1.42 @@ -91,7 +91,6 @@ */ public void processNode(String elementName, Locator locator, Attributes attlist) throws FOPException { - setName(elementName); setLocation(locator); addProperties(attlist); } 1.5 +5 -1 xml-fop/src/java/org/apache/fop/fo/extensions/Label.java Index: Label.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/extensions/Label.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- Label.java 27 Feb 2004 17:43:50 -0000 1.4 +++ Label.java 12 Jun 2004 23:18:52 -0000 1.5 @@ -66,5 +66,9 @@ public void acceptVisitor(FOTreeVisitor fotv) { fotv.serveLabel(this); } + + public String getName() { + return "(http://xml.apache.org/fop/extensions) label"; + } } 1.5 +4 -1 xml-fop/src/java/org/apache/fop/fo/extensions/Outline.java Index: Outline.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/extensions/Outline.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- Outline.java 22 May 2004 03:59:51 -0000 1.4 +++ Outline.java 12 Jun 2004 23:18:52 -0000 1.5 @@ -108,4 +108,7 @@ return outlines; } + public String getName() { + return "(http://xml.apache.org/fop/extensions) outline"; + } } 1.12 +4 -0 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.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- BasicLink.java 22 May 2004 03:59:51 -0000 1.11 +++ BasicLink.java 12 Jun 2004 23:18:52 -0000 1.12 @@ -145,4 +145,8 @@ getFOTreeControl().getFOInputHandler().endLink(); } + + public String getName() { + return "fo:basic-link"; + } } 1.9 +3 -0 xml-fop/src/java/org/apache/fop/fo/flow/BidiOverride.java Index: BidiOverride.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/BidiOverride.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- BidiOverride.java 27 Feb 2004 17:44:23 -0000 1.8 +++ BidiOverride.java 12 Jun 2004 23:18:52 -0000 1.9 @@ -79,4 +79,7 @@ fotv.serveBidiOverride(this); } + public String getName() { + return "fo:bidi-override"; + } } 1.17 +4 -0 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.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- Block.java 22 May 2004 03:59:51 -0000 1.16 +++ Block.java 12 Jun 2004 23:18:52 -0000 1.17 @@ -401,4 +401,8 @@ fotv.serveBlock(this); } + public String getName() { + return "fo:block"; + } + } 1.11 +3 -0 xml-fop/src/java/org/apache/fop/fo/flow/BlockContainer.java Index: BlockContainer.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/BlockContainer.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- BlockContainer.java 22 May 2004 03:59:51 -0000 1.10 +++ BlockContainer.java 12 Jun 2004 23:18:52 -0000 1.11 @@ -140,5 +140,8 @@ fotv.serveBlockContainer(this); } + public String getName() { + return "fo:block-container"; + } } 1.11 +3 -0 xml-fop/src/java/org/apache/fop/fo/flow/Character.java Index: Character.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Character.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- Character.java 27 Feb 2004 17:44:23 -0000 1.10 +++ Character.java 12 Jun 2004 23:18:52 -0000 1.11 @@ -126,4 +126,7 @@ fotv.serveCharacter(this); } + public String getName() { + return "fo:character"; + } } 1.25 +4 -0 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.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- ExternalGraphic.java 22 May 2004 03:59:51 -0000 1.24 +++ ExternalGraphic.java 12 Jun 2004 23:18:52 -0000 1.25 @@ -242,4 +242,8 @@ return placement; } + public String getName() { + return "fo:external-graphic"; + } + } 1.7 +3 -0 xml-fop/src/java/org/apache/fop/fo/flow/Float.java Index: Float.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Float.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- Float.java 27 Feb 2004 17:44:24 -0000 1.6 +++ Float.java 12 Jun 2004 23:18:52 -0000 1.7 @@ -47,4 +47,7 @@ fotv.serveFloat(this); } + public String getName() { + return "fo:float"; + } } 1.9 +4 -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.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- Footnote.java 22 May 2004 03:59:51 -0000 1.8 +++ Footnote.java 12 Jun 2004 23:18:52 -0000 1.9 @@ -81,5 +81,9 @@ super.end(); getFOTreeControl().getFOInputHandler().endFootnote(this); } + + public String getName() { + return "fo:footnote"; + } } 1.8 +4 -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.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- FootnoteBody.java 22 May 2004 03:59:51 -0000 1.7 +++ FootnoteBody.java 12 Jun 2004 23:18:52 -0000 1.8 @@ -64,4 +64,8 @@ getFOTreeControl().getFOInputHandler().endFootnoteBody(this); } + + public String getName() { + return "fo:footnote-body"; + } } 1.8 +3 -0 xml-fop/src/java/org/apache/fop/fo/flow/InitialPropertySet.java Index: InitialPropertySet.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/InitialPropertySet.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- InitialPropertySet.java 27 Feb 2004 17:44:24 -0000 1.7 +++ InitialPropertySet.java 12 Jun 2004 23:18:52 -0000 1.8 @@ -76,4 +76,7 @@ fotv.serveInitialPropertySet(this); } + public String getName() { + return "fo:initial-property-set"; + } } 1.12 +3 -0 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.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- Inline.java 22 May 2004 03:59:51 -0000 1.11 +++ Inline.java 12 Jun 2004 23:18:52 -0000 1.12 @@ -142,4 +142,7 @@ getFOTreeControl().getFOInputHandler().endInline(this); } + public String getName() { + return "fo:inline"; + } } 1.10 +3 -0 xml-fop/src/java/org/apache/fop/fo/flow/InlineContainer.java Index: InlineContainer.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/InlineContainer.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- InlineContainer.java 22 May 2004 03:59:51 -0000 1.9 +++ InlineContainer.java 12 Jun 2004 23:18:52 -0000 1.10 @@ -98,4 +98,7 @@ fotv.serveInlineContainer(this); } + public String getName() { + return "fo:inline-container"; + } } 1.14 +3 -0 xml-fop/src/java/org/apache/fop/fo/flow/InstreamForeignObject.java Index: InstreamForeignObject.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/InstreamForeignObject.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- InstreamForeignObject.java 27 Feb 2004 17:44:24 -0000 1.13 +++ InstreamForeignObject.java 12 Jun 2004 23:18:52 -0000 1.14 @@ -168,4 +168,7 @@ fotv.serveInstreamForeignObject(this); } + public String getName() { + return "fo:instream-foreign-object"; + } } 1.24 +3 -0 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.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- Leader.java 27 Feb 2004 17:44:24 -0000 1.23 +++ Leader.java 12 Jun 2004 23:18:52 -0000 1.24 @@ -172,4 +172,7 @@ fotv.serveLeader(this); } + public String getName() { + return "fo:leader"; + } } 1.12 +4 -0 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.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- ListBlock.java 22 May 2004 03:59:51 -0000 1.11 +++ ListBlock.java 12 Jun 2004 23:18:52 -0000 1.12 @@ -141,5 +141,9 @@ getFOTreeControl().getFOInputHandler().endList(this); } + + public String getName() { + return "fo:list-block"; + } } 1.13 +4 -0 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.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- ListItem.java 22 May 2004 03:59:51 -0000 1.12 +++ ListItem.java 12 Jun 2004 23:18:52 -0000 1.13 @@ -150,5 +150,9 @@ super.end(); getFOTreeControl().getFOInputHandler().endListItem(this); } + + public String getName() { + return "fo:list-item"; + } } 1.11 +3 -0 xml-fop/src/java/org/apache/fop/fo/flow/ListItemBody.java Index: ListItemBody.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/ListItemBody.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- ListItemBody.java 27 Feb 2004 17:44:24 -0000 1.10 +++ ListItemBody.java 12 Jun 2004 23:18:52 -0000 1.11 @@ -71,5 +71,8 @@ fotv.serveListItemBody(this); } + public String getName() { + return "fo:list-item-body"; + } } 1.14 +4 -0 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.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- ListItemLabel.java 22 May 2004 03:59:51 -0000 1.13 +++ ListItemLabel.java 12 Jun 2004 23:18:52 -0000 1.14 @@ -88,5 +88,9 @@ getFOTreeControl().getFOInputHandler().endListLabel(); } + + public String getName() { + return "fo:list-item-label"; + } } 1.9 +3 -0 xml-fop/src/java/org/apache/fop/fo/flow/Marker.java Index: Marker.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Marker.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- Marker.java 22 May 2004 03:59:51 -0000 1.8 +++ Marker.java 12 Jun 2004 23:18:52 -0000 1.9 @@ -74,4 +74,7 @@ fotv.serveMarker(this); } + public String getName() { + return "fo:marker"; + } } 1.8 +3 -0 xml-fop/src/java/org/apache/fop/fo/flow/MultiCase.java Index: MultiCase.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/MultiCase.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- MultiCase.java 27 Feb 2004 17:44:24 -0000 1.7 +++ MultiCase.java 12 Jun 2004 23:18:52 -0000 1.8 @@ -53,4 +53,7 @@ fotv.serveMultiCase(this); } + public String getName() { + return "fo:multi-case"; + } } 1.7 +3 -0 xml-fop/src/java/org/apache/fop/fo/flow/MultiProperties.java Index: MultiProperties.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/MultiProperties.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- MultiProperties.java 27 Feb 2004 17:44:24 -0000 1.6 +++ MultiProperties.java 12 Jun 2004 23:18:52 -0000 1.7 @@ -50,4 +50,7 @@ fotv.serveMultiProperties(this); } + public String getName() { + return "fo:multi-properties"; + } } 1.7 +3 -0 xml-fop/src/java/org/apache/fop/fo/flow/MultiPropertySet.java Index: MultiPropertySet.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/MultiPropertySet.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- MultiPropertySet.java 27 Feb 2004 17:44:24 -0000 1.6 +++ MultiPropertySet.java 12 Jun 2004 23:18:52 -0000 1.7 @@ -47,4 +47,7 @@ fotv.serveMultiPropertySet(this); } + public String getName() { + return "fo:multi-property-set"; + } } 1.8 +3 -0 xml-fop/src/java/org/apache/fop/fo/flow/MultiSwitch.java Index: MultiSwitch.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/MultiSwitch.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- MultiSwitch.java 27 Feb 2004 17:44:24 -0000 1.7 +++ MultiSwitch.java 12 Jun 2004 23:18:52 -0000 1.8 @@ -51,4 +51,7 @@ fotv.serveMultiSwitch(this); } + public String getName() { + return "fo:multi-switch"; + } } 1.8 +3 -0 xml-fop/src/java/org/apache/fop/fo/flow/MultiToggle.java Index: MultiToggle.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/MultiToggle.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- MultiToggle.java 27 Feb 2004 17:44:24 -0000 1.7 +++ MultiToggle.java 12 Jun 2004 23:18:52 -0000 1.8 @@ -51,4 +51,7 @@ fotv.serveMultiToggle(this); } + public String getName() { + return "fo:multi-toggle"; + } } 1.21 +4 -0 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.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- PageNumber.java 22 May 2004 03:59:51 -0000 1.20 +++ PageNumber.java 12 Jun 2004 23:18:52 -0000 1.21 @@ -131,4 +131,8 @@ protected void end() { getFOTreeControl().getFOInputHandler().endPageNumber(this); } + + public String getName() { + return "fo:page-number"; + } } 1.21 +3 -0 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.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- PageNumberCitation.java 27 Feb 2004 17:44:24 -0000 1.20 +++ PageNumberCitation.java 12 Jun 2004 23:18:52 -0000 1.21 @@ -142,4 +142,7 @@ return fontState; } + public String getName() { + return "fo:page-number-citation"; + } } 1.9 +3 -0 xml-fop/src/java/org/apache/fop/fo/flow/RetrieveMarker.java Index: RetrieveMarker.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/RetrieveMarker.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- RetrieveMarker.java 22 May 2004 03:59:51 -0000 1.8 +++ RetrieveMarker.java 12 Jun 2004 23:18:52 -0000 1.9 @@ -80,4 +80,7 @@ fotv.serveRetrieveMarker(this); } + public String getName() { + return "fo:retrieve-marker"; + } } 1.16 +3 -0 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.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- Table.java 22 May 2004 03:59:51 -0000 1.15 +++ Table.java 12 Jun 2004 23:18:52 -0000 1.16 @@ -206,4 +206,7 @@ getFOTreeControl().getFOInputHandler().endTable(this); } + public String getName() { + return "fo:table"; + } } 1.8 +4 -0 xml-fop/src/java/org/apache/fop/fo/flow/TableAndCaption.java Index: TableAndCaption.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/TableAndCaption.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- TableAndCaption.java 27 Feb 2004 17:44:24 -0000 1.7 +++ TableAndCaption.java 12 Jun 2004 23:18:52 -0000 1.8 @@ -86,5 +86,9 @@ fotv.serveTableAndCaption(this); } + public String getName() { + return "fo:table-and-caption"; + } + } 1.12 +3 -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.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- TableBody.java 22 May 2004 03:59:51 -0000 1.11 +++ TableBody.java 12 Jun 2004 23:18:52 -0000 1.12 @@ -107,5 +107,8 @@ getFOTreeControl().getFOInputHandler().endBody(this); } + public String getName() { + return "fo:table-body"; + } } 1.8 +3 -0 xml-fop/src/java/org/apache/fop/fo/flow/TableCaption.java Index: TableCaption.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/TableCaption.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- TableCaption.java 27 Feb 2004 17:44:24 -0000 1.7 +++ TableCaption.java 12 Jun 2004 23:18:52 -0000 1.8 @@ -79,5 +79,8 @@ fotv.serveTableCaption(this); } + public String getName() { + return "fo:table-caption"; + } } 1.14 +5 -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.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- TableCell.java 22 May 2004 03:59:51 -0000 1.13 +++ TableCell.java 12 Jun 2004 23:18:52 -0000 1.14 @@ -350,4 +350,9 @@ protected void end() { getFOTreeControl().getFOInputHandler().endCell(this); } + + public String getName() { + return "fo:table-cell"; + } + } 1.17 +4 -0 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.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- TableColumn.java 22 May 2004 03:59:52 -0000 1.16 +++ TableColumn.java 12 Jun 2004 23:18:52 -0000 1.17 @@ -126,5 +126,9 @@ protected void end() { getFOTreeControl().getFOInputHandler().endColumn(this); } + + public String getName() { + return "fo:table-column"; + } } 1.6 +3 -0 xml-fop/src/java/org/apache/fop/fo/flow/TableFooter.java Index: TableFooter.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/TableFooter.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- TableFooter.java 27 Feb 2004 17:44:24 -0000 1.5 +++ TableFooter.java 12 Jun 2004 23:18:52 -0000 1.6 @@ -39,4 +39,7 @@ fotv.serveTableFooter(this); } + public String getName() { + return "fo:table-footer"; + } } 1.6 +3 -0 xml-fop/src/java/org/apache/fop/fo/flow/TableHeader.java Index: TableHeader.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/TableHeader.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- TableHeader.java 27 Feb 2004 17:44:24 -0000 1.5 +++ TableHeader.java 12 Jun 2004 23:18:52 -0000 1.6 @@ -39,4 +39,7 @@ fotv.serveTableHeader(this); } + public String getName() { + return "fo:table-header"; + } } 1.17 +4 -0 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.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- TableRow.java 22 May 2004 03:59:52 -0000 1.16 +++ TableRow.java 12 Jun 2004 23:18:52 -0000 1.17 @@ -147,5 +147,9 @@ protected void end() { getFOTreeControl().getFOInputHandler().endRow(this); } + + public String getName() { + return "fo:table-row"; + } } 1.6 +4 -0 xml-fop/src/java/org/apache/fop/fo/flow/Wrapper.java Index: Wrapper.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Wrapper.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- Wrapper.java 27 Feb 2004 17:44:24 -0000 1.5 +++ Wrapper.java 12 Jun 2004 23:18:52 -0000 1.6 @@ -50,6 +50,10 @@ public void acceptVisitor(FOTreeVisitor fotv) { fotv.serveWrapper(this); } + + public String getName() { + return "fo:wrapper"; + } } 1.8 +4 -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.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- ColorProfile.java 27 Feb 2004 17:45:13 -0000 1.7 +++ ColorProfile.java 12 Jun 2004 23:18:52 -0000 1.8 @@ -103,4 +103,7 @@ fotv.serveColorProfile(this); } + public String getName() { + return "fo:color-profile"; + } } 1.10 +3 -0 xml-fop/src/java/org/apache/fop/fo/pagination/ConditionalPageMasterReference.java Index: ConditionalPageMasterReference.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/ConditionalPageMasterReference.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- ConditionalPageMasterReference.java 22 May 2004 03:59:53 -0000 1.9 +++ ConditionalPageMasterReference.java 12 Jun 2004 23:18:52 -0000 1.10 @@ -167,4 +167,7 @@ fotv.serveConditionalPageMasterReference(this); } + public String getName() { + return "fo:conditional-page-master-reference"; + } } 1.6 +4 -1 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.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- Declarations.java 27 Feb 2004 17:45:13 -0000 1.5 +++ Declarations.java 12 Jun 2004 23:18:52 -0000 1.6 @@ -87,4 +87,7 @@ fotv.serveDeclarations(this); } + public String getName() { + return "fo:declarations"; + } } 1.10 +5 -1 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.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- Flow.java 22 May 2004 03:59:53 -0000 1.9 +++ Flow.java 12 Jun 2004 23:18:52 -0000 1.10 @@ -152,4 +152,8 @@ public void acceptVisitor(FOTreeVisitor fotv) { fotv.serveFlow(this); } + + public String getName() { + return "fo:flow"; + } } 1.9 +3 -4 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.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- LayoutMasterSet.java 8 Jun 2004 22:16:52 -0000 1.8 +++ LayoutMasterSet.java 12 Jun 2004 23:18:52 -0000 1.9 @@ -60,10 +60,6 @@ if (parent.getName().equals("fo:root")) { Root root = (Root)parent; - if (root.getLayoutMasterSet() != null) { - throw new FOPException("Multiple fo:layout-master-sets " + - "found; only one allowed per document"); - } root.setLayoutMasterSet(this); } else { throw new FOPException("fo:layout-master-set must be child of fo:root, not " @@ -197,5 +193,8 @@ fotv.serveLayoutMasterSet(this); } + public String getName() { + return "fo:layout-master-set"; + } } 1.7 +3 -0 xml-fop/src/java/org/apache/fop/fo/pagination/PageMasterReference.java Index: PageMasterReference.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/PageMasterReference.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- PageMasterReference.java 22 May 2004 03:59:53 -0000 1.6 +++ PageMasterReference.java 12 Jun 2004 23:18:52 -0000 1.7 @@ -90,4 +90,7 @@ fotv.servePageMasterReference(this); } + public String getName() { + return "fo:page-master-reference"; + } } 1.4 +4 -0 xml-fop/src/java/org/apache/fop/fo/pagination/PageNumberGenerator.java Index: PageNumberGenerator.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/PageNumberGenerator.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- PageNumberGenerator.java 31 Mar 2004 10:55:06 -0000 1.3 +++ PageNumberGenerator.java 12 Jun 2004 23:18:52 -0000 1.4 @@ -193,5 +193,9 @@ return alphaNumber.reverse().toString(); } + public String getName() { + return "fo:page-number-generator"; + } + } 1.23 +5 -12 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.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- PageSequence.java 8 Jun 2004 22:16:52 -0000 1.22 +++ PageSequence.java 12 Jun 2004 23:18:52 -0000 1.23 @@ -134,20 +134,11 @@ */ protected void addProperties(Attributes attlist) throws FOPException { super.addProperties(attlist); - if (parent.getName().equals("fo:root")) { - this.root = (Root)parent; - // this.root.addPageSequence(this); - } else { - throw new FOPException("Error: page-sequence must be child of root, not " - + parent.getName()); - } + this.root = (Root) parent; +// this.root.addPageSequence(this); layoutMasterSet = root.getLayoutMasterSet(); - if (layoutMasterSet == null) { - throw new FOPException("Error: fo:layout-master-set undefined for this document"); - } - // best time to run some checks on LayoutMasterSet layoutMasterSet.checkRegionNames(); @@ -174,7 +165,6 @@ } } - String masterName = this.propertyList.get(PR_MASTER_REFERENCE).getString(); this.simplePageMaster = this.layoutMasterSet.getSimplePageMaster(masterName); @@ -745,4 +735,7 @@ return root; } + public String getName() { + return "fo:page-sequence"; + } } 1.9 +3 -0 xml-fop/src/java/org/apache/fop/fo/pagination/PageSequenceMaster.java Index: PageSequenceMaster.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/PageSequenceMaster.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- PageSequenceMaster.java 22 May 2004 03:59:53 -0000 1.8 +++ PageSequenceMaster.java 12 Jun 2004 23:18:52 -0000 1.9 @@ -168,5 +168,8 @@ fotv.servePageSequenceMaster(this); } + public String getName() { + return "fo:page-sequence-master"; + } } 1.10 +3 -0 xml-fop/src/java/org/apache/fop/fo/pagination/RegionAfter.java Index: RegionAfter.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/RegionAfter.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- RegionAfter.java 9 May 2004 20:45:15 -0000 1.9 +++ RegionAfter.java 12 Jun 2004 23:18:52 -0000 1.10 @@ -79,5 +79,8 @@ fotv.serveRegionAfter(this); } + public String getName() { + return "fo:region-after"; + } } 1.10 +3 -0 xml-fop/src/java/org/apache/fop/fo/pagination/RegionBefore.java Index: RegionBefore.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/RegionBefore.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- RegionBefore.java 9 May 2004 20:45:15 -0000 1.9 +++ RegionBefore.java 12 Jun 2004 23:18:52 -0000 1.10 @@ -84,5 +84,8 @@ fotv.serveRegionBefore(this); } + public String getName() { + return "fo:region-before"; + } } 1.21 +3 -0 xml-fop/src/java/org/apache/fop/fo/pagination/RegionBody.java Index: RegionBody.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/RegionBody.java,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- RegionBody.java 23 May 2004 17:00:00 -0000 1.20 +++ RegionBody.java 12 Jun 2004 23:18:52 -0000 1.21 @@ -112,4 +112,7 @@ fotv.serveRegionBody(this); } + public String getName() { + return "fo:region-body"; + } } 1.10 +3 -0 xml-fop/src/java/org/apache/fop/fo/pagination/RegionEnd.java Index: RegionEnd.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/RegionEnd.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- RegionEnd.java 9 May 2004 20:45:15 -0000 1.9 +++ RegionEnd.java 12 Jun 2004 23:18:52 -0000 1.10 @@ -80,5 +80,8 @@ fotv.serveRegionEnd(this); } + public String getName() { + return "fo:region-end"; + } } 1.10 +3 -0 xml-fop/src/java/org/apache/fop/fo/pagination/RegionStart.java Index: RegionStart.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/RegionStart.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- RegionStart.java 9 May 2004 20:45:15 -0000 1.9 +++ RegionStart.java 12 Jun 2004 23:18:52 -0000 1.10 @@ -79,5 +79,8 @@ fotv.serveRegionStart(this); } + public String getName() { + return "fo:region-start"; + } } 1.7 +3 -0 xml-fop/src/java/org/apache/fop/fo/pagination/RepeatablePageMasterAlternatives.java Index: RepeatablePageMasterAlternatives.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/RepeatablePageMasterAlternatives.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- RepeatablePageMasterAlternatives.java 22 May 2004 03:59:53 -0000 1.6 +++ RepeatablePageMasterAlternatives.java 12 Jun 2004 23:18:52 -0000 1.7 @@ -137,4 +137,7 @@ fotv.serveRepeatablePageMasterAlternatives(this); } + public String getName() { + return "fo:repeatable-page-master-alternatives"; + } } 1.7 +3 -0 xml-fop/src/java/org/apache/fop/fo/pagination/RepeatablePageMasterReference.java Index: RepeatablePageMasterReference.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/RepeatablePageMasterReference.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- RepeatablePageMasterReference.java 22 May 2004 03:59:53 -0000 1.6 +++ RepeatablePageMasterReference.java 12 Jun 2004 23:18:52 -0000 1.7 @@ -98,4 +98,7 @@ fotv.serveRepeatablePageMasterReference(this); } + public String getName() { + return "fo:repeatable-page-master-reference"; + } } 1.12 +40 -0 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.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- Root.java 27 Feb 2004 17:45:13 -0000 1.11 +++ Root.java 12 Jun 2004 23:18:52 -0000 1.12 @@ -32,6 +32,7 @@ */ public class Root extends FObj { private LayoutMasterSet layoutMasterSet; + private Declarations declarations; private List pageSequences; /** @@ -54,6 +55,42 @@ } /** + * @see org.apache.fop.fo.FONode#validateChildNode(String, String) + */ + protected void validateChildNode(String namespaceURI, String localName) { + if (namespaceURI == FObj.FO_URI) { + if (localName.equals("layout-master-set")) { + if (layoutMasterSet != null) { // only one fo:declarations + throw new IllegalArgumentException("Error: Only one" + + " fo:layout-master-set may be defined per fo:root"); + } + } else if (localName.equals("declarations")) { + if (layoutMasterSet == null) { // must already have a l-m-s + throw new IllegalArgumentException("Error:" + + " fo:layout-master-set must be first child of" + + " fo:root"); + } else if (declarations != null) { // only one fo:declarations + throw new IllegalArgumentException("Error: Only one" + + " fo:declarations may be defined per fo:root"); + } else if (!pageSequences.isEmpty()) { // no page-seqs yet + throw new IllegalArgumentException("Error: fo:declarations" + + " must be defined before fo:page-sequence declarations"); + } + } else if (localName.equals("page-sequence")) { + if (layoutMasterSet == null) { // must already have a l-m-s + throw new IllegalArgumentException("Error:" + + " fo:layout-master-set must be first child of fo:root"); + } + } else + throw new IllegalArgumentException("Error: Invalid child" + + " node \"fo:" + localName + "\" of fo:root"); + } else { + throw new IllegalArgumentException("Error: Invalid child node (" + + namespaceURI + ") \"" + localName + "\" of fo:root"); + } + } + + /** * Returns the number of pages generated (over all PageSequence instances). * @return the number of pages */ @@ -139,4 +176,7 @@ fotv.serveRoot(this); } + public String getName() { + return "fo:root"; + } } 1.17 +3 -0 xml-fop/src/java/org/apache/fop/fo/pagination/SimplePageMaster.java Index: SimplePageMaster.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/SimplePageMaster.java,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- SimplePageMaster.java 22 May 2004 03:59:53 -0000 1.16 +++ SimplePageMaster.java 12 Jun 2004 23:18:52 -0000 1.17 @@ -162,4 +162,7 @@ fotv.serveSimplePageMaster(this); } + public String getName() { + return "fo:simple-page-master"; + } } 1.5 +3 -0 xml-fop/src/java/org/apache/fop/fo/pagination/SinglePageMasterReference.java Index: SinglePageMasterReference.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/SinglePageMasterReference.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- SinglePageMasterReference.java 27 Feb 2004 17:45:13 -0000 1.4 +++ SinglePageMasterReference.java 12 Jun 2004 23:18:52 -0000 1.5 @@ -67,5 +67,8 @@ fotv.serveSinglePageMasterReference(this); } + public String getName() { + return "fo:single-page-master-reference"; + } } 1.9 +4 -1 xml-fop/src/java/org/apache/fop/fo/pagination/StaticContent.java Index: StaticContent.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/StaticContent.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- StaticContent.java 27 Feb 2004 17:45:13 -0000 1.8 +++ StaticContent.java 12 Jun 2004 23:18:52 -0000 1.9 @@ -64,4 +64,7 @@ fotv.serveStaticContent(this); } + public String getName() { + return "fo:static-content"; + } } 1.16 +4 -1 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.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- Title.java 11 Jun 2004 17:18:51 -0000 1.15 +++ Title.java 12 Jun 2004 23:18:53 -0000 1.16 @@ -90,5 +90,8 @@ fotv.serveTitle(this); } + public String getName() { + return "fo:title"; + } }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]