git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1325016 13f79535-47bb-0310-9956-ffa450edef68tags/fop-1_1rc1old
pList, | pList, | ||||
newPropertyList); | newPropertyList); | ||||
addChildTo(newChild, newParent); | addChildTo(newChild, newParent); | ||||
if (newChild.getNameId() == FO_TABLE) { | |||||
switch ( newChild.getNameId() ) { | |||||
case FO_TABLE: | |||||
Table t = (Table) child; | Table t = (Table) child; | ||||
cloneSubtree(t.getColumns().iterator(), | cloneSubtree(t.getColumns().iterator(), | ||||
newChild, marker, newPropertyList); | |||||
newChild, marker, newPropertyList); | |||||
cloneSingleNode(t.getTableHeader(), | cloneSingleNode(t.getTableHeader(), | ||||
newChild, marker, newPropertyList); | |||||
newChild, marker, newPropertyList); | |||||
cloneSingleNode(t.getTableFooter(), | cloneSingleNode(t.getTableFooter(), | ||||
newChild, marker, newPropertyList); | |||||
newChild, marker, newPropertyList); | |||||
cloneSubtree(child.getChildNodes(), | |||||
newChild, marker, newPropertyList); | |||||
break; | |||||
case FO_LIST_ITEM: | |||||
ListItem li = (ListItem) child; | |||||
cloneSingleNode(li.getLabel(), | |||||
newChild, marker, newPropertyList); | |||||
cloneSingleNode(li.getBody(), | |||||
newChild, marker, newPropertyList); | |||||
break; | |||||
default: | |||||
cloneSubtree(child.getChildNodes(), | |||||
newChild, marker, newPropertyList); | |||||
break; | |||||
} | } | ||||
cloneSubtree(child.getChildNodes(), newChild, | |||||
marker, newPropertyList); | |||||
} else if (child instanceof FOText) { | } else if (child instanceof FOText) { | ||||
FOText ft = (FOText) newChild; | FOText ft = (FOText) newChild; | ||||
ft.bind(parentPropertyList); | ft.bind(parentPropertyList); |
documents. Example: the fix of marks layering will be such a case when it's done. | documents. Example: the fix of marks layering will be such a case when it's done. | ||||
--> | --> | ||||
<release version="FOP Trunk" date="TBD"> | <release version="FOP Trunk" date="TBD"> | ||||
<action context="Code" dev="GA" type="fix" fixes-bug="52763"> | |||||
Support list-block in marker, thus preventing NPE. | |||||
</action> | |||||
<action context="Code" dev="GA" type="fix"> | <action context="Code" dev="GA" type="fix"> | ||||
Must use unqualified (local name) when reporting invalid child error. | Must use unqualified (local name) when reporting invalid child error. | ||||
</action> | </action> |
<?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$ --> | |||||
<testcase> | |||||
<info> | |||||
<p> | |||||
This test checks markers containing list-block. Seel also bug 52763. | |||||
</p> | |||||
</info> | |||||
<fo> | |||||
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"> | |||||
<fo:layout-master-set> | |||||
<fo:simple-page-master master-name="main" page-width="8.5in" page-height="11in"> | |||||
<fo:region-body margin-top="2in" margin-bottom="2in"/> | |||||
<fo:region-before extent="2in"/> | |||||
<fo:region-after extent="2in"/> | |||||
</fo:simple-page-master> | |||||
</fo:layout-master-set> | |||||
<fo:page-sequence master-reference="main"> | |||||
<fo:static-content flow-name="xsl-region-before"> | |||||
<fo:block-container height="2in" width="8.5in" position="absolute"> | |||||
<fo:block> | |||||
<fo:retrieve-marker retrieve-class-name="message"/> | |||||
</fo:block> | |||||
</fo:block-container> | |||||
</fo:static-content> | |||||
<fo:flow flow-name="xsl-region-body"> | |||||
<fo:block> | |||||
<fo:marker marker-class-name="message"> | |||||
<fo:block> | |||||
<fo:list-block> | |||||
<fo:list-item> | |||||
<fo:list-item-label> | |||||
<fo:block>A</fo:block> | |||||
</fo:list-item-label> | |||||
<fo:list-item-body start-indent="1.0in"> | |||||
<fo:block>BODY A</fo:block> | |||||
</fo:list-item-body> | |||||
</fo:list-item> | |||||
<fo:list-item> | |||||
<fo:list-item-label> | |||||
<fo:block>B</fo:block> | |||||
</fo:list-item-label> | |||||
<fo:list-item-body start-indent="1.0in"> | |||||
<fo:block>BODY B</fo:block> | |||||
</fo:list-item-body> | |||||
</fo:list-item> | |||||
</fo:list-block> | |||||
</fo:block> | |||||
</fo:marker> | |||||
</fo:block> | |||||
</fo:flow> | |||||
</fo:page-sequence> | |||||
</fo:root> | |||||
</fo> | |||||
<checks> | |||||
<eval expected="4" xpath="count(//regionBefore/descendant::lineArea)"/> | |||||
<eval expected="A" xpath="//regionBefore/descendant::lineArea[1]"/> | |||||
<eval expected="BODY A" xpath="//regionBefore/descendant::lineArea[2]"/> | |||||
<eval expected="B" xpath="//regionBefore/descendant::lineArea[3]"/> | |||||
<eval expected="BODY B" xpath="//regionBefore/descendant::lineArea[4]"/> | |||||
</checks> | |||||
</testcase> |