<!--
	Licensed Materials - Property of IBM
	IBM Cognos Products: rspec
	(C) Copyright IBM Corp. 2019
	US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
-->

<!ELEMENT modelPath (#PCDATA)>
<!ATTLIST modelPath
	type (FM | module | report) "FM"
>
<!ELEMENT sortList (sortItem)+>
<!ELEMENT sortItem EMPTY>
<!ATTLIST sortItem
	refDataItem CDATA #REQUIRED
	sortOrder (ascending | descending) "ascending"
>
<!ELEMENT XMLAttributes (XMLAttribute)+>
<!ELEMENT reportPath (XMLAttributes?)>
<!ATTLIST reportPath
	path CDATA #REQUIRED
>
<!ELEMENT metadataPath (XMLAttributes?)>
<!ATTLIST metadataPath
	path CDATA #REQUIRED
	type (FM | module | report) "FM"
>
<!ELEMENT format EMPTY>
<!ATTLIST format
	pattern CDATA #IMPLIED
	whenMissing CDATA #IMPLIED
	whenSecurityError CDATA #IMPLIED
	whenNotApplicable CDATA #IMPLIED
	whenAnyError CDATA #IMPLIED
	digitShaping (national | none) #IMPLIED
>
<!ELEMENT stringFormat EMPTY>
<!ATTLIST stringFormat
	pattern CDATA #IMPLIED
	whenMissing CDATA #IMPLIED
	whenSecurityError CDATA #IMPLIED
	whenNotApplicable CDATA #IMPLIED
	whenAnyError CDATA #IMPLIED
	digitShaping (national | contextual | none) #IMPLIED
>
<!ELEMENT dateFormat EMPTY>
<!ATTLIST dateFormat
	whenZero CDATA #IMPLIED
	pattern CDATA #IMPLIED
	whenMissing CDATA #IMPLIED
	whenSecurityError CDATA #IMPLIED
	whenNotApplicable CDATA #IMPLIED
	whenAnyError CDATA #IMPLIED
	showYears (false | true | hideCentury | showCentury) #IMPLIED
	showMonths (false | true | 1-digit | 2-digits | shortName | fullName) #IMPLIED
	dateSeparator CDATA #IMPLIED
	dateStyle (short | medium | long | full) #IMPLIED
	displayOrder (YMD | MDY | DMY) #IMPLIED
	showDays (false | true | 1-digit | 2-digits | Julian) #IMPLIED
	showWeekday (false | true | shortName | fullName) #IMPLIED
	showEra  (true | false) #IMPLIED
	calendar (Gregorian | Imperial) #IMPLIED
	digitShaping (national | none) #IMPLIED
>
<!ELEMENT timeFormat EMPTY>
<!ATTLIST timeFormat
	whenZero CDATA #IMPLIED
	pattern CDATA #IMPLIED
	whenMissing CDATA #IMPLIED
	whenSecurityError CDATA #IMPLIED
	whenNotApplicable CDATA #IMPLIED
	whenAnyError CDATA #IMPLIED
	timeStyle (short | long | full) #IMPLIED
	showAmPm  (true | false) #IMPLIED
	showTimeZone  (true | false) #IMPLIED
	clock (12-hour | 24-hour) #IMPLIED
	decimalDelimiter CDATA #IMPLIED
	showHours (false | true | 1-digit | 2-digits) #IMPLIED
	showMinutes (false | true | 1-digit | 2-digits) #IMPLIED
	showSeconds (false | true | 1-digit | 2-digits) #IMPLIED
	showMilliseconds (false | true | 1-digit | 2-digits | 3-digits) #IMPLIED
	timeSeparator CDATA #IMPLIED
	digitShaping (national | none) #IMPLIED
>
<!ELEMENT dateTimeFormat EMPTY>
<!ATTLIST dateTimeFormat
	whenZero CDATA #IMPLIED
	pattern CDATA #IMPLIED
	whenMissing CDATA #IMPLIED
	whenSecurityError CDATA #IMPLIED
	whenNotApplicable CDATA #IMPLIED
	whenAnyError CDATA #IMPLIED
	showYears (false | true | hideCentury | showCentury) #IMPLIED
	showMonths (false | true | 1-digit | 2-digits | shortName | fullName) #IMPLIED
	dateSeparator CDATA #IMPLIED
	dateStyle (short | medium | long | full) #IMPLIED
	displayOrder (YMD | MDY | DMY) #IMPLIED
	showDays (false | true | 1-digit | 2-digits | Julian) #IMPLIED
	showWeekday (false | true | shortName | fullName) #IMPLIED
	showEra  (true | false) #IMPLIED
	calendar (Gregorian | Imperial) #IMPLIED
	timeStyle (short | long | full) #IMPLIED
	showAmPm  (true | false) #IMPLIED
	showTimeZone  (true | false) #IMPLIED
	clock (12-hour | 24-hour) #IMPLIED
	decimalDelimiter CDATA #IMPLIED
	showHours (false | true | 1-digit | 2-digits) #IMPLIED
	showMinutes (false | true | 1-digit | 2-digits) #IMPLIED
	showSeconds (false | true | 1-digit | 2-digits) #IMPLIED
	showMilliseconds (false | true | 1-digit | 2-digits | 3-digits) #IMPLIED
	timeSeparator CDATA #IMPLIED
	digitShaping (national | none) #IMPLIED
>
<!ELEMENT intervalFormat EMPTY>
<!ATTLIST intervalFormat
	units (time | days | hours | minutes | seconds | milliseconds) #IMPLIED
	showDays (false | true | 1-digit | 2-digits | Julian) #IMPLIED
	showYears  (true | false) #IMPLIED
	showMonths  (true | false) #IMPLIED
	dateSeparator CDATA #IMPLIED
	pattern CDATA #IMPLIED
	whenMissing CDATA #IMPLIED
	whenSecurityError CDATA #IMPLIED
	whenNotApplicable CDATA #IMPLIED
	whenAnyError CDATA #IMPLIED
	showHours (false | true | 1-digit | 2-digits) #IMPLIED
	showMinutes (false | true | 1-digit | 2-digits) #IMPLIED
	showSeconds (false | true | 1-digit | 2-digits) #IMPLIED
	showMilliseconds (false | true | 1-digit | 2-digits | 3-digits) #IMPLIED
	timeSeparator CDATA #IMPLIED
	decimalSize CDATA #IMPLIED
	decimalDelimiter CDATA #IMPLIED
	sign CDATA #IMPLIED
	useTrailingSign  (true | false) #IMPLIED
	maxDigits CDATA #IMPLIED
	minDigits CDATA #IMPLIED
	paddingCharacter CDATA #IMPLIED
	scale CDATA #IMPLIED
	useGrouping  (true | false) #IMPLIED
	groupDelimiter CDATA #IMPLIED
	groupSize CDATA #IMPLIED
	groupSecondarySize CDATA #IMPLIED
	whenNegative CDATA #IMPLIED
	whenZero CDATA #IMPLIED
	whenDivideZero CDATA #IMPLIED
	whenNumericOverflow CDATA #IMPLIED
	digitShaping (national | none) #IMPLIED
>
<!ELEMENT numberFormat EMPTY>
<!ATTLIST numberFormat
	useScientific  (true | false) #IMPLIED
	exponentSize CDATA #IMPLIED
	exponentSymbol CDATA #IMPLIED
	pattern CDATA #IMPLIED
	whenMissing CDATA #IMPLIED
	whenSecurityError CDATA #IMPLIED
	whenNotApplicable CDATA #IMPLIED
	whenAnyError CDATA #IMPLIED
	decimalSize CDATA #IMPLIED
	decimalDelimiter CDATA #IMPLIED
	sign CDATA #IMPLIED
	useTrailingSign  (true | false) #IMPLIED
	maxDigits CDATA #IMPLIED
	minDigits CDATA #IMPLIED
	paddingCharacter CDATA #IMPLIED
	scale CDATA #IMPLIED
	useGrouping  (true | false) #IMPLIED
	groupDelimiter CDATA #IMPLIED
	groupSize CDATA #IMPLIED
	groupSecondarySize CDATA #IMPLIED
	whenNegative CDATA #IMPLIED
	whenZero CDATA #IMPLIED
	whenDivideZero CDATA #IMPLIED
	whenNumericOverflow CDATA #IMPLIED
	digitShaping (national | none) #IMPLIED
>
<!ELEMENT currencyFormat EMPTY>
<!ATTLIST currencyFormat
	currencyCode CDATA #IMPLIED
	currencySymbol CDATA #IMPLIED
	intlCurrencySymbol CDATA #IMPLIED
	useIntlSymbol  (true | false) #IMPLIED
	useTrailingSymbol  (true | false) #IMPLIED
	pattern CDATA #IMPLIED
	whenMissing CDATA #IMPLIED
	whenSecurityError CDATA #IMPLIED
	whenNotApplicable CDATA #IMPLIED
	whenAnyError CDATA #IMPLIED
	decimalSize CDATA #IMPLIED
	decimalDelimiter CDATA #IMPLIED
	sign CDATA #IMPLIED
	useTrailingSign  (true | false) #IMPLIED
	maxDigits CDATA #IMPLIED
	minDigits CDATA #IMPLIED
	paddingCharacter CDATA #IMPLIED
	scale CDATA #IMPLIED
	useGrouping  (true | false) #IMPLIED
	groupDelimiter CDATA #IMPLIED
	groupSize CDATA #IMPLIED
	groupSecondarySize CDATA #IMPLIED
	whenNegative CDATA #IMPLIED
	whenZero CDATA #IMPLIED
	whenDivideZero CDATA #IMPLIED
	whenNumericOverflow CDATA #IMPLIED
	digitShaping (national | none) #IMPLIED
>
<!ELEMENT percentFormat EMPTY>
<!ATTLIST percentFormat
	percentSymbol CDATA #IMPLIED
	percentScale CDATA #IMPLIED
	pattern CDATA #IMPLIED
	whenMissing CDATA #IMPLIED
	whenSecurityError CDATA #IMPLIED
	whenNotApplicable CDATA #IMPLIED
	whenAnyError CDATA #IMPLIED
	decimalSize CDATA #IMPLIED
	decimalDelimiter CDATA #IMPLIED
	sign CDATA #IMPLIED
	useTrailingSign  (true | false) #IMPLIED
	maxDigits CDATA #IMPLIED
	minDigits CDATA #IMPLIED
	paddingCharacter CDATA #IMPLIED
	scale CDATA #IMPLIED
	useGrouping  (true | false) #IMPLIED
	groupDelimiter CDATA #IMPLIED
	groupSize CDATA #IMPLIED
	groupSecondarySize CDATA #IMPLIED
	whenNegative CDATA #IMPLIED
	whenZero CDATA #IMPLIED
	whenDivideZero CDATA #IMPLIED
	whenNumericOverflow CDATA #IMPLIED
	digitShaping (national | none) #IMPLIED
>
<!ELEMENT style (CSS? | dataFormat? | defaultStyles? | generatedBackground?)*>
<!ELEMENT conditionalStyles (conditionalStyleCases | conditionalStyleDefault)+>
<!ELEMENT CSS EMPTY>
<!ATTLIST CSS
	value CDATA #REQUIRED
>
<!ELEMENT dataFormat (numberFormat | percentFormat | currencyFormat | stringFormat | dateFormat | dateTimeFormat | timeFormat | intervalFormat | format)>
<!ELEMENT defaultStyles (defaultStyle+)>
<!ELEMENT generatedBackground (border? | dropShadow? | backgroundImages? | fill?)*>
<!ELEMENT gradientColor EMPTY>
<!ATTLIST gradientColor
	gradientColor CDATA "black"
	colorPosition CDATA "0"
	transparency CDATA "0"
>
<!ELEMENT conditionalRender (renderFor*)>
<!ATTLIST conditionalRender
	refVariable CDATA #REQUIRED
>
<!ELEMENT dataSource (staticValue | dataItemValue | reportExpression | dataItemLabel | memberCaption | cellValue | appDataItemValue)>
<!ELEMENT conditionalDataSources (conditionalDataSource+)>
<!ATTLIST conditionalDataSources
	refVariable CDATA #REQUIRED
>
<!ELEMENT reportExpression (#PCDATA)>
<!ATTLIST reportExpression
	xml:space (default | preserve) "preserve"
>
<!ELEMENT reportCondition (#PCDATA)>
<!ATTLIST reportCondition
	xml:space (default | preserve) "preserve"
>
<!ELEMENT defaultMeasure EMPTY>
<!ATTLIST defaultMeasure
	refDataItem CDATA #REQUIRED
	solveOrder CDATA #IMPLIED
>
<!ELEMENT reportDrills (reportDrill+)>
<!ELEMENT masterDetailLinks (masterDetailLink*)>
<!ELEMENT dataItemContext EMPTY>
<!ATTLIST dataItemContext
	refDataItem CDATA #REQUIRED
>
<!ELEMENT parameterContext EMPTY>
<!ATTLIST parameterContext
	parameter CDATA #REQUIRED
>
<!ELEMENT propertyList (propertyItem+)>
<!ELEMENT namedConditionalStyles ((advancedConditionalStyle | rangeConditionalStyle | stringsConditionalStyle)+)>
<!ELEMENT conditionalStyleRefs (conditionalStyleRef+)>
<!ELEMENT conditionalDataItem EMPTY>
<!ATTLIST conditionalDataItem
	refQuery CDATA #REQUIRED
	refDataItem CDATA #REQUIRED
>
<!ELEMENT styleDefault (style?)>
<!ELEMENT containerDropShadow EMPTY>
<!ATTLIST containerDropShadow
	shadowColor CDATA "gray"
	offsetX CDATA "5"
	offsetY CDATA "5"
	transparency CDATA "0"
>
<!ELEMENT pageGradient EMPTY>
<!ATTLIST pageGradient
	direction (up | down | left | right) "down"
	fromColor CDATA "white"
	toColor CDATA "gray"
>
<!ELEMENT listSuppress EMPTY>
<!ATTLIST listSuppress
	nulls  (true | false) "true"
	zero  (true | false) "true"
	divByZero  (true | false) "true"
	overflow  (true | false) "true"
>
<!ELEMENT crosstabSuppress EMPTY>
<!ATTLIST crosstabSuppress
	type (rows | columns | rowsAndColumns) "rowsAndColumns"
	nulls  (true | false) "true"
	zero  (true | false) "true"
	divByZero  (true | false) "true"
	overflow  (true | false) "true"
>
<!ELEMENT chartSuppress EMPTY>
<!ATTLIST chartSuppress
	type (categories | series | categoriesAndSeries) "categoriesAndSeries"
	nulls  (true | false) "true"
	zero  (true | false) "true"
	divByZero  (true | false) "true"
	overflow  (true | false) "true"
>
<!ELEMENT styleValue (#PCDATA)>
<!ATTLIST styleValue
	xml:space (default | preserve) "preserve"
>
<!ELEMENT alternateText (defaultText | localizedText?)+>
<!ELEMENT defaultSelections (defaultSimpleSelection | defaultRangeSelection)*>
<!ELEMENT useItem (displayItem?)>
<!ATTLIST useItem
	refDataItem CDATA #REQUIRED
>
<!ELEMENT selectOptions (selectOption+)>
<!ATTLIST selectOptions
	refVariable CDATA #IMPLIED
>
<!ELEMENT defaultSimpleSelection (#PCDATA)>
<!ELEMENT choicesText (defaultText | localizedText?)+>
<!ELEMENT fromText (defaultText | localizedText?)+>
<!ELEMENT toText (defaultText | localizedText?)+>
<!ELEMENT lowestValueText (defaultText | localizedText?)+>
<!ELEMENT highestValueText (defaultText | localizedText?)+>
<!ELEMENT choicesSelectAllText (defaultText | localizedText?)+>
<!ELEMENT choicesDeselectAllText (defaultText | localizedText?)+>
<!ELEMENT resultsSelectAllText (defaultText | localizedText?)+>
<!ELEMENT resultsDeselectAllText (defaultText | localizedText?)+>
<!ELEMENT deselectText (defaultText | localizedText?)+>
<!ELEMENT insertText (defaultText | localizedText?)+>
<!ELEMENT removeText (defaultText | localizedText?)+>
<!ELEMENT promptTextStyle (style? | XMLAttributes?)*>
<!ELEMENT source (model | metadataPath | queryRef | sqlQuery | mdxQuery | queryOperation | joinOperation)>
<!ELEMENT dimensionInfo (dimensions? | factList?)*>
<!ELEMENT levels (level*)>
<!ELEMENT level (keys | attributes? | sortList? | caption? | calculatedMembers?)+>
<!ATTLIST level
	name CDATA #REQUIRED
>
<!ELEMENT levelRef EMPTY>
<!ATTLIST levelRef
	refLevel CDATA #REQUIRED
>
<!ELEMENT queryRef EMPTY>
<!ATTLIST queryRef
	refQuery CDATA #REQUIRED
>
<!ELEMENT filterExpression (#PCDATA)>
<!ATTLIST filterExpression
	xml:space (default | preserve) "preserve"
>
<!ELEMENT calculatedMembers (calculatedMember*)>
<!ELEMENT dataItem (expression | XMLAttributes?)+>
<!ATTLIST dataItem
	name CDATA #REQUIRED
	label CDATA #IMPLIED
	aggregate (none | automatic | summarize | total | minimum | maximum | average | count | calculated | countDistinct | standardDeviation | variance | median | notApplicable) "automatic"
	rollupAggregate (none | automatic | summarize | total | minimum | maximum | average | count | calculated | countDistinct | standardDeviation | variance | median) "automatic"
	sort (ascending | descending | none) "none"
	naInCalcMemberContext  (true | false) "false"
	solveOrder CDATA #IMPLIED
	detail (automatic | true | false) "automatic"
>
<!ELEMENT slicerMemberSet (#PCDATA)>
<!ATTLIST slicerMemberSet
	xml:space (default | preserve) "preserve"
>
<!ELEMENT joinOperation (joinFilter | joinOperands | applyFilterJoin?)+>
<!ELEMENT joinOperand (queryRef?)>
<!ATTLIST joinOperand
	cardinality (1:N | 1:1 | 0:N | 0:1) "1:N"
>
<!ELEMENT calculatedMember (calculatedMembers?)>
<!ATTLIST calculatedMember
	name CDATA #REQUIRED
	refDataItem CDATA #REQUIRED
	caption CDATA #IMPLIED
>
<!ELEMENT executionOptimization EMPTY>
<!ATTLIST executionOptimization
	value (allRows | firstRow) #REQUIRED
>
<!ELEMENT memberSet (memberSets?)>
<!ATTLIST memberSet
	name CDATA #REQUIRED
	refDataItem CDATA #REQUIRED
>
<!ELEMENT localCache EMPTY>
<!ATTLIST localCache
	value  (true | false) #REQUIRED
>
<!ELEMENT expression (#PCDATA)>
<!ATTLIST expression
	xml:space (default | preserve) "preserve"
>
<!ELEMENT summaryFilterLevels (summaryFilterLevel+)>
<!ELEMENT query (source | selection | detailFilters? | summaryFilters? | dimensionInfo? | slicer? | queryHints? | memberSetStructure? | XMLAttributes?)+>
<!ATTLIST query
	name CDATA #REQUIRED
>
<!ELEMENT selection ((dataItem | dataItemMember | dataItemCalculatedMember | dataItemMemberProperty | dataItemMeasure | dataItemTextMeasure | dataItemCalculatedMeasure | dataItemSet | dataItemChildrenSet | dataItemSetExpression | dataItemLevelSet | dataItemHierarchySet | dataItemNamedSet | dataItemTuple | dataItemMemberSet | dataItemListSummary | dataItemEdgeSummary | dataItemDimensionalEdgeSummary | dataItemCustomGroup | dataItemMeasurePercentage)*)>
<!ATTLIST selection
	autoSummary  (true | false) "true"
>
<!ELEMENT slicer ((slicerMemberSet+) | (contextSlice+))>
<!ELEMENT dmLevel (LUN | itemCaption)+>
<!ELEMENT dmMember (MUN | itemCaption)+>
<!ELEMENT dmMembers (dmMember+)>
<!ELEMENT dmTuple ((dmTuplePart | dmTuplePartDataItemRef)+)>
<!ELEMENT dmMemberProperty (MPUN | itemCaption)+>
<!ELEMENT itemCaption (#PCDATA)>
<!ATTLIST itemCaption
	xml:space (default | preserve) "preserve"
>
<!ELEMENT setSorting (dmTuple | dmMemberProperty)?>
<!ATTLIST setSorting
	ascending  (true | false) "true"
	breakHierarchy  (true | false) "true"
>
<!ELEMENT dmHierarchy (HUN | itemCaption)+>
<!ELEMENT dmDimension (DUN | itemCaption)+>
<!ELEMENT HUN (#PCDATA)>
<!ATTLIST HUN
	xml:space (default | preserve) "preserve"
>
<!ELEMENT MUN (#PCDATA)>
<!ATTLIST MUN
	xml:space (default | preserve) "preserve"
>
<!ELEMENT DUN (#PCDATA)>
<!ATTLIST DUN
	xml:space (default | preserve) "preserve"
>
<!ELEMENT NSUN (#PCDATA)>
<!ATTLIST NSUN
	xml:space (default | preserve) "preserve"
>
<!ELEMENT baseSet (setExplicitMembers | setChildrenMembers | setLevelMembers | setHierarchyMembers | setExpression | setNamedReference | setExceptMembers | setTopCount | setTopPercent | setTopSum | setBottomCount | setBottomPercent | setBottomSum | setUnion | setMoveMembersToTop | setMoveMembersToBottom | setExpandMember | setCollapseMember | setFilter | setCustomGroup | setReference)>
<!ELEMENT filterValue (#PCDATA)>
<!ATTLIST filterValue
	xml:space (default | preserve) "preserve"
>
<!ELEMENT detailFilter (filterExpression? | filterDefinition? | XMLAttributes?)*>
<!ATTLIST detailFilter
	use (required | optional | prohibited) "required"
	postAutoAggregation  (true | false) "false"
	canBeChangedInAdvancedViewer  (true | false) "false"
>
<!ELEMENT summaryFilter (filterExpression? | filterDefinition? | summaryFilterLevels? | XMLAttributes?)*>
<!ATTLIST summaryFilter
	use (required | optional | prohibited) "required"
>
<!ELEMENT filterDefinition (filterAnd | filterOr | filterNot | filterInMembers | filterInValues | filterCompare | filterStringCompare | filterRange | filterNulls | filterEmpty | filterWhitespace)>
<!ELEMENT appDeck (appCardDefinition | appCards | appDataSource | appDefaultCard? | appContainerSelect? | appContainerFilter? | appOnSelectSetVariableValues? | appDrills? | conditionalRender? | style? | XMLAttributes?)+>
<!ATTLIST appDeck
	name CDATA #REQUIRED
	displayForOrientation (both | portrait | landscape) "both"
	width CDATA #IMPLIED
	height CDATA #IMPLIED
	slideDirection (topToBottom | rightToLeft | bottomToTop | leftToRight | autoVertical | autoHorizontal) #IMPLIED
>
<!ELEMENT appTabControl (appTabDefinition | appTabDeck | appDataSource | appContainerSelect? | appOnSelectSetVariableValues? | appDrills? | conditionalRender? | style? | appTextStyle? | XMLAttributes?)+>
<!ATTLIST appTabControl
	name CDATA #REQUIRED
	displayForOrientation (both | portrait | landscape) "both"
	tabOrientation (topLeft | bottomLeft) "topLeft"
	width CDATA #IMPLIED
	height CDATA #IMPLIED
	tabWidth CDATA #IMPLIED
>
<!ELEMENT appButton (appButtonDefinition | appDataSource | appOnSelectSetVariableValues? | appDrills? | appControlEnabled? | conditionalRender? | style? | appTextStyle? | XMLAttributes?)+>
<!ATTLIST appButton
	name CDATA #REQUIRED
	displayForOrientation (both | portrait | landscape) "both"
	width CDATA #IMPLIED
	refAppDrillTo CDATA #IMPLIED
>
<!ELEMENT appButtonBar (appButtonDefinition | appDataSource | appOnSelectSetVariableValues? | appDrills? | appContainerSelect? | appControlEnabled? | conditionalRender? | style? | appTextStyle? | XMLAttributes?)+>
<!ATTLIST appButtonBar
	name CDATA #REQUIRED
	displayForOrientation (both | portrait | landscape) "both"
	orientation (horizontal | vertical) "horizontal"
	buttonWidth CDATA #IMPLIED
	buttonGap CDATA #IMPLIED
	refAppDrillTo CDATA #IMPLIED
>
<!ELEMENT appToggleButtonBar (appButtonDefinition | appDataSource | appContainerSelect? | appOnSelectSetVariableValues? | appDrills? | appControlEnabled? | conditionalRender? | style? | appTextStyle? | XMLAttributes?)+>
<!ATTLIST appToggleButtonBar
	name CDATA #REQUIRED
	displayForOrientation (both | portrait | landscape) "both"
	orientation (horizontal | vertical) "horizontal"
	buttonWidth CDATA #IMPLIED
	buttonGap CDATA #IMPLIED
	refAppDrillTo CDATA #IMPLIED
>
<!ELEMENT appRadioButtonGroup (appRadioButtonDefinition | appDataSource | appContainerSelect? | appOnSelectSetVariableValues? | appDrills? | appControlEnabled? | conditionalRender? | appContainerFilter? | style? | appTextStyle? | XMLAttributes?)+>
<!ATTLIST appRadioButtonGroup
	name CDATA #REQUIRED
	displayForOrientation (both | portrait | landscape) "both"
	orientation (horizontal | vertical) "horizontal"
	autoSelect (none | first | last) "none"
	textColor CDATA #IMPLIED
	refAppDrillTo CDATA #IMPLIED
>
<!ELEMENT appCheckboxGroup (appCheckboxDefinition | appDataSource | appOnSelectSetVariableValues? | appDrills? | appContainerSelect? | appContainerFilter? | appControlEnabled? | conditionalRender? | style? | appTextStyle? | XMLAttributes?)+>
<!ATTLIST appCheckboxGroup
	name CDATA #REQUIRED
	displayForOrientation (both | portrait | landscape) "both"
	orientation (horizontal | vertical) "horizontal"
	textColor CDATA #IMPLIED
	refAppDrillTo CDATA #IMPLIED
>
<!ELEMENT appDropDownList (appListItemDefinition | appDataSource | appNoValueListItem? | appContainerSelect? | appContainerFilter? | appOnSelectSetVariableValues? | appDrills? | appControlEnabled? | conditionalRender? | style? | appTextStyle? | XMLAttributes?)+>
<!ATTLIST appDropDownList
	name CDATA #REQUIRED
	displayForOrientation (both | portrait | landscape) "both"
	width CDATA #REQUIRED
	autoSelect (none | first | last) "none"
	showIcon  (true | false) "false"
	refAppDrillTo CDATA #IMPLIED
>
<!ELEMENT appListBox (appListItemDefinition | appDataSource | appNoValueListItem? | appContainerSelect? | appContainerFilter? | appOnSelectSetVariableValues? | appDrills? | appControlEnabled? | conditionalRender? | style? | appTextStyle? | XMLAttributes?)+>
<!ATTLIST appListBox
	name CDATA #REQUIRED
	displayForOrientation (both | portrait | landscape) "both"
	multiSelect  (true | false) "false"
	width CDATA #REQUIRED
	height CDATA #REQUIRED
	autoSelect (none | first | last) "none"
	refAppDrillTo CDATA #IMPLIED
>
<!ELEMENT appIterator (appIteratorUI? | appIteratorDefinition | appDataSource | appContainerSelect? | appOnSelectSetVariableValues? | appDrills? | appContainerFilter? | appControlEnabled? | conditionalRender? | style? | appTextStyle? | XMLAttributes?)+>
<!ATTLIST appIterator
	name CDATA #REQUIRED
	displayForOrientation (both | portrait | landscape) "both"
	orientation (horizontal | vertical) "horizontal"
	refAppDrillTo CDATA #IMPLIED
>
<!ELEMENT appDiscreteSlider (appSliderDefinition | appDataSource | appSliderTrackValuesStyle? | appContainerSelect? | appOnSelectSetVariableValues? | appDrills? | appContainerFilter? | appControlEnabled? | conditionalRender? | style? | appTextStyle? | XMLAttributes?)+>
<!ATTLIST appDiscreteSlider
	name CDATA #REQUIRED
	displayForOrientation (both | portrait | landscape) "both"
	animate  (true | false) "false"
	orientation (horizontal | vertical) "horizontal"
	rangeType (none | min | max | range) "none"
	labelColor CDATA "black"
	tickType (none | noLabels | percent | values) "values"
	tickLabelSkipInterval CDATA #IMPLIED
	live  (true | false) "false"
	trackLength CDATA "300px"
	showTooltip  (true | false) "true"
	reverse  (true | false) "false"
	tickInterval CDATA #IMPLIED
	refAppDrillTo CDATA #IMPLIED
>
<!ELEMENT appContinuousSlider (appSliderMinVariable? | appSliderMaxVariable? | appSliderTrackValuesStyle? | appOnSelectSetVariableValues? | appDrills? | appControlEnabled? | conditionalRender? | style? | appTextStyle? | XMLAttributes?)*>
<!ATTLIST appContinuousSlider
	name CDATA #REQUIRED
	displayForOrientation (both | portrait | landscape) "both"
	animate  (true | false) "false"
	orientation (horizontal | vertical) "horizontal"
	rangeType (none | min | max | range) "none"
	labelColor CDATA "black"
	tickType (none | noLabels | percent | values) "values"
	tickLabelSkipInterval CDATA #IMPLIED
	live  (true | false) "false"
	trackLength CDATA "300px"
	showTooltip  (true | false) "true"
	reverse  (true | false) "false"
	min CDATA "0.0"
	max CDATA "100.0"
	step CDATA "1.0"
	tickInterval CDATA #IMPLIED
	refAppDrillTo CDATA #IMPLIED
>
<!ELEMENT appRepeaterTable (appRepeaterTableCellDefinition | appDataSource | appRepeaterTableCell | appContainerSelect? | appContainerFilter? | appOnSelectSetVariableValues? | conditionalRender? | appRepeaterTableProperties? | style? | appDrills? | XMLAttributes?)+>
<!ATTLIST appRepeaterTable
	name CDATA #REQUIRED
	displayForOrientation (both | portrait | landscape) "both"
	across CDATA #IMPLIED
	down CDATA #IMPLIED
	direction (lr-tb | tb-lr) "lr-tb"
	refAppDrillTo CDATA #IMPLIED
>
<!ELEMENT appDataDropDownList (appListItemDefinition? | appNoValueListItem? | appContainerSelect? | appContainerFilter? | appOnSelectSetVariableValues? | appDrills? | appControlEnabled? | masterDetailLinks? | sortList? | listSuppress? | conditionalRender? | style? | appTextStyle? | XMLAttributes?)*>
<!ATTLIST appDataDropDownList
	name CDATA #REQUIRED
	displayForOrientation (both | portrait | landscape) "both"
	refQuery CDATA #REQUIRED
	width CDATA #REQUIRED
	autoSelect (none | first | last) "none"
	showIcon  (true | false) "false"
	refAppDrillTo CDATA #IMPLIED
>
<!ELEMENT appDataListBox (appListItemDefinition? | appNoValueListItem? | appContainerSelect? | appContainerFilter? | appOnSelectSetVariableValues? | appDrills? | appControlEnabled? | masterDetailLinks? | sortList? | listSuppress? | conditionalRender? | style? | appTextStyle? | XMLAttributes?)*>
<!ATTLIST appDataListBox
	name CDATA #REQUIRED
	displayForOrientation (both | portrait | landscape) "both"
	refQuery CDATA #REQUIRED
	multiSelect  (true | false) "false"
	width CDATA #REQUIRED
	height CDATA #REQUIRED
	autoSelect (none | first | last) "none"
	refAppDrillTo CDATA #IMPLIED
>
<!ELEMENT appDataDeck (appCardDefinition? | appDataCard | appDataDefaultCard? | appContainerSelect? | appContainerFilter? | appOnSelectSetVariableValues? | appDrills? | masterDetailLinks? | sortList? | listSuppress? | conditionalRender? | style? | XMLAttributes?)+>
<!ATTLIST appDataDeck
	name CDATA #REQUIRED
	displayForOrientation (both | portrait | landscape) "both"
	refQuery CDATA #REQUIRED
	width CDATA #IMPLIED
	height CDATA #IMPLIED
	slideDirection (topToBottom | rightToLeft | bottomToTop | leftToRight | autoVertical | autoHorizontal) #IMPLIED
>
<!ELEMENT appDataTabControl (appTabDefinition? | appDataTabDeck | appContainerSelect? | appOnSelectSetVariableValues? | appDrills? | masterDetailLinks? | sortList? | listSuppress? | conditionalRender? | style? | appTextStyle? | XMLAttributes?)+>
<!ATTLIST appDataTabControl
	name CDATA #REQUIRED
	displayForOrientation (both | portrait | landscape) "both"
	refQuery CDATA #REQUIRED
	tabOrientation (topLeft | bottomLeft) "topLeft"
	width CDATA #IMPLIED
	height CDATA #IMPLIED
	tabWidth CDATA #IMPLIED
>
<!ELEMENT appDataButtonBar (appButtonDefinition? | appOnSelectSetVariableValues? | appDrills? | appContainerSelect? | appControlEnabled? | masterDetailLinks? | sortList? | listSuppress? | conditionalRender? | style? | appTextStyle? | XMLAttributes?)*>
<!ATTLIST appDataButtonBar
	name CDATA #REQUIRED
	displayForOrientation (both | portrait | landscape) "both"
	refQuery CDATA #REQUIRED
	orientation (horizontal | vertical) "horizontal"
	buttonWidth CDATA #IMPLIED
	buttonGap CDATA #IMPLIED
	refAppDrillTo CDATA #IMPLIED
>
<!ELEMENT appDataToggleButtonBar (appButtonDefinition? | appContainerSelect? | appOnSelectSetVariableValues? | appDrills? | appControlEnabled? | masterDetailLinks? | sortList? | listSuppress? | conditionalRender? | style? | appTextStyle? | XMLAttributes?)*>
<!ATTLIST appDataToggleButtonBar
	name CDATA #REQUIRED
	displayForOrientation (both | portrait | landscape) "both"
	refQuery CDATA #REQUIRED
	orientation (horizontal | vertical) "horizontal"
	buttonWidth CDATA #IMPLIED
	buttonGap CDATA #IMPLIED
	refAppDrillTo CDATA #IMPLIED
>
<!ELEMENT appDataRadioButtonGroup (appRadioButtonDefinition? | appContainerSelect? | appOnSelectSetVariableValues? | appDrills? | appControlEnabled? | masterDetailLinks? | sortList? | listSuppress? | conditionalRender? | appContainerFilter? | style? | appTextStyle? | XMLAttributes?)*>
<!ATTLIST appDataRadioButtonGroup
	name CDATA #REQUIRED
	displayForOrientation (both | portrait | landscape) "both"
	refQuery CDATA #REQUIRED
	orientation (horizontal | vertical) "horizontal"
	textColor CDATA #IMPLIED
	autoSelect (none | first | last) "none"
	refAppDrillTo CDATA #IMPLIED
>
<!ELEMENT appDataCheckboxGroup (appCheckboxDefinition? | appOnSelectSetVariableValues? | appDrills? | appContainerSelect? | appControlEnabled? | masterDetailLinks? | sortList? | listSuppress? | conditionalRender? | appContainerFilter? | style? | appTextStyle? | XMLAttributes?)*>
<!ATTLIST appDataCheckboxGroup
	name CDATA #REQUIRED
	displayForOrientation (both | portrait | landscape) "both"
	refQuery CDATA #REQUIRED
	orientation (horizontal | vertical) "horizontal"
	textColor CDATA #IMPLIED
	refAppDrillTo CDATA #IMPLIED
>
<!ELEMENT appDataIterator (appIteratorUI? | appIteratorDefinition? | appContainerSelect? | appOnSelectSetVariableValues? | appDrills? | appContainerFilter? | appControlEnabled? | conditionalRender? | masterDetailLinks? | sortList? | listSuppress? | style? | appTextStyle? | XMLAttributes?)*>
<!ATTLIST appDataIterator
	name CDATA #REQUIRED
	displayForOrientation (both | portrait | landscape) "both"
	refQuery CDATA #REQUIRED
	orientation (horizontal | vertical) "horizontal"
	refAppDrillTo CDATA #IMPLIED
>
<!ELEMENT appDataDiscreteSlider (appSliderDefinition? | appSliderTrackValuesStyle? | appContainerSelect? | appOnSelectSetVariableValues? | appDrills? | appContainerFilter? | appControlEnabled? | conditionalRender? | masterDetailLinks? | sortList? | listSuppress? | style? | appTextStyle? | XMLAttributes?)*>
<!ATTLIST appDataDiscreteSlider
	name CDATA #REQUIRED
	displayForOrientation (both | portrait | landscape) "both"
	refQuery CDATA #REQUIRED
	animate  (true | false) "false"
	orientation (horizontal | vertical) "horizontal"
	rangeType (none | min | max | range) "none"
	labelColor CDATA "black"
	tickType (none | noLabels | percent | values) "values"
	tickLabelSkipInterval CDATA #IMPLIED
	live  (true | false) "false"
	trackLength CDATA "300px"
	showTooltip  (true | false) "true"
	reverse  (true | false) "false"
	tickInterval CDATA #IMPLIED
	refAppDrillTo CDATA #IMPLIED
>
<!ELEMENT appList (appListDataSet | appListColumns? | appListSummaryFooter? | appListColumnsStyle? | appListColumnTitlesStyle? | appListColumnBodiesStyle? | appContainerFilter? | appContainerSelect? | appOnSelectSetVariableValues? | appDrills? | XMLAttributes? | summaryText? | appListBorders? | appListRowStyleSequence?)+>
<!ATTLIST appList
	name CDATA #REQUIRED
	displayForOrientation (both | portrait | landscape) "both"
	layoutTable  (true | false) "false"
	rowHeight CDATA #REQUIRED
	scrollableAreaHeight CDATA #REQUIRED
	showColumnTitles  (true | false) "true"
	showHover  (true | false) "true"
	selectionBackgroundColor CDATA #IMPLIED
	selectionForegroundColor CDATA #IMPLIED
	refAppDrillTo CDATA #IMPLIED
>
<!ELEMENT appIFrame (style? | XMLAttributes?)*>
<!ATTLIST appIFrame
	name CDATA #REQUIRED
	displayForOrientation (both | portrait | landscape) "both"
	src CDATA #REQUIRED
>
<!ELEMENT appContainerFilter (appCondition)>
<!ELEMENT appContainerSelect (appCondition)>
<!ELEMENT appCondition (appConditionAnd | appConditionOr | appConditionNot | appConditionDataItemComparison | appConditionConstantComparison | appConditionIsVariableEmpty | appConditionIsDataItemEmpty | appConditionDataItemConstantComparison)>
<!ELEMENT appListSummary (style? | appTextStyle? | XMLAttributes?)*>
<!ATTLIST appListSummary
	refDataItem CDATA #REQUIRED
	summaryMethod (total | minimum | maximum | average | count) "total"
>
<!ELEMENT appCrosstabSummary (contents | style? | factCell? | XMLAttributes? | appCrosstabNodeMemberProperties?)+>
<!ATTLIST appCrosstabSummary
	refDataItem CDATA #REQUIRED
	appSolveOrder CDATA "1"
	edgeLocation CDATA #IMPLIED
	summaryMethod (total | minimum | maximum | average | count) "total"
>
<!ELEMENT appVariableTextItem (style? | conditionalRender? | appTextStyle? | XMLAttributes?)*>
<!ATTLIST appVariableTextItem
	refAppVariable CDATA #REQUIRED
	whichValues (list | first | last | min | max) "list"
	displayForOrientation (both | portrait | landscape) "both"
>
<!ELEMENT appChartProperties (appChartClickableRegions?)>
<!ATTLIST appChartProperties
	showHover  (true | false) "true"
	showPointer  (true | false) "false"
	clickable  (true | false) "false"
>
<!ELEMENT appMapProperties EMPTY>
<!ATTLIST appMapProperties
	ignoreNoDataForHover  (true | false) "false"
>
<!ELEMENT appCrosstabProperties EMPTY>
<!ATTLIST appCrosstabProperties
	showHover  (true | false) "true"
	showPointer  (true | false) "false"
	clickable  (true | false) "false"
	clickableColumns  (true | false) "false"
	clickableRows  (true | false) "false"
>
<!ELEMENT appCrosstabNodeMemberProperties EMPTY>
<!ATTLIST appCrosstabNodeMemberProperties
	visible  (true | false) "true"
	clickable  (true | false) #IMPLIED
>
<!ELEMENT appCrosstabNodeMemberFactCellProperties EMPTY>
<!ATTLIST appCrosstabNodeMemberFactCellProperties
	clickable  (true | false) #IMPLIED
>
<!ELEMENT appCrosstabFactCellProperties EMPTY>
<!ATTLIST appCrosstabFactCellProperties
	clickable  (true | false) "true"
>
<!ELEMENT appCrosstabIntersectionProperties EMPTY>
<!ATTLIST appCrosstabIntersectionProperties
	clickable  (true | false) #IMPLIED
>
<!ELEMENT appListProperties EMPTY>
<!ATTLIST appListProperties
	showHover  (true | false) "true"
	showPointer  (true | false) "false"
	clickable  (true | false) "false"
>
<!ELEMENT appListColumnProperties (appListColumnVisible?)>
<!ATTLIST appListColumnProperties
	allowSorting  (true | false) "false"
	visible  (true | false) "true"
	clickable  (true | false) "true"
>
<!ELEMENT appListRowProperties EMPTY>
<!ATTLIST appListRowProperties
	clickable  (true | false) "false"
>
<!ELEMENT appDataRepeaterTableProperties EMPTY>
<!ATTLIST appDataRepeaterTableProperties
	showHover  (true | false) "true"
	showPointer  (true | false) "false"
	clickable  (true | false) "false"
>
<!ELEMENT appRepeaterTableProperties EMPTY>
<!ATTLIST appRepeaterTableProperties
	showHover  (true | false) "true"
	showPointer  (true | false) "false"
	clickable  (true | false) "false"
>
<!ELEMENT appRowNumber (style? | appTextStyle? | XMLAttributes?)*>
<!ATTLIST appRowNumber
	displayForOrientation (both | portrait | landscape) "both"
>
<!ELEMENT appDrills (appDrill+)>
<!ELEMENT appDrillTos (appDrillTo+)>
<!ELEMENT appProperties (appVariables? | appWindowTitle? | appWindowIcon? | appWindowSize? | appMaxRows? | appAccess? | appRanges?)*>
<!ATTLIST appProperties
	compressOutput  (true | false) "true"
	scalable  (true | false) "true"
>
<!ELEMENT appOnSelectSetVariableValues ((appSetVariableValueToDataItemValue | appSetVariableValueToConstant | appClearVariable | appSetVariableValueToContinuousValue)+)>
<!ELEMENT appListItemDefinition (appListItemLabel? | appListItemIcon? | appListItemValues?)*>
<!ELEMENT appNoValueListItem (appNoValueListItemLabel)>
<!ATTLIST appNoValueListItem
	lastItemInList  (true | false) "false"
>
<!ELEMENT appStaticDataTable (appStaticDataItems | appStaticDataRows)+>
<!ELEMENT appStaticDataItems (appStaticDataItem+)>
<!ELEMENT appControlEnabled (appCondition)>
<!ELEMENT appVariableValue (#PCDATA)>
<!ATTLIST appVariableValue
	xml:space (default | preserve) "preserve"
>
<!ELEMENT appButtonDefinition (appButtonLabel? | appButtonIcon? | appButtonValues?)*>
<!ELEMENT appRadioButtonDefinition (appRadioButtonLabel? | appRadioButtonIcon? | appRadioButtonValues?)*>
<!ELEMENT appCheckboxDefinition (appCheckboxLabel? | appCheckboxIcon? | appCheckboxValues?)*>
<!ELEMENT appTabDefinition (appTabLabel? | appTabIcon? | appTabValues?)*>
<!ELEMENT appTabCard (contents | XMLAttributes?)+>
<!ELEMENT appDataSource (appStaticDataTable)>
<!ELEMENT appCardDefinition (appCardLabel? | appCardValues?)*>
<!ELEMENT appIteratorDefinition (appIteratorLabel? | appIteratorIcon? | appIteratorValues?)*>
<!ELEMENT appIteratorButton EMPTY>
<!ELEMENT appIteratorSiblingLabel EMPTY>
<!ATTLIST appIteratorSiblingLabel
	width CDATA #IMPLIED
	textColor CDATA #IMPLIED
>
<!ELEMENT appIteratorUI (appIteratorFirst? | appIteratorLast? | appIteratorPrevious? | appIteratorNext? | appIteratorLabelArea?)*>
<!ELEMENT appIteratorText (defaultText | localizedText?)+>
<!ATTLIST appIteratorText
	width CDATA #IMPLIED
	textColor CDATA #IMPLIED
>
<!ELEMENT appIteratorSiblingLabelButton EMPTY>
<!ATTLIST appIteratorSiblingLabelButton
	width CDATA #IMPLIED
>
<!ELEMENT appIteratorTextButton (defaultText | localizedText?)+>
<!ATTLIST appIteratorTextButton
	width CDATA #IMPLIED
>
<!ELEMENT appSliderDefinition (appSliderLabel? | appSliderValues?)*>
<!ELEMENT appSliderTrackValuesStyle (style)>
<!ELEMENT appRepeaterTableCellDefinition (appRepeaterTableCellLabel? | appRepeaterTableCellValues?)*>
<!ELEMENT appTextStyle (style? | XMLAttributes?)*>
<!ELEMENT appListColumnVisible (appCondition)>
<!ELEMENT reportDataStores (reportDataStore+)>
<!ELEMENT setParameters ((setParameterToColValue)+)>
<!ELEMENT reportDataStoreRowSort (dsRowSortColumn+)>
<!ELEMENT dsFilters (dsFilter+)>
<!ELEMENT lcSummaryRows (lcSummaryRow+)>
<!ELEMENT lcSorting (lcSort+)>
<!ELEMENT layouts (layout | conditionalLayouts?)+>
<!ELEMENT layout (reportPages? | promptPages? | defaultDataFormats? | pageSetup?)*>
<!ELEMENT pageSet (pageOverallGroup? | pageGroups? | detailPages | masterDetailLinks? | propertyList? | sortList?)+>
<!ATTLIST pageSet
	name CDATA #REQUIRED
	refQuery CDATA #REQUIRED
	resetPageNumber CDATA #IMPLIED
	resetPageCount CDATA #IMPLIED
>
<!ELEMENT page (pageBody | pageHeader? | pageFooter? | conditionalRender? | style? | conditionalStyles? | conditionalStyleRefs? | propertyList? | masterDetailLinks? | XMLAttributes? | pageSetup? | pageSections? | pageGradient? | pageModule?)+>
<!ATTLIST page
	name CDATA #REQUIRED
	refQuery CDATA #IMPLIED
	horizontalPageCounter  (true | false) "false"
	resetPageNumber CDATA #IMPLIED
	resetPageCount CDATA #IMPLIED
>
<!ELEMENT bookletItem (reportPath | TOCEntry?)+>
<!ATTLIST bookletItem
	name CDATA #REQUIRED
	resolvePromptPages  (true | false) "false"
	parameterHandling (ignore | use) "ignore"
	rollupTOC  (true | false) "false"
	startHeadingLevel CDATA "1"
	resetPageNumber CDATA #IMPLIED
	resetPageCount CDATA #IMPLIED
>
<!ELEMENT list (listColumns? | listColumnStyle? | listColumnTitleStyle? | listColumnBodyStyle? | listOverallGroup? | listGroups? | propertyList? | sortList? | listPageHeader? | listPageFooter? | masterDetailLinks? | style? | conditionalStyles? | conditionalStyleRefs? | conditionalRender? | XMLAttributes? | noDataHandler? | containerDropShadow? | listSuppress? | summaryText? | appContainerFilter? | appContainerSelect? | appOnSelectSetVariableValues? | appDrills? | appListProperties? | sectionsFrame?)*>
<!ATTLIST list
	refQuery CDATA #REQUIRED
	rowsPerPage CDATA #IMPLIED
	cellHeightBehavior (minimal | stretch) "minimal"
	showColumnTitles (hide | startOfList | startOfDetails | startOfFirstDetailsOnPage) "startOfList"
	pageBreakText  (true | false) "true"
	name CDATA #IMPLIED
	repeatEveryPage  (true | false) "false"
	keepWithHeader CDATA #IMPLIED
	keepWithFooter CDATA #IMPLIED
	horizontalPagination  (true | false) "false"
	renderPageWhenEmpty  (true | false) "true"
	shareResultSet  (true | false) "false"
	displayForOrientation (both | portrait | landscape) "both"
	layoutTable  (true | false) "false"
	refAppDrillTo CDATA #IMPLIED
	scrollableAreaHeight CDATA #IMPLIED
>
<!ELEMENT crosstab (crosstabColumns? | crosstabRows? | crosstabFactCell? | defaultMeasure? | crosstabCorner? | crosstabIntersections? | crosstabRowNodeStyle? | crosstabColumnNodeStyle? | masterDetailLinks? | style? | conditionalStyles? | conditionalStyleRefs? | conditionalRender? | XMLAttributes? | noDataHandler? | containerDropShadow? | crosstabSuppress? | summaryText? | appContainerFilter? | appContainerSelect? | appOnSelectSetVariableValues? | appDrills? | appCrosstabProperties?)*>
<!ATTLIST crosstab
	refQuery CDATA #REQUIRED
	rowsPerPage CDATA #IMPLIED
	factCellStylePrecedence (rows | columns) "rows"
	pageBreakText  (true | false) "true"
	name CDATA #IMPLIED
	repeatEveryPage  (true | false) "false"
	horizontalPagination  (true | false) "false"
	renderPageWhenEmpty  (true | false) "true"
	displayForOrientation (both | portrait | landscape) "both"
	layoutTable  (true | false) "false"
	refAppDrillTo CDATA #IMPLIED
>
<!ELEMENT repeaterTable (repeaterTableCell | repeaterGroups? | propertyList? | sortList? | masterDetailLinks? | style? | conditionalStyles? | conditionalStyleRefs? | conditionalRender? | XMLAttributes? | noDataHandler? | containerDropShadow? | listSuppress? | summaryText? | appContainerFilter? | appContainerSelect? | appOnSelectSetVariableValues? | appDataRepeaterTableProperties? | appRepeaterTableCellDefinition?)+>
<!ATTLIST repeaterTable
	refQuery CDATA #REQUIRED
	across CDATA #IMPLIED
	down CDATA #IMPLIED
	direction (lr-tb | tb-lr) "lr-tb"
	name CDATA #IMPLIED
	repeatEveryPage  (true | false) "false"
	renderPageWhenEmpty  (true | false) "true"
	shareResultSet  (true | false) "false"
	displayForOrientation (both | portrait | landscape) "both"
	layoutTable  (true | false) "false"
	refAppDrillTo CDATA #IMPLIED
>
<!ELEMENT repeater (contents | repeaterGroups? | propertyList? | sortList? | conditionalRender? | XMLAttributes? | masterDetailLinks? | noDataHandler? | listSuppress?)+>
<!ATTLIST repeater
	refQuery CDATA #REQUIRED
	rowsPerPage CDATA #IMPLIED
	name CDATA #IMPLIED
	repeatEveryPage  (true | false) "false"
	renderPageWhenEmpty  (true | false) "true"
	shareResultSet  (true | false) "false"
	displayForOrientation (both | portrait | landscape) "both"
>
<!ELEMENT burst (burstGroups | burstRecipient | burstLabel?)+>
<!ATTLIST burst
	refQuery CDATA #REQUIRED
>
<!ELEMENT repeaterGroups (repeaterGroup+)>
<!ELEMENT reportVariables (reportVariable+)>
<!ELEMENT classStyles (classStyle+)>
<!ELEMENT drillBehavior (drillQueryBehavior*)>
<!ATTLIST drillBehavior
	drillUpDown  (true | false) "false"
	modelBasedDrillThru  (true | false) "true"
>
<!ELEMENT drillSetsBehavior (linkedDrillItemSets)>
<!ELEMENT noDataHandler (contents)>
<!ELEMENT contents ((list | crosstab | repeaterTable | repeater | singleton | block | table | textItem | pageSectionText | contextItemText | pageNumber | rowNumber | date | time | image | hyperlink | button | promptButton | HTMLItem | richTextItem | bookmark | fieldSet | conditionalBlocks | layoutComponentRef | CMMMap | asOfTime | TOC | TOCEntry | queryFilterBlock | (pieChart | paretoChart | scatterChart | polarChart | radarChart | progressiveChart | combinationChart | bubbleChart | threeDCombinationChart | threeDScatterChart | gaugeChart | mapChart | metricsChart | marimekkoChart | winLossChart | v2_combinationChart | v2_scatterChart | v2_pieChart | v2_gaugeChart | v2_bubbleChart | v2_paretoChart | v2_progressiveChart | v2_bulletChart | viz) | (textBox | selectDate | selectDateTime | selectTime | selectInterval | selectValue | selectWithSearch | selectWithTree | generatedPrompt | selectFile) | (appRepeaterTable | appDeck | appTabControl | appButton | appButtonBar | appToggleButtonBar | appDropDownList | appListBox | appRadioButtonGroup | appCheckboxGroup | appDataDropDownList | appDataListBox | appDataButtonBar | appDataToggleButtonBar | appDataCheckboxGroup | appDataRadioButtonGroup | appDataDeck | appDataTabControl | appListSummary | appVariableTextItem | appIterator | appDataIterator | appRowNumber | appDiscreteSlider | appContinuousSlider | appDataDiscreteSlider | appList | appIFrame) | customControl | (vizControl | listControl | dropDownList) | notebook)*)>
<!ELEMENT rowCellsStyle (style? | conditionalStyles? | conditionalStyleRefs? | XMLAttributes?)*>
<!ELEMENT factCell (contents? | style? | conditionalStyles? | conditionalStyleRefs? | XMLAttributes? | appCrosstabNodeMemberFactCellProperties?)*>
<!ELEMENT variableValue EMPTY>
<!ATTLIST variableValue
	value CDATA #REQUIRED
>
<!ELEMENT headerPages ((page | pageSet)+)>
<!ELEMENT footerPages ((page | pageSet)+)>
<!ELEMENT listRows (listRow+)>
<!ELEMENT listHeader (listRows | rowCellsStyle? | XMLAttributes? | propertyList?)+>
<!ATTLIST listHeader
	repeatEveryPage  (true | false) "false"
>
<!ELEMENT listFooter (listRows | rowCellsStyle? | XMLAttributes? | propertyList?)+>
<!ATTLIST listFooter
	pushToBottom  (true | false) "false"
>
<!ELEMENT pageSetup (namedPaper | customPaper)?>
<!ATTLIST pageSetup
	orientation (portrait | landscape) "portrait"
>
<!ELEMENT pageSectionText (HUN | style? | XMLAttributes?)+>
<!ATTLIST pageSectionText
	displayForOrientation (both | portrait | landscape) "both"
>
<!ELEMENT contextItemText (HUN | style? | XMLAttributes?)+>
<!ATTLIST contextItemText
	refQuery CDATA #REQUIRED
	separator CDATA ", "
	displayForOrientation (both | portrait | landscape) "both"
>
<!ELEMENT pageNumber (style? | XMLAttributes?)*>
<!ATTLIST pageNumber
	beforeText CDATA #IMPLIED
	beforeVerticalText CDATA #IMPLIED
	verticalType (number | lowerCaseRoman | upperCaseRoman | range) "number"
	afterVerticalText CDATA #IMPLIED
	separatorText CDATA #IMPLIED
	horizontalPageCounter  (true | false) "false"
	horizontalPagination  (true | false) "false"
	beforeHorizontalText CDATA #IMPLIED
	horizontalType (none | number | lowerCaseLetter | upperCaseLetter | range | upperCaseRoman | lowerCaseRoman) "none"
	verticalRangeSeparator CDATA #IMPLIED
	horizontalRangeSeparator CDATA #IMPLIED
	afterHorizontalText CDATA #IMPLIED
	afterText CDATA #IMPLIED
	displayForOrientation (both | portrait | landscape) "both"
>
<!ELEMENT rowNumber (style? | XMLAttributes?)*>
<!ATTLIST rowNumber
	displayForOrientation (both | portrait | landscape) "both"
>
<!ELEMENT date (style? | XMLAttributes?)*>
<!ATTLIST date
	displayForOrientation (both | portrait | landscape) "both"
>
<!ELEMENT time (style? | XMLAttributes?)*>
<!ATTLIST time
	displayForOrientation (both | portrait | landscape) "both"
>
<!ELEMENT summaryText (defaultText | localizedText?)+>
<!ELEMENT defaultDataFormats (numberFormat? | percentFormat? | currencyFormat? | dateFormat? | dateTimeFormat? | timeFormat? | intervalFormat? | stringFormat?)*>
<!ELEMENT TOCEntry (contents | style? | conditionalStyles? | conditionalStyleRefs? | conditionalRender? | XMLAttributes?)+>
<!ATTLIST TOCEntry
	headingLevel CDATA "1"
	refToc CDATA #REQUIRED
>
<!ELEMENT builtinViz (percentageSizedViz | coloredViz | htmlViz)>
<!ELEMENT chartTextStyle (style? | XMLAttributes?)*>
<!ELEMENT fillEffects (chartGradient | chartPattern | chartColor)>
<!ELEMENT pieChart (pies? | pieSlices? | notes? | chartSubTitle? | chartTitle? | chartFooter? | chartBody? | chartPalette? | style? | conditionalStyles? | conditionalStyleRefs? | conditionalRender? | XMLAttributes? | conditionalChartColors? | legend? | reportDrills? | pieLabels? | axisTitle? | defaultChartMeasure? | masterDetailLinks? | noDataHandler? | chartSuppress? | alternateText? | appOnSelectSetVariableValues? | appDrills? | appContainerSelect? | appChartProperties?)*>
<!ATTLIST pieChart
	refQuery CDATA #REQUIRED
	name CDATA #IMPLIED
	repeatEveryPage  (true | false) "false"
	showTooltips  (true | false) "false"
	renderPageWhenEmpty  (true | false) "true"
	maxHotspots CDATA #IMPLIED
	displayForOrientation (both | portrait | landscape) "both"
	refAppDrillTo CDATA #IMPLIED
	holeSize CDATA "0"
	depth CDATA "0"
	showPieLabels (none | inside | outside | outsideWithLines) "none"
	showPieValues (none | inside | outside | outsideWithLines) "none"
	showValuesAsPercent  (true | false) "false"
	showBorders  (true | false) "false"
	borderColor CDATA "black"
	borderTransparency CDATA "0"
	avoidLabelCollision  (true | false) "false"
>
<!ELEMENT radarChart (points? | radialClusters? | radialMeasure? | numericalAxisRadial? | baselines? | chartBody? | chartFooter? | chartPalette? | chartSubTitle? | chartTitle? | markers? | notes? | style? | conditionalStyles? | conditionalStyleRefs? | conditionalRender? | XMLAttributes? | conditionalChartColors? | legend? | ordinalAxis? | reportDrills? | masterDetailLinks? | noDataHandler? | chartSuppress? | alternateText? | appOnSelectSetVariableValues? | appDrills? | appContainerSelect? | appChartProperties?)*>
<!ATTLIST radarChart
	refQuery CDATA #REQUIRED
	name CDATA #IMPLIED
	repeatEveryPage  (true | false) "false"
	showTooltips  (true | false) "false"
	renderPageWhenEmpty  (true | false) "true"
	maxHotspots CDATA #IMPLIED
	displayForOrientation (both | portrait | landscape) "both"
	refAppDrillTo CDATA #IMPLIED
	useSpiderEffects  (true | false) "false"
	radarType (line | area | stackedArea) "line"
	showBorders  (true | false) "false"
	borderColor CDATA "black"
	borderTransparency CDATA "0"
	dataPointSize CDATA "6"
	pointChartDataPointShape (series | circle | square | house | hexagon | pentagon | diamond | triangle | downTriangle | rightTriangle | leftTriangle | skewLeftTriangle | skewRightTriangle | downSkewLeftTriangle | downSkewRightTriangle | verticalLine | horizontalLine | plus | fatPlus | star90 | pentagram | star | skewedStar | plainX | softX | fatX | spikedX | castle) "series"
	showValues  (true | false) "false"
	displayDataLocation (insideAtTop | outsideAtTop | insideAtBottom | outsideAtBottom | centered) "centered"
>
<!ELEMENT progressiveChart (progressiveBars? | numericalAxisProgressive? | total? | firstColumnColor? | positiveColumnColor? | negativeColumnColor? | chartBody? | baselines? | chartFooter? | chartPalette? | chartSubTitle? | chartTitle? | markers? | notes? | style? | conditionalStyles? | conditionalStyleRefs? | conditionalRender? | XMLAttributes? | conditionalChartColors? | ordinalAxis? | reportDrills? | connectLines? | defaultChartMeasure? | masterDetailLinks? | noDataHandler? | chartSuppress? | alternateText? | appOnSelectSetVariableValues? | appDrills? | appContainerSelect? | appChartProperties?)*>
<!ATTLIST progressiveChart
	refQuery CDATA #REQUIRED
	name CDATA #IMPLIED
	repeatEveryPage  (true | false) "false"
	showTooltips  (true | false) "false"
	renderPageWhenEmpty  (true | false) "true"
	maxHotspots CDATA #IMPLIED
	displayForOrientation (both | portrait | landscape) "both"
	refAppDrillTo CDATA #IMPLIED
	depth CDATA "0"
	visualAngle CDATA "45"
	orientation (vertical | horizontal) "vertical"
	showValues  (true | false) "false"
	displayDataLocation (insideAtTop | outsideAtTop | insideAtBottom | outsideAtBottom | centered) "centered"
	showBorders  (true | false) "false"
	borderColor CDATA "black"
	borderTransparency CDATA "0"
	rotateLabelsWithChart  (true | false) "false"
>
<!ELEMENT combinationChart (commonClusters? | combinationChartTypes? | baselines? | chartBody? | chartFooter? | chartPalette? | chartSubTitle? | chartTitle? | markers? | notes? | style? | conditionalStyles? | conditionalStyleRefs? | conditionalRender? | XMLAttributes? | conditionalChartColors? | legend? | numericalAxisY1? | numericalAxisY2? | ordinalAxis? | reportDrills? | defaultChartMeasure? | masterDetailLinks? | noDataHandler? | chartSuppress? | alternateText? | appOnSelectSetVariableValues? | appDrills? | appContainerSelect? | appChartProperties?)*>
<!ATTLIST combinationChart
	refQuery CDATA #REQUIRED
	name CDATA #IMPLIED
	repeatEveryPage  (true | false) "false"
	showTooltips  (true | false) "false"
	renderPageWhenEmpty  (true | false) "true"
	maxHotspots CDATA #IMPLIED
	displayForOrientation (both | portrait | landscape) "both"
	refAppDrillTo CDATA #IMPLIED
	rotateLabelsWithChart  (true | false) "false"
	matchSeriesColor  (true | false) "false"
	depth CDATA "0"
	visualAngle CDATA "45"
	orientation (vertical | horizontal) "vertical"
	axisY2Position (dual | bipolar) "dual"
	displayDataLocation (insideAtTop | outsideAtTop | insideAtBottom | outsideAtBottom | centered) "centered"
>
<!ELEMENT paretoChart (cumulationLine? | paretoBars? | paretoBarClusters? | baselines? | notes? | markers? | chartBody? | chartFooter? | chartSubTitle? | chartTitle? | chartPalette? | style? | conditionalStyles? | conditionalStyleRefs? | conditionalRender? | XMLAttributes? | conditionalChartColors? | legend? | ordinalAxis? | numericalAxisPareto? | reportDrills? | connectLines? | defaultChartMeasure? | masterDetailLinks? | noDataHandler? | chartSuppress? | alternateText? | appOnSelectSetVariableValues? | appDrills? | appContainerSelect? | appChartProperties?)*>
<!ATTLIST paretoChart
	refQuery CDATA #REQUIRED
	name CDATA #IMPLIED
	repeatEveryPage  (true | false) "false"
	showTooltips  (true | false) "false"
	renderPageWhenEmpty  (true | false) "true"
	maxHotspots CDATA #IMPLIED
	displayForOrientation (both | portrait | landscape) "both"
	refAppDrillTo CDATA #IMPLIED
	rotateLabelsWithChart  (true | false) "false"
	depth CDATA "0"
	visualAngle CDATA "45"
	orientation (vertical | horizontal) "vertical"
	showBorders  (true | false) "false"
	borderColor CDATA "black"
	borderTransparency CDATA "0"
	showValues  (true | false) "false"
	displayDataLocation (insideAtTop | outsideAtTop | insideAtBottom | outsideAtBottom | centered) "centered"
	showAbsoluteValues  (true | false) "true"
>
<!ELEMENT marimekkoChart (marimekkoBars? | marimekkoBarClusters? | baselines? | notes? | markers? | chartBody? | chartFooter? | chartSubTitle? | chartTitle? | chartPalette? | style? | conditionalStyles? | conditionalStyleRefs? | conditionalRender? | XMLAttributes? | conditionalChartColors? | legend? | ordinalAxis? | numericalAxisY? | reportDrills? | defaultChartMeasure? | masterDetailLinks? | noDataHandler? | chartSuppress? | alternateText? | appOnSelectSetVariableValues? | appDrills? | appContainerSelect? | appChartProperties?)*>
<!ATTLIST marimekkoChart
	refQuery CDATA #REQUIRED
	name CDATA #IMPLIED
	repeatEveryPage  (true | false) "false"
	showTooltips  (true | false) "false"
	renderPageWhenEmpty  (true | false) "true"
	maxHotspots CDATA #IMPLIED
	displayForOrientation (both | portrait | landscape) "both"
	refAppDrillTo CDATA #IMPLIED
	depth CDATA "0"
	visualAngle CDATA "45"
	showBorders  (true | false) "false"
	borderColor CDATA "black"
	borderTransparency CDATA "0"
	showMarimekkoValues (none | actual | percent) "none"
	marimekkoTotals  (true | false) "true"
>
<!ELEMENT winLossChart (winLossBars? | chartBody? | chartFooter? | chartSubTitle? | chartTitle? | style? | conditionalStyles? | winColor | lossColor | conditionalStyleRefs? | conditionalRender? | XMLAttributes? | reportDrills? | defaultChartMeasure? | winLossChartMeasure? | masterDetailLinks? | noDataHandler? | chartSuppress? | axisLine? | alternateText? | appOnSelectSetVariableValues? | appDrills? | appContainerSelect? | appChartProperties?)+>
<!ATTLIST winLossChart
	refQuery CDATA #REQUIRED
	name CDATA #IMPLIED
	repeatEveryPage  (true | false) "false"
	showTooltips  (true | false) "false"
	renderPageWhenEmpty  (true | false) "true"
	maxHotspots CDATA #IMPLIED
	displayForOrientation (both | portrait | landscape) "both"
	refAppDrillTo CDATA #IMPLIED
	orientation (vertical | horizontal) "vertical"
	showBorders  (true | false) "false"
	borderColor CDATA "black"
	borderTransparency CDATA "0"
	winLossValue CDATA "0"
	allowTies  (true | false) "false"
>
<!ELEMENT scatterChart (points? | pointClusters? | chartBody? | chartFooter? | defaultChartMeasure? | pointXMeasure? | pointYMeasure? | numericalAxisX? | numericalAxisY? | chartPalette? | chartSubTitle? | chartTitle? | notes? | style? | conditionalStyles? | conditionalStyleRefs? | conditionalRender? | XMLAttributes? | legend? | reportDrills? | pointChartMarkers? | pointChartBaselines? | conditionalChartColors? | masterDetailLinks? | regressionLine? | noDataHandler? | chartSuppress? | alternateText? | appOnSelectSetVariableValues? | appDrills? | appContainerSelect? | appChartProperties?)*>
<!ATTLIST scatterChart
	refQuery CDATA #REQUIRED
	name CDATA #IMPLIED
	repeatEveryPage  (true | false) "false"
	showTooltips  (true | false) "false"
	renderPageWhenEmpty  (true | false) "true"
	maxHotspots CDATA #IMPLIED
	displayForOrientation (both | portrait | landscape) "both"
	refAppDrillTo CDATA #IMPLIED
	showBorders  (true | false) "false"
	borderColor CDATA "black"
	borderTransparency CDATA "0"
	dataPointSize CDATA "6"
	pointChartDataPointShape (series | category | circle | square | house | hexagon | pentagon | diamond | triangle | downTriangle | rightTriangle | leftTriangle | skewLeftTriangle | skewRightTriangle | downSkewLeftTriangle | downSkewRightTriangle | verticalLine | horizontalLine | plus | fatPlus | star90 | pentagram | star | skewedStar | plainX | softX | fatX | spikedX | castle) "series"
	displayDataLocation (insideAtTop | outsideAtTop | insideAtBottom | outsideAtBottom | centered) "centered"
	showPointValues (none | valuesAndLabels | valuesOnly) "none"
	showPointValuesForPoints (none | valuesAndLabels | valuesOnly) "none"
	showPointValuesForPointClusters (none | valuesAndLabels | valuesOnly) "none"
>
<!ELEMENT bubbleChart (points? | pointClusters? | defaultChartMeasure? | pointXMeasure? | pointYMeasure? | bubbleMeasure? | numericalAxisX? | numericalAxisY? | chartBody? | chartFooter? | chartPalette? | chartSubTitle? | chartTitle? | notes? | pointChartMarkers? | style? | conditionalStyles? | conditionalStyleRefs? | conditionalRender? | XMLAttributes? | legend? | reportDrills? | pointChartBaselines? | conditionalChartColors? | masterDetailLinks? | regressionLine? | noDataHandler? | chartSuppress? | alternateText? | appOnSelectSetVariableValues? | appDrills? | appContainerSelect? | appChartProperties?)*>
<!ATTLIST bubbleChart
	refQuery CDATA #REQUIRED
	name CDATA #IMPLIED
	repeatEveryPage  (true | false) "false"
	showTooltips  (true | false) "false"
	renderPageWhenEmpty  (true | false) "true"
	maxHotspots CDATA #IMPLIED
	displayForOrientation (both | portrait | landscape) "both"
	refAppDrillTo CDATA #IMPLIED
	showBorders  (true | false) "false"
	borderColor CDATA "black"
	borderTransparency CDATA "0"
	pointChartDataPointShape (series | category | circle | square | house | hexagon | pentagon | diamond | triangle | downTriangle | rightTriangle | leftTriangle | skewLeftTriangle | skewRightTriangle | downSkewLeftTriangle | downSkewRightTriangle | verticalLine | horizontalLine | plus | fatPlus | star90 | pentagram | star | skewedStar | plainX | softX | fatX | spikedX | castle) "series"
	showBubblePointValues (none | valuesAndLabels | valuesOnly | sizeValueAndLabel | sizeValueOnly) "none"
	showPointValuesForPoints (none | valuesAndLabels | valuesOnly) "none"
	showPointValuesForPointClusters (none | valuesAndLabels | valuesOnly) "none"
	displayDataLocation (insideAtTop | outsideAtTop | insideAtBottom | outsideAtBottom | centered) "centered"
	bubbleSizing (minimumBased | zeroBased | zeroBasedWithNegativesOutlined) "minimumBased"
>
<!ELEMENT polarChart (defaultChartMeasure? | radialMeasure? | angularMeasure? | numericalAxisAngular? | numericalAxisRadial? | points? | pointClusters? | chartBody? | chartFooter? | chartPalette? | chartSubTitle? | chartTitle? | pointChartMarkers? | notes? | style? | conditionalStyles? | conditionalStyleRefs? | conditionalRender? | XMLAttributes? | legend? | reportDrills? | pointChartBaselines? | conditionalChartColors? | masterDetailLinks? | noDataHandler? | chartSuppress? | alternateText? | appOnSelectSetVariableValues? | appDrills? | appContainerSelect? | appChartProperties?)*>
<!ATTLIST polarChart
	refQuery CDATA #REQUIRED
	name CDATA #IMPLIED
	repeatEveryPage  (true | false) "false"
	showTooltips  (true | false) "false"
	renderPageWhenEmpty  (true | false) "true"
	maxHotspots CDATA #IMPLIED
	displayForOrientation (both | portrait | landscape) "both"
	refAppDrillTo CDATA #IMPLIED
	useSpiderEffects  (true | false) "false"
	showBorders  (true | false) "false"
	borderColor CDATA "black"
	borderTransparency CDATA "0"
	dataPointSize CDATA "6"
	pointChartDataPointShape (series | category | circle | square | house | hexagon | pentagon | diamond | triangle | downTriangle | rightTriangle | leftTriangle | skewLeftTriangle | skewRightTriangle | downSkewLeftTriangle | downSkewRightTriangle | verticalLine | horizontalLine | plus | fatPlus | star90 | pentagram | star | skewedStar | plainX | softX | fatX | spikedX | castle) "series"
	showPointValues (none | valuesAndLabels | valuesOnly) "none"
	showPointValuesForPoints (none | valuesAndLabels | valuesOnly) "none"
	showPointValuesForPointClusters (none | valuesAndLabels | valuesOnly) "none"
	displayDataLocation (insideAtTop | outsideAtTop | insideAtBottom | outsideAtBottom | centered) "centered"
>
<!ELEMENT threeDCombinationChart (commonClusters? | threeDCombinationChartTypes? | chartTitle? | chartSubTitle? | chartBody? | chartFooter? | chartPalette? | notes? | style? | conditionalStyles? | conditionalStyleRefs? | conditionalRender? | XMLAttributes? | conditionalChartColors? | reportDrills? | numericalAxis? | threeDComboBaselines? | ordinalAxisX? | ordinalAxisY? | defaultChartMeasure? | masterDetailLinks? | noDataHandler? | chartSuppress? | alternateText? | appOnSelectSetVariableValues? | appDrills? | appContainerSelect? | appChartProperties?)*>
<!ATTLIST threeDCombinationChart
	refQuery CDATA #REQUIRED
	name CDATA #IMPLIED
	repeatEveryPage  (true | false) "false"
	showTooltips  (true | false) "false"
	renderPageWhenEmpty  (true | false) "true"
	maxHotspots CDATA #IMPLIED
	displayForOrientation (both | portrait | landscape) "both"
	refAppDrillTo CDATA #IMPLIED
	threeDViewingAngle (standard | thickStandard | lowThin | near1x3 | tallFar | groupView | nearView | seriesView | groupStretch | seriesStretch | birdsEye | lowHigh | lowLow | tallDistortion | lowDistort | isometric) "standard"
	matchSeriesColor  (true | false) "false"
>
<!ELEMENT threeDScatterChart (points? | pointClusters? | defaultChartMeasure? | pointXMeasure? | pointYMeasure? | pointZMeasure? | numericalAxisX? | numericalAxisY? | numericalAxisZ? | chartBody? | chartFooter? | chartPalette? | chartSubTitle? | chartTitle? | notes? | style? | conditionalStyles? | conditionalStyleRefs? | conditionalRender? | XMLAttributes? | threeDScatterBaselines? | legend? | reportDrills? | conditionalChartColors? | masterDetailLinks? | noDataHandler? | chartSuppress? | alternateText? | appOnSelectSetVariableValues? | appDrills? | appContainerSelect? | appChartProperties?)*>
<!ATTLIST threeDScatterChart
	refQuery CDATA #REQUIRED
	name CDATA #IMPLIED
	repeatEveryPage  (true | false) "false"
	showTooltips  (true | false) "false"
	renderPageWhenEmpty  (true | false) "true"
	maxHotspots CDATA #IMPLIED
	displayForOrientation (both | portrait | landscape) "both"
	refAppDrillTo CDATA #IMPLIED
	threeDViewingAngle (standard | thickStandard | lowThin | near1x3 | tallFar | groupView | nearView | seriesView | groupStretch | seriesStretch | birdsEye | lowHigh | lowLow | tallDistortion | lowDistort | isometric) "standard"
	showFeelers  (true | false) "true"
	dataPointSize CDATA "6"
	pointChartDataPointShape (series | category | circle | square | house | hexagon | pentagon | diamond | triangle | downTriangle | rightTriangle | leftTriangle | skewLeftTriangle | skewRightTriangle | downSkewLeftTriangle | downSkewRightTriangle | verticalLine | horizontalLine | plus | fatPlus | star90 | pentagram | star | skewedStar | plainX | softX | fatX | spikedX | castle) "series"
	showPointValues (none | valuesAndLabels | valuesOnly) "none"
	showPointValuesForPoints (none | valuesAndLabels | valuesOnly) "none"
	showPointValuesForPointClusters (none | valuesAndLabels | valuesOnly) "none"
	showBorders  (true | false) "false"
	borderColor CDATA "black"
	borderTransparency CDATA "0"
>
<!ELEMENT gaugeChart (gauges? | indicators? | notes? | chartSubTitle? | chartTitle? | chartFooter? | chartBody? | chartPalette? | style? | conditionalStyles? | conditionalStyleRefs? | conditionalRender? | XMLAttributes? | conditionalChartColors? | legend? | reportDrills? | gaugeLabels? | axisTitle? | defaultChartMeasure? | masterDetailLinks? | gaugeNumericalAxis? | gaugePalette? | noDataHandler? | chartSuppress? | alternateText? | appOnSelectSetVariableValues? | appDrills? | appContainerSelect? | appChartProperties?)*>
<!ATTLIST gaugeChart
	refQuery CDATA #REQUIRED
	name CDATA #IMPLIED
	repeatEveryPage  (true | false) "false"
	showTooltips  (true | false) "false"
	renderPageWhenEmpty  (true | false) "true"
	maxHotspots CDATA #IMPLIED
	displayForOrientation (both | portrait | landscape) "both"
	refAppDrillTo CDATA #IMPLIED
	showBorders  (true | false) "false"
	borderColor CDATA "black"
	borderTransparency CDATA "0"
	faceColor CDATA "white"
	faceTransparency CDATA "0"
	dialOutlineColor CDATA "black"
	dialOutlineTransparency CDATA "0"
>
<!ELEMENT mapChart (notes? | chartSubTitle? | chartTitle? | chartFooter? | chartBody? | style? | conditionalStyles? | conditionalStyleRefs? | conditionalRender? | XMLAttributes? | legend? | masterDetailLinks? | pointLayer? | regionLayer? | displayLayers? | mapDictionary? | axisTitle? | reportDrills? | noDataHandler? | chartSuppress? | alternateText? | chartTextStyle? | appOnSelectSetVariableValues? | appDrills? | appContainerSelect? | appChartProperties? | appMapProperties?)*>
<!ATTLIST mapChart
	refQuery CDATA #REQUIRED
	name CDATA #IMPLIED
	repeatEveryPage  (true | false) "false"
	showTooltips  (true | false) "false"
	renderPageWhenEmpty  (true | false) "true"
	maxHotspots CDATA #IMPLIED
	displayForOrientation (both | portrait | landscape) "both"
	refAppDrillTo CDATA #IMPLIED
	refMap CDATA #REQUIRED
	noDataFeaturesSize CDATA "5"
	allowUnplottedData  (true | false) "false"
	dataLocale CDATA #IMPLIED
	expandFeatures  (true | false) "false"
>
<!ELEMENT metricsChart (commonClusters? | combinationChartTypes? | defaultChartMeasure? | toleranceMeasure? | targetMeasure? | baselines? | chartBody? | chartFooter? | chartPalette? | chartSubTitle? | chartTitle? | markers? | notes? | style? | conditionalStyles? | conditionalStyleRefs? | conditionalRender? | XMLAttributes? | conditionalChartColors? | legend? | numericalAxisY1? | ordinalAxis? | reportDrills? | masterDetailLinks? | targetLabel? | toleranceLabel? | diamondLabel? | noDataHandler? | chartSuppress? | alternateText? | appOnSelectSetVariableValues? | appDrills? | appContainerSelect? | appChartProperties?)*>
<!ATTLIST metricsChart
	refQuery CDATA #REQUIRED
	name CDATA #IMPLIED
	repeatEveryPage  (true | false) "false"
	showTooltips  (true | false) "false"
	renderPageWhenEmpty  (true | false) "true"
	maxHotspots CDATA #IMPLIED
	displayForOrientation (both | portrait | landscape) "both"
	refAppDrillTo CDATA #IMPLIED
	depth CDATA "0"
	visualAngle CDATA "45"
	displayDataLocation (insideAtTop | outsideAtTop | insideAtBottom | outsideAtBottom | centered) "centered"
	toleranceColor CDATA "green"
	toleranceTransparency CDATA "0"
	targetRange CDATA "50"
	targetColor CDATA "#FFC800"
	targetTransparency CDATA "0"
	markerColor CDATA "green"
	markerTransparency CDATA "0"
	targetBorderColor CDATA "black"
	targetBorderTransparency CDATA "0"
	performancePattern (onTarget | belowTarget | aboveTarget) "onTarget"
	skew CDATA "100"
	showTargetMarker  (true | false) "true"
	targetMarkerPosition (first | center) "first"
>
<!ELEMENT ordinalAxis (style? | conditionalStyles? | conditionalStyleRefs? | axisTitle? | reportDrills? | gridlines? | minorGridlines? | axisLine? | labelControl?)*>
<!ATTLIST ordinalAxis
	categoryitemMaxCharacters CDATA "48"
	categoryitemEnableTruncation  (true | false) "true"
	truncationText CDATA "..."
	showAxisLabels  (true | false) "true"
>
<!ELEMENT baselines (baseline+)>
<!ELEMENT notes (note+)>
<!ELEMENT pointChartMarkers (pointChartMarker+)>
<!ATTLIST pointChartMarkers
	markerTextLocation (none | chart | legend) "chart"
>
<!ELEMENT markers (marker+)>
<!ATTLIST markers
	markerTextLocation (none | chart | legend) "chart"
>
<!ELEMENT legend (style? | conditionalStyles? | conditionalStyleRefs? | legendPosition | legendTitle? | reportDrills? | fillEffects?)+>
<!ATTLIST legend
	autoFontResizing  (true | false) "true"
	allowTruncation  (true | false) "true"
	truncationText CDATA "..."
	maxCharacters CDATA "48"
	separator CDATA " - "
	showBorders  (true | false) "false"
	borderColor CDATA "black"
	borderTransparency CDATA "0"
	showLegendValues (none | first | last | min | max) "none"
>
<!ELEMENT chartTitle (chartContents? | style? | conditionalStyles? | conditionalStyleRefs? | XMLAttributes? | propertyList? | masterDetailLinks?)*>
<!ATTLIST chartTitle
	refQuery CDATA #REQUIRED
>
<!ELEMENT chartSubTitle (chartContents? | style? | conditionalStyles? | conditionalStyleRefs? | XMLAttributes? | propertyList? | masterDetailLinks?)*>
<!ATTLIST chartSubTitle
	refQuery CDATA #REQUIRED
>
<!ELEMENT chartGradient EMPTY>
<!ATTLIST chartGradient
	direction (up | down | left | right) "down"
	fromColor CDATA "black"
	toColor CDATA "white"
>
<!ELEMENT chartColor EMPTY>
<!ATTLIST chartColor
	value CDATA "black"
>
<!ELEMENT chartPattern EMPTY>
<!ATTLIST chartPattern
	patternType (horizontal | vertical | forwardDiagonal | backwardDiagonal | cross | diagonalCross) "horizontal"
	foregroundColor CDATA "black"
	backgroundColor CDATA "white"
>
<!ELEMENT chartPalette ((chartGradient | chartColor | chartPattern)+)>
<!ELEMENT chartNode (chartNodeMembers | chartNestedNodes?)+>
<!ELEMENT chartFooter (chartContents? | style? | conditionalStyles? | conditionalStyleRefs? | XMLAttributes? | propertyList? | masterDetailLinks?)*>
<!ATTLIST chartFooter
	refQuery CDATA #REQUIRED
>
<!ELEMENT chartBody (style? | conditionalStyles? | conditionalStyleRefs? | fillEffects?)*>
<!ELEMENT progressiveBars (chartNodes?)>
<!ELEMENT gridlines EMPTY>
<!ATTLIST gridlines
	lineStyle (solid | dash | dot | dotdash | dashdotdot | mediumdash | shortdash | longdash | longdot | dotdotdot | dashdashdot | dashdashdotdot | longdashdot | longdashdotdot | longdashdashdot | longdashdashdotdot) "solid"
	weight CDATA "0"
	color CDATA "black"
	transparency CDATA "0"
>
<!ELEMENT pointXMeasure (style? | conditionalStyles? | conditionalStyleRefs? | chartLabel? | XMLAttributes?)*>
<!ATTLIST pointXMeasure
	refDataItem CDATA #REQUIRED
	solveOrder CDATA #IMPLIED
>
<!ELEMENT pointYMeasure (style? | conditionalStyles? | conditionalStyleRefs? | chartLabel? | XMLAttributes?)*>
<!ATTLIST pointYMeasure
	refDataItem CDATA #REQUIRED
	solveOrder CDATA #IMPLIED
>
<!ELEMENT points (chartNodes)>
<!ELEMENT pointClusters (chartNodes)>
<!ELEMENT axisTitle (chartContents? | style? | conditionalStyles? | conditionalStyleRefs? | XMLAttributes? | propertyList? | masterDetailLinks?)*>
<!ATTLIST axisTitle
	refQuery CDATA #REQUIRED
>
<!ELEMENT conditionalChartColors (conditionalChartColor+)>
<!ATTLIST conditionalChartColors
	refVariable CDATA #REQUIRED
>
<!ELEMENT chartContents (chartTextItem*)>
<!ELEMENT commonClusters (chartNodes)>
<!ELEMENT chartNodes (chartNode+)>
<!ELEMENT radialMeasure (style? | conditionalStyles? | conditionalStyleRefs? | chartLabel? | XMLAttributes?)*>
<!ATTLIST radialMeasure
	refDataItem CDATA #REQUIRED
	solveOrder CDATA #IMPLIED
>
<!ELEMENT bar (chartNodes? | connectLines?)*>
<!ATTLIST bar
	showBorders  (true | false) "false"
	borderColor CDATA "black"
	borderTransparency CDATA "0"
	useNumericalAxis (numericalAxisY1 | numericalAxisY2 | xAxis | yAxis) "numericalAxisY1"
	valueType (absolute | stacked | stacked100Percent) "absolute"
	showValues  (true | false) "false"
	showAbsoluteValues  (true | false) "true"
	displayDataLocation (insideAtTop | outsideAtTop | insideAtBottom | outsideAtBottom | centered) "centered"
>
<!ELEMENT line (chartNodes? | highMarker? | lowMarker? | openMarker? | closeMarker?)*>
<!ATTLIST line
	useNumericalAxis (numericalAxisY1 | numericalAxisY2 | xAxis | yAxis) "numericalAxisY1"
	valueType (absolute | stacked | stacked100Percent) "absolute"
	showLine  (true | false) "true"
	showValues  (true | false) "false"
	showAbsoluteValues  (true | false) "true"
	dataPointSize CDATA "6"
	pointChartDataPointShape (series | circle | square | house | hexagon | pentagon | diamond | triangle | downTriangle | rightTriangle | leftTriangle | skewLeftTriangle | skewRightTriangle | downSkewLeftTriangle | downSkewRightTriangle | verticalLine | horizontalLine | plus | fatPlus | star90 | pentagram | star | skewedStar | plainX | softX | fatX | spikedX | castle) "series"
	showBorders  (true | false) "false"
	borderColor CDATA "black"
	borderTransparency CDATA "0"
	lineStyle (solid | dash | dot | dotdash | dashdotdot | mediumdash | shortdash | longdash | longdot | dotdotdot | dashdashdot | dashdashdotdot | longdashdot | longdashdotdot | longdashdashdot | longdashdashdotdot) "solid"
	weight CDATA "0"
	displayDataLocation (insideAtTop | outsideAtTop | insideAtBottom | outsideAtBottom | centered) "centered"
	lineType (pointToPoint | stepBetweenPoints | stepAtPoint | smooth) "pointToPoint"
>
<!ELEMENT area (chartNodes?)>
<!ATTLIST area
	useNumericalAxis (numericalAxisY1 | numericalAxisY2 | xAxis | yAxis) "numericalAxisY1"
	valueType (absolute | stacked | stacked100Percent) "absolute"
	showValues  (true | false) "false"
	showBorders  (true | false) "false"
	borderColor CDATA "black"
	borderTransparency CDATA "0"
	showAbsoluteValues  (true | false) "true"
	displayDataLocation (insideAtTop | outsideAtTop | insideAtBottom | outsideAtBottom | centered) "centered"
	areaType (pointToPoint | smooth) "pointToPoint"
>
<!ELEMENT numericalAxisY1 (axisTitle? | gridlines? | minorGridlines? | axisLine? | style? | conditionalStyles? | conditionalStyleRefs?)*>
<!ATTLIST numericalAxisY1
	min CDATA #IMPLIED
	max CDATA #IMPLIED
	scaleInterval CDATA #IMPLIED
	scale (linear | log) "linear"
	sameRangeAllInstances  (true | false) "true"
	includeZeroForAutoScale  (true | false) "true"
	showAxisLabels  (true | false) "true"
>
<!ELEMENT numericalAxisY2 (axisTitle? | gridlines? | minorGridlines? | axisLine? | style? | conditionalStyles? | conditionalStyleRefs?)*>
<!ATTLIST numericalAxisY2
	min CDATA #IMPLIED
	max CDATA #IMPLIED
	scaleInterval CDATA #IMPLIED
	scale (linear | log) "linear"
	sameRangeAllInstances  (true | false) "true"
	includeZeroForAutoScale  (true | false) "true"
	showAxisLabels  (true | false) "true"
>
<!ELEMENT numericPosition (dataSource | mean | limit | percentile | percentAlongAxis)>
<!ELEMENT memberPosition (reportExpression | percentAlongAxis | memberIndex)>
<!ATTLIST memberPosition
	memberOffset CDATA "0"
>
<!ELEMENT numericalAxisX (axisTitle? | gridlines? | minorGridlines? | axisLine? | style? | conditionalStyles? | conditionalStyleRefs?)*>
<!ATTLIST numericalAxisX
	min CDATA #IMPLIED
	max CDATA #IMPLIED
	scaleInterval CDATA #IMPLIED
	scale (linear | log) "linear"
	sameRangeAllInstances  (true | false) "true"
	includeZeroForAutoScale  (true | false) "true"
	showAxisLabels  (true | false) "true"
>
<!ELEMENT numericalAxisY (axisTitle? | gridlines? | minorGridlines? | axisLine? | style? | conditionalStyles? | conditionalStyleRefs?)*>
<!ATTLIST numericalAxisY
	min CDATA #IMPLIED
	max CDATA #IMPLIED
	scaleInterval CDATA #IMPLIED
	scale (linear | log) "linear"
	sameRangeAllInstances  (true | false) "true"
	includeZeroForAutoScale  (true | false) "true"
	showAxisLabels  (true | false) "true"
>
<!ELEMENT numericalAxisRadial (axisTitle? | gridlines? | minorGridlines? | axisLine? | style? | conditionalStyles? | conditionalStyleRefs?)*>
<!ATTLIST numericalAxisRadial
	min CDATA #IMPLIED
	max CDATA #IMPLIED
	scaleInterval CDATA #IMPLIED
	scale (linear | log) "linear"
	sameRangeAllInstances  (true | false) "true"
	includeZeroForAutoScale  (true | false) "true"
	showAxisLabels  (true | false) "true"
>
<!ELEMENT baselineLabel (chartContents)>
<!ELEMENT threeDBaselinePosition (dataSource | mean | limit | percentile | percentAlongAxis)>
<!ELEMENT markerLabel (chartContents)>
<!ELEMENT pointChartBaselines (pointChartBaseline+)>
<!ELEMENT XPosition (dataSource | mean | limit | percentile | percentAlongAxis)>
<!ELEMENT YPosition (dataSource | mean | limit | percentile | percentAlongAxis)>
<!ELEMENT defaultChartMeasure (style? | conditionalStyles? | conditionalStyleRefs? | chartLabel? | XMLAttributes?)*>
<!ATTLIST defaultChartMeasure
	refDataItem CDATA #REQUIRED
	solveOrder CDATA #IMPLIED
>
<!ELEMENT winLossChartMeasure (style? | conditionalStyles? | conditionalStyleRefs? | chartLabel? | XMLAttributes?)*>
<!ATTLIST winLossChartMeasure
	refDataItem CDATA #REQUIRED
	solveOrder CDATA #IMPLIED
>
<!ELEMENT connectLines EMPTY>
<!ATTLIST connectLines
	lineStyle (solid | dash | dot | dotdash | dashdotdot | mediumdash | shortdash | longdash | longdot | dotdotdot | dashdashdot | dashdashdotdot | longdashdot | longdashdotdot | longdashdashdot | longdashdashdotdot) "solid"
	weight CDATA "0"
	color CDATA "black"
	transparency CDATA "0"
>
<!ELEMENT numericChartPalette (discreteChartPalette | continuousChartPalette)>
<!ATTLIST numericChartPalette
	percentValues  (true | false) "true"
>
<!ELEMENT mapChartDrills (mapChartDrill+)>
<!ELEMENT minorGridlines EMPTY>
<!ATTLIST minorGridlines
	numberOfMinorGridlines CDATA "0"
	lineStyle (solid | dash | dot | dotdash | dashdotdot | mediumdash | shortdash | longdash | longdot | dotdotdot | dashdashdot | dashdashdotdot | longdashdot | longdashdotdot | longdashdashdot | longdashdashdotdot) "solid"
	weight CDATA "0"
	color CDATA "black"
	transparency CDATA "0"
>
<!ELEMENT regressionLine (regressionLinePosition | regressionLineLabel? | XMLAttributes? | style? | conditionalStyles? | conditionalStyleRefs? | propertyList?)+>
<!ATTLIST regressionLine
	numberOfRegressionLines (oneForAllData | oneForEachSeries) "oneForAllData"
	lineStyle (solid | dash | dot | dotdash | dashdotdot | mediumdash | shortdash | longdash | longdot | dotdotdot | dashdashdot | dashdashdotdot | longdashdot | longdashdotdot | longdashdashdot | longdashdashdotdot) "solid"
	weight CDATA "0"
	color CDATA "black"
	transparency CDATA "0"
	showInLegend  (true | false) "true"
>
<!ELEMENT combinationChartTypes ((bar | line | area)+)>
<!ELEMENT axisLine EMPTY>
<!ATTLIST axisLine
	lineStyle (solid | dash | dot | dotdash | dashdotdot | mediumdash | shortdash | longdash | longdot | dotdotdot | dashdashdot | dashdashdotdot | longdashdot | longdashdotdot | longdashdashdot | longdashdashdotdot) "solid"
	weight CDATA "0"
	color CDATA "black"
	transparency CDATA "0"
>
<!ELEMENT continuousChartPalette (continuousChartPaletteEntry+)>
<!ELEMENT chartLabel (chartContents?)>
<!ELEMENT percentAlongAxis EMPTY>
<!ATTLIST percentAlongAxis
	percentAlongAxis CDATA "50"
>
<!ELEMENT v2_pieChart (style? | v2_pieSlices? | v2_axisTitle? | v2_legend? | v2_defaultChartMeasure? | v2_chartTitle? | v2_chartSubTitle? | v2_chartFooter? | conditionalRender? | v2_chartBody? | v2_notes? | reportDrills? | v2_dropShadow? | chartSuppress? | noDataHandler? | masterDetailLinks? | conditionalStyleRefs? | alternateText? | v2_matrix? | v2_category? | XMLAttributes? | v2_pieTooltips? | appOnSelectSetVariableValues? | appDrills? | appContainerSelect? | appChartProperties? | v2_chartTextStyle?)*>
<!ATTLIST v2_pieChart
	refQuery CDATA #REQUIRED
	maxHotspots CDATA #IMPLIED
	renderPageWhenEmpty  (true | false) "true"
	name CDATA #IMPLIED
	repeatEveryPage  (true | false) "false"
	displayForOrientation (both | portrait | landscape) "both"
	refAppDrillTo CDATA #IMPLIED
	holeSize CDATA "0"
	sliceStartAngle CDATA "0"
	depth CDATA "0"
	bevel (none | round | flat) "none"
>
<!ELEMENT v2_combinationChart (style? | v2_commonAxis? | v2_topLeftAxis? | v2_topRightAxis? | v2_bottomLeftAxis? | v2_bottomRightAxis? | v2_legend? | v2_defaultChartMeasure? | v2_chartTitle? | v2_chartSubTitle? | v2_chartFooter? | conditionalRender? | v2_chartBody? | v2_notes? | reportDrills? | v2_dropShadow? | chartSuppress? | noDataHandler? | masterDetailLinks? | conditionalStyleRefs? | alternateText? | v2_matrix? | v2_combinationTypeTooltips? | v2_plotArea? | XMLAttributes? | appOnSelectSetVariableValues? | appDrills? | appContainerSelect? | appChartProperties? | v2_chartTextStyle?)*>
<!ATTLIST v2_combinationChart
	matchSeriesColor  (true | false) "false"
	materialEffects (none | matte | metal | plastic | semigloss) "none"
	refQuery CDATA #REQUIRED
	maxHotspots CDATA #IMPLIED
	renderPageWhenEmpty  (true | false) "true"
	name CDATA #IMPLIED
	repeatEveryPage  (true | false) "false"
	displayForOrientation (both | portrait | landscape) "both"
	refAppDrillTo CDATA #IMPLIED
	orientation (vertical | horizontal) "vertical"
	depth CDATA "0"
>
<!ELEMENT v2_gaugeChart (style? | v2_pivot? | v2_dialBorder? | v2_gaugeAxes? | v2_legend? | v2_defaultChartMeasure? | v2_chartTitle? | v2_chartSubTitle? | v2_chartFooter? | conditionalRender? | v2_chartBody? | v2_notes? | reportDrills? | v2_dropShadow? | chartSuppress? | noDataHandler? | masterDetailLinks? | conditionalStyleRefs? | alternateText? | v2_dialFace? | v2_matrix? | v2_category? | v2_basicTooltips? | XMLAttributes? | appOnSelectSetVariableValues? | appDrills? | appContainerSelect? | appChartProperties? | v2_chartTextStyle?)*>
<!ATTLIST v2_gaugeChart
	refQuery CDATA #REQUIRED
	maxHotspots CDATA #IMPLIED
	renderPageWhenEmpty  (true | false) "true"
	name CDATA #IMPLIED
	repeatEveryPage  (true | false) "false"
	displayForOrientation (both | portrait | landscape) "both"
	refAppDrillTo CDATA #IMPLIED
	gaugeStartAngle CDATA "0"
	gaugeEndAngle CDATA "360"
>
<!ELEMENT v2_scatterChart (v2_xAxis | v2_yAxis | v2_scatterDataLabels? | v2_category? | v2_series? | v2_trendLines? | style? | v2_legend? | v2_defaultChartMeasure? | v2_chartTitle? | v2_chartSubTitle? | v2_chartFooter? | conditionalRender? | v2_chartBody? | v2_notes? | reportDrills? | v2_dropShadow? | chartSuppress? | noDataHandler? | masterDetailLinks? | conditionalStyleRefs? | alternateText? | v2_scatterMarkers? | v2_pointPalette? | v2_conditionalPointPalette? | v2_matrix? | v2_numericColoredRegions? | XMLAttributes? | v2_basicTooltips? | v2_plotArea? | appOnSelectSetVariableValues? | appDrills? | appContainerSelect? | appChartProperties? | v2_chartTextStyle?)+>
<!ATTLIST v2_scatterChart
	materialEffects (none | matte | metal | plastic | semigloss) "none"
	refQuery CDATA #REQUIRED
	maxHotspots CDATA #IMPLIED
	renderPageWhenEmpty  (true | false) "true"
	name CDATA #IMPLIED
	repeatEveryPage  (true | false) "false"
	displayForOrientation (both | portrait | landscape) "both"
	refAppDrillTo CDATA #IMPLIED
	changeShapeByCategory  (true | false) "true"
>
<!ELEMENT v2_bubbleChart (v2_xAxis | v2_yAxis | v2_bubbleDataLabels? | v2_category? | v2_series? | v2_bubbleMeasure? | v2_trendLines? | style? | v2_legend? | v2_defaultChartMeasure? | v2_chartTitle? | v2_chartSubTitle? | v2_chartFooter? | conditionalRender? | v2_chartBody? | v2_notes? | reportDrills? | v2_dropShadow? | chartSuppress? | noDataHandler? | masterDetailLinks? | conditionalStyleRefs? | alternateText? | v2_scatterMarkers? | v2_matrix? | v2_pointPalette? | v2_conditionalPointPalette? | v2_numericColoredRegions? | XMLAttributes? | v2_basicTooltips? | v2_bubbleSizing | v2_plotArea? | appOnSelectSetVariableValues? | appDrills? | appContainerSelect? | appChartProperties? | v2_chartTextStyle?)+>
<!ATTLIST v2_bubbleChart
	changeShapeByCategory  (true | false) "true"
	refQuery CDATA #REQUIRED
	maxHotspots CDATA #IMPLIED
	renderPageWhenEmpty  (true | false) "true"
	name CDATA #IMPLIED
	repeatEveryPage  (true | false) "false"
	displayForOrientation (both | portrait | landscape) "both"
	refAppDrillTo CDATA #IMPLIED
	materialEffects (none | matte | metal | plastic | semigloss) "none"
>
<!ELEMENT v2_progressiveChart (v2_progressiveAxis? | v2_connectLines? | v2_numericBaselines? | v2_markers? | v2_chartDataLabels? | v2_numericAxis? | v2_progressivePalette? | v2_conditionalSolidPalette? | v2_progressiveTotal? | style? | v2_legend? | v2_defaultChartMeasure? | v2_chartTitle? | v2_chartSubTitle? | v2_chartFooter? | conditionalRender? | v2_chartBody? | v2_notes? | reportDrills? | v2_dropShadow? | chartSuppress? | noDataHandler? | masterDetailLinks? | conditionalStyleRefs? | alternateText? | v2_matrix? | v2_numericOrdinalColoredRegions? | v2_combinationTypeTooltips? | v2_series? | v2_plotArea? | XMLAttributes? | appOnSelectSetVariableValues? | appDrills? | appContainerSelect? | appChartProperties? | v2_chartTextStyle?)*>
<!ATTLIST v2_progressiveChart
	orientation (vertical | horizontal) "vertical"
	materialEffects (none | matte | metal | plastic | semigloss) "none"
	bevel (none | round | flat) "none"
	setOrdinalWidthScale CDATA "80"
	refQuery CDATA #REQUIRED
	maxHotspots CDATA #IMPLIED
	renderPageWhenEmpty  (true | false) "true"
	name CDATA #IMPLIED
	repeatEveryPage  (true | false) "false"
	displayForOrientation (both | portrait | landscape) "both"
	refAppDrillTo CDATA #IMPLIED
	depth CDATA "0"
	borders (show | hide) "hide"
	borderColor CDATA "black"
>
<!ELEMENT v2_paretoChart (v2_paretoBars? | v2_paretoLine? | v2_commonAxis? | style? | v2_legend? | v2_defaultChartMeasure? | v2_chartTitle? | v2_chartSubTitle? | v2_chartFooter? | conditionalRender? | v2_chartBody? | v2_combinationTypeTooltips? | v2_notes? | reportDrills? | v2_dropShadow? | chartSuppress? | noDataHandler? | masterDetailLinks? | conditionalStyleRefs? | alternateText? | v2_matrix? | XMLAttributes? | v2_plotArea? | appOnSelectSetVariableValues? | appDrills? | appContainerSelect? | appChartProperties? | v2_chartTextStyle?)*>
<!ATTLIST v2_paretoChart
	borders (show | hide) "hide"
	borderColor CDATA "black"
	bevel (none | round | flat) "none"
	orientation (vertical | horizontal) "vertical"
	materialEffects (none | matte | metal | plastic | semigloss) "none"
	setOrdinalWidthScale CDATA "80"
	refQuery CDATA #REQUIRED
	maxHotspots CDATA #IMPLIED
	renderPageWhenEmpty  (true | false) "true"
	name CDATA #IMPLIED
	repeatEveryPage  (true | false) "false"
	displayForOrientation (both | portrait | landscape) "both"
	refAppDrillTo CDATA #IMPLIED
	depth CDATA "0"
>
<!ELEMENT v2_bulletChart (v2_defaultChartMeasure? | v2_bulletMeasure? | v2_bulletTargetMeasure? | v2_bulletIndicator? | v2_targetIndicator? | v2_numericAxis? | v2_chartTitle? | v2_chartSubTitle? | v2_chartFooter? | conditionalRender? | v2_chartBody? | v2_notes? | reportDrills? | v2_dropShadow? | chartSuppress? | noDataHandler? | masterDetailLinks? | style? | conditionalStyleRefs? | alternateText? | v2_matrix? | v2_numericOrdinalColoredRegions? | v2_basicTooltips? | v2_markers? | v2_legend? | v2_category? | v2_series? | XMLAttributes? | appOnSelectSetVariableValues? | appDrills? | appContainerSelect? | appChartProperties? | v2_chartTextStyle?)*>
<!ATTLIST v2_bulletChart
	bevel (none | round | flat) "none"
	refQuery CDATA #REQUIRED
	maxHotspots CDATA #IMPLIED
	renderPageWhenEmpty  (true | false) "true"
	name CDATA #IMPLIED
	repeatEveryPage  (true | false) "false"
	displayForOrientation (both | portrait | landscape) "both"
	refAppDrillTo CDATA #IMPLIED
	orientation (vertical | horizontal) "vertical"
>
<!ELEMENT v2_chartTextStyle (style? | XMLAttributes?)*>
<!ELEMENT v2_defaultChartMeasure (v2_chartTextItems? | style? | XMLAttributes? | conditionalStyleRefs?)*>
<!ATTLIST v2_defaultChartMeasure
	refDataItem CDATA #REQUIRED
>
<!ELEMENT v2_axisLabels (style? | conditionalRender? | conditionalStyleRefs? | XMLAttributes?)*>
<!ATTLIST v2_axisLabels
	autoFontSizing  (true | false) "false"
>
<!ELEMENT v2_axisTitle (v2_chartTextContents | conditionalRender? | masterDetailLinks? | propertyList? | style? | conditionalStyleRefs? | XMLAttributes?)+>
<!ATTLIST v2_axisTitle
	refQuery CDATA #REQUIRED
	autoFontSizing  (true | false) "false"
>
<!ELEMENT v2_commonAxis (chartNodes? | v2_ordinalAxis? | v2_ordinalBaselines? | v2_maxItems? | XMLAttributes?)*>
<!ELEMENT v2_minorGridlines EMPTY>
<!ATTLIST v2_minorGridlines
	lineStyle CDATA "solid"
	lineWeight CDATA "1px"
	lineColor CDATA "black"
>
<!ELEMENT v2_majorGridlines EMPTY>
<!ATTLIST v2_majorGridlines
	lineStyle CDATA "solid"
	lineWeight CDATA "1px"
	lineColor CDATA "black"
>
<!ELEMENT v2_majorBackgroundColors (v2_firstBackgroundColor? | v2_secondBackgroundColor?)*>
<!ELEMENT v2_axisLine EMPTY>
<!ATTLIST v2_axisLine
	lineStyle CDATA "solid"
	lineWeight CDATA "1px"
	lineColor CDATA "black"
	majorTickMarkLocation CDATA "outside"
	minorTickMarkLocation CDATA "none"
>
<!ELEMENT v2_backgroundColor EMPTY>
<!ATTLIST v2_backgroundColor
	color CDATA "black"
	transparency CDATA "0"
>
<!ELEMENT v2_ordinalAxis (v2_axisTitle? | reportDrills? | v2_axisLabels? | v2_axisLine? | v2_majorGridlines? | v2_minorGridlines? | v2_majorBackgroundColors? | XMLAttributes? | v2_labelControl?)*>
<!ATTLIST v2_ordinalAxis
	autoTruncation  (true | false) "true"
	truncationText CDATA "..."
	manualTruncationMaxChars CDATA "50"
	numberOfMinorIntervals CDATA "2"
	showInMatrix  (true | false) "true"
	reverseCategoryOrder  (true | false) "false"
	labelDisplayType (nested | concat) "nested"
>
<!ELEMENT v2_chartDataLabels (XMLAttributes?)>
<!ATTLIST v2_chartDataLabels
	labelCollisionMode (none | coarse_stagger | fine_stagger) "none"
	leaderLines (show | hide) "hide"
	labelValueType (absolute | cumulative) "absolute"
	displayDataLocation (insideAtTop | outsideAtTop | insideAtBottom | outsideAtBottom | centered) "outsideAtTop"
>
<!ELEMENT v2_numericBaselines (v2_numericBaseline+)>
<!ELEMENT v2_markers (v2_marker+)>
<!ELEMENT v2_scatterMarkers (v2_scatterMarker+)>
<!ELEMENT v2_ordinalPosition (reportExpression | v2_ordinalIndex | v2_percentAlongAxis)>
<!ATTLIST v2_ordinalPosition
	memberOffset CDATA "0"
>
<!ELEMENT v2_legend (v2_legendPosition | conditionalRender? | v2_legendTitle? | reportDrills? | style? | conditionalStyleRefs? | v2_overflowText? | XMLAttributes?)+>
<!ATTLIST v2_legend
	autoFontSizing  (true | false) "false"
	legendSeparator CDATA ", "
	legendSuffixValues (none | min | max | first | last) "none"
	autoTruncation  (true | false) "true"
	truncationText CDATA "..."
	manualTruncationMaxChars CDATA "50"
>
<!ELEMENT v2_notes (v2_note+)>
<!ELEMENT v2_chartBody (style? | conditionalStyleRefs? | XMLAttributes?)*>
<!ELEMENT v2_ordinalIndex EMPTY>
<!ATTLIST v2_ordinalIndex
	ordinalIndex CDATA "1"
>
<!ELEMENT v2_chartTextContents (v2_automaticText | v2_chartTextItems)>
<!ELEMENT v2_equationNote (v2_equationNotePosition | XMLAttributes? | style? | conditionalStyleRefs?)+>
<!ATTLIST v2_equationNote
	showEquation (equation | rSquared | both) "equation"
>
<!ELEMENT v2_chartTextItems (v2_chartTextItem*)>
<!ELEMENT v2_axis (v2_axisRange | v2_axisLabels? | v2_axisTitle? | v2_majorBackgroundColors? | v2_minorGridlines? | v2_majorGridlines? | v2_axisLine? | XMLAttributes?)+>
<!ATTLIST v2_axis
	numberOfMinorIntervals CDATA "2"
	showInMatrix  (true | false) "true"
>
<!ELEMENT v2_numericAxis (v2_axisRange | v2_axisLabels? | v2_axisTitle? | v2_majorBackgroundColors? | v2_minorGridlines? | v2_majorGridlines? | v2_axisLine? | XMLAttributes?)+>
<!ATTLIST v2_numericAxis
	numberOfMinorIntervals CDATA "2"
	showInMatrix  (true | false) "true"
>
<!ELEMENT v2_dropShadow EMPTY>
<!ATTLIST v2_dropShadow
	blurPreset (none | minimumBlur | littleBlur | averageBlur | muchBlur | maximumBlur) "none"
	color CDATA "gray"
	transparency CDATA "0"
	shadowOffset CDATA "5px"
>
<!ELEMENT v2_endOrdinalPosition (reportExpression | v2_ordinalIndex | v2_percentAlongAxis)>
<!ATTLIST v2_endOrdinalPosition
	memberOffset CDATA "0"
>
<!ELEMENT v2_startNumericPosition (dataSource | v2_mean | v2_limit | v2_percentile | v2_percentAlongAxis)>
<!ELEMENT v2_endNumericPosition (dataSource | v2_mean | v2_limit | v2_percentile | v2_percentAlongAxis)>
<!ELEMENT v2_startOrdinalPosition (reportExpression | v2_ordinalIndex | v2_percentAlongAxis)>
<!ATTLIST v2_startOrdinalPosition
	memberOffset CDATA "0"
>
<!ELEMENT v2_showInLegend (style? | conditionalStyleRefs?)*>
<!ELEMENT v2_showInChart (style? | v2_constrainedPosition | conditionalStyleRefs?)+>
<!ELEMENT v2_label (style? | conditionalStyleRefs? | v2_chartTextItems? | masterDetailLinks? | conditionalRender? | propertyList? | XMLAttributes?)*>
<!ATTLIST v2_label
	refQuery CDATA #REQUIRED
>
<!ELEMENT v2_numericPosition (dataSource | v2_mean | v2_limit | v2_percentile | v2_percentAlongAxis)>
<!ELEMENT v2_trendLines (v2_trendLine+)>
<!ELEMENT v2_connectLines EMPTY>
<!ATTLIST v2_connectLines
	lineStyle CDATA "solid"
	lineWeight CDATA "1px"
	lineColor CDATA "black"
>
<!ELEMENT v2_maxItems (v2_label? | v2_maxNumberOfItems? | v2_valueThreshold? | XMLAttributes?)*>
<!ATTLIST v2_maxItems
	newCategoryRollup (sum | average) "sum"
>
<!ELEMENT v2_chartMeasure (v2_chartTextItems? | style? | XMLAttributes? | conditionalStyleRefs?)*>
<!ATTLIST v2_chartMeasure
	refDataItem CDATA #REQUIRED
>
<!ELEMENT v2_constrainedPosition (v2_verticalPosition | v2_horizontalPosition | v2_positionAnchor)+>
<!ELEMENT v2_stringValues (v2_stringValue+)>
<!ELEMENT v2_stringValue (#PCDATA)>
<!ELEMENT v2_axisRange (v2_automaticRange | v2_specifiedRange)>
<!ATTLIST v2_axisRange
	scale (linear | log) "linear"
>
<!ELEMENT v2_gradientColor EMPTY>
<!ATTLIST v2_gradientColor
	gradientColor CDATA "black"
	colorPosition CDATA "0"
>
<!ELEMENT v2_solidColor EMPTY>
<!ATTLIST v2_solidColor
	transparency CDATA "0"
	color CDATA "black"
>
<!ELEMENT v2_linearGradient (v2_gradientColor+)>
<!ATTLIST v2_linearGradient
	gradientAngle CDATA "0"
>
<!ELEMENT v2_xAxis (v2_axisRange | v2_axisLabels? | v2_axisTitle? | v2_minorGridlines? | v2_majorGridlines? | v2_axisLine? | v2_chartMeasure? | v2_numericBaselines? | v2_majorBackgroundColors? | XMLAttributes?)+>
<!ATTLIST v2_xAxis
	numberOfMinorIntervals CDATA "2"
	showInMatrix  (true | false) "true"
>
<!ELEMENT v2_yAxis (v2_axisRange | v2_axisLabels? | v2_axisTitle? | v2_minorGridlines? | v2_majorGridlines? | v2_axisLine? | v2_chartMeasure? | v2_numericBaselines? | v2_majorBackgroundColors? | XMLAttributes?)+>
<!ATTLIST v2_yAxis
	numberOfMinorIntervals CDATA "2"
	showInMatrix  (true | false) "true"
>
<!ELEMENT v2_category (chartNodes)>
<!ELEMENT v2_series (chartNodes)>
<!ELEMENT v2_matrix (v2_matrixRows? | v2_matrixColumns?)*>
<!ATTLIST v2_matrix
	wrapCells (noWrap | wrapIfPossible) "wrapIfPossible"
	showAxesInMatrix  (true | false) "false"
>
<!ELEMENT v2_positionAnchor (v2_relativeChart | v2_relativeChartBody | reportExpression)>
<!ELEMENT v2_ordinalBaselines (v2_ordinalBaseline+)>
<!ELEMENT v2_chartTitle (style? | conditionalStyleRefs? | v2_chartTextItems? | masterDetailLinks? | conditionalRender? | propertyList? | XMLAttributes?)*>
<!ATTLIST v2_chartTitle
	refQuery CDATA #REQUIRED
>
<!ELEMENT v2_chartSubTitle (style? | conditionalStyleRefs? | v2_chartTextItems? | masterDetailLinks? | conditionalRender? | propertyList? | XMLAttributes?)*>
<!ATTLIST v2_chartSubTitle
	refQuery CDATA #REQUIRED
>
<!ELEMENT v2_chartFooter (style? | conditionalStyleRefs? | v2_chartTextItems? | masterDetailLinks? | conditionalRender? | propertyList? | XMLAttributes?)*>
<!ATTLIST v2_chartFooter
	refQuery CDATA #REQUIRED
>
<!ELEMENT v2_markerConstrainedPosition (v2_verticalPosition | v2_horizontalPosition | v2_markerPositionAnchor)+>
<!ELEMENT v2_numericColoredRegions (v2_numericColoredRegion+)>
<!ELEMENT v2_numericOrdinalColoredRegions (v2_numericOrdinalColoredRegion+)>
<!ELEMENT v2_numericColoredRegion (v2_fillEffect | v2_label? | v2_topPosition | v2_bottomPosition | v2_leftPosition | v2_rightPosition | propertyList? | masterDetailLinks? | XMLAttributes? | conditionalRender?)+>
<!ATTLIST v2_numericColoredRegion
	refQuery CDATA #REQUIRED
	labelLocation (chart | legend) "legend"
>
<!ELEMENT v2_automaticLabel EMPTY>
<!ELEMENT v2_horizontalPosition (v2_left | v2_center | v2_right)>
<!ELEMENT v2_verticalPosition (v2_top | v2_middle | v2_bottom)>
<!ELEMENT v2_plotArea (v2_fillEffect)>
<!ELEMENT v2_relativeChartBody EMPTY>
<!ELEMENT v2_solidPalette (v2_solidPaletteEntries?)>
<!ELEMENT v2_linePalette (v2_linePaletteEntries?)>
<!ATTLIST v2_linePalette
	markerBorders (show | hide) "hide"
	markerBorderColor CDATA "black"
	markerSize CDATA "10pt"
>
<!ELEMENT v2_pointPalette (v2_pointPaletteEntries? | v2_pointColorByValue?)*>
<!ATTLIST v2_pointPalette
	markerBorders (show | hide) "hide"
	markerBorderColor CDATA "black"
	markerSize CDATA "10pt"
>
<!ELEMENT v2_progressivePalette (v2_progressivePositiveValueFill? | v2_progressiveNegativeValueFill? | v2_progressiveFirstValueFill? | v2_progressiveTotalValueFill?)*>
<!ELEMENT v2_fillEffect (v2_solidColor | v2_linearGradient | v2_radialRectGradient | v2_radialLinearGradient | v2_image | v2_pattern)>
<!ATTLIST v2_fillEffect
	defaultColor CDATA "black"
>
<!ELEMENT v2_pointColorByValueEntries (v2_colorByValueEntry+)>
<!ELEMENT v2_conditionalSolidPalette ((v2_advancedCondition | v2_rangeCondition | v2_stringCondition)+)>
<!ATTLIST v2_conditionalSolidPalette
	showInLegend (show | hide) "show"
>
<!ELEMENT v2_conditionalPointPalette ((v2_advancedPointCondition | v2_pointRangeCondition | v2_pointStringCondition)+)>
<!ATTLIST v2_conditionalPointPalette
	showInLegend (show | hide) "show"
>
<!ELEMENT v2_conditionalLinePalette ((v2_lineAdvancedCondition | v2_lineRangeCondition | v2_lineStringCondition)+)>
<!ATTLIST v2_conditionalLinePalette
	showInLegend (show | hide) "show"
>
<!ELEMENT v2_linePaletteEntry (v2_lineFill | v2_pointPaletteEntry)+>
<!ATTLIST v2_linePaletteEntry
	lineStyle CDATA "solid"
	lineWeight CDATA "1px"
>
<!ELEMENT v2_pointPaletteEntry (v2_fillEffect)>
<!ATTLIST v2_pointPaletteEntry
	markerShape (circle | diamond | x | square | taperedX | upperLeftTriangle | hexagon | horizontalBar | upperRightTriangle | house | star | thinX | upTriangle | verticalBar | chalet | downTriangle | thickCross | fivePointStar | thickX | notchedSquare | gunSight | leftTriangle | rightTriangle | ninjaStar | lowerLeftTriangle | lowerRightTriangle | notchedX | taperedCross | triangle | cross2D | verticalBar3D | gunSight3D | diamond3D | upperLeftTriangle3D | upperRightTriangle3D | downTriangle3D | leftTriangle3D | thinX3D | cross3D | rightTriangle3D | lowerLeftTriangle3D | lowerRightTriangle3D | box | upTriangle3D | horizontalBar3D | cone | dodecahedron | icosahedron | sphere32) "circle"
>
<!ELEMENT v2_solidPaletteEntry (v2_fillEffect?)>
<!ELEMENT v2_conditionalPaletteEntryLabel (v2_automaticLabel | v2_specifiedLabel)>
<!ELEMENT v2_solidPaletteEntries (v2_solidPaletteEntry+)>
<!ELEMENT v2_colorByValueEntry (v2_solidColor)>
<!ATTLIST v2_colorByValueEntry
	boundaryValue CDATA #REQUIRED
>
<!ELEMENT v2_colorByValueMeasure (v2_chartTextItems? | style? | conditionalStyleRefs? | XMLAttributes?)*>
<!ATTLIST v2_colorByValueMeasure
	refDataItem CDATA #REQUIRED
>
<!ELEMENT v2_combinationTypeTooltips EMPTY>
<!ATTLIST v2_combinationTypeTooltips
	combinationTypeTooltipValueType (absolute | cumulative) "absolute"
>
<!ELEMENT v2_basicTooltips EMPTY>
<!ELEMENT chartNodeMember (chartContents? | chartLabel? | propertyList? | sortList? | style? | XMLAttributes?)*>
<!ATTLIST chartNodeMember
	refDataItem CDATA #REQUIRED
	solveOrder CDATA #IMPLIED
>
<!ELEMENT v2_percentAlongAxis EMPTY>
<!ATTLIST v2_percentAlongAxis
	percentAlongAxis CDATA #REQUIRED
>
<!ELEMENT v2_chartTextLabel (v2_automaticLabel | v2_specifiedLabel)>
<!ELEMENT v2_specifiedLabel (defaultText | localizedText?)+>
<!ELEMENT v2_axisColors (v2_gradientColor+)>
<!ELEMENT gaugePalette (continuousChartPalette | discreteGaugePalette)>
<!ATTLIST gaugePalette
	percentValues  (true | false) "true"
>
<!ELEMENT viz (vizDataSets? | vizPropertyValues? | conditionalRender? | alternateText? | style? | XMLAttributes? | appVizProperties? | appOnSelectSetVariableValues?)*>
<!ATTLIST viz
	name CDATA #REQUIRED
	type CDATA #REQUIRED
	displayForOrientation (both | portrait | landscape) "both"
	outputType (static | javascript) #REQUIRED
	interactiveRenderType (canvas | svg) #IMPLIED
	autoChart  (true | false) "false"
>
<!ELEMENT vizLabel (defaultText | localizedText?)+>
<!ELEMENT vizPropertyValues ((vizPropertyBooleanValue | vizPropertyStringValue | vizPropertyIntegerValue | vizPropertyDecimalValue | vizPropertyEnumValue | vizPropertyColorValue | vizPropertyCSSColorValue | vizPropertyCSSFontValue | vizPropertyCSSPaddingValue | vizPropertyCSSStrokeDashArrayValue | vizPropertyFontValue | vizPropertyLengthValue | vizPropertyJsonValue | vizPropertyPaletteValue | vizPropertyCMPaletteValue)+)>
<!ELEMENT vizValueRange (vizValueRangeComputed | vizValueRangeSpecified)>
<!ELEMENT vizEmptyFieldItemLabel (defaultText | localizedText?)+>
<!ELEMENT vizValueStyle (style?)>
<!ELEMENT report (modelPath? | layouts | queries? | classStyles? | burst? | reportVariables? | drillBehavior? | XMLAttributes? | upgradeInfo? | namedConditionalStyles? | drillSetsBehavior? | reportName? | appProperties? | reportStylesRef? | excelExportOptions? | appDrillTos? | reportDataStores?)+>
<!ATTLIST report
	xmlns CDATA #IMPLIED
	expressionLocale NMTOKEN #REQUIRED
	template  (true | false) "false"
	useStyleVersion (none | 1 | 10 | 11 | 11.4 | 11.5 | 11.6) #IMPLIED
	interactivePageBreakByFrame  (true | false) #IMPLIED
	ignoreFilterContext  (true | false) "false"
	paginateHTMLOutput  (true | false) "true"
	use1xCSVExport  (true | false) "false"
	application  (true | false) "false"
	revision CDATA #IMPLIED
	viewPagesAsTabs (topLeft | bottomLeft) #IMPLIED
	stubbed  (true | false) "false"
>
<!ELEMENT XMLAttribute (#PCDATA)>
<!ATTLIST XMLAttribute
	xml:space (default | preserve) "preserve"
	name CDATA #REQUIRED
	value CDATA #IMPLIED
	output (no | XML | HTML) "XML"
>
<!ELEMENT conditionalStyleCases (conditionalStyle+)>
<!ATTLIST conditionalStyleCases
	refVariable CDATA #REQUIRED
>
<!ELEMENT conditionalStyleDefault (CSS? | dataFormat? | generatedBackground?)*>
<!ELEMENT defaultStyle EMPTY>
<!ATTLIST defaultStyle
	refStyle CDATA #REQUIRED
>
<!ELEMENT border EMPTY>
<!ATTLIST border
	borderColor CDATA "gray"
	borderStyle (solid | double | dotted | dashed | groove | ridge | inset | outset) "solid"
	borderWidth CDATA "1pt"
	cornerRadius CDATA "0pt"
	allowTransparentBleed  (true | false) "false"
>
<!ELEMENT dropShadow EMPTY>
<!ATTLIST dropShadow
	shadowColor CDATA "gray"
	thickness CDATA "5px"
	transparency CDATA "0"
	shadowBlur (none | minimumBlur | littleBlur | averageBlur | muchBlur | maximumBlur) "none"
>
<!ELEMENT backgroundImages (backgroundImage+)>
<!ELEMENT fill (linearGradient | radialLineGradient | radialRectangleGradient | pattern | fillColor)>
<!ELEMENT renderFor EMPTY>
<!ATTLIST renderFor
	refVariableValue CDATA #REQUIRED
>
<!ELEMENT staticValue (#PCDATA)>
<!ATTLIST staticValue
	xml:space (default | preserve) "preserve"
>
<!ELEMENT dataItemValue EMPTY>
<!ATTLIST dataItemValue
	refDataItem CDATA #REQUIRED
>
<!ELEMENT dataItemLabel EMPTY>
<!ATTLIST dataItemLabel
	refDataItem CDATA #REQUIRED
>
<!ELEMENT memberCaption EMPTY>
<!ELEMENT cellValue EMPTY>
<!ELEMENT appDataItemValue EMPTY>
<!ATTLIST appDataItemValue
	refDataItem CDATA #REQUIRED
>
<!ELEMENT conditionalDataSource (staticValue | dataItemValue | reportExpression | dataItemLabel | memberCaption | cellValue | appDataItemValue)>
<!ATTLIST conditionalDataSource
	refVariableValue CDATA #REQUIRED
>
<!ELEMENT reportDrill (drillTarget? | bookmarkRef? | drillLabel)+>
<!ATTLIST reportDrill
	name CDATA #REQUIRED
>
<!ELEMENT masterDetailLink (masterContext | detailContext)+>
<!ELEMENT propertyItem EMPTY>
<!ATTLIST propertyItem
	refDataItem CDATA #REQUIRED
>
<!ELEMENT advancedConditionalStyle (styleCases? | styleDefault?)*>
<!ATTLIST advancedConditionalStyle
	name CDATA #REQUIRED
>
<!ELEMENT rangeConditionalStyle (conditionalDataItem | styleRanges? | styleRangeRemaining? | styleDefault?)+>
<!ATTLIST rangeConditionalStyle
	name CDATA #REQUIRED
	type (number | date | dateTime | time | interval) #REQUIRED
>
<!ELEMENT stringsConditionalStyle (conditionalDataItem | stringConditions? | styleDefault?)+>
<!ATTLIST stringsConditionalStyle
	name CDATA #REQUIRED
>
<!ELEMENT conditionalStyleRef EMPTY>
<!ATTLIST conditionalStyleRef
	refConditionalStyle CDATA #REQUIRED
>
<!ELEMENT defaultText (#PCDATA)>
<!ATTLIST defaultText
	xml:space (default | preserve) "preserve"
>
<!ELEMENT localizedText (localeText+)>
<!ELEMENT defaultRangeSelection EMPTY>
<!ATTLIST defaultRangeSelection
	min CDATA #IMPLIED
	max CDATA #IMPLIED
>
<!ELEMENT displayItem EMPTY>
<!ATTLIST displayItem
	refDataItem CDATA #REQUIRED
>
<!ELEMENT selectOption (displayValue? | conditionalDisplayValues?)*>
<!ATTLIST selectOption
	useValue CDATA #REQUIRED
>
<!ELEMENT model EMPTY>
<!ELEMENT sqlQuery (sqlText | mdProjectedItems?)+>
<!ATTLIST sqlQuery
	name CDATA #REQUIRED
	dataSource CDATA #REQUIRED
	type (cogSQL | native | passThrough) "native"
>
<!ELEMENT mdxQuery (mdxText | mdDimensionalInfo?)+>
<!ATTLIST mdxQuery
	name CDATA #REQUIRED
	dataSource CDATA #REQUIRED
	catalog CDATA #IMPLIED
>
<!ELEMENT queryOperation (queryRefs | projectionList)+>
<!ATTLIST queryOperation
	name CDATA #REQUIRED
	setOperation (UNION | INTERSECT | EXCEPT) "UNION"
	duplicates (remove | preserve) "remove"
>
<!ELEMENT dimensions (dimension+)>
<!ELEMENT factList (fact+)>
<!ELEMENT keys (key*)>
<!ELEMENT attributes (attribute*)>
<!ELEMENT caption EMPTY>
<!ATTLIST caption
	refDataItem CDATA #REQUIRED
>
<!ELEMENT joinFilter (filterExpression)>
<!ELEMENT joinOperands (joinOperand,joinOperand)>
<!ELEMENT applyFilterJoin EMPTY>
<!ATTLIST applyFilterJoin
	filterType (in | between | table) #IMPLIED
>
<!ELEMENT memberSets (memberSet+)>
<!ELEMENT summaryFilterLevel EMPTY>
<!ATTLIST summaryFilterLevel
	refDataItem CDATA #REQUIRED
>
<!ELEMENT detailFilters (detailFilter+)>
<!ELEMENT summaryFilters (summaryFilter+)>
<!ELEMENT queryHints (avoidZeroDiv? | autoSort? | executionOptimization? | queryProcessing? | outerJoinAllowed? | crossProductAllowed? | suppress? | rollupProcessing? | maxRowsRetrieved? | maxTablesPerQuery? | maxQueryExecutionTime? | maxTextBlobCharacters? | useSQLWithClause? | localCache? | useV4Interpretation? | executionMethod? | useForParameterInfo? | useSQLJoinSyntax? | useAggregateCache? | useSAPMUNAsBusinessKey? | cacheServerQuery? | useSQLParameters? | refreshOnPrompt?)*>
<!ELEMENT memberSetStructure (memberSet*)>
<!ELEMENT dataItemMember (dmMember | dmDimension | dmHierarchy | XMLAttributes?)+>
<!ATTLIST dataItemMember
	name CDATA #REQUIRED
	label CDATA #IMPLIED
	detail (automatic | true | false) "automatic"
>
<!ELEMENT dataItemCalculatedMember (expression | dmDimension | dmHierarchy | XMLAttributes?)+>
<!ATTLIST dataItemCalculatedMember
	name CDATA #REQUIRED
	label CDATA #IMPLIED
	naInCalcMemberContext  (true | false) "false"
	solveOrder CDATA #IMPLIED
	detail (automatic | true | false) "automatic"
>
<!ELEMENT dataItemMemberProperty (dmMemberProperty | dmDimension | dmHierarchy | dmLevel? | XMLAttributes?)+>
<!ATTLIST dataItemMemberProperty
	name CDATA #REQUIRED
	label CDATA #IMPLIED
>
<!ELEMENT dataItemMeasure (dmMember | dmDimension | XMLAttributes?)+>
<!ATTLIST dataItemMeasure
	name CDATA #REQUIRED
	label CDATA #IMPLIED
	rollupAggregate (none | automatic | summarize | total | minimum | maximum | average | count | calculated | countDistinct | standardDeviation | variance | median) "automatic"
>
<!ELEMENT dataItemTextMeasure (dmMember | dmDimension | XMLAttributes?)+>
<!ATTLIST dataItemTextMeasure
	name CDATA #REQUIRED
	label CDATA #IMPLIED
>
<!ELEMENT dataItemCalculatedMeasure (expression | dmDimension | XMLAttributes?)+>
<!ATTLIST dataItemCalculatedMeasure
	name CDATA #REQUIRED
	label CDATA #IMPLIED
	naInCalcMemberContext  (true | false) "false"
	solveOrder CDATA #IMPLIED
	rollupAggregate (none | automatic | summarize | total | minimum | maximum | average | count | calculated | countDistinct | standardDeviation | variance | median) "automatic"
>
<!ELEMENT dataItemSet (dmMembers | dmDimension | dmHierarchy | setSorting? | XMLAttributes?)+>
<!ATTLIST dataItemSet
	name CDATA #REQUIRED
	label CDATA #IMPLIED
	detail (automatic | true | false) "automatic"
>
<!ELEMENT dataItemChildrenSet (dmMember | dmDimension | dmHierarchy | setSorting? | XMLAttributes?)+>
<!ATTLIST dataItemChildrenSet
	name CDATA #REQUIRED
	label CDATA #IMPLIED
	detail (automatic | true | false) "automatic"
>
<!ELEMENT dataItemSetExpression (expression | dmDimension | dmHierarchy | setSorting? | XMLAttributes?)+>
<!ATTLIST dataItemSetExpression
	name CDATA #REQUIRED
	label CDATA #IMPLIED
	detail (automatic | true | false) "automatic"
>
<!ELEMENT dataItemLevelSet (dmLevel | dmDimension | dmHierarchy | setSorting? | XMLAttributes?)+>
<!ATTLIST dataItemLevelSet
	name CDATA #REQUIRED
	label CDATA #IMPLIED
	detail (automatic | true | false) "automatic"
>
<!ELEMENT dataItemHierarchySet (dmDimension | dmHierarchy | setSorting? | XMLAttributes?)+>
<!ATTLIST dataItemHierarchySet
	name CDATA #REQUIRED
	label CDATA #IMPLIED
	rootMembersOnly  (true | false) "false"
	detail (automatic | true | false) "automatic"
>
<!ELEMENT dataItemNamedSet (NSUN | dmDimension | dmHierarchy? | setSorting? | XMLAttributes?)+>
<!ATTLIST dataItemNamedSet
	name CDATA #REQUIRED
	label CDATA #IMPLIED
	detail (automatic | true | false) "automatic"
>
<!ELEMENT dataItemTuple (dmTuple | dmDimension | dmHierarchy? | XMLAttributes?)+>
<!ATTLIST dataItemTuple
	name CDATA #REQUIRED
	label CDATA #IMPLIED
>
<!ELEMENT dataItemMemberSet (setDefinition | dmDimension | dmHierarchy | setSorting? | XMLAttributes? | dataItemSharing?)+>
<!ATTLIST dataItemMemberSet
	name CDATA #REQUIRED
	label CDATA #IMPLIED
	detail (automatic | true | false) "automatic"
>
<!ELEMENT dataItemListSummary (XMLAttributes?)>
<!ATTLIST dataItemListSummary
	name CDATA #REQUIRED
	label CDATA #IMPLIED
	refDataItem CDATA #REQUIRED
	aggregateMethod (aggregate | total | minimum | maximum | average | count | calculated | countDistinct | median | standardDeviation | variance) #REQUIRED
>
<!ELEMENT dataItemEdgeSummary (XMLAttributes?)>
<!ATTLIST dataItemEdgeSummary
	name CDATA #REQUIRED
	label CDATA #IMPLIED
	refDataItem CDATA #REQUIRED
	aggregateMethod (aggregate | total | minimum | maximum | average | count | median | standardDeviation | variance) #REQUIRED
	useSetAggregation  (true | false) "false"
	naInCalcMemberContext  (true | false) "false"
	solveOrder CDATA #IMPLIED
>
<!ELEMENT dataItemDimensionalEdgeSummary (dmDimension | dmHierarchy | XMLAttributes?)+>
<!ATTLIST dataItemDimensionalEdgeSummary
	name CDATA #REQUIRED
	label CDATA #IMPLIED
	refDataItem CDATA #REQUIRED
	aggregateMethod (aggregate | total | minimum | maximum | average | count | median | standardDeviation | variance) #REQUIRED
	useSetAggregation  (true | false) "true"
	naInCalcMemberContext  (true | false) "false"
	solveOrder CDATA #IMPLIED
>
<!ELEMENT dataItemCustomGroup (customGroups | customGroupRemainingValues | XMLAttributes?)+>
<!ATTLIST dataItemCustomGroup
	name CDATA #REQUIRED
	label CDATA #IMPLIED
	detail (automatic | true | false) "automatic"
	refDataItem CDATA #REQUIRED
	dataType (integer | decimal | float | date | time | dateTime | interval | string) #REQUIRED
>
<!ELEMENT dataItemMeasurePercentage (measureRef | dmTuple | dmDimension | XMLAttributes?)+>
<!ATTLIST dataItemMeasurePercentage
	name CDATA #REQUIRED
	label CDATA #IMPLIED
	rollupAggregate (none | automatic | summarize | total | minimum | maximum | average | count | calculated | countDistinct | standardDeviation | variance | median) "automatic"
>
<!ELEMENT contextSlice (dmDimension | dmHierarchy | dmLevel? | contextSliceDefinition | parameterizedSlice?)+>
<!ELEMENT LUN (#PCDATA)>
<!ATTLIST LUN
	xml:space (default | preserve) "preserve"
>
<!ELEMENT dmTuplePart (dmMember | dmDimension | dmHierarchy?)+>
<!ELEMENT dmTuplePartDataItemRef EMPTY>
<!ATTLIST dmTuplePartDataItemRef
	refDataItem CDATA #REQUIRED
>
<!ELEMENT MPUN (#PCDATA)>
<!ATTLIST MPUN
	xml:space (default | preserve) "preserve"
>
<!ELEMENT setExplicitMembers (dmMembers)>
<!ELEMENT setChildrenMembers (dmMember)>
<!ELEMENT setLevelMembers (dmLevel)>
<!ELEMENT setHierarchyMembers EMPTY>
<!ATTLIST setHierarchyMembers
	rootMembersOnly  (true | false) "false"
>
<!ELEMENT setExpression (expression)>
<!ELEMENT setNamedReference (NSUN)>
<!ELEMENT setExceptMembers (baseSet | dmMembers)+>
<!ELEMENT setTopCount (baseSet | dmTuple)+>
<!ATTLIST setTopCount
	value CDATA #REQUIRED
>
<!ELEMENT setTopPercent (baseSet | dmTuple)+>
<!ATTLIST setTopPercent
	value CDATA #REQUIRED
>
<!ELEMENT setTopSum (baseSet | dmTuple)+>
<!ATTLIST setTopSum
	value CDATA #REQUIRED
>
<!ELEMENT setBottomCount (baseSet | dmTuple)+>
<!ATTLIST setBottomCount
	value CDATA #REQUIRED
>
<!ELEMENT setBottomPercent (baseSet | dmTuple)+>
<!ATTLIST setBottomPercent
	value CDATA #REQUIRED
>
<!ELEMENT setBottomSum (baseSet | dmTuple)+>
<!ATTLIST setBottomSum
	value CDATA #REQUIRED
>
<!ELEMENT setUnion (baseSets)>
<!ATTLIST setUnion
	all  (true | false) "false"
>
<!ELEMENT setMoveMembersToTop (baseSet | dmMembers)+>
<!ELEMENT setMoveMembersToBottom (baseSet | dmMembers)+>
<!ELEMENT setExpandMember (baseSet | dmMember)+>
<!ELEMENT setCollapseMember (baseSet | dmMember)+>
<!ELEMENT setFilter (baseSet | setFilterCriteria)+>
<!ELEMENT setCustomGroup (baseSet | setCustomGroups | customGroupRemainingMembers)+>
<!ELEMENT setReference (reportPath | referenceDefinition)+>
<!ATTLIST setReference
	refShareName CDATA #REQUIRED
	inclusion (designTime | runTime) #REQUIRED
>
<!ELEMENT filterAnd ((filterAnd | filterOr | filterNot | filterInMembers | filterInValues | filterCompare | filterStringCompare | filterRange | filterNulls | filterEmpty | filterWhitespace))+>
<!ELEMENT filterOr ((filterAnd | filterOr | filterNot | filterInMembers | filterInValues | filterCompare | filterStringCompare | filterRange | filterNulls | filterEmpty | filterWhitespace))+>
<!ELEMENT filterNot (filterAnd | filterOr | filterNot | filterInMembers | filterInValues | filterCompare | filterStringCompare | filterRange | filterNulls | filterEmpty | filterWhitespace)>
<!ELEMENT filterInMembers (dmMembers? | dmDimension | dmHierarchy | XMLAttributes?)+>
<!ATTLIST filterInMembers
	refDataItem CDATA #REQUIRED
	not  (true | false) "false"
	parameterized  (true | false) "false"
	parameterName CDATA #IMPLIED
>
<!ELEMENT filterInValues (filterValues? | XMLAttributes?)*>
<!ATTLIST filterInValues
	refDataItem CDATA #REQUIRED
	not  (true | false) "false"
	dataType (string | integer | decimal | float | date | time | dateTime | interval) #REQUIRED
	includeNulls  (true | false) "false"
	includeEmpty  (true | false) "false"
	includeWhitespace  (true | false) "false"
	parameterized  (true | false) "false"
	parameterName CDATA #IMPLIED
>
<!ELEMENT filterCompare (filterValue | XMLAttributes?)+>
<!ATTLIST filterCompare
	refDataItem CDATA #REQUIRED
	not  (true | false) "false"
	dataType (integer | decimal | float | date | time | dateTime | interval) #REQUIRED
	includeNulls  (true | false) "false"
	operator (greaterThan | greaterThanEqual | lessThan | lessThanEqual) #REQUIRED
	parameterized  (true | false) "false"
	parameterName CDATA #IMPLIED
>
<!ELEMENT filterStringCompare (filterValue | XMLAttributes?)+>
<!ATTLIST filterStringCompare
	refDataItem CDATA #REQUIRED
	not  (true | false) "false"
	includeNulls  (true | false) "false"
	includeEmpty  (true | false) "false"
	includeWhitespace  (true | false) "false"
	operator (contains | beginsWith | endsWith | like) #REQUIRED
	caseInsensitive (yes | dataSource) "dataSource"
	escapeCharacter CDATA #IMPLIED
	parameterized  (true | false) "false"
	parameterName CDATA #IMPLIED
>
<!ELEMENT filterRange (filterFrom? | filterTo? | XMLAttributes?)*>
<!ATTLIST filterRange
	refDataItem CDATA #REQUIRED
	not  (true | false) "false"
	dataType (integer | decimal | float | date | time | dateTime | interval) #REQUIRED
	includeNulls  (true | false) "false"
	parameterized  (true | false) "false"
	parameterName CDATA #IMPLIED
>
<!ELEMENT filterNulls (XMLAttributes?)>
<!ATTLIST filterNulls
	refDataItem CDATA #REQUIRED
	not  (true | false) "false"
	dataType (string | integer | decimal | float | date | time | dateTime | interval) #REQUIRED
>
<!ELEMENT filterEmpty (XMLAttributes?)>
<!ATTLIST filterEmpty
	refDataItem CDATA #REQUIRED
	not  (true | false) "false"
	dataType (string | integer | decimal | float | date | time | dateTime | interval) #REQUIRED
>
<!ELEMENT filterWhitespace (XMLAttributes?)>
<!ATTLIST filterWhitespace
	refDataItem CDATA #REQUIRED
	not  (true | false) "false"
	dataType (string | integer | decimal | float | date | time | dateTime | interval) #REQUIRED
>
<!ELEMENT appCards (appCard+)>
<!ELEMENT appDefaultCard (contents | XMLAttributes?)+>
<!ELEMENT appTabDeck (appTabCards | XMLAttributes?)+>
<!ELEMENT appSliderMinVariable EMPTY>
<!ATTLIST appSliderMinVariable
	refAppVariable CDATA #REQUIRED
>
<!ELEMENT appSliderMaxVariable EMPTY>
<!ATTLIST appSliderMaxVariable
	refAppVariable CDATA #REQUIRED
>
<!ELEMENT appRepeaterTableCell (contents | style? | XMLAttributes?)+>
<!ELEMENT appDataCard (contents | XMLAttributes?)+>
<!ELEMENT appDataDefaultCard (contents | XMLAttributes?)+>
<!ELEMENT appDataTabDeck (appDataTabCard | XMLAttributes?)+>
<!ELEMENT appListDataSet (appListCategories? | appListFacts? | masterDetailLinks? | appListDefaultMeasure? | XMLAttributes?)*>
<!ATTLIST appListDataSet
	refQuery CDATA #REQUIRED
>
<!ELEMENT appListColumns (appListColumn+)>
<!ELEMENT appListSummaryFooter (appListSummaryRows? | style?)*>
<!ELEMENT appListColumnsStyle (style?)>
<!ELEMENT appListColumnTitlesStyle (style?)>
<!ELEMENT appListColumnBodiesStyle (style?)>
<!ELEMENT appListBorders (appListExternalBorders? | appListVerticalBorders? | appListHorizontalBorders? | appListColumnTitleBorder? | appListFooterBorders? | appListBodyBorder?)*>
<!ATTLIST appListBorders
	borderColor CDATA #IMPLIED
>
<!ELEMENT appListRowStyleSequence (appListRowStyle+)>
<!ELEMENT appConditionAnd ((appConditionAnd | appConditionOr | appConditionNot | appConditionDataItemComparison | appConditionConstantComparison | appConditionIsVariableEmpty | appConditionIsDataItemEmpty | appConditionDataItemConstantComparison)+)>
<!ELEMENT appConditionOr ((appConditionAnd | appConditionOr | appConditionNot | appConditionDataItemComparison | appConditionConstantComparison | appConditionIsVariableEmpty | appConditionIsDataItemEmpty | appConditionDataItemConstantComparison)+)>
<!ELEMENT appConditionNot (appConditionAnd | appConditionOr | appConditionNot | appConditionDataItemComparison | appConditionConstantComparison | appConditionIsVariableEmpty | appConditionIsDataItemEmpty | appConditionDataItemConstantComparison)>
<!ELEMENT appConditionDataItemComparison EMPTY>
<!ATTLIST appConditionDataItemComparison
	refAppVariable CDATA #REQUIRED
	refDataItem CDATA #REQUIRED
	operator (in | notIn | greaterThan | greaterThanEqual | lessThan | lessThanEqual) #REQUIRED
	dropIfValueIsEmpty  (true | false) "true"
>
<!ELEMENT appConditionConstantComparison (appVariableValue)>
<!ATTLIST appConditionConstantComparison
	refAppVariable CDATA #REQUIRED
	operator (in | notIn | greaterThan | greaterThanEqual | lessThan | lessThanEqual) #REQUIRED
	dropIfValueIsEmpty  (true | false) "true"
	dataType (string | dateTime | decimal) "string"
>
<!ELEMENT appConditionIsVariableEmpty EMPTY>
<!ATTLIST appConditionIsVariableEmpty
	refAppVariable CDATA #REQUIRED
>
<!ELEMENT appConditionIsDataItemEmpty EMPTY>
<!ATTLIST appConditionIsDataItemEmpty
	refDataItem CDATA #REQUIRED
>
<!ELEMENT appConditionDataItemConstantComparison (appVariableValue)>
<!ATTLIST appConditionDataItemConstantComparison
	refDataItem CDATA #REQUIRED
	operator (in | notIn | greaterThan | greaterThanEqual | lessThan | lessThanEqual) #REQUIRED
	dataType (string | dateTime | decimal) "string"
>
<!ELEMENT appChartClickableRegions EMPTY>
<!ATTLIST appChartClickableRegions
	intersections  (true | false) "true"
	ordinalAxisLabels  (true | false) "false"
	legendLabels  (true | false) "false"
	numericAxisTitle  (true | false) "false"
	ordinalAxisTitle  (true | false) "false"
	legendTitle  (true | false) "false"
>
<!ELEMENT appDrill (appDrillMethod | appDrillLabel | appDrillParameters?)+>
<!ATTLIST appDrill
	name CDATA #REQUIRED
>
<!ELEMENT appDrillTo (appDrillToMethod | appDrillToParameters? | XMLAttributes?)+>
<!ATTLIST appDrillTo
	name CDATA #REQUIRED
>
<!ELEMENT appVariables (appVariable+)>
<!ELEMENT appWindowTitle (defaultText | localizedText?)+>
<!ELEMENT appWindowIcon (#PCDATA)>
<!ATTLIST appWindowIcon
	xml:space (default | preserve) "preserve"
>
<!ELEMENT appWindowSize (appWindowSizeMaximize | appWindowSizeFixed)>
<!ELEMENT appMaxRows EMPTY>
<!ATTLIST appMaxRows
	value CDATA #REQUIRED
>
<!ELEMENT appAccess EMPTY>
<!ATTLIST appAccess
	accessCode CDATA #REQUIRED
>
<!ELEMENT appRanges (appRange+)>
<!ELEMENT appSetVariableValueToDataItemValue EMPTY>
<!ATTLIST appSetVariableValueToDataItemValue
	refAppVariable CDATA #REQUIRED
	sourceType (min | max) #IMPLIED
	refDataItem CDATA #REQUIRED
>
<!ELEMENT appSetVariableValueToConstant (appVariableValue)>
<!ATTLIST appSetVariableValueToConstant
	refAppVariable CDATA #REQUIRED
	sourceType (min | max) #IMPLIED
>
<!ELEMENT appClearVariable EMPTY>
<!ATTLIST appClearVariable
	refAppVariable CDATA #REQUIRED
	sourceType (min | max) #IMPLIED
>
<!ELEMENT appSetVariableValueToContinuousValue EMPTY>
<!ATTLIST appSetVariableValueToContinuousValue
	refAppVariable CDATA #REQUIRED
	sourceType (min | max) #IMPLIED
>
<!ELEMENT appListItemLabel (style?)>
<!ATTLIST appListItemLabel
	refDataItem CDATA #REQUIRED
>
<!ELEMENT appListItemIcon EMPTY>
<!ATTLIST appListItemIcon
	refDataItem CDATA #REQUIRED
>
<!ELEMENT appListItemValues (appListItemValue+)>
<!ELEMENT appNoValueListItemLabel (defaultText | localizedText?)+>
<!ELEMENT appStaticDataRows (appStaticDataRow+)>
<!ELEMENT appStaticDataItem EMPTY>
<!ATTLIST appStaticDataItem
	name CDATA #REQUIRED
>
<!ELEMENT appButtonLabel (style?)>
<!ATTLIST appButtonLabel
	refDataItem CDATA #REQUIRED
>
<!ELEMENT appButtonIcon EMPTY>
<!ATTLIST appButtonIcon
	refDataItem CDATA #REQUIRED
>
<!ELEMENT appButtonValues (appButtonValue+)>
<!ELEMENT appRadioButtonLabel (style?)>
<!ATTLIST appRadioButtonLabel
	refDataItem CDATA #REQUIRED
>
<!ELEMENT appRadioButtonIcon EMPTY>
<!ATTLIST appRadioButtonIcon
	refDataItem CDATA #REQUIRED
>
<!ELEMENT appRadioButtonValues (appRadioButtonValue+)>
<!ELEMENT appCheckboxLabel (style?)>
<!ATTLIST appCheckboxLabel
	refDataItem CDATA #REQUIRED
>
<!ELEMENT appCheckboxIcon EMPTY>
<!ATTLIST appCheckboxIcon
	refDataItem CDATA #REQUIRED
>
<!ELEMENT appCheckboxValues (appCheckboxValue+)>
<!ELEMENT appTabLabel EMPTY>
<!ATTLIST appTabLabel
	refDataItem CDATA #REQUIRED
>
<!ELEMENT appTabIcon EMPTY>
<!ATTLIST appTabIcon
	refDataItem CDATA #REQUIRED
>
<!ELEMENT appTabValues (appTabValue+)>
<!ELEMENT appCardLabel EMPTY>
<!ATTLIST appCardLabel
	refDataItem CDATA #REQUIRED
>
<!ELEMENT appCardValues (appCardValue+)>
<!ELEMENT appIteratorLabel (style?)>
<!ATTLIST appIteratorLabel
	refDataItem CDATA #REQUIRED
>
<!ELEMENT appIteratorIcon EMPTY>
<!ATTLIST appIteratorIcon
	refDataItem CDATA #REQUIRED
>
<!ELEMENT appIteratorValues (appIteratorValue+)>
<!ELEMENT appIteratorFirst (appIteratorButton | appIteratorSiblingLabel | appIteratorSiblingLabelButton | appIteratorText | appIteratorTextButton)>
<!ELEMENT appIteratorLast (appIteratorButton | appIteratorSiblingLabel | appIteratorSiblingLabelButton | appIteratorText | appIteratorTextButton)>
<!ELEMENT appIteratorPrevious (appIteratorButton | appIteratorSiblingLabel | appIteratorSiblingLabelButton | appIteratorText | appIteratorTextButton)>
<!ELEMENT appIteratorNext (appIteratorButton | appIteratorSiblingLabel | appIteratorSiblingLabelButton | appIteratorText | appIteratorTextButton)>
<!ELEMENT appIteratorLabelArea (appIteratorDropDownList | appIteratorLabelText | appDotsPageIndicator | appIteratorNumber)>
<!ELEMENT appSliderLabel (style?)>
<!ATTLIST appSliderLabel
	refDataItem CDATA #REQUIRED
>
<!ELEMENT appSliderValues (appSliderValue+)>
<!ELEMENT appRepeaterTableCellLabel EMPTY>
<!ATTLIST appRepeaterTableCellLabel
	refDataItem CDATA #REQUIRED
>
<!ELEMENT appRepeaterTableCellValues (appRepeaterTableCellValue+)>
<!ELEMENT reportDataStore (dsSource | dsFilters? | dsProjections? | XMLAttributes?)+>
<!ATTLIST reportDataStore
	name CDATA #REQUIRED
>
<!ELEMENT setParameterToColValue EMPTY>
<!ATTLIST setParameterToColValue
	parameter CDATA #REQUIRED
	refDsColumn CDATA #REQUIRED
>
<!ELEMENT dsRowSortColumn EMPTY>
<!ATTLIST dsRowSortColumn
	refDsColumn CDATA #REQUIRED
	ascending  (true | false) #REQUIRED
>
<!ELEMENT dsFilter (dsFilterDefinition | XMLAttributes?)+>
<!ATTLIST dsFilter
	rollupFilter  (true | false) "false"
>
<!ELEMENT lcSummaryRow (style? | XMLAttributes?)*>
<!ATTLIST lcSummaryRow
	summaryMethod (total | minimum | maximum | average | count) "total"
>
<!ELEMENT lcSort EMPTY>
<!ATTLIST lcSort
	refDsColumn CDATA #REQUIRED
	ascending  (true | false) #IMPLIED
>
<!ELEMENT conditionalLayouts (conditionalLayout+)>
<!ATTLIST conditionalLayouts
	refVariable CDATA #REQUIRED
>
<!ELEMENT reportPages ((page | pageSet | bookletItem)+)>
<!ELEMENT promptPages (page+)>
<!ELEMENT pageOverallGroup (headerPages? | footerPages? | propertyList?)*>
<!ELEMENT pageGroups (pageGroup+)>
<!ELEMENT detailPages ((page | pageSet)*)>
<!ELEMENT pageBody (contents | style? | conditionalStyles? | conditionalStyleRefs? | XMLAttributes?)+>
<!ELEMENT pageHeader (contents | style? | conditionalStyles? | conditionalStyleRefs? | XMLAttributes?)+>
<!ELEMENT pageFooter (contents | style? | conditionalStyles? | conditionalStyleRefs? | XMLAttributes?)+>
<!ELEMENT pageSections (pageSection+)>
<!ELEMENT pageModule EMPTY>
<!ATTLIST pageModule
	path CDATA #IMPLIED
>
<!ELEMENT listColumns (listColumn+)>
<!ELEMENT listColumnStyle (style? | conditionalStyles? | conditionalStyleRefs? | XMLAttributes?)*>
<!ELEMENT listColumnTitleStyle (style? | conditionalStyles? | conditionalStyleRefs? | XMLAttributes?)*>
<!ELEMENT listColumnBodyStyle (style? | conditionalStyles? | conditionalStyleRefs? | XMLAttributes?)*>
<!ELEMENT listOverallGroup (listHeader? | listFooter? | propertyList?)*>
<!ELEMENT listGroups (listGroup+)>
<!ELEMENT listPageHeader (listRows | rowCellsStyle? | XMLAttributes?)+>
<!ATTLIST listPageHeader
	afterOverallHeader  (true | false) "false"
>
<!ELEMENT listPageFooter (listRows | rowCellsStyle? | XMLAttributes?)+>
<!ATTLIST listPageFooter
	pushToBottom  (true | false) "false"
>
<!ELEMENT sectionsFrame EMPTY>
<!ATTLIST sectionsFrame
	refFrame CDATA #REQUIRED
	sectionedEdge (rows | columns) "rows"
>
<!ELEMENT crosstabColumns (crosstabNode+)>
<!ELEMENT crosstabRows (crosstabNode+)>
<!ELEMENT crosstabFactCell (contents | style? | conditionalStyles? | conditionalStyleRefs? | XMLAttributes? | appCrosstabFactCellProperties?)+>
<!ATTLIST crosstabFactCell
	applySingleDefaultStyle  (true | false) "false"
	template  (true | false) "false"
>
<!ELEMENT crosstabCorner (contents | style? | conditionalStyles? | conditionalStyleRefs? | XMLAttributes?)+>
<!ELEMENT crosstabIntersections (crosstabIntersection+)>
<!ELEMENT crosstabRowNodeStyle (style? | conditionalStyles? | conditionalStyleRefs? | XMLAttributes?)*>
<!ELEMENT crosstabColumnNodeStyle (style? | conditionalStyles? | conditionalStyleRefs? | XMLAttributes?)*>
<!ELEMENT repeaterTableCell (contents | style? | conditionalStyles? | conditionalStyleRefs? | conditionalRender? | XMLAttributes?)+>
<!ELEMENT burstGroups (burstGroup+)>
<!ELEMENT burstRecipient (masterDetailLinks?)>
<!ATTLIST burstRecipient
	refQuery CDATA #REQUIRED
	refDataItem CDATA #REQUIRED
	type (auto | email | directory) "auto"
>
<!ELEMENT burstLabel EMPTY>
<!ATTLIST burstLabel
	refDataItem CDATA #REQUIRED
>
<!ELEMENT repeaterGroup (sortList? | propertyList?)*>
<!ATTLIST repeaterGroup
	refDataItem CDATA #REQUIRED
>
<!ELEMENT reportVariable (reportExpression | variableValues? | XMLAttributes?)+>
<!ATTLIST reportVariable
	name CDATA #REQUIRED
	type (string | boolean | locale) #REQUIRED
>
<!ELEMENT classStyle (CSS? | generatedBackground?)*>
<!ATTLIST classStyle
	name CDATA #REQUIRED
	label CDATA #IMPLIED
	description CDATA #IMPLIED
>
<!ELEMENT drillQueryBehavior (drillDataItemBehavior+)>
<!ATTLIST drillQueryBehavior
	refQuery CDATA #REQUIRED
>
<!ELEMENT linkedDrillItemSets (linkedDrillItemSet+)>
<!ELEMENT singleton (contents | conditionalRender? | XMLAttributes? | propertyList?)+>
<!ATTLIST singleton
	refQuery CDATA #REQUIRED
	name CDATA #IMPLIED
	displayForOrientation (both | portrait | landscape) "both"
>
<!ELEMENT block (contents | style? | conditionalStyles? | conditionalStyleRefs? | conditionalRender? | XMLAttributes?)+>
<!ATTLIST block
	name CDATA #IMPLIED
	displayForOrientation (both | portrait | landscape) "both"
>
<!ELEMENT table (tableRows | conditionalStyles? | conditionalStyleRefs? | XMLAttributes? | style? | conditionalRender? | containerDropShadow? | summaryText?)+>
<!ATTLIST table
	name CDATA #IMPLIED
	repeatOnPageBreak  (true | false) "true"
	allowPageBreaksWithinRow  (true | false) "true"
	displayForOrientation (both | portrait | landscape) "both"
>
<!ELEMENT textItem (dataSource | conditionalDataSources? | reportDrills? | style? | conditionalStyles? | conditionalStyleRefs? | conditionalRender? | XMLAttributes?)+>
<!ATTLIST textItem
	maxCharacters CDATA #IMPLIED
	useDetailValue  (true | false) "false"
	labelFor CDATA #IMPLIED
	name CDATA #IMPLIED
	displayForOrientation (both | portrait | landscape) "both"
>
<!ELEMENT image (dataSource | conditionalDataSources? | reportDrills? | style? | conditionalStyles? | conditionalStyleRefs? | conditionalRender? | alternateText? | XMLAttributes?)+>
<!ATTLIST image
	name CDATA #IMPLIED
	displayForOrientation (both | portrait | landscape) "both"
>
<!ELEMENT hyperlink (contents | dataSource | conditionalDataSources? | style? | conditionalStyles? | conditionalStyleRefs? | conditionalRender? | XMLAttributes?)+>
<!ATTLIST hyperlink
	name CDATA #IMPLIED
	displayForOrientation (both | portrait | landscape) "both"
	target (_blank | _top | _parent | _self) #IMPLIED
>
<!ELEMENT button (contents | dataSource | conditionalDataSources? | style? | conditionalStyles? | conditionalStyleRefs? | conditionalRender? | XMLAttributes?)+>
<!ATTLIST button
	name CDATA #IMPLIED
	displayForOrientation (both | portrait | landscape) "both"
	target (_blank | _top | _parent | _self) #IMPLIED
>
<!ELEMENT promptButton (contents | style? | conditionalStyles? | conditionalStyleRefs? | conditionalRender? | XMLAttributes?)+>
<!ATTLIST promptButton
	type (back | cancel | next | finish | reprompt) #IMPLIED
	name CDATA #IMPLIED
>
<!ELEMENT HTMLItem (dataSource | conditionalDataSources? | conditionalRender? | XMLAttributes?)+>
<!ATTLIST HTMLItem
	name CDATA #IMPLIED
	description CDATA #IMPLIED
>
<!ELEMENT richTextItem (dataSource | conditionalDataSources? | conditionalRender? | XMLAttributes?)+>
<!ATTLIST richTextItem
	name CDATA #IMPLIED
	description CDATA #IMPLIED
>
<!ELEMENT bookmark (dataSource | XMLAttributes?)+>
<!ELEMENT fieldSet (contents | fieldSetCaption | style? | conditionalStyles? | conditionalStyleRefs? | conditionalRender? | XMLAttributes?)+>
<!ATTLIST fieldSet
	showCaption (left | right | center | hide) "left"
	name CDATA #IMPLIED
	displayForOrientation (both | portrait | landscape) "both"
>
<!ELEMENT conditionalBlocks (conditionalBlockCases? | conditionalBlockDefault | XMLAttributes?)+>
<!ATTLIST conditionalBlocks
	name CDATA #IMPLIED
>
<!ELEMENT layoutComponentRef (reportPath? | layoutComponent? | layoutComponentOverrides? | XMLAttributes?)*>
<!ATTLIST layoutComponentRef
	refLayoutElement CDATA #REQUIRED
>
<!ELEMENT CMMMap (alternateText?)>
<!ATTLIST CMMMap
	cmmID CDATA #REQUIRED
	description CDATA #IMPLIED
>
<!ELEMENT asOfTime (reportExpression)>
<!ELEMENT TOC (style? | conditionalStyles? | conditionalStyleRefs? | conditionalRender? | XMLAttributes? | noDataHandler?)*>
<!ATTLIST TOC
	renderPageWhenEmpty  (true | false) "true"
	tocName CDATA #REQUIRED
>
<!ELEMENT queryFilterBlock EMPTY>
<!ATTLIST queryFilterBlock
	refQuery CDATA #REQUIRED
	detailFilterDisplay (none | all | changeableInViewer | notChangeableInViewer) "all"
	summaryFilterDisplay (none | all) "all"
>
<!ELEMENT textBox (style? | defaultSelections? | conditionalStyles? | conditionalStyleRefs? | conditionalRender? | XMLAttributes? | choicesText? | fromText? | toText? | lowestValueText? | highestValueText? | choicesSelectAllText? | choicesDeselectAllText? | deselectText? | insertText? | removeText? | promptTextStyle?)*>
<!ATTLIST textBox
	parameter CDATA #IMPLIED
	required  (true | false) "true"
	hideAdornments  (true | false) "false"
	multiSelect  (true | false) "false"
	range  (true | false) "false"
	numbersOnly  (true | false) "false"
	multiLine  (true | false) "false"
	hideText  (true | false) "false"
	name CDATA #IMPLIED
	showThousandSeparator  (true | false) "false"
>
<!ELEMENT selectDate (style? | conditionalStyles? | conditionalStyleRefs? | defaultSelections? | conditionalRender? | XMLAttributes? | choicesText? | fromText? | toText? | lowestValueText? | highestValueText? | choicesSelectAllText? | choicesDeselectAllText? | deselectText? | insertText? | removeText? | promptTextStyle?)*>
<!ATTLIST selectDate
	parameter CDATA #IMPLIED
	required  (true | false) "true"
	hideAdornments  (true | false) "false"
	calendar (Gregorian | Imperial) "Gregorian"
	firstDate CDATA #IMPLIED
	lastDate CDATA #IMPLIED
	multiSelect  (true | false) "false"
	range  (true | false) "false"
	selectDateUI (calendar | editBox) "calendar"
	name CDATA #IMPLIED
>
<!ELEMENT selectDateTime (style? | conditionalStyles? | conditionalStyleRefs? | defaultSelections? | conditionalRender? | XMLAttributes? | choicesText? | fromText? | toText? | lowestValueText? | highestValueText? | choicesSelectAllText? | choicesDeselectAllText? | deselectText? | insertText? | removeText? | promptTextStyle?)*>
<!ATTLIST selectDateTime
	parameter CDATA #IMPLIED
	required  (true | false) "true"
	hideAdornments  (true | false) "false"
	multiSelect  (true | false) "false"
	range  (true | false) "false"
	clockMode (static | live) "static"
	showSeconds  (true | false) "false"
	showMilliseconds  (true | false) "false"
	calendar (Gregorian | Imperial) "Gregorian"
	firstDate CDATA #IMPLIED
	lastDate CDATA #IMPLIED
	selectDateTimeUI (calendar | editBox) "calendar"
	name CDATA #IMPLIED
>
<!ELEMENT selectTime (style? | conditionalStyles? | conditionalStyleRefs? | defaultSelections? | conditionalRender? | XMLAttributes? | choicesText? | fromText? | toText? | lowestValueText? | highestValueText? | choicesSelectAllText? | choicesDeselectAllText? | deselectText? | insertText? | removeText? | promptTextStyle?)*>
<!ATTLIST selectTime
	clockMode (static | live) "static"
	showSeconds  (true | false) "false"
	showMilliseconds  (true | false) "false"
	parameter CDATA #IMPLIED
	required  (true | false) "true"
	hideAdornments  (true | false) "false"
	multiSelect  (true | false) "false"
	range  (true | false) "false"
	selectTimeUI (clock | editBox) "clock"
	name CDATA #IMPLIED
>
<!ELEMENT selectInterval (style? | conditionalStyles? | conditionalStyleRefs? | defaultSelections? | conditionalRender? | XMLAttributes? | choicesText? | fromText? | toText? | lowestValueText? | highestValueText? | choicesSelectAllText? | choicesDeselectAllText? | deselectText? | insertText? | removeText? | daysText? | hoursText? | minutesText? | secondsText? | millisecondsText? | promptTextStyle?)*>
<!ATTLIST selectInterval
	parameter CDATA #IMPLIED
	required  (true | false) "true"
	hideAdornments  (true | false) "false"
	multiSelect  (true | false) "false"
	range  (true | false) "false"
	showSeconds  (true | false) "false"
	showMilliseconds  (true | false) "false"
	name CDATA #IMPLIED
>
<!ELEMENT selectValue (style? | conditionalStyles? | conditionalStyleRefs? | defaultSelections? | useItem? | selectOptions? | conditionalRender? | sortList? | XMLAttributes? | propertyList? | headerText? | choicesText? | fromText? | toText? | lowestValueText? | highestValueText? | choicesSelectAllText? | choicesDeselectAllText? | resultsSelectAllText? | resultsDeselectAllText? | deselectText? | insertText? | removeText? | promptTextStyle?)*>
<!ATTLIST selectValue
	parameter CDATA #IMPLIED
	required  (true | false) "true"
	hideAdornments  (true | false) "false"
	rowsPerPage CDATA "5000"
	cascadeOn CDATA #IMPLIED
	multiSelect  (true | false) "false"
	range  (true | false) "false"
	selectValueUI (dropdown | listBox | radioGroup | checkboxGroup) "dropdown"
	name CDATA #IMPLIED
	autoSubmit  (true | false) "false"
	refQuery CDATA #IMPLIED
	prePopulateIfParentOptional  (true | false) "false"
>
<!ELEMENT selectWithSearch (style? | conditionalStyles? | conditionalStyleRefs? | useItem? | conditionalRender? | XMLAttributes? | sortList? | selectOptions? | propertyList? | choicesSelectAllText? | choicesDeselectAllText? | resultsSelectAllText? | resultsDeselectAllText? | deselectText? | insertText? | removeText? | resultsText? | keywordsText? | searchInstructionsText? | optionsText? | searchText? | choicesText? | promptTextStyle?)*>
<!ATTLIST selectWithSearch
	parameter CDATA #IMPLIED
	required  (true | false) "true"
	hideAdornments  (true | false) "false"
	rowsPerPage CDATA "5000"
	cascadeOn CDATA #IMPLIED
	multiSelect  (true | false) "false"
	name CDATA #IMPLIED
	refQuery CDATA #IMPLIED
	caseInsensitiveIsDefault  (true | false) "true"
>
<!ELEMENT selectWithTree (selectWithTreeItem? | style? | conditionalStyles? | conditionalStyleRefs? | conditionalRender? | sortList? | XMLAttributes? | defaultTreeSelections? | resultsSelectAllText? | resultsDeselectAllText? | deselectText? | promptTextStyle?)*>
<!ATTLIST selectWithTree
	parameter CDATA #IMPLIED
	required  (true | false) "true"
	hideAdornments  (true | false) "false"
	rowsPerPage CDATA "5000"
	cascadeOn CDATA #IMPLIED
	multiSelect  (true | false) "false"
	name CDATA #IMPLIED
	refQuery CDATA #IMPLIED
	prePopulateIfParentOptional  (true | false) "false"
	prePopulateLevels CDATA "1"
>
<!ELEMENT generatedPrompt (XMLAttributes?)>
<!ATTLIST generatedPrompt
	parameter CDATA #IMPLIED
	required  (true | false) "true"
	hideAdornments  (true | false) "false"
	name CDATA #IMPLIED
>
<!ELEMENT selectFile (XMLAttributes?)>
<!ATTLIST selectFile
	name CDATA #IMPLIED
	parameter CDATA #IMPLIED
	required  (true | false) "true"
	hideAdornments  (true | false) "false"
	defaultPath CDATA #IMPLIED
>
<!ELEMENT customControl (configuration? | customControlDataSets? | XMLAttributes?)*>
<!ATTLIST customControl
	uiType (none | withEventPropagation | withoutEventPropagation) "withoutEventPropagation"
	path CDATA #IMPLIED
	height CDATA #IMPLIED
	width CDATA #IMPLIED
	name CDATA #IMPLIED
	description CDATA #IMPLIED
>
<!ELEMENT vizControl (vcDataSets? | vizPropertyValues? | conditionalRender? | alternateText? | setParameters? | style? | XMLAttributes?)*>
<!ATTLIST vizControl
	name CDATA #REQUIRED
	type CDATA #REQUIRED
	render (client | server) "client"
	autoChart  (true | false) "false"
>
<!ELEMENT listControl (lcColumns? | lcColumnBodyStyle? | lcColumnTitleStyle? | lcColumnStyle? | lcBorders? | lcRowStyleSequence? | summaryText? | setParameters? | lcSummaryHeader? | lcSummaryFooter? | lcGroupHeaderStyle? | lcGroupFooterStyle? | lcSorting? | expandCollapseIndicator? | multipleValuesLabel? | style? | XMLAttributes?)*>
<!ATTLIST listControl
	name CDATA #REQUIRED
	refDataStore CDATA #REQUIRED
	rowHeight CDATA #REQUIRED
	scrollableAreaHeight CDATA #REQUIRED
	showColumnTitles (hide | startOfList | startOfDetails) "startOfList"
	enableCollapse  (true | false) "false"
	snapToRow  (true | false) "false"
	allowColumnResize  (true | false) "true"
	showColumnFilters  (true | false) "false"
	groupSpan  (true | false) "true"
>
<!ELEMENT dropDownList (listItemLabel? | listItemIcon? | setParameters? | style? | appTextStyle? | reportDataStoreRowSort? | XMLAttributes?)*>
<!ATTLIST dropDownList
	name CDATA #REQUIRED
	refDataStore CDATA #REQUIRED
>
<!ELEMENT notebook (XMLAttributes? | style | reportPath?)+>
<!ATTLIST notebook
	showTimestamp  (true | false) "true"
	notebookSelectedCellIndex CDATA #IMPLIED
	notebookName CDATA #IMPLIED
>
<!ELEMENT listRow (rowCells | rowCellsStyle? | XMLAttributes? | appListRowProperties?)+>
<!ELEMENT namedPaper EMPTY>
<!ATTLIST namedPaper
	name CDATA #REQUIRED
>
<!ELEMENT customPaper EMPTY>
<!ATTLIST customPaper
	width CDATA #REQUIRED
	height CDATA #REQUIRED
	unit (in | cm) "in"
>
<!ELEMENT percentageSizedViz EMPTY>
<!ATTLIST percentageSizedViz
	shape (bar | circle | square | upTriangle | downTriangle) #IMPLIED
	positiveShape (bar | circle | square | upTriangle | downTriangle) #IMPLIED
	negativeShape (bar | circle | square | upTriangle | downTriangle) #IMPLIED
	zeroShape (bar | circle | square | upTriangle | downTriangle) #IMPLIED
	color CDATA #IMPLIED
	positiveColor CDATA #IMPLIED
	negativeColor CDATA #IMPLIED
	zeroColor CDATA #IMPLIED
	animate  (true | false) "true"
>
<!ELEMENT coloredViz EMPTY>
<!ATTLIST coloredViz
	shape (upArrow | downArrow | circle | square | upTriangle | downTriangle) #IMPLIED
	positiveShape (none | upArrow | downArrow | circle | square | upTriangle | downTriangle) #IMPLIED
	negativeShape (none | upArrow | downArrow | circle | square | upTriangle | downTriangle) #IMPLIED
	zeroShape (none | upArrow | downArrow | circle | square | upTriangle | downTriangle) #IMPLIED
	color CDATA #IMPLIED
	positiveColor CDATA #IMPLIED
	negativeColor CDATA #IMPLIED
	zeroColor CDATA #IMPLIED
>
<!ELEMENT htmlViz (positiveHtmlViz? | negativeHtmlViz? | zeroHtmlViz? | defaultHtmlViz?)*>
<!ELEMENT pies (chartNodes)>
<!ELEMENT pieSlices (chartNodes)>
<!ELEMENT pieLabels (style? | conditionalStyles? | conditionalStyleRefs? | reportDrills? | XMLAttributes?)*>
<!ATTLIST pieLabels
	categoryitemMaxCharacters CDATA "48"
	categoryitemEnableTruncation  (true | false) "true"
	truncationText CDATA "..."
>
<!ELEMENT radialClusters (chartNodes)>
<!ELEMENT numericalAxisProgressive (axisTitle? | gridlines? | minorGridlines? | axisLine? | style? | conditionalStyles? | conditionalStyleRefs?)*>
<!ATTLIST numericalAxisProgressive
	min CDATA #IMPLIED
	max CDATA #IMPLIED
	scaleInterval CDATA #IMPLIED
	scale (linear | log) "linear"
	sameRangeAllInstances  (true | false) "true"
	includeZeroForAutoScale  (true | false) "true"
	showAxisLabels  (true | false) "true"
>
<!ELEMENT total (totalColumnColor? | totalColumnLabel? | propertyList? | style?)*>
<!ELEMENT firstColumnColor (chartColor | chartGradient | chartPattern)>
<!ELEMENT positiveColumnColor (chartColor | chartGradient | chartPattern)>
<!ELEMENT negativeColumnColor (chartColor | chartGradient | chartPattern)>
<!ELEMENT cumulationLine (cumulationAxis? | cumulationLabel? | propertyList?)*>
<!ATTLIST cumulationLine
	dataPointSize CDATA "0"
	dataPointShape (circle | square | house | hexagon | pentagon | diamond | triangle | downTriangle | rightTriangle | leftTriangle | skewLeftTriangle | skewRightTriangle | downSkewLeftTriangle | downSkewRightTriangle | verticalLine | horizontalLine | plus | fatPlus | star90 | pentagram | star | skewedStar | plainX | softX | fatX | spikedX | castle) "plainX"
	lineStyle (solid | dash | dot | dotdash | dashdotdot | mediumdash | shortdash | longdash | longdot | dotdotdot | dashdashdot | dashdashdotdot | longdashdot | longdashdotdot | longdashdashdot | longdashdashdotdot) "solid"
	weight CDATA "0"
	color CDATA "black"
	transparency CDATA "0"
	showValues  (true | false) "false"
	displayDataLocation (insideAtTop | outsideAtTop | insideAtBottom | outsideAtBottom | centered) "centered"
>
<!ELEMENT paretoBars (chartNodes)>
<!ELEMENT paretoBarClusters (chartNodes)>
<!ELEMENT numericalAxisPareto (axisTitle? | gridlines? | minorGridlines? | axisLine? | style? | conditionalStyles? | conditionalStyleRefs?)*>
<!ATTLIST numericalAxisPareto
	min CDATA #IMPLIED
	max CDATA #IMPLIED
	scaleInterval CDATA #IMPLIED
	scale (linear | log) "linear"
	sameRangeAllInstances  (true | false) "true"
	includeZeroForAutoScale  (true | false) "true"
	showAxisLabels  (true | false) "true"
>
<!ELEMENT marimekkoBars (chartNodes)>
<!ELEMENT marimekkoBarClusters (chartNodes)>
<!ELEMENT winLossBars (chartNodes)>
<!ELEMENT winColor (chartColor | chartPattern | chartGradient)>
<!ELEMENT lossColor (chartColor | chartPattern | chartGradient)>
<!ELEMENT bubbleMeasure (style? | conditionalStyles? | conditionalStyleRefs? | chartLabel? | XMLAttributes?)*>
<!ATTLIST bubbleMeasure
	refDataItem CDATA #REQUIRED
	solveOrder CDATA #IMPLIED
>
<!ELEMENT angularMeasure (style? | conditionalStyles? | conditionalStyleRefs? | chartLabel? | XMLAttributes?)*>
<!ATTLIST angularMeasure
	refDataItem CDATA #REQUIRED
	solveOrder CDATA #IMPLIED
>
<!ELEMENT numericalAxisAngular (axisTitle? | gridlines? | minorGridlines? | axisLine? | style? | conditionalStyles? | conditionalStyleRefs?)*>
<!ATTLIST numericalAxisAngular
	min CDATA #IMPLIED
	max CDATA #IMPLIED
	scaleInterval CDATA #IMPLIED
	scale (linear | log) "linear"
	sameRangeAllInstances  (true | false) "true"
	includeZeroForAutoScale  (true | false) "true"
	showAxisLabels  (true | false) "true"
>
<!ELEMENT threeDCombinationChartTypes ((threeDBar | threeDLine | threeDArea)+)>
<!ELEMENT numericalAxis (axisTitle? | gridlines? | minorGridlines? | axisLine? | style? | conditionalStyles? | conditionalStyleRefs?)*>
<!ATTLIST numericalAxis
	min CDATA #IMPLIED
	max CDATA #IMPLIED
	scaleInterval CDATA #IMPLIED
	scale (linear | log) "linear"
	sameRangeAllInstances  (true | false) "true"
	includeZeroForAutoScale  (true | false) "true"
	showAxisLabels  (true | false) "true"
>
<!ELEMENT threeDComboBaselines (threeDComboBaseline+)>
<!ELEMENT ordinalAxisX (style? | conditionalStyles? | conditionalStyleRefs? | axisTitle? | reportDrills? | gridlines? | minorGridlines? | axisLine? | labelControl?)*>
<!ATTLIST ordinalAxisX
	categoryitemMaxCharacters CDATA "48"
	categoryitemEnableTruncation  (true | false) "true"
	truncationText CDATA "..."
	showAxisLabels  (true | false) "true"
>
<!ELEMENT ordinalAxisY (style? | conditionalStyles? | conditionalStyleRefs? | axisTitle? | reportDrills? | gridlines? | minorGridlines? | axisLine? | labelControl?)*>
<!ATTLIST ordinalAxisY
	categoryitemMaxCharacters CDATA "48"
	categoryitemEnableTruncation  (true | false) "true"
	truncationText CDATA "..."
	showAxisLabels  (true | false) "true"
>
<!ELEMENT pointZMeasure (style? | conditionalStyles? | conditionalStyleRefs? | chartLabel? | XMLAttributes?)*>
<!ATTLIST pointZMeasure
	refDataItem CDATA #REQUIRED
	solveOrder CDATA #IMPLIED
>
<!ELEMENT numericalAxisZ (axisTitle? | gridlines? | minorGridlines? | axisLine? | style? | conditionalStyles? | conditionalStyleRefs?)*>
<!ATTLIST numericalAxisZ
	min CDATA #IMPLIED
	max CDATA #IMPLIED
	scaleInterval CDATA #IMPLIED
	scale (linear | log) "linear"
	sameRangeAllInstances  (true | false) "true"
	includeZeroForAutoScale  (true | false) "true"
	showAxisLabels  (true | false) "true"
>
<!ELEMENT threeDScatterBaselines (threeDScatterBaseline+)>
<!ELEMENT gauges (chartNodes)>
<!ELEMENT indicators (chartNodes)>
<!ELEMENT gaugeLabels (style? | conditionalStyles? | conditionalStyleRefs? | reportDrills? | XMLAttributes?)*>
<!ATTLIST gaugeLabels
	categoryitemMaxCharacters CDATA "48"
	categoryitemEnableTruncation  (true | false) "true"
	truncationText CDATA "..."
>
<!ELEMENT gaugeNumericalAxis (gridlines? | minorGridlines? | style? | conditionalStyles? | conditionalStyleRefs?)*>
<!ATTLIST gaugeNumericalAxis
	min CDATA #IMPLIED
	max CDATA #IMPLIED
	scaleInterval CDATA #IMPLIED
	scale (linear | log) "linear"
	sameRangeAllInstances  (true | false) "true"
	includeZeroForAutoScale  (true | false) "true"
>
<!ELEMENT pointLayer (defaultChartMeasure? | pointSizeMeasure? | pointMeasure? | numericChartPalette? | style? | conditionalStyles? | conditionalStyleRefs? | mapChartDrills? | mapPointLocation? | conditionalChartColors? | pointSizeLegendTitle? | pointColorLegendTitle? | fillEffects?)*>
<!ATTLIST pointLayer
	refLayer CDATA #REQUIRED
	showBorders  (true | false) "false"
	borderColor CDATA "black"
	borderTransparency CDATA "0"
	showNoDataFeatures  (true | false) "true"
	showDataRangeInLegend  (true | false) "true"
	showValues  (true | false) "false"
	showLabels  (true | false) "true"
	hideOverlappingLabels  (true | false) "false"
>
<!ELEMENT regionLayer (defaultChartMeasure? | regionMeasure? | regionColorLegendTitle? | mapRegionLocation? | numericChartPalette? | style? | conditionalStyles? | conditionalStyleRefs? | mapChartDrills? | conditionalChartColors? | fillEffects?)*>
<!ATTLIST regionLayer
	refLayer CDATA #REQUIRED
	showBorders  (true | false) "false"
	borderColor CDATA "black"
	borderTransparency CDATA "0"
	showNoDataFeatures  (true | false) "true"
	showDataRangeInLegend  (true | false) "true"
	showValues  (true | false) "false"
	showLabels  (true | false) "true"
	hideOverlappingLabels  (true | false) "false"
>
<!ELEMENT displayLayers (displayLayer+)>
<!ELEMENT mapDictionary (mapDictionaryEntry+)>
<!ELEMENT toleranceMeasure (style? | conditionalStyles? | conditionalStyleRefs? | chartLabel? | XMLAttributes?)*>
<!ATTLIST toleranceMeasure
	refDataItem CDATA #REQUIRED
	solveOrder CDATA #IMPLIED
>
<!ELEMENT targetMeasure (style? | conditionalStyles? | conditionalStyleRefs? | chartLabel? | XMLAttributes?)*>
<!ATTLIST targetMeasure
	refDataItem CDATA #REQUIRED
	solveOrder CDATA #IMPLIED
>
<!ELEMENT targetLabel (chartContents? | propertyList?)*>
<!ELEMENT toleranceLabel (chartContents? | propertyList?)*>
<!ELEMENT diamondLabel (chartContents? | propertyList?)*>
<!ELEMENT labelControl (autoLabelControl | manualLabelControl)>
<!ELEMENT baseline (baselinePosition? | baselineLabel? | XMLAttributes? | style? | conditionalStyles? | conditionalStyleRefs? | propertyList? | masterDetailLinks?)*>
<!ATTLIST baseline
	refQuery CDATA #REQUIRED
	showInLegend  (true | false) "true"
	lineStyle (solid | dash | dot | dotdash | dashdotdot | mediumdash | shortdash | longdash | longdot | dotdotdot | dashdashdot | dashdashdotdot | longdashdot | longdashdotdot | longdashdashdot | longdashdashdotdot) "solid"
	weight CDATA "0"
	color CDATA "black"
	transparency CDATA "0"
>
<!ELEMENT note (XMLAttributes? | noteContent? | noteBorder?)*>
<!ATTLIST note
	bottom CDATA "0"
	left CDATA "0"
	height CDATA "35"
	width CDATA "150"
>
<!ELEMENT pointChartMarker (markerLabel? | XMLAttributes? | pointChartMarkerPosition | style? | conditionalStyles? | conditionalStyleRefs? | propertyList? | masterDetailLinks?)+>
<!ATTLIST pointChartMarker
	dataPointSize CDATA "0"
	dataPointShape (circle | square | house | hexagon | pentagon | diamond | triangle | downTriangle | rightTriangle | leftTriangle | skewLeftTriangle | skewRightTriangle | downSkewLeftTriangle | downSkewRightTriangle | verticalLine | horizontalLine | plus | fatPlus | star90 | pentagram | star | skewedStar | plainX | softX | fatX | spikedX | castle) "plainX"
	dataPointColor CDATA "black"
	refQuery CDATA #REQUIRED
	dataPointTransparency CDATA "0"
>
<!ELEMENT marker (markerPosition | markerLabel? | XMLAttributes? | style? | conditionalStyles? | conditionalStyleRefs? | propertyList? | masterDetailLinks?)+>
<!ATTLIST marker
	dataPointColor CDATA "black"
	dataPointSize CDATA "0"
	dataPointShape (circle | square | house | hexagon | pentagon | diamond | triangle | downTriangle | rightTriangle | leftTriangle | skewLeftTriangle | skewRightTriangle | downSkewLeftTriangle | downSkewRightTriangle | verticalLine | horizontalLine | plus | fatPlus | star90 | pentagram | star | skewedStar | plainX | softX | fatX | spikedX | castle) "plainX"
	refQuery CDATA #REQUIRED
	dataPointTransparency CDATA "0"
>
<!ELEMENT legendPosition (relativePosition | absolutePosition)>
<!ELEMENT legendTitle (chartContents? | style? | conditionalStyles? | conditionalStyleRefs? | XMLAttributes? | propertyList? | masterDetailLinks?)*>
<!ATTLIST legendTitle
	refQuery CDATA #REQUIRED
>
<!ELEMENT chartNodeMembers (chartNodeMember+)>
<!ELEMENT chartNestedNodes (chartNode+)>
<!ELEMENT conditionalChartColor (chartColor | chartGradient | chartPattern)>
<!ATTLIST conditionalChartColor
	refVariableValue CDATA #REQUIRED
>
<!ELEMENT chartTextItem (conditionalDataSources? | dataSource | style? | conditionalStyles? | conditionalStyleRefs? | XMLAttributes?)+>
<!ELEMENT highMarker EMPTY>
<!ATTLIST highMarker
	dataPointSize CDATA "0"
	dataPointShape (circle | square | house | hexagon | pentagon | diamond | triangle | downTriangle | rightTriangle | leftTriangle | skewLeftTriangle | skewRightTriangle | downSkewLeftTriangle | downSkewRightTriangle | verticalLine | horizontalLine | plus | fatPlus | star90 | pentagram | star | skewedStar | plainX | softX | fatX | spikedX | castle) "plainX"
	dataPointColor CDATA "black"
>
<!ELEMENT lowMarker EMPTY>
<!ATTLIST lowMarker
	dataPointColor CDATA "black"
	dataPointSize CDATA "0"
	dataPointShape (circle | square | house | hexagon | pentagon | diamond | triangle | downTriangle | rightTriangle | leftTriangle | skewLeftTriangle | skewRightTriangle | downSkewLeftTriangle | downSkewRightTriangle | verticalLine | horizontalLine | plus | fatPlus | star90 | pentagram | star | skewedStar | plainX | softX | fatX | spikedX | castle) "plainX"
>
<!ELEMENT openMarker EMPTY>
<!ATTLIST openMarker
	dataPointColor CDATA "black"
	dataPointSize CDATA "0"
	dataPointShape (circle | square | house | hexagon | pentagon | diamond | triangle | downTriangle | rightTriangle | leftTriangle | skewLeftTriangle | skewRightTriangle | downSkewLeftTriangle | downSkewRightTriangle | verticalLine | horizontalLine | plus | fatPlus | star90 | pentagram | star | skewedStar | plainX | softX | fatX | spikedX | castle) "plainX"
>
<!ELEMENT closeMarker EMPTY>
<!ATTLIST closeMarker
	dataPointColor CDATA "black"
	dataPointSize CDATA "0"
	dataPointShape (circle | square | house | hexagon | pentagon | diamond | triangle | downTriangle | rightTriangle | leftTriangle | skewLeftTriangle | skewRightTriangle | downSkewLeftTriangle | downSkewRightTriangle | verticalLine | horizontalLine | plus | fatPlus | star90 | pentagram | star | skewedStar | plainX | softX | fatX | spikedX | castle) "plainX"
>
<!ELEMENT mean EMPTY>
<!ATTLIST mean
	numberOfStddev CDATA "0"
	comboIndex CDATA "0"
>
<!ELEMENT limit EMPTY>
<!ATTLIST limit
	limitType (min | max) "max"
	comboIndex CDATA "0"
>
<!ELEMENT percentile EMPTY>
<!ATTLIST percentile
	percentile CDATA "50"
	comboIndex CDATA "0"
>
<!ELEMENT memberIndex EMPTY>
<!ATTLIST memberIndex
	memberIndex CDATA "1"
>
<!ELEMENT pointChartBaseline (baselineLabel? | conditionalRender? | pointChartBaselinePosition | XMLAttributes? | masterDetailLinks? | propertyList?)+>
<!ATTLIST pointChartBaseline
	refQuery CDATA #REQUIRED
	showInLegend  (true | false) "true"
	lineStyle (solid | dash | dot | dotdash | dashdotdot | mediumdash | shortdash | longdash | longdot | dotdotdot | dashdashdot | dashdashdotdot | longdashdot | longdashdotdot | longdashdashdot | longdashdashdotdot) "solid"
	weight CDATA "0"
	color CDATA "black"
	transparency CDATA "0"
	pointChartAxis (xAxis | yAxis | radialAxis | angularAxis) "xAxis"
>
<!ELEMENT discreteChartPalette (discreteChartPaletteEntry+)>
<!ELEMENT mapChartDrill (reportDrills? | XMLAttributes?)*>
<!ATTLIST mapChartDrill
	featureId CDATA #REQUIRED
>
<!ELEMENT regressionLinePosition (commonLog | naturalLog | linear | exponential | polynomialFit)>
<!ELEMENT regressionLineLabel (chartContents?)>
<!ELEMENT continuousChartPaletteEntry EMPTY>
<!ATTLIST continuousChartPaletteEntry
	paletteEntryValue CDATA #REQUIRED
	paletteEntryColor CDATA "black"
	transparency CDATA "0"
>
<!ELEMENT v2_pieSlices (chartNodes? | v2_pieDataLabels? | v2_conditionalSolidPalette? | v2_explodedSlices? | v2_solidPalette? | v2_maxItems? | XMLAttributes?)*>
<!ATTLIST v2_pieSlices
	materialEffects (none | matte | metal | plastic | semigloss) "none"
	borders (show | hide) "hide"
	borderColor CDATA "black"
	sliceDirection (clockwise | counterclockwise) "clockwise"
>
<!ELEMENT v2_pieTooltips EMPTY>
<!ATTLIST v2_pieTooltips
	pieTooltipValueType (absolute | percentage | both) "absolute"
>
<!ELEMENT v2_topLeftAxis (v2_axis? | v2_combinationChartTypes | v2_numericOrdinalColoredRegions? | v2_markers? | v2_numericBaselines?)+>
<!ELEMENT v2_topRightAxis (v2_axis? | v2_combinationChartTypes | v2_numericOrdinalColoredRegions? | v2_markers? | v2_numericBaselines?)+>
<!ELEMENT v2_bottomLeftAxis (v2_axis? | v2_combinationChartTypes | v2_numericOrdinalColoredRegions? | v2_markers? | v2_numericBaselines?)+>
<!ELEMENT v2_bottomRightAxis (v2_axis? | v2_combinationChartTypes | v2_numericOrdinalColoredRegions? | v2_markers? | v2_numericBaselines?)+>
<!ELEMENT v2_pivot EMPTY>
<!ATTLIST v2_pivot
	pivotColor CDATA "black"
	pivotBevelStyle (round | flat) "round"
	pivotHeight CDATA "20"
	pivotRadius CDATA "10"
	pivotBevelRadius CDATA "10"
	pivotPaddingNonFullCircle CDATA "25"
>
<!ELEMENT v2_dialBorder EMPTY>
<!ATTLIST v2_dialBorder
	gaugeBorderHeight CDATA "10"
	gaugeBorderWidthStyle (deep | shallow) "deep"
	gaugeBorderColor CDATA "black"
	gaugeBorderBevel (round | flat) "round"
	gaugeBorderRadius CDATA "50"
>
<!ELEMENT v2_gaugeAxes (v2_gaugeAxis+)>
<!ELEMENT v2_dialFace (v2_fillEffect)>
<!ELEMENT v2_scatterDataLabels (XMLAttributes?)>
<!ATTLIST v2_scatterDataLabels
	labelCollisionMode (none | coarse_stagger | fine_stagger) "none"
	leaderLines (show | hide) "hide"
	categoryValues (none | value | valueAndLabel) "none"
	seriesValues (none | value | valueAndLabel) "none"
	measureValues (none | value | valueAndLabel) "value"
	displayDataLocation (insideAtTop | outsideAtTop | insideAtBottom | outsideAtBottom | centered) "outsideAtTop"
>
<!ELEMENT v2_bubbleDataLabels (XMLAttributes?)>
<!ATTLIST v2_bubbleDataLabels
	labelCollisionMode (none | coarse_stagger | fine_stagger) "none"
	leaderLines (show | hide) "hide"
	categoryValues (none | value | valueAndLabel) "none"
	seriesValues (none | value | valueAndLabel) "none"
	bubbleMeasureValues (none | value | valueAndLabel | sizeValueOnly | sizeValueOnlyAndLabel) "value"
	displayDataLocation (insideAtTop | outsideAtTop | insideAtBottom | outsideAtBottom | centered) "outsideAtTop"
>
<!ELEMENT v2_bubbleMeasure (v2_chartTextItems? | style? | XMLAttributes? | conditionalStyleRefs?)*>
<!ATTLIST v2_bubbleMeasure
	refDataItem CDATA #REQUIRED
>
<!ELEMENT v2_bubbleSizing (v2_bubbleZero | v2_bubbleMinMax)>
<!ELEMENT v2_progressiveAxis (chartNodes? | v2_ordinalAxis? | v2_ordinalBaselines? | XMLAttributes?)*>
<!ELEMENT v2_progressiveTotal EMPTY>
<!ELEMENT v2_paretoBars (chartNodes? | v2_conditionalSolidPalette? | v2_solidPalette? | v2_numericBaselines? | v2_markers? | v2_axis? | XMLAttributes? | v2_numericOrdinalColoredRegions? | v2_chartDataLabels?)*>
<!ELEMENT v2_paretoLine (v2_numericBaselines? | v2_markers? | v2_numericOrdinalColoredRegions? | v2_axis? | v2_cumulationLine? | XMLAttributes?)*>
<!ELEMENT v2_bulletMeasure (v2_chartTextItems? | style? | XMLAttributes?)*>
<!ATTLIST v2_bulletMeasure
	refDataItem CDATA #REQUIRED
>
<!ELEMENT v2_bulletTargetMeasure (v2_chartTextItems? | style? | XMLAttributes?)*>
<!ATTLIST v2_bulletTargetMeasure
	refDataItem CDATA #REQUIRED
>
<!ELEMENT v2_bulletIndicator (v2_pointPaletteEntry | v2_solidPaletteEntry)>
<!ATTLIST v2_bulletIndicator
	pointIndicatorSize CDATA "5pt"
	barIndicatorWidth CDATA "80"
>
<!ELEMENT v2_targetIndicator (v2_pointPaletteEntry)>
<!ATTLIST v2_targetIndicator
	pointIndicatorSize CDATA "5pt"
>
<!ELEMENT v2_firstBackgroundColor EMPTY>
<!ATTLIST v2_firstBackgroundColor
	color CDATA "black"
	transparency CDATA "0"
>
<!ELEMENT v2_secondBackgroundColor EMPTY>
<!ATTLIST v2_secondBackgroundColor
	color CDATA "black"
	transparency CDATA "0"
>
<!ELEMENT v2_labelControl EMPTY>
<!ATTLIST v2_labelControl
	numberOfStaggerLevels CDATA "1"
	rotationAngle CDATA "0"
	displayFrequency CDATA "5"
	firstLabel CDATA "1"
>
<!ELEMENT v2_numericBaseline (v2_numericPosition | v2_label? | conditionalRender? | masterDetailLinks? | propertyList? | XMLAttributes?)+>
<!ATTLIST v2_numericBaseline
	comboIndex CDATA #IMPLIED
	lineStyle CDATA "solid"
	lineWeight CDATA "1px"
	lineColor CDATA "black"
	refQuery CDATA #REQUIRED
>
<!ELEMENT v2_marker (v2_label? | conditionalRender? | v2_numericPosition | v2_ordinalPosition | propertyList? | masterDetailLinks? | v2_pointPaletteEntry? | XMLAttributes?)+>
<!ATTLIST v2_marker
	comboIndex CDATA #IMPLIED
	refQuery CDATA #REQUIRED
	markerSize CDATA "10pt"
	labelLocation (chart | legend) "legend"
>
<!ELEMENT v2_scatterMarker (masterDetailLinks? | v2_label? | conditionalRender? | v2_yAxisPosition | v2_xAxisPosition | propertyList? | v2_pointPaletteEntry? | XMLAttributes?)+>
<!ATTLIST v2_scatterMarker
	labelLocation (chart | legend) "legend"
	refQuery CDATA #REQUIRED
	markerSize CDATA "10pt"
>
<!ELEMENT v2_legendPosition (v2_legendPreset | v2_constrainedPosition)>
<!ELEMENT v2_legendTitle (v2_chartTextContents | conditionalRender? | masterDetailLinks? | propertyList? | style? | conditionalStyleRefs? | XMLAttributes?)+>
<!ATTLIST v2_legendTitle
	refQuery CDATA #REQUIRED
	autoFontSizing  (true | false) "false"
>
<!ELEMENT v2_overflowText (defaultText | localizedText?)+>
<!ELEMENT v2_note (style? | v2_constrainedPosition | conditionalRender? | conditionalStyleRefs? | XMLAttributes? | masterDetailLinks? | propertyList? | v2_chartTextItems?)+>
<!ATTLIST v2_note
	refQuery CDATA #REQUIRED
>
<!ELEMENT v2_automaticText EMPTY>
<!ELEMENT v2_equationNotePosition (v2_showInChart | v2_showInLegend)>
<!ELEMENT v2_chartTextItem (style? | conditionalStyleRefs? | conditionalRender? | dataSource | conditionalDataSources? | XMLAttributes?)+>
<!ELEMENT v2_mean EMPTY>
<!ATTLIST v2_mean
	numberOfStddev CDATA "0"
>
<!ELEMENT v2_limit EMPTY>
<!ATTLIST v2_limit
	limitType (min | max) "max"
>
<!ELEMENT v2_percentile EMPTY>
<!ATTLIST v2_percentile
	percentile CDATA "50"
>
<!ELEMENT v2_trendLine (v2_trendLineType | v2_trendLineLabel? | conditionalRender? | XMLAttributes?)+>
<!ATTLIST v2_trendLine
	regressionLineType (allSeriesItems | eachSeriesItem) "allSeriesItems"
	lineStyle CDATA "solid"
	lineWeight CDATA "1px"
	lineColor CDATA "black"
>
<!ELEMENT v2_maxNumberOfItems EMPTY>
<!ATTLIST v2_maxNumberOfItems
	maxNumberOfItems CDATA #REQUIRED
>
<!ELEMENT v2_valueThreshold (v2_absoluteThreshold | v2_percentThreshold)>
<!ELEMENT v2_automaticRange EMPTY>
<!ATTLIST v2_automaticRange
	sameRangeAllInstances  (true | false) "true"
	includeZeroForAutoScale  (true | false) "true"
>
<!ELEMENT v2_specifiedRange EMPTY>
<!ATTLIST v2_specifiedRange
	includeZeroForAutoScale  (true | false) "true"
	min CDATA #IMPLIED
	max CDATA #IMPLIED
	scaleInterval CDATA #IMPLIED
>
<!ELEMENT v2_matrixRows (v2_matrixRowLabels? | v2_axisTitle?)*>
<!ATTLIST v2_matrixRows
	matrixLabelsLocation (primary | secondary | both) "primary"
	matrixLevels CDATA "1"
>
<!ELEMENT v2_matrixColumns (v2_matrixColumnLabels? | v2_axisTitle?)*>
<!ATTLIST v2_matrixColumns
	matrixLabelsLocation (primary | secondary | both) "primary"
	matrixLevels CDATA "1"
>
<!ELEMENT v2_relativeChart EMPTY>
<!ELEMENT v2_ordinalBaseline (v2_ordinalPosition | v2_label? | conditionalRender? | propertyList? | XMLAttributes?)+>
<!ATTLIST v2_ordinalBaseline
	lineStyle CDATA "solid"
	lineWeight CDATA "1px"
	lineColor CDATA "black"
>
<!ELEMENT v2_markerPositionAnchor (v2_relativeChartBody | reportExpression)>
<!ELEMENT v2_numericOrdinalColoredRegion (v2_fillEffect | v2_label? | v2_startNumericPosition | v2_endNumericPosition | v2_startOrdinalPosition | v2_endOrdinalPosition | propertyList? | masterDetailLinks? | XMLAttributes? | conditionalRender?)+>
<!ATTLIST v2_numericOrdinalColoredRegion
	comboIndex CDATA #IMPLIED
	refQuery CDATA #REQUIRED
	labelLocation (chart | legend) "legend"
>
<!ELEMENT v2_topPosition (dataSource | v2_mean | v2_limit | v2_percentile | v2_percentAlongAxis)>
<!ELEMENT v2_bottomPosition (dataSource | v2_mean | v2_limit | v2_percentile | v2_percentAlongAxis)>
<!ELEMENT v2_leftPosition (dataSource | v2_mean | v2_limit | v2_percentile | v2_percentAlongAxis)>
<!ELEMENT v2_rightPosition (dataSource | v2_mean | v2_limit | v2_percentile | v2_percentAlongAxis)>
<!ELEMENT v2_left EMPTY>
<!ATTLIST v2_left
	offset CDATA "0px"
>
<!ELEMENT v2_center EMPTY>
<!ATTLIST v2_center
	offset CDATA "0px"
>
<!ELEMENT v2_right EMPTY>
<!ATTLIST v2_right
	offset CDATA "0px"
>
<!ELEMENT v2_top EMPTY>
<!ATTLIST v2_top
	offset CDATA "0px"
>
<!ELEMENT v2_middle EMPTY>
<!ATTLIST v2_middle
	offset CDATA "0px"
>
<!ELEMENT v2_bottom EMPTY>
<!ATTLIST v2_bottom
	offset CDATA "0px"
>
<!ELEMENT v2_linePaletteEntries (v2_linePaletteEntry+)>
<!ELEMENT v2_pointPaletteEntries (v2_pointPaletteEntry+)>
<!ELEMENT v2_pointColorByValue (v2_pointColorByValueEntries? | v2_colorByValueMeasure?)*>
<!ATTLIST v2_pointColorByValue
	boundaryValueType (percent | absolute) "percent"
	missingColor CDATA "black"
	missingColorTransparency CDATA "0"
	markerShape (circle | diamond | x | square | taperedX | upperLeftTriangle | hexagon | horizontalBar | upperRightTriangle | house | star | thinX | upTriangle | verticalBar | chalet | downTriangle | thickCross | fivePointStar | thickX | notchedSquare | gunSight | leftTriangle | rightTriangle | ninjaStar | lowerLeftTriangle | lowerRightTriangle | notchedX | taperedCross | triangle | cross2D | verticalBar3D | gunSight3D | diamond3D | upperLeftTriangle3D | upperRightTriangle3D | downTriangle3D | leftTriangle3D | thinX3D | cross3D | rightTriangle3D | lowerLeftTriangle3D | lowerRightTriangle3D | box | upTriangle3D | horizontalBar3D | cone | dodecahedron | icosahedron | sphere32) "circle"
>
<!ELEMENT v2_progressivePositiveValueFill (v2_fillEffect | v2_chartTextLabel?)+>
<!ELEMENT v2_progressiveNegativeValueFill (v2_fillEffect | v2_chartTextLabel?)+>
<!ELEMENT v2_progressiveFirstValueFill (v2_fillEffect | v2_chartTextLabel?)+>
<!ELEMENT v2_progressiveTotalValueFill (v2_fillEffect | v2_chartTextLabel?)+>
<!ELEMENT v2_radialRectGradient (v2_gradientColor+)>
<!ATTLIST v2_radialRectGradient
	focusSize CDATA "50"
>
<!ELEMENT v2_radialLinearGradient (v2_gradientColor+)>
<!ATTLIST v2_radialLinearGradient
	focusX1Position CDATA "50%"
	focusY1Position CDATA "50%"
	focusX2Position CDATA "50%"
	focusY2Position CDATA "50%"
	focusInnerRadius CDATA "0px"
	focusOuterRadius CDATA "0px"
>
<!ELEMENT v2_image (v2_imagePosition)>
<!ATTLIST v2_image
	URL CDATA #REQUIRED
>
<!ELEMENT v2_pattern EMPTY>
<!ATTLIST v2_pattern
	foregroundColor CDATA "black"
	backgroundColor CDATA "transparent"
	patternType (horizontal | vertical | forwardDiagonal | backwardDiagonal | cross | diagonalCross) "horizontal"
>
<!ELEMENT v2_advancedCondition (v2_conditionalCases)>
<!ELEMENT v2_rangeCondition (conditionalDataItem | v2_rangeConditionalCases? | v2_rangeConditionalRemaining?)+>
<!ATTLIST v2_rangeCondition
	type (number | date | dateTime | time | interval) #REQUIRED
>
<!ELEMENT v2_stringCondition (conditionalDataItem | v2_stringConditionalCases?)+>
<!ELEMENT v2_advancedPointCondition (v2_pointCases)>
<!ELEMENT v2_pointRangeCondition (conditionalDataItem | v2_pointRangeCases? | v2_pointRangeRemaining?)+>
<!ATTLIST v2_pointRangeCondition
	type (number | date | dateTime | time | interval) #REQUIRED
>
<!ELEMENT v2_pointStringCondition (conditionalDataItem | v2_pointStringCases?)+>
<!ELEMENT v2_lineAdvancedCondition (v2_lineCases)>
<!ELEMENT v2_lineRangeCondition (conditionalDataItem | v2_lineRangeCases? | v2_lineRangeRemaining?)+>
<!ATTLIST v2_lineRangeCondition
	type (number | date | dateTime | time | interval) #REQUIRED
>
<!ELEMENT v2_lineStringCondition (conditionalDataItem | v2_lineStringCases?)+>
<!ELEMENT v2_lineFill (v2_linearGradient | v2_color)>
<!ATTLIST v2_lineFill
	defaultColor CDATA "black"
>
<!ELEMENT discreteGaugePalette (discreteGaugePaletteEntry+)>
<!ELEMENT vizDataSets (vizDataSet+)>
<!ELEMENT appVizProperties EMPTY>
<!ATTLIST appVizProperties
	clickable  (true | false) "false"
>
<!ELEMENT vizPropertyBooleanValue (#PCDATA)>
<!ATTLIST vizPropertyBooleanValue
	name CDATA #REQUIRED
>
<!ELEMENT vizPropertyStringValue (#PCDATA)>
<!ATTLIST vizPropertyStringValue
	xml:space (default | preserve) "preserve"
	name CDATA #REQUIRED
>
<!ELEMENT vizPropertyIntegerValue (#PCDATA)>
<!ATTLIST vizPropertyIntegerValue
	name CDATA #REQUIRED
>
<!ELEMENT vizPropertyDecimalValue (#PCDATA)>
<!ATTLIST vizPropertyDecimalValue
	name CDATA #REQUIRED
>
<!ELEMENT vizPropertyEnumValue (#PCDATA)>
<!ATTLIST vizPropertyEnumValue
	name CDATA #REQUIRED
>
<!ELEMENT vizPropertyColorValue EMPTY>
<!ATTLIST vizPropertyColorValue
	r CDATA #REQUIRED
	g CDATA #REQUIRED
	b CDATA #REQUIRED
	a CDATA "1"
	name CDATA #REQUIRED
>
<!ELEMENT vizPropertyCSSColorValue (#PCDATA)>
<!ATTLIST vizPropertyCSSColorValue
	name CDATA #REQUIRED
>
<!ELEMENT vizPropertyCSSFontValue (#PCDATA)>
<!ATTLIST vizPropertyCSSFontValue
	name CDATA #REQUIRED
>
<!ELEMENT vizPropertyCSSPaddingValue (#PCDATA)>
<!ATTLIST vizPropertyCSSPaddingValue
	name CDATA #REQUIRED
>
<!ELEMENT vizPropertyCSSStrokeDashArrayValue (#PCDATA)>
<!ATTLIST vizPropertyCSSStrokeDashArrayValue
	name CDATA #REQUIRED
>
<!ELEMENT vizPropertyFontValue EMPTY>
<!ATTLIST vizPropertyFontValue
	name CDATA #REQUIRED
	family CDATA #IMPLIED
	size CDATA #IMPLIED
	weight (normal | bold | inherit) #IMPLIED
	style (inherit | normal | italic) #IMPLIED
>
<!ELEMENT vizPropertyLengthValue (#PCDATA)>
<!ATTLIST vizPropertyLengthValue
	name CDATA #REQUIRED
>
<!ELEMENT vizPropertyJsonValue (#PCDATA)>
<!ATTLIST vizPropertyJsonValue
	xml:space (default | preserve) "preserve"
	name CDATA #REQUIRED
>
<!ELEMENT vizPropertyPaletteValue (#PCDATA)>
<!ATTLIST vizPropertyPaletteValue
	xml:space (default | preserve) "preserve"
	name CDATA #REQUIRED
>
<!ELEMENT vizPropertyCMPaletteValue (#PCDATA)>
<!ATTLIST vizPropertyCMPaletteValue
	xml:space (default | preserve) "preserve"
	name CDATA #REQUIRED
>
<!ELEMENT vizValueRangeComputed EMPTY>
<!ATTLIST vizValueRangeComputed
	rangeData (all | allDetails | filtered) #REQUIRED
	rangeIncludesZero  (true | false) "true"
>
<!ELEMENT vizValueRangeSpecified EMPTY>
<!ATTLIST vizValueRangeSpecified
	min CDATA #REQUIRED
	max CDATA #REQUIRED
>
<!ELEMENT queries ((query)+)>
<!ELEMENT upgradeInfo (upgradedSpec? | upgradeMessages?)*>
<!ELEMENT reportName (#PCDATA)>
<!ELEMENT reportStylesRef (reportPath | classStyles?)+>
<!ATTLIST reportStylesRef
	inclusion (designTime | runTime) "designTime"
>
<!ELEMENT excelExportOptions EMPTY>
<!ATTLIST excelExportOptions
	excelGrouping  (true | false) "true"
>
<!ELEMENT conditionalStyle (CSS? | dataFormat? | generatedBackground?)*>
<!ATTLIST conditionalStyle
	refVariableValue CDATA #REQUIRED
>
<!ELEMENT backgroundImage (backgroundImagePosition)>
<!ATTLIST backgroundImage
	URL CDATA #REQUIRED
	transparency CDATA "0"
>
<!ELEMENT linearGradient (gradientColor+)>
<!ATTLIST linearGradient
	gradientAngle CDATA "0"
>
<!ELEMENT radialLineGradient (gradientColor+)>
<!ATTLIST radialLineGradient
	focusX1Position CDATA "50%"
	focusY1Position CDATA "50%"
	focusX2Position CDATA "50%"
	focusY2Position CDATA "50%"
	focusInnerRadius CDATA "0px"
	focusOuterRadius CDATA "0px"
>
<!ELEMENT radialRectangleGradient (gradientColor+)>
<!ATTLIST radialRectangleGradient
	focusSize CDATA "50"
>
<!ELEMENT pattern EMPTY>
<!ATTLIST pattern
	foregroundColor CDATA "black"
	backgroundColor CDATA "transparent"
	patternType (horizontal | vertical | forwardDiagonal | backwardDiagonal | cross | diagonalCross) "horizontal"
	transparency CDATA "0"
>
<!ELEMENT fillColor EMPTY>
<!ATTLIST fillColor
	transparency CDATA "0"
	color CDATA "black"
>
<!ELEMENT drillTarget (reportPath | drillLinks?)+>
<!ATTLIST drillTarget
	showInNewWindow  (true | false) "false"
	method (edit | execute | view) #IMPLIED
	outputFormat (CSV | HTML | HTMLFragment | PDF | XHTML | XLWA | spreadsheetML | xlsxData | XML) #IMPLIED
	prompt (yes | no | target) "no"
	sendFilterContext  (true | false) "false"
>
<!ELEMENT bookmarkRef (dataSource)>
<!ELEMENT drillLabel (dataSource | conditionalDataSources?)+>
<!ELEMENT masterContext (dataItemContext)>
<!ELEMENT detailContext (dataItemContext | parameterContext)>
<!ELEMENT styleCases (styleCase+)>
<!ELEMENT styleRanges (styleRange+)>
<!ELEMENT styleRangeRemaining (style?)>
<!ELEMENT stringConditions ((stringValueList | stringCriteria)+)>
<!ELEMENT localeText (#PCDATA)>
<!ATTLIST localeText
	xml:space (default | preserve) "preserve"
	locale NMTOKEN #REQUIRED
>
<!ELEMENT displayValue (#PCDATA)>
<!ATTLIST displayValue
	xml:space (default | preserve) "preserve"
>
<!ELEMENT conditionalDisplayValues (conditionalDisplayValue+)>
<!ELEMENT sqlText (#PCDATA)>
<!ATTLIST sqlText
	xml:space (default | preserve) "preserve"
>
<!ELEMENT mdProjectedItems (mdProjectedItem*)>
<!ELEMENT mdxText (#PCDATA)>
<!ATTLIST mdxText
	xml:space (default | preserve) "preserve"
>
<!ELEMENT mdDimensionalInfo (mdDimensions? | mdFacts?)*>
<!ELEMENT queryRefs (queryRef*)>
<!ELEMENT projectionList (queryItem*)>
<!ATTLIST projectionList
	autoGenerated  (true | false) "false"
>
<!ELEMENT dimension (levels? | hierarchies?)*>
<!ATTLIST dimension
	name CDATA #REQUIRED
>
<!ELEMENT fact EMPTY>
<!ATTLIST fact
	name CDATA #REQUIRED
	refDataItem CDATA #REQUIRED
>
<!ELEMENT key EMPTY>
<!ATTLIST key
	name CDATA #REQUIRED
	refDataItem CDATA #REQUIRED
>
<!ELEMENT attribute EMPTY>
<!ATTLIST attribute
	name CDATA #REQUIRED
	refDataItem CDATA #REQUIRED
>
<!ELEMENT avoidZeroDiv EMPTY>
<!ATTLIST avoidZeroDiv
	value  (true | false) #REQUIRED
>
<!ELEMENT autoSort EMPTY>
<!ATTLIST autoSort
	value (none | all | minimal) #REQUIRED
>
<!ELEMENT queryProcessing EMPTY>
<!ATTLIST queryProcessing
	value (databaseOnly | minimizeLocal) #REQUIRED
>
<!ELEMENT outerJoinAllowed EMPTY>
<!ATTLIST outerJoinAllowed
	value (allow | warn | deny) #REQUIRED
>
<!ELEMENT crossProductAllowed EMPTY>
<!ATTLIST crossProductAllowed
	value (allow | warn | deny) #REQUIRED
>
<!ELEMENT suppress EMPTY>
<!ATTLIST suppress
	value (none | nulls) #REQUIRED
>
<!ELEMENT rollupProcessing EMPTY>
<!ATTLIST rollupProcessing
	value (extended | database | local) #REQUIRED
>
<!ELEMENT maxRowsRetrieved EMPTY>
<!ATTLIST maxRowsRetrieved
	value CDATA #IMPLIED
>
<!ELEMENT maxTablesPerQuery EMPTY>
<!ATTLIST maxTablesPerQuery
	value CDATA #IMPLIED
>
<!ELEMENT maxQueryExecutionTime EMPTY>
<!ATTLIST maxQueryExecutionTime
	value CDATA #IMPLIED
>
<!ELEMENT maxTextBlobCharacters EMPTY>
<!ATTLIST maxTextBlobCharacters
	value CDATA #IMPLIED
>
<!ELEMENT useSQLWithClause EMPTY>
<!ATTLIST useSQLWithClause
	value  (true | false) #REQUIRED
>
<!ELEMENT useV4Interpretation EMPTY>
<!ATTLIST useV4Interpretation
	value  (true | false) "false"
>
<!ELEMENT executionMethod EMPTY>
<!ATTLIST executionMethod
	value (sequential | concurrent) #REQUIRED
>
<!ELEMENT useForParameterInfo EMPTY>
<!ATTLIST useForParameterInfo
	value  (true | false) "false"
>
<!ELEMENT useSQLJoinSyntax EMPTY>
<!ATTLIST useSQLJoinSyntax
	value (implicit | explicit) #REQUIRED
>
<!ELEMENT useAggregateCache EMPTY>
<!ATTLIST useAggregateCache
	value  (true | false) #REQUIRED
>
<!ELEMENT useSAPMUNAsBusinessKey EMPTY>
<!ATTLIST useSAPMUNAsBusinessKey
	value  (true | false) #REQUIRED
>
<!ELEMENT cacheServerQuery EMPTY>
<!ATTLIST cacheServerQuery
	value  (true | false) #REQUIRED
>
<!ELEMENT useSQLParameters EMPTY>
<!ATTLIST useSQLParameters
	value (marker | literal) #REQUIRED
>
<!ELEMENT refreshOnPrompt EMPTY>
<!ATTLIST refreshOnPrompt
	value  (true | false) #REQUIRED
>
<!ELEMENT setDefinition (setExplicitMembers | setChildrenMembers | setLevelMembers | setHierarchyMembers | setExpression | setNamedReference | setExceptMembers | setTopCount | setTopPercent | setTopSum | setBottomCount | setBottomPercent | setBottomSum | setUnion | setMoveMembersToTop | setMoveMembersToBottom | setExpandMember | setCollapseMember | setFilter | setCustomGroup | setReference)>
<!ELEMENT dataItemSharing EMPTY>
<!ATTLIST dataItemSharing
	shareName CDATA #REQUIRED
	description CDATA #IMPLIED
>
<!ELEMENT customGroups ((customValuesGroup | customRangeGroup))+>
<!ELEMENT customGroupRemainingValues (showRemainingValues | hideRemainingValues | groupRemainingValuesAs)>
<!ELEMENT measureRef EMPTY>
<!ATTLIST measureRef
	refDataItem CDATA #REQUIRED
>
<!ELEMENT contextSliceDefinition (dmMembers)>
<!ELEMENT parameterizedSlice EMPTY>
<!ATTLIST parameterizedSlice
	type (hierarchy | level) #REQUIRED
	singleMember  (true | false) "false"
>
<!ELEMENT baseSets ((setExplicitMembers | setChildrenMembers | setLevelMembers | setHierarchyMembers | setExpression | setNamedReference | setExceptMembers | setTopCount | setTopPercent | setTopSum | setBottomCount | setBottomPercent | setBottomSum | setUnion | setMoveMembersToTop | setMoveMembersToBottom | setExpandMember | setCollapseMember | setFilter | setCustomGroup | setReference)+)>
<!ELEMENT setFilterCriteria (setFilterAnd | setFilterOr | setFilterNot | memberCaptionCondition | stringPropertyCondition | numericPropertyCondition | tupleCondition)>
<!ELEMENT setCustomGroups (customMembersGroup)+>
<!ELEMENT customGroupRemainingMembers (includeRemainingMembers | excludeRemainingMembers | groupRemainingMembersAs)>
<!ELEMENT referenceDefinition (setExplicitMembers | setChildrenMembers | setLevelMembers | setHierarchyMembers | setExpression | setNamedReference | setExceptMembers | setTopCount | setTopPercent | setTopSum | setBottomCount | setBottomPercent | setBottomSum | setUnion | setMoveMembersToTop | setMoveMembersToBottom | setExpandMember | setCollapseMember | setFilter | setCustomGroup | setReference)>
<!ELEMENT filterValues (filterValue+)>
<!ELEMENT filterFrom (#PCDATA)>
<!ATTLIST filterFrom
	xml:space (default | preserve) "preserve"
>
<!ELEMENT filterTo (#PCDATA)>
<!ATTLIST filterTo
	xml:space (default | preserve) "preserve"
>
<!ELEMENT appCard (contents | XMLAttributes?)+>
<!ELEMENT appTabCards (appTabCard+)>
<!ELEMENT appDataTabCard (contents | XMLAttributes?)+>
<!ELEMENT appListCategories (appListCategoryDataItem+)>
<!ELEMENT appListFacts (appListFact+)>
<!ELEMENT appListDefaultMeasure (XMLAttributes?)>
<!ATTLIST appListDefaultMeasure
	refDataItem CDATA #REQUIRED
>
<!ELEMENT appListColumn (appListColumnData | appListColumnStyle? | appListColumnVisible? | XMLAttributes? | appListColumnTitle | appListColumnBody | builtinViz?)+>
<!ATTLIST appListColumn
	allowSorting  (true | false) "false"
	width CDATA #REQUIRED
>
<!ELEMENT appListSummaryRows (appListSummaryRow*)>
<!ELEMENT appListExternalBorders EMPTY>
<!ELEMENT appListVerticalBorders EMPTY>
<!ATTLIST appListVerticalBorders
	color CDATA #IMPLIED
>
<!ELEMENT appListHorizontalBorders EMPTY>
<!ATTLIST appListHorizontalBorders
	color CDATA #IMPLIED
>
<!ELEMENT appListColumnTitleBorder EMPTY>
<!ELEMENT appListFooterBorders EMPTY>
<!ELEMENT appListBodyBorder EMPTY>
<!ATTLIST appListBodyBorder
	color CDATA #IMPLIED
>
<!ELEMENT appListRowStyle EMPTY>
<!ATTLIST appListRowStyle
	color CDATA #IMPLIED
>
<!ELEMENT appDrillMethod (appDrillHandler)>
<!ELEMENT appDrillLabel (defaultText | localizedText?)+>
<!ELEMENT appDrillParameters (appDrillParameter+)>
<!ELEMENT appDrillToMethod (appDrillToGeneric | appDrillToReportViewer)>
<!ELEMENT appDrillToParameters (appDrillToParameter+)>
<!ELEMENT appVariable (appVariableValues?)>
<!ATTLIST appVariable
	name CDATA #REQUIRED
	dataType (string | dateTime | decimal) "string"
	public  (true | false) "false"
>
<!ELEMENT appWindowSizeMaximize EMPTY>
<!ELEMENT appWindowSizeFixed EMPTY>
<!ATTLIST appWindowSizeFixed
	width CDATA #REQUIRED
	height CDATA #REQUIRED
>
<!ELEMENT appRange (appRangeMin | appRangeMax)+>
<!ATTLIST appRange
	name CDATA #REQUIRED
>
<!ELEMENT appListItemValue EMPTY>
<!ATTLIST appListItemValue
	refDataItem CDATA #REQUIRED
>
<!ELEMENT appStaticDataRow (appStaticDataItemValue+)>
<!ELEMENT appButtonValue EMPTY>
<!ATTLIST appButtonValue
	refDataItem CDATA #REQUIRED
>
<!ELEMENT appRadioButtonValue EMPTY>
<!ATTLIST appRadioButtonValue
	refDataItem CDATA #REQUIRED
>
<!ELEMENT appCheckboxValue EMPTY>
<!ATTLIST appCheckboxValue
	refDataItem CDATA #REQUIRED
>
<!ELEMENT appTabValue EMPTY>
<!ATTLIST appTabValue
	refDataItem CDATA #REQUIRED
>
<!ELEMENT appCardValue EMPTY>
<!ATTLIST appCardValue
	refDataItem CDATA #REQUIRED
>
<!ELEMENT appIteratorValue EMPTY>
<!ATTLIST appIteratorValue
	refDataItem CDATA #REQUIRED
>
<!ELEMENT appIteratorDropDownList EMPTY>
<!ATTLIST appIteratorDropDownList
	showIcon  (true | false) "false"
	width CDATA #REQUIRED
>
<!ELEMENT appIteratorLabelText EMPTY>
<!ATTLIST appIteratorLabelText
	textColor CDATA #IMPLIED
>
<!ELEMENT appDotsPageIndicator EMPTY>
<!ATTLIST appDotsPageIndicator
	dotColor CDATA "gray"
	activeDotColor CDATA "white"
>
<!ELEMENT appIteratorNumber EMPTY>
<!ATTLIST appIteratorNumber
	textColor CDATA #IMPLIED
	beforeText CDATA #IMPLIED
	verticalType (number | lowerCaseRoman | upperCaseRoman | range) "number"
	verticalRangeSeparator CDATA #IMPLIED
	afterText CDATA #IMPLIED
>
<!ELEMENT appSliderValue EMPTY>
<!ATTLIST appSliderValue
	refDataItem CDATA #REQUIRED
>
<!ELEMENT appRepeaterTableCellValue EMPTY>
<!ATTLIST appRepeaterTableCellValue
	refDataItem CDATA #REQUIRED
>
<!ELEMENT dsSource (dsV5Query | dsV5ListQuery | dsJSON | dsURL | dsRefDataStore)>
<!ELEMENT dsProjections (dsProjection+)>
<!ELEMENT dsFilterDefinition (dsFilterAdvanced | ((dsFilterIn | dsFilterCompare | dsFilterRange)+))>
<!ELEMENT conditionalLayout (reportPages? | promptPages? | defaultDataFormats? | pageSetup?)*>
<!ATTLIST conditionalLayout
	refVariableValue CDATA #REQUIRED
>
<!ELEMENT pageGroup (headerPages? | footerPages? | propertyList? | sortList?)*>
<!ATTLIST pageGroup
	refDataItem CDATA #REQUIRED
>
<!ELEMENT pageSection (dmDimension | dmHierarchy | pageSectionDefinition)+>
<!ELEMENT listColumn (listColumnTitle | listColumnBody | style? | conditionalStyles? | conditionalStyleRefs? | conditionalRender? | appListColumnProperties? | XMLAttributes?)+>
<!ATTLIST listColumn
	repeatEveryPage  (true | false) "false"
	render  (true | false) "true"
>
<!ELEMENT listGroup (listHeader? | listFooter? | propertyList? | sortList? | XMLAttributes?)*>
<!ATTLIST listGroup
	refDataItem CDATA #REQUIRED
>
<!ELEMENT crosstabNode (crosstabNodeMembers | crosstabNestedNodes?)+>
<!ELEMENT crosstabIntersection (contents? | style? | conditionalStyles? | conditionalStyleRefs? | XMLAttributes? | appCrosstabIntersectionProperties?)*>
<!ATTLIST crosstabIntersection
	row CDATA #REQUIRED
	column CDATA #REQUIRED
>
<!ELEMENT burstGroup (sortList?)>
<!ATTLIST burstGroup
	refDataItem CDATA #REQUIRED
>
<!ELEMENT variableValues ((variableValue | variableValueGroup)+)>
<!ELEMENT drillDataItemBehavior (drillUpBehavior? | drillDownBehavior?)*>
<!ATTLIST drillDataItemBehavior
	refDataItem CDATA #REQUIRED
	disableDrillUp  (true | false) "false"
	disableDrillDown  (true | false) "false"
	drillColumnTitle (memberCaption | levelLabel) "memberCaption"
>
<!ELEMENT linkedDrillItemSet (linkedDrillItem+)>
<!ATTLIST linkedDrillItemSet
	name CDATA #REQUIRED
>
<!ELEMENT tableRows (tableRow+)>
<!ELEMENT fieldSetCaption (contents | style? | conditionalStyles? | conditionalStyleRefs? | XMLAttributes?)+>
<!ELEMENT conditionalBlockCases (conditionalBlock+)>
<!ATTLIST conditionalBlockCases
	refVariable CDATA #REQUIRED
>
<!ELEMENT conditionalBlockDefault (contents | style? | conditionalStyles? | conditionalStyleRefs? | XMLAttributes?)+>
<!ATTLIST conditionalBlockDefault
	displayForOrientation (both | portrait | landscape) "both"
>
<!ELEMENT layoutComponent (list | crosstab | repeaterTable | repeater | singleton | block | table | textItem | pageSectionText | contextItemText | pageNumber | rowNumber | date | time | image | hyperlink | button | promptButton | HTMLItem | richTextItem | bookmark | fieldSet | conditionalBlocks | layoutComponentRef | CMMMap | asOfTime | TOC | TOCEntry | queryFilterBlock | (pieChart | paretoChart | scatterChart | polarChart | radarChart | progressiveChart | combinationChart | bubbleChart | threeDCombinationChart | threeDScatterChart | gaugeChart | mapChart | metricsChart | marimekkoChart | winLossChart | v2_combinationChart | v2_scatterChart | v2_pieChart | v2_gaugeChart | v2_bubbleChart | v2_paretoChart | v2_progressiveChart | v2_bulletChart | viz) | (textBox | selectDate | selectDateTime | selectTime | selectInterval | selectValue | selectWithSearch | selectWithTree | generatedPrompt | selectFile) | (appRepeaterTable | appDeck | appTabControl | appButton | appButtonBar | appToggleButtonBar | appDropDownList | appListBox | appRadioButtonGroup | appCheckboxGroup | appDataDropDownList | appDataListBox | appDataButtonBar | appDataToggleButtonBar | appDataCheckboxGroup | appDataRadioButtonGroup | appDataDeck | appDataTabControl | appListSummary | appVariableTextItem | appIterator | appDataIterator | appRowNumber | appDiscreteSlider | appContinuousSlider | appDataDiscreteSlider | appList | appIFrame) | customControl | (vizControl | listControl | dropDownList) | notebook)>
<!ELEMENT layoutComponentOverrides (layoutComponentOverride+)>
<!ELEMENT daysText (defaultText | localizedText?)+>
<!ELEMENT hoursText (defaultText | localizedText?)+>
<!ELEMENT minutesText (defaultText | localizedText?)+>
<!ELEMENT secondsText (defaultText | localizedText?)+>
<!ELEMENT millisecondsText (defaultText | localizedText?)+>
<!ELEMENT headerText (defaultText | localizedText?)+>
<!ELEMENT resultsText (defaultText | localizedText?)+>
<!ELEMENT keywordsText (defaultText | localizedText?)+>
<!ELEMENT searchInstructionsText (defaultText | localizedText?)+>
<!ELEMENT optionsText (defaultText | localizedText?)+>
<!ELEMENT searchText (defaultText | localizedText?)+>
<!ELEMENT selectWithTreeItem EMPTY>
<!ATTLIST selectWithTreeItem
	refDataItem CDATA #REQUIRED
>
<!ELEMENT defaultTreeSelections (defaultTreeSelection+)>
<!ELEMENT configuration (#PCDATA)>
<!ATTLIST configuration
	xml:space (default | preserve) "preserve"
>
<!ELEMENT customControlDataSets (customControlDataSet+)>
<!ELEMENT vcDataSets (vcDataSet+)>
<!ELEMENT lcColumns (lcColumn+)>
<!ELEMENT lcColumnBodyStyle (style?)>
<!ELEMENT lcColumnTitleStyle (style?)>
<!ELEMENT lcColumnStyle (style?)>
<!ELEMENT lcBorders (lcExternalBorders? | lcVerticalBorders? | lcHorizontalBorders? | lcColumnTitleBorder? | lcFooterBorders? | lcBodyBorder?)*>
<!ATTLIST lcBorders
	borderColor CDATA #IMPLIED
>
<!ELEMENT lcRowStyleSequence (lcRowStyle+)>
<!ELEMENT lcSummaryHeader (lcSummaryRows | style?)+>
<!ELEMENT lcSummaryFooter (lcSummaryRows | style?)+>
<!ELEMENT lcGroupHeaderStyle (style?)>
<!ELEMENT lcGroupFooterStyle (style?)>
<!ELEMENT expandCollapseIndicator EMPTY>
<!ATTLIST expandCollapseIndicator
	color CDATA #IMPLIED
	shape (plusMinus | chevron | triangle) #IMPLIED
>
<!ELEMENT multipleValuesLabel (defaultText | localizedText?)+>
<!ELEMENT listItemLabel EMPTY>
<!ATTLIST listItemLabel
	refDsColumn CDATA #REQUIRED
>
<!ELEMENT listItemIcon EMPTY>
<!ATTLIST listItemIcon
	refDsColumn CDATA #REQUIRED
>
<!ELEMENT rowCells (rowCell+)>
<!ELEMENT positiveHtmlViz (#PCDATA)>
<!ATTLIST positiveHtmlViz
	xml:space (default | preserve) "preserve"
>
<!ELEMENT negativeHtmlViz (#PCDATA)>
<!ATTLIST negativeHtmlViz
	xml:space (default | preserve) "preserve"
>
<!ELEMENT zeroHtmlViz (#PCDATA)>
<!ATTLIST zeroHtmlViz
	xml:space (default | preserve) "preserve"
>
<!ELEMENT defaultHtmlViz (#PCDATA)>
<!ATTLIST defaultHtmlViz
	xml:space (default | preserve) "preserve"
>
<!ELEMENT totalColumnColor (chartPattern | chartColor | chartGradient)>
<!ELEMENT totalColumnLabel (chartContents?)>
<!ELEMENT cumulationAxis (axisTitle? | gridlines? | minorGridlines? | axisLine? | style? | conditionalStyles? | conditionalStyleRefs?)*>
<!ATTLIST cumulationAxis
	scaleInterval CDATA #IMPLIED
	showAxisLabels  (true | false) "true"
>
<!ELEMENT cumulationLabel (chartContents?)>
<!ELEMENT threeDBar (chartNodes?)>
<!ATTLIST threeDBar
	showBorders  (true | false) "false"
	borderColor CDATA "black"
	borderTransparency CDATA "0"
	showValues  (true | false) "false"
>
<!ELEMENT threeDLine (chartNodes?)>
<!ATTLIST threeDLine
	showBorders  (true | false) "false"
	borderColor CDATA "black"
	borderTransparency CDATA "0"
	showValues  (true | false) "false"
>
<!ELEMENT threeDArea (chartNodes?)>
<!ATTLIST threeDArea
	showBorders  (true | false) "false"
	borderColor CDATA "black"
	borderTransparency CDATA "0"
	showValues  (true | false) "false"
>
<!ELEMENT threeDComboBaseline (threeDBaselinePosition? | style? | conditionalStyles? | conditionalStyleRefs? | propertyList? | masterDetailLinks?)*>
<!ATTLIST threeDComboBaseline
	refQuery CDATA #REQUIRED
	lineStyle (solid | dash | dot | dotdash | dashdotdot | mediumdash | shortdash | longdash | longdot | dotdotdot | dashdashdot | dashdashdotdot | longdashdot | longdashdotdot | longdashdashdot | longdashdashdotdot) "solid"
	weight CDATA "0"
	color CDATA "black"
	transparency CDATA "0"
>
<!ELEMENT threeDScatterBaseline (threeDBaselinePosition? | style? | conditionalStyles? | conditionalStyleRefs? | propertyList? | masterDetailLinks?)>
<!ATTLIST threeDScatterBaseline
	refQuery CDATA #REQUIRED
	lineStyle (solid | dash | dot | dotdash | dashdotdot | mediumdash | shortdash | longdash | longdot | dotdotdot | dashdashdot | dashdashdotdot | longdashdot | longdashdotdot | longdashdashdot | longdashdashdotdot) "solid"
	weight CDATA "0"
	color CDATA "black"
	transparency CDATA "0"
>
<!ELEMENT pointSizeMeasure (style? | conditionalStyles? | conditionalStyleRefs? | chartLabel? | XMLAttributes?)*>
<!ATTLIST pointSizeMeasure
	minPointSize CDATA "5"
	maxPointSize CDATA "30"
	refDataItem CDATA #REQUIRED
	solveOrder CDATA #IMPLIED
>
<!ELEMENT pointMeasure (style? | conditionalStyles? | conditionalStyleRefs? | chartLabel? | XMLAttributes?)*>
<!ATTLIST pointMeasure
	refDataItem CDATA #REQUIRED
	solveOrder CDATA #IMPLIED
>
<!ELEMENT mapPointLocation (mapPointRefinementLocation?)>
<!ATTLIST mapPointLocation
	refDataItem CDATA #REQUIRED
>
<!ELEMENT pointSizeLegendTitle (chartContents? | masterDetailLinks? | propertyList?)*>
<!ATTLIST pointSizeLegendTitle
	refQuery CDATA #REQUIRED
>
<!ELEMENT pointColorLegendTitle (chartContents? | masterDetailLinks? | propertyList?)*>
<!ATTLIST pointColorLegendTitle
	refQuery CDATA #REQUIRED
>
<!ELEMENT regionMeasure (style? | conditionalStyles? | conditionalStyleRefs? | chartLabel? | XMLAttributes?)*>
<!ATTLIST regionMeasure
	refDataItem CDATA #REQUIRED
	solveOrder CDATA #IMPLIED
>
<!ELEMENT regionColorLegendTitle (chartContents? | masterDetailLinks? | propertyList?)*>
<!ATTLIST regionColorLegendTitle
	refQuery CDATA #REQUIRED
>
<!ELEMENT mapRegionLocation (mapRegionRefinementLocation?)>
<!ATTLIST mapRegionLocation
	refDataItem CDATA #REQUIRED
>
<!ELEMENT displayLayer (style? | conditionalStyles? | conditionalStyleRefs? | fillEffects?)*>
<!ATTLIST displayLayer
	refLayer CDATA #REQUIRED
	showBorders  (true | false) "false"
	borderColor CDATA "black"
	borderTransparency CDATA "0"
	showLabels  (true | false) "false"
	hideOverlappingLabels  (true | false) "false"
>
<!ELEMENT mapDictionaryEntry EMPTY>
<!ATTLIST mapDictionaryEntry
	dataName CDATA #REQUIRED
	locale CDATA #IMPLIED
	mapName CDATA #REQUIRED
	mapRefinementName CDATA #IMPLIED
>
<!ELEMENT autoLabelControl EMPTY>
<!ATTLIST autoLabelControl
	allowRotate45DegreesForCategoryLabels  (true | false) "true"
	allowRotate90DegreesForCategoryLabels  (true | false) "true"
	allowStaggerForCategoryLabels  (true | false) "true"
	allowSkipForCategoryLabels  (true | false) "true"
>
<!ELEMENT manualLabelControl EMPTY>
<!ATTLIST manualLabelControl
	displayFrequency CDATA "5"
	firstLabel CDATA "1"
>
<!ELEMENT baselinePosition (numericPosition | memberPosition)>
<!ATTLIST baselinePosition
	useNumericalAxis (numericalAxisY1 | numericalAxisY2 | xAxis | yAxis) "numericalAxisY1"
>
<!ELEMENT noteContent (chartContents | style? | masterDetailLinks? | conditionalStyles? | conditionalStyleRefs? | propertyList?)+>
<!ATTLIST noteContent
	refQuery CDATA #REQUIRED
>
<!ELEMENT noteBorder EMPTY>
<!ATTLIST noteBorder
	lineStyle (solid | dash | dot | dotdash | dashdotdot | mediumdash | shortdash | longdash | longdot | dotdotdot | dashdashdot | dashdashdotdot | longdashdot | longdashdotdot | longdashdashdot | longdashdashdotdot) "solid"
	color CDATA "black"
	transparency CDATA "0"
>
<!ELEMENT pointChartMarkerPosition (XPosition | YPosition)+>
<!ELEMENT markerPosition (memberPosition | numericPosition)+>
<!ATTLIST markerPosition
	useNumericalAxis (numericalAxisY1 | numericalAxisY2 | xAxis | yAxis) "numericalAxisY1"
>
<!ELEMENT relativePosition EMPTY>
<!ATTLIST relativePosition
	legendPosition (right | left | bottom) "right"
>
<!ELEMENT absolutePosition EMPTY>
<!ATTLIST absolutePosition
	topLegendPosition CDATA "50"
	leftLegendPosition CDATA "0"
	rightLegendPosition CDATA "50"
	bottomLegendPosition CDATA "0"
>
<!ELEMENT pointChartBaselinePosition (dataSource | mean | limit | percentile | percentAlongAxis)>
<!ELEMENT discreteChartPaletteEntry (chartGradient | chartPattern | chartColor)>
<!ATTLIST discreteChartPaletteEntry
	paletteValue CDATA #IMPLIED
>
<!ELEMENT commonLog EMPTY>
<!ELEMENT naturalLog EMPTY>
<!ELEMENT linear EMPTY>
<!ELEMENT exponential EMPTY>
<!ELEMENT polynomialFit EMPTY>
<!ATTLIST polynomialFit
	exponent CDATA "1"
>
<!ELEMENT v2_pieDataLabels EMPTY>
<!ATTLIST v2_pieDataLabels
	pieLabelStyle (radial | stack) "radial"
	pieLabels (hide | show) "hide"
	pieValues (hide | absolute | percentage | both) "hide"
	pieLabelCollisionMode (none | normal | coarse_stagger | fine_stagger) "none"
	pieLabelLeaders (show | hide) "show"
>
<!ELEMENT v2_explodedSlices (v2_explodedSlice+)>
<!ELEMENT v2_combinationChartTypes ((v2_bar | v2_line | v2_area))+>
<!ELEMENT v2_gaugeAxis (v2_axisRange | v2_gaugeAxisLine? | v2_axisTitle? | v2_axisColors? | v2_axisLabels? | v2_gaugeNeedle? | v2_gaugeAxisMajorGridlines? | v2_gaugeAxisMinorGridlines? | XMLAttributes?)+>
<!ATTLIST v2_gaugeAxis
	numberOfMinorIntervals CDATA "2"
	gaugeAxisStartAngle CDATA "10"
	gaugeAxisEndAngle CDATA "360"
	gaugeAxisDirection (clockwise | counterclockwise) "clockwise"
	gaugeAxisJustification (inside | outside) "inside"
	gaugeAxisInnerRadius CDATA "75"
	gaugeAxisOuterRadius CDATA "95"
	gaugeAxisTextOrientation (perpendicularInward | perpendicularOutward | upright | tangentialClockwise | tangentialCounterClockwise) "upright"
>
<!ELEMENT v2_bubbleZero EMPTY>
<!ATTLIST v2_bubbleZero
	includeNegativeValues  (true | false) "false"
	maxBubbleSize CDATA "20pt"
>
<!ELEMENT v2_bubbleMinMax EMPTY>
<!ATTLIST v2_bubbleMinMax
	minBubbleSize CDATA "5pt"
	maxBubbleSize CDATA "20pt"
>
<!ELEMENT v2_cumulationLine (v2_paretoLineDataLabels? | v2_cumulationLabel?)*>
<!ATTLIST v2_cumulationLine
	markers (show | hide) "show"
	markerBorders (show | hide) "hide"
	markerBorderColor CDATA "black"
	markerSize CDATA "10pt"
	lineStyle CDATA "solid"
	lineWeight CDATA "1px"
	lineColor CDATA "black"
	markerShape (circle | diamond | x | square | taperedX | upperLeftTriangle | hexagon | horizontalBar | upperRightTriangle | house | star | thinX | upTriangle | verticalBar | chalet | downTriangle | thickCross | fivePointStar | thickX | notchedSquare | gunSight | leftTriangle | rightTriangle | ninjaStar | lowerLeftTriangle | lowerRightTriangle | notchedX | taperedCross | triangle | cross2D | verticalBar3D | gunSight3D | diamond3D | upperLeftTriangle3D | upperRightTriangle3D | downTriangle3D | leftTriangle3D | thinX3D | cross3D | rightTriangle3D | lowerLeftTriangle3D | lowerRightTriangle3D | box | upTriangle3D | horizontalBar3D | cone | dodecahedron | icosahedron | sphere32) "circle"
>
<!ELEMENT v2_yAxisPosition (dataSource | v2_mean | v2_limit | v2_percentile | v2_percentAlongAxis)>
<!ELEMENT v2_xAxisPosition (dataSource | v2_mean | v2_limit | v2_percentile | v2_percentAlongAxis)>
<!ELEMENT v2_legendPreset EMPTY>
<!ATTLIST v2_legendPreset
	legendPositionPreset (top | topRight | topLeft | left | right | bottom | bottomRight | bottomLeft) "topRight"
>
<!ELEMENT v2_trendLineType (v2_linearRegression | v2_exponentialRegression | v2_polynomialRegression | v2_commonLogRegression | v2_naturalLogRegression | v2_powerRegression | v2_movingAverage)>
<!ELEMENT v2_trendLineLabel (v2_chartTextContents | propertyList? | style? | conditionalStyleRefs? | XMLAttributes?)+>
<!ATTLIST v2_trendLineLabel
	refQuery CDATA #REQUIRED
>
<!ELEMENT v2_absoluteThreshold EMPTY>
<!ATTLIST v2_absoluteThreshold
	absoluteThreshold CDATA #REQUIRED
>
<!ELEMENT v2_percentThreshold EMPTY>
<!ATTLIST v2_percentThreshold
	percentageThreshold CDATA #REQUIRED
>
<!ELEMENT v2_matrixRowLabels (style?)>
<!ATTLIST v2_matrixRowLabels
	autoTruncation  (true | false) "true"
	truncationText CDATA "..."
	manualTruncationMaxChars CDATA "50"
	autoFontSizing  (true | false) "false"
>
<!ELEMENT v2_matrixColumnLabels (style?)>
<!ATTLIST v2_matrixColumnLabels
	autoTruncation  (true | false) "true"
	truncationText CDATA "..."
	manualTruncationMaxChars CDATA "50"
	autoFontSizing  (true | false) "false"
>
<!ELEMENT v2_imagePosition (v2_manualPosition | v2_stretchPosition | v2_automaticPosition)>
<!ELEMENT v2_conditionalCases (v2_conditionalCase+)>
<!ELEMENT v2_rangeConditionalCases (v2_rangeConditionalCase+)>
<!ELEMENT v2_rangeConditionalRemaining (v2_solidPaletteEntry | v2_conditionalPaletteEntryLabel?)+>
<!ELEMENT v2_stringConditionalCases ((v2_stringValueList | v2_stringCriteria)+)>
<!ELEMENT v2_pointCases (v2_pointCase+)>
<!ELEMENT v2_pointRangeCases (v2_pointRangeCase+)>
<!ELEMENT v2_pointRangeRemaining (v2_pointPaletteEntry | v2_conditionalPaletteEntryLabel?)+>
<!ELEMENT v2_pointStringCases ((v2_pointStringValueList | v2_pointStringCriteria)+)>
<!ELEMENT v2_lineCases (v2_lineCase+)>
<!ELEMENT v2_lineRangeCases (v2_lineRangeCase+)>
<!ELEMENT v2_lineRangeRemaining (v2_linePaletteEntry? | v2_conditionalPaletteEntryLabel?)*>
<!ELEMENT v2_lineStringCases ((v2_lineStringValueList | v2_lineStringCriteria)+)>
<!ELEMENT v2_color EMPTY>
<!ATTLIST v2_color
	color CDATA "black"
>
<!ELEMENT discreteGaugePaletteEntry EMPTY>
<!ATTLIST discreteGaugePaletteEntry
	discreteGaugePaletteValue CDATA #IMPLIED
	discreteGaugePaletteColor CDATA "black"
	transparency CDATA "0"
>
<!ELEMENT vizDataSet (vizCategories? | vizValues? | vizDefaultMeasure? | appContainerFilter? | appContainerSelect? | appOnSelectSetVariableValues? | reportDrills? | masterDetailLinks? | XMLAttributes? | appDrills? | appVizDataSetProperties?)*>
<!ATTLIST vizDataSet
	idDataSet CDATA #REQUIRED
	refQuery CDATA #REQUIRED
	name CDATA #REQUIRED
	showTooltips  (true | false) "true"
	maxHotspots CDATA #IMPLIED
	refAppDrillTo CDATA #IMPLIED
>
<!ELEMENT upgradedSpec (#PCDATA)>
<!ATTLIST upgradedSpec
	xml:space (default | preserve) "preserve"
>
<!ELEMENT upgradeMessages (upgradeMessage+)>
<!ELEMENT backgroundImagePosition (automaticPosition | manualPosition | stretchPosition)>
<!ELEMENT drillLinks (drillLink+)>
<!ELEMENT styleCase (reportCondition | style?)+>
<!ELEMENT styleRange (style?)>
<!ATTLIST styleRange
	value CDATA #REQUIRED
	inclusive  (true | false) "false"
>
<!ELEMENT stringValueList (styleValues | style?)+>
<!ATTLIST stringValueList
	selectedValues  (true | false) "true"
>
<!ELEMENT stringCriteria (styleValue | style?)+>
<!ATTLIST stringCriteria
	operator (contains | like | beginsWith | endsWith | notContains | notLike | notEndsWith | notBeginsWith) #REQUIRED
>
<!ELEMENT conditionalDisplayValue (#PCDATA)>
<!ATTLIST conditionalDisplayValue
	xml:space (default | preserve) "preserve"
	refVariableValue CDATA #REQUIRED
>
<!ELEMENT mdProjectedItem EMPTY>
<!ATTLIST mdProjectedItem
	name CDATA #REQUIRED
>
<!ELEMENT mdDimensions (mdDimension+)>
<!ELEMENT mdFacts (mdFact+)>
<!ELEMENT queryItem EMPTY>
<!ATTLIST queryItem
	name CDATA #REQUIRED
>
<!ELEMENT hierarchies ((levelHierarchy | memberHierarchy)*)>
<!ELEMENT customValuesGroup (selectedValue+)>
<!ATTLIST customValuesGroup
	label CDATA #REQUIRED
>
<!ELEMENT customRangeGroup (lowValue? | highValue?)*>
<!ATTLIST customRangeGroup
	label CDATA #REQUIRED
>
<!ELEMENT showRemainingValues EMPTY>
<!ELEMENT hideRemainingValues EMPTY>
<!ELEMENT groupRemainingValuesAs EMPTY>
<!ATTLIST groupRemainingValuesAs
	label CDATA #REQUIRED
>
<!ELEMENT setFilterAnd ((setFilterAnd | setFilterOr | setFilterNot | memberCaptionCondition | stringPropertyCondition | numericPropertyCondition | tupleCondition)+)>
<!ELEMENT setFilterOr ((setFilterAnd | setFilterOr | setFilterNot | memberCaptionCondition | stringPropertyCondition | numericPropertyCondition | tupleCondition)+)>
<!ELEMENT setFilterNot (setFilterAnd | setFilterOr | setFilterNot | memberCaptionCondition | stringPropertyCondition | numericPropertyCondition | tupleCondition)>
<!ELEMENT memberCaptionCondition EMPTY>
<!ATTLIST memberCaptionCondition
	operator (contains | beginsWith | endsWith | matches | containsNot | beginsWithNot | endsWithNot | matchesNot) #REQUIRED
	value CDATA #REQUIRED
>
<!ELEMENT stringPropertyCondition (dmMemberProperty)>
<!ATTLIST stringPropertyCondition
	operator (contains | beginsWith | endsWith | matches | containsNot | beginsWithNot | endsWithNot | matchesNot | isNull | isNotNull) #REQUIRED
	value CDATA #IMPLIED
>
<!ELEMENT numericPropertyCondition (dmMemberProperty)>
<!ATTLIST numericPropertyCondition
	operator (equal | notEqual | greaterThan | greaterThanEqual | lessThan | lessThanEqual | isNull | isNotNull) #REQUIRED
	value CDATA #IMPLIED
>
<!ELEMENT tupleCondition (dmTuple)>
<!ATTLIST tupleCondition
	operator (equal | notEqual | greaterThan | greaterThanEqual | lessThan | lessThanEqual | isNull | isNotNull) #REQUIRED
	value CDATA #IMPLIED
>
<!ELEMENT customMembersGroup (dmMembers)>
<!ATTLIST customMembersGroup
	label CDATA #REQUIRED
>
<!ELEMENT includeRemainingMembers EMPTY>
<!ELEMENT excludeRemainingMembers EMPTY>
<!ELEMENT groupRemainingMembersAs EMPTY>
<!ATTLIST groupRemainingMembersAs
	label CDATA #REQUIRED
>
<!ELEMENT appListCategoryDataItem (sortList? | style? | XMLAttributes?)*>
<!ATTLIST appListCategoryDataItem
	refDataItem CDATA #REQUIRED
>
<!ELEMENT appListFact (style? | XMLAttributes?)*>
<!ATTLIST appListFact
	refDataItem CDATA #REQUIRED
	rollupMethod (total | minimum | maximum | average) "total"
	decimal  (true | false) "false"
>
<!ELEMENT appListColumnData (appListColumnDataItem | appListColumnHierarchy)>
<!ELEMENT appListColumnStyle (style?)>
<!ELEMENT appListColumnTitle (style? | appListColumnTitleLabel? | XMLAttributes?)*>
<!ELEMENT appListColumnBody (style? | XMLAttributes?)*>
<!ELEMENT appListSummaryRow (style? | XMLAttributes?)*>
<!ATTLIST appListSummaryRow
	summaryMethod (total | minimum | maximum | average | count) "total"
>
<!ELEMENT appDrillHandler EMPTY>
<!ATTLIST appDrillHandler
	name CDATA #REQUIRED
>
<!ELEMENT appDrillParameter (appDrillValues)>
<!ATTLIST appDrillParameter
	name CDATA #REQUIRED
>
<!ELEMENT appDrillToGeneric (XMLAttributes?)>
<!ATTLIST appDrillToGeneric
	target CDATA #IMPLIED
	method (GET | POST) "POST"
	action CDATA #REQUIRED
>
<!ELEMENT appDrillToReportViewer (XMLAttributes?)>
<!ATTLIST appDrillToReportViewer
	target CDATA #IMPLIED
>
<!ELEMENT appDrillToParameter (appDrillToValues | XMLAttributes?)+>
<!ATTLIST appDrillToParameter
	name CDATA #REQUIRED
	required  (true | false) "false"
>
<!ELEMENT appVariableValues (appVariableValue+)>
<!ELEMENT appRangeMin EMPTY>
<!ATTLIST appRangeMin
	refAppVariable CDATA #REQUIRED
>
<!ELEMENT appRangeMax EMPTY>
<!ATTLIST appRangeMax
	refAppVariable CDATA #REQUIRED
>
<!ELEMENT appStaticDataItemValue (defaultText | localizedText?)+>
<!ELEMENT dsV5Query (dsV5Edges? | dsV5FactEdge? | dsV5DefaultMeasure? | masterDetailLinks? | XMLAttributes?)*>
<!ATTLIST dsV5Query
	refQuery CDATA #REQUIRED
>
<!ELEMENT dsV5ListQuery (dsV5DataItems? | masterDetailLinks? | XMLAttributes?)*>
<!ATTLIST dsV5ListQuery
	refQuery CDATA #REQUIRED
>
<!ELEMENT dsJSON (#PCDATA)>
<!ATTLIST dsJSON
	xml:space (default | preserve) "preserve"
>
<!ELEMENT dsURL EMPTY>
<!ATTLIST dsURL
	url CDATA #REQUIRED
	serverLoad  (true | false) "false"
>
<!ELEMENT dsRefDataStore EMPTY>
<!ATTLIST dsRefDataStore
	refDataStore CDATA #REQUIRED
>
<!ELEMENT dsProjection EMPTY>
<!ATTLIST dsProjection
	refDsColumn CDATA #REQUIRED
	rollupMethod (total | minimum | maximum | average | group | unique) #REQUIRED
>
<!ELEMENT dsFilterAdvanced (#PCDATA)>
<!ATTLIST dsFilterAdvanced
	xml:space (default | preserve) "preserve"
>
<!ELEMENT dsFilterIn (dsFilterInValues? | XMLAttributes?)*>
<!ATTLIST dsFilterIn
	refDsColumn CDATA #REQUIRED
	not  (true | false) "false"
	parameter CDATA #IMPLIED
>
<!ELEMENT dsFilterCompare (dsFilterCompareValue? | XMLAttributes?)*>
<!ATTLIST dsFilterCompare
	refDsColumn CDATA #REQUIRED
	operator (greaterThan | greaterThanEqual | lessThan | lessThanEqual) #REQUIRED
	parameter CDATA #IMPLIED
>
<!ELEMENT dsFilterRange (dsFilterFromValue | dsFilterToValue | XMLAttributes?)+>
<!ATTLIST dsFilterRange
	refDsColumn CDATA #REQUIRED
	not  (true | false) "false"
>
<!ELEMENT pageSectionDefinition (dmMembers)>
<!ELEMENT listColumnTitle (contents | style? | conditionalStyles? | conditionalStyleRefs? | XMLAttributes?)+>
<!ELEMENT listColumnBody (contents | listColumnRowSpan? | style? | conditionalStyles? | conditionalStyleRefs? | XMLAttributes?)+>
<!ELEMENT crosstabNodeMembers ((crosstabNodeMember | crosstabSpacer | appCrosstabSummary)+)>
<!ELEMENT crosstabNestedNodes (crosstabNode+)>
<!ELEMENT variableValueGroup (variableValue+)>
<!ATTLIST variableValueGroup
	value CDATA #REQUIRED
>
<!ELEMENT drillUpBehavior (drillSimpleType | drillChange | drillChangeToDepthBasedExpression | drillAncestor)>
<!ELEMENT drillDownBehavior (drillSimpleType | drillChange | drillChangeToDepthBasedExpression | drillAncestor)>
<!ELEMENT linkedDrillItem EMPTY>
<!ATTLIST linkedDrillItem
	refDataItem CDATA #REQUIRED
	refQuery CDATA #REQUIRED
>
<!ELEMENT tableRow (tableCells | style? | conditionalStyles? | conditionalStyleRefs? | XMLAttributes?)+>
<!ELEMENT conditionalBlock (contents | style? | conditionalStyles? | conditionalStyleRefs? | XMLAttributes?)+>
<!ATTLIST conditionalBlock
	refVariableValue CDATA #REQUIRED
	displayForOrientation (both | portrait | landscape) "both"
>
<!ELEMENT layoutComponentOverride (list | crosstab | repeaterTable | repeater | singleton | block | table | textItem | pageSectionText | contextItemText | pageNumber | rowNumber | date | time | image | hyperlink | button | promptButton | HTMLItem | richTextItem | bookmark | fieldSet | conditionalBlocks | layoutComponentRef | CMMMap | asOfTime | TOC | TOCEntry | queryFilterBlock | (pieChart | paretoChart | scatterChart | polarChart | radarChart | progressiveChart | combinationChart | bubbleChart | threeDCombinationChart | threeDScatterChart | gaugeChart | mapChart | metricsChart | marimekkoChart | winLossChart | v2_combinationChart | v2_scatterChart | v2_pieChart | v2_gaugeChart | v2_bubbleChart | v2_paretoChart | v2_progressiveChart | v2_bulletChart | viz) | (textBox | selectDate | selectDateTime | selectTime | selectInterval | selectValue | selectWithSearch | selectWithTree | generatedPrompt | selectFile) | (appRepeaterTable | appDeck | appTabControl | appButton | appButtonBar | appToggleButtonBar | appDropDownList | appListBox | appRadioButtonGroup | appCheckboxGroup | appDataDropDownList | appDataListBox | appDataButtonBar | appDataToggleButtonBar | appDataCheckboxGroup | appDataRadioButtonGroup | appDataDeck | appDataTabControl | appListSummary | appVariableTextItem | appIterator | appDataIterator | appRowNumber | appDiscreteSlider | appContinuousSlider | appDataDiscreteSlider | appList | appIFrame) | customControl | (vizControl | listControl | dropDownList) | notebook)?>
<!ATTLIST layoutComponentOverride
	refLayoutElement CDATA #REQUIRED
>
<!ELEMENT defaultTreeSelection (#PCDATA)>
<!ELEMENT customControlDataSet (customControlCategories? | customControlFacts? | customControlDefaultMeasure? | masterDetailLinks? | XMLAttributes?)*>
<!ATTLIST customControlDataSet
	refQuery CDATA #REQUIRED
	name CDATA #REQUIRED
>
<!ELEMENT vcDataSet (vcSlots? | dsFilters? | XMLAttributes? | reportDrills?)*>
<!ATTLIST vcDataSet
	idDataSet CDATA #REQUIRED
	refDataStore CDATA #IMPLIED
>
<!ELEMENT lcColumn (lcColumnTitle | lcColumnBody | lcGroup? | lcColumnHierarchy? | builtinViz? | keyColumns? | style? | XMLAttributes?)+>
<!ATTLIST lcColumn
	refDsColumn CDATA #REQUIRED
	rollupMethod (total | minimum | maximum | average) #IMPLIED
	width CDATA #REQUIRED
	allowResize  (true | false) #IMPLIED
	showFilter  (true | false) #IMPLIED
>
<!ELEMENT lcExternalBorders EMPTY>
<!ELEMENT lcVerticalBorders EMPTY>
<!ATTLIST lcVerticalBorders
	color CDATA #IMPLIED
>
<!ELEMENT lcHorizontalBorders EMPTY>
<!ATTLIST lcHorizontalBorders
	color CDATA #IMPLIED
>
<!ELEMENT lcColumnTitleBorder EMPTY>
<!ELEMENT lcFooterBorders EMPTY>
<!ELEMENT lcBodyBorder EMPTY>
<!ATTLIST lcBodyBorder
	color CDATA #IMPLIED
>
<!ELEMENT lcRowStyle EMPTY>
<!ATTLIST lcRowStyle
	color CDATA #IMPLIED
>
<!ELEMENT rowCell (contents | style? | conditionalStyles? | conditionalStyleRefs? | XMLAttributes?)+>
<!ATTLIST rowCell
	colSpan CDATA "1"
	tableHeader  (true | false) "false"
>
<!ELEMENT mapPointRefinementLocation EMPTY>
<!ATTLIST mapPointRefinementLocation
	refDataItem CDATA #REQUIRED
>
<!ELEMENT mapRegionRefinementLocation EMPTY>
<!ATTLIST mapRegionRefinementLocation
	refDataItem CDATA #REQUIRED
>
<!ELEMENT v2_explodedSlice (v2_ordinalIndex | v2_calculatedSlice)>
<!ATTLIST v2_explodedSlice
	explosionValue CDATA "0"
>
<!ELEMENT v2_bar (chartNodes? | v2_chartDataLabels? | v2_solidPalette? | v2_conditionalSolidPalette? | v2_trendLines? | XMLAttributes?)*>
<!ATTLIST v2_bar
	setOrdinalWidthScale CDATA "80"
	bevel (none | round | flat) "none"
	seriesType (absolute | stacked | stacked100Percent) "absolute"
	barShape CDATA "rectangle"
	borders (show | hide) "hide"
	borderColor CDATA "black"
>
<!ELEMENT v2_line (chartNodes? | v2_conditionalLinePalette? | v2_chartDataLabels? | v2_specialDataPoints? | v2_linePalette? | v2_trendLines? | XMLAttributes?)*>
<!ATTLIST v2_line
	seriesType (absolute | stacked | stacked100Percent) "absolute"
	lineAreaShape (pointToPoint | stepAtPoint | stepBetweenPoints | smooth) "pointToPoint"
	lineDisplayType (line | lineAndMarkers | markers) "line"
>
<!ELEMENT v2_area (chartNodes? | v2_chartDataLabels? | v2_conditionalSolidPalette? | v2_solidPalette? | v2_trendLines? | XMLAttributes?)*>
<!ATTLIST v2_area
	borders (show | hide) "hide"
	borderColor CDATA "black"
	seriesType (absolute | stacked | stacked100Percent) "absolute"
	lineAreaShape (pointToPoint | stepAtPoint | stepBetweenPoints | smooth) "pointToPoint"
	extendWidth  (true | false) "true"
>
<!ELEMENT v2_gaugeAxisLine EMPTY>
<!ATTLIST v2_gaugeAxisLine
	lineStyle CDATA "solid"
	lineWeight CDATA "1px"
	lineColor CDATA "black"
>
<!ELEMENT v2_gaugeNeedle (v2_solidPalette? | v2_conditionalSolidPalette? | chartNodes? | XMLAttributes?)*>
<!ATTLIST v2_gaugeNeedle
	needleHeight CDATA "40"
	needleHeadLength CDATA "90"
	needleHeadWidth CDATA "10"
	needlePivotWidth CDATA "10"
	needleTailWidth CDATA "10"
	needleTailLength CDATA "20"
	needleHeadStyle (round | flat | triangular) "round"
	needleTailStyle (round | flat | triangular) "round"
	needleBevelRadius CDATA "100"
	needleBevelStyle (round | flat) "round"
>
<!ELEMENT v2_gaugeAxisMajorGridlines EMPTY>
<!ATTLIST v2_gaugeAxisMajorGridlines
	gridlineLength CDATA "5pt"
	gridlineStyle CDATA "solid"
	gridlineWeight CDATA "1px"
	gridlineColor CDATA "black"
>
<!ELEMENT v2_gaugeAxisMinorGridlines EMPTY>
<!ATTLIST v2_gaugeAxisMinorGridlines
	gridlineLength CDATA "5pt"
	gridlineStyle CDATA "solid"
	gridlineWeight CDATA "1px"
	gridlineColor CDATA "black"
>
<!ELEMENT v2_paretoLineDataLabels (XMLAttributes?)>
<!ELEMENT v2_cumulationLabel (v2_chartTextContents | propertyList? | style? | conditionalStyleRefs? | XMLAttributes?)+>
<!ATTLIST v2_cumulationLabel
	refQuery CDATA #REQUIRED
>
<!ELEMENT v2_linearRegression (v2_equationNote? | XMLAttributes?)*>
<!ELEMENT v2_exponentialRegression (v2_equationNote? | XMLAttributes?)*>
<!ELEMENT v2_polynomialRegression (v2_equationNote? | XMLAttributes?)*>
<!ATTLIST v2_polynomialRegression
	polynomialOrder CDATA "2"
>
<!ELEMENT v2_commonLogRegression (v2_equationNote? | XMLAttributes?)*>
<!ELEMENT v2_naturalLogRegression (v2_equationNote? | XMLAttributes?)*>
<!ELEMENT v2_powerRegression (v2_equationNote? | XMLAttributes?)*>
<!ELEMENT v2_movingAverage (XMLAttributes?)>
<!ATTLIST v2_movingAverage
	periods CDATA "2"
>
<!ELEMENT v2_manualPosition EMPTY>
<!ATTLIST v2_manualPosition
	positionX CDATA "0px"
	positionY CDATA "0px"
	tile (none | vertical | horizontal | both) "none"
>
<!ELEMENT v2_stretchPosition EMPTY>
<!ELEMENT v2_automaticPosition EMPTY>
<!ATTLIST v2_automaticPosition
	imageAutomaticPosition (centerLeft | centerCenter | centerRight | topLeft | topCenter | topRight | bottomLeft | bottomCenter | bottomRight) "centerCenter"
	tile (none | vertical | horizontal | both) "none"
>
<!ELEMENT v2_conditionalCase (reportCondition | v2_solidPaletteEntry | v2_conditionalPaletteEntryLabel?)+>
<!ELEMENT v2_rangeConditionalCase (v2_solidPaletteEntry | v2_conditionalPaletteEntryLabel?)+>
<!ATTLIST v2_rangeConditionalCase
	value CDATA #REQUIRED
	inclusive  (true | false) "false"
>
<!ELEMENT v2_stringValueList (v2_stringValues | v2_solidPaletteEntry | v2_conditionalPaletteEntryLabel?)+>
<!ATTLIST v2_stringValueList
	selectedValues  (true | false) "true"
>
<!ELEMENT v2_stringCriteria (v2_stringValue | v2_solidPaletteEntry | v2_conditionalPaletteEntryLabel?)+>
<!ATTLIST v2_stringCriteria
	operator (contains | like | beginsWith | endsWith | notContains | notLike | notEndsWith | notBeginsWith) #REQUIRED
>
<!ELEMENT v2_pointCase (reportCondition | v2_pointPaletteEntry | v2_conditionalPaletteEntryLabel?)+>
<!ELEMENT v2_pointRangeCase (v2_pointPaletteEntry | v2_conditionalPaletteEntryLabel?)+>
<!ATTLIST v2_pointRangeCase
	value CDATA #REQUIRED
	inclusive  (true | false) "false"
>
<!ELEMENT v2_pointStringValueList (v2_stringValues | v2_pointPaletteEntry | v2_conditionalPaletteEntryLabel?)+>
<!ATTLIST v2_pointStringValueList
	selectedValues  (true | false) "true"
>
<!ELEMENT v2_pointStringCriteria (v2_stringValue | v2_pointPaletteEntry | v2_conditionalPaletteEntryLabel?)+>
<!ATTLIST v2_pointStringCriteria
	operator (contains | like | beginsWith | endsWith | notContains | notLike | notEndsWith | notBeginsWith) #REQUIRED
>
<!ELEMENT v2_lineCase (reportCondition | v2_linePaletteEntry? | v2_conditionalPaletteEntryLabel?)+>
<!ELEMENT v2_lineRangeCase (v2_linePaletteEntry? | v2_conditionalPaletteEntryLabel?)*>
<!ATTLIST v2_lineRangeCase
	value CDATA #REQUIRED
	inclusive  (true | false) "false"
>
<!ELEMENT v2_lineStringValueList (v2_stringValues | v2_linePaletteEntry? | v2_conditionalPaletteEntryLabel?)+>
<!ATTLIST v2_lineStringValueList
	selectedValues  (true | false) "true"
>
<!ELEMENT v2_lineStringCriteria (v2_stringValue | v2_linePaletteEntry? | v2_conditionalPaletteEntryLabel?)+>
<!ATTLIST v2_lineStringCriteria
	operator (contains | like | beginsWith | endsWith | notContains | notLike | notEndsWith | notBeginsWith) #REQUIRED
>
<!ELEMENT vizCategories (vizCategoryEdge+)>
<!ELEMENT vizValues ((vizValue | vizHiddenValue)+)>
<!ELEMENT vizDefaultMeasure EMPTY>
<!ATTLIST vizDefaultMeasure
	refDataItem CDATA #REQUIRED
>
<!ELEMENT appVizDataSetProperties EMPTY>
<!ATTLIST appVizDataSetProperties
	showHover  (true | false) "true"
>
<!ELEMENT upgradeMessage (#PCDATA)>
<!ATTLIST upgradeMessage
	messageId NMTOKEN #IMPLIED
	type (error | warning | info) #REQUIRED
>
<!ELEMENT automaticPosition EMPTY>
<!ATTLIST automaticPosition
	automaticPosition (leftTop | centerTop | rightTop | leftMiddle | centerMiddle | rightMiddle | leftBottom | centerBottom | rightBottom) "leftTop"
	tile  (true | false) "false"
>
<!ELEMENT manualPosition EMPTY>
<!ATTLIST manualPosition
	positionX CDATA "0px"
	positionY CDATA "0px"
	tile  (true | false) "false"
>
<!ELEMENT stretchPosition EMPTY>
<!ELEMENT drillLink (drillSourceContext? | drillTargetContext)+>
<!ELEMENT styleValues (styleValue+)>
<!ELEMENT mdDimension (mdHierarchy)>
<!ATTLIST mdDimension
	name CDATA #REQUIRED
>
<!ELEMENT mdFact EMPTY>
<!ATTLIST mdFact
	name CDATA #REQUIRED
>
<!ELEMENT levelHierarchy (levelRef*)>
<!ATTLIST levelHierarchy
	name CDATA #REQUIRED
>
<!ELEMENT memberHierarchy (calculatedMembers?)?>
<!ATTLIST memberHierarchy
	name CDATA #REQUIRED
>
<!ELEMENT selectedValue (#PCDATA)>
<!ATTLIST selectedValue
	xml:space (default | preserve) "preserve"
>
<!ELEMENT lowValue (#PCDATA)>
<!ATTLIST lowValue
	xml:space (default | preserve) "preserve"
>
<!ELEMENT highValue (#PCDATA)>
<!ATTLIST highValue
	xml:space (default | preserve) "preserve"
>
<!ELEMENT appListColumnDataItem (reportDrills? | XMLAttributes?)*>
<!ATTLIST appListColumnDataItem
	refDataItem CDATA #REQUIRED
>
<!ELEMENT appListColumnHierarchy (appListColumnLevel+)>
<!ELEMENT appListColumnTitleLabel (defaultText | localizedText?)+>
<!ELEMENT appDrillValues (appDrillAppVariableValues | appDrillStaticValue+)>
<!ELEMENT appDrillToValues (appDrillToAppVariableValues | appDrillToStaticValue+ | appDrillToAppVariableRange)>
<!ELEMENT dsV5Edges (dsV5Edge+)>
<!ELEMENT dsV5FactEdge (dsV5Facts)>
<!ELEMENT dsV5DefaultMeasure EMPTY>
<!ATTLIST dsV5DefaultMeasure
	refDataItem CDATA #REQUIRED
	decimal  (true | false) "false"
>
<!ELEMENT dsV5DataItems (dsV5DataItem+)>
<!ELEMENT dsFilterInValues (dsFilterInValue+)>
<!ELEMENT dsFilterCompareValue (#PCDATA)>
<!ATTLIST dsFilterCompareValue
	xml:space (default | preserve) "preserve"
>
<!ELEMENT dsFilterFromValue (#PCDATA)>
<!ATTLIST dsFilterFromValue
	xml:space (default | preserve) "preserve"
>
<!ELEMENT dsFilterToValue (#PCDATA)>
<!ATTLIST dsFilterToValue
	xml:space (default | preserve) "preserve"
>
<!ELEMENT listColumnRowSpan EMPTY>
<!ATTLIST listColumnRowSpan
	refDataItem CDATA #IMPLIED
>
<!ELEMENT crosstabNodeMember (contents | style? | conditionalStyles? | conditionalStyleRefs? | factCell? | propertyList? | sortList? | XMLAttributes? | appCrosstabNodeMemberProperties? | indentation?)+>
<!ATTLIST crosstabNodeMember
	refDataItem CDATA #REQUIRED
	repeatEveryPage  (true | false) "false"
	keepWithNext CDATA #IMPLIED
	keepWithPrevious CDATA #IMPLIED
	solveOrder CDATA #IMPLIED
	edgeLocation CDATA #IMPLIED
>
<!ELEMENT crosstabSpacer (contents | style? | conditionalStyles? | conditionalStyleRefs? | factCell? | XMLAttributes? | appCrosstabNodeMemberProperties?)+>
<!ATTLIST crosstabSpacer
	renderFactCells  (true | false) "false"
	repeatEveryPage  (true | false) "false"
	keepWithNext CDATA #IMPLIED
	keepWithPrevious CDATA #IMPLIED
	edgeLocation CDATA #IMPLIED
>
<!ELEMENT drillSimpleType EMPTY>
<!ATTLIST drillSimpleType
	type (preserve | emptySet | replaceItem | replaceExpression) #REQUIRED
>
<!ELEMENT drillChange EMPTY>
<!ATTLIST drillChange
	refDataItem CDATA #REQUIRED
>
<!ELEMENT drillChangeToDepthBasedExpression EMPTY>
<!ATTLIST drillChangeToDepthBasedExpression
	depthOffset CDATA #REQUIRED
>
<!ELEMENT drillAncestor EMPTY>
<!ATTLIST drillAncestor
	depthOffset CDATA #REQUIRED
>
<!ELEMENT tableCells (tableCell+)>
<!ELEMENT customControlCategories (customControlCategoryDataItem+)>
<!ELEMENT customControlFacts (customControlFact+)>
<!ELEMENT customControlDefaultMeasure EMPTY>
<!ATTLIST customControlDefaultMeasure
	refDataItem CDATA #REQUIRED
>
<!ELEMENT vcSlots (vcSlotData+)>
<!ELEMENT lcColumnTitle (lcColumnTitleLabel? | style? | XMLAttributes?)*>
<!ELEMENT lcColumnBody (style? | XMLAttributes?)*>
<!ELEMENT lcGroup (lcGroupHeader? | lcGroupFooter?)*>
<!ATTLIST lcGroup
	summaryMethod (total | minimum | maximum | average | count) "total"
>
<!ELEMENT lcColumnHierarchy (lcColumnLevel+)>
<!ELEMENT keyColumns (keyColumn+)>
<!ELEMENT v2_calculatedSlice (reportExpression)>
<!ELEMENT v2_specialDataPoints (v2_firstPoint? | v2_highestPoint? | v2_lowestPoint? | v2_lastPoint?)*>
<!ELEMENT vizCategoryEdge (vizCategoryLevels | XMLAttributes?)+>
<!ATTLIST vizCategoryEdge
	refEdge CDATA #REQUIRED
>
<!ELEMENT vizValue (vizValueRange? | style? | vizLabel? | XMLAttributes?)*>
<!ATTLIST vizValue
	idField CDATA #REQUIRED
	refDataItem CDATA #REQUIRED
	rollupMethod (total | minimum | maximum | average) "total"
	decimal  (true | false) "false"
>
<!ELEMENT vizHiddenValue (XMLAttributes?)>
<!ATTLIST vizHiddenValue
	refDataItem CDATA #REQUIRED
	decimal  (true | false) "false"
	rollupMethod (total | minimum | maximum | average) "total"
>
<!ELEMENT drillSourceContext (dataItemContext | parameterContext)>
<!ATTLIST drillSourceContext
	propertyToPass (memberUniqueName | memberCaption | parentUniqueName | levelUniqueName | hierarchyUniqueName | dimensionUniqueName | businessKey) #IMPLIED
>
<!ELEMENT drillTargetContext (parameterContext)>
<!ELEMENT mdHierarchy (mdLevel*)>
<!ATTLIST mdHierarchy
	name CDATA #REQUIRED
>
<!ELEMENT appListColumnLevel (reportDrills? | XMLAttributes?)*>
<!ATTLIST appListColumnLevel
	refDataItem CDATA #REQUIRED
>
<!ELEMENT appDrillAppVariableValues EMPTY>
<!ATTLIST appDrillAppVariableValues
	refAppVariable CDATA #REQUIRED
>
<!ELEMENT appDrillStaticValue (#PCDATA)>
<!ATTLIST appDrillStaticValue
	xml:space (default | preserve) "preserve"
>
<!ELEMENT appDrillToAppVariableValues EMPTY>
<!ATTLIST appDrillToAppVariableValues
	refAppVariable CDATA #REQUIRED
>
<!ELEMENT appDrillToStaticValue (#PCDATA)>
<!ATTLIST appDrillToStaticValue
	xml:space (default | preserve) "preserve"
>
<!ELEMENT appDrillToAppVariableRange (appDrillRangeMin | appDrillRangeMax)+>
<!ELEMENT dsV5Edge (dsV5Levels)>
<!ATTLIST dsV5Edge
	name CDATA #REQUIRED
>
<!ELEMENT dsV5Facts (dsV5Fact+)>
<!ELEMENT dsV5DataItem (dataFormat? | XMLAttributes?)*>
<!ATTLIST dsV5DataItem
	refDataItem CDATA #REQUIRED
	dsColumnType (auto | indexed | value) "auto"
	decimal  (true | false) "false"
	outputType (image) #IMPLIED
>
<!ELEMENT dsFilterInValue (#PCDATA)>
<!ATTLIST dsFilterInValue
	xml:space (default | preserve) "preserve"
>
<!ELEMENT indentation EMPTY>
<!ATTLIST indentation
	type (level | relative) #REQUIRED
	outdent  (true | false) "false"
	indentationLength CDATA #REQUIRED
	indentationUnits (px | in | cm | mm | pt | pc | em | ex) "px"
	startLevel CDATA #IMPLIED
>
<!ELEMENT tableCell (contents | style? | conditionalStyles? | conditionalStyleRefs? | XMLAttributes?)+>
<!ATTLIST tableCell
	colSpan CDATA "1"
	tableHeader  (true | false) "false"
>
<!ELEMENT customControlCategoryDataItem (sortList? | style? | XMLAttributes?)*>
<!ATTLIST customControlCategoryDataItem
	refDataItem CDATA #REQUIRED
>
<!ELEMENT customControlFact (style? | XMLAttributes?)*>
<!ATTLIST customControlFact
	refDataItem CDATA #REQUIRED
	decimal  (true | false) "false"
>
<!ELEMENT vcSlotData (vcSlotDsColumns? | vcSlotDomain? | vcSlotLabel? | vcEmptySlotValue? | XMLAttributes?)*>
<!ATTLIST vcSlotData
	geoCode  (true | false) #IMPLIED
	idSlot CDATA #REQUIRED
>
<!ELEMENT lcColumnTitleLabel (defaultText | localizedText?)+>
<!ELEMENT lcGroupHeader (lcSummaryRows | style?)+>
<!ELEMENT lcGroupFooter (lcSummaryRows | style?)+>
<!ELEMENT lcColumnLevel EMPTY>
<!ATTLIST lcColumnLevel
	refDsColumn CDATA #REQUIRED
>
<!ELEMENT keyColumn EMPTY>
<!ATTLIST keyColumn
	refDsColumn CDATA #REQUIRED
>
<!ELEMENT v2_firstPoint (v2_pointPaletteEntry?)>
<!ELEMENT v2_highestPoint (v2_pointPaletteEntry?)>
<!ELEMENT v2_lowestPoint (v2_pointPaletteEntry?)>
<!ELEMENT v2_lastPoint (v2_pointPaletteEntry?)>
<!ELEMENT vizCategoryLevels ((vizCategoryLevel | vizCategoryHiddenLevel)+)>
<!ELEMENT mdLevel EMPTY>
<!ATTLIST mdLevel
	name CDATA #REQUIRED
>
<!ELEMENT appDrillRangeMin EMPTY>
<!ATTLIST appDrillRangeMin
	refAppVariable CDATA #REQUIRED
>
<!ELEMENT appDrillRangeMax EMPTY>
<!ATTLIST appDrillRangeMax
	refAppVariable CDATA #REQUIRED
>
<!ELEMENT dsV5Levels (dsV5Level+)>
<!ELEMENT dsV5Fact (XMLAttributes?)>
<!ATTLIST dsV5Fact
	refDataItem CDATA #REQUIRED
	decimal  (true | false) "false"
>
<!ELEMENT vcSlotDsColumns (vcSlotDsColumn+)>
<!ELEMENT vcSlotDomain (vcDiscreteUsed | vcScalarComputed | vcScalarSpecified)>
<!ELEMENT vcSlotLabel (defaultText | localizedText?)+>
<!ELEMENT vcEmptySlotValue (defaultText | localizedText?)+>
<!ELEMENT vizCategoryLevel (vizCategoryField+)>
<!ELEMENT vizCategoryHiddenLevel (XMLAttributes?)>
<!ATTLIST vizCategoryHiddenLevel
	refDataItem CDATA #REQUIRED
>
<!ELEMENT dsV5Level (dsV5LevelItem+)>
<!ATTLIST dsV5Level
	name CDATA #IMPLIED
>
<!ELEMENT vcSlotDsColumn (vcValueFormat? | XMLAttributes?)*>
<!ATTLIST vcSlotDsColumn
	refDsColumn CDATA #REQUIRED
	rollupMethod (total | minimum | maximum | average) #IMPLIED
	dsSort (ascending | descending) #IMPLIED
>
<!ELEMENT vcDiscreteUsed EMPTY>
<!ELEMENT vcScalarComputed EMPTY>
<!ATTLIST vcScalarComputed
	rangeData (all | allDetails | filtered) #REQUIRED
	rangeIncludesZero  (true | false) "true"
>
<!ELEMENT vcScalarSpecified EMPTY>
<!ATTLIST vcScalarSpecified
	min CDATA #REQUIRED
	max CDATA #REQUIRED
>
<!ELEMENT vizCategoryField (vizCategoryDataItems? | vizLabel? | XMLAttributes? | vizEmptyFieldItemLabel?)*>
<!ATTLIST vizCategoryField
	idField CDATA #REQUIRED
	valueRange (all | filtered) #REQUIRED
>
<!ELEMENT dsV5LevelItem (sortList? | dataFormat? | XMLAttributes?)*>
<!ATTLIST dsV5LevelItem
	refDataItem CDATA #REQUIRED
	outputType (image) #IMPLIED
>
<!ELEMENT vcValueFormat (dataFormat)>
<!ELEMENT vizCategoryDataItems (vizCategoryDataItem+)>
<!ELEMENT vizCategoryDataItem (style? | vizValueStyle? | sortList? | XMLAttributes?)*>
<!ATTLIST vizCategoryDataItem
	refDataItem CDATA #REQUIRED
>
