Report Definition Language XML Schema

A Reporting Services Report Definition Language (RDL) file is validated using an XML Schema Definition (XSD) file. This topic shows the XML schema for RDL.

Note

The RDL XSD is also available in the ReportDefinition.xsd file, located in the Extras folder on the product CD-ROM. It is also available on the report server through the following URL: https://servername/reportserver/reportdefinition.xsd.

<?xml version="1.0" encoding="utf-8" ?>
<xsd:schema targetNamespace="https://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
  xmlns="https://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition"
  elementFormDefault="qualified">
    <xsd:annotation>
        <xsd:documentation>
        
        </xsd:documentation>
    </xsd:annotation>
  <xsd:element name="Report">
    <xsd:complexType>
      <xsd:choice minOccurs="1" maxOccurs="unbounded">
        <xsd:element name="Description" type="xsd:string" minOccurs="0" />
        <xsd:element name="Author" type="xsd:string" minOccurs="0" />
        <xsd:element name="AutoRefresh" type="xsd:unsignedInt" minOccurs="0" />
        <xsd:element name="DataSources" type="DataSourcesType" minOccurs="0" />
        <xsd:element name="DataSets" type="DataSetsType" minOccurs="0" />
        <xsd:element name="Body" type="BodyType" />
        <xsd:element name="ReportParameters" type="ReportParametersType" minOccurs="0" />
        <xsd:element name="Code" type="xsd:string" minOccurs="0" />
        <xsd:element name="Width" type="SizeType" />
        <xsd:element name="PageHeader" type="PageHeaderFooterType" minOccurs="0" />
        <xsd:element name="PageFooter" type="PageHeaderFooterType" minOccurs="0" />
        <xsd:element name="PageHeight" type="SizeType" minOccurs="0" />
        <xsd:element name="PageWidth" type="SizeType" minOccurs="0" />
                <xsd:element name="InteractiveHeight" type="SizeType" minOccurs="0" />
                <xsd:element name="InteractiveWidth" type="SizeType" minOccurs="0" />
                <xsd:element name="LeftMargin" type="SizeType" minOccurs="0" />
        <xsd:element name="RightMargin" type="SizeType" minOccurs="0" />
        <xsd:element name="TopMargin" type="SizeType" minOccurs="0" />
        <xsd:element name="BottomMargin" type="SizeType" minOccurs="0" />
        <xsd:element name="EmbeddedImages" type="EmbeddedImagesType" minOccurs="0" />
        <xsd:element name="Language" type="xsd:string" minOccurs="0" />
        <xsd:element name="CodeModules" type="CodeModulesType" minOccurs="0" />
        <xsd:element name="Classes" type="ClassesType" minOccurs="0" />
        <xsd:element name="CustomProperties" type="CustomPropertiesType" minOccurs="0"/>
        <xsd:element name="DataTransform" type="xsd:string" minOccurs="0"/>
        <xsd:element name="DataSchema" type="xsd:string" minOccurs="0"/>
        <xsd:element name="DataElementName" type="xsd:string" minOccurs="0"/>
        <xsd:element name="DataElementStyle" minOccurs="0">
          <xsd:simpleType>
            <xsd:restriction base="xsd:string">
              <xsd:enumeration value="AttributeNormal" />
              <xsd:enumeration value="ElementNormal" />
            </xsd:restriction>
          </xsd:simpleType>
        </xsd:element>
        <xsd:any namespace="##other" processContents="skip"/>
      </xsd:choice>
      <xsd:anyAttribute namespace="##other" processContents="skip" />
    </xsd:complexType>
  </xsd:element>
  <xsd:complexType name="ReportParametersType">
    <xsd:sequence>
      <xsd:element name="ReportParameter" type="ReportParameterType" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="ReportParameterType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="DataType">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Boolean" />
            <xsd:enumeration value="DateTime" />
            <xsd:enumeration value="Integer" />
            <xsd:enumeration value="Float" />
            <xsd:enumeration value="String" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="Nullable" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="DefaultValue" type="DefaultValueType" minOccurs="0" />
      <xsd:element name="AllowBlank" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="Prompt" type="xsd:string" minOccurs="0" />
      <xsd:element name="ValidValues" type="ValidValuesType" minOccurs="0" />
      <xsd:element name="Hidden" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="MultiValue" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="UsedInQuery" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="False" />
            <xsd:enumeration value="True" />
            <xsd:enumeration value="Auto" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:attribute name="Name" type="xsd:normalizedString" use="required" />
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="ValidValuesType">
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="DataSetReference" type="DataSetReferenceType" minOccurs="0" />
      <xsd:element name="ParameterValues" type="ParameterValuesType" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="DataSetReferenceType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="DataSetName" type="xsd:string" />
      <xsd:element name="ValueField" type="xsd:string" />
      <xsd:element name="LabelField" type="xsd:string" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="ParameterValuesType">
    <xsd:sequence>
      <xsd:element name="ParameterValue" type="ParameterValueType" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="ParameterValueType">
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="Value" type="xsd:string" minOccurs="0" />
      <xsd:element name="Label" type="xsd:string" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="DefaultValueType">
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="DataSetReference" type="DataSetReferenceType" minOccurs="0" />
      <xsd:element name="Values" type="ValuesType" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="ValuesType">
    <xsd:sequence>
      <xsd:element name="Value" type="xsd:string" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="DataSetsType">
    <xsd:sequence>
      <xsd:element name="DataSet" type="DataSetType" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="DataSetType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="Fields" type="FieldsType" minOccurs="0" />
      <xsd:element name="Query" type="QueryType" />
      <xsd:element name="CaseSensitivity" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="True" />
            <xsd:enumeration value="False" />
            <xsd:enumeration value="Auto" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="Collation" type="xsd:string" minOccurs="0" />
      <xsd:element name="AccentSensitivity" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="True" />
            <xsd:enumeration value="False" />
            <xsd:enumeration value="Auto" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="KanatypeSensitivity" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="True" />
            <xsd:enumeration value="False" />
            <xsd:enumeration value="Auto" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="WidthSensitivity" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="True" />
            <xsd:enumeration value="False" />
            <xsd:enumeration value="Auto" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="Filters" type="FiltersType" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:attribute name="Name" type="xsd:normalizedString" use="required" />
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="FieldsType">
    <xsd:sequence>
      <xsd:element name="Field" type="FieldType" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="FieldType">
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="DataField" type="xsd:string" minOccurs="0" />
      <xsd:element name="Value" type="xsd:string" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:attribute name="Name" type="xsd:normalizedString" use="required" />
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="QueryType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="DataSourceName" type="xsd:string" />
      <xsd:element name="CommandType" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Text" />
            <xsd:enumeration value="StoredProcedure" />
            <xsd:enumeration value="TableDirect" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="CommandText" type="xsd:string" />
      <xsd:element name="QueryParameters" type="QueryParametersType" minOccurs="0" />
      <xsd:element name="Timeout" type="xsd:unsignedInt" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="DataSourcesType">
    <xsd:sequence>
      <xsd:element name="DataSource" type="DataSourceType" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="DataSourceType">
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="Transaction" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="ConnectionProperties" type="ConnectionPropertiesType" minOccurs="0" />
      <xsd:element name="DataSourceReference" type="xsd:string" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:attribute name="Name" type="xsd:string" use="required" />
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="ConnectionPropertiesType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="DataProvider" type="xsd:string" />
      <xsd:element name="ConnectString" type="xsd:string" />
      <xsd:element name="IntegratedSecurity" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="Prompt" type="xsd:string" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="QueryParametersType">
    <xsd:sequence>
      <xsd:element name="QueryParameter" type="QueryParameterType" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="QueryParameterType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="Value" type="xsd:string" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:attribute name="Name" type="xsd:string" use="required" />
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="CodeModulesType">
    <xsd:sequence>
      <xsd:element name="CodeModule" type="xsd:string" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="ClassesType">
    <xsd:sequence>
      <xsd:element name="Class" type="ClassType" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="ClassType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="ClassName" type="xsd:string" />
      <xsd:element name="InstanceName" type="xsd:normalizedString" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="BodyType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="ReportItems" type="ReportItemsType" minOccurs="0" />
      <xsd:element name="Height" type="SizeType" />
      <xsd:element name="Columns" type="xsd:unsignedInt" minOccurs="0" />
      <xsd:element name="ColumnSpacing" type="SizeType" minOccurs="0" />
      <xsd:element name="Style" type="StyleType" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="PageHeaderFooterType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="Height" type="SizeType" />
      <xsd:element name="PrintOnFirstPage" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="PrintOnLastPage" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="ReportItems" type="ReportItemsType" minOccurs="0" />
      <xsd:element name="Style" type="StyleType" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="EmbeddedImagesType">
    <xsd:sequence>
      <xsd:element name="EmbeddedImage" type="EmbeddedImageType" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="EmbeddedImageType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="MIMEType" type="xsd:string" />
      <xsd:element name="ImageData" type="xsd:string" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:attribute name="Name" type="xsd:normalizedString" use="required" />
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="ReportItemsType">
    <xsd:choice maxOccurs="unbounded">
      <xsd:element name="Line" type="LineType" />
      <xsd:element name="Rectangle" type="RectangleType" />
      <xsd:element name="Textbox" type="TextboxType" />
      <xsd:element name="Image" type="ImageType" />
      <xsd:element name="Subreport" type="SubreportType" />
      <xsd:element name="List" type="ListType" />
      <xsd:element name="Matrix" type="MatrixType" />
      <xsd:element name="Table" type="TableType" />
      <xsd:element name="Chart" type="ChartType" />
      <xsd:element name="CustomReportItem" type="CustomReportItemType" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="ActionType">
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="Hyperlink" type="xsd:string" minOccurs="0" />
      <xsd:element name="Drillthrough" type="DrillthroughType" minOccurs="0" />
      <xsd:element name="BookmarkLink" type="xsd:string" minOccurs="0" />
      <xsd:element name="Label" type="xsd:string" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="DrillthroughType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="ReportName" type="xsd:string" />
      <xsd:element name="Parameters" type="ParametersType" minOccurs="0" />
      <xsd:element name="BookmarkLink" type="xsd:string" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="VisibilityType">
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="Hidden" type="xsd:string" minOccurs="0" />
      <xsd:element name="ToggleItem" type="xsd:string" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="LineType">
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="Style" type="StyleType" minOccurs="0" />
      <xsd:element name="Action" type="ActionType" minOccurs="0"/>
      <xsd:element name="Top" type="SizeType" minOccurs="0" />
      <xsd:element name="Left" type="SizeType" minOccurs="0" />
      <xsd:element name="Height" type="SizeType" minOccurs="0" />
      <xsd:element name="Width" type="SizeType" minOccurs="0" />
      <xsd:element name="ZIndex" type="xsd:unsignedInt" minOccurs="0" />
      <xsd:element name="Visibility" type="VisibilityType" minOccurs="0" />
      <xsd:element name="ToolTip" type="xsd:string" minOccurs="0"/>
      <xsd:element name="Label" type="xsd:string" minOccurs="0" />
      <xsd:element name="LinkToChild" type="xsd:string" minOccurs="0"/>
      <xsd:element name="Bookmark" type="xsd:string" minOccurs="0" />
      <xsd:element name="RepeatWith" type="xsd:string" minOccurs="0" />
      <xsd:element name="CustomProperties" type="CustomPropertiesType" minOccurs="0"/>
      <xsd:element name="DataElementName" type="xsd:string" minOccurs="0"/>
      <xsd:element name="DataElementOutput" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Output"/>
            <xsd:enumeration value="NoOutput"/>
            <xsd:enumeration value="ContentsOnly"/>
            <xsd:enumeration value="Auto"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:attribute name="Name" type="xsd:normalizedString" use="required" />
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="RectangleType">
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="Style" type="StyleType" minOccurs="0" />
      <xsd:element name="Action" type="ActionType" minOccurs="0"/>
      <xsd:element name="Top" type="SizeType" minOccurs="0" />
      <xsd:element name="Left" type="SizeType" minOccurs="0" />
      <xsd:element name="Height" type="SizeType" minOccurs="0" />
      <xsd:element name="Width" type="SizeType" minOccurs="0" />
      <xsd:element name="ZIndex" type="xsd:unsignedInt" minOccurs="0" />
      <xsd:element name="Visibility" type="VisibilityType" minOccurs="0" />
      <xsd:element name="ToolTip" type="xsd:string" minOccurs="0" />
      <xsd:element name="Label" type="xsd:string" minOccurs="0" />
      <xsd:element name="LinkToChild" type="xsd:string" minOccurs="0" />
      <xsd:element name="Bookmark" type="xsd:string" minOccurs="0" />
      <xsd:element name="RepeatWith" type="xsd:string" minOccurs="0" />
      <xsd:element name="CustomProperties" type="CustomPropertiesType" minOccurs="0"/>
      <xsd:element name="ReportItems" type="ReportItemsType" minOccurs="0" />
      <xsd:element name="PageBreakAtStart" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="PageBreakAtEnd" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="DataElementName" type="xsd:string" minOccurs="0"/>
      <xsd:element name="DataElementOutput" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Output"/>
            <xsd:enumeration value="NoOutput"/>
            <xsd:enumeration value="ContentsOnly"/>
            <xsd:enumeration value="Auto"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:attribute name="Name" type="xsd:normalizedString" use="required" />
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="TextboxType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="Style" type="StyleType" minOccurs="0" />
      <xsd:element name="Action" type="ActionType" minOccurs="0" />
      <xsd:element name="Top" type="SizeType" minOccurs="0" />
      <xsd:element name="Left" type="SizeType" minOccurs="0" />
      <xsd:element name="Height" type="SizeType" minOccurs="0" />
      <xsd:element name="Width" type="SizeType" minOccurs="0" />
      <xsd:element name="ZIndex" type="xsd:unsignedInt" minOccurs="0" />
      <xsd:element name="Visibility" type="VisibilityType" minOccurs="0" />
      <xsd:element name="ToolTip" type="xsd:string" minOccurs="0" />
      <xsd:element name="Label" type="xsd:string" minOccurs="0" />
      <xsd:element name="LinkToChild" type="xsd:string" minOccurs="0"/>
      <xsd:element name="Bookmark" type="xsd:string" minOccurs="0" />
      <xsd:element name="RepeatWith" type="xsd:string" minOccurs="0" />
      <xsd:element name="CustomProperties" type="CustomPropertiesType" minOccurs="0"/>
      <xsd:element name="Value" type="xsd:string" />
      <xsd:element name="CanGrow" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="CanShrink" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="HideDuplicates" type="xsd:string" minOccurs="0" />
      <xsd:element name="ToggleImage" type="ToggleImageType" minOccurs="0" />
      <xsd:element name="UserSort" type="UserSortType" minOccurs="0"/>
      <xsd:element name="DataElementName" type="xsd:string" minOccurs="0"/>
      <xsd:element name="DataElementOutput" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Output"/>
            <xsd:enumeration value="NoOutput"/>
            <xsd:enumeration value="ContentsOnly"/>
            <xsd:enumeration value="Auto"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="DataElementStyle" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Auto" />
            <xsd:enumeration value="AttributeNormal" />
            <xsd:enumeration value="ElementNormal" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>    
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:attribute name="Name" type="xsd:normalizedString" use="required" />
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="ToggleImageType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="InitialState" type="xsd:string" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="ImageType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="Style" type="StyleType" minOccurs="0" />
      <xsd:element name="Action" type="ActionType" minOccurs="0" />
      <xsd:element name="Top" type="SizeType" minOccurs="0" />
      <xsd:element name="Left" type="SizeType" minOccurs="0" />
      <xsd:element name="Height" type="SizeType" minOccurs="0" />
      <xsd:element name="Width" type="SizeType" minOccurs="0" />
      <xsd:element name="ZIndex" type="xsd:unsignedInt" minOccurs="0" />
      <xsd:element name="Visibility" type="VisibilityType" minOccurs="0" />
      <xsd:element name="ToolTip" type="xsd:string" minOccurs="0" />
      <xsd:element name="Label" type="xsd:string" minOccurs="0" />
      <xsd:element name="LinkToChild" type="xsd:string" minOccurs="0"/>
      <xsd:element name="Bookmark" type="xsd:string" minOccurs="0" />
      <xsd:element name="RepeatWith" type="xsd:string" minOccurs="0" />
      <xsd:element name="CustomProperties" type="CustomPropertiesType" minOccurs="0"/>
      <xsd:element name="Source">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="External" />
            <xsd:enumeration value="Embedded" />
            <xsd:enumeration value="Database" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="Value" type="xsd:string" />
      <xsd:element name="MIMEType" type="xsd:string" minOccurs="0" />
      <xsd:element name="Sizing" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="AutoSize" />
            <xsd:enumeration value="Fit" />
            <xsd:enumeration value="FitProportional" />
            <xsd:enumeration value="Clip" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="DataElementName" type="xsd:string" minOccurs="0"/>
      <xsd:element name="DataElementOutput" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Output"/>
            <xsd:enumeration value="NoOutput"/>
            <xsd:enumeration value="ContentsOnly"/>
            <xsd:enumeration value="Auto"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:attribute name="Name" type="xsd:normalizedString" use="required" />
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="SubreportType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="Style" type="StyleType" minOccurs="0" />
      <xsd:element name="Action" type="ActionType" minOccurs="0"/>
      <xsd:element name="Top" type="SizeType" minOccurs="0" />
      <xsd:element name="Left" type="SizeType" minOccurs="0" />
      <xsd:element name="Height" type="SizeType" minOccurs="0" />
      <xsd:element name="Width" type="SizeType" minOccurs="0" />
      <xsd:element name="ZIndex" type="xsd:unsignedInt" minOccurs="0" />
      <xsd:element name="Visibility" type="VisibilityType" minOccurs="0" />
      <xsd:element name="ToolTip" type="xsd:string" minOccurs="0" />
      <xsd:element name="Label" type="xsd:string" minOccurs="0" />
      <xsd:element name="LinkToChild" type="xsd:string" minOccurs="0"/>
      <xsd:element name="Bookmark" type="xsd:string" minOccurs="0" />
      <xsd:element name="RepeatWith" type="xsd:string" minOccurs="0"/>
      <xsd:element name="CustomProperties" type="CustomPropertiesType" minOccurs="0"/>
      <xsd:element name="ReportName" type="xsd:string" />
      <xsd:element name="Parameters" type="ParametersType" minOccurs="0" />
      <xsd:element name="NoRows" type="xsd:string" minOccurs="0" />
      <xsd:element name="MergeTransactions" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="DataElementName" type="xsd:string" minOccurs="0"/>
      <xsd:element name="DataElementOutput" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Output"/>
            <xsd:enumeration value="NoOutput"/>
            <xsd:enumeration value="ContentsOnly"/>
            <xsd:enumeration value="Auto"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:attribute name="Name" type="xsd:normalizedString" use="required" />
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="CustomReportItemType">
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="Type" type="xsd:string" />
      <xsd:element name="Style" type="StyleType" minOccurs="0" />
      <xsd:element name="Top" type="SizeType" minOccurs="0" />
      <xsd:element name="Left" type="SizeType" minOccurs="0" />
      <xsd:element name="Height" type="SizeType" minOccurs="0" />
      <xsd:element name="Width" type="SizeType" minOccurs="0" />
      <xsd:element name="ZIndex" type="xsd:unsignedInt" minOccurs="0" />
      <xsd:element name="Visibility" type="VisibilityType" minOccurs="0" />
      <xsd:element name="Label" type="xsd:string" minOccurs="0" />
      <xsd:element name="Bookmark" type="xsd:string" minOccurs="0" />
      <xsd:element name="RepeatWith" type="xsd:string" minOccurs="0" />
      <xsd:element name="CustomProperties" type="CustomPropertiesType" minOccurs="0"/>
      <xsd:element name="AltReportItem" type="ReportItemsType" minOccurs="0" />
      <xsd:element name="CustomData" type="CustomDataType" minOccurs="0" />
      <xsd:element name="DataElementName" type="xsd:string" minOccurs="0"/>
      <xsd:element name="DataElementOutput" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Output"/>
            <xsd:enumeration value="NoOutput"/>
            <xsd:enumeration value="ContentsOnly"/>
            <xsd:enumeration value="Auto"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:attribute name="Name" type="xsd:normalizedString" use="required" />
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="CustomDataType">
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="DataSetName" type="xsd:string" />
      <xsd:element name="Filters" type="FiltersType" minOccurs="0" />
      <xsd:element name="DataColumnGroupings" type="DataColumnGroupingsType" minOccurs="0" />
      <xsd:element name="DataRowGroupings" type="DataRowGroupingsType" minOccurs="0" />
      <xsd:element name="DataRows" type="DataRowsType" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="DataColumnGroupingsType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="DataGroupings" type="DataGroupingsType" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="DataRowGroupingsType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="DataGroupings" type="DataGroupingsType" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="DataGroupingsType">
    <xsd:sequence>
      <xsd:element name="DataGrouping" type="DataGroupingType" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="DataGroupingType">
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="Static" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="Grouping" type="GroupingType" minOccurs="0" />
      <xsd:element name="Sorting" type="SortingType" minOccurs="0" />
      <xsd:element name="Subtotal" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="CustomProperties" type="CustomPropertiesType" minOccurs="0"/>
      <xsd:element name="DataGroupings" type="DataGroupingsType" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="DataRowsType">
    <xsd:sequence>
      <xsd:element name="DataRow" type="DataRowType" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="DataRowType">
    <xsd:sequence>
      <xsd:element name="DataCell" type="DataCellType" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="DataCellType">
    <xsd:sequence>
      <xsd:element name="DataValue" type="DataValueType" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  
  <xsd:complexType name="ParametersType">
    <xsd:sequence>
      <xsd:element name="Parameter" type="ParameterType" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="ParameterType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="Value" type="xsd:string" />
      <xsd:element name="Omit" type="xsd:string" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:attribute name="Name" type="xsd:string" use="required" />
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="ListType">
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="Style" type="StyleType" minOccurs="0" />
      <xsd:element name="Action" type="ActionType" minOccurs="0"/>
      <xsd:element name="Top" type="SizeType" minOccurs="0" />
      <xsd:element name="Left" type="SizeType" minOccurs="0" />
      <xsd:element name="Height" type="SizeType" minOccurs="0" />
      <xsd:element name="Width" type="SizeType" minOccurs="0" />
      <xsd:element name="ZIndex" type="xsd:unsignedInt" minOccurs="0" />
      <xsd:element name="Visibility" type="VisibilityType" minOccurs="0" />
      <xsd:element name="ToolTip" type="xsd:string" minOccurs="0" />
      <xsd:element name="Label" type="xsd:string" minOccurs="0" />
      <xsd:element name="LinkToChild" type="xsd:string" minOccurs="0"/>
      <xsd:element name="Bookmark" type="xsd:string" minOccurs="0" />
      <xsd:element name="RepeatWith" type="xsd:string" minOccurs="0"/>
      <xsd:element name="CustomProperties" type="CustomPropertiesType" minOccurs="0"/>
      <xsd:element name="KeepTogether" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="NoRows" type="xsd:string" minOccurs="0" />
      <xsd:element name="DataSetName" type="xsd:string" minOccurs="0" />
      <xsd:element name="PageBreakAtStart" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="PageBreakAtEnd" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="Filters" type="FiltersType" minOccurs="0" />
      <xsd:element name="Grouping" type="GroupingType" minOccurs="0" />
      <xsd:element name="Sorting" type="SortingType" minOccurs="0" />
      <xsd:element name="ReportItems" type="ReportItemsType" minOccurs="0" />
      <xsd:element name="FillPage" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="DataInstanceName" type="xsd:string" minOccurs="0"/>
      <xsd:element name="DataInstanceElementOutput" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Output"/>
            <xsd:enumeration value="NoOutput"/>
            <xsd:enumeration value="ContentsOnly"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="DataElementName" type="xsd:string" minOccurs="0"/>
      <xsd:element name="DataElementOutput" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Output"/>
            <xsd:enumeration value="NoOutput"/>
            <xsd:enumeration value="ContentsOnly"/>
            <xsd:enumeration value="Auto"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:attribute name="Name" type="xsd:normalizedString" use="required" />
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="GroupingType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="Label" type="xsd:string" minOccurs="0" />
      <xsd:element name="GroupExpressions" type="GroupExpressionsType" />
      <xsd:element name="PageBreakAtStart" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="PageBreakAtEnd" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="CustomProperties" type="CustomPropertiesType" minOccurs="0"/>
      <xsd:element name="Filters" type="FiltersType" minOccurs="0" />
      <xsd:element name="Parent" type="xsd:string" minOccurs="0" />
      <xsd:element name="DataElementName" type="xsd:string" minOccurs="0"/>
      <xsd:element name="DataCollectionName" type="xsd:string" minOccurs="0"/>
      <xsd:element name="DataElementOutput" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Output"/>
            <xsd:enumeration value="NoOutput"/>
            <xsd:enumeration value="ContentsOnly"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:attribute name="Name" type="xsd:normalizedString" use="required" />
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="GroupExpressionsType">
    <xsd:sequence>
      <xsd:element name="GroupExpression" type="xsd:string" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="SortingType">
    <xsd:sequence>
      <xsd:element name="SortBy" type="SortByType" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="SortByType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="SortExpression" type="xsd:string" />
      <xsd:element name="Direction" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Ascending" />
            <xsd:enumeration value="Descending" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="MatrixType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="Style" type="StyleType" minOccurs="0" />
      <xsd:element name="Action" type="ActionType" minOccurs="0"/>
      <xsd:element name="Top" type="SizeType" minOccurs="0" />
      <xsd:element name="Left" type="SizeType" minOccurs="0" />
      <xsd:element name="Height" type="SizeType" minOccurs="0" />
      <xsd:element name="Width" type="SizeType" minOccurs="0" />
      <xsd:element name="ZIndex" type="xsd:unsignedInt" minOccurs="0" />
      <xsd:element name="Visibility" type="VisibilityType" minOccurs="0" />
      <xsd:element name="ToolTip" type="xsd:string" minOccurs="0" />
      <xsd:element name="Label" type="xsd:string" minOccurs="0" />
      <xsd:element name="LinkToChild" type="xsd:string" minOccurs="0"/>
      <xsd:element name="Bookmark" type="xsd:string" minOccurs="0" />
      <xsd:element name="RepeatWith" type="xsd:string" minOccurs="0"/>
      <xsd:element name="CustomProperties" type="CustomPropertiesType" minOccurs="0"/>
      <xsd:element name="KeepTogether" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="NoRows" type="xsd:string" minOccurs="0" />
      <xsd:element name="DataSetName" type="xsd:string" minOccurs="0" />
      <xsd:element name="PageBreakAtStart" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="PageBreakAtEnd" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="Filters" type="FiltersType" minOccurs="0" />
      <xsd:element name="Corner" type="CornerType" minOccurs="0" />
      <xsd:element name="ColumnGroupings" type="ColumnGroupingsType" />
      <xsd:element name="RowGroupings" type="RowGroupingsType" />
      <xsd:element name="MatrixRows" type="MatrixRowsType" />
      <xsd:element name="MatrixColumns" type="MatrixColumnsType" />
      <xsd:element name="LayoutDirection" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="LTR" />
            <xsd:enumeration value="RTL" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="GroupsBeforeRowHeaders" type="xsd:unsignedInt" minOccurs="0" />
      <xsd:element name="DataElementName" type="xsd:string" minOccurs="0"/>
      <xsd:element name="DataElementOutput" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Output"/>
            <xsd:enumeration value="NoOutput"/>
            <xsd:enumeration value="ContentsOnly"/>
            <xsd:enumeration value="Auto"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="CellDataElementName" type="xsd:string" minOccurs="0"/>
      <xsd:element name="CellDataElementOutput" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Output"/>
            <xsd:enumeration value="NoOutput"/>
            <xsd:enumeration value="ContentsOnly"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:attribute name="Name" type="xsd:normalizedString" use="required" />
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="CornerType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="ReportItems" type="ReportItemsType" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="ColumnGroupingsType">
    <xsd:sequence>
      <xsd:element name="ColumnGrouping" type="ColumnGroupingType" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="ColumnGroupingType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="Height" type="SizeType" />
      <xsd:element name="FixedHeader" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="DynamicColumns" type="DynamicColumnsRowsType" minOccurs="0" />
      <xsd:element name="StaticColumns" type="StaticColumnsType" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="DynamicColumnsRowsType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="Grouping" type="GroupingType" />
      <xsd:element name="Sorting" type="SortingType" minOccurs="0" />
      <xsd:element name="Subtotal" type="SubtotalType" minOccurs="0" />
      <xsd:element name="ReportItems" type="ReportItemsType" />
      <xsd:element name="Visibility" type="VisibilityType" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="StaticColumnsType">
    <xsd:sequence>
      <xsd:element name="StaticColumn" type="StaticColumnType" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="StaticColumnType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="ReportItems" type="ReportItemsType" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="RowGroupingsType">
    <xsd:sequence>
      <xsd:element name="RowGrouping" type="RowGroupingType" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="RowGroupingType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="Width" type="SizeType" />
      <xsd:element name="FixedHeader" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="DynamicRows" type="DynamicColumnsRowsType" minOccurs="0" />
      <xsd:element name="StaticRows" type="StaticRowsType" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="StaticRowsType">
    <xsd:sequence>
      <xsd:element name="StaticRow" type="StaticRowType" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="StaticRowType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="ReportItems" type="ReportItemsType" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="SubtotalType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="ReportItems" type="ReportItemsType" />
      <xsd:element name="Style" type="StyleType" minOccurs="0" />
      <xsd:element name="Position" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Before" />
            <xsd:enumeration value="After" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="DataElementName" type="xsd:string" minOccurs="0"/>
      <xsd:element name="DataElementOutput" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Output"/>
            <xsd:enumeration value="NoOutput"/>
            <xsd:enumeration value="ContentsOnly"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="MatrixColumnsType">
    <xsd:sequence>
      <xsd:element name="MatrixColumn" type="MatrixColumnType" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="MatrixColumnType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="Width" type="SizeType" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="MatrixRowsType">
    <xsd:sequence>
      <xsd:element name="MatrixRow" type="MatrixRowType" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="MatrixRowType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="Height" type="SizeType" />
      <xsd:element name="MatrixCells" type="MatrixCellsType" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="MatrixCellsType">
    <xsd:sequence>
      <xsd:element name="MatrixCell" type="MatrixCellType" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="MatrixCellType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="ReportItems" type="ReportItemsType" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="TableType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="Style" type="StyleType" minOccurs="0" />
      <xsd:element name="Action" type="ActionType" minOccurs="0"/>
      <xsd:element name="Top" type="SizeType" minOccurs="0" />
      <xsd:element name="Left" type="SizeType" minOccurs="0" />
      <xsd:element name="Height" type="SizeType" minOccurs="0" />
      <xsd:element name="Width" type="SizeType" minOccurs="0" />
      <xsd:element name="ZIndex" type="xsd:unsignedInt" minOccurs="0" />
      <xsd:element name="Visibility" type="VisibilityType" minOccurs="0" />
      <xsd:element name="ToolTip" type="xsd:string" minOccurs="0" />
      <xsd:element name="Label" type="xsd:string" minOccurs="0" />
      <xsd:element name="LinkToChild" type="xsd:string" minOccurs="0"/>
      <xsd:element name="Bookmark" type="xsd:string" minOccurs="0" />
      <xsd:element name="RepeatWith" type="xsd:string" minOccurs="0"/>
      <xsd:element name="CustomProperties" type="CustomPropertiesType" minOccurs="0"/>
      <xsd:element name="KeepTogether" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="NoRows" type="xsd:string" minOccurs="0" />
      <xsd:element name="DataSetName" type="xsd:string" minOccurs="0" />
      <xsd:element name="PageBreakAtStart" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="PageBreakAtEnd" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="Filters" type="FiltersType" minOccurs="0" />
      <xsd:element name="TableColumns" type="TableColumnsType" />
      <xsd:element name="Header" type="HeaderType" minOccurs="0" />
      <xsd:element name="TableGroups" type="TableGroupsType" minOccurs="0" />
      <xsd:element name="Details" type="DetailsType" minOccurs="0" />
      <xsd:element name="Footer" type="FooterType" minOccurs="0" />
      <xsd:element name="FillPage" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="DataElementName" type="xsd:string" minOccurs="0"/>
      <xsd:element name="DataElementOutput" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Output"/>
            <xsd:enumeration value="NoOutput"/>
            <xsd:enumeration value="ContentsOnly"/>
            <xsd:enumeration value="Auto"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="DetailDataElementName" type="xsd:string" minOccurs="0"/>
      <xsd:element name="DetailDataCollectionName" type="xsd:string" minOccurs="0"/>
      <xsd:element name="DetailDataElementOutput" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Output"/>
            <xsd:enumeration value="NoOutput"/>
            <xsd:enumeration value="ContentsOnly"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:attribute name="Name" type="xsd:normalizedString" use="required" />
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="TableColumnsType">
    <xsd:sequence>
      <xsd:element name="TableColumn" type="TableColumnType" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="TableColumnType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="Width" type="SizeType" />
      <xsd:element name="Visibility" type="VisibilityType" minOccurs="0" />
      <xsd:element name="FixedHeader" type="xsd:boolean" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="HeaderType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="TableRows" type="TableRowsType" />
      <xsd:element name="FixedHeader" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="RepeatOnNewPage" type="xsd:boolean" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="TableRowsType">
    <xsd:sequence>
      <xsd:element name="TableRow" type="TableRowType" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="TableRowType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="TableCells" type="TableCellsType" />
      <xsd:element name="Height" type="SizeType" />
      <xsd:element name="Visibility" type="VisibilityType" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="FooterType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="TableRows" type="TableRowsType" />
      <xsd:element name="RepeatOnNewPage" type="xsd:boolean" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="TableGroupsType">
    <xsd:sequence>
      <xsd:element name="TableGroup" type="TableGroupType" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="TableGroupType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="Grouping" type="GroupingType" />
      <xsd:element name="Sorting" type="SortingType" minOccurs="0" />
      <xsd:element name="Header" type="HeaderType" minOccurs="0" />
      <xsd:element name="Footer" type="FooterType" minOccurs="0" />
      <xsd:element name="Visibility" type="VisibilityType" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="DetailsType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="TableRows" type="TableRowsType" />
      <xsd:element name="Grouping" type="GroupingType" minOccurs="0" />
      <xsd:element name="Sorting" type="SortingType" minOccurs="0" />
      <xsd:element name="Visibility" type="VisibilityType" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="TableCellsType">
    <xsd:sequence>
      <xsd:element name="TableCell" type="TableCellType" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="TableCellType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="ReportItems" type="ReportItemsType" />
      <xsd:element name="ColSpan" type="xsd:unsignedInt" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="ChartType">
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="Type" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Column" />
            <xsd:enumeration value="Bar" />
            <xsd:enumeration value="Line" />
            <xsd:enumeration value="Pie" />
            <xsd:enumeration value="Scatter" />
            <xsd:enumeration value="Bubble" />
            <xsd:enumeration value="Area" />
            <xsd:enumeration value="Doughnut" />
            <xsd:enumeration value="Stock" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="Subtype" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Stacked" />
            <xsd:enumeration value="PercentStacked" />
            <xsd:enumeration value="Plain" />
            <xsd:enumeration value="Smooth" />
            <xsd:enumeration value="Exploded" />
            <xsd:enumeration value="Line" />
            <xsd:enumeration value="SmoothLine" />
            <xsd:enumeration value="HighLowClose" />
            <xsd:enumeration value="OpenHighLowClose" />
            <xsd:enumeration value="Candlestick" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="Style" type="StyleType" minOccurs="0" />
      <xsd:element name="Action" type="ActionType" minOccurs="0"/>
      <xsd:element name="Top" type="SizeType" minOccurs="0" />
      <xsd:element name="Left" type="SizeType" minOccurs="0" />
      <xsd:element name="Height" type="SizeType" minOccurs="0" />
      <xsd:element name="Width" type="SizeType" minOccurs="0" />
      <xsd:element name="ZIndex" type="xsd:unsignedInt" minOccurs="0" />
      <xsd:element name="Visibility" type="VisibilityType" minOccurs="0" />
      <xsd:element name="ToolTip" type="xsd:string" minOccurs="0" />
      <xsd:element name="Label" type="xsd:string" minOccurs="0" />
      <xsd:element name="LinkToChild" type="xsd:string" minOccurs="0"/>
      <xsd:element name="Bookmark" type="xsd:string" minOccurs="0" />
      <xsd:element name="CustomProperties" type="CustomPropertiesType" minOccurs="0"/>
      <xsd:element name="KeepTogether" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="NoRows" type="xsd:string" minOccurs="0" />
      <xsd:element name="DataSetName" type="xsd:string" minOccurs="0" />
      <xsd:element name="PageBreakAtStart" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="PageBreakAtEnd" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="Filters" type="FiltersType" minOccurs="0" />
      <xsd:element name="SeriesGroupings" type="SeriesGroupingsType" minOccurs="0" />
      <xsd:element name="CategoryGroupings" type="CategoryGroupingsType" minOccurs="0" />
      <xsd:element name="ChartData" type="ChartDataType" minOccurs="0" />
      <xsd:element name="Legend" type="LegendType" minOccurs="0" />
      <xsd:element name="CategoryAxis" type="CategoryAxisType" minOccurs="0" />
      <xsd:element name="ValueAxis" type="ValueAxisType" minOccurs="0" />
      <xsd:element name="Title" type="TitleType" minOccurs="0" />
      <xsd:element name="PointWidth" type="xsd:unsignedInt" minOccurs="0" />
      <xsd:element name="Palette" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Default"/>
            <xsd:enumeration value="EarthTones"/>
            <xsd:enumeration value="Excel"/>
            <xsd:enumeration value="GrayScale"/>
            <xsd:enumeration value="Light"/>
            <xsd:enumeration value="Pastel"/>
            <xsd:enumeration value="SemiTransparent"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="ThreeDProperties" type="ThreeDPropertiesType" minOccurs="0" />
      <xsd:element name="PlotArea" type="PlotAreaType" minOccurs="0" />
      <xsd:element name="DataElementName" type="xsd:string" minOccurs="0"/>
      <xsd:element name="DataElementOutput" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Output"/>
            <xsd:enumeration value="NoOutput"/>
            <xsd:enumeration value="ContentsOnly"/>
            <xsd:enumeration value="Auto"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="ChartElementOutput" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Output"/>
            <xsd:enumeration value="NoOutput"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:attribute name="Name" type="xsd:normalizedString" use="required" />
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="SeriesGroupingsType">
    <xsd:sequence>
      <xsd:element name="SeriesGrouping" type="SeriesGroupingType" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="SeriesGroupingType">
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="DynamicSeries" type="DynamicSeriesType" minOccurs="0" />
      <xsd:element name="StaticSeries" type="StaticSeriesType" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="DynamicSeriesType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="Grouping" type="GroupingType" />
      <xsd:element name="Sorting" type="SortingType" minOccurs="0" />
      <xsd:element name="Label" type="xsd:string" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="StaticSeriesType">
    <xsd:sequence>
      <xsd:element name="StaticMember" type="StaticMemberType" maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="StaticMemberType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="Label" type="xsd:string" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="CategoryGroupingsType">
    <xsd:sequence>
      <xsd:element name="CategoryGrouping" type="CategoryGroupingType" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="CategoryGroupingType">
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="DynamicCategories" type="DynamicCategoriesType" minOccurs="0" />
      <xsd:element name="StaticCategories" type="StaticCategoriesType" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="DynamicCategoriesType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="Grouping" type="GroupingType" />
      <xsd:element name="Sorting" type="SortingType" minOccurs="0" />
      <xsd:element name="Label" type="xsd:string" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="StaticCategoriesType">
    <xsd:sequence>
      <xsd:element name="StaticMember" type="StaticMemberType" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="TitleType">
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="Caption" type="xsd:string" minOccurs="0" />
      <xsd:element name="Style" type="StyleType" minOccurs="0" />
      <xsd:element name="Position" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Center" />
            <xsd:enumeration value="Near" />
            <xsd:enumeration value="Far" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="LegendType">
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="Visible" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="Style" type="StyleType" minOccurs="0" />
      <xsd:element name="Position" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="TopLeft" />
            <xsd:enumeration value="TopCenter" />
            <xsd:enumeration value="TopRight" />
            <xsd:enumeration value="LeftTop" />
            <xsd:enumeration value="LeftCenter" />
            <xsd:enumeration value="LeftBottom" />
            <xsd:enumeration value="RightTop" />
            <xsd:enumeration value="RightCenter" />
            <xsd:enumeration value="RightBottom" />
            <xsd:enumeration value="BottomLeft" />
            <xsd:enumeration value="BottomCenter" />
            <xsd:enumeration value="BottomRight" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="Layout" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Column" />
            <xsd:enumeration value="Row" />
            <xsd:enumeration value="Table" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="InsidePlotArea" type="xsd:boolean" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="CategoryAxisType">
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="Axis" type="AxisType" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="ValueAxisType">
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="Axis" type="AxisType" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="AxisType">
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="Visible" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="Style" type="StyleType" minOccurs="0" />
      <xsd:element name="Title" type="TitleType" minOccurs="0" />
      <xsd:element name="Margin" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="MajorTickMarks" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="None" />
            <xsd:enumeration value="Inside" />
            <xsd:enumeration value="Outside" />
            <xsd:enumeration value="Cross" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>      
      <xsd:element name="MinorTickMarks" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="None" />
            <xsd:enumeration value="Inside" />
            <xsd:enumeration value="Outside" />
            <xsd:enumeration value="Cross" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>      
      <xsd:element name="MajorGridLines" type="MajorGridLinesType" minOccurs="0" />
      <xsd:element name="MinorGridLines" type="MinorGridLinesType" minOccurs="0" />
      <xsd:element name="MajorInterval" type="xsd:string" minOccurs="0" />
      <xsd:element name="MinorInterval" type="xsd:string" minOccurs="0" />
      <xsd:element name="Reverse" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="CrossAt" type="xsd:string" minOccurs="0" />
      <xsd:element name="Interlaced" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="Scalar" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="Min" type="xsd:string" minOccurs="0" />
      <xsd:element name="Max" type="xsd:string" minOccurs="0" />
      <xsd:element name="LogScale" type="xsd:boolean" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="ChartDataType">
    <xsd:sequence>
      <xsd:element name="ChartSeries" type="ChartSeriesType" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="ChartSeriesType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="DataPoints" type="DataPointsType" />
      <xsd:element name="PlotType" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Auto" />
            <xsd:enumeration value="Line" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="DataPointsType">
    <xsd:sequence>
      <xsd:element name="DataPoint" type="DataPointType" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="DataPointType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="DataValues" type="DataValuesType" />
      <xsd:element name="DataLabel" type="DataLabelType" minOccurs="0" />
      <xsd:element name="Action" type="ActionType" minOccurs="0" />
      <xsd:element name="Style" type="StyleType" minOccurs="0" />
      <xsd:element name="Marker" type="MarkerType" minOccurs="0" />
      <xsd:element name="DataElementName" type="xsd:string" minOccurs="0"/>
      <xsd:element name="DataElementOutput" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Output"/>
            <xsd:enumeration value="NoOutput"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="DataValuesType">
    <xsd:sequence>
      <xsd:element name="DataValue" type="DataValueType" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="DataValueType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="Name" type="xsd:string" minOccurs="0"/>
      <xsd:element name="Value" type="xsd:string" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="DataLabelType">
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="Visible" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="Style" type="StyleType" minOccurs="0" />
      <xsd:element name="Value" type="xsd:string" minOccurs="0" />
      <xsd:element name="Position" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Auto" />
            <xsd:enumeration value="Top" />
            <xsd:enumeration value="TopLeft" />
            <xsd:enumeration value="TopRight" />
            <xsd:enumeration value="Left" />
            <xsd:enumeration value="Center" />
            <xsd:enumeration value="Right" />
            <xsd:enumeration value="BottomLeft" />
            <xsd:enumeration value="Bottom" />
            <xsd:enumeration value="BottomRight" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="Rotation" type="xsd:integer" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="MarkerType">
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="Type" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="None" />
            <xsd:enumeration value="Square" />
            <xsd:enumeration value="Circle" />
            <xsd:enumeration value="Diamond" />
            <xsd:enumeration value="Triangle" />
            <xsd:enumeration value="Cross" />
            <xsd:enumeration value="Auto" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="Size" type="SizeType" minOccurs="0" />
      <xsd:element name="Style" type="StyleType" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="ThreeDPropertiesType">
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="Enabled" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="ProjectionMode" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Perspective" />
            <xsd:enumeration value="Orthographic" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="Rotation" type="xsd:integer" minOccurs="0" />
      <xsd:element name="Inclination" type="xsd:integer" minOccurs="0" />
      <xsd:element name="Perspective" type="xsd:unsignedInt" minOccurs="0" />
      <xsd:element name="HeightRatio" type="xsd:unsignedInt" minOccurs="0" />
      <xsd:element name="DepthRatio" type="xsd:unsignedInt" minOccurs="0" />
      <xsd:element name="Shading" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="None" />
            <xsd:enumeration value="Simple" />
            <xsd:enumeration value="Real" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="GapDepth" type="xsd:unsignedInt" minOccurs="0" />
      <xsd:element name="WallThickness" type="xsd:unsignedInt" minOccurs="0" />
      <xsd:element name="DrawingStyle" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Cube" />
            <xsd:enumeration value="Cylinder" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="Clustered" type="xsd:boolean" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="PlotAreaType">
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="Style" type="StyleType" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="MajorGridLinesType">
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="ShowGridLines" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="Style" type="StyleType" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="MinorGridLinesType">
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="ShowGridLines" type="xsd:boolean" minOccurs="0" />
      <xsd:element name="Style" type="StyleType" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="StyleType">
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="BorderColor" type="BorderColorStyleWidthType" minOccurs="0" />
      <xsd:element name="BorderStyle" type="BorderColorStyleWidthType" minOccurs="0" />
      <xsd:element name="BorderWidth" type="BorderColorStyleWidthType" minOccurs="0" />
      <xsd:element name="BackgroundColor" type="xsd:string" minOccurs="0" />
      <xsd:element name="BackgroundGradientType" type="xsd:string" minOccurs="0" />
      <xsd:element name="BackgroundGradientEndColor" type="xsd:string" minOccurs="0" />
      <xsd:element name="BackgroundImage" type="BackgroundImageType" minOccurs="0" />
      <xsd:element name="FontStyle" type="xsd:string" minOccurs="0" />
      <xsd:element name="FontFamily" type="xsd:string" minOccurs="0" />
      <xsd:element name="FontSize" type="xsd:string" minOccurs="0" />
      <xsd:element name="FontWeight" type="xsd:string" minOccurs="0" />
      <xsd:element name="Format" type="xsd:string" minOccurs="0" />
      <xsd:element name="TextDecoration" type="xsd:string" minOccurs="0" />
      <xsd:element name="TextAlign" type="xsd:string" minOccurs="0" />
      <xsd:element name="VerticalAlign" type="xsd:string" minOccurs="0" />
      <xsd:element name="Color" type="xsd:string" minOccurs="0" />
      <xsd:element name="PaddingLeft" type="xsd:string" minOccurs="0" />
      <xsd:element name="PaddingRight" type="xsd:string" minOccurs="0" />
      <xsd:element name="PaddingTop" type="xsd:string" minOccurs="0" />
      <xsd:element name="PaddingBottom" type="xsd:string" minOccurs="0" />
      <xsd:element name="LineHeight" type="xsd:string" minOccurs="0" />
      <xsd:element name="Direction" type="xsd:string" minOccurs="0" />
      <xsd:element name="WritingMode" type="xsd:string" minOccurs="0" />
      <xsd:element name="Language" type="xsd:string" minOccurs="0" />
      <xsd:element name="UnicodeBiDi" type="xsd:string" minOccurs="0" />
      <xsd:element name="Calendar" type="xsd:string" minOccurs="0" />
      <xsd:element name="NumeralLanguage" type="xsd:string" minOccurs="0" />
      <xsd:element name="NumeralVariant" type="xsd:string" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="BorderColorStyleWidthType">
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="Default" type="xsd:string" minOccurs="0" />
      <xsd:element name="Left" type="xsd:string" minOccurs="0" />
      <xsd:element name="Right" type="xsd:string" minOccurs="0" />
      <xsd:element name="Top" type="xsd:string" minOccurs="0" />
      <xsd:element name="Bottom" type="xsd:string" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="BackgroundImageType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="Source">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="External" />
            <xsd:enumeration value="Embedded" />
            <xsd:enumeration value="Database" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="Value" type="xsd:string" />
      <xsd:element name="MIMEType" type="xsd:string" minOccurs="0" />
      <xsd:element name="BackgroundRepeat" type="xsd:string" minOccurs="0" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="FiltersType">
    <xsd:sequence>
      <xsd:element name="Filter" type="FilterType" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="FilterType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="FilterExpression" type="xsd:string" />
      <xsd:element name="Operator">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Equal" />
            <xsd:enumeration value="Like" />
            <xsd:enumeration value="NotEqual" />
            <xsd:enumeration value="GreaterThan" />
            <xsd:enumeration value="GreaterThanOrEqual" />
            <xsd:enumeration value="LessThan" />
            <xsd:enumeration value="LessThanOrEqual" />
            <xsd:enumeration value="TopN" />
            <xsd:enumeration value="BottomN" />
            <xsd:enumeration value="TopPercent" />
            <xsd:enumeration value="BottomPercent" />
            <xsd:enumeration value="In" />
            <xsd:enumeration value="Between" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="FilterValues" type="FilterValuesType" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="FilterValuesType">
    <xsd:sequence>
      <xsd:element name="FilterValue" type="xsd:string" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
    <xsd:complexType name="UserSortType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="SortExpression" type="xsd:string" />
      <xsd:element name="SortExpressionScope" type="xsd:string" minOccurs="0"/>
      <xsd:element name="SortTarget" type="xsd:string" minOccurs="0"/>
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:simpleType name="SizeType">
    <xsd:restriction base="xsd:normalizedString">
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:complexType name="CustomPropertiesType">
    <xsd:sequence>
      <xsd:element name="CustomProperty" type="CustomPropertyType" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
  <xsd:complexType name="CustomPropertyType">
    <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="Name" type="xsd:string" minOccurs="0"/>
      <xsd:element name="Value" type="xsd:string" />
      <xsd:any namespace="##other" processContents="skip"/>      
    </xsd:choice>
    <xsd:anyAttribute namespace="##other" processContents="skip" />
  </xsd:complexType>
</xsd:schema>

See Also

Other Resources

Report Definition Language

Help and Information

Getting SQL Server 2005 Assistance