gmazza 2004/06/17 00:02:14
Modified: src/java/org/apache/fop/apps Document.java Driver.java
src/java/org/apache/fop/fo FOInputHandler.java
FOTreeHandler.java
src/java/org/apache/fop/fo/pagination LayoutMasterSet.java
PageSequenceMaster.java
Log:
1. Child element validity checking added for fo:page-sequence-master.
2. AreaTree object moved from Document/Driver to FOTreeHandler, as it is specific to
this subclass of FOInputHandler only (RTFHandler and MIFHandler don't use area trees).
Revision Changes Path
1.22 +8 -12 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.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- Document.java 16 Jun 2004 00:27:26 -0000 1.21
+++ Document.java 17 Jun 2004 07:02:13 -0000 1.22
@@ -19,10 +19,9 @@
package org.apache.fop.apps;
// 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.fop.render.Renderer;
// SAX
import org.xml.sax.SAXException;
@@ -39,11 +38,8 @@
/** The Font information relevant for this document */
private FontInfo fontInfo;
- /** The current AreaTree for the PageSequence being rendered. */
- public AreaTree areaTree;
-
- /** The AreaTreeModel for the PageSequence being rendered. */
- public AreaTreeModel atModel;
+ /** The Renderer being used for this document */
+ protected Renderer renderer;
/**
* Structure handler used to notify structure
@@ -77,12 +73,12 @@
}
/**
- * Get the area tree for this layout handler.
+ * Get the renderer for this document
*
- * @return the area tree for this document
+ * @return the renderer for this document
*/
- public AreaTree getAreaTree() {
- return areaTree;
+ public Renderer getRenderer() {
+ return renderer;
}
/**
1.67 +3 -8 xml-fop/src/java/org/apache/fop/apps/Driver.java
Index: Driver.java
===================================================================
RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/apps/Driver.java,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -r1.66 -r1.67
--- Driver.java 17 Jun 2004 04:53:59 -0000 1.66
+++ Driver.java 17 Jun 2004 07:02:13 -0000 1.67
@@ -19,9 +19,6 @@
package org.apache.fop.apps;
// FOP
-import org.apache.fop.area.AreaTree;
-import org.apache.fop.area.RenderPagesModel;
-
import org.apache.fop.fo.ElementMapping;
import org.apache.fop.fo.FOTreeBuilder;
@@ -490,11 +487,9 @@
"Renderer not set when using standard foInputHandler");
}
+ currentDocument.renderer = renderer;
foInputHandler = new FOTreeHandler(currentDocument, true);
- currentDocument.areaTree = new AreaTree();
- currentDocument.atModel = new RenderPagesModel(renderer);
- //this.atModel = new CachedRenderPagesModel(renderer);
- currentDocument.areaTree.setTreeModel(currentDocument.atModel);
+
try {
renderer.setupFontInfo(currentDocument.getFontInfo());
// check that the "any,normal,400" font exists
1.19 +1 -8 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.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- FOInputHandler.java 16 Jun 2004 00:27:26 -0000 1.18
+++ FOInputHandler.java 17 Jun 2004 07:02:13 -0000 1.19
@@ -119,13 +119,6 @@
return doc;
}
- /**
- * @return the current Area Tree object
- */
- public AreaTree getAreaTree() {
- return doc.getAreaTree();
- }
-
/**
* Returns the Driver object associated with this FOInputHandler.
* @return the Driver object
1.21 +18 -1 xml-fop/src/java/org/apache/fop/fo/FOTreeHandler.java
Index: FOTreeHandler.java
===================================================================
RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/FOTreeHandler.java,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- FOTreeHandler.java 15 Jun 2004 06:26:55 -0000 1.20
+++ FOTreeHandler.java 17 Jun 2004 07:02:13 -0000 1.21
@@ -30,6 +30,7 @@
import org.apache.fop.apps.Document;
import org.apache.fop.apps.FOPException;
import org.apache.fop.area.AreaTree;
+import org.apache.fop.area.RenderPagesModel;
import org.apache.fop.area.Title;
import org.apache.fop.fo.extensions.Bookmarks;
import org.apache.fop.fo.flow.BasicLink;
@@ -76,6 +77,9 @@
*/
private Runtime runtime;
+ /** The current AreaTree for the FOTreeHandler. */
+ public AreaTree areaTree;
+
/**
* Keep track of the number of pages rendered.
*/
@@ -105,6 +109,11 @@
*/
public FOTreeHandler(Document doc, boolean store) {
super(doc);
+
+ areaTree = new AreaTree();
+ // this.atModel = new CachedRenderPagesModel(renderer);
+ areaTree.setTreeModel(new RenderPagesModel(doc.getRenderer()));
+
if (collectStatistics) {
runtime = Runtime.getRuntime();
}
@@ -597,4 +606,12 @@
*/
public void endPageNumber(PageNumber pagenum) {
}
+
+ /**
+ * @return the current Area Tree object
+ */
+ public AreaTree getAreaTree() {
+ return areaTree;
+ }
+
}
1.11 +1 -1
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.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- LayoutMasterSet.java 16 Jun 2004 23:40:58 -0000 1.10
+++ LayoutMasterSet.java 17 Jun 2004 07:02:13 -0000 1.11
@@ -24,6 +24,7 @@
// XML
import org.xml.sax.Attributes;
+import org.xml.sax.Locator;
// FOP
import org.apache.fop.fo.FONode;
@@ -31,7 +32,6 @@
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.
1.10 +31 -2
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.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- PageSequenceMaster.java 12 Jun 2004 23:18:52 -0000 1.9
+++ PageSequenceMaster.java 17 Jun 2004 07:02:13 -0000 1.10
@@ -21,13 +21,15 @@
// Java
import java.util.List;
-// SAX
+// XML
import org.xml.sax.Attributes;
+import org.xml.sax.Locator;
// FOP
import org.apache.fop.fo.Constants;
-import org.apache.fop.fo.FONode;
import org.apache.fop.fo.FObj;
+import org.apache.fop.fo.FONode;
+import org.apache.fop.fo.FOElementMapping;
import org.apache.fop.fo.FOTreeVisitor;
import org.apache.fop.apps.FOPException;
@@ -57,6 +59,33 @@
public PageSequenceMaster(FONode parent) {
super(parent);
}
+
+
+
+ /**
+ * @see org.apache.fop.fo.FONode#validateChildNode(Locator, String, String)
+ * XSL/FOP: (single-page-master-reference|repeatable-page-master-reference|
+ * repeatable-page-master-alternatives)+
+ */
+ protected void validateChildNode(Locator loc, String nsURI, String localName) {
+ if (nsURI == FOElementMapping.URI) {
+ if (!localName.equals("single-page-master-reference")
+ && !localName.equals("repeatable-page-master-reference")
+ && !localName.equals("repeatable-page-master-alternatives")) {
+ invalidChildError(loc, nsURI, localName);
+ }
+ } else {
+ invalidChildError(loc, nsURI, localName);
+ }
+ }
+
+ protected void end() {
+ if (children == null) {
+ missingChildElementError("(single-page-master-reference|" +
+
"repeatable-page-master-reference|repeatable-page-master-alternatives)+");
+ }
+ }
+
/**
* @see org.apache.fop.fo.FObj#addProperties
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]