]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
Addition of new fo:page-sequence-wrapper FO from XSL 1.1. Currently not "plugged...
authorGlen Mazza <gmazza@apache.org>
Mon, 31 Jan 2005 22:27:20 +0000 (22:27 +0000)
committerGlen Mazza <gmazza@apache.org>
Mon, 31 Jan 2005 22:27:20 +0000 (22:27 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@198353 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/fop/fo/Constants.java
src/java/org/apache/fop/fo/FOElementMapping.java
src/java/org/apache/fop/fo/PropertySets.java
src/java/org/apache/fop/fo/pagination/PageSequenceWrapper.java [new file with mode: 0644]

index dd2fa44502b730b3df16a737e1ce05f093e4d1b0..fb2dc7fe9d025893fc043abf9ddd2eabc10bd42e 100644 (file)
@@ -113,10 +113,11 @@ public interface Constants {
     int FO_TABLE_ROW = 54;
     int FO_TITLE = 55;
     int FO_WRAPPER = 56;
-    int FO_BOOKMARK_TREE = 57;
-    int FO_BOOKMARK = 58;
-    int FO_BOOKMARK_TITLE = 59;
-    int FRM_OBJ_COUNT = 59;
+    int FO_BOOKMARK_TREE = 57;          // XSL 1.1
+    int FO_BOOKMARK = 58;               // XSL 1.1
+    int FO_BOOKMARK_TITLE = 59;         // XSL 1.1
+    int FO_PAGE_SEQUENCE_WRAPPER = 60;  // XSL 1.1
+    int FRM_OBJ_COUNT = 60;
     
     // Masks
     int COMPOUND_SHIFT = 9;
@@ -372,7 +373,9 @@ public interface Constants {
     int PR_XML_LANG = 245;
     int PR_Z_INDEX = 246;
     int PR_INTRUSION_DISPLACE = 247;
-    int PROPERTY_COUNT = 247;
+    int PR_INDEX_CLASS = 248;   // XSL 1.1
+    int PR_INDEX_KEY = 249;     // XSL 1.1
+    int PROPERTY_COUNT = 249;
 
     // compound property constants
 
index d19d784a655b6350ec1a0eb69646dc2e7ba366a2..cca493cdcf67dc603005d8801744a31e7dd13392 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 1999-2004 The Apache Software Foundation.
+ * Copyright 1999-2005 The Apache Software Foundation.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -48,6 +48,7 @@ public class FOElementMapping extends ElementMapping {
             foObjs.put("bookmark-tree", new BookmarkTreeMaker());
             foObjs.put("bookmark", new BookmarkMaker());
             foObjs.put("bookmark-title", new BookmarkTitleMaker());
+//          foObjs.put("page-sequence-wrapper", new PageSequenceWrapperMaker());
             foObjs.put("page-sequence", new PageSequenceMaker());
             foObjs.put("layout-master-set", new LayoutMasterSetMaker());
             foObjs.put("page-sequence-master",
@@ -166,6 +167,12 @@ public class FOElementMapping extends ElementMapping {
         }
     }
 
+    static class PageSequenceWrapperMaker extends ElementMapping.Maker {
+        public FONode make(FONode parent) {
+            return new org.apache.fop.fo.pagination.PageSequenceWrapper(parent);
+        }
+    }
+
     static class PageSequenceMaker extends ElementMapping.Maker {
         public FONode make(FONode parent) {
             return new org.apache.fop.fo.pagination.PageSequence(parent);
index b62738a33da465e47e8b513ccf2a28c77ca4443e..c00b15782426292bc870b5d54d2d1f989512ee90 100644 (file)
@@ -216,6 +216,11 @@ public class PropertySets {
         elem.addProperty(Constants.PR_FONT_STYLE);
         elem.addProperty(Constants.PR_FONT_WEIGHT);
 
+        elem = elements[Constants.FO_PAGE_SEQUENCE_WRAPPER];
+        elem.addProperty(Constants.PR_ID);
+        elem.addProperty(Constants.PR_INDEX_CLASS);
+        elem.addProperty(Constants.PR_INDEX_KEY);
+
         elem = elements[Constants.FO_PAGE_SEQUENCE];
         elem.addProperty(Constants.PR_COUNTRY);
         elem.addProperty(Constants.PR_FORMAT);
diff --git a/src/java/org/apache/fop/fo/pagination/PageSequenceWrapper.java b/src/java/org/apache/fop/fo/pagination/PageSequenceWrapper.java
new file mode 100644 (file)
index 0000000..2ffa6f6
--- /dev/null
@@ -0,0 +1,115 @@
+/*
+ * Copyright 1999-2005 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fo.pagination;
+
+// Java
+import java.util.List;
+import java.util.ListIterator;
+
+import org.xml.sax.Locator;
+
+import org.apache.fop.apps.FOPException;
+import org.apache.fop.fo.FObj;
+import org.apache.fop.fo.FONode;
+import org.apache.fop.fo.PropertyList;
+import org.apache.fop.fo.ValidationException;
+
+/**
+ * The fo:page-sequence-wrapper formatting object, first introduced
+ * in the XSL 1.1 WD.  Prototype version only, subject to change as
+ * XSL 1.1 WD evolves.
+ */
+public class PageSequenceWrapper extends FObj {
+    // The value of properties relevant for this FO
+    private String id;
+    private String indexClass;
+    private String indexKey;
+    // End of property values
+    
+    /**
+     * @param parent FONode that is the parent of this object
+     */
+    public PageSequenceWrapper(FONode parent) {
+        super(parent);
+    }
+
+    /**
+     * @see org.apache.fop.fo.FObj#bind(PropertyList)
+     */
+    public void bind(PropertyList pList) throws FOPException {
+        id = pList.get(PR_ID).getString();
+        indexClass = pList.get(PR_INDEX_CLASS).getString();
+        indexKey = pList.get(PR_INDEX_KEY).getString();
+    }
+
+    /**
+     * @see org.apache.fop.fo.FONode#startOfNode
+     */
+    protected void startOfNode() throws FOPException {
+        checkId(id);
+    }
+
+    /**
+     * @see org.apache.fop.fo.FONode#validateChildNode(Locator, String, String)
+        XSL/FOP: (bookmark+)
+     */
+    protected void validateChildNode(Locator loc, String nsURI, String localName) 
+        throws ValidationException {
+        if (!(nsURI == FO_URI && (localName.equals("page-sequence") || 
+            localName.equals("page-sequence-wrapper")))) {
+                invalidChildError(loc, nsURI, localName);
+        }
+    }
+
+    /**
+     * Return the "id" property.
+     */
+    public String getId() {
+        return id;
+    }
+
+    /**
+     * Return the "id" property.
+     */
+    public String getIndexClass() {
+        return indexClass;
+    }
+
+    /**
+     * Return the "id" property.
+     */
+    public String getIndexKey() {
+        return indexKey;
+    }
+
+    /**
+     * @see org.apache.fop.fo.FObj#getName()
+     */
+    public String getName() {
+        return "fo:page-sequence-wrapper";
+    }
+
+    /**
+     * @see org.apache.fop.fo.FObj#getNameId()
+     */
+    public int getNameId() {
+        return FO_PAGE_SEQUENCE_WRAPPER;
+    }
+}
+