Ribbon types schema

適用於: CRM 2016 on-prem, CRM Online

The following is the schema definition for the ribbon types portion of an import/export customization file. It is included from the Ribbon core schema. For more information, see 使用解決方案,封裝與發佈擴充功能. You can find this schema in the SDK\Schemas\ribbontypes.xsd file in the SDK package. 下載 Microsoft Dynamics CRM SDK 套件。

Schema

<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="CrmRibbonTypes"
           xmlns:xs="http://www.w3.org/2001/XMLSchema" >

  <!-- Command Definition Types -->
  <xs:complexType name="ActionsType">
    <xs:choice minOccurs="0"
               maxOccurs="unbounded">
      <xs:element name="JavaScriptFunction"
                  type="JavaScriptFunctionType" />
      <xs:element name="Url"
                  type="UrlType" />
      <xs:element name="OutlookCommand"
                  type="OutlookCommandType" />
    </xs:choice>
  </xs:complexType>
  <xs:complexType name="CommandDefinitionsType">
    <xs:sequence>
      <xs:element name="CommandDefinition"
                  type="CommandDefinitionType"
                  minOccurs="0"
                  maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="CommandDefinitionType">
    <xs:sequence>
      <xs:element name="EnableRules"
                  type="ReferenceEnableRulesType"
                  minOccurs="1"
                  maxOccurs="1" />
      <xs:element name="DisplayRules"
                  type="ReferenceDisplayRulesType"
                  minOccurs="1"
                  maxOccurs="1" />
      <xs:element name="Actions"
                  type="ActionsType"
                  minOccurs="1"
                  maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="Id"
                  type="xs:string"
                  use="required" />
  </xs:complexType>
  <xs:complexType name="JavaScriptFunctionType">
    <xs:sequence>
      <xs:group ref="ParameterType"
                minOccurs="0"
                maxOccurs="unbounded" />
    </xs:sequence>
    <xs:attribute name="FunctionName"
                  type="JavaScriptIdentifier"
                  use="required" />
    <xs:attribute name="Library"
                  type="xs:string"
                  use="required" />
  </xs:complexType>
  <xs:complexType name="OutlookCommandType">
    <xs:attribute name="ActionType"
                  type="OutlookActionType"
                  use="required" />
    <xs:attribute name="Data"
                  type="xs:string"
                  use="optional" />
  </xs:complexType>
  <xs:complexType name="ReferenceEnableRulesType">
    <xs:sequence>
      <xs:element name="EnableRule"
                  type="ReferenceEnableRuleType"
                  minOccurs="0"
                  maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ReferenceDisplayRulesType">
    <xs:sequence>
      <xs:element name="DisplayRule"
                  type="ReferenceDisplayRuleType"
                  minOccurs="0"
                  maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ReferenceEnableRuleType">
    <xs:attribute name="Id"
                  type="xs:string"
                  use="required" />
  </xs:complexType>
  <xs:complexType name="ReferenceDisplayRuleType">
    <xs:attribute name="Id"
                  type="xs:string"
                  use="required" />
  </xs:complexType>
  <xs:complexType name="UrlType">
    <xs:sequence>
      <xs:group ref="NamedParameterType"
                minOccurs="0"
                maxOccurs="unbounded" />
    </xs:sequence>
    <xs:attribute name="Address"
                  type="xs:anyURI"
                  use="required" />
    <xs:attribute name="WinMode"
                  type="WinMode"
                  use="optional" />
    <xs:attribute name="WinParams"
                  type="xs:string"
                  use="optional" />
    <xs:attribute name="PassParams"
                  type="xs:boolean"
                  use="optional" />
  </xs:complexType>

  <!-- Command Value Restrictions -->
  <xs:simpleType name="JavaScriptIdentifier">
    <xs:restriction base="xs:string">
      <xs:pattern value="[a-zA-Z_$][a-zA-Z_$0-9.]*" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="OutlookActionType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="CheckForUpdates" />
      <xs:enumeration value="ConfigWizard" />
      <xs:enumeration value="GoTo" />
      <xs:enumeration value="GoOffline" />
      <xs:enumeration value="Help" />
      <xs:enumeration value="OpenOlkForm" />
      <xs:enumeration value="Promote" />
      <xs:enumeration value="SetRegarding" />
      <xs:enumeration value="Settings" />
      <xs:enumeration value="SignOut" />
      <xs:enumeration value="SignOutForgetMe" />
      <xs:enumeration value="OutlookImport" />
      <xs:enumeration value="Sync" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="WinMode">
    <xs:restriction base="xs:integer">
      <xs:minInclusive value="0" />
      <xs:maxInclusive value="2" />
    </xs:restriction>
  </xs:simpleType>

  <!-- Rule Container Types -->
  <xs:complexType name="RuleDefinitionsEntityType">
    <xs:sequence>
      <xs:element name="TabDisplayRules"
                  type="TabDisplayRulesEntityType"
                  minOccurs="1"
                  maxOccurs="1" />
      <xs:element name="DisplayRules"
                  type="DisplayRulesType"
                  minOccurs="1"
                  maxOccurs="1" />
      <xs:element name="EnableRules"
                  type="EnableRulesType"
                  minOccurs="1"
                  maxOccurs="1" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="RuleDefinitionsGlobalType">
    <xs:sequence>
      <xs:element name="TabDisplayRules"
                  type="TabDisplayRulesGlobalType"
                  minOccurs="1"
                  maxOccurs="1" />
      <xs:element name="DisplayRules"
                  type="DisplayRulesType"
                  minOccurs="1"
                  maxOccurs="1" />
      <xs:element name="EnableRules"
                  type="EnableRulesType"
                  minOccurs="1"
                  maxOccurs="1" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="EnableRulesType">
    <xs:sequence minOccurs="0"
                 maxOccurs="unbounded">
      <xs:element name="EnableRule">
        <xs:complexType>
          <xs:choice minOccurs="1"
                     maxOccurs="unbounded">
            <xs:group ref="EnableRulesGroup" />
            <xs:element name="OrRule"
                        type="OrEnableRuleType" />
          </xs:choice>
          <xs:attribute name="Id"
                        type="xs:string"
                        use="required" />
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="OrEnableRuleType">
    <xs:sequence minOccurs="2"
                 maxOccurs="unbounded">
      <xs:element name="Or">
        <xs:complexType>
          <xs:choice minOccurs="1"
                     maxOccurs="unbounded">
            <xs:group ref="EnableRulesGroup" />
          </xs:choice>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:group name="EnableRulesGroup">
    <xs:choice>
      <xs:element name="CrmClientTypeRule"
                  type="CrmClientTypeRuleType" />
      <xs:element name="CrmOutlookClientTypeRule"
                  type="CrmOutlookClientTypeRuleType" />
      <xs:element name="CrmOfflineAccessStateRule"
                  type="CrmOfflineAccessStateRuleType" />
      <xs:element name="CustomRule"
                  type="CustomRuleType" />
      <xs:element name="EntityRule"
                  type="EntityRuleType" />
      <xs:element name="FormStateRule"
                  type="FormStateRuleType" />
      <xs:element name="OutlookItemTrackingRule"
                  type="OutlookItemTrackingRuleType" />
      <xs:element name="OutlookVersionRule"
                  type="OutlookVersionRuleType" />
      <xs:element name="PageRule"
                  type="PageRuleType" />
      <xs:element name="RecordPrivilegeRule"
                  type="RecordPrivilegeRuleType" />
      <xs:element name="SelectionCountRule"
                  type="SelectionCountRuleType" />
      <xs:element name="SkuRule"
                  type="SkuRuleType" />
      <xs:element name="ValueRule"
                  type="ValueRuleType" />
      <xs:element name="CommandClientTypeRule"
                  type="CommandClientTypeRuleType" />
    </xs:choice>
  </xs:group>

  <xs:complexType name="TabDisplayRulesEntityType">
    <xs:sequence minOccurs="0"
                 maxOccurs="unbounded">
      <xs:element name="TabDisplayRule">
        <xs:complexType>
          <xs:choice minOccurs="1"
                     maxOccurs="unbounded">
            <xs:element name="EntityRule"
                        type="EntityTabRuleType" />
          </xs:choice>
          <xs:attribute name="TabCommand"
                        type="xs:string"
                        use="required" />
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TabDisplayRulesGlobalType">
    <xs:sequence minOccurs="0"
                 maxOccurs="unbounded">
      <xs:element name="TabDisplayRule">
        <xs:complexType>
          <xs:choice minOccurs="1"
                     maxOccurs="unbounded">
            <xs:element name="EntityRule"
                        type="EntityTabRuleType" />
            <xs:element name="PageRule"
                        type="PageTabRuleType" />
          </xs:choice>
          <xs:attribute name="TabCommand"
                        type="xs:string"
                        use="required" />
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="DisplayRulesType">
    <xs:sequence minOccurs="0"
                 maxOccurs="unbounded">
      <xs:element name="DisplayRule">
        <xs:complexType>
          <xs:choice minOccurs="1"
                     maxOccurs="unbounded">
            <xs:group ref="DisplayRulesGroup" />
            <xs:element name="OrRule"
                        type="OrDisplayRuleType" />
          </xs:choice>
          <xs:attribute name="Id"
                        type="xs:string"
                        use="required" />
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="OrDisplayRuleType">
    <xs:sequence minOccurs="2"
                 maxOccurs="unbounded">
      <xs:element name="Or">
        <xs:complexType>
          <xs:choice minOccurs="1"
                     maxOccurs="unbounded">
            <xs:group ref="DisplayRulesGroup" />
          </xs:choice>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:group name="DisplayRulesGroup">
    <xs:choice>
      <xs:element name="CrmClientTypeRule"
                  type="CrmClientTypeRuleType" />
      <xs:element name="CommandClientTypeRule"
                  type="CommandClientTypeRuleType" />
      <xs:element name="DeviceTypeRule"
                  type="DeviceTypeRuleType" />
      <xs:element name="CrmOutlookClientTypeRule"
                  type="CrmOutlookClientTypeRuleType" />
      <xs:element name="CrmOutlookClientVersionRule"
                  type="CrmOutlookClientVersionRuleType" />
      <xs:element name="CrmOfflineAccessStateRule"
                  type="CrmOfflineAccessStateRuleType" />
      <xs:element name="EntityRule"
                  type="EntityRuleType" />
      <xs:element name="EntityPrivilegeRule"
                  type="EntityPrivilegeRuleType" />
      <xs:element name="EntityPropertyRule"
                  type="EntityPropertyRuleType" />
      <xs:element name="FormEntityContextRule"
                  type="FormEntityContextRuleType" />
      <xs:element name="FormStateRule"
                  type="FormStateRuleType" />
      <xs:element name="MiscellaneousPrivilegeRule"
                  type="MiscellaneousPrivilegeRuleType" />
      <xs:element name="OrganizationSettingRule"
                  type="OrganizationSettingRuleType" />
      <xs:element name="OutlookRenderTypeRule"
                  type="OutlookRenderTypeRuleType" />
      <xs:element name="OutlookVersionRule"
                  type="OutlookVersionRuleType" />
      <xs:element name="PageRule"
                  type="PageRuleType" />
      <xs:element name="ReferencingAttributeRequiredRule"
                  type="ReferencingAttributeRequiredRuleType" />
      <xs:element name="RelationshipTypeRule"
                  type="RelationshipTypeRuleType" />
      <xs:element name="SkuRule"
                  type="SkuRuleType" />
      <xs:element name="ValueRule"
                  type="ValueRuleType" />
      <xs:element name="OptionSetRule"
                  type ="OptionSetRuleType" />
      <xs:element name="FormTypeRule"
                  type ="FormTypeRuleType" />
      <xs:element name="HideForTabletExperienceRule"
                  type ="HideForTabletExperienceRuleType" />
      <xs:element name="HideIfNetBreezeNotAvailableRule"
                  type ="HideIfNetBreezeNotAvailableRuleType" />
      <xs:element name="HideIfServiceMetadataAvailableRule"
                  type ="HideIfServiceMetadataAvailableRuleType" />
      <xs:element name="HideIfSharepointS2SConfigurationEnabledRule"
                  type ="HideIfSharepointS2SConfigurationEnabledRuleType" />
      <xs:element name="HideIfExportToExcelNotEnabledRule"
                  type="HideIfExportToExcelNotEnabledRuleType" />
      <xs:element name="IsExportToExcelOnlineEnabledRule"
                  type="IsExportToExcelOnlineEnabledRuleType" />
      <xs:element name="HideIfDisabledForMobileRule"
                  type="HideIfDisabledForMobileRuleType" />
      <xs:element name="HideIfHybridSSSNotEnabledRule"
                  type="HideIfHybridSSSNotEnabledRuleType" />
      <xs:element name="FeatureControlRule"
                  type="FeatureControlRuleType" />
      <xs:element name="HideIfDelveNotAvailableRule"
                  type ="HideIfDelveNotAvailableRuleType" />
      <xs:element name="HideIfTestExchangeServerNotEnabledRule"
                  type="HideIfTestExchangeServerNotEnabledRuleType" />
      <xs:element name="HideIfSSSTroubleshootingNotEnabledRule"
                  type="HideIfSSSTroubleshootingNotEnabledRuleType" />
      <xs:element name="HideIfCurrentUserIsNotSystemAdministratorRule"
                  type="HideIfCurrentUserIsNotSystemAdministratorRuleType" />
    </xs:choice>
  </xs:group>

  <!-- Rule Types -->
  <xs:complexType name="CrmClientTypeRuleType">
    <xs:attribute name="Type"
                  use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="Web" />
          <xs:enumeration value="Outlook" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>

  <xs:complexType name="CommandClientTypeRuleType">
    <xs:attribute name="Type"
                  use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="Modern" />
          <xs:enumeration value="Refresh" />
          <xs:enumeration value="Legacy" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>

  <xs:complexType name="DeviceTypeRuleType">
    <xs:attribute name="Type"
                  use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="None" />
          <xs:enumeration value="Phone" />
          <xs:enumeration value="Tablet" />
          <xs:enumeration value="Web" />
          <xs:enumeration value="Outlook" />
          <xs:enumeration value="InteractionCentric" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>

  <xs:complexType name="CrmOfflineAccessStateRuleType">
    <xs:attribute name="State"
                  use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="Online" />
          <xs:enumeration value="Offline" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>

  <xs:complexType name="CrmOutlookClientTypeRuleType">
    <xs:attribute name="Type"
                  use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="CrmForOutlook" />
          <xs:enumeration value="CrmForOutlookOfflineAccess" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>

  <xs:complexType name="OptionSetRuleType">
    <xs:attribute name="OptionSet"
                  type="xs:string"
                  use="required"/>
    <xs:attribute name="StateCode"
                  type="xs:string"
                  use="required"/>
    <xs:attribute name="ObjectTypeCode"
                  type="xs:string"
                  use="required"/>
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>

  <xs:complexType name="CustomRuleType">
    <xs:sequence>
      <xs:group ref="ParameterType"
                minOccurs="0"
                maxOccurs="unbounded" />
    </xs:sequence>
    <xs:attribute name="FunctionName"
                  type="JavaScriptIdentifier"
                  use="required" />
    <xs:attribute name="Library"
                  type="xs:string"
                  use="required" />
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>

  <xs:complexType name="EntityRuleType">
    <xs:attributeGroup ref="EntityRuleTypeAttributes" />
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>
  <xs:complexType name="EntityTabRuleType">
    <xs:attributeGroup ref="EntityRuleTypeAttributes" />
  </xs:complexType>
  <xs:attributeGroup name="EntityRuleTypeAttributes">
    <xs:attribute name="EntityName"
                  type="xs:string"
                  use="optional" />
    <xs:attribute name="AppliesTo"
                  type="AppliesToType"
                  use="optional" />
    <xs:attribute name="Context"
                  use="optional">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="[a-zA-Z_][a-zA-Z_0-9]*" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:attributeGroup>

  <xs:complexType name="EntityPropertyRuleType">
    <xs:attribute name="EntityName"
                  type="xs:string"
                  use="optional" />
    <xs:attribute name="AppliesTo"
                  type="AppliesToType"
                  use="optional" />
    <xs:attribute name="PropertyName"
                  use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="DuplicateDetectionEnabled" />
          <xs:enumeration value="GridFiltersEnabled" />
          <xs:enumeration value="HasStateCode" />
          <xs:enumeration value="IsConnectionsEnabled" />
          <xs:enumeration value="MailMergeEnabled" />
          <xs:enumeration value="WorksWithQueue" />
          <xs:enumeration value="HasActivities" />
          <xs:enumeration value="IsActivity" />
          <xs:enumeration value="HasNotes" />
          <xs:enumeration value="IsCustomizable" />
          <xs:enumeration value="IsActivityParty" />
          <xs:enumeration value="HasEmailAddresses" />
          <xs:enumeration value="IsChildEntity" />
          <xs:enumeration value="IsImportable" />
          <xs:enumeration value="IsEnabledForCharts" />
          <xs:enumeration value="IsBusinessProcessEnabled" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="PropertyValue"
                  type="xs:boolean"
                  use="required" />
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>

  <xs:complexType name="FormEntityContextRuleType">
    <xs:attribute name="EntityName"
                  type="xs:string"
                  use="required" />
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>

  <xs:complexType name="FormStateRuleType">
    <xs:attribute name="State"
                  use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="Create" />
          <xs:enumeration value="Existing" />
          <xs:enumeration value="ReadOnly" />
          <xs:enumeration value="Disabled" />
          <xs:enumeration value="BulkEdit" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>

  <xs:complexType name="OrganizationSettingRuleType">
    <xs:attribute name="Setting"
                  use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="IsSharepointEnabled" />
          <xs:enumeration value="IsSOPIntegrationEnabled" />
          <xs:enumeration value="IsFiscalCalendarDefined" />
          <xs:enumeration value="IsReadFormModeDefined" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>

  <xs:complexType name="FormTypeRuleType">
    <xs:attribute name="Type"
                  use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="Main" />
          <xs:enumeration value="Preview" />
          <xs:enumeration value="AppointmentBook" />
          <xs:enumeration value="Dashboard" />
          <xs:enumeration value="Quick" />
          <xs:enumeration value="QuickCreate" />
          <xs:enumeration value="Card" />
          <xs:enumeration value="MainInteractionCentric" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>

  <xs:complexType name="HideForTabletExperienceRuleType">
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>

  <xs:complexType name="HideIfNetBreezeNotAvailableRuleType">
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>

  <xs:complexType name="HideIfDisabledForMobileRuleType">
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>

  <xs:complexType name="HideIfServiceMetadataAvailableRuleType">
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>

  <xs:complexType name="HideIfSharepointS2SConfigurationEnabledRuleType">
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>

  <xs:complexType name="HideIfExportToExcelNotEnabledRuleType">
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>

  <xs:complexType name="IsExportToExcelOnlineEnabledRuleType">
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>

  <xs:complexType name="HideIfDelveNotAvailableRuleType">
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>

  <xs:complexType name="HideIfSSSTroubleshootingNotEnabledRuleType">
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>

  <xs:complexType name="HideIfCurrentUserIsNotSystemAdministratorRuleType">
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>

  <xs:complexType name="HideIfHybridSSSNotEnabledRuleType">
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>

  <xs:complexType name="HideIfTestExchangeServerNotEnabledRuleType">
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>

  <xs:complexType name="OutlookItemTrackingRuleType">
    <xs:attribute name="TrackedInCrm"
                  type="xs:boolean"
                  use="required" />
    <xs:attribute name="AppliesTo"
                  type="AppliesToPrimaryType"
                  use="optional" />
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>

  <xs:complexType name="OutlookRenderTypeRuleType">
    <xs:attribute name="Type"
                  use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="Web" />
          <xs:enumeration value="Outlook" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>

  <xs:complexType name="OutlookVersionRuleType">
    <xs:attribute name="Version"
                  use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="2003" />
          <xs:enumeration value="2007" />
          <xs:enumeration value="2010" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>

  <xs:complexType name="CrmOutlookClientVersionRuleType">
    <xs:attribute name="Major"
                  type="xs:integer"
                  use="required"/>
    <xs:attribute name="Minor"
                  type="xs:integer"
                  use="optional"/>
    <xs:attribute name="Build"
                  type="xs:integer"
                  use="optional"/>
    <xs:attribute name="Revision"
                  type="xs:integer"
                  use="optional"/>
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>

  <xs:complexType name="PageRuleType">
    <xs:attribute name="Address"
                  type="xs:anyURI"
                  use="required" />
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>
  <xs:complexType name="PageTabRuleType">
    <xs:attribute name="Address"
                  type="xs:anyURI"
                  use="required" />
  </xs:complexType>

  <xs:complexType name="RecordPrivilegeRuleType">
    <xs:attribute name="PrivilegeType"
                  type="PrivilegeTypeType"
                  use="required" />
    <xs:attribute name="AppliesTo"
                  type="AppliesToPrimaryType"
                  use="optional" />
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>
  <xs:complexType name="EntityPrivilegeRuleType">
    <xs:attribute name="PrivilegeType"
                  type="PrivilegeTypeType"
                  use="required" />
    <xs:attribute name="PrivilegeDepth"
                  type="PrivilegeDepthType"
                  use="required" />
    <xs:attribute name="AppliesTo"
                  type="AppliesToType"
                  use="optional" />
    <xs:attribute name="EntityName"
                  type="xs:string"
                  use="optional" />
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>

  <xs:complexType name="MiscellaneousPrivilegeRuleType">
    <xs:attribute name="PrivilegeName"
                  type="xs:string"
                  use="required" />
    <xs:attribute name="PrivilegeDepth"
                  type="PrivilegeDepthType"
                  use="optional" />
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>

  <xs:complexType name="ReferencingAttributeRequiredRuleType">
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>

  <xs:complexType name="RelationshipTypeRuleType">
    <xs:attribute name="AppliesTo"
                  type="AppliesToSelectedType"
                  use="required" />
    <xs:attribute name="RelationshipType"
                  use="optional">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="OneToMany" />
          <xs:enumeration value="ManyToMany" />
          <xs:enumeration value="NoRelationship" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="AllowCustomRelationship"
                  use="optional"
                  type="xs:boolean"
                  default="true" />
    <xs:attribute name="AllowSystemRelationship"
                  use="optional"
                  type="xs:boolean"
                  default="true" />
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>

  <xs:complexType name="SelectionCountRuleType">
    <xs:attribute name="AppliesTo"
                  type="AppliesToType"
                  use="optional" />
    <xs:attribute name="Minimum"
                  type="xs:integer"
                  use="optional" />
    <xs:attribute name="Maximum"
                  type="xs:integer"
                  use="optional" />
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>

  <xs:complexType name="SkuRuleType">
    <xs:attribute name="Sku"
                  use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="OnPremise" />
          <xs:enumeration value="Online" />
          <xs:enumeration value="Spla" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>

  <xs:complexType name="ValueRuleType">
    <xs:attribute name="Field"
                  type="xs:string"
                  use="required" />
    <xs:attribute name="Value"
                  type="xs:string"
                  use="required" />
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>

  <xs:complexType name="FeatureControlRuleType">
    <xs:attribute name="FeatureControlBit"
                  type="xs:string"
                  use="required" />
    <xs:attribute name="ExpectedValue"
                  type="xs:boolean"
                  use="required" />
    <xs:attributeGroup ref="StandardRuleAttributes" />
  </xs:complexType>

  <!-- Rule Attributes -->
  <xs:attributeGroup name="StandardRuleAttributes">
    <xs:attribute name="Default"
                  type="xs:boolean"
                  use="optional" />
    <xs:attribute name="InvertResult"
                  type="xs:boolean"
                  use="optional" />
  </xs:attributeGroup>

  <!-- Rule Value Restrictions -->
  <xs:simpleType name="AppliesToType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="PrimaryEntity" />
      <xs:enumeration value="SelectedEntity" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="AppliesToPrimaryType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="PrimaryEntity" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="AppliesToSelectedType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="SelectedEntity" />
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="PrivilegeDepthType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="None" />
      <xs:enumeration value="Basic" />
      <xs:enumeration value="Local" />
      <xs:enumeration value="Deep" />
      <xs:enumeration value="Global" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PrivilegeTypeType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Create" />
      <xs:enumeration value="Read" />
      <xs:enumeration value="Write" />
      <xs:enumeration value="Delete" />
      <xs:enumeration value="Assign" />
      <xs:enumeration value="Share" />
      <xs:enumeration value="Append" />
      <xs:enumeration value="AppendTo" />
    </xs:restriction>
  </xs:simpleType>

  <!-- Parameter Types -->
  <xs:group name="ParameterType">
    <xs:choice>
      <xs:element name="BoolParameter"
                  type="BoolParameterType" />
      <xs:element name="CrmParameter"
                  type="CrmParameterType" />
      <xs:element name="DecimalParameter"
                  type="DecimalParameterType" />
      <xs:element name="IntParameter"
                  type="IntParameterType" />
      <xs:element name="StringParameter"
                  type="StringParameterType" />
    </xs:choice>
  </xs:group>
  <xs:group name="NamedParameterType">
    <xs:choice>
      <xs:element name="BoolParameter"
                  type="BoolNamedParameterType" />
      <xs:element name="CrmParameter"
                  type="CrmNamedParameterType" />
      <xs:element name="DecimalParameter"
                  type="DecimalNamedParameterType" />
      <xs:element name="IntParameter"
                  type="IntNamedParameterType" />
      <xs:element name="StringParameter"
                  type="StringNamedParameterType" />
    </xs:choice>
  </xs:group>
  <xs:complexType name="BoolParameterType">
    <xs:attribute name="Value"
                  type="xs:boolean"
                  use="required" />
  </xs:complexType>
  <xs:complexType name="BoolNamedParameterType">
    <xs:attribute name="Value"
                  type="xs:boolean"
                  use="required" />
    <xs:attribute name="Name"
                  type="xs:string"
                  use="required" />
  </xs:complexType>
  <xs:complexType name="CrmParameterType">
    <xs:attribute name="Value"
                  type="CrmParameterValue"
                  use="required" />
  </xs:complexType>
  <xs:complexType name="CrmNamedParameterType">
    <xs:attribute name="Value"
                  type="CrmNamedParameterValue"
                  use="required" />
    <xs:attribute name="Name"
                  type="xs:string"
                  use="required" />
  </xs:complexType>
  <xs:complexType name="DecimalParameterType">
    <xs:attribute name="Value"
                  type="xs:decimal"
                  use="required" />
  </xs:complexType>
  <xs:complexType name="DecimalNamedParameterType">
    <xs:attribute name="Value"
                  type="xs:decimal"
                  use="required" />
    <xs:attribute name="Name"
                  type="xs:string"
                  use="required" />
  </xs:complexType>
  <xs:complexType name="IntParameterType">
    <xs:attribute name="Value"
                  type="xs:integer"
                  use="required" />
  </xs:complexType>
  <xs:complexType name="IntNamedParameterType">
    <xs:attribute name="Value"
                  type="xs:integer"
                  use="required" />
    <xs:attribute name="Name"
                  type="xs:string"
                  use="required" />
  </xs:complexType>
  <xs:complexType name="StringParameterType">
    <xs:attribute name="Value"
                  type="xs:string"
                  use="required" />
  </xs:complexType>
  <xs:complexType name="StringNamedParameterType">
    <xs:attribute name="Value"
                  type="xs:string"
                  use="required" />
    <xs:attribute name="Name"
                  type="xs:string"
                  use="required" />
  </xs:complexType>

  <xs:simpleType name="CrmParameterValue">
    <xs:restriction base="xs:string">
      <xs:enumeration value="PrimaryEntityTypeCode" />
      <xs:enumeration value="PrimaryEntityTypeName" />
      <xs:enumeration value="PrimaryItemIds" />
      <xs:enumeration value="FirstPrimaryItemId" />
      <xs:enumeration value="PrimaryControl" />
      <xs:enumeration value="PrimaryControlId" />
      <xs:enumeration value="SelectedEntityTypeCode" />
      <xs:enumeration value="SelectedEntityTypeName" />
      <xs:enumeration value="FirstSelectedItemId" />
      <xs:enumeration value="SelectedControl" />
      <xs:enumeration value="SelectedControlSelectedItemCount" />
      <xs:enumeration value="SelectedControlSelectedItemIds" />
      <xs:enumeration value="SelectedControlSelectedItemReferences" />
      <xs:enumeration value="SelectedControlAllItemCount" />
      <xs:enumeration value="SelectedControlAllItemIds" />
      <xs:enumeration value="SelectedControlAllItemReferences" />
      <xs:enumeration value="SelectedControlUnselectedItemCount" />
      <xs:enumeration value="SelectedControlUnselectedItemIds" />
      <xs:enumeration value="SelectedControlUnselectedItemReferences" />
      <xs:enumeration value="OrgName" />
      <xs:enumeration value="OrgLcid" />
      <xs:enumeration value="UserLcid" />
      <xs:enumeration value="CommandProperties" />
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="CrmNamedParameterValue">
    <xs:restriction base="xs:string">
      <xs:enumeration value="PrimaryEntityTypeCode" />
      <xs:enumeration value="PrimaryEntityTypeName" />
      <xs:enumeration value="PrimaryItemIds" />
      <xs:enumeration value="FirstPrimaryItemId" />
      <xs:enumeration value="PrimaryControl" />
      <xs:enumeration value="PrimaryControlId" />
      <xs:enumeration value="SelectedEntityTypeCode" />
      <xs:enumeration value="SelectedEntityTypeName" />
      <xs:enumeration value="FirstSelectedItemId" />
      <xs:enumeration value="SelectedControl" />
      <xs:enumeration value="SelectedControlSelectedItemCount" />
      <xs:enumeration value="SelectedControlSelectedItemIds" />
      <xs:enumeration value="SelectedControlAllItemCount" />
      <xs:enumeration value="SelectedControlAllItemIds" />
      <xs:enumeration value="SelectedControlUnselectedItemCount" />
      <xs:enumeration value="SelectedControlUnselectedItemIds" />
      <xs:enumeration value="OrgName" />
      <xs:enumeration value="OrgLcid" />
      <xs:enumeration value="UserLcid" />
      <xs:enumeration value="CommandProperties" />
    </xs:restriction>
  </xs:simpleType>

  <!-- LocLabels Types -->
  <xs:complexType name="RibbonLocLabelsType">
    <xs:sequence minOccurs="1"
                 maxOccurs="1">
      <xs:element name="LocLabel"
                  type="RibbonLocLabelType"
                  minOccurs="0"
                  maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="RibbonLocLabelType">
    <xs:sequence minOccurs="1"
                 maxOccurs="1">
      <xs:element name="Titles"
                  type="RibbonTitlesType"
                  minOccurs="1"
                  maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="Id"
                  type="xs:string"
                  use="required" />
  </xs:complexType>
  <xs:complexType name="RibbonTitlesType">
    <xs:sequence minOccurs="1"
                 maxOccurs="1">
      <xs:element name="Title"
                  type="RibbonTitleType"
                  minOccurs="1"
                  maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="RibbonTitleType">
    <xs:attribute name="description"
                  type="xs:string"
                  use="required" />
    <xs:attribute name="languagecode"
                  type="xs:int"
                  use="required" />
  </xs:complexType>
</xs:schema>

請參閱

參照

Ribbon core schema
Ribbon WSS schema

其他資源

自訂命令和功能區
Schemas used in Microsoft Dynamics CRM
Customization XML reference

Microsoft Dynamics CRM 2016 and Microsoft Dynamics CRM Online
Send comments about this topic to Microsoft.
© 2015 Microsoft. All rights reserved.