DTD for Customizing Graphs in Oracle Reports

An Oracle ReportsTechnical Note

September 2003

Introduction

Reports Builder provides the Graph Wizard to insert graphs in both Paper and Web Reports. Reports Builder uses what you specify on each page of the Graph Wizard to create an XML file (graph.xml). This XML file is used to create the look-and-feel of the resulting graph at runtime.

A common requirement of Reports users is that one should be able to customize the graph to suit the particular report's look-and-feel. Although it is possible to customize the graph by re-entering the Graph Wizard and changing the attribute values/layout etc, however, there are a lot of other attributes which could be manipulated to enhance the appearance of the graph but they are not currently exposed by the Graph Wizard. All of these attributes are available in a DTD file graph.dtd.

This Technical Note explains all these attributes using comments within the graph.dtd. The objective is to explain the usage of these attributes to enable more fine-grained customization of graphs than is possible using the Graph Wizard.

Note: Links have been provided to different Elements of the DTD at the top for easy navigability. Colors used: ELEMENT, ATTLIST

DTD for the Graph

<!--Graph definition -->

    <! ELEMENT Graph (
  • Background?,
  • DataFilter?,
  • DataMarker?,
  • DataviewFootnote?,
  • DataviewSubtitle?,
  • DataviewTitle?,
  • DefaultImageSize?,
  • ExceptionalRisers?,
  • Footnote?,
  • FormatManager?,
  • ImageSize?,
  • LegendArea?,
  • LegendMarker?,
  • LegendText?,
  • MarkerText?,
  • O1Axis?,
  • O1MajorTick?,
  • O1TickLabel?,
  • O1Title?,
  • PageHeader?,
  • ParetoLine?,
  • PieFrame?,
  • PieLabel?,
  • PlotArea?,
  • QuadrantLine?,
  • RingTotalLabel?,
  • SeriesItems?,
  • Slice?,
  • SliceLabel?,
  • StockMarker?,
  • StyleManager?,
  • Subtitle?,
  • ThreeDFloor?,
  • ThreeDLeftWall?,
  • ThreeDRightWall?,
  • ThreeDViewMatrix?,
  • Title?,
  • VolumeMarker?,
  • X1Axis?,
  • X1MajorTick?,
  • X1ReferenceLine?,
  • X1TickLabel?,
  • X1Title?,
  • XPanelGrid?,
  • Y1Axis?,
  • Y1BaseLine?,
  • Y1MajorTick?,
  • Y1ReferenceLine?,
  • Y1TickLabel?,
  • Y1Title?,
  • Y1ZeroLine?,
  • Y2Axis?,
  • Y2BaseLine?,
  • Y2MajorTick?,
  • Y2ReferenceLine?,
  • Y2TickLabel?,
  • Y2Title?,
  • Y2ZeroLine?,
  • Y3DMarkerGrid?,
  • YPanelGrid?,
  • ZPanelGrid?,
  • ZTickLabel?,
  • ZTitle?,
  • ( LocalGridData | LocalRelationalData)?,
  • UserElement*) >
  • 
    
    <!-- Graph attributes:
       autoLayout: when to let the graph calculate layout
       automaticComponentPlacement: deprecated
       graphType: graph type; see Help for more info
       enabled: whether graph is enabled
       colorMode: set to COLOR_BY_GROUP if you have only one series
            and you want different colors for different series
       depthAngle: angle that implies depth in bar, line, area graph has 3-D
            effect; 0 - 180
       depthRadius: apparent depth in 3-D effect bar, line, or area graph;
            0 is flat, 100 maximum depth
       pieDepth: apparent depth in a pie graph; 0 - 100
       seriesTooltipLabelType: series info in a tooltip
       groupTooltipLabelType: group info in a tooltip
       markerTooltipType: data info in a tooltip
       dataDirectorType: don't set this
       dataErrorFontBold: whether text that appears when the data is
            inappropriate is bold
       dataErrorFontItalic: whether data error text is italic
       dataErrorFontSize: size of data error text
       dataErrorFontTypeface: font of data error text
       dataRowShownAsASeries: whether rows of data grid are plotted as series;
            false if rows of data are treated as groups
       displayGroups: number of groups to display at a time when scrollbars present;
            pass 0 to show all
       displayGroupsLimit: limit on groups to display at one time
       displaySeries: number of series to display at a time; pass 0 to show all
       displaySeriesLimit: limit on series to display at one time
       graphicAntialiasing: true for smoother lines
       **
       **DO not set the next three attributes if you use automatic layout
       **(the default) or in thin graphs
       **
       legendScrollbarPresence: when the legend has a scrollbar
       legendSeriesCount: number of series to show in legend
       legendSeriesStart: first series to show in legend
       lineDataLineDisplayed: whether line graph shows lines
       markerDisplayed: whether line graph shows markers
       markerShapeInLegend: whether the marker in the legend matches shape in
            plot area, in line graph
       maxBarWidth: max width of bars in bar graph, in virtual coordinates
            See Help system for more info on virtual coordinates
       **
       **textFittingAutomatic must be true and fontSizeAbsolute must be false
       **for next two attributes to take effect
       **
       maxTickLabelAutoFontSize: max size of tick labels when size is automatic
       minTickLabelAutoFontSize: min size of tick labels when size is automatic
       mouseActions:??
       mouseMovingEnabled: set to true only if autolayout is AL_NEVER
       fontSizeAbsolute: whether font sizes are absolute or virtual coordinates
       pagingControlPosition: where paging control appears, in relation to titles
       paretoBarsConnected: whether bars in a pareto graph touch each otehr
       pieBarSeries: slice in a pie graph that has the detail bar
       pieRotation: counterclockwise rotation of pies or rings
       pieTilt: how far back pies/rings appear to tilt
       scatterDataLineDisplayed: whether lines appear in a scatter graph
       seriesObjectCount: how many series have separate properties (such as color)
            before repeating
       scrollbarPresenceGroups: when to display a group scrollbar
       scrollbarPresenceSeries: when to display a series scrollbar
       startGroup: first group to display
       startColumn: deprecated
       startSeries: first series to display
       startRow: deprecated
       swapAllowed: whether users can swap dimensions
       textAntialiasing: smoother text
       toolTipDelay: number of seconds to wait before displaying tooltips
       zoomDirection: axis or axes that can be zoomed
       name: name of this object in the Catalog
       localName: local name in Catalog
       description: description in Catalog
       drillingEnabled: whether drilling is enabled
       pagingControlVisible: whether users can change data pages
       **
       **Next two attributes for thin graph only
       **
       htmlPagingControlAutosubmit: whether changes in paging control are
            automatically submitted
       htmlPagingControlWidth: width of paging control in thin graph
       pageLayerMetadataLabelType: type of label for dimensions in paging control
       columnLayerMetadataLabelType: type of label for dimensions as column labels
       rowLayerMetadataLabelType: type of label for dimensions as row labels
       pageMemberMetadataLabelType: type of label for dimension members in paging
            control
       columnMemberMetadataLabelType: type of label for dimension members as
            column labels
       rowMemberMetadataLabelType: type of label for dimension members as
            row labels
       fitToContainer: whether the graph changes size when container size changes
       frameSizeAutomatic: whether the plot area and pie frame change when the
            graph type changes
       stylePath: file name for the XML that specifies style properties
       -->
       
    
    
    <!
                                    
    ATTLIST Graph
       version CDATA #REQUIRED
       autoLayout (AL_NEVER | AL_AS_NEEDED | AL_ALWAYS) #IMPLIED
       automaticComponentPlacement (ACP_NEVER | ACP_ALWAYS) #IMPLIED
       graphType (AREA_HORIZ_ABS | AREA_HORIZ_ABS_SPLIT2Y | AREA_HORIZ_PERCENT |
               AREA_HORIZ_STACK | AREA_HORIZ_STACK_SPLIT2Y | AREA_VERT_ABS |
               AREA_VERT_ABS_SPLIT2Y | AREA_VERT_PERCENT | AREA_VERT_STACK |
               AREA_VERT_STACK_SPLIT2Y |
               BAR_HORIZ_CLUST | BAR_HORIZ_CLUST_2Y | BAR_HORIZ_CLUST_SPLIT2Y |
               BAR_HORIZ_PERCENT | BAR_HORIZ_STACK | BAR_HORIZ_STACK_2Y |
               BAR_HORIZ_STACK_SPLIT2Y | BAR_VERT_CLUST | BAR_VERT_CLUST_SPLIT2Y |
               BAR_VERT_CLUST2Y | BAR_VERT_PERCENT | BAR_VERT_STACK |
               BAR_VERT_STACK_SPLIT2Y | BAR_VERT_STACK2Y |
               BUBBLE | BUBBLE_2Y | BUBBLE_LABELS | BUBBLE_LABELS_2Y |
               HIST_HORIZ | HIST_VERT |
               LINE_HORIZ_ABS | LINE_HORIZ_ABS_2Y | LINE_HORIZ_ABS_SPLIT2Y |
               LINE_HORIZ_PERCENT | LINE_HORIZ_STACK | LINE_HORIZ_STACK_2Y |
               LINE_HORIZ_STACK_SPLIT2Y | LINE_VERT_ABS | LINE_VERT_ABS_2Y|
               LINE_VERT_ABS_SPLIT2Y | LINE_VERT_PERCENT | LINE_VERT_STACK |
               LINE_VERT_STACK_2Y | LINE_VERT_STACK_SPLIT2Y |
               PARETO |
               PIE | PIE_BAR | PIE_MULTI | PIE_MULTI_PROP |
               POLAR | POLAR_2Y |
               RADAR_AREA | RADAR_LINE | RADAR_LINE_2Y |
               RING | RING_BAR | RING_MULTI | RING_MULTI_PROP |
               SCATTER | SCATTER_2Y |
               SCATTER_LABELS | SCATTER_LABELS_2Y |
               SPECTRAL | STOCK_2Y | STOCK_CANDLE | STOCK_CANDLE_VOLUME |
               STOCK_HILO | STOCK_HILO_2Y | STOCK_HILO_CLOSE |
               STOCK_HILO_CLOSE2Y | STOCK_HILO_CLOSE_SPLIT2Y |
               STOCK_HILO_CLOSE_VOLUME | STOCK_HILO_SPLIT2Y | STOCK_HILO_VOLUME |
               STOCK_OPEN_HILO_CLOSE | STOCK_OHLC_CANDLE | STOCK_OHLC_CANDLE_VOLUME |
               STOCK_SPLIT_2Y | STOCK_VOLUME |
               THREED_AREA_GROUP | THREED_AREA_SERIES | THREED_BAR | THREED_CUBE |
               THREED_DIAMOND | THREED_OCTAGON | THREED_PYRAMID | THREED_RIBBON_GROUP |
               THREED_RIBBON_SERIES | THREED_START | THREED_SURFACE |
               THREED_SURFACE_HONEYCOMB | THREED_SURFACE_SIDES | THREED_END ) #IMPLIED
       enabled (true | false) #IMPLIED
       colorMode (COLOR_BY_SERIES | COLOR_BY_GROUP) #IMPLIED
       depthAngle CDATA #IMPLIED
       depthRadius CDATA #IMPLIED
       pieDepth CDATA #IMPLIED
       seriesTooltipLabelType (TLT_NONE | TLT_MEMBER | TLT_DIM_MEMBER) #IMPLIED
       groupTooltipLabelType (TLT_NONE | TLT_MEMBER | TLT_DIM_MEMBER) #IMPLIED
       markerTooltipType (MTT_NONE | MTT_VALUES | MTT_CUM_VAL | MTT_PERCENT_VAL |
               MTT_TEXT | MTT_PERCENT_VAL_VALUES | MTT_PERCENT_VAL_TEXT |
               MTT_PERCENT_VAL_VALUES_TEXT | MTT_VALUES_TEXT) #IMPLIED
       dataDirectorType (DDT_CUBE | DDT_RELATIONAL) #IMPLIED
       dataErrorFontBold (true | false) #IMPLIED
       dataErrorFontItalic (true | false) #IMPLIED
       dataErrorFontSize CDATA #IMPLIED
       dataErrorFontTypeface CDATA #IMPLIED
       dataRowShownAsASeries (true | false) #IMPLIED
       displayGroups CDATA #IMPLIED
       displayGroupsLimit CDATA #IMPLIED
       displaySeries CDATA #IMPLIED
       displaySeriesLimit CDATA #IMPLIED
       graphicAntialiasing (true | false) #IMPLIED
       legendScrollbarPresence (SP_NEVER | SP_AS_NEEDED | SP_ALWAYS) #IMPLIED
       legendSeriesCount CDATA #IMPLIED
       legendSeriesStart CDATA #IMPLIED
       lineDataLineDisplayed (true | false) #IMPLIED
       markerDisplayed (true | false) #IMPLIED
       markerShapeInLegend (true | false) #IMPLIED
       maxBarWidth CDATA #IMPLIED
       maxTickLabelAutoFontSize CDATA #IMPLIED
       minTickLabelAutoFontSize CDATA #IMPLIED
       mouseActions (MA_NONE |MA_SELECT |MA_SCROLL_ZOOM) #IMPLIED
       mouseMovingEnabled (true | false) #IMPLIED
       fontSizeAbsolute (true | false) #IMPLIED
       pagingControlPosition (PAGING_CONTROL_ABOVE_TITLES |
                    PAGING_CONTROL_BELOW_TITLES) #IMPLIED
       paretoBarsConnected (true | false) #IMPLIED
       pieBarSeries CDATA #IMPLIED
       pieRotation CDATA #IMPLIED
       pieTilt CDATA #IMPLIED
       scatterDataLineDisplayed (true | false) #IMPLIED
       seriesObjectCount CDATA #IMPLIED
       scrollbarPresenceGroups (SP_NEVER | SP_AS_NEEDED | SP_ALWAYS) #IMPLIED
       scrollbarPresenceSeries (SP_NEVER | SP_AS_NEEDED | SP_ALWAYS) #IMPLIED
       startGroup CDATA #IMPLIED
       startColumn CDATA #IMPLIED
       startSeries CDATA #IMPLIED
       startRow CDATA #IMPLIED
       swapAllowed (true | false) #IMPLIED
       textAntialiasing (true | false) #IMPLIED
       toolTipDelay CDATA #IMPLIED
       zoomDirection (ZD_BOTH_AXES | ZD_XAXIS_ONLY | ZD_YAXIS_ONLY) #IMPLIED
       name CDATA #IMPLIED
       localName CDATA #IMPLIED
       description CDATA #IMPLIED
       drillingEnabled (true | false) #IMPLIED
       pagingControlVisible (true | false) #IMPLIED
       htmlPagingControlAutosubmit (true | false) #IMPLIED
       htmlPagingControlWidth CDATA #IMPLIED
       pageLayerMetadataLabelType (LAYER_METADATA_LONGLABEL |
                       LAYER_METADATA_MEDIUMLABEL |
                       LAYER_METADATA_SHORTLABEL) #IMPLIED
       columnLayerMetadataLabelType (LAYER_METADATA_LONGLABEL |
                       LAYER_METADATA_MEDIUMLABEL |
                       LAYER_METADATA_SHORTLABEL) #IMPLIED
       rowLayerMetadataLabelType (LAYER_METADATA_LONGLABEL |
                       LAYER_METADATA_MEDIUMLABEL |
                       LAYER_METADATA_SHORTLABEL) #IMPLIED
       pageMemberMetadataLabelType (METADATA_LONGLABEL |
                       METADATA_MEDIUMLABEL |
                       METADATA_SHORTLABEL) #IMPLIED
       columnMemberMetadataLabelType (METADATA_LONGLABEL |
                       METADATA_MEDIUMLABEL |
                       METADATA_SHORTLABEL) #IMPLIED
       rowMemberMetadataLabelType (METADATA_LONGLABEL |
                       METADATA_MEDIUMLABEL |
                       METADATA_SHORTLABEL) #IMPLIED
       fitToContainer (true | false) #IMPLIED
       frameSizeAutomatic (true | false) #IMPLIED
       stylePath CDATA #IMPLIED >
    
                                

    <!-- Elements that pertain to the whole graph -->

    <!-- Default size of the graph image -->

    <! ELEMENT DefaultImageSize EMPTY >

    <! ATTLIST DefaultImageSize width CDATA #IMPLIED height CDATA #IMPLIED >

    <!-- Size of graph image -->

    <! ELEMENT ImageSize EMPTY >

    <! ATTLIST ImageSize width CDATA #IMPLIED height CDATA #IMPLIED >

    <!-- Place for paging component -->

    <! ELEMENT PageHeader ( PagingComponent)? >

    <! ATTLIST PageHeader
    enabled (true | false) #IMPLIED >

    <! ELEMENT PagingComponent ( ViewStyle)? >

    <!-- Text elements -->

    <!-- The following attributes are common to all text elements text: text to display -->

    <!-- Title elements -->

    <!-- see also DataviewTitle s, imported later -->

    <!-- The following attributes are common to all titles within a graph, including axis titles visible: whether to display the component or not fontSizeAbsolute: whether font sizes are absolute or proportional to graph horizontalAlignment: horizontal alignment textRotation: rotation of text; horizontal, reading up, reading down
    The following attributes are common to all titles except axis titles verticalAlignment: vertical alignment -->

    <!-- Graph definition of the title; appears in graph image -->

    <! ELEMENT Title ( GraphFont?, Rect?) >

    
    
    <!
    
    ATTLIST Title
       text CDATA #IMPLIED
       visible (true | false) #IMPLIED
       fontSizeAbsolute (true | false) #IMPLIED
       horizontalAlignment (LEFT | CENTER | RIGHT) #IMPLIED
       verticalAlignment (TOP | CENTER | BOTTOM) #IMPLIED
       textRotation (TR_HORIZ | TR_HORIZ_ROTATE_90 | TR_HORIZ_ROTATE_270 ) #IMPLIED    >
    
                                

    <!-- Graph definition of the subtitle; appears in graph image -->

    <! ELEMENT Subtitle ( GraphFont?, Rect?) >

    
    
    <!
    
    ATTLIST Subtitle
       text CDATA #IMPLIED
       visible (true | false) #IMPLIED
       fontSizeAbsolute (true | false) #IMPLIED
       horizontalAlignment (LEFT | CENTER | RIGHT) #IMPLIED
       verticalAlignment (TOP | CENTER | BOTTOM) #IMPLIED
       textRotation (TR_HORIZ | TR_HORIZ_ROTATE_90 | TR_HORIZ_ROTATE_270 ) #IMPLIED    >
    
                                

    <!-- Graph definition of the footnote -->

    <! ELEMENT Footnote ( GraphFont?, Rect?) >

    
    
    <!
    
    ATTLIST Footnote
       text CDATA #IMPLIED
       visible (true | false) #IMPLIED
       fontSizeAbsolute (true | false) #IMPLIED
       horizontalAlignment (LEFT | CENTER | RIGHT) #IMPLIED
       verticalAlignment (TOP | CENTER | BOTTOM) #IMPLIED
       textRotation (TR_HORIZ | TR_HORIZ_ROTATE_90 | TR_HORIZ_ROTATE_270 ) #IMPLIED    >
    
                                

    <!-- Axis title elements -->

    <!-- The following attributes are common to all axis titles: wordWrapEnabled: whether words can wrap within the title -->

    <!-- Title for the ordinal axis (O1Axis) -->

    <! ELEMENT O1Title ( GraphFont?) >

    
    
    <!
    
    ATTLIST O1Title
       text CDATA #IMPLIED
       visible (true | false) #IMPLIED
       fontSizeAbsolute (true | false) #IMPLIED
       horizontalAlignment (LEFT | CENTER | RIGHT) #IMPLIED
       textRotation (TR_HORIZ | TR_HORIZ_ROTATE_90 | TR_HORIZ_ROTATE_270) #IMPLIED
       wordWrapEnabled (true | false) #IMPLIED >
    

    <!-- Title for the X data axis (on scatters and bubbles) -->

    <! ELEMENT X1Title ( GraphFont?) >

    
    
    <!
    
    ATTLIST X1Title
       text CDATA #IMPLIED
       visible (true | false) #IMPLIED
       fontSizeAbsolute (true | false) #IMPLIED
       horizontalAlignment (LEFT | CENTER | RIGHT) #IMPLIED
       textRotation (TR_HORIZ | TR_HORIZ_ROTATE_90 | TR_HORIZ_ROTATE_270) #IMPLIED
       wordWrapEnabled (true|false) #IMPLIED>
    

    <!-- Title for the Y1-axis (left side); reads up -->

    <! ELEMENT Y1Title ( GraphFont?) >

    
    
    <!
    
    ATTLIST Y1Title
       text CDATA #IMPLIED
       visible (true|false) #IMPLIED
       fontSizeAbsolute (true | false) #IMPLIED
       horizontalAlignment (LEFT |CENTER|RIGHT) #IMPLIED
       textRotation (TR_HORIZ | TR_HORIZ_ROTATE_90 | TR_HORIZ_ROTATE_270) #IMPLIED
       wordWrapEnabled (true | false) #IMPLIED >
    
                                

    <!-- Title for the Y2-axis (right side); reads down -->

    <! ELEMENT Y2Title ( GraphFont?) >

    
    
    <!
    
    ATTLIST Y2Title
       text CDATA #IMPLIED
       visible (true|false) #IMPLIED
       fontSizeAbsolute (true | false) #IMPLIED
       horizontalAlignment (LEFT | CENTER | RIGHT) #IMPLIED
       textRotation (TR_HORIZ | TR_HORIZ_ROTATE_90 | TR_HORIZ_ROTATE_270) #IMPLIED
       wordWrapEnabled (true | false) #IMPLIED >
    
                                

    <!-- Title for the series edge (left edge of the floor) in a 3-D graph -->

    <! ELEMENT ZTitle ( GraphFont?) >

    
    
    <!
    
    ATTLIST ZTitle
       text CDATA #IMPLIED
       visible (true | false) #IMPLIED
       fontSizeAbsolute (true | false) #IMPLIED
       horizontalAlignment (LEFT | CENTER | RIGHT) #IMPLIED
       textRotation (TR_HORIZ | TR_HORIZ_ROTATE_90 | TR_HORIZ_ROTATE_270) #IMPLIED
       wordWrapEnabled (true | false) #IMPLIED >
    
                                

    <!-- Tick label elements -->

    <!-- The following attributes are common to all tick labels: textFittingAutomatic: whether text size changes when graph size changes horizontalAlignment: horizontal alignment textRotation: rotation of text; horizontal, reading up, reading down wordWrapEnabled: whether words can wrap within the title

    The following attributes are common to tick labels except the ZTickLabel: fontSizeAbsolute: whether font sizes are absolute or proportional to graph tickLabelStaggered: whether labels stagger to prevent overlapping -->

    <!-- Labels along the O1Axis; usually along bottom edge of plot area Automatic layout automatically arranges these labels for best reading, so you normally do not need to set these attributes -->

    <! ELEMENT O1TickLabel ( GraphFont?) >

    
    
    <!-- O1TickLabel attributes:
       tickLabelSkipMode: whether the graph manages skipping or not; best
            choice for autolayout is TLS_AUTOMATIC
       **Next two attributes effective only when tickLabelSkipMode is
       **TLS_MANUAL**
       tickLabelSkipCount: number of labels to skip between displayed labels
       tickLabelSkipFirst: first label to skip; must be <= skip count
       tickLabelWrapped: deprecated, replaced by wordWrapEnabled
       automaticRotation: how labels should be rotated when rotation is automatic
       -->
       <!
    
    ATTLIST O1TickLabel
       tickLabelSkipMode (TLS_NOSKIP | TLS_AUTOMATIC | TLS_MANUAL) #IMPLIED
       tickLabelSkipCount CDATA #IMPLIED
       tickLabelSkipFirst CDATA #IMPLIED
       textFittingAutomatic (true|false) #IMPLIED
       fontSizeAbsolute (true | false) #IMPLIED
       horizontalAlignment (LEFT | CENTER | RIGHT) #IMPLIED
       textRotation (TR_HORIZ | TR_HORIZ_ROTATE_90 | TR_HORIZ_ROTATE_270) #IMPLIED
       tickLabelStaggered (true|false) #IMPLIED
       tickLabelWrapped (true|false) #IMPLIED
       wordWrapEnabled (true|false) #IMPLIED
       automaticRotation (AR_NO_ROTATE | AR_HORIZ_ROTATE_90 |
                    AR_HORIZ_ROTATE_270) #IMPLIED>
    
                              

    <!-- Labels for the X1Axis; these are numeric, across the bottom of bubble and scatter graphs -->

    <! ELEMENT X1TickLabel ( GraphFont?) >

    
    
    <!
    
    ATTLIST X1TickLabel
       textFittingAutomatic (true|false) #IMPLIED
       fontSizeAbsolute (true | false) #IMPLIED
       horizontalAlignment (LEFT | CENTER | RIGHT) #IMPLIED
       textRotation (TR_HORIZ | TR_HORIZ_ROTATE_90 | TR_HORIZ_ROTATE_270) #IMPLIED
       tickLabelStaggered (true|false) #IMPLIED >
    
                                

    <!-- Labels for Y1Axis; these are numeric, along the left edge -->

    <! ELEMENT Y1TickLabel ( GraphFont?) >

    
    
    <!
    
    ATTLIST Y1TickLabel
       textFittingAutomatic (true|false) #IMPLIED
       fontSizeAbsolute (true | false) #IMPLIED
       horizontalAlignment (LEFT | CENTER | RIGHT) #IMPLIED
       textRotation (TR_HORIZ | TR_HORIZ_ROTATE_90 | TR_HORIZ_ROTATE_270) #IMPLIED
       tickLabelStaggered (true|false) #IMPLIED >
    
                               

    <!-- Labels for Y2Axis; these are numeric, along the right edge -->

    <! ELEMENT Y2TickLabel ( GraphFont?) >

    
    
    <!
    
    ATTLIST Y2TickLabel
       textFittingAutomatic (true | false) #IMPLIED
       fontSizeAbsolute (true | false) #IMPLIED
       horizontalAlignment (LEFT | CENTER | RIGHT) #IMPLIED
       textRotation (TR_HORIZ | TR_HORIZ_ROTATE_90 | TR_HORIZ_ROTATE_270) #IMPLIED
       tickLabelStaggered (true | false) #IMPLIED >
    

    <!-- Labels for Z edge in a 3-D graph; along the left edge of the floor -->

    <! ELEMENT ZTickLabel ( GraphFont?) >

    
    
    <!-- ZTickLabel attributes:
       tickLabelSkipMode: whether the graph manages skipping or not; best
                    choice for autolayout is TLS_AUTOMATIC
       **Next two attributes effective only when tickLabelSkipMode is
       **TLS_MANUAL**
       tickLabelSkipCount: number of labels to skip between displayed labels
       tickLabelSkipFirst: first label to skip; must be <= skip count
       -->
       <!
    
    ATTLIST ZTickLabel
       tickLabelSkipMode (TLS_NOSKIP | TLS_AUTOMATIC | TLS_MANUAL) #IMPLIED
       tickLabelSkipCount CDATA #IMPLIED
       tickLabelSkipFirst CDATA #IMPLIED
       fontSizeAbsolute (true | false) #IMPLIED
       horizontalAlignment (LEFT | CENTER | RIGHT ) #IMPLIED
       textRotation (TR_HORIZ | TR_HORIZ_ROTATE_90 | TR_HORIZ_ROTATE_270) #IMPLIED    >
    

    <!-- Marker label and related elements -->

    <!-- The following attribute is common to all marker labels: fontSizeAbsolute: whether font sizes are absolute or proportional to graph -->

    <!-- Text for bars, lines, area markers, and so on; not visible by default ViewFormats also affect tooltip text -->

    <! ELEMENT MarkerText

    
    
    <!-- MarkerText attributes:
       markerTextPlace: where, in relation to the marker, the marker text appears;
               outside max is above bar
               on max edge is sitting on the bar
               inside max is on the bar, near the top
               inside min is on the bar, near the bottom
               center is centered on the bar
               custom lets you set the angle and radius
       **next to attributes in effect only when markerTextPlace is MTP_CUSTOM**
       markerTextAngleDefault: angle of the text, in degrees, measured from the
               center of the marker
       markerTextRadiusDefault: distance from the center of the marker, 0 - 100
       -->
       <!
    
    ATTLIST MarkerText
       visible (true | false) #IMPLIED
       fontSizeAbsolute (true | false) #IMPLIED
       markerTextPlace (MTP_OUTSIDE_MAX | MTP_ON_MAXEDGE | MTP_INSIDE_MAX |
                    MTP_INSIDE_MIN | MTP_CENTER | MTP_CUSTOM) #IMPLIED
       markerTextAngleDefault CDATA #IMPLIED
       markerTextRadiusDefault CDATA #IMPLIED >
    

    <!-- ViewFormats for different number values that can appear in marker text and tooltip text -->

    <!-- Text for pie slices -->

    <! ELEMENT SliceLabel

    
    
       <!-- SliceLabel attributes:
       textType: information to display in the slice label
       textRotation: rotation of text; horizontal, reading up, reading down
       fontSizeAbsolute: whether font sizes are absolute or proportional to graph
       -->
       <!
    
    ATTLIST SliceLabel
       textType (LD_VALUE | LD_PERCENT | LD_TEXT | LD_TEXT_PERCENT) #IMPLIED
       textRotation (TR_HORIZ | TR_HORIZ_ROTATE_90 | TR_HORIZ_ROTATE_270) #IMPLIED
       visible (true | false) #IMPLIED
       fontSizeAbsolute (true | false) #IMPLIED >
    
                               

    <!-- Text for series items in the legend -->

    <! ELEMENT LegendText ( GraphFont?) >

    
    
    <!-- LegendText attributes:
       textFittingAutomatic: whether text size changes when graph size changes
       fontSizeAbsolute: whether font sizes are absolute or proportional to graph
       horizontalAlignment: horizontal alignment
       **next two attributes have no effect with automatic layout**
       maxAutoFontSize: maximum font size when text fitting is automatic
       minAutoFontSize: minimum font size when text fitting is automatic
       wordWrapEnabled: whether words can wrap within the title
       -->
       <!
    
    ATTLIST LegendText
       textFittingAutomatic (true | false) #IMPLIED
       fontSizeAbsolute (true | false) #IMPLIED
       horizontalAlignment (LEFT | CENTER | RIGHT) #IMPLIED
       maxAutoFontSize CDATA #IMPLIED
       minAutoFontSize CDATA #IMPLIED
       wordWrapEnabled (true | false) #IMPLIED >
    
                               

    <!-- Labels for pies in pie graph; pies are groups -->

    <! ELEMENT PieLabel ( GraphFont?) >

    
    
    <!
    
    ATTLIST PieLabel
       fontSizeAbsolute (true | false) #IMPLIED
       text CDATA #IMPLIED >
    

    <!-- Total that appears in the center of a ring in a ring graph -->

    <! ELEMENT RingTotalLabel ( GraphFont?) >

    
    
    <!
    
    ATTLIST RingTotalLabel
       fontSizeAbsolute (true | false) #IMPLIED >
    

    <!-- Graph version of a Font -->

    <! ELEMENT GraphFont EMPTY >

    
    
    <!-- GraphFont attributes:
       name: font name
       style: bold, italic, underline, and so on
       fontColor: font color; example: "#ffffff"
       bold: whether bold or not
       italic: whether italic or not
       underline: whether underlined
       -->
       <!
    
    ATTLIST GraphFont
       name CDATA #IMPLIED
       style (FS_PLAIN | FS_ITALIC | FS_BOLD | FS_ITALIC_BOLD | FS_UNDERLINE |
                       FS_ITALIC_UNDERLINE | FS_BOLD_UNDERLINE |
                       FS_BOLD_ITALIC_UNDERLINE) #IMPLIED
       size CDATA #IMPLIED
       fontColor CDATA #IMPLIED
       graphProportionalFontSize CDATA #IMPLIED
       bold (true | false) #IMPLIED
       italic (true | false) #IMPLIED
       underline (true|false) #IMPLIED >
    
                              

    <!-- Line elements: axes, tick marks, and so on -->

    
    
    <!-- The following attributes are common to all line elements:
       lineWidth: width of the line, in pixels
       lineColor: line color; example "#ffffff"
       visible: setting to false makes axis, titles, and labels disappear
       -->
                  

    <!-- Axis elements -->

    <!-- Ordinal axis on bar, line, area graphs-->

    <!

    ELEMENT O1Axis
    EMPTY >

    
    
    <!
    
    ATTLIST O1Axis
       lineWidth CDATA #IMPLIED
       lineColor CDATA #IMPLIED
       visible (true | false) #IMPLIED >
    
                                
                           
    <!-- The following attributes are common to all data axes:
       axisMinAutoScaled: whether the minimum value of the axis is set automatically
       axisMinValue: minimum axis value; setting takes effect only when
                axisMinAutoScaled is false
       axisMaxAutoScaled: whether the maximum value of the axis is set automatically
       axisMaxValue: maximum axis value; setting takes effect only when
                    axisMaxAutoScaled is false
       axisMaxLabelVisible: whether the label for the minimum value appears
       axisMinLabelVisible: whether the label for the maximum value appears
       majorTickStepAutomatic: whether tick mark values are set automatically
       majorTickStep: increment of tick marks when majorTickStepAutomatic
                    is false
       minAutoMajorTickStep: minimum automatic major tick step
       scaledLogarithmic: whether the axis uses a log scale
       logarithmicBase: base for log scale, when scaledLogarithmic is true
       axisAutoScaledFromZero: whether the axis always scales from zero or from
                    the lowest data value
       ascending: whether the lowest axis value is the top (or right) end or the
                    bottom (or left) end
       axisLocation: where the axis appears on the graph
       -->
                

    <!-- Horizontal data axis on bubble and scatter graphs; center point in polar graph -->

    <! ELEMENT X1Axis ( ViewFormat?) >

    
    
    <!
    
    ATTLIST X1Axis
       lineWidth CDATA #IMPLIED
       lineColor CDATA #IMPLIED
       axisMinAutoScaled (true | false) #IMPLIED
       axisMinValue CDATA #IMPLIED
       axisMaxAutoScaled (true | false) #IMPLIED
       axisMaxValue CDATA #IMPLIED
       axisMaxLabelVisible (true | false) #IMPLIED
       axisMinLabelVisible (true | false) #IMPLIED
       majorTickStepAutomatic (true | false) #IMPLIED
       majorTickStep CDATA #IMPLIED
       minAutoMajorTickStep CDATA #IMPLIED
       scaledLogarithmic (true | false) #IMPLIED
       logarithmicBase CDATA #IMPLIED
       axisAutoScaledFromZero (true | false) #IMPLIED
       ascending (true | false) #IMPLIED
       axisLocation (AL_LEFT | AL_RIGHT | AL_BOTH) #IMPLIED
       visible (true | false) #IMPLIED>
    
                             

    <!-- Left data axis on a vertical graph -->

    <! ELEMENT Y1Axis ( ViewFormat?) >

    
    
    <!
    
    ATTLIST Y1Axis
       lineWidth CDATA #IMPLIED
       lineColor CDATA #IMPLIED
       axisMinAutoScaled (true | false) #IMPLIED
       axisMinValue CDATA #IMPLIED
       axisMaxAutoScaled (true | false) #IMPLIED
       axisMaxValue CDATA #IMPLIED
       axisMaxLabelVisible (true | false) #IMPLIED
       axisMinLabelVisible (true | false) #IMPLIED
       majorTickStepAutomatic (true | false) #IMPLIED
       majorTickStep CDATA #IMPLIED
       minAutoMajorTickStep CDATA #IMPLIED
       scaledLogarithmic (true | false) #IMPLIED
       logarithmicBase CDATA #IMPLIED
       axisAutoScaledFromZero (true | false) #IMPLIED
       ascending (true | false) #IMPLIED
       axisLocation (AL_LEFT | AL_RIGHT | AL_BOTH) #IMPLIED
       visible (true | false) #IMPLIED >
    
                                

    <!-- Right data axis on a vertical graph -->

    <! ELEMENT Y2Axis ( ViewFormat?) >

    
    
    <!
    
    ATTLIST Y2Axis
       lineWidth CDATA #IMPLIED
       lineColor CDATA #IMPLIED
       axisMinAutoScaled (true | false) #IMPLIED
       axisMinValue CDATA #IMPLIED
       axisMaxAutoScaled (true | false) #IMPLIED
       axisMaxValue CDATA #IMPLIED
       axisMaxLabelVisible (true | false) #IMPLIED
       axisMinLabelVisible (true | false) #IMPLIED
       majorTickStepAutomatic (true | false) #IMPLIED
       majorTickStep CDATA #IMPLIED
       minAutoMajorTickStep CDATA #IMPLIED
       paretoMajorTickStep CDATA #IMPLIED
       scaledLogarithmic (true | false) #IMPLIED
       logarithmicBase CDATA #IMPLIED
       axisAutoScaledFromZero (true | false) #IMPLIED
       ascending (true | false) #IMPLIED
       axisLocation (AL_LEFT | AL_RIGHT | AL_BOTH) #IMPLIED
       visible (true | false) #IMPLIED >
    
                               

    <!-- Tick mark elements -->

    
    
    <!-- The following attribute is common to tick marks on graphs
       other than pie and 3-D graphs:
       tickStyle: how line appears for each tick mark
       -->
                               

    <!-- Tick marks along O1Axis; graphs except pies, scatter, bubbles -->

    <! ELEMENT O1MajorTick
    EMPTY >

    
    
    <!-- Attributes for O1MajorTick
       skippedWithLabels: whether the tick marks are skipped wherever the
                    labels are skipped
       -->
       <!
    
    ATTLIST O1MajorTick
       visible (true | false) #IMPLIED
       skippedWithLabels (true | false) #IMPLIED
       lineWidth CDATA #IMPLIED
       lineColor CDATA #IMPLIED
       tickStyle (GS_GRID | GS_EXTENDED | GS_IN | GS_OUT |GS_SPAN) #IMPLIED >
    
                              

    <!-- Tick marks along X1Axis; bubbles, scatters, and polar -->

    <! ELEMENT X1MajorTick
    EMPTY >

    
    
    <!
    
    ATTLIST X1MajorTick
       visible (true | false) #IMPLIED
       lineWidth CDATA #IMPLIED
       lineColor CDATA #IMPLIED
       tickStyle (GS_GRID | GS_EXTENDED | GS_IN | GS_OUT |GS_SPAN) #IMPLIED >
    
                              

    <!-- Tick marks along Y1Axis -->

    <! ELEMENT Y1MajorTick
    EMPTY >

    
    
    <!
    
    ATTLIST Y1MajorTick
       visible (true | false) #IMPLIED
       lineWidth CDATA #IMPLIED
       lineColor CDATA #IMPLIED
       tickStyle (GS_GRID | GS_EXTENDED | GS_IN | GS_OUT |GS_SPAN) #IMPLIED >
    

    <!-- Tick marks along Y2Axis -->

    <! ELEMENT Y2MajorTick
    EMPTY >

    
    
    <!
    
    ATTLIST Y2MajorTick
       visible (true | false) #IMPLIED
       lineWidth CDATA #IMPLIED
       lineColor CDATA #IMPLIED
       tickStyle (GS_GRID | GS_EXTENDED | GS_IN | GS_OUT |GS_SPAN) #IMPLIED >
    
                            

    <!-- Panel grids are the gridlines in 3-D graphs -->

    <!-- Lines from left side of floor up the right wall -->

    <! ELEMENT XPanelGrid
    EMPTY >

    
    
    <!
    
    ATTLIST XPanelGrid
       color CDATA #IMPLIED
       visible (true | false) #IMPLIED >
    
                              

    <!-- Lines across the walls -->

    <! ELEMENT YPanelGrid
    EMPTY >

    
    
    <!
    
    ATTLIST YPanelGrid
       color CDATA #IMPLIED
       visible (true | false) #IMPLIED >
    
                               

    <!-- Lines from right side of floor up the left wall -->

    <! ELEMENT ZPanelGrid
    EMPTY >

    
    
    <!
    
    ATTLIST ZPanelGrid
       color CDATA #IMPLIED
       visible (true | false) #IMPLIED >
    
                                

    <!-- Y Grid carried to the 3D markers -->

    <! ELEMENT Y3DMarkerGrid
    EMPTY >

    
    
    <!
    
    ATTLIST Y3DMarkerGrid
       lineColor CDATA #IMPLIED
       lineWidth CDATA #IMPLIED >
    
                                

    <!-- Zero line elements: a line for zero -->

    <! ELEMENT Y1ZeroLine
    EMPTY >

    <!-- Zero along Y1Axis -->

    
    
       <!
    
    ATTLIST Y1ZeroLine
       lineColor CDATA #IMPLIED
       lineWidth CDATA #IMPLIED
       visible (true | false) #IMPLIED >
    
                              

    <!-- Zero along Y2Axis -->

    <! ELEMENT Y2ZeroLine
    EMPTY >

    
    
    <!
    
    ATTLIST Y2ZeroLine
       lineColor CDATA #IMPLIED
       lineWidth CDATA #IMPLIED
       visible (true | false) #IMPLIED >
    
                                
    	

    <!-- Base line elements; base lines are lines from which bars and area markers originate -->

    <!-- The following attribute is common to all base lines: value: where along the axis the base line should be-->

    <!-- Base line for Y1-axis -->

    <! ELEMENT Y1BaseLine
    EMPTY >

    
    
    <!
    
    ATTLIST Y1BaseLine
       value CDATA #IMPLIED >
    

    <!-- Base line for Y2-axis -->

    <! ELEMENT Y2BaseLine
    EMPTY >

    
    
    <!
    
    ATTLIST Y2BaseLine
       value CDATA #IMPLIED>
    

    <!-- Reference line for X1-axis: includes up to 3 actual lines -->

    <! ELEMENT X1ReferenceLine ( ReferenceLine*) >

    <!-- Reference line for Y1-axis: includes up to 3 actual lines -->

    <! ELEMENT Y1ReferenceLine ( ReferenceLine*) >

    <!-- Reference line for Y2-axis: includes up to 3 actual lines -->

    <! ELEMENT Y2ReferenceLine ( ReferenceLine*) >

    <!-- Represents the actual line in ReferenceLine element -->

    <! ELEMENT ReferenceLine EMPTY >

    
    
    <!-- ReferenceLine attributes:
       index: which line in this axis; 0, 1, or 2
       text: description of reference line
       value: where along the axis the line should appear
       displayedInLegend: whether a key to the line appears in the legend
       -->
       <!
    
    ATTLIST ReferenceLine
       index CDATA #REQUIRED
       visible (true | false) #IMPLIED
       lineWidth CDATA #IMPLIED
       text CDATA #IMPLIED
       value CDATA #IMPLIED
       displayedInLegend (true | false) #IMPLIED
       lineColor CDATA #IMPLIED>
    
    

    <!-- Miscellaneous line elements -->

    <!-- Line that shows cumulative percentage in a pareto graph -->

    <! ELEMENT ParetoLine
    EMPTY >

    
    
    <!-- attributes for pareto line:
       markerShape: shape of markers along the line
       -->
       <!
    
    ATTLIST ParetoLine
       color CDATA #IMPLIED
       width CDATA #IMPLIED
       markerShape (MS_NONE | MS_SQUARE | MS_CIRCLE | MS_DIAMOND | MS_PLUS |
       MS_TRIANGLE_DOWN | MS_TRIANGLE_UP) #IMPLIED >
    
                                

    <!-- Big blue lines across bubble graphs; this element controls lines across both axes -->

    <! ELEMENT QuadrantLine

    
    
    <!-- QuadrantLine attributes:
       quadrantLineCountX: number of lines along X-axis (vertical lines)
       quadrantLineCountY: number of lines along Y1-axis (horizontal lines)
       -->
       <!
    
    ATTLIST QuadrantLine
       lineColor CDATA #IMPLIED
       lineWidth CDATA #IMPLIED
       quadrantLineCountX CDATA #IMPLIED
       quadrantLineCountY CDATA #IMPLIED
       visible (true | false) #IMPLIED >
    
                                

    <!-- specifies X line values -->

    <! ELEMENT QuadrantLineValueX EMPTY >

    
    
    <!-- X line value attributes:
       lineIndex: which X-axis line to specify; 0 is first
       position: value along X-axis for the line to appear
       -->
       <!
    
    ATTLIST QuadrantLineValueX
       lineIndex CDATA #REQUIRED
       position CDATA #REQUIRED >
    
                             

    <!-- specifies Y line values -->

    <! ELEMENT QuadrantLineValueY EMPTY >

    
    
    <!--Y line value attributes:
       lineIndex: which Y-axis line to specify; 0 is first
       position: value along Y-axis for the line to appear
       -->
       <!
    
    ATTLIST QuadrantLineValueY
       lineIndex CDATA #REQUIRED
       position CDATA #REQUIRED >
    

    <!-- Region elements (plot area, legend, etc.) -->

    
    
    <!-- The following attributes are common to all region elements:
       fillColor: color of the region; example: "#ffffff"
       borderColor: color of the border; example: "#000000"
       borderTransparent: whether the border is transparent
       fillTransparent: whether the region is transparent
       -->
                              
    

    <!-- Region where data is plotted in graphs other than pie and 3-D -->

    <! ELEMENT PlotArea

    
    
    <!
    
    ATTLIST PlotArea
       fillColor CDATA #IMPLIED
       borderColor CDATA #IMPLIED
       borderTransparent (true | false) #IMPLIED
       fillTransparent (true | false) #IMPLIED >
    
                                

    <!-- Region where data is plotted in pie and ring graphs -->

    <! ELEMENT PieFrame

    
    
    <!
    
    ATTLIST PieFrame
       fillColor CDATA #IMPLIED
       borderColor CDATA #IMPLIED
       borderTransparent (true | false) #IMPLIED
       fillTransparent (true | false) #IMPLIED >
    
    

    <! ELEMENT Background ( SFX?) >

    
    
    <!-- Background attributes
       backGround: same as fillColor
       -->
       <!
    
    ATTLIST Background
       fillColor CDATA #IMPLIED
       fillTransparent (true | false) #IMPLIED
       backGround CDATA #IMPLIED >
    

    <!-- Three-dimensional graph plotting region elements -->

    <!-- The following property is common to all ThreeD region elements: sharePanelProperties: whether the three panels are treated as one unit or as three different pieces -->

    <!-- Floor of region where data is plotted in 3-D graphs -->

    <! ELEMENT ThreeDFloor ( SFX?) >

    
    
    <!
    
    ATTLIST ThreeDFloor
       borderColor CDATA #IMPLIED
       borderTransparent (true | false) #IMPLIED
       fillColor CDATA #IMPLIED
       fillTransparent (true | false) #IMPLIED
       sharePanelProperties (true | false) #IMPLIED >
    
                                

    <!-- Left wall of region where data is plotted in 3-D graphs -->

    <! ELEMENT ThreeDLeftWall ( SFX?) >

    
    
    <!
    
    ATTLIST ThreeDLeftWall
       borderColor CDATA #IMPLIED
       borderTransparent (true | false) #IMPLIED
       fillColor CDATA #IMPLIED
       fillTransparent (true | false) #IMPLIED
       sharePanelProperties (true | false) #IMPLIED >
    
                               

    <!-- Right wall of region where data is plotted in 3-D graphs -->

    <! ELEMENT ThreeDRightWall ( SFX?) >

    
    
    <!
    
    ATTLIST ThreeDRightWall
       borderColor CDATA #IMPLIED
       borderTransparent (true | false) #IMPLIED
       fillColor CDATA #IMPLIED
       fillTransparent (true | false) #IMPLIED
       sharePanelProperties (true | false) #IMPLIED >
    
                   

    <!-- Graph legend: does not appear on 3-D graphs except 3-D surface -->

    <! ELEMENT LegendArea

    
    
    <!-- Legend area attributes:
       alongGraphEdge: whether the legend area abuts the edge of the graph
       automaticPlacement: whether the automatic layout automatically places
               the legend or respects its position
       position: where the legend appears in the graph
       threeDSurfacePosition: where the legend appears in a 3-D surface graph
       **set the next two attributes ONLY if you do not use automatic layout**
       markersPerRowAutomatic: whether the graph calculates the number
            of markers in each row in the legend
       legendMarkersPerRow: number of legend markers in each row of markers;
            markersPerRowAutomatic must be true
       legendTextPosition: location of series descriptions relative to legend
                    markers
       legendOrientation: vertical, horizontal, or whatever's appropriate based
       on position; automatic layout ignores this attribute
       -->
       <!
    
    ATTLIST LegendArea
       visible (true | false) #IMPLIED
       alongGraphEdge (true | false) #IMPLIED
       automaticPlacement (AP_NEVER | AP_ALWAYS) #IMPLIED
       position (LAP_TOP | LAP_BOTTOM | LAP_RIGHT | LAP_LEFT) #IMPLIED
       threeDSurfacePosition (LAP_TOP | LAP_BOTTOM | LAP_RIGHT | LAP_LEFT) #IMPLIED
       borderColor CDATA #IMPLIED
       fillColor CDATA #IMPLIED
       borderTransparent (true | false) #IMPLIED
       fillTransparent (true | false) #IMPLIED
       markersPerRowAutomatic (true | false) #IMPLIED
       legendMarkersPerRow CDATA #IMPLIED
       legendTextPosition (LTP_ON_RIGHT | LTP_ON_LEFT | LTP_BELOW | LTP_ABOVE |
                       LTP_ON_MARKER) #IMPLIED
       legendOrientation (LO_AUTOMATIC | LO_HORIZONTAL | LO_VERTICAL) #IMPLIED >
    
                                

    <!-- For specifying size of legend in a 3-D surface graph -->?

    <! ELEMENT ThreeDSurfaceRect ( Rect)>

    <!-- Defines a region -->

    <! ELEMENT Rect EMPTY >

    
    
    <!-- Rect attributes:
       height: height in virtual coordinates
       width: width in virtual coordinates
       x: horizontal position of upper-left corner, in virtual coordinates
       y: vertical position of upper-left corner, in virtual coordinates
                                
                               
    virtual-coordinate system: -16000 to +16000; see Help for more info
       -->
       <!
    
    ATTLIST Rect
       height CDATA #IMPLIED
       width CDATA #IMPLIED
       x CDATA #IMPLIED
       y CDATA #IMPLIED >
    
                                

    <!-- Special effect element -->

    <!

    
    
    <!-- SFX attributes:
       fillType: gradient (wash), texture (image), or no special effect, just
               color of the region
       **if fillType is gradient, set these attributes**
       gradientDirection: direction for the change in colors
       gradientNumPins: deprecated
       gradientNumStops: number of colors
       gradientReversed: way to reverse the direction
       **if filltype is texture, set these attributes**
       textureDisplayMode: how to display the image
       textureURL: where the image is stored
       -->
       <!
    
    ATTLIST SFX
       fillType (FT_COLOR | FT_GRADIENT | FT_TEXTURE) #IMPLIED
       gradientDirection (GD_RIGHT | GD_LEFT | GD_DOWN |
                       GD_UP | GD_DOWN_LEFT | GD_UP_LEFT |
                       GD_DIAGONAL_45 | GD_DIAGONAL_135 |
                       GD_DOWN_RIGHT | GD_UP_RIGHT | GD_RADIAL |
                       GD_RADIAL_TOP_LEFT | GD_RADIAL_TOP_RIGHT |
                       GD_RADIAL_BOTTOM_LEFT | GD_RADIAL_BOTTOM_RIGHT)
       #IMPLIED
       gradientNumPins CDATA #IMPLIED
       gradientNumStops CDATA #IMPLIED
       gradientReversed (true | false) #IMPLIED
       textureDisplayMode (TDM_STRETCHED | TDM_TILED) #IMPLIED
       textureURL CDATA #IMPLIED>
    
                               

    < !-- deprecated -->

    <! ELEMENT GradientPinStyle EMPTY >

    
    
    <!
    
    ATTLIST GradientPinStyle
       pinIndex CDATA #REQUIRED
       position CDATA #IMPLIED
       gradientPinLeftColor CDATA #IMPLIED
       gradientPinRightColor CDATA #IMPLIED >
    
                               

    <!-- Defines a color in a gradient; include one for each color -->

    <! ELEMENT GradientStopStyle EMPTY >

    
    
    <!-- GradientStopStyle attributes:
       stopIndex: which stop this is; 0 is first
       gradientStopPosition: where the color is at its most intense;
       0 is start of gradient, 100 at end, unless gradientReversed is true
       gradientStopColor: color for the stop
       -->
       <!
    
    ATTLIST GradientStopStyle
       stopIndex CDATA #REQUIRED
       gradientStopPosition CDATA #IMPLIED
       gradientStopColor CDATA #IMPLIED>
    
                                

    <!-- Fine tuning for 3-D panels -->

    <! ELEMENT ThreeDViewMatrix EMPTY >

    
    
    <!-- 3-D view matrix attributes:
       focusFactor: distortion of 3-D components when zooming; isometricProjection
               must be false; valid values 0.0 - 100.0; default 50
       isometricProjection: whether to remove distortions
       lightSourceX: X-coordinate light source for shading; 0.0 - 100.0; 0 default
       lightSourceY: Y-coordinate light source for shading; 0.0 - 100.0; 40 default
       lightSourceZ: Z-coordinate light source for shading; 0.0 - 100.0; 40 default
       panX: X-position of graph within frame; 0.0 - 100.0; 39.3 default
       panY: Y-position of graph within frame; 0.0 - 100.0; 60.7 default
       sizeX: X-size of graph floor; 0.0 - 100; 30.0 default
       sizeY: height of walls; 0.0 - 100; 25.0 default
       sizeZ: Z-size of graph floor; 0.0 - 100; 30.0 default
       squareRisers: whether risers are perfectly square
       translationX: X rotation of the graph; 0.0 - 100.0; 65.0 (centered) default
       translationY: Y rotation of the graph; 0.0 - 100.0; 42.5 (centered) default
       translationZ: Z rotation of the graph; 0.0 - 100.0; 42.5 (centered) default
       viewerX: X position of person viewing graph (moves graph right or left);
                    0.0 - 100.0; 50 default
       viewerY:Y position of person viewing graph (moves graph up or down);
                    0.0 - 100.0; 60 default
       viewerZ: X position of person viewing graph (moves graph in or out);
                    0.0 - 100.0; 36.8 default
       wallThickX: thickness of wall on X-axis; 0.0 - 100.0; 20 default
       wallThickY: thickness of wall on Y-axis; 0.0 - 100.0; 20 default
       wallThickZ: thickness of wall on Z-axis; 0.0 - 100.0; 20 default
       zoomFactor: zoom in or out; 0.0 - 100.0; default 50>
       -->
       <!
    
    ATTLIST ThreeDViewMatrix
       focusFactor CDATA #IMPLIED
       isometricProjection (true | false) #IMPLIED
       lightSourceX CDATA #IMPLIED
       lightSourceY CDATA #IMPLIED
       lightSourceZ CDATA #IMPLIED
       panX CDATA #IMPLIED
       panY CDATA #IMPLIED
       sizeX CDATA #IMPLIED
       sizeY CDATA #IMPLIED
       sizeZ CDATA #IMPLIED
       squareRisers (true | false) #IMPLIED
       translationX CDATA #IMPLIED
       translationY CDATA #IMPLIED
       translationZ CDATA #IMPLIED
       viewerX CDATA #IMPLIED
       viewerY CDATA #IMPLIED
       viewerZ CDATA #IMPLIED
       wallThickX CDATA #IMPLIED
       wallThickY CDATA #IMPLIED
       wallThickZ CDATA #IMPLIED
       zoomFactor CDATA #IMPLIED >
    
                               

    <!-- Marker elements -->

    <!-- Represents data on graph types other than pie and stock -->

    <! ELEMENT DataMarker
    EMPTY >

    
    
    <!-- DataMarker attributes:
       maxSize deprecated version 2.6.0.18-->
       <!
    
    ATTLIST DataMarker
       markerSize CDATA #IMPLIED >
    
                             

    <!-- Represents data on pie and ring graphs \ -->

    <! ELEMENT Slice
    EMPTY >

    
    
    <!-- Slice attribute
       labelPosition: where the label is, in relation to the slice; feeler
            is a line connecting label to slice
       -->
       <!
    
    ATTLIST Slice
       labelPosition (LP_NO_LABELS | LP_OUTSIDE_WITH_FEELER |
                    LP_OUTSIDE_WITHOUT_FEELER | LP_INSIDE) #IMPLIED >
    
                              

    <!-- Represents stock data in stock graph; may be candle or box with "arms", depending on stock graph type -->

    <! ELEMENT StockMarker
    EMPTY >

    
    
    <!-- StockMarker attributes:
       fallingColor: color of candle when stock closes lower than it opened;
                    example: "#cc0000"
       risingColor: color of candle when stock closes higher than it opened;
                    example: "#00cc00"
       -->
       <!
    
    ATTLIST StockMarker
       fallingColor CDATA #IMPLIED
       risingColor CDATA #IMPLIED >
    
                                

    <!-- Represents volume in stock graphs that show volume -->

    <! ELEMENT VolumeMarker
    EMPTY >

    
    
    <!
    
    ATTLIST VolumeMarker
       fillColor CDATA #IMPLIED>
    
                              

    <!-- Represents series in the legend (data values in 3-D surface graph) -->

    <! ELEMENT LegendMarker
    EMPTY >

    
    
    <!-- LegendMarker attributes
       maxSize: deprecated
       size: size of marker, in pixels
       -->
       <!
    
    ATTLIST LegendMarker
       maxSize CDATA #IMPLIED
       size CDATA #IMPLIED >
    
                                

    <!-- Data marker that does not share series attributes -->

    <! ELEMENT ExceptionalRisers (
    ExceptionalRiser+) >

    <!-- Create one for each special marker -->

    <! ELEMENT ExceptionalRiser ( SFX)? >

    
    
    <!-- ExceptionalRiser attributes:
       series: Series to which the marker belongs; 0 is first series
       group: Group to which the marker belongs; 0 is first group
       -->
       <!
    
    ATTLIST ExceptionalRiser
       series CDATA #REQUIRED
       group CDATA #REQUIRED
       borderColor CDATA #IMPLIED
       fillColor CDATA #IMPLIED >
    
                               

    <!-- SeriesItems: series-related attributes -->

    <! ELEMENT SeriesItems ( Series+) >

    
    
    <!-- Default series attributes (added series use these defaults):
       defaultBorderColor: border color; example "#000000"
       defaultBorderTransparent: whether the border is transparent
       borderUsingDefaults: does the border use defaults?
       defaultColor: default fill color "#ccff00"
       defaultMarkerShape: default shape of marker; useful with line, scatter,
                    radar, and polar graphs
       defaultMarkerType: default type of marker (bar, line, area)
       defaultLineWidth: default width of lines in line graph, in pixels
       defaultAssignedToY2: default assignment of series in dual-y graphs
       defaultFitlineType: default fitline type
       -->
       <!
    
    ATTLIST SeriesItems
       defaultBorderColor CDATA #IMPLIED
       defaultBorderTransparent (true | false) #IMPLIED
       borderUsingDefaults (true | false) #IMPLIED
       defaultColor CDATA #IMPLIED
       defaultMarkerShape (MS_NONE | MS_SQUARE | MS_CIRCLE | MS_DIAMOND | MS_PLUS |
                    MS_TRIANGLE_DOWN | MS_TRIANGLE_UP | MS_AUTOMATIC) #IMPLIED
       defaultMarkerType (MT_AREA | MT_BAR | MT_MARKER | MT_DEFAULT) #IMPLIED
       defaultLineWidth CDATA #IMPLIED
       defaultAssignedToY2 (DY2_TRUE | DY2_FALSE | DY2_AUTO_ASSIGN) #IMPLIED
       defaultFitlineType (FT_EXPONENTIAL | FT_LOGARITHMIC | FT_LINEAR |
                    FT_NONE) #IMPLIED >
    
                               

    <!-- Represents a single series -->

    <! ELEMENT Series ( SFX?) >

    
    
    <!-- Series attributes:
       id: which series this is; 0 is first
       markerType: type of marker; useful only in combination graphs
       markerShape: shape of marker; useful with line, scatter,
                    radar, and polar graphs
       lineWidth: width of lines, in pixels
       assignedToY2: whether this series is assigned to Y2 axis, in dual-y graphs
       color: color of markers in this series; example: "#ffcc00"
       borderColor: border color of markers in this series; example: "#000000"
       borderTransparent: whether the border is transparent
       fitlineType: type of fitline
       pieSliceExplode: in pie graph, whether this slice is separated from others
                    in each pie
       transparent: whether markers in this series are transparent
       -->
       <!
    
    ATTLIST Series
       id CDATA #REQUIRED
       markerType (MT_DEFAULT | MT_BAR | MT_MARKER | MT_AREA) #IMPLIED
       markerShape (MS_NONE | MS_SQUARE | MS_CIRCLE | MS_DIAMOND | MS_PLUS |
                    MS_TRIANGLE_DOWN | MS_TRIANGLE_UP) #IMPLIED
       lineWidth CDATA #IMPLIED
       assignedToY2 (true | false) #IMPLIED
       color CDATA #IMPLIED
       borderColor CDATA #IMPLIED
       borderTransparent (true | false) #IMPLIED
       fitlineType (FT_NONE | FT_LINEAR | FT_LOGARITHMIC | FT_EXPONENTIAL) #IMPLIED
       pieSliceExplode CDATA #IMPLIED
       transparent (true | false) #IMPLIED >
    
                                

    <!-- Data-related elements -->

    
    
    <!-- DataFilter
                                   
     specifies what measure indexes to use for the graph type.
       Attribute totalMeasures indicate the total measures in the DataSource. Attributes
       scatterMeasures through HLCVMeasures have the array of measure indexes.
       For example : scatterMeasues = "3 2" means for scatter graph use measures
       3 and 2 only. If no measure indexes need to be specified, then just specify    "".
       scatterMeasues is also used for SCATTER_2Y, POLAR and POLAR_2Y
       graph types. scatterLabelsMeasures is used by SCATTER_LABELS and SCATTER_LABELS_2Y.
       bubbleMeasures is used by BUBBLE and BUBBLE_2Y.
       bubbleLabelsMeasures is used by BUBBLE_LABELS and BUBBLE_LABELS_2Y.
       OHLCVMeasures is used by STOCK_OHLC_CANDLE_VOLUME and STOCK_VOLUME.
       OHLCMeasures is used by STOCK_OHLC_CANDLE, STOCK_OPEN_HILO_CLOSE, STOCK_2Y
       and STOCK_SPLIT_2Y.
       HLVMeasures is used by STOCK_HILO_VOLUME.
       OCVMeasures is used by STOCK_CANDLE_VOLUME.
       OCMeasures is used by STOCK_CANDLE.
       HLMeasures is used by STOCK_HILO, STOCK_HILO_2Y and STOCK_HILO_SPLIT2Y.
       HLCMeasures is used by STOCK_HILO_CLOSE, STOCK_HILO_CLOSE2Y and STOCK_HILO_CLOSE_SPLIT2Y.
       HLCVMeasures is used by STOCK_HILO_CLOSE_VOLUME -->
       <!
    
    ELEMENT DataFilter EMPTY >
       <!
    
    ATTLIST DataFilter
       totalMeasures CDATA #IMPLIED
       scatterMeasures CDATA #IMPLIED
       scatterLabelsMeasures CDATA #IMPLIED
       bubbleMeasures CDATA #IMPLIED
       bubbleLabelsMeasures CDATA #IMPLIED
       OHLCVMeasures CDATA #IMPLIED
       OHLCMeasures CDATA #IMPLIED
       HLVMeasures CDATA #IMPLIED
       OCVMeasures CDATA #IMPLIED
       OCMeasures CDATA #IMPLIED
       HLMeasures CDATA #IMPLIED
       HLCMeasures CDATA #IMPLIED
       HLCVMeasures CDATA #IMPLIED >
    
                                

    <!-- Data for local (static) data source -->

    <!-- Grid data for local data source -->

    <! ELEMENT LocalGridData

    
    
    <!-- LocalGridData attributes:
       rowCount: number of rows in the grid of data
       colCount: number of columns in the grid of data
       timeAxis: whether the data is for a time axis
       -->
       <!
    
    ATTLIST LocalGridData
       rowCount CDATA #REQUIRED
       colCount CDATA #REQUIRED
       timeAxis (true | false) #IMPLIED >
    
                                

    <!-- Row labels -->

    <! ELEMENT RowLabels ( Label*) >

    <!-- Column labels -->

    <! ELEMENT ColLabels ( Label*) >

    <!-- Labels -->

    <! ELEMENT Label (#PCDATA) >

    <!-- Grid of data -->

    <! ELEMENT DataValues ( RowData*)>

    <!-- Row of data in grid -->

    <! ELEMENT RowData ( Cell*)>

    <!-- Cell of data in row -->

    <! ELEMENT Cell (#PCDATA)>

    <!-- Relational data for local data source
    : Graph builds a grid of data from this element and children -->

    <! ELEMENT LocalRelationalData

    
    
    <!-- LocalRelationalData attributes:
       timeAxis:
       -->
       <!
    
    ATTLIST LocalRelationalData
       timeAxis (true | false) #IMPLIED >
    
                                

    <!-- Row of relational data -->

    <! ELEMENT Row EMPTY>

    
    
    <!-- Row attributes:
       columnKey: the grid column this data should go in
       rowKey: the grid row this data should go in
       dataValue: the data to put in the specified row and column of the grid
       -->
       <!
    
    ATTLIST Row
       columnKey CDATA #REQUIRED
       rowKey CDATA #REQUIRED
       dataValue CDATA #REQUIRED >
    
                                

    <!-- Number of columns the grid should have, when known -->

    <! ELEMENT ColumnKeyCount (#PCDATA) >

    <!-- Number of rows the grid should have, when known -->

    <! ELEMENT RowKeyCount (#PCDATA) >

    <!-- User-defined element -->

    <! ELEMENT UserElement ( Property*) >

    <!-- UserElement attribute: name of element -->

    
    
       <!
    
    ATTLIST UserElement
       name CDATA #REQUIRED >
    
                                

    <!-- User-defined property -->

    <! ELEMENT Property EMPTY >

    
    
    <!-- Property attributes:
       name: property name
       value: property value
       -->
       <!
    
    ATTLIST Property
       name CDATA #REQUIRED
       value CDATA #REQUIRED >
    
                               

    <!-- Rule elements; see Help for info about rules -->

    <!-- The DTD for the following managers is only for the Default -->

    <!-- implementation of managers. -->

    <! ELEMENT FormatManager

    <! ELEMENT StyleManager

    
    
    <
                                    
    !
    
    ELEMENT Bundle (
                                    
    DiscRule+) >
       <!
    
    ATTLIST Bundle
       id CDATA #IMPLIED>
    
                              
    
    
    <
                                   
    !
    
    ELEMENT UIBundle (
                                  
    DiscRule+) >
       <!
    
    ATTLIST UIBundle
       id CDATA #IMPLIED>
    
                                

    < !
    ELEMENT DiscRule ( Disc, Mergeable) >

    
    
       <!
    
    ATTLIST DiscRule
       id CDATA #IMPLIED>
    
                               

    < !
    ELEMENT Disc ( CompTypeDisc | ComposDisc | NumValDisc | PosDisc | QDRDisc) >

    <!-- ViewStyle is used in case of StyleManager. ViewFormat is used in case of FormatManager -->

    < !
    ELEMENT Mergeable ( ViewStyle | ViewFormat)>

    < ! ELEMENT CompTypeDisc (#PCDATA) >

    <!-- RightDisc should not be present when the condition attribute value is NOT -->

    < !
    ELEMENT ComposDisc ( LeftDisc, RightDisc?) >

    
    
    <!
    
    ATTLIST ComposDisc
       cond (AND | OR | NOT) #REQUIRED >
    
                             

    < !
    ELEMENT LeftDisc ( CompTypeDisc | ComposDisc | NumValDisc | PosDisc | QDRDisc) >

    < !
    ELEMENT RightDisc ( CompTypeDisc | ComposDisc | NumValDisc | PosDisc | QDRDisc) >

    < ! ELEMENT NumValDisc EMPTY >

    
    
    <!
    
    ATTLIST NumValDisc
       relOp (EQ | LT | LE | GT | GE | NE) #REQUIRED
       num CDATA #REQUIRED >
    
                              

    < !
    ELEMENT PosDisc ( ColCompInfo | DataCompInfo | EdgeCompInfo | GroupCompInfo | PageItemCompInfo | RowCompInfo | SeriesCompInfo) >

    < ! ELEMENT ColCompInfo (#PCDATA) >

    < ! ELEMENT DataCompInfo EMPTY >

    
    
    <!
    
    ATTLIST DataCompInfo
       row CDATA #REQUIRED
       col CDATA #REQUIRED>
    
    

    < ! ELEMENT EdgeCompInfo EMPTY >

    
    
    <!
    
    ATTLIST EdgeCompInfo
       edge CDATA #REQUIRED
       depth CDATA #REQUIRED
       index CDATA #REQUIRED>
    
                               

    < ! ELEMENT GroupCompInfo (#PCDATA) >

    < ! ELEMENT PageItemCompInfo (#PCDATA) >

    < ! ELEMENT RowCompInfo (#PCDATA) >

    < ! ELEMENT SeriesCompInfo (#PCDATA) >

    < ! ELEMENT QDRDisc ( QDR) >

    
    
    <!
    
    ATTLIST QDRDisc
       setOp (SUBSET | PROPER_SUBSET | PROPER_SUPERSET | EQUALS | SUPERSET) #REQUIRED    >
    
                              

    <!--Imports -->

    <!-- ViewFormat definition -->

    
    
    <!-- Imported in -->
       <!-- oracle.dss.crosstab.Crosstab.dtdplus -->
       <!-- oracle.dss.graph.Graph.dtdplus -->
       <!-- oracle.dss.table.Table.dtdplus -->
                                

    <!-- ViewFormat specifies number formatting-->

    
    
    
    <! ELEMENT ViewFormat EMPTY >
       <!-- ViewFormat attributes
       numberType: format numbers as currency or percent?
       thousandSeparator: character for separating thousands
       decimalSeparator: character for separating whole number from decimal
       currencySymbol: currency symbol; numberType must be NUMTYPE_CURRENCY
       leadingZero: display leading zeros?
       decimalDigit: number of decimal digits to display
       posNumFmt: format for positive numbers
       negNumFmt: format for negative numbers
       posCurFmt: format for positive currency
       negCurFmt: format for negative currency
       scaleFactor: how much to scale (abbreviate) numbers
       scaleDownThousands: character(s) to use when numbers represent thousands
       scaleDownMillions: character(s) to use when numbers represent millions
       scaleDownBillions: character(s) to use when numbers represent billions
       scaleDownTrillions: character(s) to use when numbers represent trillions
       scaleDownQuadrillions: character(s) to use when numbers represent
               quadrillions
       javaDateFormat: Java date format
       oracleDateFormat: Oracle date format
    
                             
    
    
    "used" attributes specify whether one of the above properties has
       been explicitly set; used for merging when using rules
       -->
       <!
    
    ATTLIST ViewFormat
       numberType (NUMTYPE_GENERAL | NUMTYPE_CURRENCY | NUMTYPE_PERCENT) #IMPLIED
       thousandSeparator CDATA #IMPLIED
       decimalSeparator CDATA #IMPLIED
       currencySymbol CDATA #IMPLIED
       leadingZero (true | false) #IMPLIED
       decimalDigit CDATA #IMPLIED
       posNumFmt (POS_NUMFMT_NUM | POS_NUMFMT_POS_NUM | POS_NUMFMT_NUM_POS ) #IMPLIED
       negNumFmt (NEG_NUMFMT_OP_NUM_CP | NEG_NUMFMT_NEG_NUM | NEG_NUMFMT_NUM_NEG) #IMPLIED
       posCurFmt (POS_CURFMT_CUR_NUM | POS_CURFMT_NUM_CUR |
                       POS_CURFMT_CUR_SPAC_NUM |POS_CURFMT_NUM_SPAC_CUR |
                       POS_CURFMT_POS_CUR_NUM | POS_CURFMT_CUR_NUM_POS |
                       POS_CURFMT_POS_NUM_CUR | POS_CURFMT_NUM_POS_CUR |
                       POS_CURFMT_NUM_CUR_POS | POS_CURFMT_POS_NUM_SPAC_CUR |
                       POS_CURFMT_POS_CUR_SPAC_NUM | POS_CURFMT_NUM_SPAC_CUR_POS )
       #IMPLIED
       negCurFmt (NEG_CURFMT_OP_CUR_NUM_CP | NEG_CURFMT_NEG_CUR_NUM |
                       NEG_CURFMT_CUR_NEG_NUM | NEG_CURFMT_CUR_NUM_NEG |
                       NEG_CURFMT_OP_NUM_CUR_CP | NEG_CURFMT_NEG_NUM_CUR |
                       NEG_CURFMT_NUM_NEG_CUR | NEG_CURFMT_NUM_CUR_NEG |
                       NEG_CURFMT_NEG_NUM_SPAC_CUR | NEG_CURFMT_NEG_CUR_SPAC_NUM |
                       NEG_CURFMT_NUM_SPAC_CUR_NEG ) #IMPLIED
       scaleFactor (SCALEFACTOR_NONE | SCALEFACTOR_THOUSANDS |
                       SCALEFACTOR_MILLIONS | SCALEFACTOR_BILLIONS |
                       SCALEFACTOR_TRILLIONS | SCALEFACTOR_QUADRILLIONS ) #IMPLIED
       scaleDownThousands CDATA #IMPLIED
       scaleDownMillions CDATA #IMPLIED
       scaleDownBillions CDATA #IMPLIED
       scaleDownTrillions CDATA #IMPLIED
       scaleDownQuadrillions CDATA #IMPLIED
       javaDateFormat CDATA #IMPLIED
       oracleDateFormat CDATA #IMPLIED
       numberTypeUsed (true | false) #IMPLIED
       thousandSeparatorUsed (true | false) #IMPLIED
       decimalSeparatorUsed (true | false) #IMPLIED
       currencySymbolUsed (true | false) #IMPLIED
       leadingZeroUsed (true | false) #IMPLIED
       decimalDigitUsed (true | false) #IMPLIED
       posNumFmtUsed (true | false) #IMPLIED
       negNumFmtUsed (true | false) #IMPLIED
       posCurFmtUsed (true | false) #IMPLIED
       negCurFmtUsed (true | false) #IMPLIED
       scaleFactorUsed (true | false) #IMPLIED
       scaleDownThousandsUsed (true | false) #IMPLIED
       scaleDownMillionsUsed (true | false) #IMPLIED
       scaleDownBillionsUsed (true | false) #IMPLIED
       scaleDownTrillionsUsed (true | false) #IMPLIED
       scaleDownQuadrillionsUsed (true | false) #IMPLIED
       javaDateFormatUsed (true | false) #IMPLIED
       oracleDateFormatUsed (true | false) #IMPLIED >
    
                                

    <!-- ViewStyle definition -->

    
    
    <!-- Imported in -->
       <!-- oracle.dss.crosstab.Crosstab.dtdplus -->
       <!-- oracle.dss.graph.Graph.dtdplus -->
       <!-- oracle.dss.table.Table.dtdplus -->
                               
                                     
    <!-- Specifies font, border, and color; in graph, affects paging control    only -->
       <!
    
    ELEMENT ViewStyle EMPTY >
    
                                                            
    <!-- ViewStyle attributes:
       background: background color; example "#ffffff"
       foreground: font color
       selectBackground: background color of a cell that has been selected
       selectForeground: font color for a cell that has been selected
       horizontalAlignment: horizontal alignment of text in the cell
       verticalAlignment:vertical alignment of text in the cell
       underline: whether the text is underlined (single underline)
       doubleUnderline: whether the text is underlined (double underline)
       strikeThrough: whether the text has a line through it
       wordWrapEnabled: whether words can wrap to a new line
       **The borderColor and borderWidth attributes apply to all sides. But if
       **these properties are specified explicitly for each side such as borderLeftColor
       **then the specific ones take precedence. If borderColor and borderRightSide    are
       **specified, then for left, top, and bottom sides, borderColor is used.
       borderColor: color of cell border
       borderWidth: width, in pixels, of cell border
       borderLeftStyle: line style of left border of cell
       borderRightStyle: line style of right border of cell
       borderTopStyle: line style of top border of cell
       borderBottomStyle: line style of bottom border of cell
       borderLeftColor: line color of left border of cell
       borderRightColor: line color of right border of cell
       borderTopColor: line color of top border of cell
       borderBottomColor: line color of bottom border of cell
       borderLeftWidth: width, in pixels, of left border of cell
       borderRightWidth: width, in pixels, of right border of cell
       borderTopWidth: width, in pixels, of top border of cell
       borderBottomWidth: width, in pixels, of bottom border of cell
       fontName: font name, such as "Arial"
       fontSize: font size
       fontBold: whether font is bold
       fontItalic: whether font is italic
       graphicImageIndex: index of graphic in the list
       graphicImageTooltip: tooltip for graphic image
       cellEditStyle: editable or not
       editBackground: background color of a cell that can be edited
       editForeground: font color of a cell that can be edited
       graphicBarColor: color of graphic bar
       graphicBarVisible: whether graphic bar appears in cell
       hPageBreak: whether there is a horizontal page break here
       vPageBreak: whether there is a vertical page break here
                                
    "used" attributes specify whether one of the above properties has
       been explicitly set; used for merging when using rules
       -->
       <!
    
    ATTLIST ViewStyle
       background CDATA #IMPLIED
       foreground CDATA #IMPLIED
       selectBackground CDATA #IMPLIED
       selectForeground CDATA #IMPLIED
       horizontalAlignment (LEFT | CENTER | RIGHT | LEADING) #IMPLIED
       verticalAlignment (TOP | CENTER | BOTTOM ) #IMPLIED
       underline (true | false) #IMPLIED
       doubleUnderline (true | false) #IMPLIED
       strikeThrough (true | false) #IMPLIED
       wordWrapEnabled (true | false) #IMPLIED
       borderColor CDATA #IMPLIED
       borderWidth CDATA #IMPLIED
       borderLeftStyle (BORDER_STYLE_NOT_USED | BORDER_STYLE_SOLID |
                       BORDER_STYLE_DASH | BORDER_STYLE_DOT |
                       BORDER_STYLE_DOT_DASH | BORDER_STYLE_DASH_DOT_DOT |
                       BORDER_STYLE_DOUBLE | BORDER_STYLE_NO_LINE) #IMPLIED
       borderRightStyle (BORDER_STYLE_NOT_USED | BORDER_STYLE_SOLID |
                       BORDER_STYLE_DASH | BORDER_STYLE_DOT |
                       BORDER_STYLE_DOT_DASH | BORDER_STYLE_DASH_DOT_DOT |
                       BORDER_STYLE_DOUBLE | BORDER_STYLE_NO_LINE) #IMPLIED
       borderTopStyle (BORDER_STYLE_NOT_USED | BORDER_STYLE_SOLID |
                       BORDER_STYLE_DASH | BORDER_STYLE_DOT |
                       BORDER_STYLE_DOT_DASH | BORDER_STYLE_DASH_DOT_DOT |
                       BORDER_STYLE_DOUBLE | BORDER_STYLE_NO_LINE) #IMPLIED
       borderBottomStyle (BORDER_STYLE_NOT_USED | BORDER_STYLE_SOLID |
                       BORDER_STYLE_DASH | BORDER_STYLE_DOT |
                       BORDER_STYLE_DOT_DASH | BORDER_STYLE_DASH_DOT_DOT |
                       BORDER_STYLE_DOUBLE | BORDER_STYLE_NO_LINE) #IMPLIED
       borderLeftColor CDATA #IMPLIED
       borderRightColor CDATA #IMPLIED
       borderTopColor CDATA #IMPLIED
       borderBottomColor CDATA #IMPLIED
       borderLeftWidth CDATA #IMPLIED
       borderRightWidth CDATA #IMPLIED
       borderTopWidth CDATA #IMPLIED
       borderBottomWidth CDATA #IMPLIED
       fontName CDATA #IMPLIED
       fontSize CDATA #IMPLIED
       fontBold (true | false) #IMPLIED
       fontItalic (true | false) #IMPLIED
       graphicImageIndex CDATA #IMPLIED
       graphicImageTooltip CDATA #IMPLIED
       cellEditStyle (CELL_EDITABLE | CELL_NOT_EDITABLE) #IMPLIED
       editBackground CDATA #IMPLIED
       editForeground CDATA #IMPLIED
       graphicBarColor CDATA #IMPLIED
       graphicBarVisible (true | false) #IMPLIED
       hPageBreak (true | false) #IMPLIED
       vPageBreak (true | false) #IMPLIED
       backgroundUsed (true | false) #IMPLIED
       foregroundUsed (true | false) #IMPLIED
       selectBackgroundUsed (true | false) #IMPLIED
       selectForegroundUsed (true | false) #IMPLIED
       horizontalAlignmentUsed (true | false) #IMPLIED
       verticalAlignmentUsed (true | false) #IMPLIED
       underlineUsed (true | false) #IMPLIED
       doubleUnderlineUsed (true | false) #IMPLIED
       strikeThroughUsed (true | false) #IMPLIED
       wordWrapEnabledUsed (true | false) #IMPLIED
       borderColorUsed (true | false) #IMPLIED
       borderWidthUsed (true | false) #IMPLIED
       borderLeftStyleUsed (true | false) #IMPLIED
       borderRightStyleUsed (true | false) #IMPLIED
       borderTopStyleUsed (true | false) #IMPLIED
       borderBottomStyleUsed (true | false) #IMPLIED
       borderLeftColorUsed (true | false) #IMPLIED
       borderRightColorUsed (true | false) #IMPLIED
       borderTopColorUsed (true | false) #IMPLIED
       borderBottomColorUsed (true | false) #IMPLIED
       borderLeftWidthUsed (true | false) #IMPLIED
       borderRightWidthUsed (true | false) #IMPLIED
       borderTopWidthUsed (true | false) #IMPLIED
       borderBottomWidthUsed (true | false) #IMPLIED
       fontNameUsed (true | false) #IMPLIED
       fontSizeUsed (true | false) #IMPLIED
       fontBoldUsed (true | false) #IMPLIED
       fontItalicUsed (true | false) #IMPLIED
       graphicImageIndexUsed (true | false) #IMPLIED
       graphicImageTooltipUsed (true | false) #IMPLIED
       cellEditStyleUsed (true | false) #IMPLIED
       editBackgroundUsed (true | false) #IMPLIED
       editForegroundUsed (true | false) #IMPLIED
       graphicBarColorUsed (true | false) #IMPLIED
       graphicBarVisibleUsed (true | false) #IMPLIED
       hPageBreakUsed (true | false) #IMPLIED
       vPageBreakUsed (true | false) #IMPLIED >
    
                                

    <!-- DataviewTitles definition -->

    
    
    <!-- Imported in -->
       <!-- oracle.dss.crosstab.Crosstab.dtdplus -->
       <!-- oracle.dss.graph.Graph.dtdplus -->
       <!-- oracle.dss.table.Table.dtdplus -->
                                <                              
    <!-- The following attributes are common to all dataview titles
       text: the text to display in the title
       visible: whether to display the component or not
       fontName: name of the font
       fontSize: size of the font
       fontBold: whether the text is bold
       fontItalic: whether the text is italic
       foreground: font color; example "#00ff00"
       background: background color; example "#ff0000"
       horzAlign: horizontal alignment
       underline: whether text is underlined
       -->
                               

    <!-- Dataview definition of the title -->

    <! ELEMENT DataviewTitle EMPTY >

    
    
    <!
    
    ATTLIST DataviewTitle
       text CDATA #IMPLIED
       visible (true | false) #IMPLIED
       fontName CDATA #IMPLIED
       fontSize CDATA #IMPLIED
       fontBold (true | false) #IMPLIED
       fontItalic (true | false) #IMPLIED
       foreground CDATA #IMPLIED
       background CDATA #IMPLIED
       horzAlign (LEFT | CENTER | RIGHT | LEADING) #IMPLIED
       underline (true | false) #IMPLIED >
    
                               

    <!-- Dataview definition of the subtitle -->

    <! ELEMENT DataviewSubtitle
    EMPTY >

    
    
    <!
    
    ATTLIST DataviewSubtitle
       text CDATA #IMPLIED
       visible (true | false) #IMPLIED
       fontName CDATA #IMPLIED
       fontSize CDATA #IMPLIED
       fontBold (true | false) #IMPLIED
       fontItalic (true | false) #IMPLIED
       foreground CDATA #IMPLIED
       background CDATA #IMPLIED
       horzAlign (LEFT | CENTER | RIGHT | LEADING) #IMPLIED
       underline (true | false) #IMPLIED >
    
                                

    <!-- Dataview definition of the footnote -->

    <! ELEMENT DataviewFootnote
    EMPTY >

    
    
    <!
    
    ATTLIST DataviewFootnote
       text CDATA #IMPLIED
       visible (true | false) #IMPLIED
       fontName CDATA #IMPLIED
       fontSize CDATA #IMPLIED
       fontBold (true | false) #IMPLIED
       fontItalic (true | false) #IMPLIED
       foreground CDATA #IMPLIED
       background CDATA #IMPLIED
       horzAlign (LEFT | CENTER | RIGHT | LEADING) #IMPLIED
       underline (true | false) #IMPLIED >
    
                                

    <!-- QDR definition -->

    
    
    <!-- Imported in -->
       <!-- oracle.dss.crosstab.Crosstab.dtdplus -->
       <!-- oracle.dss.graph.Graph.dtdplus -->
       <!-- oracle.dss.table.Table.dtdplus -->
                              

    
    
       <!
    
    ATTLIST QDR 
       measureDimName CDATA #IMPLIED>

    < !
    ELEMENT DimMemPair ( QDRMem | ListQDRMem)>

    
    
       <!
    
    ATTLIST DimMemPair 
       dim CDATA #REQUIRED>

    < !
    ELEMENT QDRTarget ( QDRMem | ListQDRMem)>

    
    
    <!-- QDRMem definition -->
       <!-- if the memType attribute is FIXED, QDRMem should contain -->
       <!-- mem attribute. For other member types QDRMember should contain -->
       <!-- no mem attribute -->
       
       

    < ! ELEMENT QDRMem EMPTY>

    
    
       <!
    
    ATTLIST QDRMem
               mem CDATA #IMPLIED
               memType (FIXED | VARIES | CURRENT) #IMPLIED>
       <!-- ListQDRMem has to contain one or more members (ListMem) -->

    < !
    ELEMENT ListQDRMem ( ListMem)+>

    < ! ELEMENT ListMem (#PCDATA)>