5.1.1 RDL Report State Schema for Version 2011/01
-
<?xml version="1.0" encoding="utf-8"?> <!-- Copyright (c) Microsoft Corporation. All rights reserved. --> <xs:schema targetNamespace="http://schemas.microsoft.com/sqlserver/reporting/2011/01/reportstate" elementFormDefault="qualified" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2011/01/reportstate" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:rs2012="http://schemas.microsoft.com/sqlserver/reporting/2012/01/reportstate" xmlns:rs2013="http://schemas.microsoft.com/sqlserver/reporting/2013/01/reportstate" version="1.0"> <xs:import namespace="http://schemas.microsoft.com/sqlserver/reporting/2012/01/reportstate" /> <xs:import namespace="http://schemas.microsoft.com/sqlserver/reporting/2013/01/reportstate" /> <xs:element name="ReportState"> <xs:complexType> <xs:sequence> <xs:element name="FilterAreaVisibility" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Collapsed"/> <xs:enumeration value="Expanded"/> <xs:enumeration value="Hidden"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Theme" minOccurs="0"/> <xs:element name="ReportSections" minOccurs="0" type="ReportSectionsType" /> <xs:element ref="rs2013:ReportFilters" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:complexType name="ReportSectionsType"> <xs:sequence> <xs:element name="ReportSection" type="ReportSectionType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="ReportSectionType"> <xs:sequence> <xs:element name="SectionFilters" type="SectionFiltersType" minOccurs="0" /> <xs:element name="ReportItems" type="ReportItemsType" minOccurs="0" /> </xs:sequence> </xs:complexType> <xs:complexType name="SectionFiltersType"> <xs:sequence> <xs:element name="Filters" type="FiltersType" /> </xs:sequence> </xs:complexType> <xs:complexType name="FiltersType"> <xs:sequence> <xs:element name="Filter" type="FilterType" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> <xs:complexType name="FilterType"> <xs:sequence> <xs:choice> <xs:element name="Mode"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Advanced" /> <xs:enumeration value="Basic" /> <xs:enumeration value="Cleared" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element ref="rs2012:Mode" /> </xs:choice> <xs:element name="IsMeasure" minOccurs="0" /> <xs:element ref="rs2012:IsDrilldownFilter" minOccurs="0" /> <xs:element name="Operand"> <xs:complexType> <xs:sequence> <xs:element name="QueryExpression" type="QueryExpression"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Condition" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="CompoundFilterCondition" type="CompoundFilterCondition"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="Type" type="PrimitiveType" /> </xs:complexType> <xs:simpleType name="PrimitiveType"> <xs:restriction base="xs:string"> <xs:enumeration value="Boolean" /> <xs:enumeration value="Byte" /> <xs:enumeration value="DateTime" /> <xs:enumeration value="Decimal" /> <xs:enumeration value="Double" /> <xs:enumeration value="Guid" /> <xs:enumeration value="Single" /> <xs:enumeration value="SByte" /> <xs:enumeration value="Int16" /> <xs:enumeration value="Int32" /> <xs:enumeration value="Int64" /> <xs:enumeration value="String" /> <xs:enumeration value="Time" /> </xs:restriction> </xs:simpleType> <xs:complexType name="FilterCondition" abstract="true" /> <xs:complexType name="SimpleFilterCondition"> <xs:complexContent> <xs:extension base="FilterCondition"> <xs:sequence> <xs:element name="LeftExpression" type="QueryExpression" /> <xs:element name="Not" type="xs:boolean" minOccurs="0" /> <xs:element name="Operator"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Equal" /> <xs:enumeration value="GreaterThan" /> <xs:enumeration value="GreaterThanOrEqual" /> <xs:enumeration value="LessThanOrEqual" /> <xs:enumeration value="LessThan" /> <xs:enumeration value="Contains" /> <xs:enumeration value="StartsWith" /> <xs:enumeration value="DateTimeEqualToSecond" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="RightExpression" type="QueryExpression" minOccurs="0" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="CompoundFilterCondition"> <xs:complexContent> <xs:extension base="FilterCondition"> <xs:sequence> <xs:element name="Conditions" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="FilterCondition" type="FilterCondition" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Operator" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="All" /> <xs:enumeration value="Any" /> <xs:enumeration value="NotAll" /> <xs:enumeration value="NotAny" /> </xs:restriction> </xs:simpleType> </xs:element> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="ReportItemsType"> <xs:sequence> <xs:element name="DataRegion" type="DataRegionType" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> <xs:complexType name="DataRegionType"> <xs:sequence> <xs:element name="Filters"> <xs:complexType> <xs:sequence> <xs:element name="Filters" type="FiltersType" /> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="Name" type="xs:string" /> </xs:complexType> <xs:complexType name="TypeUsage"> <xs:sequence> <xs:element name="PrimitiveType" type="PrimitiveType" /> </xs:sequence> </xs:complexType> <xs:complexType name="QueryExpressionBinding"> <xs:sequence> <xs:element name="Expression" type="QueryExpression"/> <xs:element name="VariableName" type="xs:string" /> </xs:sequence> </xs:complexType> <xs:complexType name="QueryExpressionList"> <xs:sequence minOccurs="0" maxOccurs="unbounded"> <xs:element name="QueryExpression" type="QueryExpression"/> </xs:sequence> </xs:complexType> <xs:complexType name="QueryExpression" abstract="true" /> <xs:complexType name="QueryCalculateExpression"> <xs:complexContent> <xs:extension base="QueryExpression"> <xs:sequence> <xs:element name="Argument" type="QueryExpression" /> <xs:element name="Filters" type="QueryExpressionList" minOccurs="0" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="QueryFieldExpression"> <xs:complexContent> <xs:extension base="QueryExpression"> <xs:sequence> <xs:element name="Field" type="xs:string" /> <xs:element name="Instance" type="QueryExpression" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="QueryFunctionExpression"> <xs:complexContent> <xs:extension base="QueryExpression"> <xs:sequence> <xs:element name="FunctionName"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Core.Sum" /> <xs:enumeration value="Core.Count" /> <xs:enumeration value="Core.DistinctCount" /> <xs:enumeration value="Core.Average" /> <xs:enumeration value="Core.Min" /> <xs:enumeration value="Core.Max" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Arguments" type="QueryExpressionList" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="QueryLiteralExpression"> <xs:complexContent> <xs:extension base="QueryExpression"> <xs:sequence> <xs:element name="Value" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="QueryMeasureExpression"> <xs:complexContent> <xs:extension base="QueryExpression"> <xs:sequence> <xs:element name="Measure" type="xs:string" /> <xs:element name="Target" type="xs:string" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="QueryNullExpression"> <xs:complexContent> <xs:extension base="QueryExpression"> <xs:sequence> <xs:element name="Type" type="TypeUsage" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="QueryProjectExpression"> <xs:complexContent> <xs:extension base="QueryExpression"> <xs:sequence> <xs:element name="Input" type="QueryExpressionBinding" /> <xs:element name="Projection" type="QueryExpression" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="QueryScanExpression"> <xs:complexContent> <xs:extension base="QueryExpression"> <xs:sequence> <xs:element name="Target" type="xs:string" /> <xs:element name="ExcludeBlankRow" type="xs:boolean" minOccurs="0" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="QueryVariableReferenceExpression"> <xs:complexContent> <xs:extension base="QueryExpression"> <xs:sequence> <xs:element name="VariableName" type="xs:string" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="QdmEntityPlaceholderExpression"> <xs:complexContent> <xs:extension base="QueryExpression"> <xs:sequence> <xs:element name="Target" type="xs:string" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:element name="ReportSlicerState"> <xs:complexType> <xs:sequence> <xs:element name="CompoundFilterCondition" type="CompoundFilterCondition"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>