AbstractXMLRenderer (Apache FOP Core 2.11 API)
Date: 2025-04-24

org.apache.fop.render.xml

## Class AbstractXMLRenderer

- java.lang.Object
- - org.apache.fop.render.AbstractRenderer
  - - org.apache.fop.render.PrintRenderer
    - - org.apache.fop.render.xml.AbstractXMLRenderer

- All Implemented Interfaces:
    Constants, Renderer
  Direct Known Subclasses:
    XMLRenderer

      public abstract class AbstractXMLRenderer
      extends PrintRenderer

  Abstract xml renderer base class.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected AttributesImpl` | `atts` AttributesImpl instance that can be used during XML generation.
    `static String` | `CDATA` CDATA type
    `protected RendererContext` | `context` The renderer context.
    `static Attributes` | `EMPTY_ATTS` An empty Attributes object used when no attributes are needed.
    `protected List` | `extensionAttachments` A list of ExtensionAttachements received through processOffDocumentItem()
    `protected ContentHandler` | `handler` ContentHandler that the generated XML is written to
    `static String` | `NS` Main namespace in use.
    `protected OutputStream` | `out` The OutputStream to write the generated XML to.

    - ### Fields inherited from class org.apache.fop.render.PrintRenderer

      `embedFontInfoList, fontInfo`

    - ### Fields inherited from class org.apache.fop.render.AbstractRenderer

      `bindingOnEndEdge, bindingOnStartEdge, blockProgressionDirection, columnCount, columnEndIPPosition, columnGap, columnIndex, columnLeftIPPosition, columnRightIPPosition, columnStartIPPosition, columnWidth, containingBPPosition, containingIPPosition, currentBPPosition, currentIPPosition, currentPageViewport, inlineProgressionDirection, log, userAgent`

    - ### Fields inherited from interface org.apache.fop.render.Renderer

      `ROLE`

    - ### Fields inherited from interface org.apache.fop.fo.Constants

      `COMPOUND_COUNT, COMPOUND_MASK, COMPOUND_SHIFT, CP_BLOCK_PROGRESSION_DIRECTION, CP_CONDITIONALITY, CP_INLINE_PROGRESSION_DIRECTION, CP_LENGTH, CP_MAXIMUM, CP_MINIMUM, CP_OPTIMUM, CP_PRECEDENCE, CP_WITHIN_COLUMN, CP_WITHIN_LINE, CP_WITHIN_PAGE, EN_100, EN_200, EN_300, EN_400, EN_500, EN_600, EN_700, EN_800, EN_900, EN_ABSOLUTE, EN_ABSOLUTE_COLORMETRIC, EN_AFTER, EN_AFTER_EDGE, EN_ALL, EN_ALPHABETIC, EN_ALTERNATE, EN_ALWAYS, EN_ANY, EN_AUTO, EN_AUTO_EVEN, EN_AUTO_ODD, EN_AVOID, EN_BACKSLANT, EN_BASELINE, EN_BEFORE, EN_BEFORE_EDGE, EN_BIDI_OVERRIDE, EN_BLANK, EN_BLINK, EN_BLOCK, EN_BOLDER, EN_BOTH, EN_BOTTOM, EN_BOUNDED_IN_ONE_DIMENSION, EN_BT, EN_CAPITALIZE, EN_CAPTION, EN_CENTER, EN_CENTRAL, EN_CHARACTER_BY_CHARACTER, EN_COLLAPSE, EN_COLLAPSE_WITH_PRECEDENCE, EN_COLUMN, EN_CONDENSED, EN_CONSIDER_SHIFTS, EN_DASHED, EN_DISCARD, EN_DISREGARD_SHIFTS, EN_DOCUMENT, EN_DOTS, EN_DOTTED, EN_DOUBLE, EN_EMBED, EN_END, EN_END_ON_EVEN, EN_END_ON_ODD, EN_ERROR_IF_OVERFLOW, EN_EVEN, EN_EVEN_PAGE, EN_EXPANDED, EN_EXTRA_CONDENSED, EN_EXTRA_EXPANDED, EN_FALSE, EN_FIC, EN_FIRST, EN_FIRST_INCLUDING_CARRYOVER, EN_FIRST_STARTING, EN_FIXED, EN_FONT_HEIGHT, EN_FORCE, EN_FSWP, EN_GROOVE, EN_HANGING, EN_HIDDEN, EN_HIDE, EN_ICON, EN_IDEOGRAPHIC, EN_IGNORE, EN_IGNORE_IF_AFTER_LINEFEED, EN_IGNORE_IF_BEFORE_LINEFEED, EN_IGNORE_IF_SURROUNDING_LINEFEED, EN_INDEFINITE, EN_INDENT, EN_INHERIT, EN_INSET, EN_INSIDE, EN_INTEGER_PIXELS, EN_ITALIC, EN_JUSTIFY, EN_LARGER, EN_LAST, EN_LAST_ENDING, EN_LAST_STARTING, EN_LEAVE_SEPARATE, EN_LEFT, EN_LEWP, EN_LIGHTER, EN_LINE, EN_LINE_HEIGHT, EN_LINE_THROUGH, EN_LINK, EN_LOWERCASE, EN_LR, EN_LR_TB, EN_LSWP, EN_LTR, EN_MATHEMATICAL, EN_MAX_HEIGHT, EN_MENU, EN_MERGE, EN_MESSAGE_BOX, EN_MIDDLE, EN_NARROWER, EN_NEW, EN_NO_BLINK, EN_NO_CHANGE, EN_NO_FORCE, EN_NO_LIMIT, EN_NO_LINE_THROUGH, EN_NO_LINK, EN_NO_OVERLINE, EN_NO_UNDERLINE, EN_NO_WRAP, EN_NON_UNIFORM, EN_NONE, EN_NOREPEAT, EN_NORMAL, EN_NOT_BLANK, EN_OBLIQUE, EN_ODD, EN_ODD_PAGE, EN_ONLY, EN_OUTSET, EN_OUTSIDE, EN_OVERLINE, EN_PAGE, EN_PAGE_SEQUENCE, EN_PAGINATE, EN_PERCEPTUAL, EN_PRE, EN_PRESERVE, EN_REFERENCE_AREA, EN_RELATIVE, EN_RELATIVE_COLOMETRIC, EN_REPEAT, EN_REPEATX, EN_REPEATY, EN_REPLACE, EN_RESAMPLE_ANY_METHOD, EN_RESET_SIZE, EN_REST, EN_RETAIN, EN_RIDGE, EN_RIGHT, EN_RL, EN_RL_TB, EN_RTL, EN_RULE, EN_SATURATION, EN_SCALE_DOWN_TO_FIT, EN_SCALE_TO_FIT, EN_SCALE_UP_TO_FIT, EN_SCROLL, EN_SELECT_FIRST_FITTING, EN_SEMI_CONDENSED, EN_SEMI_EXPANDED, EN_SEPARATE, EN_SHOW, EN_SMALL_CAPS, EN_SMALL_CAPTION, EN_SMALLER, EN_SOLID, EN_SPACE, EN_START, EN_STATIC, EN_STATUS_BAR, EN_SUB, EN_SUPER, EN_SUPPRESS, EN_TABLE, EN_TABLE_FRAGMENT, EN_TB, EN_TB_LR, EN_TB_RL, EN_TEXT_AFTER_EDGE, EN_TEXT_BEFORE_EDGE, EN_TEXT_BOTTOM, EN_TEXT_TOP, EN_TOP, EN_TRADITIONAL, EN_TREAT_AS_SPACE, EN_TREAT_AS_ZERO_WIDTH_SPACE, EN_TRUE, EN_ULTRA_CONDENSED, EN_ULTRA_EXPANDED, EN_UNBOUNDED, EN_UNDERLINE, EN_UNIFORM, EN_UPPERCASE, EN_USE_FONT_METRICS, EN_USE_SCRIPT, EN_USECONTENT, EN_VISIBLE, EN_WIDER, EN_WRAP, ENUM_COUNT, FO_BASIC_LINK, FO_BIDI_OVERRIDE, FO_BLOCK, FO_BLOCK_CONTAINER, FO_BOOKMARK, FO_BOOKMARK_TITLE, FO_BOOKMARK_TREE, FO_CHANGE_BAR_BEGIN, FO_CHANGE_BAR_END, FO_CHARACTER, FO_COLOR_PROFILE, FO_CONDITIONAL_PAGE_MASTER_REFERENCE, FO_DECLARATIONS, FO_EXTERNAL_GRAPHIC, FO_FLOAT, FO_FLOW, FO_FLOW_ASSIGNMENT, FO_FLOW_MAP, FO_FLOW_NAME_SPECIFIER, FO_FLOW_SOURCE_LIST, FO_FLOW_TARGET_LIST, FO_FOLIO_PREFIX, FO_FOLIO_SUFFIX, FO_FOOTNOTE, FO_FOOTNOTE_BODY, FO_INDEX_KEY_REFERENCE, FO_INDEX_PAGE_CITATION_LIST, FO_INDEX_PAGE_CITATION_LIST_SEPARATOR, FO_INDEX_PAGE_CITATION_RANGE_SEPARATOR, FO_INDEX_PAGE_NUMBER_PREFIX, FO_INDEX_PAGE_NUMBER_SUFFIX, FO_INDEX_RANGE_BEGIN, FO_INDEX_RANGE_END, FO_INITIAL_PROPERTY_SET, FO_INLINE, FO_INLINE_CONTAINER, FO_INSTREAM_FOREIGN_OBJECT, FO_LAYOUT_MASTER_SET, FO_LEADER, FO_LIST_BLOCK, FO_LIST_ITEM, FO_LIST_ITEM_BODY, FO_LIST_ITEM_LABEL, FO_MARKER, FO_MULTI_CASE, FO_MULTI_PROPERTIES, FO_MULTI_PROPERTY_SET, FO_MULTI_SWITCH, FO_MULTI_TOGGLE, FO_PAGE_NUMBER, FO_PAGE_NUMBER_CITATION, FO_PAGE_NUMBER_CITATION_LAST, FO_PAGE_SEQUENCE, FO_PAGE_SEQUENCE_MASTER, FO_PAGE_SEQUENCE_WRAPPER, FO_REGION_AFTER, FO_REGION_BEFORE, FO_REGION_BODY, FO_REGION_END, FO_REGION_NAME_SPECIFIER, FO_REGION_START, FO_REPEATABLE_PAGE_MASTER_ALTERNATIVES, FO_REPEATABLE_PAGE_MASTER_REFERENCE, FO_RETRIEVE_MARKER, FO_RETRIEVE_TABLE_MARKER, FO_ROOT, FO_SCALING_VALUE_CITATION, FO_SIMPLE_PAGE_MASTER, FO_SINGLE_PAGE_MASTER_REFERENCE, FO_STATIC_CONTENT, FO_TABLE, FO_TABLE_AND_CAPTION, FO_TABLE_BODY, FO_TABLE_CAPTION, FO_TABLE_CELL, FO_TABLE_COLUMN, FO_TABLE_FOOTER, FO_TABLE_HEADER, FO_TABLE_ROW, FO_TITLE, FO_UNKNOWN_NODE, FO_WRAPPER, FRM_OBJ_COUNT, NOT_SET, PR_ABSOLUTE_POSITION, PR_ACTIVE_STATE, PR_ALIGNMENT_ADJUST, PR_ALIGNMENT_BASELINE, PR_AUTO_RESTORE, PR_AZIMUTH, PR_BACKGROUND, PR_BACKGROUND_ATTACHMENT, PR_BACKGROUND_COLOR, PR_BACKGROUND_IMAGE, PR_BACKGROUND_POSITION, PR_BACKGROUND_POSITION_HORIZONTAL, PR_BACKGROUND_POSITION_VERTICAL, PR_BACKGROUND_REPEAT, PR_BASELINE_SHIFT, PR_BLANK_OR_NOT_BLANK, PR_BLOCK_PROGRESSION_DIMENSION, PR_BORDER, PR_BORDER_AFTER_COLOR, PR_BORDER_AFTER_PRECEDENCE, PR_BORDER_AFTER_STYLE, PR_BORDER_AFTER_WIDTH, PR_BORDER_BEFORE_COLOR, PR_BORDER_BEFORE_PRECEDENCE, PR_BORDER_BEFORE_STYLE, PR_BORDER_BEFORE_WIDTH, PR_BORDER_BOTTOM, PR_BORDER_BOTTOM_COLOR, PR_BORDER_BOTTOM_STYLE, PR_BORDER_BOTTOM_WIDTH, PR_BORDER_COLLAPSE, PR_BORDER_COLOR, PR_BORDER_END_COLOR, PR_BORDER_END_PRECEDENCE, PR_BORDER_END_STYLE, PR_BORDER_END_WIDTH, PR_BORDER_LEFT, PR_BORDER_LEFT_COLOR, PR_BORDER_LEFT_STYLE, PR_BORDER_LEFT_WIDTH, PR_BORDER_RIGHT, PR_BORDER_RIGHT_COLOR, PR_BORDER_RIGHT_STYLE, PR_BORDER_RIGHT_WIDTH, PR_BORDER_SEPARATION, PR_BORDER_SPACING, PR_BORDER_START_COLOR, PR_BORDER_START_PRECEDENCE, PR_BORDER_START_STYLE, PR_BORDER_START_WIDTH, PR_BORDER_STYLE, PR_BORDER_TOP, PR_BORDER_TOP_COLOR, PR_BORDER_TOP_STYLE, PR_BORDER_TOP_WIDTH, PR_BORDER_WIDTH, PR_BOTTOM, PR_BREAK_AFTER, PR_BREAK_BEFORE, PR_CAPTION_SIDE, PR_CASE_NAME, PR_CASE_TITLE, PR_CHANGE_BAR_CLASS, PR_CHANGE_BAR_COLOR, PR_CHANGE_BAR_OFFSET, PR_CHANGE_BAR_PLACEMENT, PR_CHANGE_BAR_STYLE, PR_CHANGE_BAR_WIDTH, PR_CHARACTER, PR_CLEAR, PR_CLIP, PR_COLOR, PR_COLOR_PROFILE_NAME, PR_COLUMN_COUNT, PR_COLUMN_GAP, PR_COLUMN_NUMBER, PR_COLUMN_WIDTH, PR_CONTENT_HEIGHT, PR_CONTENT_TYPE, PR_CONTENT_WIDTH, PR_COUNTRY, PR_CUE, PR_CUE_AFTER, PR_CUE_BEFORE, PR_DESTINATION_PLACEMENT_OFFSET, PR_DIRECTION, PR_DISPLAY_ALIGN, PR_DOMINANT_BASELINE, PR_ELEVATION, PR_EMPTY_CELLS, PR_END_INDENT, PR_ENDS_ROW, PR_EXTENT, PR_EXTERNAL_DESTINATION, PR_FLOAT, PR_FLOW_MAP_NAME, PR_FLOW_MAP_REFERENCE, PR_FLOW_NAME, PR_FLOW_NAME_REFERENCE, PR_FONT, PR_FONT_FAMILY, PR_FONT_SELECTION_STRATEGY, PR_FONT_SIZE, PR_FONT_SIZE_ADJUST, PR_FONT_STRETCH, PR_FONT_STYLE, PR_FONT_VARIANT, PR_FONT_WEIGHT, PR_FORCE_PAGE_COUNT, PR_FORMAT, PR_GLYPH_ORIENTATION_HORIZONTAL, PR_GLYPH_ORIENTATION_VERTICAL, PR_GROUPING_SEPARATOR, PR_GROUPING_SIZE, PR_HEIGHT, PR_HYPHENATE, PR_HYPHENATION_CHARACTER, PR_HYPHENATION_KEEP, PR_HYPHENATION_LADDER_COUNT, PR_HYPHENATION_PUSH_CHARACTER_COUNT, PR_HYPHENATION_REMAIN_CHARACTER_COUNT, PR_ID, PR_INDEX_CLASS, PR_INDEX_KEY, PR_INDICATE_DESTINATION, PR_INITIAL_PAGE_NUMBER, PR_INLINE_PROGRESSION_DIMENSION, PR_INTERNAL_DESTINATION, PR_INTRINSIC_SCALE_VALUE, PR_INTRUSION_DISPLACE, PR_KEEP_TOGETHER, PR_KEEP_WITH_NEXT, PR_KEEP_WITH_PREVIOUS, PR_LANGUAGE, PR_LAST_LINE_END_INDENT, PR_LEADER_ALIGNMENT, PR_LEADER_LENGTH, PR_LEADER_PATTERN, PR_LEADER_PATTERN_WIDTH, PR_LEFT, PR_LETTER_SPACING, PR_LETTER_VALUE, PR_LINE_HEIGHT, PR_LINE_HEIGHT_SHIFT_ADJUSTMENT, PR_LINE_STACKING_STRATEGY, PR_LINEFEED_TREATMENT, PR_MARGIN, PR_MARGIN_BOTTOM, PR_MARGIN_LEFT, PR_MARGIN_RIGHT, PR_MARGIN_TOP, PR_MARKER_CLASS_NAME, PR_MASTER_NAME, PR_MASTER_REFERENCE, PR_MAX_HEIGHT, PR_MAX_WIDTH, PR_MAXIMUM_REPEATS, PR_MEDIA_USAGE, PR_MERGE_PAGES_ACROSS_INDEX_KEY_REFERENCES, PR_MERGE_RANGES_ACROSS_INDEX_KEY_REFERENCES, PR_MERGE_SEQUENTIAL_PAGE_NUMBERS, PR_MIN_HEIGHT, PR_MIN_WIDTH, PR_NUMBER_COLUMNS_REPEATED, PR_NUMBER_COLUMNS_SPANNED, PR_NUMBER_ROWS_SPANNED, PR_ODD_OR_EVEN, PR_ORPHANS, PR_OVERFLOW, PR_PADDING, PR_PADDING_AFTER, PR_PADDING_BEFORE, PR_PADDING_BOTTOM, PR_PADDING_END, PR_PADDING_LEFT, PR_PADDING_RIGHT, PR_PADDING_START, PR_PADDING_TOP, PR_PAGE_BREAK_AFTER, PR_PAGE_BREAK_BEFORE, PR_PAGE_BREAK_INSIDE, PR_PAGE_CITATION_STRATEGY, PR_PAGE_HEIGHT, PR_PAGE_NUMBER_TREATMENT, PR_PAGE_POSITION, PR_PAGE_WIDTH, PR_PAUSE, PR_PAUSE_AFTER, PR_PAUSE_BEFORE, PR_PITCH, PR_PITCH_RANGE, PR_PLAY_DURING, PR_POSITION, PR_PRECEDENCE, PR_PROVISIONAL_DISTANCE_BETWEEN_STARTS, PR_PROVISIONAL_LABEL_SEPARATION, PR_REF_ID, PR_REF_INDEX_KEY, PR_REFERENCE_ORIENTATION, PR_REGION_NAME, PR_REGION_NAME_REFERENCE, PR_RELATIVE_ALIGN, PR_RELATIVE_POSITION, PR_RENDERING_INTENT, PR_RETRIEVE_BOUNDARY, PR_RETRIEVE_BOUNDARY_WITHIN_TABLE, PR_RETRIEVE_CLASS_NAME, PR_RETRIEVE_POSITION, PR_RETRIEVE_POSITION_WITHIN_TABLE, PR_RICHNESS, PR_RIGHT, PR_ROLE, PR_RULE_STYLE, PR_RULE_THICKNESS, PR_SCALING, PR_SCALING_METHOD, PR_SCORE_SPACES, PR_SCRIPT, PR_SHOW_DESTINATION, PR_SIZE, PR_SOURCE_DOCUMENT, PR_SPACE_AFTER, PR_SPACE_BEFORE, PR_SPACE_END, PR_SPACE_START, PR_SPAN, PR_SPEAK, PR_SPEAK_HEADER, PR_SPEAK_NUMERAL, PR_SPEAK_PUNCTUATION, PR_SPEECH_RATE, PR_SRC, PR_START_INDENT, PR_STARTING_STATE, PR_STARTS_ROW, PR_STRESS, PR_SUPPRESS_AT_LINE_BREAK, PR_SWITCH_TO, PR_TABLE_LAYOUT, PR_TABLE_OMIT_FOOTER_AT_BREAK, PR_TABLE_OMIT_HEADER_AT_BREAK, PR_TARGET_PRESENTATION_CONTEXT, PR_TARGET_PROCESSING_CONTEXT, PR_TARGET_STYLESHEET, PR_TEXT_ALIGN, PR_TEXT_ALIGN_LAST, PR_TEXT_ALTITUDE, PR_TEXT_DECORATION, PR_TEXT_DEPTH, PR_TEXT_INDENT, PR_TEXT_SHADOW, PR_TEXT_TRANSFORM, PR_TOP, PR_TREAT_AS_WORD_SPACE, PR_UNICODE_BIDI, PR_VERTICAL_ALIGN, PR_VISIBILITY, PR_VOICE_FAMILY, PR_VOLUME, PR_WHITE_SPACE, PR_WHITE_SPACE_COLLAPSE, PR_WHITE_SPACE_TREATMENT, PR_WIDOWS, PR_WIDTH, PR_WORD_SPACING, PR_WRAP_OPTION, PR_WRITING_MODE, PR_X_ABBREVIATION, PR_X_ALT_TEXT, PR_X_AUTO_TOGGLE, PR_X_BACKGROUND_IMAGE_HEIGHT, PR_X_BACKGROUND_IMAGE_WIDTH, PR_X_BORDER_AFTER_END_RADIUS, PR_X_BORDER_AFTER_RADIUS_END, PR_X_BORDER_AFTER_RADIUS_START, PR_X_BORDER_AFTER_START_RADIUS, PR_X_BORDER_BEFORE_END_RADIUS, PR_X_BORDER_BEFORE_RADIUS_END, PR_X_BORDER_BEFORE_RADIUS_START, PR_X_BORDER_BEFORE_START_RADIUS, PR_X_BORDER_END_RADIUS_AFTER, PR_X_BORDER_END_RADIUS_BEFORE, PR_X_BORDER_RADIUS, PR_X_BORDER_START_RADIUS_AFTER, PR_X_BORDER_START_RADIUS_BEFORE, PR_X_DISABLE_COLUMN_BALANCING, PR_X_HEADER_COLUMN, PR_X_LAYER, PR_X_NUMBER_CONVERSION_FEATURES, PR_X_ORPHAN_CONTENT_LIMIT, PR_X_WIDOW_CONTENT_LIMIT, PR_X_XML_BASE, PR_XML_LANG, PR_Z_INDEX, PROPERTY_COUNT, PROPERTY_MASK`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractXMLRenderer(FOUserAgent userAgent)`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `addAttribute(org.apache.xmlgraphics.util.QName name, String value)` Adds a new attribute to the protected member variable "atts".
    `protected void` | `addAttribute(String name, int value)` Adds a new attribute to the protected member variable "atts".
    `protected void` | `addAttribute(String name, Rectangle2D rect)` Adds a new attribute to the protected member variable "atts".
    `protected void` | `addAttribute(String name, String value)` Adds a new attribute to the protected member variable "atts".
    `protected void` | `characters(String text)` Sends plain text to the XML
    `protected void` | `comment(String comment)` Writes a comment to the generated XML.
    `protected void` | `endElement(String tagName)` Ends an element.
    `protected void` | `handleDocumentExtensionAttachments()` Handle document extension attachments.
    `protected abstract void` | `handleExtensionAttachments(List attachments)` Handles a list of extension attachments
    `protected void` | `handlePageExtensionAttachments(PageViewport page)` Handles page extension attachments
    `protected void` | `handleSAXException(SAXException saxe)` Handles SAXExceptions.
    `void` | `processOffDocumentItem(OffDocumentItem oDI)` Tells the renderer to process an item not explicitly placed on the document (e.g., PDF bookmarks).
    `protected abstract void` | `renderBookmarkTree(BookmarkData odi)` Renders a bookmark tree
    `void` | `setContentHandler(ContentHandler handler)` Sets an outside TransformerHandler to use instead of the default one create in this class in startRenderer().
    `protected void` | `startElement(String tagName)` Starts a new element (without attributes).
    `protected void` | `startElement(String tagName, Attributes atts)` Starts a new element.
    `void` | `startRenderer(OutputStream outputStream)` Initiates the rendering phase.
    `void` | `stopRenderer()` Signals the end of the rendering phase.

    - ### Methods inherited from class org.apache.fop.render.PrintRenderer

      `addFontList, createRendererContext, getFontFromArea, getFontInfo, getFontList, getInternalFontNameForArea, instantiateRendererContext, renderDocument, setFontList, setupFontInfo`

    - ### Methods inherited from class org.apache.fop.render.AbstractRenderer

      `convertTitleToString, drawChangeBars, endLayer, endVParea, getBeginOffset, getCurrentPageViewport, getGraphics2DAdapter, getImageAdapter, getUserAgent, handleBlockTraits, handleRegionTraits, maybeEndLayer, maybeStartLayer, mptToPt, preparePage, ptToMpt, renderBeforeFloat, renderBlock, renderBlocks, renderBlockViewport, renderBodyRegion, renderContainer, renderFlow, renderFootnote, renderForeignObject, renderImage, renderInlineArea, renderInlineAreaBackAndBorders, renderInlineBlock, renderInlineBlockParent, renderInlineParent, renderInlineSpace, renderInlineViewport, renderLeader, renderLineArea, renderMainReference, renderPage, renderPageAreas, renderReferenceArea, renderRegion, renderRegionViewport, renderSpace, renderText, renderWord, renderXML, setBeginOffset, setDocumentLocale, startLayer, startPageSequence, startPageSequence, startVParea, supportsOutOfOrder`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.apache.fop.render.Renderer

      `getMimeType`

- - ### Field Detail

    - #### NS

          public static final String NS

      Main namespace in use.
      See Also:
        Constant Field Values

    - #### CDATA

          public static final String CDATA

      CDATA type
      See Also:
        Constant Field Values

    - #### EMPTY_ATTS

          public static final Attributes EMPTY_ATTS

      An empty Attributes object used when no attributes are needed.

    - #### atts

          protected AttributesImpl atts

      AttributesImpl instance that can be used during XML generation.

    - #### handler

          protected ContentHandler handler

      ContentHandler that the generated XML is written to

    - #### out

          protected OutputStream out

      The OutputStream to write the generated XML to.

    - #### context

          protected RendererContext context

      The renderer context.

    - #### extensionAttachments

          protected List extensionAttachments

      A list of ExtensionAttachements received through processOffDocumentItem()

  - ### Constructor Detail

    - #### AbstractXMLRenderer

          public AbstractXMLRenderer(FOUserAgent userAgent)

      Parameters:
        `userAgent` - the user agent that contains configuration details. This cannot be null.

  - ### Method Detail

    - #### handleSAXException

          protected void handleSAXException(SAXException saxe)

      Handles SAXExceptions.
      Parameters:
        `saxe` - the SAXException to handle

    - #### handlePageExtensionAttachments

          protected void handlePageExtensionAttachments(PageViewport page)

      Handles page extension attachments
      Parameters:
        `page` - the page viewport

    - #### comment

          protected void comment(String comment)

      Writes a comment to the generated XML.
      Parameters:
        `comment` - the comment

    - #### startElement

          protected void startElement(String tagName)

      Starts a new element (without attributes).
      Parameters:
        `tagName` - tag name of the element

    - #### startElement

          protected void startElement(String tagName,
                                      Attributes atts)

      Starts a new element.
      Parameters:
        `tagName` - tag name of the element
        `atts` - attributes to add

    - #### endElement

          protected void endElement(String tagName)

      Ends an element.
      Parameters:
        `tagName` - tag name of the element

    - #### characters

          protected void characters(String text)

      Sends plain text to the XML
      Parameters:
        `text` - the text

    - #### addAttribute

          protected void addAttribute(String name,
                                      String value)

      Adds a new attribute to the protected member variable "atts".
      Parameters:
        `name` - name of the attribute
        `value` - value of the attribute

    - #### addAttribute

          protected void addAttribute(org.apache.xmlgraphics.util.QName name,
                                      String value)

      Adds a new attribute to the protected member variable "atts".
      Parameters:
        `name` - name of the attribute
        `value` - value of the attribute

    - #### addAttribute

          protected void addAttribute(String name,
                                      int value)

      Adds a new attribute to the protected member variable "atts".
      Parameters:
        `name` - name of the attribute
        `value` - value of the attribute

    - #### addAttribute

          protected void addAttribute(String name,
                                      Rectangle2D rect)

      Adds a new attribute to the protected member variable "atts".
      Parameters:
        `name` - name of the attribute
        `rect` - a Rectangle2D to format and use as attribute value

    - #### startRenderer

          public void startRenderer(OutputStream outputStream)
                             throws IOException

      Initiates the rendering phase. This must only be called once for a rendering. If stopRenderer is called then this may be called again for a new document rendering.
      Specified by:
        `startRenderer` in interface `Renderer`
      Overrides:
        `startRenderer` in class `AbstractRenderer`
      Parameters:
        `outputStream` - The OutputStream to use for output
      Throws:
        `IOException` - If an I/O error occurs

    - #### stopRenderer

          public void stopRenderer()
                            throws IOException

      Signals the end of the rendering phase. The renderer should reset to an initial state and dispose of any resources for the completed rendering.
      Specified by:
        `stopRenderer` in interface `Renderer`
      Overrides:
        `stopRenderer` in class `AbstractRenderer`
      Throws:
        `IOException` - If an I/O error occurs

    - #### processOffDocumentItem

          public void processOffDocumentItem(OffDocumentItem oDI)

      Tells the renderer to process an item not explicitly placed on the document (e.g., PDF bookmarks). Note - not all renderers will process all off-document items.
      Specified by:
        `processOffDocumentItem` in interface `Renderer`
      Overrides:
        `processOffDocumentItem` in class `AbstractRenderer`
      Parameters:
        `oDI` - The off-document item to be rendered

    - #### handleDocumentExtensionAttachments

          protected void handleDocumentExtensionAttachments()

      Handle document extension attachments.

    - #### setContentHandler

          public void setContentHandler(ContentHandler handler)

      Sets an outside TransformerHandler to use instead of the default one create in this class in startRenderer().
      Parameters:
        `handler` - Overriding TransformerHandler

    - #### handleExtensionAttachments

          protected abstract void handleExtensionAttachments(List attachments)

      Handles a list of extension attachments
      Parameters:
        `attachments` - a list of extension attachments

    - #### renderBookmarkTree

          protected abstract void renderBookmarkTree(BookmarkData odi)

      Renders a bookmark tree
      Parameters:
        `odi` - the bookmark data

Copyright © 2025 Apache Software Foundation. All rights reserved.