]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
Bugzilla 46567: fo:marker in fo:table-row produced a ValidationException
authorAndreas L. Delmelle <adelmelle@apache.org>
Thu, 22 Jan 2009 21:53:52 +0000 (21:53 +0000)
committerAndreas L. Delmelle <adelmelle@apache.org>
Thu, 22 Jan 2009 21:53:52 +0000 (21:53 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@736813 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/fop/fo/flow/table/TableRow.java
test/fotree/testcases/table-row-marker_bug46567.fo [new file with mode: 0644]

index a40b550bc6ec09476bf6df483be25ea90f0209c8..2feb45d8666a81b5ebebf732130a46597202ed94 100644 (file)
@@ -128,7 +128,12 @@ public class TableRow extends TableCellContainer implements BreakPropertySet {
                                      String localName)
                 throws ValidationException {
         if (FO_URI.equals(nsURI)) {
-            if (!localName.equals("table-cell")) {
+            if ("marker".equals(localName)) {
+                if (this.firstChild != null) {
+                    //a table-cell has already been added to this row
+                    nodesOutOfOrderError(loc, "fo:marker", "(table-cell+)");
+                }
+            } else if (!"table-cell".equals(localName)) {
                 invalidChildError(loc, nsURI, localName);
             }
         }
diff --git a/test/fotree/testcases/table-row-marker_bug46567.fo b/test/fotree/testcases/table-row-marker_bug46567.fo
new file mode 100644 (file)
index 0000000..4ee580d
--- /dev/null
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You 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$ -->
+<!-- 
+  see: http://issues.apache.org/bugzilla/show_bug.cgi?id=46567
+  Note: no real checks, should just run through without an error 
+-->
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+  <fo:layout-master-set>
+    <fo:simple-page-master master-name="page"
+      page-height="15cm" page-width="15cm" margin="1cm">
+      <fo:region-body background-color="#F0F0F0" margin-top="1cm"/>
+      <fo:region-before extent="1cm"/>
+    </fo:simple-page-master>
+  </fo:layout-master-set>
+  <fo:page-sequence master-reference="page">
+    <fo:static-content flow-name="xsl-region-before">
+      <fo:retrieve-marker retrieve-class-name="marker-in-table" 
+        retrieve-position="first-starting-within-page" retrieve-boundary="page"/>
+    </fo:static-content>
+    <fo:flow flow-name="xsl-region-body">
+      <fo:table table-layout="fixed" width="100%">
+        <fo:table-header>
+          <fo:table-cell><fo:block>Header 1</fo:block></fo:table-cell>
+          <fo:table-cell><fo:block>Header 2</fo:block></fo:table-cell>
+        </fo:table-header>
+        <fo:table-body>
+          <fo:table-row>
+            <fo:marker marker-class-name="marker-in-table"><fo:block>The marker from the 
+                table</fo:block></fo:marker>
+            <fo:table-cell><fo:block>Cell 1.1</fo:block></fo:table-cell>
+            <fo:table-cell><fo:block>Cell 1.2</fo:block></fo:table-cell>
+          </fo:table-row>
+          <fo:table-row>
+            <fo:table-cell><fo:block>Cell 2.1</fo:block></fo:table-cell>
+            <fo:table-cell><fo:block>Cell 2.2</fo:block></fo:table-cell>
+          </fo:table-row>
+        </fo:table-body>
+      </fo:table>
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>