<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy v4.3 U (http://www.xmlspy.com) (Oracle Corp) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:complexType name="BaseObject" abstract="true">
		<xs:sequence>
			<xs:element name="Owner" type="XMLIDref" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="Name" type="xs:string" use="required"/>
		<xs:attribute name="Id" type="xs:string" use="required"/>
		<xs:attribute name="LongName" type="xs:string" use="optional"/>
		<xs:attribute name="ShortName" type="xs:string" use="optional"/>
		<xs:attribute name="PluralName" type="xs:string" use="optional"/>
		<xs:attribute name="Schema" type="xs:string" use="optional"/>
	</xs:complexType>
	<xs:complexType name="AWObject" abstract="true">
		<xs:complexContent>
			<xs:extension base="BaseObject">
				<xs:sequence>
					<xs:choice>
						<xs:element name="Attribute" type="Attribute" minOccurs="0" maxOccurs="unbounded"/>
						<xs:element name="AttributeProjection" type="AttributeProjection" minOccurs="0" maxOccurs="unbounded"/>
					</xs:choice>
					<xs:element name="SourceMappingGroup" type="SourceMapGroupGroup" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="RefreshMappingGroup" type="RefreshMapGroupGroup" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Attribute">
		<xs:complexContent>
			<xs:extension base="BaseObject">
				<xs:sequence>
					<xs:element name="DimensionDomain" type="XMLIDref" minOccurs="0"/>
				</xs:sequence>
				<xs:attribute name="Classification" type="xs:string" use="required"/>
				<xs:attribute name="InstallAsRelation" type="xs:boolean" use="optional"/>
				<xs:attribute name="DataType" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="MappingGroup">
		<xs:complexContent>
			<xs:extension base="BaseObject"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="DimensionMapGroup">
		<xs:complexContent>
			<xs:extension base="MappingGroup">
				<xs:sequence>
					<xs:element name="DimensionKeySourceExpression" type="DimensionKeySourceExpression"/>
					<xs:element name="HierarchialParentSourceExpression" type="HierarchialParentSourceExpression" minOccurs="0"/>
					<xs:element name="AttributeSourceExpression" type="AttributeSourceExpression" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CubeMapGroup">
		<xs:complexContent>
			<xs:extension base="MappingGroup">
				<xs:sequence>
					<xs:element name="CubeDimensionSourceExpression" type="CubeDimensionSourceExpression" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="MeasureSourceExpression" type="MeasureSourceExpression" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ExternalSourceExpression">
		<xs:complexContent>
			<xs:extension base="BaseObject">
				<xs:sequence>
					<xs:element name="SourceColumn" type="SourceColumn" maxOccurs="unbounded"/>
					<xs:element name="TargetObject" type="XMLIDref" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="RestrictedSourceExpression">
		<xs:complexContent>
			<xs:extension base="ExternalSourceExpression">
				<xs:sequence>
					<xs:element name="WhereClause" type="WhereClause" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="AttributeProjection">
		<xs:complexContent>
			<xs:extension base="Attribute">
				<xs:sequence>
					<xs:element name="Attribute" type="XMLIDref"/>
					<xs:element name="Level" type="XMLIDref" minOccurs="0"/>
					<xs:element name="Hierarchy" type="XMLIDref" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="MemberSelection">
		<xs:complexContent>
			<xs:extension base="AWObject">
				<xs:attribute name="isDimensioned" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Dimension">
		<xs:complexContent>
			<xs:extension base="AWObject">
				<xs:sequence>
					<xs:element name="Hierarchy" type="Hierarchy" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="MemberSelection" type="MemberSelectionGroup" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Member" type="CalculatedMember" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
				<xs:attribute name="UseNativeKey" type="xs:boolean" use="optional"/>
				<xs:attribute name="isTime" type="xs:boolean" use="required"/>
				<xs:attribute name="isMeasure" type="xs:boolean" use="required"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Cube">
		<xs:complexContent>
			<xs:extension base="AWObject">
				<xs:sequence>
					<xs:element name="DefaultAggregationDefinition" type="XMLIDref" minOccurs="0"/>
					<xs:element name="CubeDimRef" type="CubeDimRef" maxOccurs="unbounded"/>
					<xs:element name="Measure" type="Measure" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="DerivedMeasure" type="DerivedMeasure" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="OlapMeasure" type="OlapMeasure" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="PartitionHierarchy" type="XMLIDref" minOccurs="0"/>
					<xs:element name="PartitionLevel" type="XMLIDref" minOccurs="0"/>
				</xs:sequence>
				<xs:attribute name="UseGlobalIndex" type="xs:boolean" use="optional"/>
				<xs:attribute name="SparseType" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Level">
		<xs:complexContent>
			<xs:extension base="MemberSelection"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Hierarchy">
		<xs:complexContent>
			<xs:extension base="AWObject">
				<xs:sequence>
					<xs:element name="HierarchyLevelAssociation" type="HierarchyLevelAssociation" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="DefaultOrder" type="Attribute" minOccurs="0"/>
				</xs:sequence>
				<xs:attribute name="isDefault" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="HierarchyLevelAssociation">
		<xs:complexContent>
			<xs:extension base="AWObject">
				<xs:sequence>
					<xs:element name="level" type="XMLIDref"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Measure">
		<xs:complexContent>
			<xs:extension base="BaseObject">
				<xs:sequence>
					<xs:element name="solveDefinition" type="XMLIDref" minOccurs="0"/>
					<xs:element name="SourceMeasure" type="XMLIDref" minOccurs="0"/>
					<xs:element name="CubeDimRef" type="CubeDimRef" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="PartitionHierarchy" type="XMLIDref" minOccurs="0"/>
					<xs:element name="PartitionLevel" type="XMLIDref" minOccurs="0"/>
				</xs:sequence>
				<xs:attribute name="isInternal" type="xs:boolean" use="required"/>
				<xs:attribute name="derivation" type="xs:string" use="optional"/>
				<xs:attribute name="DataType" type="xs:string" use="optional"/>
				<xs:attribute name="UseGlobalIndex" type="xs:boolean" use="optional"/>
				<xs:attribute name="ForceCalc" type="xs:boolean" use="optional"/>
				<xs:attribute name="ForceOrder" type="xs:boolean" use="optional"/>
				<xs:attribute name="SparseType" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="DerivedMeasure">
		<xs:complexContent>
			<xs:extension base="Measure">
				<xs:sequence>
					<xs:element name="Operator" type="Operator" minOccurs="0"/>
				</xs:sequence>
				<xs:attribute name="ExpressionText" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CubeDimRef">
		<xs:complexContent>
			<xs:extension base="BaseObject">
				<xs:sequence>
					<xs:element name="Dimension" type="XMLIDref"/>
				</xs:sequence>
				<xs:attribute name="Sparse" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SolveDefinition">
		<xs:complexContent>
			<xs:extension base="BaseObject"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="AggregationDefinition">
		<xs:complexContent>
			<xs:extension base="SolveDefinition">
				<xs:sequence>
					<xs:element name="CalculationSpecification" type="CalculationSpecificationGroup" maxOccurs="unbounded"/>
					<xs:element name="SolveDefDimRef" type="SolveDefDimRef" maxOccurs="unbounded"/>
				</xs:sequence>
				<xs:attribute name="AggIndex" type="xs:string" use="optional"/>
				<xs:attribute name="CacheStore" type="xs:string" use="optional"/>
				<xs:attribute name="CacheNa" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Operator">
		<xs:complexContent>
			<xs:extension base="BaseObject">
				<xs:sequence>
					<xs:element name="DerivedMeasureInput" type="XMLIDref" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Operator" type="Operator" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
				<xs:attribute name="OpCode" type="xs:string" use="required"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SolveDefDimRef">
		<xs:complexContent>
			<xs:extension base="BaseObject">
				<xs:sequence>
					<xs:element name="Dimension" type="XMLIDref"/>
					<xs:element name="SolveDefinition" type="XMLIDref"/>
				</xs:sequence>
				<xs:attribute name="CalcMemberSolveOrder" type="xs:string" use="required"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="OlapMeasure">
		<xs:complexContent>
			<xs:extension base="Measure">
				<xs:sequence>
					<xs:element name="OlapMeasureInput" type="OlapMeasureInput" maxOccurs="unbounded"/>
				</xs:sequence>
				<xs:attribute name="OlapOperator" type="xs:string" use="required"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="OlapMeasureInput">
		<xs:complexContent>
			<xs:extension base="BaseObject">
				<xs:sequence>
					<xs:element name="BaseObject" minOccurs="0">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="ReferencedObj" type="XMLIDref"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
				<xs:attribute name="KeyWord" type="xs:string" use="required"/>
				<xs:attribute name="ScalarValue" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CalculatedMember">
		<xs:complexContent>
			<xs:extension base="BaseObject">
				<xs:attribute name="ExpressionText" type="xs:string" use="required"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ForecastDefinition">
		<xs:complexContent>
			<xs:extension base="SolveDefinition">
				<xs:sequence>
					<xs:element name="timeDimension" type="XMLIDref"/>
					<xs:element name="SeasonalTarget" type="XMLIDref" minOccurs="0"/>
					<xs:element name="SemiSeasonalTarget" type="XMLIDref" minOccurs="0"/>
					<xs:element name="ForecastArgument" type="ForecastArgument" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ForecastArgument">
		<xs:complexContent>
			<xs:extension base="BaseObject">
				<xs:sequence>
					<xs:element name="ForecastArgumentValue" type="ForecastArgumentValue" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
				<xs:attribute name="ForecastKeyWord" type="xs:string" use="required"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ForecastArgumentValue">
		<xs:complexContent>
			<xs:extension base="BaseObject">
				<xs:attribute name="keyWord" type="xs:string" use="optional"/>
				<xs:attribute name="value" type="xs:string" use="required"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="AllocationDefinition">
		<xs:complexContent>
			<xs:extension base="SolveDefinition">
				<xs:sequence>
					<xs:element name="Allocation" type="AllocationGroup" maxOccurs="unbounded"/>
				</xs:sequence>
				<xs:attribute name="SourceVal" type="xs:string" use="optional"/>
				<xs:attribute name="ChildLock" type="xs:string" use="optional"/>
				<xs:attribute name="DeadLock" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Allocation">
		<xs:complexContent>
			<xs:extension base="BaseObject">
				<xs:sequence>
					<xs:element name="AllocationOperator" type="AllocationOperator"/>
					<xs:element name="AllocationArgument" type="AllocationArgument" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
				<xs:attribute name="NaOperator" type="xs:string" use="optional"/>
				<xs:attribute name="RemOperator" type="xs:string" use="optional"/>
				<xs:attribute name="CalculationOrder" type="xs:int" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="AllocationOperator">
		<xs:complexContent>
			<xs:extension base="BaseObject">
				<xs:sequence>
					<xs:element name="OperatorType" type="OperatorType"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="AllocateMemberSelectionSpecification">
		<xs:complexContent>
			<xs:extension base="Allocation">
				<xs:sequence>
					<xs:element name="MemberSelection" type="XMLIDref" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="AllocationHierarchySpecification">
		<xs:complexContent>
			<xs:extension base="Allocation">
				<xs:sequence>
					<xs:element name="Hierarchy" type="XMLIDref" minOccurs="0"/>
					<xs:element name="Dimension" type="XMLIDref" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="AllocationArgument">
		<xs:complexContent>
			<xs:extension base="BaseObject">
				<xs:sequence>
					<xs:element name="Parameter" type="Parameter" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Parameter">
		<xs:complexContent>
			<xs:extension base="BaseObject">
				<xs:attribute name="keyWord" type="xs:string" use="required"/>
				<xs:attribute name="value" type="xs:string" use="required"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CalculationSpecification">
		<xs:complexContent>
			<xs:extension base="BaseObject">
				<xs:attribute name="CalculationOrder" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ModelRef">
		<xs:complexContent>
			<xs:extension base="CalculationSpecification">
				<xs:sequence>
					<xs:element name="Model" type="XMLIDref"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Model">
		<xs:complexContent>
			<xs:extension base="BaseObject">
				<xs:sequence>
					<xs:element name="Dimension" type="XMLIDref"/>
					<xs:element name="CalculatedMemberRef" type="CalculatedMemberRef" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
				<xs:attribute name="contents" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Aggregation">
		<xs:complexContent>
			<xs:extension base="CalculationSpecification">
				<xs:sequence>
					<xs:element name="AggregationOperator" type="AggregationOperationGroup" minOccurs="0"/>
					<xs:element name="AggregationArgument" type="AggregationArgumentGroup" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="AggregationOperator">
		<xs:complexContent>
			<xs:extension base="BaseObject"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="UserDefinedOperator">
		<xs:complexContent>
			<xs:extension base="AggregationOperator">
				<xs:attribute name="databaseName" type="xs:string" use="required"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="BaseOperator">
		<xs:complexContent>
			<xs:extension base="AggregationOperator">
				<xs:attribute name="opcode" type="xs:string" use="required"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="AggregationArgument">
		<xs:complexContent>
			<xs:extension base="BaseObject"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ConfigurationParameters">
		<xs:complexContent>
			<xs:extension base="AggregationArgument">
				<xs:sequence>
					<xs:element name="Parameters" type="Parameter" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="UserDefinedArgument">
		<xs:complexContent>
			<xs:extension base="AggregationArgument">
				<xs:attribute name="databaseName" type="xs:string" use="required"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="LoaderSpec">
		<xs:complexContent>
			<xs:extension base="Aggregation">
				<xs:sequence>
					<xs:element name="LoaderSource" type="LoaderSourceGroup"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="LoaderSource">
		<xs:complexContent>
			<xs:extension base="BaseObject"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="MemberSelectionRef">
		<xs:complexContent>
			<xs:extension base="LoaderSource">
				<xs:sequence>
					<xs:element name="MemberSelection" type="XMLIDref"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="AttributeRef">
		<xs:complexContent>
			<xs:extension base="LoaderSource">
				<xs:sequence>
					<xs:element name="Attribute" type="XMLIDref"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="AggregationHierarchySpecification">
		<xs:complexContent>
			<xs:extension base="Aggregation">
				<xs:sequence>
					<xs:element name="Hierarchy" type="XMLIDref" minOccurs="0"/>
					<xs:element name="Dimension" type="XMLIDref" minOccurs="0"/>
					<xs:element name="PreComputeClause" type="PreComputeClause" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PreComputeClause">
		<xs:complexContent>
			<xs:extension base="BaseObject">
				<xs:sequence>
					<xs:element name="DimensionMemberExpression" type="DimensionMemberExpression" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="DimensionMemberExpression">
		<xs:complexContent>
			<xs:extension base="BaseObject">
				<xs:sequence>
					<xs:element name="Level" type="XMLIDref" minOccurs="0"/>
				</xs:sequence>
				<xs:attribute name="ExpressionType" type="xs:string" use="required"/>
				<xs:attribute name="Expression" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Solve">
		<xs:complexContent>
			<xs:extension base="BaseObject">
				<xs:sequence>
					<xs:element name="DimensionMemberSelection" type="DimensionMemberSelection" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
				<xs:attribute name="SolveOrder" type="xs:string" use="required"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="AggregationSolve">
		<xs:complexContent>
			<xs:extension base="Solve">
				<xs:sequence>
					<xs:element name="Source" type="XMLIDref" minOccurs="0"/>
					<xs:element name="Target" type="XMLIDref" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="AggregationDefinition" type="XMLIDref"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="AllocationSolve">
		<xs:complexContent>
			<xs:extension base="Solve">
				<xs:sequence>
					<xs:element name="AllocationDefinition" type="XMLIDref"/>
					<xs:element name="Source" type="XMLIDref" minOccurs="0"/>
					<xs:element name="Target" type="XMLIDref" minOccurs="0"/>
					<xs:element name="Base" type="XMLIDref" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ForecastSolve">
		<xs:complexContent>
			<xs:extension base="Solve">
				<xs:sequence>
					<xs:element name="Source" type="XMLIDref" minOccurs="0"/>
					<xs:element name="Target" type="XMLIDref" minOccurs="0"/>
					<xs:element name="ForecastDefinition" type="XMLIDref"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="HierarchialParentSourceExpression">
		<xs:complexContent>
			<xs:extension base="ExternalSourceExpression">
				<xs:sequence>
					<xs:element name="Level" type="XMLIDref" minOccurs="0"/>
					<xs:element name="Hierarchy" type="XMLIDref"/>
				</xs:sequence>
				<xs:attribute name="ParentLevelCol" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="AttributeSourceExpression">
		<xs:complexContent>
			<xs:extension base="ExternalSourceExpression">
				<xs:sequence>
					<xs:element name="Level" type="XMLIDref" minOccurs="0"/>
					<xs:element name="Hierarchy" type="XMLIDref" minOccurs="0"/>
					<xs:element name="BaseAttribute" type="XMLIDref"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="DimensionKeySourceExpression">
		<xs:complexContent>
			<xs:extension base="RestrictedSourceExpression">
				<xs:sequence>
					<xs:element name="Level" type="XMLIDref" minOccurs="0"/>
					<xs:element name="Hierarchy" type="XMLIDref" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CubeDimensionSourceExpression">
		<xs:complexContent>
			<xs:extension base="RestrictedSourceExpression">
				<xs:sequence>
					<xs:element name="Level" type="XMLIDref"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="MeasureSourceExpression">
		<xs:complexContent>
			<xs:extension base="RestrictedSourceExpression"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="WhereClause">
		<xs:complexContent>
			<xs:extension base="BaseObject">
				<xs:attribute name="WhereClause" type="xs:string" use="required"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SourceColumn">
		<xs:complexContent>
			<xs:extension base="BaseObject">
				<xs:attribute name="Column" type="xs:string" use="required"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CalculatedMemberRef">
		<xs:complexContent>
			<xs:extension base="BaseObject">
				<xs:sequence>
					<xs:element name="CalculatedMember" type="XMLIDref"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="AW">
		<xs:complexContent>
			<xs:extension base="BaseObject">
				<xs:sequence>
					<xs:element name="Dimension" type="Dimension" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="SolveDefinition" type="SolveDefinitionGroup" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Cube" type="Cube" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Solve" type="SolveGroup" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Model" type="Model" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="AWXML">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="AWXML.content">
					<xs:complexType>
						<xs:sequence>
							<xs:group ref="AWAction" maxOccurs="unbounded"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="version" type="xs:string" use="optional"/>
			<xs:attribute name="timestamp" type="xs:string" use="optional"/>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="AWAction">
		<xs:sequence>
			<xs:element name="ActiveObject" type="ActiveObjectGroup" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="Id" type="xs:ID"/>
	</xs:complexType>
	<xs:group name="AWAction">
		<xs:choice>
			<xs:element name="Alter" type="Alter" minOccurs="0"/>
			<xs:element name="Attach" type="Attach" minOccurs="0"/>
			<xs:element name="BuildDatabase" type="BuildDatabase" minOccurs="0"/>
			<xs:element name="Commit" type="Commit" minOccurs="0"/>
			<xs:element name="Create" type="Create" minOccurs="0"/>
			<xs:element name="Detach" type="Detach" minOccurs="0"/>
		</xs:choice>
	</xs:group>
	<xs:complexType name="Alter">
		<xs:complexContent>
			<xs:extension base="AWAction"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Attach">
		<xs:complexContent>
			<xs:extension base="AWAction">
				<xs:attribute name="AWName" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="BuildDatabase">
		<xs:complexContent>
			<xs:extension base="AWAction">
				<xs:sequence>
					<xs:element name="BuildList" type="XMLIDref" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
				<xs:attribute name="AWName" type="xs:string" use="optional"/>
				<xs:attribute name="BuildType" type="xs:string" use="optional"/>
				<xs:attribute name="RunSolve" type="xs:string" use="optional"/>
				<xs:attribute name="CleanMeasures" type="xs:string" use="optional"/>
				<xs:attribute name="CleanAttrs" type="xs:string" use="optional"/>
				<xs:attribute name="CleanDim" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Commit">
		<xs:complexContent>
			<xs:extension base="AWAction">
				<xs:attribute name="AWName" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Create">
		<xs:complexContent>
			<xs:extension base="AWAction"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Detach">
		<xs:complexContent>
			<xs:extension base="AWAction">
				<xs:attribute name="AWName" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ActiveObjectGroup">
		<xs:choice>
			<xs:element name="AW" type="AW" minOccurs="0"/>
			<xs:element name="Dimension" type="Dimension" minOccurs="0"/>
			<xs:element name="Attribute" type="Attribute" minOccurs="0"/>
			<xs:element name="AttributeProjection" type="AttributeProjection" minOccurs="0"/>
			<xs:element name="CalculatedMember" type="CalculatedMember" minOccurs="0"/>
			<xs:element name="Level" type="Level" minOccurs="0"/>
			<xs:element name="Hierarchy" type="Hierarchy" minOccurs="0"/>
			<xs:element name="HierarchyLevelAssociation" type="HierarchyLevelAssociation" minOccurs="0"/>
			<xs:element name="Cube" type="Cube" minOccurs="0"/>
			<xs:element name="Measure" type="Measure" minOccurs="0"/>
			<xs:element name="DerivedMeasure" type="DerivedMeasure" minOccurs="0"/>
			<xs:element name="OlapMeasure" type="OlapMeasure" minOccurs="0"/>
			<xs:element name="DimensionMapGroup" type="DimensionMapGroup" minOccurs="0"/>
			<xs:element name="DimensionKeySourceExpression" type="DimensionKeySourceExpression" minOccurs="0"/>
			<xs:element name="HierarchialParentSourceExpression" type="HierarchialParentSourceExpression" minOccurs="0"/>
			<xs:element name="AttributeSourceExpression" type="AttributeSourceExpression" minOccurs="0"/>
			<xs:element name="CubeMapGroup" type="CubeMapGroup" minOccurs="0"/>
			<xs:element name="MeasureSourceExpression" type="MeasureSourceExpression" minOccurs="0"/>
			<xs:element name="CubeDimensionSourceExpression" type="CubeDimensionSourceExpression" minOccurs="0"/>
			<xs:element name="AllocationDefinition" type="AllocationDefinition" minOccurs="0"/>
			<xs:element name="AllocationHierarchySpecification" type="AllocationHierarchySpecification" minOccurs="0"/>
			<xs:element name="AllocateMemberSelectionSpecification" type="AllocateMemberSelectionSpecification" minOccurs="0"/>
			<xs:element name="ForecastDefinition" type="ForecastDefinition" minOccurs="0"/>
			<xs:element name="AggregationDefinition" type="AggregationDefinition" minOccurs="0"/>
			<xs:element name="ModelRef" type="ModelRef" minOccurs="0"/>
			<xs:element name="AggregationHierarchySpecification" type="AggregationHierarchySpecification" minOccurs="0"/>
			<xs:element name="PreComputeClause" type="PreComputeClause" minOccurs="0"/>
			<xs:element name="LoaderSpec" type="LoaderSpec" minOccurs="0"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="SourceMapGroupGroup">
		<xs:choice>
			<xs:element name="DimensionMapGroup" type="DimensionMapGroup" minOccurs="0"/>
			<xs:element name="CubeMapGroup" type="CubeMapGroup" minOccurs="0"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="RefreshMapGroupGroup">
		<xs:choice>
			<xs:element name="DimensionMapGroup" type="DimensionMapGroup" minOccurs="0"/>
			<xs:element name="CubeMapGroup" type="CubeMapGroup" minOccurs="0"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="MemberSelectionGroup">
		<xs:choice>
			<xs:element name="MemberSelection" type="MemberSelection" minOccurs="0"/>
			<xs:element name="Level" type="Level" minOccurs="0" maxOccurs="unbounded"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="SolveDefinitionGroup">
		<xs:choice>
			<xs:element name="AggregationDefinition" type="AggregationDefinition" minOccurs="0"/>
			<xs:element name="AllocationDefinition" type="AllocationDefinition" minOccurs="0"/>
			<xs:element name="ForecastDefinition" type="ForecastDefinition" minOccurs="0"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="AllocationGroup">
		<xs:choice>
			<xs:element name="AllocateMemberSelection" type="AllocateMemberSelectionSpecification" minOccurs="0"/>
			<xs:element name="AllocationHierarchySpecification" type="AllocationHierarchySpecification" minOccurs="0"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="CalculationSpecificationGroup">
		<xs:choice>
			<xs:element name="ModelRef" type="ModelRef" minOccurs="0"/>
			<xs:element name="AggregationHierarchySpecification" type="AggregationHierarchySpecification" minOccurs="0"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="AggregationOperationGroup">
		<xs:choice>
			<xs:element name="UserDefinedOperator" type="UserDefinedOperator" minOccurs="0"/>
			<xs:element name="BaseOperator" type="BaseOperator" minOccurs="0"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="AggregationArgumentGroup">
		<xs:choice>
			<xs:element name="ConfigurationParameters" type="ConfigurationParameters" minOccurs="0"/>
			<xs:element name="UserDefinedArgument" type="UserDefinedArgument" minOccurs="0"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="LoaderSourceGroup">
		<xs:choice>
			<xs:element name="AttributeRef" type="AttributeRef" minOccurs="0"/>
			<xs:element name="MemberSelectionRef" type="MemberSelectionRef" minOccurs="0"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="SolveGroup">
		<xs:choice>
			<xs:element name="AggregationSolve" type="AggregationSolve" minOccurs="0"/>
			<xs:element name="AllocationSolve" type="AllocationSolve" minOccurs="0"/>
			<xs:element name="ForecastSolve" type="ForecastSolve" minOccurs="0"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="XMLIDref">
		<xs:attribute name="XMLIDref" type="xs:string" use="required"/>
	</xs:complexType>
	<xs:complexType name="OperatorType">
		<xs:complexContent>
			<xs:extension base="BaseObject">
				<xs:attribute name="operator" type="xs:string" use="required"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="DerivedMeasureGroup">
		<xs:choice>
			<xs:element name="DerivedMeasure" type="DerivedMeasure" minOccurs="0"/>
			<xs:element name="OlapMeasure" type="OlapMeasure" minOccurs="0"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="DimensionMemberSelection">
		<xs:complexContent>
			<xs:extension base="BaseObject">
				<xs:sequence>
					<xs:element name="Dimension" type="XMLIDref"/>
					<xs:element name="DimensionMemberExpression" type="DimensionMemberExpression" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
</xs:schema>
