aboutsummaryrefslogtreecommitdiffstats
path: root/src/java/org/apache/fop/fo/PropertySets.java
diff options
context:
space:
mode:
authorFinn Bock <bckfnn@apache.org>2004-02-09 21:30:56 +0000
committerFinn Bock <bckfnn@apache.org>2004-02-09 21:30:56 +0000
commit0bc8d5b1f7d2f3bd7fa0d482d185075c7d202a94 (patch)
tree36ccf8f83a261bebb652b6999185466846e5dcb6 /src/java/org/apache/fop/fo/PropertySets.java
parentbbe1a6381296280398f897d8c422fb33552c9081 (diff)
downloadxmlgraphics-fop-0bc8d5b1f7d2f3bd7fa0d482d185075c7d202a94.tar.gz
xmlgraphics-fop-0bc8d5b1f7d2f3bd7fa0d482d185075c7d202a94.zip
Simplefy the huge merge loop and allow compilation with jdk1.3.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@197342 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/java/org/apache/fop/fo/PropertySets.java')
-rw-r--r--src/java/org/apache/fop/fo/PropertySets.java2083
1 files changed, 946 insertions, 1137 deletions
diff --git a/src/java/org/apache/fop/fo/PropertySets.java b/src/java/org/apache/fop/fo/PropertySets.java
index 8eb39adfb..30d517de1 100644
--- a/src/java/org/apache/fop/fo/PropertySets.java
+++ b/src/java/org/apache/fop/fo/PropertySets.java
@@ -3,34 +3,34 @@
* ============================================================================
* The Apache Software License, Version 1.1
* ============================================================================
- *
+ *
* Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved.
- *
+ *
* Redistribution and use in source and binary forms, with or without modifica-
* tion, are permitted provided that the following conditions are met:
- *
+ *
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
- *
+ *
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
- *
+ *
* 3. The end-user documentation included with the redistribution, if any, must
* include the following acknowledgment: "This product includes software
* developed by the Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself, if
* and wherever such third-party acknowledgments normally appear.
- *
+ *
* 4. The names "FOP" and "Apache Software Foundation" must not be used to
* endorse or promote products derived from this software without prior
* written permission. For written permission, please contact
* apache@apache.org.
- *
+ *
* 5. Products derived from this software may not be called "Apache", nor may
* "Apache" appear in their name, without prior written permission of the
* Apache Software Foundation.
- *
+ *
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
@@ -42,29 +42,60 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* ============================================================================
- *
+ *
* This software consists of voluntary contributions made by many individuals
* on behalf of the Apache Software Foundation and was originally created by
* James Tauber <jtauber@jtauber.com>. For more information on the Apache
* Software Foundation, please see <http://www.apache.org/>.
- */
-
-/* autogenerated from src/codegen/property-sets.xsl */
+ */
package org.apache.fop.fo;
+
+import org.apache.fop.fo.Constants;
import java.util.BitSet;
+import java.util.ArrayList;
public class PropertySets {
- public static short[][] mapping = null;
-
- public static void initialize() {
- mapping = new short[Constants.ELEMENT_COUNT][];
+ private static short[][] mapping = null;
+
+ private Element[] elements = new Element[Constants.ELEMENT_COUNT+1];
+ private BitSet block_elems = new BitSet();
+ private BitSet inline_elems = new BitSet();
+
+ BitSet CommonAccessibilityProperties = new BitSet();
+ BitSet CommonAbsolutePositionProperties = new BitSet();
+ BitSet CommonAuralProperties = new BitSet();
+ BitSet CommonBorderPaddingBackgroundProperties = new BitSet();
+ BitSet CommonFontProperties = new BitSet();
+ BitSet CommonHyphenationProperties = new BitSet();
+ BitSet CommonMarginPropertiesBlock = new BitSet();
+ BitSet CommonMarginPropertiesInline = new BitSet();
+ BitSet CommonRelativePositionProperties = new BitSet();
+
+ public void initializeElements() {
+ block_elems.set(Constants.FO_BLOCK);
+ block_elems.set(Constants.FO_BLOCK_CONTAINER);
+ block_elems.set(Constants.FO_TABLE_AND_CAPTION);
+ block_elems.set(Constants.FO_TABLE);
+ block_elems.set(Constants.FO_LIST_BLOCK);
+
+ inline_elems.set(Constants.FO_BIDI_OVERRIDE);
+ inline_elems.set(Constants.FO_CHARACTER);
+ inline_elems.set(Constants.FO_EXTERNAL_GRAPHIC);
+ inline_elems.set(Constants.FO_INSTREAM_FOREIGN_OBJECT);
+ inline_elems.set(Constants.FO_INLINE);
+ inline_elems.set(Constants.FO_INLINE_CONTAINER);
+ inline_elems.set(Constants.FO_LEADER);
+ inline_elems.set(Constants.FO_PAGE_NUMBER);
+ inline_elems.set(Constants.FO_PAGE_NUMBER_CITATION);
+ inline_elems.set(Constants.FO_BASIC_LINK);
+ inline_elems.set(Constants.FO_MULTI_TOGGLE);
+ }
- BitSet CommonAccessibilityProperties = new BitSet();
+ public void initializeCommon() {
CommonAccessibilityProperties.set(Constants.PR_SOURCE_DOCUMENT);
CommonAccessibilityProperties.set(Constants.PR_ROLE);
- BitSet CommonAbsolutePositionProperties = new BitSet();
CommonAbsolutePositionProperties.set(Constants.PR_ABSOLUTE_POSITION);
CommonAbsolutePositionProperties.set(Constants.PR_POSITION);
CommonAbsolutePositionProperties.set(Constants.PR_TOP);
@@ -72,7 +103,6 @@ public class PropertySets {
CommonAbsolutePositionProperties.set(Constants.PR_BOTTOM);
CommonAbsolutePositionProperties.set(Constants.PR_LEFT);
- BitSet CommonAuralProperties = new BitSet();
CommonAuralProperties.set(Constants.PR_AZIMUTH);
CommonAuralProperties.set(Constants.PR_CUE_AFTER);
CommonAuralProperties.set(Constants.PR_CUE_BEFORE);
@@ -94,7 +124,6 @@ public class PropertySets {
CommonAuralProperties.set(Constants.PR_VOICE_FAMILY);
CommonAuralProperties.set(Constants.PR_VOLUME);
- BitSet CommonBorderPaddingBackgroundProperties = new BitSet();
CommonBorderPaddingBackgroundProperties.set(Constants.PR_BACKGROUND_ATTACHMENT);
CommonBorderPaddingBackgroundProperties.set(Constants.PR_BACKGROUND_COLOR);
CommonBorderPaddingBackgroundProperties.set(Constants.PR_BACKGROUND_IMAGE);
@@ -143,7 +172,6 @@ public class PropertySets {
CommonBorderPaddingBackgroundProperties.set(Constants.PR_BORDER_RIGHT);
CommonBorderPaddingBackgroundProperties.set(Constants.PR_PADDING);
- BitSet CommonFontProperties = new BitSet();
CommonFontProperties.set(Constants.PR_FONT);
CommonFontProperties.set(Constants.PR_FONT_FAMILY);
CommonFontProperties.set(Constants.PR_FONT_SELECTION_STRATEGY);
@@ -154,7 +182,6 @@ public class PropertySets {
CommonFontProperties.set(Constants.PR_FONT_VARIANT);
CommonFontProperties.set(Constants.PR_FONT_WEIGHT);
- BitSet CommonHyphenationProperties = new BitSet();
CommonHyphenationProperties.set(Constants.PR_COUNTRY);
CommonHyphenationProperties.set(Constants.PR_LANGUAGE);
CommonHyphenationProperties.set(Constants.PR_SCRIPT);
@@ -163,7 +190,6 @@ public class PropertySets {
CommonHyphenationProperties.set(Constants.PR_HYPHENATION_PUSH_CHARACTER_COUNT);
CommonHyphenationProperties.set(Constants.PR_HYPHENATION_REMAIN_CHARACTER_COUNT);
- BitSet CommonMarginPropertiesBlock = new BitSet();
CommonMarginPropertiesBlock.set(Constants.PR_MARGIN);
CommonMarginPropertiesBlock.set(Constants.PR_MARGIN_TOP);
CommonMarginPropertiesBlock.set(Constants.PR_MARGIN_BOTTOM);
@@ -174,1136 +200,919 @@ public class PropertySets {
CommonMarginPropertiesBlock.set(Constants.PR_START_INDENT);
CommonMarginPropertiesBlock.set(Constants.PR_END_INDENT);
- BitSet CommonMarginPropertiesInline = new BitSet();
CommonMarginPropertiesInline.set(Constants.PR_SPACE_END);
CommonMarginPropertiesInline.set(Constants.PR_SPACE_START);
- BitSet CommonRelativePositionProperties = new BitSet();
CommonRelativePositionProperties.set(Constants.PR_RELATIVE_POSITION);
- BitSet fo_root = new BitSet();
- fo_root.set(Constants.PR_MEDIA_USAGE);
-
- BitSet fo_declaration = new BitSet();
-
- BitSet fo_color_profile = new BitSet();
- fo_color_profile.set(Constants.PR_SRC);
- fo_color_profile.set(Constants.PR_COLOR_PROFILE_NAME);
- fo_color_profile.set(Constants.PR_RENDERING_INTENT);
-
- BitSet fo_page_sequence = new BitSet();
- fo_page_sequence.set(Constants.PR_COUNTRY);
- fo_page_sequence.set(Constants.PR_FORMAT);
- fo_page_sequence.set(Constants.PR_LANGUAGE);
- fo_page_sequence.set(Constants.PR_LETTER_VALUE);
- fo_page_sequence.set(Constants.PR_GROUPING_SEPARATOR);
- fo_page_sequence.set(Constants.PR_GROUPING_SIZE);
- fo_page_sequence.set(Constants.PR_ID);
- fo_page_sequence.set(Constants.PR_INITIAL_PAGE_NUMBER);
- fo_page_sequence.set(Constants.PR_FORCE_PAGE_COUNT);
- fo_page_sequence.set(Constants.PR_MASTER_REFERENCE);
-
- BitSet fo_layout_master_set = new BitSet();
- fo_layout_master_set.set(Constants.PR_MASTER_NAME);
-
- BitSet fo_page_sequence_master = new BitSet();
- fo_page_sequence_master.set(Constants.PR_MASTER_NAME);
-
- BitSet fo_single_page_master_reference = new BitSet();
- fo_single_page_master_reference.set(Constants.PR_MASTER_REFERENCE);
-
- BitSet fo_repeatable_page_master_reference = new BitSet();
- fo_repeatable_page_master_reference.set(Constants.PR_MASTER_REFERENCE);
- fo_repeatable_page_master_reference.set(Constants.PR_MAXIMUM_REPEATS);
-
- BitSet fo_repeatable_page_master_alternatives = new BitSet();
- fo_repeatable_page_master_alternatives.set(Constants.PR_MAXIMUM_REPEATS);
-
- BitSet fo_conditional_page_master_reference = new BitSet();
- fo_conditional_page_master_reference.set(Constants.PR_MASTER_REFERENCE);
- fo_conditional_page_master_reference.set(Constants.PR_PAGE_POSITION);
- fo_conditional_page_master_reference.set(Constants.PR_ODD_OR_EVEN);
- fo_conditional_page_master_reference.set(Constants.PR_BLANK_OR_NOT_BLANK);
-
- BitSet fo_simple_page_master = new BitSet();
- fo_simple_page_master.or(CommonMarginPropertiesBlock);
- fo_simple_page_master.set(Constants.PR_MASTER_NAME);
- fo_simple_page_master.set(Constants.PR_PAGE_HEIGHT);
- fo_simple_page_master.set(Constants.PR_PAGE_WIDTH);
- fo_simple_page_master.set(Constants.PR_REFERENCE_ORIENTATION);
- fo_simple_page_master.set(Constants.PR_WRITING_MODE);
-
- BitSet fo_region_body = new BitSet();
- fo_region_body.or(CommonBorderPaddingBackgroundProperties);
- fo_region_body.or(CommonMarginPropertiesBlock);
- fo_region_body.set(Constants.PR_CLIP);
- fo_region_body.set(Constants.PR_COLUMN_COUNT);
- fo_region_body.set(Constants.PR_COLUMN_GAP);
- fo_region_body.set(Constants.PR_DISPLAY_ALIGN);
- fo_region_body.set(Constants.PR_OVERFLOW);
- fo_region_body.set(Constants.PR_REGION_NAME);
- fo_region_body.set(Constants.PR_REFERENCE_ORIENTATION);
- fo_region_body.set(Constants.PR_WRITING_MODE);
-
- BitSet fo_region_before = new BitSet();
- fo_region_before.or(CommonBorderPaddingBackgroundProperties);
- fo_region_before.set(Constants.PR_CLIP);
- fo_region_before.set(Constants.PR_DISPLAY_ALIGN);
- fo_region_before.set(Constants.PR_EXTENT);
- fo_region_before.set(Constants.PR_OVERFLOW);
- fo_region_before.set(Constants.PR_PRECEDENCE);
- fo_region_before.set(Constants.PR_REGION_NAME);
- fo_region_before.set(Constants.PR_REFERENCE_ORIENTATION);
- fo_region_before.set(Constants.PR_WRITING_MODE);
-
- BitSet fo_region_after = new BitSet();
- fo_region_after.or(CommonBorderPaddingBackgroundProperties);
- fo_region_after.set(Constants.PR_CLIP);
- fo_region_after.set(Constants.PR_DISPLAY_ALIGN);
- fo_region_after.set(Constants.PR_EXTENT);
- fo_region_after.set(Constants.PR_OVERFLOW);
- fo_region_after.set(Constants.PR_PRECEDENCE);
- fo_region_after.set(Constants.PR_REGION_NAME);
- fo_region_after.set(Constants.PR_REFERENCE_ORIENTATION);
- fo_region_after.set(Constants.PR_WRITING_MODE);
-
- BitSet fo_region_start = new BitSet();
- fo_region_start.or(CommonBorderPaddingBackgroundProperties);
- fo_region_start.set(Constants.PR_CLIP);
- fo_region_start.set(Constants.PR_DISPLAY_ALIGN);
- fo_region_start.set(Constants.PR_EXTENT);
- fo_region_start.set(Constants.PR_OVERFLOW);
- fo_region_start.set(Constants.PR_REGION_NAME);
- fo_region_start.set(Constants.PR_REFERENCE_ORIENTATION);
- fo_region_start.set(Constants.PR_WRITING_MODE);
-
- BitSet fo_region_end = new BitSet();
- fo_region_end.or(CommonBorderPaddingBackgroundProperties);
- fo_region_end.set(Constants.PR_CLIP);
- fo_region_end.set(Constants.PR_DISPLAY_ALIGN);
- fo_region_end.set(Constants.PR_EXTENT);
- fo_region_end.set(Constants.PR_OVERFLOW);
- fo_region_end.set(Constants.PR_REGION_NAME);
- fo_region_end.set(Constants.PR_REFERENCE_ORIENTATION);
- fo_region_end.set(Constants.PR_WRITING_MODE);
-
- BitSet fo_flow = new BitSet();
- fo_flow.set(Constants.PR_FLOW_NAME);
-
- BitSet fo_static_content = new BitSet();
- fo_static_content.set(Constants.PR_FLOW_NAME);
-
- BitSet fo_title = new BitSet();
- fo_title.or(CommonAccessibilityProperties);
- fo_title.or(CommonAuralProperties);
- fo_title.or(CommonBorderPaddingBackgroundProperties);
- fo_title.or(CommonFontProperties);
- fo_title.or(CommonMarginPropertiesInline);
- fo_title.set(Constants.PR_COLOR);
- fo_title.set(Constants.PR_LINE_HEIGHT);
- fo_title.set(Constants.PR_VISIBILITY);
-
- BitSet fo_block = new BitSet();
- fo_block.or(CommonAccessibilityProperties);
- fo_block.or(CommonAuralProperties);
- fo_block.or(CommonBorderPaddingBackgroundProperties);
- fo_block.or(CommonFontProperties);
- fo_block.or(CommonHyphenationProperties);
- fo_block.or(CommonMarginPropertiesBlock);
- fo_block.or(CommonRelativePositionProperties);
- fo_block.set(Constants.PR_PAGE_BREAK_AFTER);
- fo_block.set(Constants.PR_PAGE_BREAK_BEFORE);
- fo_block.set(Constants.PR_BREAK_AFTER);
- fo_block.set(Constants.PR_BREAK_BEFORE);
- fo_block.set(Constants.PR_COLOR);
- fo_block.set(Constants.PR_TEXT_DEPTH);
- fo_block.set(Constants.PR_TEXT_ALTITUDE);
- fo_block.set(Constants.PR_HYPHENATION_KEEP);
- fo_block.set(Constants.PR_HYPHENATION_LADDER_COUNT);
- fo_block.set(Constants.PR_ID);
- fo_block.set(Constants.PR_PAGE_BREAK_INSIDE);
- fo_block.set(Constants.PR_KEEP_TOGETHER);
- fo_block.set(Constants.PR_KEEP_WITH_NEXT);
- fo_block.set(Constants.PR_KEEP_WITH_PREVIOUS);
- fo_block.set(Constants.PR_LAST_LINE_END_INDENT);
- fo_block.set(Constants.PR_LINEFEED_TREATMENT);
- fo_block.set(Constants.PR_LINE_HEIGHT);
- fo_block.set(Constants.PR_LINE_HEIGHT_SHIFT_ADJUSTMENT);
- fo_block.set(Constants.PR_LINE_STACKING_STRATEGY);
- fo_block.set(Constants.PR_ORPHANS);
- fo_block.set(Constants.PR_WHITE_SPACE_TREATMENT);
- fo_block.set(Constants.PR_SPAN);
- fo_block.set(Constants.PR_TEXT_ALIGN);
- fo_block.set(Constants.PR_TEXT_ALIGN_LAST);
- fo_block.set(Constants.PR_TEXT_INDENT);
- fo_block.set(Constants.PR_VISIBILITY);
- fo_block.set(Constants.PR_WHITE_SPACE_COLLAPSE);
- fo_block.set(Constants.PR_WIDOWS);
- fo_block.set(Constants.PR_WRAP_OPTION);
-
- BitSet fo_block_container = new BitSet();
- fo_block_container.or(CommonAbsolutePositionProperties);
- fo_block_container.or(CommonBorderPaddingBackgroundProperties);
- fo_block_container.or(CommonMarginPropertiesBlock);
- fo_block_container.set(Constants.PR_BLOCK_PROGRESSION_DIMENSION);
- fo_block_container.set(Constants.PR_PAGE_BREAK_AFTER);
- fo_block_container.set(Constants.PR_PAGE_BREAK_BEFORE);
- fo_block_container.set(Constants.PR_BREAK_AFTER);
- fo_block_container.set(Constants.PR_BREAK_BEFORE);
- fo_block_container.set(Constants.PR_CLIP);
- fo_block_container.set(Constants.PR_DISPLAY_ALIGN);
- fo_block_container.set(Constants.PR_HEIGHT);
- fo_block_container.set(Constants.PR_ID);
- fo_block_container.set(Constants.PR_INLINE_PROGRESSION_DIMENSION);
- fo_block_container.set(Constants.PR_PAGE_BREAK_INSIDE);
- fo_block_container.set(Constants.PR_KEEP_TOGETHER);
- fo_block_container.set(Constants.PR_KEEP_WITH_NEXT);
- fo_block_container.set(Constants.PR_KEEP_WITH_PREVIOUS);
- fo_block_container.set(Constants.PR_OVERFLOW);
- fo_block_container.set(Constants.PR_REFERENCE_ORIENTATION);
- fo_block_container.set(Constants.PR_SPAN);
- fo_block_container.set(Constants.PR_WIDTH);
- fo_block_container.set(Constants.PR_WRITING_MODE);
- fo_block_container.set(Constants.PR_Z_INDEX);
-
- BitSet fo_bidi_override = new BitSet();
- fo_bidi_override.or(CommonAuralProperties);
- fo_bidi_override.or(CommonFontProperties);
- fo_bidi_override.or(CommonRelativePositionProperties);
- fo_bidi_override.set(Constants.PR_COLOR);
- fo_bidi_override.set(Constants.PR_DIRECTION);
- fo_bidi_override.set(Constants.PR_ID);
- fo_bidi_override.set(Constants.PR_LETTER_SPACING);
- fo_bidi_override.set(Constants.PR_LINE_HEIGHT);
- fo_bidi_override.set(Constants.PR_SCORE_SPACES);
- fo_bidi_override.set(Constants.PR_UNICODE_BIDI);
- fo_bidi_override.set(Constants.PR_WORD_SPACING);
-
- BitSet fo_character = new BitSet();
- fo_character.or(CommonAuralProperties);
- fo_character.or(CommonBorderPaddingBackgroundProperties);
- fo_character.or(CommonFontProperties);
- fo_character.or(CommonHyphenationProperties);
- fo_character.or(CommonMarginPropertiesInline);
- fo_character.or(CommonRelativePositionProperties);
- fo_character.set(Constants.PR_VERTICAL_ALIGN);
- fo_character.set(Constants.PR_ALIGNMENT_ADJUST);
- fo_character.set(Constants.PR_TREAT_AS_WORD_SPACE);
- fo_character.set(Constants.PR_ALIGNMENT_BASELINE);
- fo_character.set(Constants.PR_BASELINE_SHIFT);
- fo_character.set(Constants.PR_CHARACTER);
- fo_character.set(Constants.PR_COLOR);
- fo_character.set(Constants.PR_DOMINANT_BASELINE);
- fo_character.set(Constants.PR_TEXT_DEPTH);
- fo_character.set(Constants.PR_TEXT_ALTITUDE);
- fo_character.set(Constants.PR_GLYPH_ORIENTATION_HORIZONTAL);
- fo_character.set(Constants.PR_GLYPH_ORIENTATION_VERTICAL);
- fo_character.set(Constants.PR_ID);
- fo_character.set(Constants.PR_KEEP_WITH_NEXT);
- fo_character.set(Constants.PR_KEEP_WITH_PREVIOUS);
- fo_character.set(Constants.PR_LETTER_SPACING);
- fo_character.set(Constants.PR_LINE_HEIGHT);
- fo_character.set(Constants.PR_SCORE_SPACES);
- fo_character.set(Constants.PR_SUPPRESS_AT_LINE_BREAK);
- fo_character.set(Constants.PR_TEXT_DECORATION);
- fo_character.set(Constants.PR_TEXT_SHADOW);
- fo_character.set(Constants.PR_TEXT_TRANSFORM);
- fo_character.set(Constants.PR_VISIBILITY);
- fo_character.set(Constants.PR_WORD_SPACING);
-
- BitSet fo_initial_property_set = new BitSet();
- fo_initial_property_set.or(CommonAccessibilityProperties);
- fo_initial_property_set.or(CommonAuralProperties);
- fo_initial_property_set.or(CommonBorderPaddingBackgroundProperties);
- fo_initial_property_set.or(CommonFontProperties);
- fo_initial_property_set.or(CommonRelativePositionProperties);
- fo_initial_property_set.set(Constants.PR_COLOR);
- fo_initial_property_set.set(Constants.PR_ID);
- fo_initial_property_set.set(Constants.PR_LETTER_SPACING);
- fo_initial_property_set.set(Constants.PR_LINE_HEIGHT);
- fo_initial_property_set.set(Constants.PR_SCORE_SPACES);
- fo_initial_property_set.set(Constants.PR_TEXT_DECORATION);
- fo_initial_property_set.set(Constants.PR_TEXT_SHADOW);
- fo_initial_property_set.set(Constants.PR_TEXT_TRANSFORM);
- fo_initial_property_set.set(Constants.PR_WORD_SPACING);
-
- BitSet fo_external_graphic = new BitSet();
- fo_external_graphic.or(CommonAccessibilityProperties);
- fo_external_graphic.or(CommonAuralProperties);
- fo_external_graphic.or(CommonBorderPaddingBackgroundProperties);
- fo_external_graphic.or(CommonMarginPropertiesInline);
- fo_external_graphic.or(CommonRelativePositionProperties);
- fo_external_graphic.set(Constants.PR_VERTICAL_ALIGN);
- fo_external_graphic.set(Constants.PR_ALIGNMENT_ADJUST);
- fo_external_graphic.set(Constants.PR_ALIGNMENT_BASELINE);
- fo_external_graphic.set(Constants.PR_BASELINE_SHIFT);
- fo_external_graphic.set(Constants.PR_BLOCK_PROGRESSION_DIMENSION);
- fo_external_graphic.set(Constants.PR_CLIP);
- fo_external_graphic.set(Constants.PR_CONTENT_HEIGHT);
- fo_external_graphic.set(Constants.PR_CONTENT_TYPE);
- fo_external_graphic.set(Constants.PR_CONTENT_WIDTH);
- fo_external_graphic.set(Constants.PR_DISPLAY_ALIGN);
- fo_external_graphic.set(Constants.PR_DOMINANT_BASELINE);
- fo_external_graphic.set(Constants.PR_HEIGHT);
- fo_external_graphic.set(Constants.PR_ID);
- fo_external_graphic.set(Constants.PR_INLINE_PROGRESSION_DIMENSION);
- fo_external_graphic.set(Constants.PR_KEEP_WITH_NEXT);
- fo_external_graphic.set(Constants.PR_KEEP_WITH_PREVIOUS);
- fo_external_graphic.set(Constants.PR_LINE_HEIGHT);
- fo_external_graphic.set(Constants.PR_OVERFLOW);
- fo_external_graphic.set(Constants.PR_SCALING);
- fo_external_graphic.set(Constants.PR_SCALING_METHOD);
- fo_external_graphic.set(Constants.PR_SRC);
- fo_external_graphic.set(Constants.PR_TEXT_ALIGN);
- fo_external_graphic.set(Constants.PR_WIDTH);
-
- BitSet fo_instream_foreign_object = new BitSet();
- fo_instream_foreign_object.or(CommonAccessibilityProperties);
- fo_instream_foreign_object.or(CommonAuralProperties);
- fo_instream_foreign_object.or(CommonBorderPaddingBackgroundProperties);
- fo_instream_foreign_object.or(CommonMarginPropertiesInline);
- fo_instream_foreign_object.or(CommonRelativePositionProperties);
- fo_instream_foreign_object.set(Constants.PR_VERTICAL_ALIGN);
- fo_instream_foreign_object.set(Constants.PR_ALIGNMENT_ADJUST);
- fo_instream_foreign_object.set(Constants.PR_ALIGNMENT_BASELINE);
- fo_instream_foreign_object.set(Constants.PR_BASELINE_SHIFT);
- fo_instream_foreign_object.set(Constants.PR_BLOCK_PROGRESSION_DIMENSION);
- fo_instream_foreign_object.set(Constants.PR_CLIP);
- fo_instream_foreign_object.set(Constants.PR_CONTENT_HEIGHT);
- fo_instream_foreign_object.set(Constants.PR_CONTENT_TYPE);
- fo_instream_foreign_object.set(Constants.PR_CONTENT_WIDTH);
- fo_instream_foreign_object.set(Constants.PR_DISPLAY_ALIGN);
- fo_instream_foreign_object.set(Constants.PR_DOMINANT_BASELINE);
- fo_instream_foreign_object.set(Constants.PR_HEIGHT);
- fo_instream_foreign_object.set(Constants.PR_ID);
- fo_instream_foreign_object.set(Constants.PR_INLINE_PROGRESSION_DIMENSION);
- fo_instream_foreign_object.set(Constants.PR_KEEP_WITH_NEXT);
- fo_instream_foreign_object.set(Constants.PR_KEEP_WITH_PREVIOUS);
- fo_instream_foreign_object.set(Constants.PR_LINE_HEIGHT);
- fo_instream_foreign_object.set(Constants.PR_OVERFLOW);
- fo_instream_foreign_object.set(Constants.PR_SCALING);
- fo_instream_foreign_object.set(Constants.PR_SCALING_METHOD);
- fo_instream_foreign_object.set(Constants.PR_TEXT_ALIGN);
- fo_instream_foreign_object.set(Constants.PR_WIDTH);
-
- BitSet fo_inline = new BitSet();
- fo_inline.or(CommonAccessibilityProperties);
- fo_inline.or(CommonAuralProperties);
- fo_inline.or(CommonBorderPaddingBackgroundProperties);
- fo_inline.or(CommonFontProperties);
- fo_inline.or(CommonMarginPropertiesInline);
- fo_inline.or(CommonRelativePositionProperties);
- fo_inline.set(Constants.PR_VERTICAL_ALIGN);
- fo_inline.set(Constants.PR_ALIGNMENT_ADJUST);
- fo_inline.set(Constants.PR_ALIGNMENT_BASELINE);
- fo_inline.set(Constants.PR_BASELINE_SHIFT);
- fo_inline.set(Constants.PR_BLOCK_PROGRESSION_DIMENSION);
- fo_inline.set(Constants.PR_COLOR);
- fo_inline.set(Constants.PR_DOMINANT_BASELINE);
- fo_inline.set(Constants.PR_HEIGHT);
- fo_inline.set(Constants.PR_ID);
- fo_inline.set(Constants.PR_INLINE_PROGRESSION_DIMENSION);
- fo_inline.set(Constants.PR_PAGE_BREAK_INSIDE);
- fo_inline.set(Constants.PR_KEEP_TOGETHER);
- fo_inline.set(Constants.PR_KEEP_WITH_NEXT);
- fo_inline.set(Constants.PR_KEEP_WITH_PREVIOUS);
- fo_inline.set(Constants.PR_LINE_HEIGHT);
- fo_inline.set(Constants.PR_TEXT_DECORATION);
- fo_inline.set(Constants.PR_VISIBILITY);
- fo_inline.set(Constants.PR_WIDTH);
- fo_inline.set(Constants.PR_WRAP_OPTION);
-
- BitSet fo_inline_container = new BitSet();
- fo_inline_container.or(CommonBorderPaddingBackgroundProperties);
- fo_inline_container.or(CommonMarginPropertiesInline);
- fo_inline_container.or(CommonRelativePositionProperties);
- fo_inline_container.set(Constants.PR_VERTICAL_ALIGN);
- fo_inline_container.set(Constants.PR_ALIGNMENT_ADJUST);
- fo_inline_container.set(Constants.PR_ALIGNMENT_BASELINE);
- fo_inline_container.set(Constants.PR_BASELINE_SHIFT);
- fo_inline_container.set(Constants.PR_BLOCK_PROGRESSION_DIMENSION);
- fo_inline_container.set(Constants.PR_CLIP);
- fo_inline_container.set(Constants.PR_DISPLAY_ALIGN);
- fo_inline_container.set(Constants.PR_DOMINANT_BASELINE);
- fo_inline_container.set(Constants.PR_HEIGHT);
- fo_inline_container.set(Constants.PR_ID);
- fo_inline_container.set(Constants.PR_INLINE_PROGRESSION_DIMENSION);
- fo_inline_container.set(Constants.PR_PAGE_BREAK_INSIDE);
- fo_inline_container.set(Constants.PR_KEEP_TOGETHER);
- fo_inline_container.set(Constants.PR_KEEP_WITH_NEXT);
- fo_inline_container.set(Constants.PR_KEEP_WITH_PREVIOUS);
- fo_inline_container.set(Constants.PR_LINE_HEIGHT);
- fo_inline_container.set(Constants.PR_OVERFLOW);
- fo_inline_container.set(Constants.PR_REFERENCE_ORIENTATION);
- fo_inline_container.set(Constants.PR_WIDTH);
- fo_inline_container.set(Constants.PR_WRITING_MODE);
-
- BitSet fo_leader = new BitSet();
- fo_leader.or(CommonAccessibilityProperties);
- fo_leader.or(CommonAuralProperties);
- fo_leader.or(CommonBorderPaddingBackgroundProperties);
- fo_leader.or(CommonFontProperties);
- fo_leader.or(CommonMarginPropertiesInline);
- fo_leader.or(CommonRelativePositionProperties);
- fo_leader.set(Constants.PR_VERTICAL_ALIGN);
- fo_leader.set(Constants.PR_ALIGNMENT_ADJUST);
- fo_leader.set(Constants.PR_ALIGNMENT_BASELINE);
- fo_leader.set(Constants.PR_BASELINE_SHIFT);
- fo_leader.set(Constants.PR_COLOR);
- fo_leader.set(Constants.PR_DOMINANT_BASELINE);
- fo_leader.set(Constants.PR_TEXT_DEPTH);
- fo_leader.set(Constants.PR_TEXT_ALTITUDE);
- fo_leader.set(Constants.PR_ID);
- fo_leader.set(Constants.PR_KEEP_WITH_NEXT);
- fo_leader.set(Constants.PR_KEEP_WITH_PREVIOUS);
- fo_leader.set(Constants.PR_LEADER_ALIGNMENT);
- fo_leader.set(Constants.PR_LEADER_LENGTH);
- fo_leader.set(Constants.PR_LEADER_PATTERN);
- fo_leader.set(Constants.PR_LEADER_PATTERN_WIDTH);
- fo_leader.set(Constants.PR_RULE_STYLE);
- fo_leader.set(Constants.PR_RULE_THICKNESS);
- fo_leader.set(Constants.PR_LETTER_SPACING);
- fo_leader.set(Constants.PR_LINE_HEIGHT);
- fo_leader.set(Constants.PR_TEXT_SHADOW);
- fo_leader.set(Constants.PR_VISIBILITY);
- fo_leader.set(Constants.PR_WORD_SPACING);
-
- BitSet fo_page_number = new BitSet();
- fo_page_number.or(CommonAccessibilityProperties);
- fo_page_number.or(CommonAuralProperties);
- fo_page_number.or(CommonBorderPaddingBackgroundProperties);
- fo_page_number.or(CommonFontProperties);
- fo_page_number.or(CommonMarginPropertiesInline);
- fo_page_number.or(CommonRelativePositionProperties);
- fo_page_number.set(Constants.PR_VERTICAL_ALIGN);
- fo_page_number.set(Constants.PR_ALIGNMENT_ADJUST);
- fo_page_number.set(Constants.PR_ALIGNMENT_BASELINE);
- fo_page_number.set(Constants.PR_BASELINE_SHIFT);
- fo_page_number.set(Constants.PR_DOMINANT_BASELINE);
- fo_page_number.set(Constants.PR_ID);
- fo_page_number.set(Constants.PR_KEEP_WITH_NEXT);
- fo_page_number.set(Constants.PR_KEEP_WITH_PREVIOUS);
- fo_page_number.set(Constants.PR_LETTER_SPACING);
- fo_page_number.set(Constants.PR_LINE_HEIGHT);
- fo_page_number.set(Constants.PR_SCORE_SPACES);
- fo_page_number.set(Constants.PR_TEXT_ALTITUDE);
- fo_page_number.set(Constants.PR_TEXT_DECORATION);
- fo_page_number.set(Constants.PR_TEXT_DEPTH);
- fo_page_number.set(Constants.PR_TEXT_SHADOW);
- fo_page_number.set(Constants.PR_TEXT_TRANSFORM);
- fo_page_number.set(Constants.PR_VISIBILITY);
- fo_page_number.set(Constants.PR_WORD_SPACING);
- fo_page_number.set(Constants.PR_WRAP_OPTION);
-
- BitSet fo_page_number_citation = new BitSet();
- fo_page_number_citation.or(CommonAccessibilityProperties);
- fo_page_number_citation.or(CommonAuralProperties);
- fo_page_number_citation.or(CommonBorderPaddingBackgroundProperties);
- fo_page_number_citation.or(CommonFontProperties);
- fo_page_number_citation.or(CommonMarginPropertiesInline);
- fo_page_number_citation.or(CommonRelativePositionProperties);
- fo_page_number_citation.set(Constants.PR_VERTICAL_ALIGN);
- fo_page_number_citation.set(Constants.PR_ALIGNMENT_ADJUST);
- fo_page_number_citation.set(Constants.PR_ALIGNMENT_BASELINE);
- fo_page_number_citation.set(Constants.PR_BASELINE_SHIFT);
- fo_page_number_citation.set(Constants.PR_DOMINANT_BASELINE);
- fo_page_number_citation.set(Constants.PR_ID);
- fo_page_number_citation.set(Constants.PR_KEEP_WITH_NEXT);
- fo_page_number_citation.set(Constants.PR_KEEP_WITH_PREVIOUS);
- fo_page_number_citation.set(Constants.PR_LETTER_SPACING);
- fo_page_number_citation.set(Constants.PR_LINE_HEIGHT);
- fo_page_number_citation.set(Constants.PR_REF_ID);
- fo_page_number_citation.set(Constants.PR_SCORE_SPACES);
- fo_page_number_citation.set(Constants.PR_TEXT_ALTITUDE);
- fo_page_number_citation.set(Constants.PR_TEXT_DECORATION);
- fo_page_number_citation.set(Constants.PR_TEXT_DEPTH);
- fo_page_number_citation.set(Constants.PR_TEXT_SHADOW);
- fo_page_number_citation.set(Constants.PR_TEXT_TRANSFORM);
- fo_page_number_citation.set(Constants.PR_VISIBILITY);
- fo_page_number_citation.set(Constants.PR_WORD_SPACING);
- fo_page_number_citation.set(Constants.PR_WRAP_OPTION);
-
- BitSet fo_table_and_caption = new BitSet();
- fo_table_and_caption.or(CommonAccessibilityProperties);
- fo_table_and_caption.or(CommonAuralProperties);
- fo_table_and_caption.or(CommonBorderPaddingBackgroundProperties);
- fo_table_and_caption.or(CommonMarginPropertiesBlock);
- fo_table_and_caption.or(CommonRelativePositionProperties);
- fo_table_and_caption.set(Constants.PR_PAGE_BREAK_AFTER);
- fo_table_and_caption.set(Constants.PR_PAGE_BREAK_BEFORE);
- fo_table_and_caption.set(Constants.PR_BREAK_AFTER);
- fo_table_and_caption.set(Constants.PR_BREAK_BEFORE);
- fo_table_and_caption.set(Constants.PR_CAPTION_SIDE);
- fo_table_and_caption.set(Constants.PR_ID);
- fo_table_and_caption.set(Constants.PR_PAGE_BREAK_INSIDE);
- fo_table_and_caption.set(Constants.PR_KEEP_TOGETHER);
- fo_table_and_caption.set(Constants.PR_KEEP_WITH_NEXT);
- fo_table_and_caption.set(Constants.PR_KEEP_WITH_PREVIOUS);
- fo_table_and_caption.set(Constants.PR_TEXT_ALIGN);
-
- BitSet fo_table = new BitSet();
- fo_table.or(CommonAccessibilityProperties);
- fo_table.or(CommonAuralProperties);
- fo_table.or(CommonBorderPaddingBackgroundProperties);
- fo_table.or(CommonMarginPropertiesBlock);
- fo_table.or(CommonRelativePositionProperties);
- fo_table.set(Constants.PR_BLOCK_PROGRESSION_DIMENSION);
- fo_table.set(Constants.PR_BORDER_AFTER_PRECEDENCE);
- fo_table.set(Constants.PR_BORDER_BEFORE_PRECEDENCE);
- fo_table.set(Constants.PR_BORDER_SPACING);
- fo_table.set(Constants.PR_BORDER_COLLAPSE);
- fo_table.set(Constants.PR_BORDER_END_PRECEDENCE);
- fo_table.set(Constants.PR_BORDER_SEPARATION);
- fo_table.set(Constants.PR_BORDER_START_PRECEDENCE);
- fo_table.set(Constants.PR_PAGE_BREAK_AFTER);
- fo_table.set(Constants.PR_PAGE_BREAK_BEFORE);
- fo_table.set(Constants.PR_BREAK_AFTER);
- fo_table.set(Constants.PR_BREAK_BEFORE);
- fo_table.set(Constants.PR_ID);
- fo_table.set(Constants.PR_INLINE_PROGRESSION_DIMENSION);
- fo_table.set(Constants.PR_HEIGHT);
- fo_table.set(Constants.PR_PAGE_BREAK_INSIDE);
- fo_table.set(Constants.PR_KEEP_TOGETHER);
- fo_table.set(Constants.PR_KEEP_WITH_NEXT);
- fo_table.set(Constants.PR_KEEP_WITH_PREVIOUS);
- fo_table.set(Constants.PR_TABLE_LAYOUT);
- fo_table.set(Constants.PR_TABLE_OMIT_FOOTER_AT_BREAK);
- fo_table.set(Constants.PR_TABLE_OMIT_HEADER_AT_BREAK);
- fo_table.set(Constants.PR_WIDTH);
- fo_table.set(Constants.PR_WRITING_MODE);
-
- BitSet fo_table_column = new BitSet();
- fo_table_column.or(CommonBorderPaddingBackgroundProperties);
- fo_table_column.set(Constants.PR_BORDER_AFTER_PRECEDENCE);
- fo_table_column.set(Constants.PR_BORDER_BEFORE_PRECEDENCE);
- fo_table_column.set(Constants.PR_BORDER_END_PRECEDENCE);
- fo_table_column.set(Constants.PR_BORDER_START_PRECEDENCE);
- fo_table_column.set(Constants.PR_COLUMN_NUMBER);
- fo_table_column.set(Constants.PR_COLUMN_WIDTH);
- fo_table_column.set(Constants.PR_NUMBER_COLUMNS_REPEATED);
- fo_table_column.set(Constants.PR_NUMBER_COLUMNS_SPANNED);
- fo_table_column.set(Constants.PR_VISIBILITY);
-
- BitSet fo_table_caption = new BitSet();
- fo_table_caption.or(CommonAccessibilityProperties);
- fo_table_caption.or(CommonAuralProperties);
- fo_table_caption.or(CommonBorderPaddingBackgroundProperties);
- fo_table_caption.or(CommonRelativePositionProperties);
- fo_table_caption.set(Constants.PR_BLOCK_PROGRESSION_DIMENSION);
- fo_table_caption.set(Constants.PR_HEIGHT);
- fo_table_caption.set(Constants.PR_ID);
- fo_table_caption.set(Constants.PR_INLINE_PROGRESSION_DIMENSION);
- fo_table_caption.set(Constants.PR_PAGE_BREAK_INSIDE);
- fo_table_caption.set(Constants.PR_KEEP_TOGETHER);
- fo_table_caption.set(Constants.PR_WIDTH);
-
- BitSet fo_table_header = new BitSet();
- fo_table_header.or(CommonAccessibilityProperties);
- fo_table_header.or(CommonAuralProperties);
- fo_table_header.or(CommonBorderPaddingBackgroundProperties);
- fo_table_header.or(CommonRelativePositionProperties);
- fo_table_header.set(Constants.PR_BORDER_AFTER_PRECEDENCE);
- fo_table_header.set(Constants.PR_BORDER_BEFORE_PRECEDENCE);
- fo_table_header.set(Constants.PR_BORDER_END_PRECEDENCE);
- fo_table_header.set(Constants.PR_BORDER_START_PRECEDENCE);
- fo_table_header.set(Constants.PR_ID);
- fo_table_header.set(Constants.PR_VISIBILITY);
-
- BitSet fo_table_footer = new BitSet();
- fo_table_footer.or(CommonAccessibilityProperties);
- fo_table_footer.or(CommonAuralProperties);
- fo_table_footer.or(CommonBorderPaddingBackgroundProperties);
- fo_table_footer.or(CommonRelativePositionProperties);
- fo_table_footer.set(Constants.PR_BORDER_AFTER_PRECEDENCE);
- fo_table_footer.set(Constants.PR_BORDER_BEFORE_PRECEDENCE);
- fo_table_footer.set(Constants.PR_BORDER_END_PRECEDENCE);
- fo_table_footer.set(Constants.PR_BORDER_START_PRECEDENCE);
- fo_table_footer.set(Constants.PR_ID);
- fo_table_footer.set(Constants.PR_VISIBILITY);
-
- BitSet fo_table_body = new BitSet();
- fo_table_body.or(CommonAccessibilityProperties);
- fo_table_body.or(CommonAuralProperties);
- fo_table_body.or(CommonBorderPaddingBackgroundProperties);
- fo_table_body.or(CommonRelativePositionProperties);
- fo_table_body.set(Constants.PR_BORDER_AFTER_PRECEDENCE);
- fo_table_body.set(Constants.PR_BORDER_BEFORE_PRECEDENCE);
- fo_table_body.set(Constants.PR_BORDER_END_PRECEDENCE);
- fo_table_body.set(Constants.PR_BORDER_START_PRECEDENCE);
- fo_table_body.set(Constants.PR_ID);
- fo_table_body.set(Constants.PR_VISIBILITY);
-
- BitSet fo_table_row = new BitSet();
- fo_table_row.or(CommonAccessibilityProperties);
- fo_table_row.set(Constants.PR_BLOCK_PROGRESSION_DIMENSION);
- fo_table_row.or(CommonAuralProperties);
- fo_table_row.or(CommonBorderPaddingBackgroundProperties);
- fo_table_row.or(CommonRelativePositionProperties);
- fo_table_row.set(Constants.PR_BORDER_AFTER_PRECEDENCE);
- fo_table_row.set(Constants.PR_BORDER_BEFORE_PRECEDENCE);
- fo_table_row.set(Constants.PR_BORDER_END_PRECEDENCE);
- fo_table_row.set(Constants.PR_BORDER_START_PRECEDENCE);
- fo_table_row.set(Constants.PR_PAGE_BREAK_AFTER);
- fo_table_row.set(Constants.PR_PAGE_BREAK_BEFORE);
- fo_table_row.set(Constants.PR_BREAK_AFTER);
- fo_table_row.set(Constants.PR_BREAK_BEFORE);
- fo_table_row.set(Constants.PR_ID);
- fo_table_row.set(Constants.PR_HEIGHT);
- fo_table_row.set(Constants.PR_PAGE_BREAK_INSIDE);
- fo_table_row.set(Constants.PR_KEEP_TOGETHER);
- fo_table_row.set(Constants.PR_KEEP_WITH_NEXT);
- fo_table_row.set(Constants.PR_KEEP_WITH_PREVIOUS);
- fo_table_row.set(Constants.PR_VISIBILITY);
-
- BitSet fo_table_cell = new BitSet();
- fo_table_cell.or(CommonAccessibilityProperties);
- fo_table_cell.or(CommonAuralProperties);
- fo_table_cell.or(CommonBorderPaddingBackgroundProperties);
- fo_table_cell.or(CommonRelativePositionProperties);
- fo_table_cell.set(Constants.PR_BORDER_AFTER_PRECEDENCE);
- fo_table_cell.set(Constants.PR_BORDER_BEFORE_PRECEDENCE);
- fo_table_cell.set(Constants.PR_BORDER_END_PRECEDENCE);
- fo_table_cell.set(Constants.PR_BORDER_START_PRECEDENCE);
- fo_table_cell.set(Constants.PR_BLOCK_PROGRESSION_DIMENSION);
- fo_table_cell.set(Constants.PR_COLUMN_NUMBER);
- fo_table_cell.set(Constants.PR_DISPLAY_ALIGN);
- fo_table_cell.set(Constants.PR_RELATIVE_ALIGN);
- fo_table_cell.set(Constants.PR_EMPTY_CELLS);
- fo_table_cell.set(Constants.PR_ENDS_ROW);
- fo_table_cell.set(Constants.PR_HEIGHT);
- fo_table_cell.set(Constants.PR_ID);
- fo_table_cell.set(Constants.PR_INLINE_PROGRESSION_DIMENSION);
- fo_table_cell.set(Constants.PR_NUMBER_COLUMNS_SPANNED);
- fo_table_cell.set(Constants.PR_NUMBER_ROWS_SPANNED);
- fo_table_cell.set(Constants.PR_STARTS_ROW);
- fo_table_cell.set(Constants.PR_WIDTH);
-
- BitSet fo_list_block = new BitSet();
- fo_list_block.or(CommonAccessibilityProperties);
- fo_list_block.or(CommonAuralProperties);
- fo_list_block.or(CommonBorderPaddingBackgroundProperties);
- fo_list_block.or(CommonMarginPropertiesBlock);
- fo_list_block.or(CommonRelativePositionProperties);
- fo_list_block.set(Constants.PR_PAGE_BREAK_AFTER);
- fo_list_block.set(Constants.PR_PAGE_BREAK_BEFORE);
- fo_list_block.set(Constants.PR_BREAK_AFTER);
- fo_list_block.set(Constants.PR_BREAK_BEFORE);
- fo_list_block.set(Constants.PR_ID);
- fo_list_block.set(Constants.PR_PAGE_BREAK_INSIDE);
- fo_list_block.set(Constants.PR_KEEP_TOGETHER);
- fo_list_block.set(Constants.PR_KEEP_WITH_NEXT);
- fo_list_block.set(Constants.PR_KEEP_WITH_PREVIOUS);
- fo_list_block.set(Constants.PR_PROVISIONAL_DISTANCE_BETWEEN_STARTS);
- fo_list_block.set(Constants.PR_PROVISIONAL_LABEL_SEPARATION);
-
- BitSet fo_list_item = new BitSet();
- fo_list_item.or(CommonAccessibilityProperties);
- fo_list_item.or(CommonAuralProperties);
- fo_list_item.or(CommonBorderPaddingBackgroundProperties);
- fo_list_item.or(CommonMarginPropertiesBlock);
- fo_list_item.or(CommonRelativePositionProperties);
- fo_list_item.set(Constants.PR_PAGE_BREAK_AFTER);
- fo_list_item.set(Constants.PR_PAGE_BREAK_BEFORE);
- fo_list_item.set(Constants.PR_BREAK_AFTER);
- fo_list_item.set(Constants.PR_BREAK_BEFORE);
- fo_list_item.set(Constants.PR_ID);
- fo_list_item.set(Constants.PR_PAGE_BREAK_INSIDE);
- fo_list_item.set(Constants.PR_KEEP_TOGETHER);
- fo_list_item.set(Constants.PR_KEEP_WITH_NEXT);
- fo_list_item.set(Constants.PR_KEEP_WITH_PREVIOUS);
- fo_list_item.set(Constants.PR_RELATIVE_ALIGN);
-
- BitSet fo_list_item_body = new BitSet();
- fo_list_item_body.or(CommonAccessibilityProperties);
- fo_list_item_body.set(Constants.PR_ID);
- fo_list_item_body.set(Constants.PR_PAGE_BREAK_INSIDE);
- fo_list_item_body.set(Constants.PR_KEEP_TOGETHER);
-
- BitSet fo_list_item_label = new BitSet();
- fo_list_item_label.or(CommonAccessibilityProperties);
- fo_list_item_label.set(Constants.PR_ID);
- fo_list_item_label.set(Constants.PR_PAGE_BREAK_INSIDE);
- fo_list_item_label.set(Constants.PR_KEEP_TOGETHER);
-
- BitSet fo_basic_link = new BitSet();
- fo_basic_link.or(CommonAccessibilityProperties);
- fo_basic_link.or(CommonAuralProperties);
- fo_basic_link.or(CommonBorderPaddingBackgroundProperties);
- fo_basic_link.or(CommonMarginPropertiesInline);
- fo_basic_link.or(CommonRelativePositionProperties);
- fo_basic_link.set(Constants.PR_VERTICAL_ALIGN);
- fo_basic_link.set(Constants.PR_ALIGNMENT_ADJUST);
- fo_basic_link.set(Constants.PR_ALIGNMENT_BASELINE);
- fo_basic_link.set(Constants.PR_BASELINE_SHIFT);
- fo_basic_link.set(Constants.PR_DESTINATION_PLACEMENT_OFFSET);
- fo_basic_link.set(Constants.PR_DOMINANT_BASELINE);
- fo_basic_link.set(Constants.PR_EXTERNAL_DESTINATION);
- fo_basic_link.set(Constants.PR_ID);
- fo_basic_link.set(Constants.PR_INDICATE_DESTINATION);
- fo_basic_link.set(Constants.PR_INTERNAL_DESTINATION);
- fo_basic_link.set(Constants.PR_PAGE_BREAK_INSIDE);
- fo_basic_link.set(Constants.PR_KEEP_TOGETHER);
- fo_basic_link.set(Constants.PR_KEEP_WITH_NEXT);
- fo_basic_link.set(Constants.PR_KEEP_WITH_PREVIOUS);
- fo_basic_link.set(Constants.PR_LINE_HEIGHT);
- fo_basic_link.set(Constants.PR_SHOW_DESTINATION);
- fo_basic_link.set(Constants.PR_TARGET_PROCESSING_CONTEXT);
- fo_basic_link.set(Constants.PR_TARGET_PRESENTATION_CONTEXT);
- fo_basic_link.set(Constants.PR_TARGET_STYLESHEET);
-
- BitSet fo_multi_switch = new BitSet();
- fo_multi_switch.or(CommonAccessibilityProperties);
- fo_multi_switch.set(Constants.PR_AUTO_RESTORE);
- fo_multi_switch.set(Constants.PR_ID);
-
- BitSet fo_multi_case = new BitSet();
- fo_multi_case.or(CommonAccessibilityProperties);
- fo_multi_case.set(Constants.PR_ID);
- fo_multi_case.set(Constants.PR_STARTING_STATE);
- fo_multi_case.set(Constants.PR_CASE_NAME);
- fo_multi_case.set(Constants.PR_CASE_TITLE);
-
- BitSet fo_multi_toggle = new BitSet();
- fo_multi_toggle.or(CommonAccessibilityProperties);
- fo_multi_toggle.set(Constants.PR_ID);
- fo_multi_toggle.set(Constants.PR_SWITCH_TO);
-
- BitSet fo_multi_properties = new BitSet();
- fo_multi_properties.or(CommonAccessibilityProperties);
- fo_multi_properties.set(Constants.PR_ID);
-
- BitSet fo_multi_property_set = new BitSet();
- fo_multi_property_set.set(Constants.PR_ID);
- fo_multi_property_set.set(Constants.PR_ACTIVE_STATE);
-
- BitSet fo_float = new BitSet();
- fo_float.set(Constants.PR_FLOAT);
- fo_float.set(Constants.PR_CLEAR);
-
- BitSet fo_footnote = new BitSet();
- fo_footnote.or(CommonAccessibilityProperties);
-
- BitSet fo_footnote_body = new BitSet();
- fo_footnote_body.or(CommonAccessibilityProperties);
-
- BitSet fo_wrapper = new BitSet();
- fo_wrapper.set(Constants.PR_ID);
-
- BitSet fo_marker = new BitSet();
- fo_marker.set(Constants.PR_MARKER_CLASS_NAME);
-
- BitSet fo_retrieve_marker = new BitSet();
- fo_retrieve_marker.set(Constants.PR_RETRIEVE_CLASS_NAME);
- fo_retrieve_marker.set(Constants.PR_RETRIEVE_POSITION);
- fo_retrieve_marker.set(Constants.PR_RETRIEVE_BOUNDARY);
-
- boolean loop = true;
- while (loop) {
- loop = false;
-
- loop = mergeContent(fo_root, fo_layout_master_set, loop);
-
- loop = mergeContent(fo_root, fo_declaration, loop);
-
- loop = mergeContent(fo_root, fo_page_sequence, loop);
-
- loop = mergeContent(fo_declaration, fo_color_profile, loop);
-
- loop = mergeContent(fo_page_sequence, fo_title, loop);
-
- loop = mergeContent(fo_page_sequence, fo_static_content, loop);
-
- loop = mergeContent(fo_page_sequence, fo_flow, loop);
-
- loop = mergeContent(fo_layout_master_set, fo_simple_page_master, loop);
-
- loop = mergeContent(fo_layout_master_set, fo_page_sequence_master, loop);
-
- loop = mergeContent(fo_page_sequence_master, fo_single_page_master_reference, loop);
-
- loop = mergeContent(fo_page_sequence_master, fo_repeatable_page_master_reference, loop);
-
- loop = mergeContent(fo_page_sequence_master, fo_repeatable_page_master_alternatives, loop);
-
- loop = mergeContent(fo_repeatable_page_master_alternatives, fo_conditional_page_master_reference, loop);
-
- loop = mergeContent(fo_simple_page_master, fo_region_body, loop);
-
- loop = mergeContent(fo_simple_page_master, fo_region_before, loop);
-
- loop = mergeContent(fo_simple_page_master, fo_region_after, loop);
-
- loop = mergeContent(fo_simple_page_master, fo_region_start, loop);
-
- loop = mergeContent(fo_simple_page_master, fo_region_end, loop);
-
- loop = mergeContent(fo_flow, fo_block, loop);
- loop = mergeContent(fo_flow, fo_block_container, loop);
- loop = mergeContent(fo_flow, fo_table_and_caption, loop);
- loop = mergeContent(fo_flow, fo_table, loop);
- loop = mergeContent(fo_flow, fo_list_block, loop);
-
- loop = mergeContent(fo_static_content, fo_block, loop);
- loop = mergeContent(fo_static_content, fo_block_container, loop);
- loop = mergeContent(fo_static_content, fo_table_and_caption, loop);
- loop = mergeContent(fo_static_content, fo_table, loop);
- loop = mergeContent(fo_static_content, fo_list_block, loop);
-
- loop = mergeContent(fo_title, fo_bidi_override, loop);
- loop = mergeContent(fo_title, fo_character, loop);
- loop = mergeContent(fo_title, fo_external_graphic, loop);
- loop = mergeContent(fo_title, fo_instream_foreign_object, loop);
- loop = mergeContent(fo_title, fo_inline, loop);
- loop = mergeContent(fo_title, fo_inline_container, loop);
- loop = mergeContent(fo_title, fo_leader, loop);
- loop = mergeContent(fo_title, fo_page_number, loop);
- loop = mergeContent(fo_title, fo_page_number_citation, loop);
- loop = mergeContent(fo_title, fo_basic_link, loop);
- loop = mergeContent(fo_title, fo_multi_toggle, loop);
-
- loop = mergeContent(fo_block, fo_bidi_override, loop);
- loop = mergeContent(fo_block, fo_character, loop);
- loop = mergeContent(fo_block, fo_external_graphic, loop);
- loop = mergeContent(fo_block, fo_instream_foreign_object, loop);
- loop = mergeContent(fo_block, fo_inline, loop);
- loop = mergeContent(fo_block, fo_inline_container, loop);
- loop = mergeContent(fo_block, fo_leader, loop);
- loop = mergeContent(fo_block, fo_page_number, loop);
- loop = mergeContent(fo_block, fo_page_number_citation, loop);
- loop = mergeContent(fo_block, fo_basic_link, loop);
- loop = mergeContent(fo_block, fo_multi_toggle, loop);
-
- loop = mergeContent(fo_block, fo_block, loop);
- loop = mergeContent(fo_block, fo_block_container, loop);
- loop = mergeContent(fo_block, fo_table_and_caption, loop);
- loop = mergeContent(fo_block, fo_table, loop);
- loop = mergeContent(fo_block, fo_list_block, loop);
-
- loop = mergeContent(fo_block_container, fo_block, loop);
- loop = mergeContent(fo_block_container, fo_block_container, loop);
- loop = mergeContent(fo_block_container, fo_table_and_caption, loop);
- loop = mergeContent(fo_block_container, fo_table, loop);
- loop = mergeContent(fo_block_container, fo_list_block, loop);
-
- loop = mergeContent(fo_bidi_override, fo_bidi_override, loop);
- loop = mergeContent(fo_bidi_override, fo_character, loop);
- loop = mergeContent(fo_bidi_override, fo_external_graphic, loop);
- loop = mergeContent(fo_bidi_override, fo_instream_foreign_object, loop);
- loop = mergeContent(fo_bidi_override, fo_inline, loop);
- loop = mergeContent(fo_bidi_override, fo_inline_container, loop);
- loop = mergeContent(fo_bidi_override, fo_leader, loop);
- loop = mergeContent(fo_bidi_override, fo_page_number, loop);
- loop = mergeContent(fo_bidi_override, fo_page_number_citation, loop);
- loop = mergeContent(fo_bidi_override, fo_basic_link, loop);
- loop = mergeContent(fo_bidi_override, fo_multi_toggle, loop);
-
- loop = mergeContent(fo_bidi_override, fo_block, loop);
- loop = mergeContent(fo_bidi_override, fo_block_container, loop);
- loop = mergeContent(fo_bidi_override, fo_table_and_caption, loop);
- loop = mergeContent(fo_bidi_override, fo_table, loop);
- loop = mergeContent(fo_bidi_override, fo_list_block, loop);
-
- loop = mergeContent(fo_inline, fo_bidi_override, loop);
- loop = mergeContent(fo_inline, fo_character, loop);
- loop = mergeContent(fo_inline, fo_external_graphic, loop);
- loop = mergeContent(fo_inline, fo_instream_foreign_object, loop);
- loop = mergeContent(fo_inline, fo_inline, loop);
- loop = mergeContent(fo_inline, fo_inline_container, loop);
- loop = mergeContent(fo_inline, fo_leader, loop);
- loop = mergeContent(fo_inline, fo_page_number, loop);
- loop = mergeContent(fo_inline, fo_page_number_citation, loop);
- loop = mergeContent(fo_inline, fo_basic_link, loop);
- loop = mergeContent(fo_inline, fo_multi_toggle, loop);
-
- loop = mergeContent(fo_inline, fo_block, loop);
- loop = mergeContent(fo_inline, fo_block_container, loop);
- loop = mergeContent(fo_inline, fo_table_and_caption, loop);
- loop = mergeContent(fo_inline, fo_table, loop);
- loop = mergeContent(fo_inline, fo_list_block, loop);
-
- loop = mergeContent(fo_inline_container, fo_block, loop);
- loop = mergeContent(fo_inline_container, fo_block_container, loop);
- loop = mergeContent(fo_inline_container, fo_table_and_caption, loop);
- loop = mergeContent(fo_inline_container, fo_table, loop);
- loop = mergeContent(fo_inline_container, fo_list_block, loop);
-
- loop = mergeContent(fo_leader, fo_bidi_override, loop);
- loop = mergeContent(fo_leader, fo_character, loop);
- loop = mergeContent(fo_leader, fo_external_graphic, loop);
- loop = mergeContent(fo_leader, fo_instream_foreign_object, loop);
- loop = mergeContent(fo_leader, fo_inline, loop);
- loop = mergeContent(fo_leader, fo_inline_container, loop);
- loop = mergeContent(fo_leader, fo_leader, loop);
- loop = mergeContent(fo_leader, fo_page_number, loop);
- loop = mergeContent(fo_leader, fo_page_number_citation, loop);
- loop = mergeContent(fo_leader, fo_basic_link, loop);
- loop = mergeContent(fo_leader, fo_multi_toggle, loop);
-
- loop = mergeContent(fo_table_and_caption, fo_table_caption, loop);
-
- loop = mergeContent(fo_table_and_caption, fo_table, loop);
-
- loop = mergeContent(fo_table, fo_table_column, loop);
-
- loop = mergeContent(fo_table, fo_table_header, loop);
-
- loop = mergeContent(fo_table, fo_table_footer, loop);
-
- loop = mergeContent(fo_table, fo_table_body, loop);
-
- loop = mergeContent(fo_table_caption, fo_block, loop);
- loop = mergeContent(fo_table_caption, fo_block_container, loop);
- loop = mergeContent(fo_table_caption, fo_table_and_caption, loop);
- loop = mergeContent(fo_table_caption, fo_table, loop);
- loop = mergeContent(fo_table_caption, fo_list_block, loop);
-
- loop = mergeContent(fo_table_header, fo_table_row, loop);
-
- loop = mergeContent(fo_table_header, fo_table_cell, loop);
-
- loop = mergeContent(fo_table_footer, fo_table_row, loop);
-
- loop = mergeContent(fo_table_footer, fo_table_cell, loop);
-
- loop = mergeContent(fo_table_body, fo_table_row, loop);
-
- loop = mergeContent(fo_table_body, fo_table_cell, loop);
-
- loop = mergeContent(fo_table_row, fo_table_cell, loop);
-
- loop = mergeContent(fo_table_cell, fo_block, loop);
- loop = mergeContent(fo_table_cell, fo_block_container, loop);
- loop = mergeContent(fo_table_cell, fo_table_and_caption, loop);
- loop = mergeContent(fo_table_cell, fo_table, loop);
- loop = mergeContent(fo_table_cell, fo_list_block, loop);
-
- loop = mergeContent(fo_list_block, fo_list_item, loop);
-
- loop = mergeContent(fo_list_item, fo_list_item_label, loop);
-
- loop = mergeContent(fo_list_item, fo_list_item_body, loop);
-
- loop = mergeContent(fo_list_item_body, fo_block, loop);
- loop = mergeContent(fo_list_item_body, fo_block_container, loop);
- loop = mergeContent(fo_list_item_body, fo_table_and_caption, loop);
- loop = mergeContent(fo_list_item_body, fo_table, loop);
- loop = mergeContent(fo_list_item_body, fo_list_block, loop);
-
- loop = mergeContent(fo_list_item_label, fo_block, loop);
- loop = mergeContent(fo_list_item_label, fo_block_container, loop);
- loop = mergeContent(fo_list_item_label, fo_table_and_caption, loop);
- loop = mergeContent(fo_list_item_label, fo_table, loop);
- loop = mergeContent(fo_list_item_label, fo_list_block, loop);
-
- loop = mergeContent(fo_basic_link, fo_bidi_override, loop);
- loop = mergeContent(fo_basic_link, fo_character, loop);
- loop = mergeContent(fo_basic_link, fo_external_graphic, loop);
- loop = mergeContent(fo_basic_link, fo_instream_foreign_object, loop);
- loop = mergeContent(fo_basic_link, fo_inline, loop);
- loop = mergeContent(fo_basic_link, fo_inline_container, loop);
- loop = mergeContent(fo_basic_link, fo_leader, loop);
- loop = mergeContent(fo_basic_link, fo_page_number, loop);
- loop = mergeContent(fo_basic_link, fo_page_number_citation, loop);
- loop = mergeContent(fo_basic_link, fo_basic_link, loop);
- loop = mergeContent(fo_basic_link, fo_multi_toggle, loop);
-
- loop = mergeContent(fo_basic_link, fo_block, loop);
- loop = mergeContent(fo_basic_link, fo_block_container, loop);
- loop = mergeContent(fo_basic_link, fo_table_and_caption, loop);
- loop = mergeContent(fo_basic_link, fo_table, loop);
- loop = mergeContent(fo_basic_link, fo_list_block, loop);
-
- loop = mergeContent(fo_multi_switch, fo_multi_case, loop);
-
- loop = mergeContent(fo_multi_case, fo_bidi_override, loop);
- loop = mergeContent(fo_multi_case, fo_character, loop);
- loop = mergeContent(fo_multi_case, fo_external_graphic, loop);
- loop = mergeContent(fo_multi_case, fo_instream_foreign_object, loop);
- loop = mergeContent(fo_multi_case, fo_inline, loop);
- loop = mergeContent(fo_multi_case, fo_inline_container, loop);
- loop = mergeContent(fo_multi_case, fo_leader, loop);
- loop = mergeContent(fo_multi_case, fo_page_number, loop);
- loop = mergeContent(fo_multi_case, fo_page_number_citation, loop);
- loop = mergeContent(fo_multi_case, fo_basic_link, loop);
- loop = mergeContent(fo_multi_case, fo_multi_toggle, loop);
-
- loop = mergeContent(fo_multi_case, fo_block, loop);
- loop = mergeContent(fo_multi_case, fo_block_container, loop);
- loop = mergeContent(fo_multi_case, fo_table_and_caption, loop);
- loop = mergeContent(fo_multi_case, fo_table, loop);
- loop = mergeContent(fo_multi_case, fo_list_block, loop);
-
- loop = mergeContent(fo_multi_toggle, fo_bidi_override, loop);
- loop = mergeContent(fo_multi_toggle, fo_character, loop);
- loop = mergeContent(fo_multi_toggle, fo_external_graphic, loop);
- loop = mergeContent(fo_multi_toggle, fo_instream_foreign_object, loop);
- loop = mergeContent(fo_multi_toggle, fo_inline, loop);
- loop = mergeContent(fo_multi_toggle, fo_inline_container, loop);
- loop = mergeContent(fo_multi_toggle, fo_leader, loop);
- loop = mergeContent(fo_multi_toggle, fo_page_number, loop);
- loop = mergeContent(fo_multi_toggle, fo_page_number_citation, loop);
- loop = mergeContent(fo_multi_toggle, fo_basic_link, loop);
- loop = mergeContent(fo_multi_toggle, fo_multi_toggle, loop);
-
- loop = mergeContent(fo_multi_toggle, fo_block, loop);
- loop = mergeContent(fo_multi_toggle, fo_block_container, loop);
- loop = mergeContent(fo_multi_toggle, fo_table_and_caption, loop);
- loop = mergeContent(fo_multi_toggle, fo_table, loop);
- loop = mergeContent(fo_multi_toggle, fo_list_block, loop);
-
- loop = mergeContent(fo_multi_properties, fo_multi_property_set, loop);
-
- loop = mergeContent(fo_multi_properties, fo_wrapper, loop);
-
- loop = mergeContent(fo_float, fo_block, loop);
- loop = mergeContent(fo_float, fo_block_container, loop);
- loop = mergeContent(fo_float, fo_table_and_caption, loop);
- loop = mergeContent(fo_float, fo_table, loop);
- loop = mergeContent(fo_float, fo_list_block, loop);
-
- loop = mergeContent(fo_footnote, fo_inline, loop);
-
- loop = mergeContent(fo_footnote, fo_footnote_body, loop);
-
- loop = mergeContent(fo_footnote_body, fo_block, loop);
- loop = mergeContent(fo_footnote_body, fo_block_container, loop);
- loop = mergeContent(fo_footnote_body, fo_table_and_caption, loop);
- loop = mergeContent(fo_footnote_body, fo_table, loop);
- loop = mergeContent(fo_footnote_body, fo_list_block, loop);
-
- loop = mergeContent(fo_wrapper, fo_bidi_override, loop);
- loop = mergeContent(fo_wrapper, fo_character, loop);
- loop = mergeContent(fo_wrapper, fo_external_graphic, loop);
- loop = mergeContent(fo_wrapper, fo_instream_foreign_object, loop);
- loop = mergeContent(fo_wrapper, fo_inline, loop);
- loop = mergeContent(fo_wrapper, fo_inline_container, loop);
- loop = mergeContent(fo_wrapper, fo_leader, loop);
- loop = mergeContent(fo_wrapper, fo_page_number, loop);
- loop = mergeContent(fo_wrapper, fo_page_number_citation, loop);
- loop = mergeContent(fo_wrapper, fo_basic_link, loop);
- loop = mergeContent(fo_wrapper, fo_multi_toggle, loop);
-
- loop = mergeContent(fo_wrapper, fo_block, loop);
- loop = mergeContent(fo_wrapper, fo_block_container, loop);
- loop = mergeContent(fo_wrapper, fo_table_and_caption, loop);
- loop = mergeContent(fo_wrapper, fo_table, loop);
- loop = mergeContent(fo_wrapper, fo_list_block, loop);
-
- loop = mergeContent(fo_marker, fo_bidi_override, loop);
- loop = mergeContent(fo_marker, fo_character, loop);
- loop = mergeContent(fo_marker, fo_external_graphic, loop);
- loop = mergeContent(fo_marker, fo_instream_foreign_object, loop);
- loop = mergeContent(fo_marker, fo_inline, loop);
- loop = mergeContent(fo_marker, fo_inline_container, loop);
- loop = mergeContent(fo_marker, fo_leader, loop);
- loop = mergeContent(fo_marker, fo_page_number, loop);
- loop = mergeContent(fo_marker, fo_page_number_citation, loop);
- loop = mergeContent(fo_marker, fo_basic_link, loop);
- loop = mergeContent(fo_marker, fo_multi_toggle, loop);
-
- loop = mergeContent(fo_marker, fo_block, loop);
- loop = mergeContent(fo_marker, fo_block_container, loop);
- loop = mergeContent(fo_marker, fo_table_and_caption, loop);
- loop = mergeContent(fo_marker, fo_table, loop);
- loop = mergeContent(fo_marker, fo_list_block, loop);
-
- }
- mapping[Constants.FO_ROOT] = makeSparseIndices(fo_root);
- mapping[Constants.FO_DECLARATION] = makeSparseIndices(fo_declaration);
- mapping[Constants.FO_COLOR_PROFILE] = makeSparseIndices(fo_color_profile);
- mapping[Constants.FO_PAGE_SEQUENCE] = makeSparseIndices(fo_page_sequence);
- mapping[Constants.FO_LAYOUT_MASTER_SET] = makeSparseIndices(fo_layout_master_set);
- mapping[Constants.FO_PAGE_SEQUENCE_MASTER] = makeSparseIndices(fo_page_sequence_master);
- mapping[Constants.FO_SINGLE_PAGE_MASTER_REFERENCE] = makeSparseIndices(fo_single_page_master_reference);
- mapping[Constants.FO_REPEATABLE_PAGE_MASTER_REFERENCE] = makeSparseIndices(fo_repeatable_page_master_reference);
- mapping[Constants.FO_REPEATABLE_PAGE_MASTER_ALTERNATIVES] = makeSparseIndices(fo_repeatable_page_master_alternatives);
- mapping[Constants.FO_CONDITIONAL_PAGE_MASTER_REFERENCE] = makeSparseIndices(fo_conditional_page_master_reference);
- mapping[Constants.FO_SIMPLE_PAGE_MASTER] = makeSparseIndices(fo_simple_page_master);
- mapping[Constants.FO_REGION_BODY] = makeSparseIndices(fo_region_body);
- mapping[Constants.FO_REGION_BEFORE] = makeSparseIndices(fo_region_before);
- mapping[Constants.FO_REGION_AFTER] = makeSparseIndices(fo_region_after);
- mapping[Constants.FO_REGION_START] = makeSparseIndices(fo_region_start);
- mapping[Constants.FO_REGION_END] = makeSparseIndices(fo_region_end);
- mapping[Constants.FO_FLOW] = makeSparseIndices(fo_flow);
- mapping[Constants.FO_STATIC_CONTENT] = makeSparseIndices(fo_static_content);
- mapping[Constants.FO_TITLE] = makeSparseIndices(fo_title);
- mapping[Constants.FO_BLOCK] = makeSparseIndices(fo_block);
- mapping[Constants.FO_BLOCK_CONTAINER] = makeSparseIndices(fo_block_container);
- mapping[Constants.FO_BIDI_OVERRIDE] = makeSparseIndices(fo_bidi_override);
- mapping[Constants.FO_CHARACTER] = makeSparseIndices(fo_character);
- mapping[Constants.FO_INITIAL_PROPERTY_SET] = makeSparseIndices(fo_initial_property_set);
- mapping[Constants.FO_EXTERNAL_GRAPHIC] = makeSparseIndices(fo_external_graphic);
- mapping[Constants.FO_INSTREAM_FOREIGN_OBJECT] = makeSparseIndices(fo_instream_foreign_object);
- mapping[Constants.FO_INLINE] = makeSparseIndices(fo_inline);
- mapping[Constants.FO_INLINE_CONTAINER] = makeSparseIndices(fo_inline_container);
- mapping[Constants.FO_LEADER] = makeSparseIndices(fo_leader);
- mapping[Constants.FO_PAGE_NUMBER] = makeSparseIndices(fo_page_number);
- mapping[Constants.FO_PAGE_NUMBER_CITATION] = makeSparseIndices(fo_page_number_citation);
- mapping[Constants.FO_TABLE_AND_CAPTION] = makeSparseIndices(fo_table_and_caption);
- mapping[Constants.FO_TABLE] = makeSparseIndices(fo_table);
- mapping[Constants.FO_TABLE_COLUMN] = makeSparseIndices(fo_table_column);
- mapping[Constants.FO_TABLE_CAPTION] = makeSparseIndices(fo_table_caption);
- mapping[Constants.FO_TABLE_HEADER] = makeSparseIndices(fo_table_header);
- mapping[Constants.FO_TABLE_FOOTER] = makeSparseIndices(fo_table_footer);
- mapping[Constants.FO_TABLE_BODY] = makeSparseIndices(fo_table_body);
- mapping[Constants.FO_TABLE_ROW] = makeSparseIndices(fo_table_row);
- mapping[Constants.FO_TABLE_CELL] = makeSparseIndices(fo_table_cell);
- mapping[Constants.FO_LIST_BLOCK] = makeSparseIndices(fo_list_block);
- mapping[Constants.FO_LIST_ITEM] = makeSparseIndices(fo_list_item);
- mapping[Constants.FO_LIST_ITEM_BODY] = makeSparseIndices(fo_list_item_body);
- mapping[Constants.FO_LIST_ITEM_LABEL] = makeSparseIndices(fo_list_item_label);
- mapping[Constants.FO_BASIC_LINK] = makeSparseIndices(fo_basic_link);
- mapping[Constants.FO_MULTI_SWITCH] = makeSparseIndices(fo_multi_switch);
- mapping[Constants.FO_MULTI_CASE] = makeSparseIndices(fo_multi_case);
- mapping[Constants.FO_MULTI_TOGGLE] = makeSparseIndices(fo_multi_toggle);
- mapping[Constants.FO_MULTI_PROPERTIES] = makeSparseIndices(fo_multi_properties);
- mapping[Constants.FO_MULTI_PROPERTY_SET] = makeSparseIndices(fo_multi_property_set);
- mapping[Constants.FO_FLOAT] = makeSparseIndices(fo_float);
- mapping[Constants.FO_FOOTNOTE] = makeSparseIndices(fo_footnote);
- mapping[Constants.FO_FOOTNOTE_BODY] = makeSparseIndices(fo_footnote_body);
- mapping[Constants.FO_WRAPPER] = makeSparseIndices(fo_wrapper);
- mapping[Constants.FO_MARKER] = makeSparseIndices(fo_marker);
- mapping[Constants.FO_RETRIEVE_MARKER] = makeSparseIndices(fo_retrieve_marker);
}
- /* These arrays, one for each formatting object, define the properties that
- * are valid for an FO and its children. The first element, indices[0],
- * will be used in PropertyList to define the size of the Property[] array
- * for the FObj (= the number of properties valid for the element + 1.)
- * Each other element of this array has a value of 0 if not supported by the FO,
- * 1-based index otherwise. This array will be used as a pointer to the Property[]
- * array in PropertyList holding the valid properties for the FO.
- * i.e., fo.propList.values[indices[propId]] will refer to the correct Property
- * element if the property is valid for the FO, values[indices[invalPropId]] =
- * values[0] = NULL otherwise.
- */
- private static short[] makeSparseIndices(BitSet set) {
- short[] indices = new short[Constants.PROPERTY_COUNT +1];
+ public void initialize() {
+ // define the fo: elements
+ for (int i = 1; i < elements.length; i++) {
+ elements[i] = new Element(i);
+ }
- indices[0] = (short) (set.cardinality() + 1);
+ // populate the elements with properties and content elements.
+ Element elem;
+ elem = elements[Constants.FO_ROOT];
+ elem.addProperty(Constants.PR_MEDIA_USAGE);
+ elem.addContent(Constants.FO_LAYOUT_MASTER_SET);
+ elem.addContent(Constants.FO_DECLARATION);
+ elem.addContent(Constants.FO_PAGE_SEQUENCE);
+
+ elem = elements[Constants.FO_DECLARATION];
+ elem.addContent(Constants.FO_COLOR_PROFILE);
+
+ elem = elements[Constants.FO_COLOR_PROFILE];
+ elem.addProperty(Constants.PR_SRC);
+ elem.addProperty(Constants.PR_COLOR_PROFILE_NAME);
+ elem.addProperty(Constants.PR_RENDERING_INTENT);
+
+ elem = elements[Constants.FO_PAGE_SEQUENCE];
+ elem.addProperty(Constants.PR_COUNTRY);
+ elem.addProperty(Constants.PR_FORMAT);
+ elem.addProperty(Constants.PR_LANGUAGE);
+ elem.addProperty(Constants.PR_LETTER_VALUE);
+ elem.addProperty(Constants.PR_GROUPING_SEPARATOR);
+ elem.addProperty(Constants.PR_GROUPING_SIZE);
+ elem.addProperty(Constants.PR_ID);
+ elem.addProperty(Constants.PR_INITIAL_PAGE_NUMBER);
+ elem.addProperty(Constants.PR_FORCE_PAGE_COUNT);
+ elem.addProperty(Constants.PR_MASTER_REFERENCE);
+ elem.addContent(Constants.FO_TITLE);
+ elem.addContent(Constants.FO_STATIC_CONTENT);
+ elem.addContent(Constants.FO_FLOW);
+
+ elem = elements[Constants.FO_LAYOUT_MASTER_SET];
+ elem.addProperty(Constants.PR_MASTER_NAME);
+ elem.addContent(Constants.FO_SIMPLE_PAGE_MASTER);
+ elem.addContent(Constants.FO_PAGE_SEQUENCE_MASTER);
+
+ elem = elements[Constants.FO_PAGE_SEQUENCE_MASTER];
+ elem.addProperty(Constants.PR_MASTER_NAME);
+ elem.addContent(Constants.FO_SINGLE_PAGE_MASTER_REFERENCE);
+ elem.addContent(Constants.FO_REPEATABLE_PAGE_MASTER_REFERENCE);
+ elem.addContent(Constants.FO_REPEATABLE_PAGE_MASTER_ALTERNATIVES);
+
+ elem = elements[Constants.FO_SINGLE_PAGE_MASTER_REFERENCE];
+ elem.addProperty(Constants.PR_MASTER_REFERENCE);
+
+ elem = elements[Constants.FO_REPEATABLE_PAGE_MASTER_REFERENCE];
+ elem.addProperty(Constants.PR_MASTER_REFERENCE);
+ elem.addProperty(Constants.PR_MAXIMUM_REPEATS);
+
+ elem = elements[Constants.FO_REPEATABLE_PAGE_MASTER_ALTERNATIVES];
+ elem.addProperty(Constants.PR_MAXIMUM_REPEATS);
+ elem.addContent(Constants.FO_CONDITIONAL_PAGE_MASTER_REFERENCE);
+
+ elem = elements[Constants.FO_CONDITIONAL_PAGE_MASTER_REFERENCE];
+ elem.addProperty(Constants.PR_MASTER_REFERENCE);
+ elem.addProperty(Constants.PR_PAGE_POSITION);
+ elem.addProperty(Constants.PR_ODD_OR_EVEN);
+ elem.addProperty(Constants.PR_BLANK_OR_NOT_BLANK);
+
+ elem = elements[Constants.FO_SIMPLE_PAGE_MASTER];
+ elem.addProperties(CommonMarginPropertiesBlock);
+ elem.addProperty(Constants.PR_MASTER_NAME);
+ elem.addProperty(Constants.PR_PAGE_HEIGHT);
+ elem.addProperty(Constants.PR_PAGE_WIDTH);
+ elem.addProperty(Constants.PR_REFERENCE_ORIENTATION);
+ elem.addProperty(Constants.PR_WRITING_MODE);
+ elem.addContent(Constants.FO_REGION_BODY);
+ elem.addContent(Constants.FO_REGION_BEFORE);
+ elem.addContent(Constants.FO_REGION_AFTER);
+ elem.addContent(Constants.FO_REGION_START);
+ elem.addContent(Constants.FO_REGION_END);
+
+ elem = elements[Constants.FO_REGION_BODY];
+ elem.addProperties(CommonBorderPaddingBackgroundProperties);
+ elem.addProperties(CommonMarginPropertiesBlock);
+ elem.addProperty(Constants.PR_CLIP);
+ elem.addProperty(Constants.PR_COLUMN_COUNT);
+ elem.addProperty(Constants.PR_COLUMN_GAP);
+ elem.addProperty(Constants.PR_DISPLAY_ALIGN);
+ elem.addProperty(Constants.PR_OVERFLOW);
+ elem.addProperty(Constants.PR_REGION_NAME);
+ elem.addProperty(Constants.PR_REFERENCE_ORIENTATION);
+ elem.addProperty(Constants.PR_WRITING_MODE);
+
+ elem = elements[Constants.FO_REGION_BEFORE];
+ elem.addProperties(CommonBorderPaddingBackgroundProperties);
+ elem.addProperty(Constants.PR_CLIP);
+ elem.addProperty(Constants.PR_DISPLAY_ALIGN);
+ elem.addProperty(Constants.PR_EXTENT);
+ elem.addProperty(Constants.PR_OVERFLOW);
+ elem.addProperty(Constants.PR_PRECEDENCE);
+ elem.addProperty(Constants.PR_REGION_NAME);
+ elem.addProperty(Constants.PR_REFERENCE_ORIENTATION);
+ elem.addProperty(Constants.PR_WRITING_MODE);
+
+ elem = elements[Constants.FO_REGION_AFTER];
+ elem.addProperties(CommonBorderPaddingBackgroundProperties);
+ elem.addProperty(Constants.PR_CLIP);
+ elem.addProperty(Constants.PR_DISPLAY_ALIGN);
+ elem.addProperty(Constants.PR_EXTENT);
+ elem.addProperty(Constants.PR_OVERFLOW);
+ elem.addProperty(Constants.PR_PRECEDENCE);
+ elem.addProperty(Constants.PR_REGION_NAME);
+ elem.addProperty(Constants.PR_REFERENCE_ORIENTATION);
+ elem.addProperty(Constants.PR_WRITING_MODE);
+
+ elem = elements[Constants.FO_REGION_START];
+ elem.addProperties(CommonBorderPaddingBackgroundProperties);
+ elem.addProperty(Constants.PR_CLIP);
+ elem.addProperty(Constants.PR_DISPLAY_ALIGN);
+ elem.addProperty(Constants.PR_EXTENT);
+ elem.addProperty(Constants.PR_OVERFLOW);
+ elem.addProperty(Constants.PR_REGION_NAME);
+ elem.addProperty(Constants.PR_REFERENCE_ORIENTATION);
+ elem.addProperty(Constants.PR_WRITING_MODE);
+
+ elem = elements[Constants.FO_REGION_END];
+ elem.addProperties(CommonBorderPaddingBackgroundProperties);
+ elem.addProperty(Constants.PR_CLIP);
+ elem.addProperty(Constants.PR_DISPLAY_ALIGN);
+ elem.addProperty(Constants.PR_EXTENT);
+ elem.addProperty(Constants.PR_OVERFLOW);
+ elem.addProperty(Constants.PR_REGION_NAME);
+ elem.addProperty(Constants.PR_REFERENCE_ORIENTATION);
+ elem.addProperty(Constants.PR_WRITING_MODE);
+
+ elem = elements[Constants.FO_FLOW];
+ elem.addProperty(Constants.PR_FLOW_NAME);
+ elem.addContent(block_elems);
+
+ elem = elements[Constants.FO_STATIC_CONTENT];
+ elem.addProperty(Constants.PR_FLOW_NAME);
+ elem.addContent(block_elems);
+
+ elem = elements[Constants.FO_TITLE];
+ elem.addProperties(CommonAccessibilityProperties);
+ elem.addProperties(CommonAuralProperties);
+ elem.addProperties(CommonBorderPaddingBackgroundProperties);
+ elem.addProperties(CommonFontProperties);
+ elem.addProperties(CommonMarginPropertiesInline);
+ elem.addProperty(Constants.PR_COLOR);
+ elem.addProperty(Constants.PR_LINE_HEIGHT);
+ elem.addProperty(Constants.PR_VISIBILITY);
+ elem.addContent(inline_elems);
+
+ elem = elements[Constants.FO_BLOCK];
+ elem.addProperties(CommonAccessibilityProperties);
+ elem.addProperties(CommonAuralProperties);
+ elem.addProperties(CommonBorderPaddingBackgroundProperties);
+ elem.addProperties(CommonFontProperties);
+ elem.addProperties(CommonHyphenationProperties);
+ elem.addProperties(CommonMarginPropertiesBlock);
+ elem.addProperties(CommonRelativePositionProperties);
+ elem.addProperty(Constants.PR_PAGE_BREAK_AFTER);
+ elem.addProperty(Constants.PR_PAGE_BREAK_BEFORE);
+ elem.addProperty(Constants.PR_BREAK_AFTER);
+ elem.addProperty(Constants.PR_BREAK_BEFORE);
+ elem.addProperty(Constants.PR_COLOR);
+ elem.addProperty(Constants.PR_TEXT_DEPTH);
+ elem.addProperty(Constants.PR_TEXT_ALTITUDE);
+ elem.addProperty(Constants.PR_HYPHENATION_KEEP);
+ elem.addProperty(Constants.PR_HYPHENATION_LADDER_COUNT);
+ elem.addProperty(Constants.PR_ID);
+ elem.addProperty(Constants.PR_PAGE_BREAK_INSIDE);
+ elem.addProperty(Constants.PR_KEEP_TOGETHER);
+ elem.addProperty(Constants.PR_KEEP_WITH_NEXT);
+ elem.addProperty(Constants.PR_KEEP_WITH_PREVIOUS);
+ elem.addProperty(Constants.PR_LAST_LINE_END_INDENT);
+ elem.addProperty(Constants.PR_LINEFEED_TREATMENT);
+ elem.addProperty(Constants.PR_LINE_HEIGHT);
+ elem.addProperty(Constants.PR_LINE_HEIGHT_SHIFT_ADJUSTMENT);
+ elem.addProperty(Constants.PR_LINE_STACKING_STRATEGY);
+ elem.addProperty(Constants.PR_ORPHANS);
+ elem.addProperty(Constants.PR_WHITE_SPACE_TREATMENT);
+ elem.addProperty(Constants.PR_SPAN);
+ elem.addProperty(Constants.PR_TEXT_ALIGN);
+ elem.addProperty(Constants.PR_TEXT_ALIGN_LAST);
+ elem.addProperty(Constants.PR_TEXT_INDENT);
+ elem.addProperty(Constants.PR_VISIBILITY);
+ elem.addProperty(Constants.PR_WHITE_SPACE_COLLAPSE);
+ elem.addProperty(Constants.PR_WIDOWS);
+ elem.addProperty(Constants.PR_WRAP_OPTION);
+ elem.addContent(inline_elems);
+ elem.addContent(block_elems);
+
+ elem = elements[Constants.FO_BLOCK_CONTAINER];
+ elem.addProperties(CommonAbsolutePositionProperties);
+ elem.addProperties(CommonBorderPaddingBackgroundProperties);
+ elem.addProperties(CommonMarginPropertiesBlock);
+ elem.addProperty(Constants.PR_BLOCK_PROGRESSION_DIMENSION);
+ elem.addProperty(Constants.PR_PAGE_BREAK_AFTER);
+ elem.addProperty(Constants.PR_PAGE_BREAK_BEFORE);
+ elem.addProperty(Constants.PR_BREAK_AFTER);
+ elem.addProperty(Constants.PR_BREAK_BEFORE);
+ elem.addProperty(Constants.PR_CLIP);
+ elem.addProperty(Constants.PR_DISPLAY_ALIGN);
+ elem.addProperty(Constants.PR_HEIGHT);
+ elem.addProperty(Constants.PR_ID);
+ elem.addProperty(Constants.PR_INLINE_PROGRESSION_DIMENSION);
+ elem.addProperty(Constants.PR_PAGE_BREAK_INSIDE);
+ elem.addProperty(Constants.PR_KEEP_TOGETHER);
+ elem.addProperty(Constants.PR_KEEP_WITH_NEXT);
+ elem.addProperty(Constants.PR_KEEP_WITH_PREVIOUS);
+ elem.addProperty(Constants.PR_OVERFLOW);
+ elem.addProperty(Constants.PR_REFERENCE_ORIENTATION);
+ elem.addProperty(Constants.PR_SPAN);
+ elem.addProperty(Constants.PR_WIDTH);
+ elem.addProperty(Constants.PR_WRITING_MODE);
+ elem.addProperty(Constants.PR_Z_INDEX);
+ elem.addContent(block_elems);
+
+ elem = elements[Constants.FO_BIDI_OVERRIDE];
+ elem.addProperties(CommonAuralProperties);
+ elem.addProperties(CommonFontProperties);
+ elem.addProperties(CommonRelativePositionProperties);
+ elem.addProperty(Constants.PR_COLOR);
+ elem.addProperty(Constants.PR_DIRECTION);
+ elem.addProperty(Constants.PR_ID);
+ elem.addProperty(Constants.PR_LETTER_SPACING);
+ elem.addProperty(Constants.PR_LINE_HEIGHT);
+ elem.addProperty(Constants.PR_SCORE_SPACES);
+ elem.addProperty(Constants.PR_UNICODE_BIDI);
+ elem.addProperty(Constants.PR_WORD_SPACING);
+ elem.addContent(inline_elems);
+ elem.addContent(block_elems);
+
+ elem = elements[Constants.FO_CHARACTER];
+ elem.addProperties(CommonAuralProperties);
+ elem.addProperties(CommonBorderPaddingBackgroundProperties);
+ elem.addProperties(CommonFontProperties);
+ elem.addProperties(CommonHyphenationProperties);
+ elem.addProperties(CommonMarginPropertiesInline);
+ elem.addProperties(CommonRelativePositionProperties);
+ elem.addProperty(Constants.PR_VERTICAL_ALIGN);
+ elem.addProperty(Constants.PR_ALIGNMENT_ADJUST);
+ elem.addProperty(Constants.PR_TREAT_AS_WORD_SPACE);
+ elem.addProperty(Constants.PR_ALIGNMENT_BASELINE);
+ elem.addProperty(Constants.PR_BASELINE_SHIFT);
+ elem.addProperty(Constants.PR_CHARACTER);
+ elem.addProperty(Constants.PR_COLOR);
+ elem.addProperty(Constants.PR_DOMINANT_BASELINE);
+ elem.addProperty(Constants.PR_TEXT_DEPTH);
+ elem.addProperty(Constants.PR_TEXT_ALTITUDE);
+ elem.addProperty(Constants.PR_GLYPH_ORIENTATION_HORIZONTAL);
+ elem.addProperty(Constants.PR_GLYPH_ORIENTATION_VERTICAL);
+ elem.addProperty(Constants.PR_ID);
+ elem.addProperty(Constants.PR_KEEP_WITH_NEXT);
+ elem.addProperty(Constants.PR_KEEP_WITH_PREVIOUS);
+ elem.addProperty(Constants.PR_LETTER_SPACING);
+ elem.addProperty(Constants.PR_LINE_HEIGHT);
+ elem.addProperty(Constants.PR_SCORE_SPACES);
+ elem.addProperty(Constants.PR_SUPPRESS_AT_LINE_BREAK);
+ elem.addProperty(Constants.PR_TEXT_DECORATION);
+ elem.addProperty(Constants.PR_TEXT_SHADOW);
+ elem.addProperty(Constants.PR_TEXT_TRANSFORM);
+ elem.addProperty(Constants.PR_VISIBILITY);
+ elem.addProperty(Constants.PR_WORD_SPACING);
+
+ elem = elements[Constants.FO_INITIAL_PROPERTY_SET];
+ elem.addProperties(CommonAccessibilityProperties);
+ elem.addProperties(CommonAuralProperties);
+ elem.addProperties(CommonBorderPaddingBackgroundProperties);
+ elem.addProperties(CommonFontProperties);
+ elem.addProperties(CommonRelativePositionProperties);
+ elem.addProperty(Constants.PR_COLOR);
+ elem.addProperty(Constants.PR_ID);
+ elem.addProperty(Constants.PR_LETTER_SPACING);
+ elem.addProperty(Constants.PR_LINE_HEIGHT);
+ elem.addProperty(Constants.PR_SCORE_SPACES);
+ elem.addProperty(Constants.PR_TEXT_DECORATION);
+ elem.addProperty(Constants.PR_TEXT_SHADOW);
+ elem.addProperty(Constants.PR_TEXT_TRANSFORM);
+ elem.addProperty(Constants.PR_WORD_SPACING);
+
+ elem = elements[Constants.FO_EXTERNAL_GRAPHIC];
+ elem.addProperties(CommonAccessibilityProperties);
+ elem.addProperties(CommonAuralProperties);
+ elem.addProperties(CommonBorderPaddingBackgroundProperties);
+ elem.addProperties(CommonMarginPropertiesInline);
+ elem.addProperties(CommonRelativePositionProperties);
+ elem.addProperty(Constants.PR_VERTICAL_ALIGN);
+ elem.addProperty(Constants.PR_ALIGNMENT_ADJUST);
+ elem.addProperty(Constants.PR_ALIGNMENT_BASELINE);
+ elem.addProperty(Constants.PR_BASELINE_SHIFT);
+ elem.addProperty(Constants.PR_BLOCK_PROGRESSION_DIMENSION);
+ elem.addProperty(Constants.PR_CLIP);
+ elem.addProperty(Constants.PR_CONTENT_HEIGHT);
+ elem.addProperty(Constants.PR_CONTENT_TYPE);
+ elem.addProperty(Constants.PR_CONTENT_WIDTH);
+ elem.addProperty(Constants.PR_DISPLAY_ALIGN);
+ elem.addProperty(Constants.PR_DOMINANT_BASELINE);
+ elem.addProperty(Constants.PR_HEIGHT);
+ elem.addProperty(Constants.PR_ID);
+ elem.addProperty(Constants.PR_INLINE_PROGRESSION_DIMENSION);
+ elem.addProperty(Constants.PR_KEEP_WITH_NEXT);
+ elem.addProperty(Constants.PR_KEEP_WITH_PREVIOUS);
+ elem.addProperty(Constants.PR_LINE_HEIGHT);
+ elem.addProperty(Constants.PR_OVERFLOW);
+ elem.addProperty(Constants.PR_SCALING);
+ elem.addProperty(Constants.PR_SCALING_METHOD);
+ elem.addProperty(Constants.PR_SRC);
+ elem.addProperty(Constants.PR_TEXT_ALIGN);
+ elem.addProperty(Constants.PR_WIDTH);
+
+ elem = elements[Constants.FO_INSTREAM_FOREIGN_OBJECT];
+ elem.addProperties(CommonAccessibilityProperties);
+ elem.addProperties(CommonAuralProperties);
+ elem.addProperties(CommonBorderPaddingBackgroundProperties);
+ elem.addProperties(CommonMarginPropertiesInline);
+ elem.addProperties(CommonRelativePositionProperties);
+ elem.addProperty(Constants.PR_VERTICAL_ALIGN);
+ elem.addProperty(Constants.PR_ALIGNMENT_ADJUST);
+ elem.addProperty(Constants.PR_ALIGNMENT_BASELINE);
+ elem.addProperty(Constants.PR_BASELINE_SHIFT);
+ elem.addProperty(Constants.PR_BLOCK_PROGRESSION_DIMENSION);
+ elem.addProperty(Constants.PR_CLIP);
+ elem.addProperty(Constants.PR_CONTENT_HEIGHT);
+ elem.addProperty(Constants.PR_CONTENT_TYPE);
+ elem.addProperty(Constants.PR_CONTENT_WIDTH);
+ elem.addProperty(Constants.PR_DISPLAY_ALIGN);
+ elem.addProperty(Constants.PR_DOMINANT_BASELINE);
+ elem.addProperty(Constants.PR_HEIGHT);
+ elem.addProperty(Constants.PR_ID);
+ elem.addProperty(Constants.PR_INLINE_PROGRESSION_DIMENSION);
+ elem.addProperty(Constants.PR_KEEP_WITH_NEXT);
+ elem.addProperty(Constants.PR_KEEP_WITH_PREVIOUS);
+ elem.addProperty(Constants.PR_LINE_HEIGHT);
+ elem.addProperty(Constants.PR_OVERFLOW);
+ elem.addProperty(Constants.PR_SCALING);
+ elem.addProperty(Constants.PR_SCALING_METHOD);
+ elem.addProperty(Constants.PR_TEXT_ALIGN);
+ elem.addProperty(Constants.PR_WIDTH);
+
+ elem = elements[Constants.FO_INLINE];
+ elem.addProperties(CommonAccessibilityProperties);
+ elem.addProperties(CommonAuralProperties);
+ elem.addProperties(CommonBorderPaddingBackgroundProperties);
+ elem.addProperties(CommonFontProperties);
+ elem.addProperties(CommonMarginPropertiesInline);
+ elem.addProperties(CommonRelativePositionProperties);
+ elem.addProperty(Constants.PR_VERTICAL_ALIGN);
+ elem.addProperty(Constants.PR_ALIGNMENT_ADJUST);
+ elem.addProperty(Constants.PR_ALIGNMENT_BASELINE);
+ elem.addProperty(Constants.PR_BASELINE_SHIFT);
+ elem.addProperty(Constants.PR_BLOCK_PROGRESSION_DIMENSION);
+ elem.addProperty(Constants.PR_COLOR);
+ elem.addProperty(Constants.PR_DOMINANT_BASELINE);
+ elem.addProperty(Constants.PR_HEIGHT);
+ elem.addProperty(Constants.PR_ID);
+ elem.addProperty(Constants.PR_INLINE_PROGRESSION_DIMENSION);
+ elem.addProperty(Constants.PR_PAGE_BREAK_INSIDE);
+ elem.addProperty(Constants.PR_KEEP_TOGETHER);
+ elem.addProperty(Constants.PR_KEEP_WITH_NEXT);
+ elem.addProperty(Constants.PR_KEEP_WITH_PREVIOUS);
+ elem.addProperty(Constants.PR_LINE_HEIGHT);
+ elem.addProperty(Constants.PR_TEXT_DECORATION);
+ elem.addProperty(Constants.PR_VISIBILITY);
+ elem.addProperty(Constants.PR_WIDTH);
+ elem.addProperty(Constants.PR_WRAP_OPTION);
+ elem.addContent(inline_elems);
+ elem.addContent(block_elems);
+
+ elem = elements[Constants.FO_INLINE_CONTAINER];
+ elem.addProperties(CommonBorderPaddingBackgroundProperties);
+ elem.addProperties(CommonMarginPropertiesInline);
+ elem.addProperties(CommonRelativePositionProperties);
+ elem.addProperty(Constants.PR_VERTICAL_ALIGN);
+ elem.addProperty(Constants.PR_ALIGNMENT_ADJUST);
+ elem.addProperty(Constants.PR_ALIGNMENT_BASELINE);
+ elem.addProperty(Constants.PR_BASELINE_SHIFT);
+ elem.addProperty(Constants.PR_BLOCK_PROGRESSION_DIMENSION);
+ elem.addProperty(Constants.PR_CLIP);
+ elem.addProperty(Constants.PR_DISPLAY_ALIGN);
+ elem.addProperty(Constants.PR_DOMINANT_BASELINE);
+ elem.addProperty(Constants.PR_HEIGHT);
+ elem.addProperty(Constants.PR_ID);
+ elem.addProperty(Constants.PR_INLINE_PROGRESSION_DIMENSION);
+ elem.addProperty(Constants.PR_PAGE_BREAK_INSIDE);
+ elem.addProperty(Constants.PR_KEEP_TOGETHER);
+ elem.addProperty(Constants.PR_KEEP_WITH_NEXT);
+ elem.addProperty(Constants.PR_KEEP_WITH_PREVIOUS);
+ elem.addProperty(Constants.PR_LINE_HEIGHT);
+ elem.addProperty(Constants.PR_OVERFLOW);
+ elem.addProperty(Constants.PR_REFERENCE_ORIENTATION);
+ elem.addProperty(Constants.PR_WIDTH);
+ elem.addProperty(Constants.PR_WRITING_MODE);
+ elem.addContent(block_elems);
+
+ elem = elements[Constants.FO_LEADER];
+ elem.addProperties(CommonAccessibilityProperties);
+ elem.addProperties(CommonAuralProperties);
+ elem.addProperties(CommonBorderPaddingBackgroundProperties);
+ elem.addProperties(CommonFontProperties);
+ elem.addProperties(CommonMarginPropertiesInline);
+ elem.addProperties(CommonRelativePositionProperties);
+ elem.addProperty(Constants.PR_VERTICAL_ALIGN);
+ elem.addProperty(Constants.PR_ALIGNMENT_ADJUST);
+ elem.addProperty(Constants.PR_ALIGNMENT_BASELINE);
+ elem.addProperty(Constants.PR_BASELINE_SHIFT);
+ elem.addProperty(Constants.PR_COLOR);
+ elem.addProperty(Constants.PR_DOMINANT_BASELINE);
+ elem.addProperty(Constants.PR_TEXT_DEPTH);
+ elem.addProperty(Constants.PR_TEXT_ALTITUDE);
+ elem.addProperty(Constants.PR_ID);
+ elem.addProperty(Constants.PR_KEEP_WITH_NEXT);
+ elem.addProperty(Constants.PR_KEEP_WITH_PREVIOUS);
+ elem.addProperty(Constants.PR_LEADER_ALIGNMENT);
+ elem.addProperty(Constants.PR_LEADER_LENGTH);
+ elem.addProperty(Constants.PR_LEADER_PATTERN);
+ elem.addProperty(Constants.PR_LEADER_PATTERN_WIDTH);
+ elem.addProperty(Constants.PR_RULE_STYLE);
+ elem.addProperty(Constants.PR_RULE_THICKNESS);
+ elem.addProperty(Constants.PR_LETTER_SPACING);
+ elem.addProperty(Constants.PR_LINE_HEIGHT);
+ elem.addProperty(Constants.PR_TEXT_SHADOW);
+ elem.addProperty(Constants.PR_VISIBILITY);
+ elem.addProperty(Constants.PR_WORD_SPACING);
+ elem.addContent(inline_elems);
+
+ elem = elements[Constants.FO_PAGE_NUMBER];
+ elem.addProperties(CommonAccessibilityProperties);
+ elem.addProperties(CommonAuralProperties);
+ elem.addProperties(CommonBorderPaddingBackgroundProperties);
+ elem.addProperties(CommonFontProperties);
+ elem.addProperties(CommonMarginPropertiesInline);
+ elem.addProperties(CommonRelativePositionProperties);
+ elem.addProperty(Constants.PR_VERTICAL_ALIGN);
+ elem.addProperty(Constants.PR_ALIGNMENT_ADJUST);
+ elem.addProperty(Constants.PR_ALIGNMENT_BASELINE);
+ elem.addProperty(Constants.PR_BASELINE_SHIFT);
+ elem.addProperty(Constants.PR_DOMINANT_BASELINE);
+ elem.addProperty(Constants.PR_ID);
+ elem.addProperty(Constants.PR_KEEP_WITH_NEXT);
+ elem.addProperty(Constants.PR_KEEP_WITH_PREVIOUS);
+ elem.addProperty(Constants.PR_LETTER_SPACING);
+ elem.addProperty(Constants.PR_LINE_HEIGHT);
+ elem.addProperty(Constants.PR_SCORE_SPACES);
+ elem.addProperty(Constants.PR_TEXT_ALTITUDE);
+ elem.addProperty(Constants.PR_TEXT_DECORATION);
+ elem.addProperty(Constants.PR_TEXT_DEPTH);
+ elem.addProperty(Constants.PR_TEXT_SHADOW);
+ elem.addProperty(Constants.PR_TEXT_TRANSFORM);
+ elem.addProperty(Constants.PR_VISIBILITY);
+ elem.addProperty(Constants.PR_WORD_SPACING);
+ elem.addProperty(Constants.PR_WRAP_OPTION);
+
+ elem = elements[Constants.FO_PAGE_NUMBER_CITATION];
+ elem.addProperties(CommonAccessibilityProperties);
+ elem.addProperties(CommonAuralProperties);
+ elem.addProperties(CommonBorderPaddingBackgroundProperties);
+ elem.addProperties(CommonFontProperties);
+ elem.addProperties(CommonMarginPropertiesInline);
+ elem.addProperties(CommonRelativePositionProperties);
+ elem.addProperty(Constants.PR_VERTICAL_ALIGN);
+ elem.addProperty(Constants.PR_ALIGNMENT_ADJUST);
+ elem.addProperty(Constants.PR_ALIGNMENT_BASELINE);
+ elem.addProperty(Constants.PR_BASELINE_SHIFT);
+ elem.addProperty(Constants.PR_DOMINANT_BASELINE);
+ elem.addProperty(Constants.PR_ID);
+ elem.addProperty(Constants.PR_KEEP_WITH_NEXT);
+ elem.addProperty(Constants.PR_KEEP_WITH_PREVIOUS);
+ elem.addProperty(Constants.PR_LETTER_SPACING);
+ elem.addProperty(Constants.PR_LINE_HEIGHT);
+ elem.addProperty(Constants.PR_REF_ID);
+ elem.addProperty(Constants.PR_SCORE_SPACES);
+ elem.addProperty(Constants.PR_TEXT_ALTITUDE);
+ elem.addProperty(Constants.PR_TEXT_DECORATION);
+ elem.addProperty(Constants.PR_TEXT_DEPTH);
+ elem.addProperty(Constants.PR_TEXT_SHADOW);
+ elem.addProperty(Constants.PR_TEXT_TRANSFORM);
+ elem.addProperty(Constants.PR_VISIBILITY);
+ elem.addProperty(Constants.PR_WORD_SPACING);
+ elem.addProperty(Constants.PR_WRAP_OPTION);
+
+ elem = elements[Constants.FO_TABLE_AND_CAPTION];
+ elem.addProperties(CommonAccessibilityProperties);
+ elem.addProperties(CommonAuralProperties);
+ elem.addProperties(CommonBorderPaddingBackgroundProperties);
+ elem.addProperties(CommonMarginPropertiesBlock);
+ elem.addProperties(CommonRelativePositionProperties);
+ elem.addProperty(Constants.PR_PAGE_BREAK_AFTER);
+ elem.addProperty(Constants.PR_PAGE_BREAK_BEFORE);
+ elem.addProperty(Constants.PR_BREAK_AFTER);
+ elem.addProperty(Constants.PR_BREAK_BEFORE);
+ elem.addProperty(Constants.PR_CAPTION_SIDE);
+ elem.addProperty(Constants.PR_ID);
+ elem.addProperty(Constants.PR_PAGE_BREAK_INSIDE);
+ elem.addProperty(Constants.PR_KEEP_TOGETHER);
+ elem.addProperty(Constants.PR_KEEP_WITH_NEXT);
+ elem.addProperty(Constants.PR_KEEP_WITH_PREVIOUS);
+ elem.addProperty(Constants.PR_TEXT_ALIGN);
+ elem.addContent(Constants.FO_TABLE_CAPTION);
+ elem.addContent(Constants.FO_TABLE);
+
+ elem = elements[Constants.FO_TABLE];
+ elem.addProperties(CommonAccessibilityProperties);
+ elem.addProperties(CommonAuralProperties);
+ elem.addProperties(CommonBorderPaddingBackgroundProperties);
+ elem.addProperties(CommonMarginPropertiesBlock);
+ elem.addProperties(CommonRelativePositionProperties);
+ elem.addProperty(Constants.PR_BLOCK_PROGRESSION_DIMENSION);
+ elem.addProperty(Constants.PR_BORDER_AFTER_PRECEDENCE);
+ elem.addProperty(Constants.PR_BORDER_BEFORE_PRECEDENCE);
+ elem.addProperty(Constants.PR_BORDER_SPACING);
+ elem.addProperty(Constants.PR_BORDER_COLLAPSE);
+ elem.addProperty(Constants.PR_BORDER_END_PRECEDENCE);
+ elem.addProperty(Constants.PR_BORDER_SEPARATION);
+ elem.addProperty(Constants.PR_BORDER_START_PRECEDENCE);
+ elem.addProperty(Constants.PR_PAGE_BREAK_AFTER);
+ elem.addProperty(Constants.PR_PAGE_BREAK_BEFORE);
+ elem.addProperty(Constants.PR_BREAK_AFTER);
+ elem.addProperty(Constants.PR_BREAK_BEFORE);
+ elem.addProperty(Constants.PR_ID);
+ elem.addProperty(Constants.PR_INLINE_PROGRESSION_DIMENSION);
+ elem.addProperty(Constants.PR_HEIGHT);
+ elem.addProperty(Constants.PR_PAGE_BREAK_INSIDE);
+ elem.addProperty(Constants.PR_KEEP_TOGETHER);
+ elem.addProperty(Constants.PR_KEEP_WITH_NEXT);
+ elem.addProperty(Constants.PR_KEEP_WITH_PREVIOUS);
+ elem.addProperty(Constants.PR_TABLE_LAYOUT);
+ elem.addProperty(Constants.PR_TABLE_OMIT_FOOTER_AT_BREAK);
+ elem.addProperty(Constants.PR_TABLE_OMIT_HEADER_AT_BREAK);
+ elem.addProperty(Constants.PR_WIDTH);
+ elem.addProperty(Constants.PR_WRITING_MODE);
+ elem.addContent(Constants.FO_TABLE_COLUMN);
+ elem.addContent(Constants.FO_TABLE_HEADER);
+ elem.addContent(Constants.FO_TABLE_FOOTER);
+ elem.addContent(Constants.FO_TABLE_BODY);
+
+ elem = elements[Constants.FO_TABLE_COLUMN];
+ elem.addProperties(CommonBorderPaddingBackgroundProperties);
+ elem.addProperty(Constants.PR_BORDER_AFTER_PRECEDENCE);
+ elem.addProperty(Constants.PR_BORDER_BEFORE_PRECEDENCE);
+ elem.addProperty(Constants.PR_BORDER_END_PRECEDENCE);
+ elem.addProperty(Constants.PR_BORDER_START_PRECEDENCE);
+ elem.addProperty(Constants.PR_COLUMN_NUMBER);
+ elem.addProperty(Constants.PR_COLUMN_WIDTH);
+ elem.addProperty(Constants.PR_NUMBER_COLUMNS_REPEATED);
+ elem.addProperty(Constants.PR_NUMBER_COLUMNS_SPANNED);
+ elem.addProperty(Constants.PR_VISIBILITY);
+
+ elem = elements[Constants.FO_TABLE_CAPTION];
+ elem.addProperties(CommonAccessibilityProperties);
+ elem.addProperties(CommonAuralProperties);
+ elem.addProperties(CommonBorderPaddingBackgroundProperties);
+ elem.addProperties(CommonRelativePositionProperties);
+ elem.addProperty(Constants.PR_BLOCK_PROGRESSION_DIMENSION);
+ elem.addProperty(Constants.PR_HEIGHT);
+ elem.addProperty(Constants.PR_ID);
+ elem.addProperty(Constants.PR_INLINE_PROGRESSION_DIMENSION);
+ elem.addProperty(Constants.PR_PAGE_BREAK_INSIDE);
+ elem.addProperty(Constants.PR_KEEP_TOGETHER);
+ elem.addProperty(Constants.PR_WIDTH);
+ elem.addContent(block_elems);
+
+ elem = elements[Constants.FO_TABLE_HEADER];
+ elem.addProperties(CommonAccessibilityProperties);
+ elem.addProperties(CommonAuralProperties);
+ elem.addProperties(CommonBorderPaddingBackgroundProperties);
+ elem.addProperties(CommonRelativePositionProperties);
+ elem.addProperty(Constants.PR_BORDER_AFTER_PRECEDENCE);
+ elem.addProperty(Constants.PR_BORDER_BEFORE_PRECEDENCE);
+ elem.addProperty(Constants.PR_BORDER_END_PRECEDENCE);
+ elem.addProperty(Constants.PR_BORDER_START_PRECEDENCE);
+ elem.addProperty(Constants.PR_ID);
+ elem.addProperty(Constants.PR_VISIBILITY);
+ elem.addContent(Constants.FO_TABLE_ROW);
+ elem.addContent(Constants.FO_TABLE_CELL);
+
+ elem = elements[Constants.FO_TABLE_FOOTER];
+ elem.addProperties(CommonAccessibilityProperties);
+ elem.addProperties(CommonAuralProperties);
+ elem.addProperties(CommonBorderPaddingBackgroundProperties);
+ elem.addProperties(CommonRelativePositionProperties);
+ elem.addProperty(Constants.PR_BORDER_AFTER_PRECEDENCE);
+ elem.addProperty(Constants.PR_BORDER_BEFORE_PRECEDENCE);
+ elem.addProperty(Constants.PR_BORDER_END_PRECEDENCE);
+ elem.addProperty(Constants.PR_BORDER_START_PRECEDENCE);
+ elem.addProperty(Constants.PR_ID);
+ elem.addProperty(Constants.PR_VISIBILITY);
+ elem.addContent(Constants.FO_TABLE_ROW);
+ elem.addContent(Constants.FO_TABLE_CELL);
+
+ elem = elements[Constants.FO_TABLE_BODY];
+ elem.addProperties(CommonAccessibilityProperties);
+ elem.addProperties(CommonAuralProperties);
+ elem.addProperties(CommonBorderPaddingBackgroundProperties);
+ elem.addProperties(CommonRelativePositionProperties);
+ elem.addProperty(Constants.PR_BORDER_AFTER_PRECEDENCE);
+ elem.addProperty(Constants.PR_BORDER_BEFORE_PRECEDENCE);
+ elem.addProperty(Constants.PR_BORDER_END_PRECEDENCE);
+ elem.addProperty(Constants.PR_BORDER_START_PRECEDENCE);
+ elem.addProperty(Constants.PR_ID);
+ elem.addProperty(Constants.PR_VISIBILITY);
+ elem.addContent(Constants.FO_TABLE_ROW);
+ elem.addContent(Constants.FO_TABLE_CELL);
+
+ elem = elements[Constants.FO_TABLE_ROW];
+ elem.addProperties(CommonAccessibilityProperties);
+ elem.addProperty(Constants.PR_BLOCK_PROGRESSION_DIMENSION);
+ elem.addProperties(CommonAuralProperties);
+ elem.addProperties(CommonBorderPaddingBackgroundProperties);
+ elem.addProperties(CommonRelativePositionProperties);
+ elem.addProperty(Constants.PR_BORDER_AFTER_PRECEDENCE);
+ elem.addProperty(Constants.PR_BORDER_BEFORE_PRECEDENCE);
+ elem.addProperty(Constants.PR_BORDER_END_PRECEDENCE);
+ elem.addProperty(Constants.PR_BORDER_START_PRECEDENCE);
+ elem.addProperty(Constants.PR_PAGE_BREAK_AFTER);
+ elem.addProperty(Constants.PR_PAGE_BREAK_BEFORE);
+ elem.addProperty(Constants.PR_BREAK_AFTER);
+ elem.addProperty(Constants.PR_BREAK_BEFORE);
+ elem.addProperty(Constants.PR_ID);
+ elem.addProperty(Constants.PR_HEIGHT);
+ elem.addProperty(Constants.PR_PAGE_BREAK_INSIDE);
+ elem.addProperty(Constants.PR_KEEP_TOGETHER);
+ elem.addProperty(Constants.PR_KEEP_WITH_NEXT);
+ elem.addProperty(Constants.PR_KEEP_WITH_PREVIOUS);
+ elem.addProperty(Constants.PR_VISIBILITY);
+ elem.addContent(Constants.FO_TABLE_CELL);
+
+ elem = elements[Constants.FO_TABLE_CELL];
+ elem.addProperties(CommonAccessibilityProperties);
+ elem.addProperties(CommonAuralProperties);
+ elem.addProperties(CommonBorderPaddingBackgroundProperties);
+ elem.addProperties(CommonRelativePositionProperties);
+ elem.addProperty(Constants.PR_BORDER_AFTER_PRECEDENCE);
+ elem.addProperty(Constants.PR_BORDER_BEFORE_PRECEDENCE);
+ elem.addProperty(Constants.PR_BORDER_END_PRECEDENCE);
+ elem.addProperty(Constants.PR_BORDER_START_PRECEDENCE);
+ elem.addProperty(Constants.PR_BLOCK_PROGRESSION_DIMENSION);
+ elem.addProperty(Constants.PR_COLUMN_NUMBER);
+ elem.addProperty(Constants.PR_DISPLAY_ALIGN);
+ elem.addProperty(Constants.PR_RELATIVE_ALIGN);
+ elem.addProperty(Constants.PR_EMPTY_CELLS);
+ elem.addProperty(Constants.PR_ENDS_ROW);
+ elem.addProperty(Constants.PR_HEIGHT);
+ elem.addProperty(Constants.PR_ID);
+ elem.addProperty(Constants.PR_INLINE_PROGRESSION_DIMENSION);
+ elem.addProperty(Constants.PR_NUMBER_COLUMNS_SPANNED);
+ elem.addProperty(Constants.PR_NUMBER_ROWS_SPANNED);
+ elem.addProperty(Constants.PR_STARTS_ROW);
+ elem.addProperty(Constants.PR_WIDTH);
+ elem.addContent(block_elems);
+
+ elem = elements[Constants.FO_LIST_BLOCK];
+ elem.addProperties(CommonAccessibilityProperties);
+ elem.addProperties(CommonAuralProperties);
+ elem.addProperties(CommonBorderPaddingBackgroundProperties);
+ elem.addProperties(CommonMarginPropertiesBlock);
+ elem.addProperties(CommonRelativePositionProperties);
+ elem.addProperty(Constants.PR_PAGE_BREAK_AFTER);
+ elem.addProperty(Constants.PR_PAGE_BREAK_BEFORE);
+ elem.addProperty(Constants.PR_BREAK_AFTER);
+ elem.addProperty(Constants.PR_BREAK_BEFORE);
+ elem.addProperty(Constants.PR_ID);
+ elem.addProperty(Constants.PR_PAGE_BREAK_INSIDE);
+ elem.addProperty(Constants.PR_KEEP_TOGETHER);
+ elem.addProperty(Constants.PR_KEEP_WITH_NEXT);
+ elem.addProperty(Constants.PR_KEEP_WITH_PREVIOUS);
+ elem.addProperty(Constants.PR_PROVISIONAL_DISTANCE_BETWEEN_STARTS);
+ elem.addProperty(Constants.PR_PROVISIONAL_LABEL_SEPARATION);
+ elem.addContent(Constants.FO_LIST_ITEM);
+
+ elem = elements[Constants.FO_LIST_ITEM];
+ elem.addProperties(CommonAccessibilityProperties);
+ elem.addProperties(CommonAuralProperties);
+ elem.addProperties(CommonBorderPaddingBackgroundProperties);
+ elem.addProperties(CommonMarginPropertiesBlock);
+ elem.addProperties(CommonRelativePositionProperties);
+ elem.addProperty(Constants.PR_PAGE_BREAK_AFTER);
+ elem.addProperty(Constants.PR_PAGE_BREAK_BEFORE);
+ elem.addProperty(Constants.PR_BREAK_AFTER);
+ elem.addProperty(Constants.PR_BREAK_BEFORE);
+ elem.addProperty(Constants.PR_ID);
+ elem.addProperty(Constants.PR_PAGE_BREAK_INSIDE);
+ elem.addProperty(Constants.PR_KEEP_TOGETHER);
+ elem.addProperty(Constants.PR_KEEP_WITH_NEXT);
+ elem.addProperty(Constants.PR_KEEP_WITH_PREVIOUS);
+ elem.addProperty(Constants.PR_RELATIVE_ALIGN);
+ elem.addContent(Constants.FO_LIST_ITEM_LABEL);
+ elem.addContent(Constants.FO_LIST_ITEM_BODY);
+
+ elem = elements[Constants.FO_LIST_ITEM_BODY];
+ elem.addProperties(CommonAccessibilityProperties);
+ elem.addProperty(Constants.PR_ID);
+ elem.addProperty(Constants.PR_PAGE_BREAK_INSIDE);
+ elem.addProperty(Constants.PR_KEEP_TOGETHER);
+ elem.addContent(block_elems);
+
+ elem = elements[Constants.FO_LIST_ITEM_LABEL];
+ elem.addProperties(CommonAccessibilityProperties);
+ elem.addProperty(Constants.PR_ID);
+ elem.addProperty(Constants.PR_PAGE_BREAK_INSIDE);
+ elem.addProperty(Constants.PR_KEEP_TOGETHER);
+ elem.addContent(block_elems);
+
+ elem = elements[Constants.FO_BASIC_LINK];
+ elem.addProperties(CommonAccessibilityProperties);
+ elem.addProperties(CommonAuralProperties);
+ elem.addProperties(CommonBorderPaddingBackgroundProperties);
+ elem.addProperties(CommonMarginPropertiesInline);
+ elem.addProperties(CommonRelativePositionProperties);
+ elem.addProperty(Constants.PR_VERTICAL_ALIGN);
+ elem.addProperty(Constants.PR_ALIGNMENT_ADJUST);
+ elem.addProperty(Constants.PR_ALIGNMENT_BASELINE);
+ elem.addProperty(Constants.PR_BASELINE_SHIFT);
+ elem.addProperty(Constants.PR_DESTINATION_PLACEMENT_OFFSET);
+ elem.addProperty(Constants.PR_DOMINANT_BASELINE);
+ elem.addProperty(Constants.PR_EXTERNAL_DESTINATION);
+ elem.addProperty(Constants.PR_ID);
+ elem.addProperty(Constants.PR_INDICATE_DESTINATION);
+ elem.addProperty(Constants.PR_INTERNAL_DESTINATION);
+ elem.addProperty(Constants.PR_PAGE_BREAK_INSIDE);
+ elem.addProperty(Constants.PR_KEEP_TOGETHER);
+ elem.addProperty(Constants.PR_KEEP_WITH_NEXT);
+ elem.addProperty(Constants.PR_KEEP_WITH_PREVIOUS);
+ elem.addProperty(Constants.PR_LINE_HEIGHT);
+ elem.addProperty(Constants.PR_SHOW_DESTINATION);
+ elem.addProperty(Constants.PR_TARGET_PROCESSING_CONTEXT);
+ elem.addProperty(Constants.PR_TARGET_PRESENTATION_CONTEXT);
+ elem.addProperty(Constants.PR_TARGET_STYLESHEET);
+ elem.addContent(inline_elems);
+ elem.addContent(block_elems);
+
+ elem = elements[Constants.FO_MULTI_SWITCH];
+ elem.addProperties(CommonAccessibilityProperties);
+ elem.addProperty(Constants.PR_AUTO_RESTORE);
+ elem.addProperty(Constants.PR_ID);
+ elem.addContent(Constants.FO_MULTI_CASE);
+
+ elem = elements[Constants.FO_MULTI_CASE];
+ elem.addProperties(CommonAccessibilityProperties);
+ elem.addProperty(Constants.PR_ID);
+ elem.addProperty(Constants.PR_STARTING_STATE);
+ elem.addProperty(Constants.PR_CASE_NAME);
+ elem.addProperty(Constants.PR_CASE_TITLE);
+ elem.addContent(inline_elems);
+ elem.addContent(block_elems);
+
+ elem = elements[Constants.FO_MULTI_TOGGLE];
+ elem.addProperties(CommonAccessibilityProperties);
+ elem.addProperty(Constants.PR_ID);
+ elem.addProperty(Constants.PR_SWITCH_TO);
+ elem.addContent(inline_elems);
+ elem.addContent(block_elems);
+
+ elem = elements[Constants.FO_MULTI_PROPERTIES];
+ elem.addProperties(CommonAccessibilityProperties);
+ elem.addProperty(Constants.PR_ID);
+ elem.addContent(Constants.FO_MULTI_PROPERTY_SET);
+ elem.addContent(Constants.FO_WRAPPER);
+
+ elem = elements[Constants.FO_MULTI_PROPERTY_SET];
+ elem.addProperty(Constants.PR_ID);
+ elem.addProperty(Constants.PR_ACTIVE_STATE);
+
+ elem = elements[Constants.FO_FLOAT];
+ elem.addProperty(Constants.PR_FLOAT);
+ elem.addProperty(Constants.PR_CLEAR);
+ elem.addContent(block_elems);
+
+ elem = elements[Constants.FO_FOOTNOTE];
+ elem.addProperties(CommonAccessibilityProperties);
+ elem.addContent(Constants.FO_INLINE);
+ elem.addContent(Constants.FO_FOOTNOTE_BODY);
+
+ elem = elements[Constants.FO_FOOTNOTE_BODY];
+ elem.addProperties(CommonAccessibilityProperties);
+ elem.addContent(block_elems);
+
+ elem = elements[Constants.FO_WRAPPER];
+ elem.addProperty(Constants.PR_ID);
+ elem.addContent(inline_elems);
+ elem.addContent(block_elems);
+
+ elem = elements[Constants.FO_MARKER];
+ elem.addProperty(Constants.PR_MARKER_CLASS_NAME);
+ elem.addContent(inline_elems);
+ elem.addContent(block_elems);
+
+ elem = elements[Constants.FO_RETRIEVE_MARKER];
+ elem.addProperty(Constants.PR_RETRIEVE_CLASS_NAME);
+ elem.addProperty(Constants.PR_RETRIEVE_POSITION);
+ elem.addProperty(Constants.PR_RETRIEVE_BOUNDARY);
+
+
+
+ // Merge the attributes from the children into the parent.
+ for (boolean dirty = true; dirty; ) {
+ dirty = false;
+ for (int i = 1; i < elements.length; i++) {
+ dirty = dirty || elements[i].merge();
+ }
+ }
+ // Calculate the sparse indices for each element.
+ for (int i = 1; i < elements.length; i++) {
+ mapping[i] = makeSparseIndices(elements[i].valid);
+ }
+ }
- int propIndex = 1;
- for (int i = set.nextSetBit(0); i >= 0; i = set.nextSetBit(i+1)) {
- indices[i] = (short) propIndex++;
+ /**
+ * Turn a BitSet into an array of shorts with the first element
+ * on the array the number of set bits in the BitSet.
+ */
+ private static short[] makeSparseIndices(BitSet set) {
+ short[] indices = new short[Constants.PROPERTY_COUNT+1];
+ int j = 1;
+ for (int i = 0; i < Constants.PROPERTY_COUNT+1; i++) {
+ if (set.get(i)) {
+ indices[i] = (short) j++;
+ }
}
-
+ indices[0] = (short)j;
return indices;
}
- private static boolean mergeContent(BitSet node, BitSet content,
- boolean loop)
- {
- int c = node.cardinality();
- node.or(content);
- if (c == node.cardinality())
- return loop;
- return true;
- }
public static short[] getPropertySet(int elementId) {
- if (mapping == null)
- initialize();
+ if (mapping == null) {
+ mapping = new short[Constants.ELEMENT_COUNT+1][];
+ PropertySets ps = new PropertySets();
+ ps.initializeElements();
+ ps.initializeCommon();
+ ps.initialize();
+ }
return mapping[elementId];
}
+
+ /**
+ * An object that represent the properties and contents of a fo element
+ */
+ class Element {
+ BitSet relevant = new BitSet();
+ BitSet valid = new BitSet();
+ int elementId;
+ ArrayList children;
+
+ Element(int elementId) {
+ this.elementId = elementId;
+ }
+
+ /**
+ * Add a single property to the element.
+ */
+ public void addProperty(int propId) {
+ relevant.set(propId);
+ valid.set(propId);
+ }
+
+ /**
+ * Add a set of properties to the element.
+ */
+ public void addProperties(BitSet properties) {
+ relevant.or(properties);
+ valid.or(properties);
+ }
+
+ /**
+ * Add a single fo element as a content child.
+ */
+ public void addContent(int elementId) {
+ if (children == null) {
+ children = new ArrayList();
+ }
+ children.add(elements[elementId]);
+ }
+
+ /**
+ * Add a set of fo elements as content children.
+ */
+ public void addContent(BitSet elements) {
+ for (int i = 0; i < elements.size(); i++) {
+ if (elements.get(i)) {
+ addContent(i);
+ }
+ }
+ }
+
+ /**
+ * Merge the properties from the children into the set of valid
+ * properties. Return true if at least one property could be added.
+ */
+ public boolean merge() {
+ if (children == null) {
+ return false;
+ }
+ boolean dirty = false;
+ for (int i = 0; i < children.size(); i++) {
+ Element child = (Element) children.get(i);
+ BitSet childValid = child.valid;
+ int n = childValid.length();
+ for (int j = 0; j < n; j++) {
+ if (childValid.get(j) && !valid.get(j)) {
+ dirty = true;
+ valid.set(j);
+ }
+ }
+ }
+ return dirty;
+ }
+ }
}