모델 배포 패키지 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>