模型部署包 XML 架构 (Master Data Services)
Master Data Services 模型部署包是使用 .pkg 扩展名进行保存的 XML 文件。以下各节显示模型部署包的 XML 架构。
元素
下一节显示包的各个元素。
<?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:a="https://schemas.microsoft.com/sqlserver/masterdataservices/2009/09"
xmlns:b="https://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" attributeFormDefault="unqualified"
elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/Microsoft.MasterDataServices.Deployment" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:import namespace="https://schemas.microsoft.com/sqlserver/masterdataservices/2009/09" />
<xs:element name="Package">
<xs:complexType>
<xs:sequence>
<xs:element name="businessRuleSet">
<xs:complexType>
<xs:sequence>
<xs:element ref="a:BRActions" />
<xs:element ref="a:BRConditionTreeNodes" />
<xs:element ref="a:BRConditions" />
<xs:element ref="a:BusinessRules" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="masterData" nillable="true" />
<xs:element name="metadata">
<xs:complexType>
<xs:sequence>
<xs:element ref="a:AttributeGroups" />
<xs:element ref="a:Attributes" />
<xs:element ref="a:DerivedHierarchies" />
<xs:element ref="a:DerivedHierarchyLevels" />
<xs:element ref="a:Entities" />
<xs:element ref="a:ExplicitHierarchies" />
<xs:element ref="a:MemberTypes" />
<xs:element ref="a:Models" />
<xs:element ref="a:VersionFlags" />
<xs:element ref="a:Versions" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="settings">
<xs:complexType>
<xs:sequence>
<xs:element name="assemblyVersion" type="xs:string" />
<xs:element name="containsData" type="xs:boolean" />
<xs:element name="createdBy" type="xs:string" />
<xs:element name="createdDate" type="xs:dateTime" />
<xs:element name="deploymentType" type="xs:string" />
<xs:element name="productVersion" type="xs:string" />
<xs:element name="version" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
数组
下一节显示如何对具有多行数据的数据元素的数组进行序列化。
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="https://schemas.microsoft.com/2003/10/Serialization/Arrays" attributeFormDefault="unqualified" elementFormDefault="qualified"
targetNamespace="https://schemas.microsoft.com/2003/10/Serialization/Arrays"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:import namespace="https://schemas.microsoft.com/sqlserver/masterdataservices/2009/09" />
<xs:element name="anyType">
<xs:complexType>
<xs:sequence>
<xs:element xmlns:q1="https://schemas.microsoft.com/sqlserver/masterdataservices/2009/09" ref="q1:Identifier" />
<xs:element xmlns:q2="https://schemas.microsoft.com/sqlserver/masterdataservices/2009/09" ref="q2:PropertyName" />
<xs:element minOccurs="0" xmlns:q3="https://schemas.microsoft.com/sqlserver/masterdataservices/2009/09" ref="q3:AttributeCode" />
<xs:element minOccurs="0" xmlns:q4="https://schemas.microsoft.com/sqlserver/masterdataservices/2009/09" ref="q4:Value" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
包结构
下一节显示完整的包结构。
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="https://schemas.microsoft.com/sqlserver/masterdataservices/2009/09" attributeFormDefault="unqualified" elementFormDefault="qualified"
targetNamespace="https://schemas.microsoft.com/sqlserver/masterdataservices/2009/09" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:import namespace="https://schemas.microsoft.com/2003/10/Serialization/Arrays" />
<xs:element name="BRActions" />
<xs:element name="BRConditionTreeNodes" />
<xs:element name="BRConditions" />
<xs:element name="BusinessRules">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="BusinessRule">
<xs:complexType>
<xs:sequence>
<xs:element name="AuditInfo" nillable="true" />
<xs:element name="BRActions">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="BRAction">
<xs:complexType>
<xs:sequence>
<xs:element name="AuditInfo" nillable="true" />
<xs:element name="BusinessRuleId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
<xs:element name="ModelId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="EntityId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="MemberType" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" nillable="true" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Operator" type="xs:string" />
<xs:element name="PostfixArguments">
<xs:complexType>
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" xmlns:q1="https://schemas.microsoft.com/2003/10/Serialization/Arrays" ref="q1:anyType" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Sequence" type="xs:unsignedByte" />
<xs:element name="Text" type="xs:string" />
<xs:element name="PrefixArgument">
<xs:complexType>
<xs:sequence>
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" nillable="true" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PropertyName" type="xs:string" />
<xs:element name="AttributeId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedShort" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ChildArguments" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="BRConditionTree" nillable="true">
<xs:complexType>
<xs:sequence minOccurs="0">
<xs:element name="AuditInfo" nillable="true" />
<xs:element name="BRConditions">
<xs:complexType>
<xs:sequence>
<xs:element name="BRCondition">
<xs:complexType>
<xs:sequence>
<xs:element name="AuditInfo" nillable="true" />
<xs:element name="BusinessRuleId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
<xs:element name="ModelId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="EntityId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="MemberType" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" nillable="true" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Operator" type="xs:string" />
<xs:element name="PostfixArguments">
<xs:complexType>
<xs:sequence>
<xs:element xmlns:q2="https://schemas.microsoft.com/2003/10/Serialization/Arrays" ref="q2:anyType" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Sequence" type="xs:unsignedByte" />
<xs:element name="Text" type="xs:string" />
<xs:element name="ConditionTreeNodeId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" nillable="true" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PrefixArgument">
<xs:complexType>
<xs:sequence>
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" nillable="true" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PropertyName" type="xs:string" />
<xs:element name="AttributeId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedShort" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ChildArguments" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="BusinessRuleId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
<xs:element name="ModelId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="EntityId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="MemberType" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ConditionTreeChildNodes" />
<xs:element name="ConditionTreeParentNode">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" nillable="true" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" nillable="true" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="LogicalOperator" type="xs:string" />
<xs:element name="Sequence" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Description" type="xs:string" />
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
<xs:element name="ModelId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="EntityId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="MemberType" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="NotificationGroup" nillable="true" />
<xs:element name="NotificationUser" nillable="true" />
<xs:element name="Priority" type="xs:unsignedByte" />
<xs:element name="RuleActionText" type="xs:string" />
<xs:element name="RuleConditionText" type="xs:string" />
<xs:element name="Status" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" nillable="true" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PropertyName" type="xs:string" />
<xs:element name="Value" type="xs:decimal" />
<xs:element name="AttributeCode" type="xs:string" />
<xs:element name="AttributeGroups" />
<xs:element name="Attributes" />
<xs:element name="DerivedHierarchies" />
<xs:element name="DerivedHierarchyLevels" />
<xs:element name="Entities" />
<xs:element name="ExplicitHierarchies" />
<xs:element name="MemberTypes" />
<xs:element name="Models">
<xs:complexType>
<xs:sequence>
<xs:element name="Model">
<xs:complexType>
<xs:sequence>
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Permission" type="xs:string" />
<xs:element name="DerivedHierarchies">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="DerivedHierarchy">
<xs:complexType>
<xs:sequence>
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
<xs:element name="ModelId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Permission" type="xs:string" />
<xs:element name="AnchorNullRecursions" type="xs:boolean" />
<xs:element name="FullyQualifiedName" type="xs:string" />
<xs:element name="IsRecursive" type="xs:boolean" />
<xs:element name="Levels">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="DerivedHierarchyLevel">
<xs:complexType>
<xs:sequence>
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
<xs:element name="ModelId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DerivedHierarchyId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Permission" type="xs:string" />
<xs:element name="DisplayName" type="xs:string" />
<xs:element name="ForeignEntityId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ForeignId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedShort" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ForeignType" type="xs:string" />
<xs:element name="IsRecursive" type="xs:boolean" />
<xs:element name="IsVisible" type="xs:boolean" />
<xs:element name="LevelNumber" type="xs:unsignedByte" />
<xs:element name="MemberType" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Entities">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Entity">
<xs:complexType>
<xs:sequence>
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
<xs:element name="ModelId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Permission" type="xs:string" />
<xs:element name="ExplicitHierarchies">
<xs:complexType>
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="ExplicitHierarchy">
<xs:complexType>
<xs:sequence>
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
<xs:element name="ModelId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="EntityId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Permission" type="xs:string" />
<xs:element name="FullyQualifiedName" type="xs:string" />
<xs:element name="IsMandatory" type="xs:boolean" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="IsBase" type="xs:boolean" />
<xs:element name="IsFlat" type="xs:boolean" />
<xs:element name="IsSystem" type="xs:boolean" />
<xs:element name="MemberTypes">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="EntityMemberType">
<xs:complexType>
<xs:sequence>
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" nillable="true" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Permission" type="xs:string" />
<xs:element name="AttributeGroups">
<xs:complexType>
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="AttributeGroup">
<xs:complexType>
<xs:sequence>
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
<xs:element name="ModelId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="EntityId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="MemberType" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Permission" type="xs:string" />
<xs:element name="Attributes">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="MetadataAttribute">
<xs:complexType>
<xs:sequence>
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedShort" />
<xs:element name="ModelId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="EntityId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="MemberType" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Permission" type="xs:string" />
<xs:element name="AttributeType" type="xs:string" />
<xs:element name="ChangeTrackingGroup" type="xs:unsignedByte" />
<xs:element name="DataType" type="xs:string" />
<xs:element name="DataTypeInformation" nillable="true" />
<xs:element name="DisplayWidth" type="xs:unsignedByte" />
<xs:element name="DomainEntityId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DomainEntityIsFlat" type="xs:boolean" />
<xs:element name="DomainEntityPermission" type="xs:string" />
<xs:element name="FullyQualifiedName" nillable="true" />
<xs:element name="InputMaskId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="IsCode" type="xs:boolean" />
<xs:element name="IsName" type="xs:boolean" />
<xs:element name="IsReadOnly" type="xs:boolean" />
<xs:element name="IsSystem" type="xs:boolean" />
<xs:element name="SortOrder" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="FullName" type="xs:string" />
<xs:element name="SortOrder" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Attributes">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="MetadataAttribute">
<xs:complexType>
<xs:sequence>
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedShort" />
<xs:element name="ModelId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="EntityId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="MemberType" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Permission" type="xs:string" />
<xs:element name="AttributeType" type="xs:string" />
<xs:element name="ChangeTrackingGroup" type="xs:unsignedByte" />
<xs:element name="DataType" type="xs:string" />
<xs:element name="DataTypeInformation" type="xs:unsignedByte" />
<xs:element name="DisplayWidth" type="xs:unsignedByte" />
<xs:element name="DomainEntityId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DomainEntityIsFlat" type="xs:boolean" />
<xs:element name="DomainEntityPermission" type="xs:string" />
<xs:element name="FullyQualifiedName" type="xs:string" />
<xs:element name="InputMaskId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="IsCode" type="xs:boolean" />
<xs:element name="IsName" type="xs:boolean" />
<xs:element name="IsReadOnly" type="xs:boolean" />
<xs:element name="IsSystem" type="xs:boolean" />
<xs:element name="SortOrder" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="EntityId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Type" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ExplicitHierarchies">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="ExplicitHierarchy">
<xs:complexType>
<xs:sequence>
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
<xs:element name="ModelId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="EntityId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Permission" type="xs:string" />
<xs:element name="FullyQualifiedName" type="xs:string" />
<xs:element name="IsMandatory" type="xs:boolean" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="IsAdministrator" type="xs:boolean" />
<xs:element name="IsSystem" type="xs:boolean" />
<xs:element name="VersionFlags">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="VersionFlag">
<xs:complexType>
<xs:sequence>
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
<xs:element name="ModelId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Permission" type="xs:string" />
<xs:element name="AssignedVersionId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Description" type="xs:string" />
<xs:element name="IsCommittedOnly" type="xs:boolean" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Versions">
<xs:complexType>
<xs:sequence>
<xs:element name="Version">
<xs:complexType>
<xs:sequence>
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
<xs:element name="ModelId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Permission" type="xs:string" />
<xs:element name="CopiedFromVersionId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Description" type="xs:string" />
<xs:element name="ValidationStatus" type="xs:string" />
<xs:element name="VersionFlagId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="VersionNumber" type="xs:unsignedByte" />
<xs:element name="VersionStatus" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="VersionFlags" />
<xs:element name="Versions" />
</xs:schema><?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="https://schemas.microsoft.com/sqlserver/masterdataservices/2009/09" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="https://schemas.microsoft.com/sqlserver/masterdataservices/2009/09" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:import namespace="https://schemas.microsoft.com/2003/10/Serialization/Arrays" />
<xs:element name="BRActions" />
<xs:element name="BRConditionTreeNodes" />
<xs:element name="BRConditions" />
<xs:element name="BusinessRules">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="BusinessRule">
<xs:complexType>
<xs:sequence>
<xs:element name="AuditInfo" nillable="true" />
<xs:element name="BRActions">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="BRAction">
<xs:complexType>
<xs:sequence>
<xs:element name="AuditInfo" nillable="true" />
<xs:element name="BusinessRuleId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
<xs:element name="ModelId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="EntityId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="MemberType" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" nillable="true" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Operator" type="xs:string" />
<xs:element name="PostfixArguments">
<xs:complexType>
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" xmlns:q1="https://schemas.microsoft.com/2003/10/Serialization/Arrays" ref="q1:anyType" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Sequence" type="xs:unsignedByte" />
<xs:element name="Text" type="xs:string" />
<xs:element name="PrefixArgument">
<xs:complexType>
<xs:sequence>
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" nillable="true" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PropertyName" type="xs:string" />
<xs:element name="AttributeId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedShort" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ChildArguments" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="BRConditionTree" nillable="true">
<xs:complexType>
<xs:sequence minOccurs="0">
<xs:element name="AuditInfo" nillable="true" />
<xs:element name="BRConditions">
<xs:complexType>
<xs:sequence>
<xs:element name="BRCondition">
<xs:complexType>
<xs:sequence>
<xs:element name="AuditInfo" nillable="true" />
<xs:element name="BusinessRuleId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
<xs:element name="ModelId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="EntityId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="MemberType" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" nillable="true" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Operator" type="xs:string" />
<xs:element name="PostfixArguments">
<xs:complexType>
<xs:sequence>
<xs:element xmlns:q2="https://schemas.microsoft.com/2003/10/Serialization/Arrays" ref="q2:anyType" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Sequence" type="xs:unsignedByte" />
<xs:element name="Text" type="xs:string" />
<xs:element name="ConditionTreeNodeId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" nillable="true" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PrefixArgument">
<xs:complexType>
<xs:sequence>
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" nillable="true" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PropertyName" type="xs:string" />
<xs:element name="AttributeId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedShort" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ChildArguments" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="BusinessRuleId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
<xs:element name="ModelId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="EntityId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="MemberType" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ConditionTreeChildNodes" />
<xs:element name="ConditionTreeParentNode">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" nillable="true" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" nillable="true" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="LogicalOperator" type="xs:string" />
<xs:element name="Sequence" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Description" type="xs:string" />
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
<xs:element name="ModelId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="EntityId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="MemberType" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="NotificationGroup" nillable="true" />
<xs:element name="NotificationUser" nillable="true" />
<xs:element name="Priority" type="xs:unsignedByte" />
<xs:element name="RuleActionText" type="xs:string" />
<xs:element name="RuleConditionText" type="xs:string" />
<xs:element name="Status" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" nillable="true" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PropertyName" type="xs:string" />
<xs:element name="Value" type="xs:decimal" />
<xs:element name="AttributeCode" type="xs:string" />
<xs:element name="AttributeGroups" />
<xs:element name="Attributes" />
<xs:element name="DerivedHierarchies" />
<xs:element name="DerivedHierarchyLevels" />
<xs:element name="Entities" />
<xs:element name="ExplicitHierarchies" />
<xs:element name="MemberTypes" />
<xs:element name="Models">
<xs:complexType>
<xs:sequence>
<xs:element name="Model">
<xs:complexType>
<xs:sequence>
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Permission" type="xs:string" />
<xs:element name="DerivedHierarchies">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="DerivedHierarchy">
<xs:complexType>
<xs:sequence>
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
<xs:element name="ModelId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Permission" type="xs:string" />
<xs:element name="AnchorNullRecursions" type="xs:boolean" />
<xs:element name="FullyQualifiedName" type="xs:string" />
<xs:element name="IsRecursive" type="xs:boolean" />
<xs:element name="Levels">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="DerivedHierarchyLevel">
<xs:complexType>
<xs:sequence>
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
<xs:element name="ModelId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DerivedHierarchyId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Permission" type="xs:string" />
<xs:element name="DisplayName" type="xs:string" />
<xs:element name="ForeignEntityId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ForeignId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedShort" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ForeignType" type="xs:string" />
<xs:element name="IsRecursive" type="xs:boolean" />
<xs:element name="IsVisible" type="xs:boolean" />
<xs:element name="LevelNumber" type="xs:unsignedByte" />
<xs:element name="MemberType" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Entities">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Entity">
<xs:complexType>
<xs:sequence>
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
<xs:element name="ModelId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Permission" type="xs:string" />
<xs:element name="ExplicitHierarchies">
<xs:complexType>
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="ExplicitHierarchy">
<xs:complexType>
<xs:sequence>
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
<xs:element name="ModelId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="EntityId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Permission" type="xs:string" />
<xs:element name="FullyQualifiedName" type="xs:string" />
<xs:element name="IsMandatory" type="xs:boolean" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="IsBase" type="xs:boolean" />
<xs:element name="IsFlat" type="xs:boolean" />
<xs:element name="IsSystem" type="xs:boolean" />
<xs:element name="MemberTypes">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="EntityMemberType">
<xs:complexType>
<xs:sequence>
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" nillable="true" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Permission" type="xs:string" />
<xs:element name="AttributeGroups">
<xs:complexType>
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="AttributeGroup">
<xs:complexType>
<xs:sequence>
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
<xs:element name="ModelId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="EntityId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="MemberType" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Permission" type="xs:string" />
<xs:element name="Attributes">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="MetadataAttribute">
<xs:complexType>
<xs:sequence>
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedShort" />
<xs:element name="ModelId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="EntityId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="MemberType" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Permission" type="xs:string" />
<xs:element name="AttributeType" type="xs:string" />
<xs:element name="ChangeTrackingGroup" type="xs:unsignedByte" />
<xs:element name="DataType" type="xs:string" />
<xs:element name="DataTypeInformation" nillable="true" />
<xs:element name="DisplayWidth" type="xs:unsignedByte" />
<xs:element name="DomainEntityId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DomainEntityIsFlat" type="xs:boolean" />
<xs:element name="DomainEntityPermission" type="xs:string" />
<xs:element name="FullyQualifiedName" nillable="true" />
<xs:element name="InputMaskId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="IsCode" type="xs:boolean" />
<xs:element name="IsName" type="xs:boolean" />
<xs:element name="IsReadOnly" type="xs:boolean" />
<xs:element name="IsSystem" type="xs:boolean" />
<xs:element name="SortOrder" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="FullName" type="xs:string" />
<xs:element name="SortOrder" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Attributes">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="MetadataAttribute">
<xs:complexType>
<xs:sequence>
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedShort" />
<xs:element name="ModelId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="EntityId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="MemberType" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Permission" type="xs:string" />
<xs:element name="AttributeType" type="xs:string" />
<xs:element name="ChangeTrackingGroup" type="xs:unsignedByte" />
<xs:element name="DataType" type="xs:string" />
<xs:element name="DataTypeInformation" type="xs:unsignedByte" />
<xs:element name="DisplayWidth" type="xs:unsignedByte" />
<xs:element name="DomainEntityId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DomainEntityIsFlat" type="xs:boolean" />
<xs:element name="DomainEntityPermission" type="xs:string" />
<xs:element name="FullyQualifiedName" type="xs:string" />
<xs:element name="InputMaskId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="IsCode" type="xs:boolean" />
<xs:element name="IsName" type="xs:boolean" />
<xs:element name="IsReadOnly" type="xs:boolean" />
<xs:element name="IsSystem" type="xs:boolean" />
<xs:element name="SortOrder" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="EntityId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Type" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ExplicitHierarchies">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="ExplicitHierarchy">
<xs:complexType>
<xs:sequence>
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
<xs:element name="ModelId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="EntityId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Permission" type="xs:string" />
<xs:element name="FullyQualifiedName" type="xs:string" />
<xs:element name="IsMandatory" type="xs:boolean" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="IsAdministrator" type="xs:boolean" />
<xs:element name="IsSystem" type="xs:boolean" />
<xs:element name="VersionFlags">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="VersionFlag">
<xs:complexType>
<xs:sequence>
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
<xs:element name="ModelId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Permission" type="xs:string" />
<xs:element name="AssignedVersionId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Description" type="xs:string" />
<xs:element name="IsCommittedOnly" type="xs:boolean" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Versions">
<xs:complexType>
<xs:sequence>
<xs:element name="Version">
<xs:complexType>
<xs:sequence>
<xs:element name="Identifier">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
<xs:element name="ModelId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Permission" type="xs:string" />
<xs:element name="CopiedFromVersionId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Description" type="xs:string" />
<xs:element name="ValidationStatus" type="xs:string" />
<xs:element name="VersionFlagId">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" />
<xs:element name="InternalId" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="VersionNumber" type="xs:unsignedByte" />
<xs:element name="VersionStatus" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="VersionFlags" />
<xs:element name="Versions" />
</xs:schema>