aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdrian Cumiskey <acumiskey@apache.org>2008-06-30 14:11:56 +0000
committerAdrian Cumiskey <acumiskey@apache.org>2008-06-30 14:11:56 +0000
commit81a04fe6cbbac40d08297f49fc2801ac58b36640 (patch)
tree3435c80aee45b4cadfe429225e7c6dcf29dcf765
parentb0cd543ff8311a4b1f61bbc43371f85fd6120883 (diff)
downloadxmlgraphics-fop-81a04fe6cbbac40d08297f49fc2801ac58b36640.tar.gz
xmlgraphics-fop-81a04fe6cbbac40d08297f49fc2801ac58b36640.zip
Merged revisions 672495-672496,672499,672537,672539,672564-672565,672617-672618,672670 via svnmerge from
https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk ........ r672495 | adelmelle | 2008-06-28 12:22:58 +0100 (Sat, 28 Jun 2008) | 1 line Removed unnecessary override ........ r672496 | adelmelle | 2008-06-28 12:24:20 +0100 (Sat, 28 Jun 2008) | 1 line Added testcase for r672010 ........ r672499 | adelmelle | 2008-06-28 13:11:40 +0100 (Sat, 28 Jun 2008) | 3 lines Added basic-checks.xml: file currently only contains one default check. Modified testcase2checks.xsl: the added basic-checks.xml will be inserted before the checks particular to the testcase. ........ r672537 | acumiskey | 2008-06-28 17:05:08 +0100 (Sat, 28 Jun 2008) | 1 line Corrected minor spelling mistake in javadoc ........ r672539 | acumiskey | 2008-06-28 17:08:13 +0100 (Sat, 28 Jun 2008) | 1 line Corrected minor spelling mistake in javadoc ........ r672564 | adelmelle | 2008-06-28 19:39:39 +0100 (Sat, 28 Jun 2008) | 1 line Corrected basic checks: check for empty document, as well as empty areaTree... ........ r672565 | adelmelle | 2008-06-28 19:45:16 +0100 (Sat, 28 Jun 2008) | 1 line Removed instream-foreign-object in marker; still threw a NPE ........ r672617 | adelmelle | 2008-06-29 11:52:30 +0100 (Sun, 29 Jun 2008) | 1 line Added disabled testcase for instream-foreign-object in a marker ........ r672618 | adelmelle | 2008-06-29 11:58:31 +0100 (Sun, 29 Jun 2008) | 2 lines Correct svn props ........ r672670 | adelmelle | 2008-06-29 20:53:17 +0100 (Sun, 29 Jun 2008) | 1 line Cleanup/re-ordering, and addition of XSL 1.1 FO_ and PR_ constants ........ git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/Temp_AFPGOCAResources@672777 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--src/java/org/apache/fop/events/EventExceptionManager.java2
-rw-r--r--src/java/org/apache/fop/events/EventListener.java2
-rw-r--r--src/java/org/apache/fop/fo/Constants.java616
-rw-r--r--src/java/org/apache/fop/fo/flow/AbstractPageNumberCitation.java5
-rw-r--r--test/layoutengine/basic-checks.xml25
-rw-r--r--test/layoutengine/disabled-testcases.xml5
-rw-r--r--test/layoutengine/standard-testcases/marker_instream-foreign-object.xml83
-rw-r--r--test/layoutengine/standard-testcases/marker_page-number-citation_bugzilla45295.xml95
-rw-r--r--test/layoutengine/testcase2checks.xsl24
9 files changed, 573 insertions, 284 deletions
diff --git a/src/java/org/apache/fop/events/EventExceptionManager.java b/src/java/org/apache/fop/events/EventExceptionManager.java
index 093ae7010..44b1ef7b1 100644
--- a/src/java/org/apache/fop/events/EventExceptionManager.java
+++ b/src/java/org/apache/fop/events/EventExceptionManager.java
@@ -25,7 +25,7 @@ import java.util.Map;
import org.apache.xmlgraphics.util.Service;
/**
- * This class is reponsible for converting events into exceptions.
+ * This class is responsible for converting events into exceptions.
*/
public class EventExceptionManager {
diff --git a/src/java/org/apache/fop/events/EventListener.java b/src/java/org/apache/fop/events/EventListener.java
index f8293aed9..cb2d8b965 100644
--- a/src/java/org/apache/fop/events/EventListener.java
+++ b/src/java/org/apache/fop/events/EventListener.java
@@ -28,7 +28,7 @@ public interface EventListener extends java.util.EventListener {
* This method is called for each event that is generated. With the event's ID it is possible
* to react to certain events. Events can also simply be recorded and presented to a user.
* It is possible to throw an (unchecked) exception if the processing needs to be aborted
- * because some special event occured. This way the client can configure the behaviour of
+ * because some special event occurred. This way the client can configure the behaviour of
* the observed application.
* @param event the event
*/
diff --git a/src/java/org/apache/fop/fo/Constants.java b/src/java/org/apache/fop/fo/Constants.java
index 2a7f7e0c9..ae4c11229 100644
--- a/src/java/org/apache/fop/fo/Constants.java
+++ b/src/java/org/apache/fop/fo/Constants.java
@@ -24,9 +24,9 @@ package org.apache.fop.fo;
* There are sets of constants describing:
* <ul>
* <li>Input and output formats</li>
- * <li>Formatting objects</li>
- * <li>Formatting properties</li>
- * <li>Enumerated values used in formatting properties</li>
+ * <li>Formatting objects (<em>FO_XXX</em>)</li>
+ * <li>Formatting properties (<em>PR_XXX</em>)</li>
+ * <li>Enumerated values used in formatting properties (<em>EN_XXX</em>)</li>
* </ul>
*/
public interface Constants {
@@ -45,124 +45,162 @@ public interface Constants {
int FO_BLOCK = 3;
/** FO element constant */
int FO_BLOCK_CONTAINER = 4;
+ /** FO element constant - XSL 1.1 */
+ int FO_BOOKMARK_TREE = 5;
+ /** FO element constant - XSL 1.1 */
+ int FO_BOOKMARK = 6;
+ /** FO element constant - XSL 1.1 */
+ int FO_BOOKMARK_TITLE = 7;
+ /** FO element constant - XSL 1.1 */
+ int FO_CHANGE_BAR_BEGIN = 8;
+ /** FO element constant - XSL 1.1 */
+ int FO_CHANGE_BAR_END = 9;
/** FO element constant */
- int FO_CHARACTER = 5;
+ int FO_CHARACTER = 10;
/** FO element constant */
- int FO_COLOR_PROFILE = 6;
+ int FO_COLOR_PROFILE = 11;
/** FO element constant */
- int FO_CONDITIONAL_PAGE_MASTER_REFERENCE = 7;
+ int FO_CONDITIONAL_PAGE_MASTER_REFERENCE = 12;
/** FO element constant */
- int FO_DECLARATIONS = 8;
+ int FO_DECLARATIONS = 13;
/** FO element constant */
- int FO_EXTERNAL_GRAPHIC = 9;
+ int FO_EXTERNAL_GRAPHIC = 14;
/** FO element constant */
- int FO_FLOAT = 10;
+ int FO_FLOAT = 15;
/** FO element constant */
- int FO_FLOW = 11;
+ int FO_FLOW = 16;
+ /** FO element constant - XSL 1.1 */
+ int FO_FLOW_ASSIGNMENT = 17;
+ /** FO element constant - XSL 1.1 */
+ int FO_FLOW_MAP = 18;
+ /** FO element constant - XSL 1.1 */
+ int FO_FLOW_NAME_SPECIFIER = 19;
+ /** FO element constant - XSL 1.1 */
+ int FO_FLOW_SOURCE_LIST = 20;
+ /** FO element constant - XSL 1.1 */
+ int FO_FLOW_TARGET_LIST = 21;
+ /** FO element constant - XSL 1.1 */
+ int FO_FOLIO_PREFIX = 22;
+ /** FO element constant - XSL 1.1 */
+ int FO_FOLIO_SUFFIX = 23;
/** FO element constant */
- int FO_FOOTNOTE = 12;
+ int FO_FOOTNOTE = 24;
/** FO element constant */
- int FO_FOOTNOTE_BODY = 13;
+ int FO_FOOTNOTE_BODY = 25;
+ /** FO element constant - XSL 1.1 */
+ int FO_INDEX_KEY_REFERENCE = 26;
+ /** FO element constant - XSL 1.1 */
+ int FO_INDEX_PAGE_NUMBER_PREFIX = 27;
+ /** FO element constant - XSL 1.1 */
+ int FO_INDEX_PAGE_NUMBER_SUFFIX = 28;
+ /** FO element constant - XSL 1.1 */
+ int FO_INDEX_PAGE_CITATION_LIST = 29;
+ /** FO element constant - XSL 1.1 */
+ int FO_INDEX_PAGE_CITATION_LIST_SEPARATOR = 30;
+ /** FO element constant - XSL 1.1 */
+ int FO_INDEX_PAGE_CITATION_RANGE_SEPARATOR = 31;
+ /** FO element constant - XSL 1.1 */
+ int FO_INDEX_RANGE_BEGIN = 32;
+ /** FO element constant - XSL 1.1 */
+ int FO_INDEX_RANGE_END = 33;
/** FO element constant */
- int FO_INITIAL_PROPERTY_SET = 14;
+ int FO_INITIAL_PROPERTY_SET = 34;
/** FO element constant */
- int FO_INLINE = 15;
+ int FO_INLINE = 35;
/** FO element constant */
- int FO_INLINE_CONTAINER = 16;
+ int FO_INLINE_CONTAINER = 36;
/** FO element constant */
- int FO_INSTREAM_FOREIGN_OBJECT = 17;
+ int FO_INSTREAM_FOREIGN_OBJECT = 37;
/** FO element constant */
- int FO_LAYOUT_MASTER_SET = 18;
+ int FO_LAYOUT_MASTER_SET = 38;
/** FO element constant */
- int FO_LEADER = 19;
+ int FO_LEADER = 39;
/** FO element constant */
- int FO_LIST_BLOCK = 20;
+ int FO_LIST_BLOCK = 40;
/** FO element constant */
- int FO_LIST_ITEM = 21;
+ int FO_LIST_ITEM = 41;
/** FO element constant */
- int FO_LIST_ITEM_BODY = 22;
+ int FO_LIST_ITEM_BODY = 42;
/** FO element constant */
- int FO_LIST_ITEM_LABEL = 23;
+ int FO_LIST_ITEM_LABEL = 43;
/** FO element constant */
- int FO_MARKER = 24;
+ int FO_MARKER = 44;
/** FO element constant */
- int FO_MULTI_CASE = 25;
+ int FO_MULTI_CASE = 45;
/** FO element constant */
- int FO_MULTI_PROPERTIES = 26;
+ int FO_MULTI_PROPERTIES = 46;
/** FO element constant */
- int FO_MULTI_PROPERTY_SET = 27;
+ int FO_MULTI_PROPERTY_SET = 47;
/** FO element constant */
- int FO_MULTI_SWITCH = 28;
+ int FO_MULTI_SWITCH = 48;
/** FO element constant */
- int FO_MULTI_TOGGLE = 29;
+ int FO_MULTI_TOGGLE = 49;
/** FO element constant */
- int FO_PAGE_NUMBER = 30;
+ int FO_PAGE_NUMBER = 50;
/** FO element constant */
- int FO_PAGE_NUMBER_CITATION = 31;
+ int FO_PAGE_NUMBER_CITATION = 51;
+ /** FO element constant - XSL 1.1 */
+ int FO_PAGE_NUMBER_CITATION_LAST = 52;
/** FO element constant */
- int FO_PAGE_SEQUENCE = 32;
+ int FO_PAGE_SEQUENCE = 53;
/** FO element constant */
- int FO_PAGE_SEQUENCE_MASTER = 33;
+ int FO_PAGE_SEQUENCE_MASTER = 54;
+ /** FO element constant - XSL 1.1 */
+ int FO_PAGE_SEQUENCE_WRAPPER = 55;
/** FO element constant */
- int FO_REGION_AFTER = 34;
+ int FO_REGION_AFTER = 56;
/** FO element constant */
- int FO_REGION_BEFORE = 35;
+ int FO_REGION_BEFORE = 57;
/** FO element constant */
- int FO_REGION_BODY = 36;
+ int FO_REGION_BODY = 58;
/** FO element constant */
- int FO_REGION_END = 37;
+ int FO_REGION_END = 59;
+ /** FO element constant - XSL 1.1 */
+ int FO_REGION_NAME_SPECIFIER = 60;
/** FO element constant */
- int FO_REGION_START = 38;
+ int FO_REGION_START = 61;
/** FO element constant */
- int FO_REPEATABLE_PAGE_MASTER_ALTERNATIVES = 39;
+ int FO_REPEATABLE_PAGE_MASTER_ALTERNATIVES = 62;
/** FO element constant */
- int FO_REPEATABLE_PAGE_MASTER_REFERENCE = 40;
+ int FO_REPEATABLE_PAGE_MASTER_REFERENCE = 63;
/** FO element constant */
- int FO_RETRIEVE_MARKER = 41;
+ int FO_RETRIEVE_MARKER = 64;
+ /** FO element constant - XSL 1.1 */
+ int FO_RETRIEVE_TABLE_MARKER = 65;
/** FO element constant */
- int FO_ROOT = 42;
+ int FO_ROOT = 66;
+ /** FO element constant - XSL 1.1 */
+ int FO_SCALING_VALUE_CITATION = 67;
/** FO element constant */
- int FO_SIMPLE_PAGE_MASTER = 43;
+ int FO_SIMPLE_PAGE_MASTER = 68;
/** FO element constant */
- int FO_SINGLE_PAGE_MASTER_REFERENCE = 44;
+ int FO_SINGLE_PAGE_MASTER_REFERENCE = 69;
/** FO element constant */
- int FO_STATIC_CONTENT = 45;
+ int FO_STATIC_CONTENT = 70;
/** FO element constant */
- int FO_TABLE = 46;
+ int FO_TABLE = 71;
/** FO element constant */
- int FO_TABLE_AND_CAPTION = 47;
+ int FO_TABLE_AND_CAPTION = 72;
/** FO element constant */
- int FO_TABLE_BODY = 48;
+ int FO_TABLE_BODY = 73;
/** FO element constant */
- int FO_TABLE_CAPTION = 49;
+ int FO_TABLE_CAPTION = 74;
/** FO element constant */
- int FO_TABLE_CELL = 50;
+ int FO_TABLE_CELL = 75;
/** FO element constant */
- int FO_TABLE_COLUMN = 51;
+ int FO_TABLE_COLUMN = 76;
/** FO element constant */
- int FO_TABLE_FOOTER = 52;
+ int FO_TABLE_FOOTER = 77;
/** FO element constant */
- int FO_TABLE_HEADER = 53;
+ int FO_TABLE_HEADER = 78;
/** FO element constant */
- int FO_TABLE_ROW = 54;
+ int FO_TABLE_ROW = 79;
/** FO element constant */
- int FO_TITLE = 55;
+ int FO_TITLE = 80;
/** FO element constant */
- int FO_WRAPPER = 56;
- /** FO element constant - XSL 1.1 */
- int FO_BOOKMARK_TREE = 57;
- /** FO element constant - XSL 1.1 */
- int FO_BOOKMARK = 58;
- /** FO element constant - XSL 1.1 */
- int FO_BOOKMARK_TITLE = 59;
- /** FO element constant - XSL 1.1 */
- int FO_PAGE_SEQUENCE_WRAPPER = 60;
- /** FO element constant - XSL 1.1 */
- int FO_PAGE_NUMBER_CITATION_LAST = 61;
- /** FO element constant - XSL 1.1 */
- int FO_RETRIEVE_TABLE_MARKER = 62;
+ int FO_WRAPPER = 81;
/** Number of FO element constants defined */
- int FRM_OBJ_COUNT = 62;
+ int FRM_OBJ_COUNT = 81;
// Masks
/**
@@ -308,394 +346,428 @@ public interface Constants {
int PR_CASE_NAME = 61;
/** Property constant */
int PR_CASE_TITLE = 62;
+ /** Property constant - XSL 1.1 */
+ int PR_CHANGE_BAR_CLASS = 63;
+ /** Property constant - XSL 1.1 */
+ int PR_CHANGE_BAR_COLOR = 64;
+ /** Property constant - XSL 1.1 */
+ int PR_CHANGE_BAR_OFFSET = 65;
+ /** Property constant - XSL 1.1 */
+ int PR_CHANGE_BAR_PLACEMENT = 66;
+ /** Property constant - XSL 1.1 */
+ int PR_CHANGE_BAR_STYLE = 67;
+ /** Property constant - XSL 1.1 */
+ int PR_CHANGE_BAR_WIDTH = 68;
/** Property constant */
- int PR_CHARACTER = 63;
+ int PR_CHARACTER = 69;
/** Property constant */
- int PR_CLEAR = 64;
+ int PR_CLEAR = 70;
/** Property constant */
- int PR_CLIP = 65;
+ int PR_CLIP = 71;
/** Property constant */
- int PR_COLOR = 66;
+ int PR_COLOR = 72;
/** Property constant */
- int PR_COLOR_PROFILE_NAME = 67;
+ int PR_COLOR_PROFILE_NAME = 73;
/** Property constant */
- int PR_COLUMN_COUNT = 68;
+ int PR_COLUMN_COUNT = 74;
/** Property constant */
- int PR_COLUMN_GAP = 69;
+ int PR_COLUMN_GAP = 75;
/** Property constant */
- int PR_COLUMN_NUMBER = 70;
+ int PR_COLUMN_NUMBER = 76;
/** Property constant */
- int PR_COLUMN_WIDTH = 71;
+ int PR_COLUMN_WIDTH = 77;
/** Property constant */
- int PR_CONTENT_HEIGHT = 72;
+ int PR_CONTENT_HEIGHT = 78;
/** Property constant */
- int PR_CONTENT_TYPE = 73;
+ int PR_CONTENT_TYPE = 79;
/** Property constant */
- int PR_CONTENT_WIDTH = 74;
+ int PR_CONTENT_WIDTH = 80;
/** Property constant */
- int PR_COUNTRY = 75;
+ int PR_COUNTRY = 81;
/** Property constant */
- int PR_CUE = 76;
+ int PR_CUE = 82;
/** Property constant */
- int PR_CUE_AFTER = 77;
+ int PR_CUE_AFTER = 83;
/** Property constant */
- int PR_CUE_BEFORE = 78;
+ int PR_CUE_BEFORE = 84;
/** Property constant */
- int PR_DESTINATION_PLACEMENT_OFFSET = 79;
+ int PR_DESTINATION_PLACEMENT_OFFSET = 85;
/** Property constant */
- int PR_DIRECTION = 80;
+ int PR_DIRECTION = 86;
/** Property constant */
- int PR_DISPLAY_ALIGN = 81;
+ int PR_DISPLAY_ALIGN = 87;
/** Property constant */
- int PR_DOMINANT_BASELINE = 82;
+ int PR_DOMINANT_BASELINE = 88;
/** Property constant */
- int PR_ELEVATION = 83;
+ int PR_ELEVATION = 89;
/** Property constant */
- int PR_EMPTY_CELLS = 84;
+ int PR_EMPTY_CELLS = 90;
/** Property constant */
- int PR_END_INDENT = 85;
+ int PR_END_INDENT = 91;
/** Property constant */
- int PR_ENDS_ROW = 86;
+ int PR_ENDS_ROW = 92;
/** Property constant */
- int PR_EXTENT = 87;
+ int PR_EXTENT = 93;
/** Property constant */
- int PR_EXTERNAL_DESTINATION = 88;
+ int PR_EXTERNAL_DESTINATION = 94;
/** Property constant */
- int PR_FLOAT = 89;
+ int PR_FLOAT = 95;
+ /** Property constant -- XSL 1.1 */
+ int PR_FLOW_MAP_NAME = 96;
+ /** Property constant -- XSL 1.1 */
+ int PR_FLOW_MAP_REFERENCE = 97;
/** Property constant */
- int PR_FLOW_NAME = 90;
+ int PR_FLOW_NAME = 98;
+ /** Property constant -- XSL 1.1 */
+ int PR_FLOW_NAME_REFERENCE = 99;
/** Property constant */
- int PR_FONT = 91;
+ int PR_FONT = 100;
/** Property constant */
- int PR_FONT_FAMILY = 92;
+ int PR_FONT_FAMILY = 101;
/** Property constant */
- int PR_FONT_SELECTION_STRATEGY = 93;
+ int PR_FONT_SELECTION_STRATEGY = 102;
/** Property constant */
- int PR_FONT_SIZE = 94;
+ int PR_FONT_SIZE = 103;
/** Property constant */
- int PR_FONT_SIZE_ADJUST = 95;
+ int PR_FONT_SIZE_ADJUST = 104;
/** Property constant */
- int PR_FONT_STRETCH = 96;
+ int PR_FONT_STRETCH = 105;
/** Property constant */
- int PR_FONT_STYLE = 97;
+ int PR_FONT_STYLE = 106;
/** Property constant */
- int PR_FONT_VARIANT = 98;
+ int PR_FONT_VARIANT = 107;
/** Property constant */
- int PR_FONT_WEIGHT = 99;
+ int PR_FONT_WEIGHT = 108;
/** Property constant */
- int PR_FORCE_PAGE_COUNT = 100;
+ int PR_FORCE_PAGE_COUNT = 109;
/** Property constant */
- int PR_FORMAT = 101;
+ int PR_FORMAT = 110;
/** Property constant */
- int PR_GLYPH_ORIENTATION_HORIZONTAL = 102;
+ int PR_GLYPH_ORIENTATION_HORIZONTAL = 111;
/** Property constant */
- int PR_GLYPH_ORIENTATION_VERTICAL = 103;
+ int PR_GLYPH_ORIENTATION_VERTICAL = 112;
/** Property constant */
- int PR_GROUPING_SEPARATOR = 104;
+ int PR_GROUPING_SEPARATOR = 113;
/** Property constant */
- int PR_GROUPING_SIZE = 105;
+ int PR_GROUPING_SIZE = 114;
/** Property constant */
- int PR_HEIGHT = 106;
+ int PR_HEIGHT = 115;
/** Property constant */
- int PR_HYPHENATE = 107;
+ int PR_HYPHENATE = 116;
/** Property constant */
- int PR_HYPHENATION_CHARACTER = 108;
+ int PR_HYPHENATION_CHARACTER = 117;
/** Property constant */
- int PR_HYPHENATION_KEEP = 109;
+ int PR_HYPHENATION_KEEP = 118;
/** Property constant */
- int PR_HYPHENATION_LADDER_COUNT = 110;
+ int PR_HYPHENATION_LADDER_COUNT = 119;
/** Property constant */
- int PR_HYPHENATION_PUSH_CHARACTER_COUNT = 111;
+ int PR_HYPHENATION_PUSH_CHARACTER_COUNT = 120;
/** Property constant */
- int PR_HYPHENATION_REMAIN_CHARACTER_COUNT = 112;
+ int PR_HYPHENATION_REMAIN_CHARACTER_COUNT = 121;
/** Property constant */
- int PR_ID = 113;
+ int PR_ID = 122;
/** Property constant */
- int PR_INDICATE_DESTINATION = 114;
+ int PR_INDICATE_DESTINATION = 123;
+ /** Property constant - XSL 1.1 */
+ int PR_INDEX_CLASS = 124;
+ /** Property constant - XSL 1.1 */
+ int PR_INDEX_KEY = 125;
/** Property constant */
- int PR_INITIAL_PAGE_NUMBER = 115;
+ int PR_INITIAL_PAGE_NUMBER = 126;
/** Property constant */
- int PR_INLINE_PROGRESSION_DIMENSION = 116;
+ int PR_INLINE_PROGRESSION_DIMENSION = 127;
/** Property constant */
- int PR_INTERNAL_DESTINATION = 117;
+ int PR_INTERNAL_DESTINATION = 128;
+ /** Property constant - XSL 1.1 */
+ int PR_INTRINSIC_SCALE_VALUE = 129;
/** Property constant */
- int PR_KEEP_TOGETHER = 118;
+ int PR_INTRUSION_DISPLACE = 130;
/** Property constant */
- int PR_KEEP_WITH_NEXT = 119;
+ int PR_KEEP_TOGETHER = 131;
/** Property constant */
- int PR_KEEP_WITH_PREVIOUS = 120;
+ int PR_KEEP_WITH_NEXT = 132;
/** Property constant */
- int PR_LANGUAGE = 121;
+ int PR_KEEP_WITH_PREVIOUS = 133;
/** Property constant */
- int PR_LAST_LINE_END_INDENT = 122;
+ int PR_LANGUAGE = 134;
/** Property constant */
- int PR_LEADER_ALIGNMENT = 123;
+ int PR_LAST_LINE_END_INDENT = 135;
/** Property constant */
- int PR_LEADER_LENGTH = 124;
+ int PR_LEADER_ALIGNMENT = 136;
/** Property constant */
- int PR_LEADER_PATTERN = 125;
+ int PR_LEADER_LENGTH = 137;
/** Property constant */
- int PR_LEADER_PATTERN_WIDTH = 126;
+ int PR_LEADER_PATTERN = 138;
/** Property constant */
- int PR_LEFT = 127;
+ int PR_LEADER_PATTERN_WIDTH = 139;
/** Property constant */
- int PR_LETTER_SPACING = 128;
+ int PR_LEFT = 140;
/** Property constant */
- int PR_LETTER_VALUE = 129;
+ int PR_LETTER_SPACING = 141;
/** Property constant */
- int PR_LINEFEED_TREATMENT = 130;
+ int PR_LETTER_VALUE = 142;
/** Property constant */
- int PR_LINE_HEIGHT = 131;
+ int PR_LINEFEED_TREATMENT = 143;
/** Property constant */
- int PR_LINE_HEIGHT_SHIFT_ADJUSTMENT = 132;
+ int PR_LINE_HEIGHT = 144;
/** Property constant */
- int PR_LINE_STACKING_STRATEGY = 133;
+ int PR_LINE_HEIGHT_SHIFT_ADJUSTMENT = 145;
/** Property constant */
- int PR_MARGIN = 134;
+ int PR_LINE_STACKING_STRATEGY = 146;
/** Property constant */
- int PR_MARGIN_BOTTOM = 135;
+ int PR_MARGIN = 147;
/** Property constant */
- int PR_MARGIN_LEFT = 136;
+ int PR_MARGIN_BOTTOM = 148;
/** Property constant */
- int PR_MARGIN_RIGHT = 137;
+ int PR_MARGIN_LEFT = 149;
/** Property constant */
- int PR_MARGIN_TOP = 138;
+ int PR_MARGIN_RIGHT = 150;
/** Property constant */
- int PR_MARKER_CLASS_NAME = 139;
+ int PR_MARGIN_TOP = 151;
/** Property constant */
- int PR_MASTER_NAME = 140;
+ int PR_MARKER_CLASS_NAME = 152;
/** Property constant */
- int PR_MASTER_REFERENCE = 141;
+ int PR_MASTER_NAME = 153;
/** Property constant */
- int PR_MAX_HEIGHT = 142;
+ int PR_MASTER_REFERENCE = 154;
/** Property constant */
- int PR_MAXIMUM_REPEATS = 143;
+ int PR_MAX_HEIGHT = 155;
/** Property constant */
- int PR_MAX_WIDTH = 144;
+ int PR_MAXIMUM_REPEATS = 156;
/** Property constant */
- int PR_MEDIA_USAGE = 145;
+ int PR_MAX_WIDTH = 157;
+ /** Property constant - XSL 1.1 */
+ int PR_MERGE_PAGES_ACROSS_INDEX_KEY_REFERENCES = 158;
+ /** Property constant - XSL 1.1 */
+ int PR_MERGE_RANGES_ACROSS_INDEX_KEY_REFERENCES = 159;
+ /** Property constant - XSL 1.1 */
+ int PR_MERGE_SEQUENTIAL_PAGE_NUMBERS = 160;
/** Property constant */
- int PR_MIN_HEIGHT = 146;
+ int PR_MEDIA_USAGE = 161;
/** Property constant */
- int PR_MIN_WIDTH = 147;
+ int PR_MIN_HEIGHT = 162;
/** Property constant */
- int PR_NUMBER_COLUMNS_REPEATED = 148;
+ int PR_MIN_WIDTH = 163;
/** Property constant */
- int PR_NUMBER_COLUMNS_SPANNED = 149;
+ int PR_NUMBER_COLUMNS_REPEATED = 164;
/** Property constant */
- int PR_NUMBER_ROWS_SPANNED = 150;
+ int PR_NUMBER_COLUMNS_SPANNED = 165;
/** Property constant */
- int PR_ODD_OR_EVEN = 151;
+ int PR_NUMBER_ROWS_SPANNED = 166;
/** Property constant */
- int PR_ORPHANS = 152;
+ int PR_ODD_OR_EVEN = 167;
/** Property constant */
- int PR_OVERFLOW = 153;
+ int PR_ORPHANS = 168;
/** Property constant */
- int PR_PADDING = 154;
+ int PR_OVERFLOW = 169;
/** Property constant */
- int PR_PADDING_AFTER = 155;
+ int PR_PADDING = 170;
/** Property constant */
- int PR_PADDING_BEFORE = 156;
+ int PR_PADDING_AFTER = 171;
/** Property constant */
- int PR_PADDING_BOTTOM = 157;
+ int PR_PADDING_BEFORE = 172;
/** Property constant */
- int PR_PADDING_END = 158;
+ int PR_PADDING_BOTTOM = 173;
/** Property constant */
- int PR_PADDING_LEFT = 159;
+ int PR_PADDING_END = 174;
/** Property constant */
- int PR_PADDING_RIGHT = 160;
+ int PR_PADDING_LEFT = 175;
/** Property constant */
- int PR_PADDING_START = 161;
+ int PR_PADDING_RIGHT = 176;
/** Property constant */
- int PR_PADDING_TOP = 162;
+ int PR_PADDING_START = 177;
/** Property constant */
- int PR_PAGE_BREAK_AFTER = 163;
+ int PR_PADDING_TOP = 178;
/** Property constant */
- int PR_PAGE_BREAK_BEFORE = 164;
+ int PR_PAGE_BREAK_AFTER = 179;
/** Property constant */
- int PR_PAGE_BREAK_INSIDE = 165;
+ int PR_PAGE_BREAK_BEFORE = 180;
/** Property constant */
- int PR_PAGE_HEIGHT = 166;
+ int PR_PAGE_BREAK_INSIDE = 181;
+ /** Property constant - XSL 1.1 */
+ int PR_PAGE_CITATION_STRATEGY = 182;
/** Property constant */
- int PR_PAGE_POSITION = 167;
+ int PR_PAGE_HEIGHT = 183;
+ /** Property constant - XSL 1.1 */
+ int PR_PAGE_NUMBER_TREATMENT = 184;
/** Property constant */
- int PR_PAGE_WIDTH = 168;
+ int PR_PAGE_POSITION = 185;
/** Property constant */
- int PR_PAUSE = 169;
+ int PR_PAGE_WIDTH = 186;
/** Property constant */
- int PR_PAUSE_AFTER = 170;
+ int PR_PAUSE = 187;
/** Property constant */
- int PR_PAUSE_BEFORE = 171;
+ int PR_PAUSE_AFTER = 188;
/** Property constant */
- int PR_PITCH = 172;
+ int PR_PAUSE_BEFORE = 189;
/** Property constant */
- int PR_PITCH_RANGE = 173;
+ int PR_PITCH = 190;
/** Property constant */
- int PR_PLAY_DURING = 174;
+ int PR_PITCH_RANGE = 191;
/** Property constant */
- int PR_POSITION = 175;
+ int PR_PLAY_DURING = 192;
/** Property constant */
- int PR_PRECEDENCE = 176;
+ int PR_POSITION = 193;
/** Property constant */
- int PR_PROVISIONAL_DISTANCE_BETWEEN_STARTS = 177;
+ int PR_PRECEDENCE = 194;
/** Property constant */
- int PR_PROVISIONAL_LABEL_SEPARATION = 178;
+ int PR_PROVISIONAL_DISTANCE_BETWEEN_STARTS = 195;
/** Property constant */
- int PR_REFERENCE_ORIENTATION = 179;
+ int PR_PROVISIONAL_LABEL_SEPARATION = 196;
/** Property constant */
- int PR_REF_ID = 180;
+ int PR_REFERENCE_ORIENTATION = 197;
/** Property constant */
- int PR_REGION_NAME = 181;
+ int PR_REF_ID = 198;
/** Property constant */
- int PR_RELATIVE_ALIGN = 182;
+ int PR_REGION_NAME = 199;
+ /** Property constant - XSL 1.1 */
+ int PR_REGION_NAME_REFERENCE = 200;
+ /** Property constant - XSL 1.1 */
+ int PR_REF_INDEX_KEY = 201;
/** Property constant */
- int PR_RELATIVE_POSITION = 183;
+ int PR_RELATIVE_ALIGN = 202;
/** Property constant */
- int PR_RENDERING_INTENT = 184;
+ int PR_RELATIVE_POSITION = 203;
/** Property constant */
- int PR_RETRIEVE_BOUNDARY = 185;
+ int PR_RENDERING_INTENT = 204;
/** Property constant */
- int PR_RETRIEVE_CLASS_NAME = 186;
+ int PR_RETRIEVE_BOUNDARY = 205;
+ /** Property constant - XSL 1.1 */
+ int PR_RETRIEVE_BOUNDARY_WITHIN_TABLE = 206;
/** Property constant */
- int PR_RETRIEVE_POSITION = 187;
+ int PR_RETRIEVE_CLASS_NAME = 207;
/** Property constant */
- int PR_RICHNESS = 188;
+ int PR_RETRIEVE_POSITION = 208;
+ /** Property constant - XSL 1.1 */
+ int PR_RETRIEVE_POSITION_WITHIN_TABLE = 209;
/** Property constant */
- int PR_RIGHT = 189;
+ int PR_RICHNESS = 210;
/** Property constant */
- int PR_ROLE = 190;
+ int PR_RIGHT = 211;
/** Property constant */
- int PR_RULE_STYLE = 191;
+ int PR_ROLE = 212;
/** Property constant */
- int PR_RULE_THICKNESS = 192;
+ int PR_RULE_STYLE = 213;
/** Property constant */
- int PR_SCALING = 193;
+ int PR_RULE_THICKNESS = 214;
/** Property constant */
- int PR_SCALING_METHOD = 194;
+ int PR_SCALING = 215;
/** Property constant */
- int PR_SCORE_SPACES = 195;
+ int PR_SCALING_METHOD = 216;
/** Property constant */
- int PR_SCRIPT = 196;
+ int PR_SCORE_SPACES = 217;
/** Property constant */
- int PR_SHOW_DESTINATION = 197;
+ int PR_SCRIPT = 218;
/** Property constant */
- int PR_SIZE = 198;
+ int PR_SHOW_DESTINATION = 219;
/** Property constant */
- int PR_SOURCE_DOCUMENT = 199;
+ int PR_SIZE = 220;
/** Property constant */
- int PR_SPACE_AFTER = 200;
+ int PR_SOURCE_DOCUMENT = 221;
/** Property constant */
- int PR_SPACE_BEFORE = 201;
+ int PR_SPACE_AFTER = 222;
/** Property constant */
- int PR_SPACE_END = 202;
+ int PR_SPACE_BEFORE = 223;
/** Property constant */
- int PR_SPACE_START = 203;
+ int PR_SPACE_END = 224;
/** Property constant */
- int PR_SPAN = 204;
+ int PR_SPACE_START = 225;
/** Property constant */
- int PR_SPEAK = 205;
+ int PR_SPAN = 226;
/** Property constant */
- int PR_SPEAK_HEADER = 206;
+ int PR_SPEAK = 227;
/** Property constant */
- int PR_SPEAK_NUMERAL = 207;
+ int PR_SPEAK_HEADER = 228;
/** Property constant */
- int PR_SPEAK_PUNCTUATION = 208;
+ int PR_SPEAK_NUMERAL = 229;
/** Property constant */
- int PR_SPEECH_RATE = 209;
+ int PR_SPEAK_PUNCTUATION = 230;
/** Property constant */
- int PR_SRC = 210;
+ int PR_SPEECH_RATE = 231;
/** Property constant */
- int PR_START_INDENT = 211;
+ int PR_SRC = 232;
/** Property constant */
- int PR_STARTING_STATE = 212;
+ int PR_START_INDENT = 233;
/** Property constant */
- int PR_STARTS_ROW = 213;
+ int PR_STARTING_STATE = 234;
/** Property constant */
- int PR_STRESS = 214;
+ int PR_STARTS_ROW = 235;
/** Property constant */
- int PR_SUPPRESS_AT_LINE_BREAK = 215;
+ int PR_STRESS = 236;
/** Property constant */
- int PR_SWITCH_TO = 216;
+ int PR_SUPPRESS_AT_LINE_BREAK = 237;
/** Property constant */
- int PR_TABLE_LAYOUT = 217;
+ int PR_SWITCH_TO = 238;
/** Property constant */
- int PR_TABLE_OMIT_FOOTER_AT_BREAK = 218;
+ int PR_TABLE_LAYOUT = 239;
/** Property constant */
- int PR_TABLE_OMIT_HEADER_AT_BREAK = 219;
+ int PR_TABLE_OMIT_FOOTER_AT_BREAK = 240;
/** Property constant */
- int PR_TARGET_PRESENTATION_CONTEXT = 220;
+ int PR_TABLE_OMIT_HEADER_AT_BREAK = 241;
/** Property constant */
- int PR_TARGET_PROCESSING_CONTEXT = 221;
+ int PR_TARGET_PRESENTATION_CONTEXT = 242;
/** Property constant */
- int PR_TARGET_STYLESHEET = 222;
+ int PR_TARGET_PROCESSING_CONTEXT = 243;
/** Property constant */
- int PR_TEXT_ALIGN = 223;
+ int PR_TARGET_STYLESHEET = 244;
/** Property constant */
- int PR_TEXT_ALIGN_LAST = 224;
+ int PR_TEXT_ALIGN = 245;
/** Property constant */
- int PR_TEXT_ALTITUDE = 225;
+ int PR_TEXT_ALIGN_LAST = 246;
/** Property constant */
- int PR_TEXT_DECORATION = 226;
+ int PR_TEXT_ALTITUDE = 247;
/** Property constant */
- int PR_TEXT_DEPTH = 227;
+ int PR_TEXT_DECORATION = 248;
/** Property constant */
- int PR_TEXT_INDENT = 228;
+ int PR_TEXT_DEPTH = 249;
/** Property constant */
- int PR_TEXT_SHADOW = 229;
+ int PR_TEXT_INDENT = 250;
/** Property constant */
- int PR_TEXT_TRANSFORM = 230;
+ int PR_TEXT_SHADOW = 251;
/** Property constant */
- int PR_TOP = 231;
+ int PR_TEXT_TRANSFORM = 252;
/** Property constant */
- int PR_TREAT_AS_WORD_SPACE = 232;
+ int PR_TOP = 253;
/** Property constant */
- int PR_UNICODE_BIDI = 233;
+ int PR_TREAT_AS_WORD_SPACE = 254;
/** Property constant */
- int PR_VERTICAL_ALIGN = 234;
+ int PR_UNICODE_BIDI = 255;
/** Property constant */
- int PR_VISIBILITY = 235;
+ int PR_VERTICAL_ALIGN = 256;
/** Property constant */
- int PR_VOICE_FAMILY = 236;
+ int PR_VISIBILITY = 257;
/** Property constant */
- int PR_VOLUME = 237;
+ int PR_VOICE_FAMILY = 258;
/** Property constant */
- int PR_WHITE_SPACE = 238;
+ int PR_VOLUME = 259;
/** Property constant */
- int PR_WHITE_SPACE_COLLAPSE = 239;
+ int PR_WHITE_SPACE = 260;
/** Property constant */
- int PR_WHITE_SPACE_TREATMENT = 240;
+ int PR_WHITE_SPACE_COLLAPSE = 261;
/** Property constant */
- int PR_WIDOWS = 241;
+ int PR_WHITE_SPACE_TREATMENT = 262;
/** Property constant */
- int PR_WIDTH = 242;
+ int PR_WIDOWS = 263;
/** Property constant */
- int PR_WORD_SPACING = 243;
+ int PR_WIDTH = 264;
/** Property constant */
- int PR_WRAP_OPTION = 244;
+ int PR_WORD_SPACING = 265;
/** Property constant */
- int PR_WRITING_MODE = 245;
+ int PR_WRAP_OPTION = 266;
/** Property constant */
- int PR_XML_LANG = 246;
+ int PR_WRITING_MODE = 267;
/** Property constant */
- int PR_Z_INDEX = 247;
+ int PR_XML_LANG = 268;
/** Property constant */
- int PR_INTRUSION_DISPLACE = 248;
- /** Property constant - XSL 1.1 */
- int PR_INDEX_CLASS = 249;
- /** Property constant - XSL 1.1 */
- int PR_INDEX_KEY = 250;
+ int PR_Z_INDEX = 269;
/** Property constant - FOP proprietary: Custom extension for line alignment */
- int PR_X_BLOCK_PROGRESSION_UNIT = 251;
+ int PR_X_BLOCK_PROGRESSION_UNIT = 270;
/** Property constant - FOP proprietary: limit for widow content in lists and tables */
- int PR_X_WIDOW_CONTENT_LIMIT = 252;
+ int PR_X_WIDOW_CONTENT_LIMIT = 271;
/** Property constant - FOP proprietary: limit for orphan content in lists and tables */
- int PR_X_ORPHAN_CONTENT_LIMIT = 253;
- /** Property constant */
- int PR_RETRIEVE_POSITION_WITHIN_TABLE = 254;
- /** Property constant */
- int PR_RETRIEVE_BOUNDARY_WITHIN_TABLE = 255;
+ int PR_X_ORPHAN_CONTENT_LIMIT = 272;
/** Number of property constants defined */
- int PROPERTY_COUNT = 255;
+ int PROPERTY_COUNT = 272;
// compound property constants
@@ -1113,6 +1185,16 @@ public interface Constants {
int EN_TABLE = 194;
/** Enumeration constant -- for fo:retrieve-table-marker */
int EN_TABLE_FRAGMENT = 195;
+ /** Enumeration constant -- XSL 1.1 */
+ int EN_MERGE = 196;
+ /** Enumeration constant -- XSL 1.1 */
+ int EN_LEAVE_SEPARATE = 197;
+ /** Enumeration constant -- XSL 1.1 */
+ int EN_LINK = 198;
+ /** Enumeration constant -- XSL 1.1 */
+ int EN_NO_LINK = 199;
+ /** Enumeration constant -- XSL 1.1 */
+ int EN_ALTERNATE = 200;
/** Number of enumeration constants defined */
- int ENUM_COUNT = 195;
+ int ENUM_COUNT = 200;
}
diff --git a/src/java/org/apache/fop/fo/flow/AbstractPageNumberCitation.java b/src/java/org/apache/fop/fo/flow/AbstractPageNumberCitation.java
index 58c0f4547..8849d4d1c 100644
--- a/src/java/org/apache/fop/fo/flow/AbstractPageNumberCitation.java
+++ b/src/java/org/apache/fop/fo/flow/AbstractPageNumberCitation.java
@@ -112,11 +112,6 @@ public abstract class AbstractPageNumberCitation extends FObj {
}
}
- /** {@inheritDoc} */
- protected void startOfNode() throws FOPException {
- super.startOfNode();
- }
-
/**
* {@inheritDoc}
* <br>XSL Content Model: empty
diff --git a/test/layoutengine/basic-checks.xml b/test/layoutengine/basic-checks.xml
new file mode 100644
index 000000000..529a53cf7
--- /dev/null
+++ b/test/layoutengine/basic-checks.xml
@@ -0,0 +1,25 @@
+<?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$ -->
+<!--
+ This file contains basic checks that are performed for every tescase
+-->
+<checks>
+ <true xpath="boolean(/areaTree)" />
+ <true xpath="boolean(/areaTree/*)" />
+</checks>
diff --git a/test/layoutengine/disabled-testcases.xml b/test/layoutengine/disabled-testcases.xml
index ca05b156b..7bf441d5b 100644
--- a/test/layoutengine/disabled-testcases.xml
+++ b/test/layoutengine/disabled-testcases.xml
@@ -223,4 +223,9 @@
relaxed validation must be switched on, otherwise there is a validation
exception.</description>
</testcase>
+ <testcase>
+ <name>Instream foreign objects in markers</name>
+ <file>marker_instream-foreign-object.xml</file>
+ <description>Foreign objects in markers do not work.</description>
+ </testcase>
</disabled-testcases>
diff --git a/test/layoutengine/standard-testcases/marker_instream-foreign-object.xml b/test/layoutengine/standard-testcases/marker_instream-foreign-object.xml
new file mode 100644
index 000000000..796f2d72a
--- /dev/null
+++ b/test/layoutengine/standard-testcases/marker_instream-foreign-object.xml
@@ -0,0 +1,83 @@
+<?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 for fo:instream-foreign-object in fo:markers.
+ </p>
+ </info>
+ <fo>
+ <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="first"
+ margin-right="1.5cm"
+ margin-left="1.5cm"
+ margin-bottom="2cm"
+ margin-top="1cm"
+ page-width="21cm"
+ page-height="29.7cm">
+ <fo:region-body margin-top="1cm"/>
+ <fo:region-before extent="1cm"/>
+ <fo:region-after extent="1.5cm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="first" initial-page-number="1">
+ <fo:static-content flow-name="xsl-region-before">
+ <fo:block-container height="1cm" width="15cm" top="0cm" left="0cm" position="absolute">
+ <fo:block font-size="0pt">
+ <fo:retrieve-marker retrieve-class-name="mark"
+ retrieve-boundary="page"
+ retrieve-position="last-ending-within-page"/>
+ </fo:block>
+ </fo:block-container>
+ </fo:static-content>
+ <fo:static-content flow-name="xsl-region-after">
+ <fo:block text-align="start" font-size="10pt" font-family="serif" line-height="1em + 2pt">
+ Page (<fo:page-number/> / <fo:page-number-citation ref-id="end-of-document"/>)
+ </fo:block>
+ </fo:static-content>
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block text-align="start" font-size="12pt" font-family="sans-serif">
+ Some text.
+ </fo:block>
+ <fo:block id="end-of-document">
+ <fo:marker marker-class-name="mark">
+ <fo:instream-foreign-object width="15cm" height="1cm" id="ifo1">
+ <svg xmlns="http://www.w3.org/2000/svg" width="15cm" height="1cm" xml:space="preserve">
+ <rect style="fill:red;stroke:red" x="0" y="0" width="15cm" height="1cm"/>
+ </svg>
+ </fo:instream-foreign-object>
+ </fo:marker>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+ </fo:root>
+ </fo>
+ <checks>
+ <!-- check whether the i-f-o viewport exists -->
+ <true xpath="boolean(//viewport[@prod-id='ifo1'])" fail-msg="foreign object viewport not found" />
+ <!-- check whether the i-f-o viewport has any content -->
+ <true xpath="boolean(//viewport[@prod-id='ifo1']/*)" fail-msg="foreign object not rendered" />
+ <!-- check whether the foreign object itself survives marker-cloning -->
+ <eval expected="1" xpath="count(//foreignObject[@prod-id='ifo1'][1]/*)" />
+ <eval expected="svg" xpath="local-name(//foreignObject[@prod-id='ifo1'][1]/*[1])" />
+ <eval expected="1" xpath="count(//foreignObject[@prod-id='ifo1'][1]/*/*)" />
+ <eval expected="rect" xpath="local-name(//foreignObject[@prod-id='ifo1'][1]/*[1]/*[1])" />
+ </checks>
+</testcase>
diff --git a/test/layoutengine/standard-testcases/marker_page-number-citation_bugzilla45295.xml b/test/layoutengine/standard-testcases/marker_page-number-citation_bugzilla45295.xml
new file mode 100644
index 000000000..28d684127
--- /dev/null
+++ b/test/layoutengine/standard-testcases/marker_page-number-citation_bugzilla45295.xml
@@ -0,0 +1,95 @@
+<?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 for resolution of forward references in
+ fo:markers, as reported in Bugzilla 45295.
+ </p>
+ </info>
+ <fo>
+ <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="first"
+ margin-right="1.5cm"
+ margin-left="1.5cm"
+ margin-bottom="2cm"
+ margin-top="1cm"
+ page-width="21cm"
+ page-height="29.7cm">
+ <fo:region-body margin-top="1cm"/>
+ <fo:region-before extent="1cm"/>
+ <fo:region-after extent="1.5cm"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="first" initial-page-number="1">
+ <fo:static-content flow-name="xsl-region-before">
+ <fo:block-container height="1cm" width="15cm" top="0cm" left="0cm" position="absolute">
+ <fo:block>
+ <fo:retrieve-marker retrieve-class-name="message"
+ retrieve-boundary="page"
+ retrieve-position="first-starting-within-page"/>
+ </fo:block>
+ </fo:block-container>
+ <fo:block-container height="1cm" width="15cm" top="0cm" left="0cm" position="absolute">
+ <fo:block>
+ <fo:retrieve-marker retrieve-class-name="term"
+ retrieve-boundary="page"
+ retrieve-position="last-ending-within-page"/>
+ </fo:block>
+ </fo:block-container>
+ </fo:static-content>
+ <fo:static-content flow-name="xsl-region-after">
+ <fo:block text-align="start" font-size="10pt" font-family="serif" line-height="1em + 2pt">
+ Page (<fo:page-number/> / <fo:page-number-citation ref-id="end-of-document"/>)
+ </fo:block>
+ </fo:static-content>
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block>
+ <fo:marker marker-class-name="message">
+ <fo:block>
+ WARNING: Page sequence contains: <fo:page-number-citation id="pnc1" ref-id="end-of-document"/> pages.
+ </fo:block>
+ </fo:marker>
+ </fo:block>
+ <fo:block text-align="start" font-size="12pt" font-family="sans-serif">
+ This page sequence has more than one page so you will see the message only at the top of the first page.
+ </fo:block>
+ <fo:block break-before="page" text-align="start" font-size="12pt" font-family="sans-serif">
+ Some text.
+ </fo:block>
+ <fo:block break-before="page" text-align="start" font-size="12pt" font-family="sans-serif">
+ Some text.
+ </fo:block>
+ <fo:block break-before="page" text-align="start" font-size="12pt" font-family="sans-serif">
+ Some more text on last page.
+ </fo:block>
+ <fo:block id="end-of-document">
+ <fo:marker marker-class-name="term">
+ [marker content]
+ </fo:marker>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+ </fo:root>
+ </fo>
+ <checks>
+ <true xpath="//text[@prod-id='pnc1'][1]/word = '4'" />
+ </checks>
+</testcase>
diff --git a/test/layoutengine/testcase2checks.xsl b/test/layoutengine/testcase2checks.xsl
index 00fc9d47b..cb31d583a 100644
--- a/test/layoutengine/testcase2checks.xsl
+++ b/test/layoutengine/testcase2checks.xsl
@@ -19,15 +19,19 @@
<!-- This stylesheet extracts the checks from the testcase so the list of checks can be built in Java code. -->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
- <xsl:template match="testcase">
- <checks>
- <xsl:apply-templates select="checks/*" mode="copy"/>
- </checks>
- </xsl:template>
+<xsl:variable name="basic-checks" select="document('basic-checks.xml')/checks/*" />
+
+<xsl:template match="testcase">
+ <xsl:apply-templates select="checks" />
+</xsl:template>
+
+<xsl:template match="checks">
+ <checks>
+ <xsl:copy-of select="$basic-checks" />
+ <xsl:copy-of select="*" />
+ </checks>
+</xsl:template>
+
+<xsl:template match="text()" />
- <xsl:template match="node()|@*" mode="copy">
- <xsl:copy>
- <xsl:apply-templates select="@*|node()" mode="copy"/>
- </xsl:copy>
- </xsl:template>
</xsl:stylesheet>