Ribbon core schema

Applies to Dynamics 365 (online), version 9.x

The following is the schema definition for the ribbon core portion of an import/export customization file. It is included from the Customization Solutions File Schema. RibbonCore.xsd schema includes RibbonTypes.xsd and RibbonWss.xsd and you can find schema in the Schemas\9.0.0.2090\RibbonCore.xsd folder when you download the Schemas zip file.

Download the Schemas.

For more information, see Package and Distribute Extensions with Microsoft Dynamics 365 Solutions.

Ribbon Core Schema

<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="CrmRibbonCore" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="RibbonTypes.xsd" />
	<xs:include schemaLocation="RibbonWSS.xsd" />

	<!-- Root Element-->
	<xs:element name="RibbonDiffXml" type="RibbonGlobalDiffXmlType" />
	<xs:element name="CommandDefinitions" type="CommandDefinitionsType" />
	<xs:element name="RuleDefinitions" type="RuleDefinitionsGlobalType" />
	<xs:element name="Templates" type="TemplatesType" />
	<xs:element name="CustomActions" type="CustomActionsType" />

	<xs:element name="UI" type="CommandUIType">
	</xs:element>
	
	<!-- Element Types -->
	<xs:complexType name="RibbonEntityDiffXmlType">
		<xs:choice minOccurs="1" maxOccurs="1">
			<xs:sequence>
				<xs:element name="CustomActions" minOccurs="0" maxOccurs="1" type="CustomActionsType" />
				<xs:element name="Templates" type="TemplatesType" minOccurs="0" maxOccurs="1" />
				<xs:element name="CommandDefinitions" minOccurs="0" maxOccurs="1" type="CommandDefinitionsType" />
				<xs:element name="RuleDefinitions" minOccurs="0" maxOccurs="1" type="RuleDefinitionsEntityType" />
				<xs:element name="LocLabels" minOccurs="0" maxOccurs="1" type="RibbonLocLabelsType" />
			</xs:sequence>
			<xs:sequence>
				<xs:element name="RibbonNotSupported" minOccurs="1" maxOccurs="1">
					<xs:complexType>
						<xs:sequence />
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:choice>
	</xs:complexType>

	<xs:complexType name="RibbonGlobalDiffXmlType">
		<xs:sequence>
			<xs:element name="CustomActions" minOccurs="0" maxOccurs="1" type="CustomActionsType" />
			<xs:element name="Templates" type="TemplatesType" minOccurs="0" maxOccurs="1" />
			<xs:element name="CommandDefinitions" minOccurs="0" maxOccurs="1" type="CommandDefinitionsType" />
			<xs:element name="RuleDefinitions" minOccurs="0" maxOccurs="1" type="RuleDefinitionsGlobalType" />
			<xs:element name="LocLabels" minOccurs="0" maxOccurs="1" type="RibbonLocLabelsType" />
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="CustomActionsType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:element name="CustomAction" type="CustomActionType" />
			<xs:element name="HideCustomAction" type="HideCustomActionType" />
		</xs:choice>
	</xs:complexType>

	<xs:complexType name="CustomActionType">
		<xs:sequence>
			<xs:element name="CommandUIDefinition" minOccurs="1" maxOccurs="1">
				<xs:complexType>
					<xs:choice>
						<xs:element name="Button" type="ButtonType" />
						<xs:element name="CheckBox" type="CheckBoxType" />
						<xs:element name="ComboBox" type="ComboBoxType" />
						<xs:element name="ColorPicker" type="ColorPickerType" />
						<xs:element name="ContextualGroup" type="ContextualGroupType" />
						<!-- <xs:element name="ContextualTabs" type="ContextualTabsType" /> -->
						<xs:element name="Controls" type="ControlsType" />
						<xs:element name="DropDown" type="DropDownType" />
						<xs:element name="FlyoutAnchor" type="FlyoutAnchorType" />
						<xs:element name="Gallery" type="GalleryType" />
						<xs:element name="GalleryButton" type="GalleryButtonType" />
						<xs:element name="GroupTemplate" type="GroupTemplateType" />
						<xs:element name="Group" type="GroupType" />
						<xs:element name="Groups" type="GroupsType" />
						<xs:element name="InsertTable" type="InsertTableType" />
						<!-- <xs:element name="Jewel" type="JewelType" /> -->
						<xs:element name="Label" type="LabelType" />
						<xs:element name="MRUSplitButton" type="MRUSplitButtonType" />
						<xs:element name="MaxSize" type="MaxSizeType" />
						<xs:element name="Menu" type="MenuType" />
						<xs:element name="MenuSection" type="MenuSectionType" />
						<!-- <xs:element name="QAT" type="QATType" /> -->
						<!-- <xs:element name="Ribbon" type="RibbonType" /> -->
						<xs:element name="Scale" type="ScaleType" />
						<xs:element name="Scaling" type="ScalingType" />
						<xs:element name="Spinner" type="SpinnerType" />
						<xs:element name="SplitButton" type="SplitButtonType" />
						<xs:element name="Tab" type="TabType" />
						<!-- <xs:element name="Tabs" type="TabsType" /> -->
						<xs:element name="TextBox" type="TextBoxType" />
						<xs:element name="ToggleButton" type="ToggleButtonType" />
					</xs:choice>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="Id" type="xs:string" />
		<xs:attribute name="Location" type="xs:string" />
		<xs:attribute name="Sequence" type="xs:int" />
		<xs:attribute name="Title" type="xs:string" />
	</xs:complexType>

	<xs:complexType name="HideCustomActionType">
		<xs:attribute name="HideActionId" type="xs:string" />
		<xs:attribute name="Location" type="xs:string" />
		<xs:attribute name="Sequence" type="xs:int" />
		<xs:attribute name="Title" type="xs:string" />
	</xs:complexType>
</xs:schema>

See also

Customize commands and the ribbon
Ribbon core schema Ribbon types schema Ribbon WSS schema Customization Solutions File Schema