Browse Source

Added missing generation of areas for empty grid units in tables with collapsing border model.

git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@690319 13f79535-47bb-0310-9956-ffa450edef68
tags/fop-1_0
Jeremias Maerki 16 years ago
parent
commit
5313249fe5

+ 100
- 5
src/java/org/apache/fop/layoutmgr/table/RowPainter.java View File

@@ -27,13 +27,19 @@ import java.util.ListIterator;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import org.apache.fop.area.Block;
import org.apache.fop.area.Trait;
import org.apache.fop.fo.flow.table.ConditionalBorder;
import org.apache.fop.fo.flow.table.EffRow;
import org.apache.fop.fo.flow.table.EmptyGridUnit;
import org.apache.fop.fo.flow.table.GridUnit;
import org.apache.fop.fo.flow.table.PrimaryGridUnit;
import org.apache.fop.fo.flow.table.Table;
import org.apache.fop.fo.flow.table.TableColumn;
import org.apache.fop.fo.flow.table.TablePart;
import org.apache.fop.fo.properties.CommonBorderPaddingBackground;
import org.apache.fop.fo.properties.CommonBorderPaddingBackground.BorderInfo;
import org.apache.fop.layoutmgr.ElementListUtils;
import org.apache.fop.layoutmgr.KnuthElement;
import org.apache.fop.layoutmgr.KnuthPossPosIter;
@@ -202,10 +208,16 @@ class RowPainter {
recordRowOffset(currentRow.getIndex(), currentRowOffset);

// Need to compute the actual row height first
// and determine border behaviour for empty cells
boolean firstCellPart = true;
boolean lastCellPart = true;
int actualRowHeight = 0;
for (int i = 0; i < colCount; i++) {
GridUnit currentGU = currentRow.getGridUnit(i);
if (!currentGU.isEmpty() && currentGU.getColSpanIndex() == 0
if (currentGU.isEmpty()) {
continue;
}
if (currentGU.getColSpanIndex() == 0
&& (lastInPart || currentGU.isLastGridUnitRowSpan())
&& firstCellParts[i] != null) {
// TODO
@@ -225,21 +237,53 @@ class RowPainter {
actualRowHeight = Math.max(actualRowHeight, cellOffset + cellHeight
- currentRowOffset);
}

if (firstCellParts[i] != null && !firstCellParts[i].isFirstPart()) {
firstCellPart = false;
}
if (lastCellParts[i] != null && !lastCellParts[i].isLastPart()) {
lastCellPart = false;
}
}

// Then add areas for cells finishing on the current row
for (int i = 0; i < colCount; i++) {
GridUnit currentGU = currentRow.getGridUnit(i);
if (currentGU.isEmpty()) {
// TODO remove once missing cells are properly implemented (i.e., replaced
// by an fo:table-cell element containing an empty fo:block)
if (currentGU.isEmpty() && !tclm.isSeparateBorderModel()) {
int borderBeforeWhich;
if (firstCellPart) {
if (firstCellOnPage[i]) {
borderBeforeWhich = ConditionalBorder.LEADING_TRAILING;
} else {
borderBeforeWhich = ConditionalBorder.NORMAL;
}
} else {
borderBeforeWhich = ConditionalBorder.REST;
}
int borderAfterWhich;
if (lastCellPart) {
if (lastInPart) {
borderAfterWhich = ConditionalBorder.LEADING_TRAILING;
} else {
borderAfterWhich = ConditionalBorder.NORMAL;
}
} else {
borderAfterWhich = ConditionalBorder.REST;
}
addAreaForEmptyGridUnit((EmptyGridUnit)currentGU,
currentRow.getIndex(), i,
actualRowHeight,
borderBeforeWhich, borderAfterWhich,
lastOnPage);

firstCellOnPage[i] = false;
} else if (currentGU.getColSpanIndex() == 0
&& (lastInPart || currentGU.isLastGridUnitRowSpan())
&& firstCellParts[i] != null) {
assert firstCellParts[i].pgu == currentGU.getPrimary();

int borderBeforeWhich;
if (firstCellParts[i].start == 0) {
if (firstCellParts[i].isFirstPart()) {
if (firstCellOnPage[i]) {
borderBeforeWhich = ConditionalBorder.LEADING_TRAILING;
} else {
@@ -259,6 +303,7 @@ class RowPainter {
} else {
borderAfterWhich = ConditionalBorder.REST;
}

addAreasForCell(firstCellParts[i].pgu,
firstCellParts[i].start, lastCellParts[i].end,
actualRowHeight, borderBeforeWhich, borderAfterWhich,
@@ -387,6 +432,56 @@ class RowPainter {
startRowIndex == firstRowOnPageIndex, lastOnPage, this, firstRowHeight);
}

private void addAreaForEmptyGridUnit(EmptyGridUnit gu, int rowIndex, int colIndex,
int actualRowHeight,
int borderBeforeWhich, int borderAfterWhich, boolean lastOnPage) {

//get effective borders
BorderInfo borderBefore = gu.getBorderBefore(borderBeforeWhich);
BorderInfo borderAfter = gu.getBorderAfter(borderAfterWhich);
BorderInfo borderStart = gu.getBorderStart();
BorderInfo borderEnd = gu.getBorderEnd();
if (borderBefore.getRetainedWidth() == 0
&& borderAfter.getRetainedWidth() == 0
&& borderStart.getRetainedWidth() == 0
&& borderEnd.getRetainedWidth() == 0) {
return; //no borders, no area necessary
}

TableLayoutManager tableLM = tclm.getTableLM();
Table table = tableLM.getTable();
TableColumn col = tclm.getColumns().getColumn(colIndex + 1);

//position information
boolean firstOnPage = (rowIndex == firstRowOnPageIndex);
boolean inFirstColumn = (colIndex == 0);
boolean inLastColumn = (colIndex == table.getNumberOfColumns() - 1);

//determine the block area's size
int ipd = col.getColumnWidth().getValue(tableLM);
ipd -= (borderStart.getRetainedWidth() + borderEnd.getRetainedWidth()) / 2;
int bpd = actualRowHeight;
bpd -= (borderBefore.getRetainedWidth() + borderAfter.getRetainedWidth()) / 2;

//generate the block area
Block block = new Block();
block.setPositioning(Block.ABSOLUTE);
block.addTrait(Trait.IS_REFERENCE_AREA, Boolean.TRUE);
block.setIPD(ipd);
block.setBPD(bpd);
block.setXOffset(tclm.getXOffsetOfGridUnit(colIndex)
+ (borderStart.getRetainedWidth() / 2));
block.setYOffset(getRowOffset(rowIndex)
- (borderBefore.getRetainedWidth() / 2));
boolean[] outer = new boolean[] {firstOnPage, lastOnPage, inFirstColumn,
inLastColumn};
TraitSetter.addCollapsingBorders(block,
borderBefore,
borderAfter,
borderStart,
borderEnd, outer);
tableLM.addChildArea(block);
}

/**
* Registers the given area, that will be used to render the part of

+ 11
- 3
src/java/org/apache/fop/layoutmgr/table/TableContentLayoutManager.java View File

@@ -305,13 +305,21 @@ public class TableContentLayoutManager implements PercentBaseContext {
}

/**
* Retuns the X offset of the given grid unit.
* Returns the X offset of the given grid unit.
* @param gu the grid unit
* @return the requested X offset
*/
protected int getXOffsetOfGridUnit(PrimaryGridUnit gu) {
int col = gu.getColIndex();
return startXOffset + getTableLM().getColumns().getXOffset(col + 1, getTableLM());
return getXOffsetOfGridUnit(gu.getColIndex());
}

/**
* Returns the X offset of the grid unit in the given column.
* @param colIndex the column index (zero-based)
* @return the requested X offset
*/
protected int getXOffsetOfGridUnit(int colIndex) {
return startXOffset + getTableLM().getColumns().getXOffset(colIndex + 1, getTableLM());
}

/**

+ 4
- 0
status.xml View File

@@ -53,6 +53,10 @@

<changes>
<release version="FOP Trunk" date="TBD">
<action context="Layout" dev="JM" type="add">
Added missing generation of areas for empty grid units in tables with collapsing border
model.
</action>
<action context="Code" dev="JM" type="fix" importance="high">
Fixed memory leak in property cache (not cleaning stale PropertyCache$CacheEntry instances).
</action>

+ 43
- 44
test/layoutengine/standard-testcases/table_border-collapse_collapse_spans_2.xml View File

@@ -434,69 +434,68 @@
<eval expected="(double,#800000,6000,collapse-outer)" xpath="//flow/block[2]/block[19]/@border-after"/>
<eval expected="(solid,#800000,6000,collapse-outer)" xpath="//flow/block[2]/block[19]/@border-start"/>
<eval expected="(solid,#800000,6000,collapse-inner)" xpath="//flow/block[2]/block[19]/@border-end"/>
<!--
<eval expected="94000" xpath="//flow/block[2]/block[20]/@ipd"/>
<eval expected="106000" xpath="//flow/block[2]/block[20]/@ipda"/>
<eval expected="52200" xpath="//flow/block[2]/block[20]/@bpd"/>
<eval expected="52200" xpath="//flow/block[2]/block[20]/@bpda"/>
<eval expected="103000" xpath="//flow/block[2]/block[20]/@left-offset"/>
<eval expected="241100" xpath="//flow/block[2]/block[20]/@top-offset"/>
<eval expected="(double,#800000,0,collapse-outer)" xpath="//flow/block[2]/block[20]/@border-after"/>
<eval expected="" xpath="//flow/block[2]/block[20]/@border-before"/>
<eval expected="" xpath="//flow/block[2]/block[20]/@border-after"/>
<eval expected="(solid,#800000,6000,collapse-inner)" xpath="//flow/block[2]/block[20]/@border-start"/>
<eval expected="(solid,#008000,6000,collapse-inner)" xpath="//flow/block[2]/block[20]/@border-end"/>
-->
<eval expected="97000" xpath="//flow/block[2]/block[20]/@ipd"/>
<eval expected="103000" xpath="//flow/block[2]/block[20]/@ipda"/>
<eval expected="41300" xpath="//flow/block[2]/block[20]/@bpd"/>
<eval expected="81300" xpath="//flow/block[2]/block[20]/@bpda"/>
<eval expected="203000" xpath="//flow/block[2]/block[20]/@left-offset"/>
<eval expected="115400" xpath="//flow/block[2]/block[20]/@top-offset"/>
<eval expected="(double,#008000,40000,collapse-inner)" xpath="//flow/block[2]/block[20]/@border-before"/>
<eval expected="(solid,#008000,6000,collapse-inner)" xpath="//flow/block[2]/block[20]/@border-start"/>
<eval expected="97500" xpath="//flow/block[2]/block[21]/@ipd"/>
<eval expected="102500" xpath="//flow/block[2]/block[21]/@ipda"/>
<eval expected="97000" xpath="//flow/block[2]/block[21]/@ipd"/>
<eval expected="103000" xpath="//flow/block[2]/block[21]/@ipda"/>
<eval expected="41300" xpath="//flow/block[2]/block[21]/@bpd"/>
<eval expected="81300" xpath="//flow/block[2]/block[21]/@bpda"/>
<eval expected="300000" xpath="//flow/block[2]/block[21]/@left-offset"/>
<eval expected="203000" xpath="//flow/block[2]/block[21]/@left-offset"/>
<eval expected="115400" xpath="//flow/block[2]/block[21]/@top-offset"/>
<eval expected="(double,#008000,40000,collapse-inner)" xpath="//flow/block[2]/block[21]/@border-before"/>
<eval expected="(dashed,#008000,5000,collapse-outer)" xpath="//flow/block[2]/block[21]/@border-end"/>
<eval expected="70000" xpath="//flow/block[2]/block[22]/@ipd"/>
<eval expected="130000" xpath="//flow/block[2]/block[22]/@ipda"/>
<eval expected="44400" xpath="//flow/block[2]/block[22]/@bpd"/>
<eval expected="44400" xpath="//flow/block[2]/block[22]/@bpda"/>
<eval expected="230000" xpath="//flow/block[2]/block[22]/@left-offset"/>
<eval expected="196700" xpath="//flow/block[2]/block[22]/@top-offset"/>
<eval expected="(solid,#c0c0c0,60000,collapse-inner)" xpath="//flow/block[2]/block[22]/@border-start"/>
<eval expected="97500" xpath="//flow/block[2]/block[23]/@ipd"/>
<eval expected="102500" xpath="//flow/block[2]/block[23]/@ipda"/>
<eval expected="(solid,#008000,6000,collapse-inner)" xpath="//flow/block[2]/block[21]/@border-start"/>
<eval expected="97500" xpath="//flow/block[2]/block[22]/@ipd"/>
<eval expected="102500" xpath="//flow/block[2]/block[22]/@ipda"/>
<eval expected="41300" xpath="//flow/block[2]/block[22]/@bpd"/>
<eval expected="81300" xpath="//flow/block[2]/block[22]/@bpda"/>
<eval expected="300000" xpath="//flow/block[2]/block[22]/@left-offset"/>
<eval expected="115400" xpath="//flow/block[2]/block[22]/@top-offset"/>
<eval expected="(double,#008000,40000,collapse-inner)" xpath="//flow/block[2]/block[22]/@border-before"/>
<eval expected="(dashed,#008000,5000,collapse-outer)" xpath="//flow/block[2]/block[22]/@border-end"/>
<eval expected="70000" xpath="//flow/block[2]/block[23]/@ipd"/>
<eval expected="130000" xpath="//flow/block[2]/block[23]/@ipda"/>
<eval expected="44400" xpath="//flow/block[2]/block[23]/@bpd"/>
<eval expected="44400" xpath="//flow/block[2]/block[23]/@bpda"/>
<eval expected="300000" xpath="//flow/block[2]/block[23]/@left-offset"/>
<eval expected="230000" xpath="//flow/block[2]/block[23]/@left-offset"/>
<eval expected="196700" xpath="//flow/block[2]/block[23]/@top-offset"/>
<eval expected="(dashed,#008000,5000,collapse-outer)" xpath="//flow/block[2]/block[23]/@border-end"/>
<eval expected="97000" xpath="//flow/block[2]/block[24]/@ipd"/>
<eval expected="103000" xpath="//flow/block[2]/block[24]/@ipda"/>
<eval expected="49700" xpath="//flow/block[2]/block[24]/@bpd"/>
<eval expected="54700" xpath="//flow/block[2]/block[24]/@bpda"/>
<eval expected="203000" xpath="//flow/block[2]/block[24]/@left-offset"/>
<eval expected="241100" xpath="//flow/block[2]/block[24]/@top-offset"/>
<eval expected="(solid,#008000,5000,collapse-outer)" xpath="//flow/block[2]/block[24]/@border-after"/>
<eval expected="(solid,#008000,6000,collapse-inner)" xpath="//flow/block[2]/block[24]/@border-start"/>
<eval expected="97500" xpath="//flow/block[2]/block[25]/@ipd"/>
<eval expected="102500" xpath="//flow/block[2]/block[25]/@ipda"/>
<eval expected="(solid,#c0c0c0,60000,collapse-inner)" xpath="//flow/block[2]/block[23]/@border-start"/>
<eval expected="97500" xpath="//flow/block[2]/block[24]/@ipd"/>
<eval expected="102500" xpath="//flow/block[2]/block[24]/@ipda"/>
<eval expected="44400" xpath="//flow/block[2]/block[24]/@bpd"/>
<eval expected="44400" xpath="//flow/block[2]/block[24]/@bpda"/>
<eval expected="300000" xpath="//flow/block[2]/block[24]/@left-offset"/>
<eval expected="196700" xpath="//flow/block[2]/block[24]/@top-offset"/>
<eval expected="(dashed,#008000,5000,collapse-outer)" xpath="//flow/block[2]/block[24]/@border-end"/>
<eval expected="97000" xpath="//flow/block[2]/block[25]/@ipd"/>
<eval expected="103000" xpath="//flow/block[2]/block[25]/@ipda"/>
<eval expected="49700" xpath="//flow/block[2]/block[25]/@bpd"/>
<eval expected="54700" xpath="//flow/block[2]/block[25]/@bpda"/>
<eval expected="300000" xpath="//flow/block[2]/block[25]/@left-offset"/>
<eval expected="203000" xpath="//flow/block[2]/block[25]/@left-offset"/>
<eval expected="241100" xpath="//flow/block[2]/block[25]/@top-offset"/>
<eval expected="(solid,#008000,5000,collapse-outer)" xpath="//flow/block[2]/block[25]/@border-after"/>
<eval expected="(dashed,#008000,5000,collapse-outer)" xpath="//flow/block[2]/block[25]/@border-end"/>
<eval expected="167500" xpath="//flow/block[2]/block[26]/@ipd"/>
<eval expected="167500" xpath="//flow/block[2]/block[26]/@ipda"/>
<eval expected="135400" xpath="//flow/block[2]/block[26]/@bpd"/>
<eval expected="135400" xpath="//flow/block[2]/block[26]/@bpda"/>
<eval expected="230000" xpath="//flow/block[2]/block[26]/@left-offset"/>
<eval expected="155400" xpath="//flow/block[2]/block[26]/@top-offset"/>
<eval expected="(solid,#008000,6000,collapse-inner)" xpath="//flow/block[2]/block[25]/@border-start"/>
<eval expected="97500" xpath="//flow/block[2]/block[26]/@ipd"/>
<eval expected="102500" xpath="//flow/block[2]/block[26]/@ipda"/>
<eval expected="49700" xpath="//flow/block[2]/block[26]/@bpd"/>
<eval expected="54700" xpath="//flow/block[2]/block[26]/@bpda"/>
<eval expected="300000" xpath="//flow/block[2]/block[26]/@left-offset"/>
<eval expected="241100" xpath="//flow/block[2]/block[26]/@top-offset"/>
<eval expected="(solid,#008000,5000,collapse-outer)" xpath="//flow/block[2]/block[26]/@border-after"/>
<eval expected="(dashed,#008000,5000,collapse-outer)" xpath="//flow/block[2]/block[26]/@border-end"/>
<eval expected="167500" xpath="//flow/block[2]/block[27]/@ipd"/>
<eval expected="167500" xpath="//flow/block[2]/block[27]/@ipda"/>
<eval expected="135400" xpath="//flow/block[2]/block[27]/@bpd"/>
<eval expected="135400" xpath="//flow/block[2]/block[27]/@bpda"/>
<eval expected="230000" xpath="//flow/block[2]/block[27]/@left-offset"/>
<eval expected="155400" xpath="//flow/block[2]/block[27]/@top-offset"/>

<!-- table 2 -->
<eval expected="199300" xpath="//flow/block[4]/@bpd"/>

+ 164
- 162
test/layoutengine/standard-testcases/table_border-collapse_collapse_spans_2_no-col.xml View File

@@ -279,184 +279,186 @@
<eval expected="(solid,#c0c0c0,6000,collapse-outer)" xpath="//flow/block[2]/block[2]/@border-before"/>
<eval expected="(solid,#c0c0c0,6000,collapse-inner)" xpath="//flow/block[2]/block[2]/@border-start"/>
<eval expected="(solid,#c0c0c0,6000,collapse-inner)" xpath="//flow/block[2]/block[2]/@border-end"/>
<eval expected="92000" xpath="//flow/block[2]/block[3]/@ipd"/>
<eval expected="108000" xpath="//flow/block[2]/block[3]/@ipda"/>
<eval expected="43200" xpath="//flow/block[2]/block[3]/@bpd"/>
<eval expected="61200" xpath="//flow/block[2]/block[3]/@bpda"/>
<eval expected="3000" xpath="//flow/block[2]/block[3]/@left-offset"/>
<eval expected="16400" xpath="//flow/block[2]/block[3]/@top-offset"/>
<eval expected="(solid,#800000,12000,collapse-inner)" xpath="//flow/block[2]/block[3]/@border-before"/>
<eval expected="(double,#800000,6000,collapse-inner)" xpath="//flow/block[2]/block[3]/@border-after"/>
<eval expected="(solid,#800000,6000,collapse-outer)" xpath="//flow/block[2]/block[3]/@border-start"/>
<eval expected="(dashed,#ff0000,10000,collapse-inner)" xpath="//flow/block[2]/block[3]/@border-end"/>
<eval expected="80000" xpath="//flow/block[2]/block[4]/@ipd"/>
<eval expected="120000" xpath="//flow/block[2]/block[4]/@ipda"/>
<eval expected="30900" xpath="//flow/block[2]/block[4]/@bpd"/>
<eval expected="42900" xpath="//flow/block[2]/block[4]/@bpda"/>
<eval expected="15000" xpath="//flow/block[2]/block[4]/@left-offset"/>
<eval expected="71600" xpath="//flow/block[2]/block[4]/@top-offset"/>
<eval expected="(double,#ff00ff,6000,collapse-inner)" xpath="//flow/block[2]/block[4]/@border-before"/>
<eval expected="(inset,#ff00ff,6000,collapse-inner)" xpath="//flow/block[2]/block[4]/@border-after"/>
<eval expected="(solid,#ff00ff,30000,collapse-outer)" xpath="//flow/block[2]/block[4]/@border-start"/>
<!-- block[3] is an empty cell -->
<eval expected="92000" xpath="//flow/block[2]/block[4]/@ipd"/>
<eval expected="108000" xpath="//flow/block[2]/block[4]/@ipda"/>
<eval expected="43200" xpath="//flow/block[2]/block[4]/@bpd"/>
<eval expected="61200" xpath="//flow/block[2]/block[4]/@bpda"/>
<eval expected="3000" xpath="//flow/block[2]/block[4]/@left-offset"/>
<eval expected="16400" xpath="//flow/block[2]/block[4]/@top-offset"/>
<eval expected="(solid,#800000,12000,collapse-inner)" xpath="//flow/block[2]/block[4]/@border-before"/>
<eval expected="(double,#800000,6000,collapse-inner)" xpath="//flow/block[2]/block[4]/@border-after"/>
<eval expected="(solid,#800000,6000,collapse-outer)" xpath="//flow/block[2]/block[4]/@border-start"/>
<eval expected="(dashed,#ff0000,10000,collapse-inner)" xpath="//flow/block[2]/block[4]/@border-end"/>
<eval expected="95000" xpath="//flow/block[2]/block[5]/@ipd"/>
<eval expected="105000" xpath="//flow/block[2]/block[5]/@ipda"/>
<eval expected="52200" xpath="//flow/block[2]/block[5]/@bpd"/>
<eval expected="52200" xpath="//flow/block[2]/block[5]/@bpda"/>
<eval expected="105000" xpath="//flow/block[2]/block[5]/@left-offset"/>
<eval expected="22400" xpath="//flow/block[2]/block[5]/@top-offset"/>
<eval expected="(dashed,#ff0000,10000,collapse-inner)" xpath="//flow/block[2]/block[5]/@border-start"/>
<eval expected="98000" xpath="//flow/block[2]/block[6]/@ipd"/>
<eval expected="102000" xpath="//flow/block[2]/block[6]/@ipda"/>
<eval expected="50200" xpath="//flow/block[2]/block[6]/@bpd"/>
<eval expected="54200" xpath="//flow/block[2]/block[6]/@bpda"/>
<eval expected="200000" xpath="//flow/block[2]/block[6]/@left-offset"/>
<eval expected="20400" xpath="//flow/block[2]/block[6]/@top-offset"/>
<eval expected="(solid,#ff0000,4000,collapse-inner)" xpath="//flow/block[2]/block[6]/@border-before"/>
<eval expected="(double,#ff0000,4000,collapse-inner)" xpath="//flow/block[2]/block[6]/@border-end"/>
<!-- block[5] is an empty cell -->
<!-- 3.1: -->
<eval expected="80000" xpath="//flow/block[2]/block[6]/@ipd"/>
<eval expected="120000" xpath="//flow/block[2]/block[6]/@ipda"/>
<eval expected="30900" xpath="//flow/block[2]/block[6]/@bpd"/>
<eval expected="42900" xpath="//flow/block[2]/block[6]/@bpda"/>
<eval expected="15000" xpath="//flow/block[2]/block[6]/@left-offset"/>
<eval expected="71600" xpath="//flow/block[2]/block[6]/@top-offset"/>
<eval expected="(double,#ff00ff,6000,collapse-inner)" xpath="//flow/block[2]/block[6]/@border-before"/>
<eval expected="(inset,#ff00ff,6000,collapse-inner)" xpath="//flow/block[2]/block[6]/@border-after"/>
<eval expected="(solid,#ff00ff,30000,collapse-outer)" xpath="//flow/block[2]/block[6]/@border-start"/>
<eval expected="(dashed,#ff0000,10000,collapse-inner)" xpath="//flow/block[2]/block[6]/@border-end"/>
<!-- 4x border-only cells for 2.2: -->
<eval expected="95000" xpath="//flow/block[2]/block[7]/@ipd"/>
<eval expected="105000" xpath="//flow/block[2]/block[7]/@ipda"/>
<eval expected="34400" xpath="//flow/block[2]/block[7]/@bpd"/>
<eval expected="39400" xpath="//flow/block[2]/block[7]/@bpda"/>
<eval expected="52200" xpath="//flow/block[2]/block[7]/@bpd"/>
<eval expected="52200" xpath="//flow/block[2]/block[7]/@bpda"/>
<eval expected="105000" xpath="//flow/block[2]/block[7]/@left-offset"/>
<eval expected="74600" xpath="//flow/block[2]/block[7]/@top-offset"/>
<eval expected="(outset,#c0c0c0,5000,collapse-inner)" xpath="//flow/block[2]/block[7]/@border-after"/>
<eval expected="22400" xpath="//flow/block[2]/block[7]/@top-offset"/>
<eval expected="(dashed,#ff0000,10000,collapse-inner)" xpath="//flow/block[2]/block[7]/@border-start"/>
<eval expected="98000" xpath="//flow/block[2]/block[8]/@ipd"/>
<eval expected="102000" xpath="//flow/block[2]/block[8]/@ipda"/>
<eval expected="16900" xpath="//flow/block[2]/block[8]/@bpd"/>
<eval expected="56900" xpath="//flow/block[2]/block[8]/@bpda"/>
<eval expected="50200" xpath="//flow/block[2]/block[8]/@bpd"/>
<eval expected="54200" xpath="//flow/block[2]/block[8]/@bpda"/>
<eval expected="200000" xpath="//flow/block[2]/block[8]/@left-offset"/>
<eval expected="74600" xpath="//flow/block[2]/block[8]/@top-offset"/>
<eval expected="(double,#008000,40000,collapse-inner)" xpath="//flow/block[2]/block[8]/@border-after"/>
<eval expected="20400" xpath="//flow/block[2]/block[8]/@top-offset"/>
<eval expected="(solid,#ff0000,4000,collapse-inner)" xpath="//flow/block[2]/block[8]/@border-before"/>
<eval expected="(double,#ff0000,4000,collapse-inner)" xpath="//flow/block[2]/block[8]/@border-end"/>
<eval expected="193000" xpath="//flow/block[2]/block[9]/@ipd"/>
<eval expected="193000" xpath="//flow/block[2]/block[9]/@ipda"/>
<eval expected="67100" xpath="//flow/block[2]/block[9]/@bpd"/>
<eval expected="67100" xpath="//flow/block[2]/block[9]/@bpda"/>
<eval expected="95000" xpath="//flow/block[2]/block[9]/@ipd"/>
<eval expected="105000" xpath="//flow/block[2]/block[9]/@ipda"/>
<eval expected="34400" xpath="//flow/block[2]/block[9]/@bpd"/>
<eval expected="39400" xpath="//flow/block[2]/block[9]/@bpda"/>
<eval expected="105000" xpath="//flow/block[2]/block[9]/@left-offset"/>
<eval expected="24400" xpath="//flow/block[2]/block[9]/@top-offset"/>
<eval expected="74600" xpath="//flow/block[2]/block[9]/@top-offset"/>
<eval expected="(outset,#c0c0c0,5000,collapse-inner)" xpath="//flow/block[2]/block[9]/@border-after"/>
<eval expected="(dashed,#ff0000,10000,collapse-inner)" xpath="//flow/block[2]/block[9]/@border-start"/>
<eval expected="98000" xpath="//flow/block[2]/block[10]/@ipd"/>
<eval expected="102000" xpath="//flow/block[2]/block[10]/@ipda"/>
<eval expected="14400" xpath="//flow/block[2]/block[10]/@bpd"/>
<eval expected="59400" xpath="//flow/block[2]/block[10]/@bpda"/>
<eval expected="302000" xpath="//flow/block[2]/block[10]/@left-offset"/>
<eval expected="72100" xpath="//flow/block[2]/block[10]/@top-offset"/>
<eval expected="(ridge,#800000,5000,collapse-inner)" xpath="//flow/block[2]/block[10]/@border-before"/>
<eval expected="16900" xpath="//flow/block[2]/block[10]/@bpd"/>
<eval expected="56900" xpath="//flow/block[2]/block[10]/@bpda"/>
<eval expected="200000" xpath="//flow/block[2]/block[10]/@left-offset"/>
<eval expected="74600" xpath="//flow/block[2]/block[10]/@top-offset"/>
<eval expected="(double,#008000,40000,collapse-inner)" xpath="//flow/block[2]/block[10]/@border-after"/>
<eval expected="(double,#ff0000,4000,collapse-inner)" xpath="//flow/block[2]/block[10]/@border-start"/>
<eval expected="78000" xpath="//flow/block[2]/block[11]/@ipd"/>
<eval expected="122000" xpath="//flow/block[2]/block[11]/@ipda"/>
<eval expected="56300" xpath="//flow/block[2]/block[11]/@bpd"/>
<eval expected="66300" xpath="//flow/block[2]/block[11]/@bpda"/>
<eval expected="2000" xpath="//flow/block[2]/block[11]/@left-offset"/>
<eval expected="108500" xpath="//flow/block[2]/block[11]/@top-offset"/>
<eval expected="(inset,#000000,6000,collapse-inner)" xpath="//flow/block[2]/block[11]/@border-before"/>
<eval expected="(solid,#000000,4000,collapse-inner)" xpath="//flow/block[2]/block[11]/@border-after"/>
<eval expected="(solid,#000000,4000,collapse-outer)" xpath="//flow/block[2]/block[11]/@border-start"/>
<eval expected="(solid,#000000,40000,collapse-inner)" xpath="//flow/block[2]/block[11]/@border-end"/>
<eval expected="77000" xpath="//flow/block[2]/block[12]/@ipd"/>
<eval expected="123000" xpath="//flow/block[2]/block[12]/@ipda"/>
<eval expected="28800" xpath="//flow/block[2]/block[12]/@bpd"/>
<eval expected="93800" xpath="//flow/block[2]/block[12]/@bpda"/>
<eval expected="120000" xpath="//flow/block[2]/block[12]/@left-offset"/>
<eval expected="109000" xpath="//flow/block[2]/block[12]/@top-offset"/>
<eval expected="(outset,#c0c0c0,5000,collapse-inner)" xpath="//flow/block[2]/block[12]/@border-before"/>
<eval expected="(solid,#c0c0c0,60000,collapse-inner)" xpath="//flow/block[2]/block[12]/@border-after"/>
<eval expected="(solid,#000000,40000,collapse-inner)" xpath="//flow/block[2]/block[12]/@border-start"/>
<eval expected="(solid,#008000,6000,collapse-inner)" xpath="//flow/block[2]/block[12]/@border-end"/>
<eval expected="95000" xpath="//flow/block[2]/block[13]/@ipd"/>
<eval expected="105000" xpath="//flow/block[2]/block[13]/@ipda"/>
<eval expected="36400" xpath="//flow/block[2]/block[13]/@bpd"/>
<eval expected="52400" xpath="//flow/block[2]/block[13]/@bpda"/>
<eval expected="(double,#ff0000,4000,collapse-inner)" xpath="//flow/block[2]/block[10]/@border-end"/>
<eval expected="193000" xpath="//flow/block[2]/block[11]/@ipd"/>
<eval expected="193000" xpath="//flow/block[2]/block[11]/@ipda"/>
<eval expected="67100" xpath="//flow/block[2]/block[11]/@bpd"/>
<eval expected="67100" xpath="//flow/block[2]/block[11]/@bpda"/>
<eval expected="105000" xpath="//flow/block[2]/block[11]/@left-offset"/>
<eval expected="24400" xpath="//flow/block[2]/block[11]/@top-offset"/>
<eval expected="98000" xpath="//flow/block[2]/block[12]/@ipd"/>
<eval expected="102000" xpath="//flow/block[2]/block[12]/@ipda"/>
<eval expected="14400" xpath="//flow/block[2]/block[12]/@bpd"/>
<eval expected="59400" xpath="//flow/block[2]/block[12]/@bpda"/>
<eval expected="302000" xpath="//flow/block[2]/block[12]/@left-offset"/>
<eval expected="72100" xpath="//flow/block[2]/block[12]/@top-offset"/>
<eval expected="(ridge,#800000,5000,collapse-inner)" xpath="//flow/block[2]/block[12]/@border-before"/>
<eval expected="(double,#008000,40000,collapse-inner)" xpath="//flow/block[2]/block[12]/@border-after"/>
<eval expected="(double,#ff0000,4000,collapse-inner)" xpath="//flow/block[2]/block[12]/@border-start"/>
<eval expected="78000" xpath="//flow/block[2]/block[13]/@ipd"/>
<eval expected="122000" xpath="//flow/block[2]/block[13]/@ipda"/>
<eval expected="56300" xpath="//flow/block[2]/block[13]/@bpd"/>
<eval expected="66300" xpath="//flow/block[2]/block[13]/@bpda"/>
<eval expected="2000" xpath="//flow/block[2]/block[13]/@left-offset"/>
<eval expected="170800" xpath="//flow/block[2]/block[13]/@top-offset"/>
<eval expected="(solid,#000000,4000,collapse-inner)" xpath="//flow/block[2]/block[13]/@border-before"/>
<eval expected="(solid,#800000,12000,collapse-inner)" xpath="//flow/block[2]/block[13]/@border-after"/>
<eval expected="108500" xpath="//flow/block[2]/block[13]/@top-offset"/>
<eval expected="(inset,#000000,6000,collapse-inner)" xpath="//flow/block[2]/block[13]/@border-before"/>
<eval expected="(solid,#000000,4000,collapse-inner)" xpath="//flow/block[2]/block[13]/@border-after"/>
<eval expected="(solid,#000000,4000,collapse-outer)" xpath="//flow/block[2]/block[13]/@border-start"/>
<eval expected="(solid,#c0c0c0,6000,collapse-inner)" xpath="//flow/block[2]/block[13]/@border-end"/>
<eval expected="67000" xpath="//flow/block[2]/block[14]/@ipd"/>
<eval expected="133000" xpath="//flow/block[2]/block[14]/@ipda"/>
<eval expected="14400" xpath="//flow/block[2]/block[14]/@bpd"/>
<eval expected="74400" xpath="//flow/block[2]/block[14]/@bpda"/>
<eval expected="103000" xpath="//flow/block[2]/block[14]/@left-offset"/>
<eval expected="142800" xpath="//flow/block[2]/block[14]/@top-offset"/>
<eval expected="(solid,#c0c0c0,60000,collapse-inner)" xpath="//flow/block[2]/block[14]/@border-before"/>
<eval expected="(solid,#c0c0c0,6000,collapse-inner)" xpath="//flow/block[2]/block[14]/@border-start"/>
<eval expected="(solid,#c0c0c0,60000,collapse-inner)" xpath="//flow/block[2]/block[14]/@border-end"/>
<eval expected="94000" xpath="//flow/block[2]/block[15]/@ipd"/>
<eval expected="106000" xpath="//flow/block[2]/block[15]/@ipda"/>
<eval expected="43200" xpath="//flow/block[2]/block[15]/@bpd"/>
<eval expected="61200" xpath="//flow/block[2]/block[15]/@bpda"/>
<eval expected="3000" xpath="//flow/block[2]/block[15]/@left-offset"/>
<eval expected="211200" xpath="//flow/block[2]/block[15]/@top-offset"/>
<eval expected="(solid,#800000,12000,collapse-inner)" xpath="//flow/block[2]/block[15]/@border-before"/>
<eval expected="(double,#800000,6000,collapse-outer)" xpath="//flow/block[2]/block[15]/@border-after"/>
<eval expected="(solid,#800000,6000,collapse-outer)" xpath="//flow/block[2]/block[15]/@border-start"/>
<eval expected="(solid,#800000,6000,collapse-inner)" xpath="//flow/block[2]/block[15]/@border-end"/>
<!--
<eval expected="94000" xpath="//flow/block[2]/block[16]/@ipd"/>
<eval expected="106000" xpath="//flow/block[2]/block[16]/@ipda"/>
<eval expected="52200" xpath="//flow/block[2]/block[16]/@bpd"/>
<eval expected="52200" xpath="//flow/block[2]/block[16]/@bpda"/>
<eval expected="(solid,#000000,40000,collapse-inner)" xpath="//flow/block[2]/block[13]/@border-end"/>
<eval expected="77000" xpath="//flow/block[2]/block[14]/@ipd"/>
<eval expected="123000" xpath="//flow/block[2]/block[14]/@ipda"/>
<eval expected="28800" xpath="//flow/block[2]/block[14]/@bpd"/>
<eval expected="93800" xpath="//flow/block[2]/block[14]/@bpda"/>
<eval expected="120000" xpath="//flow/block[2]/block[14]/@left-offset"/>
<eval expected="109000" xpath="//flow/block[2]/block[14]/@top-offset"/>
<eval expected="(outset,#c0c0c0,5000,collapse-inner)" xpath="//flow/block[2]/block[14]/@border-before"/>
<eval expected="(solid,#c0c0c0,60000,collapse-inner)" xpath="//flow/block[2]/block[14]/@border-after"/>
<eval expected="(solid,#000000,40000,collapse-inner)" xpath="//flow/block[2]/block[14]/@border-start"/>
<eval expected="(solid,#008000,6000,collapse-inner)" xpath="//flow/block[2]/block[14]/@border-end"/>
<eval expected="95000" xpath="//flow/block[2]/block[15]/@ipd"/>
<eval expected="105000" xpath="//flow/block[2]/block[15]/@ipda"/>
<eval expected="36400" xpath="//flow/block[2]/block[15]/@bpd"/>
<eval expected="52400" xpath="//flow/block[2]/block[15]/@bpda"/>
<eval expected="2000" xpath="//flow/block[2]/block[15]/@left-offset"/>
<eval expected="170800" xpath="//flow/block[2]/block[15]/@top-offset"/>
<eval expected="(solid,#000000,4000,collapse-inner)" xpath="//flow/block[2]/block[15]/@border-before"/>
<eval expected="(solid,#800000,12000,collapse-inner)" xpath="//flow/block[2]/block[15]/@border-after"/>
<eval expected="(solid,#000000,4000,collapse-outer)" xpath="//flow/block[2]/block[15]/@border-start"/>
<eval expected="(solid,#c0c0c0,6000,collapse-inner)" xpath="//flow/block[2]/block[15]/@border-end"/>
<eval expected="67000" xpath="//flow/block[2]/block[16]/@ipd"/>
<eval expected="133000" xpath="//flow/block[2]/block[16]/@ipda"/>
<eval expected="14400" xpath="//flow/block[2]/block[16]/@bpd"/>
<eval expected="74400" xpath="//flow/block[2]/block[16]/@bpda"/>
<eval expected="103000" xpath="//flow/block[2]/block[16]/@left-offset"/>
<eval expected="217200" xpath="//flow/block[2]/block[16]/@top-offset"/>
<eval expected="(double,#800000,0,collapse-outer)" xpath="//flow/block[2]/block[16]/@border-after"/>
<eval expected="(solid,#800000,6000,collapse-inner)" xpath="//flow/block[2]/block[16]/@border-start"/>
<eval expected="(solid,#008000,6000,collapse-inner)" xpath="//flow/block[2]/block[16]/@border-end"/>
-->
<eval expected="97000" xpath="//flow/block[2]/block[16]/@ipd"/>
<eval expected="103000" xpath="//flow/block[2]/block[16]/@ipda"/>
<eval expected="41300" xpath="//flow/block[2]/block[16]/@bpd"/>
<eval expected="81300" xpath="//flow/block[2]/block[16]/@bpda"/>
<eval expected="203000" xpath="//flow/block[2]/block[16]/@left-offset"/>
<eval expected="91500" xpath="//flow/block[2]/block[16]/@top-offset"/>
<eval expected="(double,#008000,40000,collapse-inner)" xpath="//flow/block[2]/block[16]/@border-before"/>
<eval expected="(solid,#008000,6000,collapse-inner)" xpath="//flow/block[2]/block[16]/@border-start"/>
<eval expected="97500" xpath="//flow/block[2]/block[17]/@ipd"/>
<eval expected="102500" xpath="//flow/block[2]/block[17]/@ipda"/>
<eval expected="41300" xpath="//flow/block[2]/block[17]/@bpd"/>
<eval expected="81300" xpath="//flow/block[2]/block[17]/@bpda"/>
<eval expected="300000" xpath="//flow/block[2]/block[17]/@left-offset"/>
<eval expected="91500" xpath="//flow/block[2]/block[17]/@top-offset"/>
<eval expected="(double,#008000,40000,collapse-inner)" xpath="//flow/block[2]/block[17]/@border-before"/>
<eval expected="(dashed,#008000,5000,collapse-outer)" xpath="//flow/block[2]/block[17]/@border-end"/>
<eval expected="70000" xpath="//flow/block[2]/block[18]/@ipd"/>
<eval expected="130000" xpath="//flow/block[2]/block[18]/@ipda"/>
<eval expected="44400" xpath="//flow/block[2]/block[18]/@bpd"/>
<eval expected="44400" xpath="//flow/block[2]/block[18]/@bpda"/>
<eval expected="230000" xpath="//flow/block[2]/block[18]/@left-offset"/>
<eval expected="172800" xpath="//flow/block[2]/block[18]/@top-offset"/>
<eval expected="(solid,#c0c0c0,60000,collapse-inner)" xpath="//flow/block[2]/block[18]/@border-start"/>
<eval expected="97500" xpath="//flow/block[2]/block[19]/@ipd"/>
<eval expected="102500" xpath="//flow/block[2]/block[19]/@ipda"/>
<eval expected="44400" xpath="//flow/block[2]/block[19]/@bpd"/>
<eval expected="44400" xpath="//flow/block[2]/block[19]/@bpda"/>
<eval expected="300000" xpath="//flow/block[2]/block[19]/@left-offset"/>
<eval expected="172800" xpath="//flow/block[2]/block[19]/@top-offset"/>
<eval expected="(dashed,#008000,5000,collapse-outer)" xpath="//flow/block[2]/block[19]/@border-end"/>
<eval expected="97000" xpath="//flow/block[2]/block[20]/@ipd"/>
<eval expected="103000" xpath="//flow/block[2]/block[20]/@ipda"/>
<eval expected="49700" xpath="//flow/block[2]/block[20]/@bpd"/>
<eval expected="54700" xpath="//flow/block[2]/block[20]/@bpda"/>
<eval expected="203000" xpath="//flow/block[2]/block[20]/@left-offset"/>
<eval expected="217200" xpath="//flow/block[2]/block[20]/@top-offset"/>
<eval expected="(solid,#008000,5000,collapse-outer)" xpath="//flow/block[2]/block[20]/@border-after"/>
<eval expected="(solid,#008000,6000,collapse-inner)" xpath="//flow/block[2]/block[20]/@border-start"/>
<eval expected="97500" xpath="//flow/block[2]/block[21]/@ipd"/>
<eval expected="102500" xpath="//flow/block[2]/block[21]/@ipda"/>
<eval expected="49700" xpath="//flow/block[2]/block[21]/@bpd"/>
<eval expected="54700" xpath="//flow/block[2]/block[21]/@bpda"/>
<eval expected="300000" xpath="//flow/block[2]/block[21]/@left-offset"/>
<eval expected="217200" xpath="//flow/block[2]/block[21]/@top-offset"/>
<eval expected="(solid,#008000,5000,collapse-outer)" xpath="//flow/block[2]/block[21]/@border-after"/>
<eval expected="(dashed,#008000,5000,collapse-outer)" xpath="//flow/block[2]/block[21]/@border-end"/>
<eval expected="167500" xpath="//flow/block[2]/block[22]/@ipd"/>
<eval expected="167500" xpath="//flow/block[2]/block[22]/@ipda"/>
<eval expected="135400" xpath="//flow/block[2]/block[22]/@bpd"/>
<eval expected="135400" xpath="//flow/block[2]/block[22]/@bpda"/>
<eval expected="230000" xpath="//flow/block[2]/block[22]/@left-offset"/>
<eval expected="131500" xpath="//flow/block[2]/block[22]/@top-offset"/>
<eval expected="142800" xpath="//flow/block[2]/block[16]/@top-offset"/>
<eval expected="(solid,#c0c0c0,60000,collapse-inner)" xpath="//flow/block[2]/block[16]/@border-before"/>
<eval expected="(solid,#c0c0c0,6000,collapse-inner)" xpath="//flow/block[2]/block[16]/@border-start"/>
<eval expected="(solid,#c0c0c0,60000,collapse-inner)" xpath="//flow/block[2]/block[16]/@border-end"/>
<eval expected="94000" xpath="//flow/block[2]/block[17]/@ipd"/>
<eval expected="106000" xpath="//flow/block[2]/block[17]/@ipda"/>
<eval expected="43200" xpath="//flow/block[2]/block[17]/@bpd"/>
<eval expected="61200" xpath="//flow/block[2]/block[17]/@bpda"/>
<eval expected="3000" xpath="//flow/block[2]/block[17]/@left-offset"/>
<eval expected="211200" xpath="//flow/block[2]/block[17]/@top-offset"/>
<eval expected="(solid,#800000,12000,collapse-inner)" xpath="//flow/block[2]/block[17]/@border-before"/>
<eval expected="(double,#800000,6000,collapse-outer)" xpath="//flow/block[2]/block[17]/@border-after"/>
<eval expected="(solid,#800000,6000,collapse-outer)" xpath="//flow/block[2]/block[17]/@border-start"/>
<eval expected="(solid,#800000,6000,collapse-inner)" xpath="//flow/block[2]/block[17]/@border-end"/>
<eval expected="94000" xpath="//flow/block[2]/block[18]/@ipd"/>
<eval expected="106000" xpath="//flow/block[2]/block[18]/@ipda"/>
<eval expected="52200" xpath="//flow/block[2]/block[18]/@bpd"/>
<eval expected="52200" xpath="//flow/block[2]/block[18]/@bpda"/>
<eval expected="103000" xpath="//flow/block[2]/block[18]/@left-offset"/>
<eval expected="217200" xpath="//flow/block[2]/block[18]/@top-offset"/>
<eval expected="" xpath="//flow/block[2]/block[18]/@border-after"/>
<eval expected="(solid,#800000,6000,collapse-inner)" xpath="//flow/block[2]/block[18]/@border-start"/>
<eval expected="(solid,#008000,6000,collapse-inner)" xpath="//flow/block[2]/block[18]/@border-end"/>
<eval expected="97000" xpath="//flow/block[2]/block[19]/@ipd"/>
<eval expected="103000" xpath="//flow/block[2]/block[19]/@ipda"/>
<eval expected="41300" xpath="//flow/block[2]/block[19]/@bpd"/>
<eval expected="81300" xpath="//flow/block[2]/block[19]/@bpda"/>
<eval expected="203000" xpath="//flow/block[2]/block[19]/@left-offset"/>
<eval expected="91500" xpath="//flow/block[2]/block[19]/@top-offset"/>
<eval expected="(double,#008000,40000,collapse-inner)" xpath="//flow/block[2]/block[19]/@border-before"/>
<eval expected="(solid,#008000,6000,collapse-inner)" xpath="//flow/block[2]/block[19]/@border-start"/>
<eval expected="97500" xpath="//flow/block[2]/block[20]/@ipd"/>
<eval expected="102500" xpath="//flow/block[2]/block[20]/@ipda"/>
<eval expected="41300" xpath="//flow/block[2]/block[20]/@bpd"/>
<eval expected="81300" xpath="//flow/block[2]/block[20]/@bpda"/>
<eval expected="300000" xpath="//flow/block[2]/block[20]/@left-offset"/>
<eval expected="91500" xpath="//flow/block[2]/block[20]/@top-offset"/>
<eval expected="(double,#008000,40000,collapse-inner)" xpath="//flow/block[2]/block[20]/@border-before"/>
<eval expected="(dashed,#008000,5000,collapse-outer)" xpath="//flow/block[2]/block[20]/@border-end"/>
<eval expected="70000" xpath="//flow/block[2]/block[21]/@ipd"/>
<eval expected="130000" xpath="//flow/block[2]/block[21]/@ipda"/>
<eval expected="44400" xpath="//flow/block[2]/block[21]/@bpd"/>
<eval expected="44400" xpath="//flow/block[2]/block[21]/@bpda"/>
<eval expected="230000" xpath="//flow/block[2]/block[21]/@left-offset"/>
<eval expected="172800" xpath="//flow/block[2]/block[21]/@top-offset"/>
<eval expected="(solid,#c0c0c0,60000,collapse-inner)" xpath="//flow/block[2]/block[21]/@border-start"/>
<eval expected="97500" xpath="//flow/block[2]/block[22]/@ipd"/>
<eval expected="102500" xpath="//flow/block[2]/block[22]/@ipda"/>
<eval expected="44400" xpath="//flow/block[2]/block[22]/@bpd"/>
<eval expected="44400" xpath="//flow/block[2]/block[22]/@bpda"/>
<eval expected="300000" xpath="//flow/block[2]/block[22]/@left-offset"/>
<eval expected="172800" xpath="//flow/block[2]/block[22]/@top-offset"/>
<eval expected="(dashed,#008000,5000,collapse-outer)" xpath="//flow/block[2]/block[22]/@border-end"/>
<eval expected="97000" xpath="//flow/block[2]/block[23]/@ipd"/>
<eval expected="103000" xpath="//flow/block[2]/block[23]/@ipda"/>
<eval expected="49700" xpath="//flow/block[2]/block[23]/@bpd"/>
<eval expected="54700" xpath="//flow/block[2]/block[23]/@bpda"/>
<eval expected="203000" xpath="//flow/block[2]/block[23]/@left-offset"/>
<eval expected="217200" xpath="//flow/block[2]/block[23]/@top-offset"/>
<eval expected="(solid,#008000,5000,collapse-outer)" xpath="//flow/block[2]/block[23]/@border-after"/>
<eval expected="(solid,#008000,6000,collapse-inner)" xpath="//flow/block[2]/block[23]/@border-start"/>
<eval expected="97500" xpath="//flow/block[2]/block[24]/@ipd"/>
<eval expected="102500" xpath="//flow/block[2]/block[24]/@ipda"/>
<eval expected="49700" xpath="//flow/block[2]/block[24]/@bpd"/>
<eval expected="54700" xpath="//flow/block[2]/block[24]/@bpda"/>
<eval expected="300000" xpath="//flow/block[2]/block[24]/@left-offset"/>
<eval expected="217200" xpath="//flow/block[2]/block[24]/@top-offset"/>
<eval expected="(solid,#008000,5000,collapse-outer)" xpath="//flow/block[2]/block[24]/@border-after"/>
<eval expected="(dashed,#008000,5000,collapse-outer)" xpath="//flow/block[2]/block[24]/@border-end"/>
<eval expected="167500" xpath="//flow/block[2]/block[25]/@ipd"/>
<eval expected="167500" xpath="//flow/block[2]/block[25]/@ipda"/>
<eval expected="135400" xpath="//flow/block[2]/block[25]/@bpd"/>
<eval expected="135400" xpath="//flow/block[2]/block[25]/@bpda"/>
<eval expected="230000" xpath="//flow/block[2]/block[25]/@left-offset"/>
<eval expected="131500" xpath="//flow/block[2]/block[25]/@top-offset"/>

<!-- table 2 -->
<eval expected="199300" xpath="//flow/block[4]/@bpd"/>

Loading…
Cancel
Save