4.1 http://schemas.microsoft.com/office/2006/01/customui Schema

 <?xml version="1.0" ?>
 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="1.0"
    targetNamespace="http://schemas.microsoft.com/office/2006/01/customui"
    xmlns="http://schemas.microsoft.com/office/2006/01/customui" elementFormDefault="qualified" attributeFormDefault="unqualified">
   <xsd:annotation>
     <xsd:documentation>
       ----------------------------------------------------------------------
       Schema definition for Ribbon Extensibility
       ----------------------------------------------------------------------
     </xsd:documentation>
   </xsd:annotation>
   <xsd:annotation>
     <xsd:documentation>
       ----------------------------------------------------------------------
       Attribute types
       ----------------------------------------------------------------------
     </xsd:documentation>
   </xsd:annotation>
   <xsd:simpleType name="ST_QID">
     <xsd:annotation>
       <xsd:documentation>
         The qualified ID of a control.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:restriction base="xsd:QName">
       <xsd:minLength value="1"/>
       <xsd:maxLength value="1024"/>
     </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="ST_ID">
     <xsd:annotation>
       <xsd:documentation>
         The custom ID of a control.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:restriction base="xsd:NCName">
       <xsd:minLength value="1"/>
       <xsd:maxLength value="1024"/>
     </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="ST_UniqueID">
     <xsd:annotation>
       <xsd:documentation>
         A unique ID.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:restriction base="xsd:ID">
       <xsd:minLength value="1"/>
       <xsd:maxLength value="1024"/>
     </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="ST_Delegate">
     <xsd:annotation>
       <xsd:documentation>
         A callback. Callbacks are used to provide status, update properties or perform actions.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:restriction base="xsd:string">
       <xsd:minLength value="1"/>
       <xsd:maxLength value="1024"/>
     </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="ST_StringLength">
     <xsd:annotation>
       <xsd:documentation>
         A numeric argument for maximum string length in controls.
         String length is limited to 1024 characters.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:restriction base="xsd:positiveInteger">
       <xsd:minInclusive value="1"/>
       <xsd:maxInclusive value="1024"/>
     </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="ST_GalleryRowColumnCount">
     <xsd:annotation>
       <xsd:documentation>
         A numeric argument for the maximum number of rows or columns in galleries.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:restriction base="xsd:positiveInteger">
       <xsd:minInclusive value="1"/>
       <xsd:maxInclusive value="1024"/>
     </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="ST_GalleryItemWidthHeight">
     <xsd:annotation>
       <xsd:documentation>
         A numeric argument for the maximum width or height of a gallery item.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:restriction base="xsd:positiveInteger">
       <xsd:minInclusive value="1"/>
       <xsd:maxInclusive value="4096"/>
     </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="ST_String">
     <xsd:annotation>
       <xsd:documentation>
         A string argument.
         String length is limited to 1024 characters.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:restriction base="xsd:string">
       <xsd:minLength value="1"/>
       <xsd:maxLength value="1024"/>
     </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="ST_LongString">
     <xsd:annotation>
       <xsd:documentation>
         A long string argument.
         String length is limited to 4096 characters.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:restriction base="xsd:string">
       <xsd:minLength value="1"/>
       <xsd:maxLength value="4096"/>
     </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="ST_Uri">
     <xsd:annotation>
       <xsd:documentation>
         A string argument for a path to a file or a resource.
         String length is limited to 1024 characters.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:restriction base="xsd:string">
       <xsd:minLength value="1"/>
       <xsd:maxLength value="1024"/>
     </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="ST_Size">
     <xsd:annotation>
       <xsd:documentation>
         The size of a button. Values are "normal" or "large."
       </xsd:documentation>
     </xsd:annotation>
     <xsd:restriction base="xsd:string">
       <xsd:enumeration value="normal"/>
       <xsd:enumeration value="large"/>
     </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="ST_ItemSize">
     <xsd:annotation>
       <xsd:documentation>
         The size of items in a menu. Values are "normal" or "large."
       </xsd:documentation>
     </xsd:annotation>
     <xsd:restriction base="xsd:string">
       <xsd:enumeration value="normal"/>
       <xsd:enumeration value="large"/>
     </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="ST_BoxStyle">
     <xsd:annotation>
       <xsd:documentation>
         A box control. Values are "horizontal" or "vertical."
       </xsd:documentation>
     </xsd:annotation>
     <xsd:restriction base="xsd:string">
       <xsd:enumeration value="horizontal"/>
       <xsd:enumeration value="vertical"/>
     </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="ST_Keytip">
     <xsd:annotation>
       <xsd:documentation>
         A keytip. Value is 1-3 alphanumeric characters.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:restriction base="xsd:token">
       <xsd:minLength value="1"/>
       <xsd:maxLength value="3"/>
       <xsd:whiteSpace value="collapse"/>
     </xsd:restriction>
   </xsd:simpleType>
  
   <xsd:annotation>
     <xsd:documentation>
       ----------------------------------------------------------------------
       Attributes
       ----------------------------------------------------------------------
     </xsd:documentation>
   </xsd:annotation>
   <xsd:attributeGroup name="AG_IDCustom">
     <xsd:annotation>
       <xsd:documentation>
         Attributes for a custom control ID.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:attribute name="id" type="ST_UniqueID" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           The ID of a custom UI element. IDs must be unique.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
     <xsd:attribute name="idQ" type="ST_QID" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           A qualified control ID.  Qualified IDs allow different add-ins to modify the same custom group, tab, or menu.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
   </xsd:attributeGroup>
   <xsd:attributeGroup name="AG_IDMso">
     <xsd:annotation>
       <xsd:documentation>
         The ID of a built-in control.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:attribute name="idMso" type="ST_ID" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           The ID of a built-in control.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
   </xsd:attributeGroup>
   <xsd:attributeGroup name="AG_Tag">
     <xsd:annotation>
       <xsd:documentation>
         Custom data.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:attribute name="tag" type="ST_String" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           Custom data.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
   </xsd:attributeGroup>
   <xsd:attributeGroup name="AG_Title">
     <xsd:annotation>
       <xsd:documentation>
         The title of a menu.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:attribute name="title" type="ST_String" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           The title of a menu.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
     <xsd:attribute name="getTitle" type="ST_Delegate" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           Callback for the title of a menu.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
   </xsd:attributeGroup>
   <xsd:attributeGroup name="AG_IDAttributes">
     <xsd:annotation>
       <xsd:documentation>
         Attributes that specify control ID.
         One of id, idMso, or idQ must be specified to identify a control.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:attributeGroup ref="AG_IDCustom"/>
     <xsd:attributeGroup ref="AG_IDMso"/>
     <xsd:attributeGroup ref="AG_Tag"/>
   </xsd:attributeGroup>
   <xsd:attributeGroup name="AG_Image">
     <xsd:annotation>
       <xsd:documentation>
         The image or icon of a control.
         Image attributes are mutually exclusive - only one of
         "image", "imageMso", or "getImage" may be specified.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:attribute name="image" type="ST_Uri" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           A custom image or icon.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
     <xsd:attribute name="imageMso" type="ST_ID" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           The image of a built-in control.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
     <xsd:attribute name="getImage" type="ST_Delegate" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           Callback for a custom image.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
   </xsd:attributeGroup>
   <xsd:attributeGroup name="AG_CommonAttributes">
     <xsd:annotation>
       <xsd:documentation>
         Attributes that can be applied to all commands and controls.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:attributeGroup ref="AG_Enabled"/>
   </xsd:attributeGroup>
   <xsd:attributeGroup name="AG_PositionAttributes">
     <xsd:annotation>
       <xsd:documentation>
         Attributes that set the position of an object relative to its siblings,
         such as the position of a control within a group or position of a tab relative to other tabs.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:attribute name="insertAfterMso" type="ST_ID" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           The ID of built-in control to be inserted after.
           Mutually exclusive with InsertBeforeMso, InsertAfterQ, InsertBeforeQ.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
     <xsd:attribute name="insertBeforeMso" type="ST_ID" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           The ID of built-in control to be inserted before.
           Mutually exclusive with InsertAfterMso, InsertAfterQ, InsertBeforeQ.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
     <xsd:attribute name="insertAfterQ" type="ST_QID" use="optional" >
       <xsd:annotation>
         <xsd:documentation>
           The ID of control to be inserted after.
           Mutually exclusive with InsertAfterMso, InsertBeforeMso, InsertBeforeQ.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
     <xsd:attribute name="insertBeforeQ" type="ST_QID" use="optional" >
       <xsd:annotation>
         <xsd:documentation>
           The ID of control to be inserted before.
           Mutually exclusive with InsertAfterMso, InsertBeforeMso, InsertAfterQ.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
   </xsd:attributeGroup>
   <xsd:attributeGroup name="AG_Enabled">
     <xsd:annotation>
       <xsd:documentation>
         Attributes for a control's enabled state.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:attribute name="enabled" type="xsd:boolean" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           Whether the control is enabled.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
     <xsd:attribute name="getEnabled" type="ST_Delegate" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           Callback that returns true if the control is enabled.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
   </xsd:attributeGroup>
   <xsd:attributeGroup name="AG_Visible">
     <xsd:annotation>
       <xsd:documentation>
         Attributes for a control's visibility.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:attribute name="visible" type="xsd:boolean" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           Whether the control is visible.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
     <xsd:attribute name="getVisible" type="ST_Delegate" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           Callback that returns true if the control is visible.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
   </xsd:attributeGroup>
   <xsd:attributeGroup name="AG_Label">
     <xsd:annotation>
       <xsd:documentation>
         Attributes that set a control's label.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:attribute name="label" type="ST_String" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           Sets the label.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
     <xsd:attribute name="getLabel" type="ST_Delegate" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           Callback that sets the label.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
   </xsd:attributeGroup>
   <xsd:attributeGroup name="AG_Keytip">
     <xsd:annotation>
       <xsd:documentation>
         Attributes to set a control's keytip.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:attribute name="keytip" type="ST_Keytip" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           Sets the keytip.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
     <xsd:attribute name="getKeytip" type="ST_Delegate" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           Callback that sets the keytip.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
   </xsd:attributeGroup>
   <xsd:attributeGroup name="AG_Screentip">
     <xsd:annotation>
       <xsd:documentation>
         Attributes for a control's screentip.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:attribute name="screentip" type="ST_String" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           Sets the screentip, which appears on mouse hover.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
     <xsd:attribute name="getScreentip" type="ST_Delegate" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           Callback that sets the screentip.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
     <xsd:attribute name="supertip" type="ST_String" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           Sets the supertip, a large screentip.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
     <xsd:attribute name="getSupertip" type="ST_Delegate" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           Callback that sets the supertip, a large screentip.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
   </xsd:attributeGroup>
   <xsd:attributeGroup name="AG_Description">
     <xsd:annotation>
       <xsd:documentation>
         Attributes for the extended description of a control.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:attribute name="description" type="ST_LongString" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           Sets the extended description of the control, which appears in menus with itemSize set to large.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
     <xsd:attribute name="getDescription" type="ST_Delegate" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           Callback that sets the description.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
   </xsd:attributeGroup>
   <xsd:attributeGroup name="AG_UIAttributes">
     <xsd:annotation>
       <xsd:documentation>
         Attributes that can be applied to all controls.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:attributeGroup ref="AG_CommonAttributes"/>
     <xsd:attributeGroup ref="AG_Label"/>
     <xsd:attributeGroup ref="AG_PositionAttributes"/>
     <xsd:attributeGroup ref="AG_Visible"/>
     <xsd:attributeGroup ref="AG_Keytip"/>
   </xsd:attributeGroup>
   <xsd:attributeGroup name="AG_ItemAttributes">
     <xsd:annotation>
       <xsd:documentation>
         Common attributes that can be applied to controls and groups.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:attributeGroup ref="AG_Image"/>
     <xsd:attributeGroup ref="AG_Screentip"/>
     <xsd:attributeGroup ref="AG_UIAttributes"/>
   </xsd:attributeGroup>
   <xsd:attributeGroup name="AG_ControlAttributes">
     <xsd:annotation>
       <xsd:documentation>
         Attributes applied to controls.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:attributeGroup ref="AG_ItemAttributes"/>
     <xsd:attribute name="showLabel" type="xsd:boolean" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           Whether to show a control's label.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
     <xsd:attribute name="getShowLabel" type="ST_Delegate" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           Callback for whether to show a control's label.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
     <xsd:attribute name="showImage" type="xsd:boolean" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           Whether to show a control's image.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
     <xsd:attribute name="getShowImage" type="ST_Delegate" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           Callback for whether to show a control's image.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
   </xsd:attributeGroup>
   <xsd:attributeGroup name="AG_Action">
     <xsd:annotation>
       <xsd:documentation>
         Callback fired on user action.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:attribute name="onAction" type="ST_Delegate" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           Callback fired on user action (for example, a button press).
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
   </xsd:attributeGroup>
   <xsd:attributeGroup name="AG_SizeAttributes">
     <xsd:annotation>
       <xsd:documentation>
         A size attribute.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:attribute name="size" type="ST_Size" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           The size of a control.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
     <xsd:attribute name="getSize" type="ST_Delegate" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           Callback for a control's size.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
   </xsd:attributeGroup>
   <xsd:attributeGroup name="AG_DropDownAttributes">
     <xsd:annotation>
       <xsd:documentation>
         Common attributes for controls with dropdowns (such as comboBox, gallery, or dropDown).
       </xsd:documentation>
     </xsd:annotation>
     <xsd:attribute name="showItemImage" type="xsd:boolean" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           Whether item images are shown in the dropdown.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
     <xsd:attribute name="getItemCount" type="ST_Delegate" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           Callback for the number of items in the dropdown.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
     <xsd:attribute name="getItemLabel" type="ST_Delegate" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           Callback for an item's label.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
     <xsd:attribute name="getItemScreentip" type="ST_Delegate" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           Callback for an item's screentip.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
     <xsd:attribute name="getItemSupertip" type="ST_Delegate" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           Callback for an item's supertip.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
     <xsd:attribute name="getItemImage" type="ST_Delegate" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           Callback for an item's image.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
     <xsd:attribute name="getItemID" type="ST_Delegate" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           Callback for an item's ID.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
     <xsd:attribute name="sizeString" type="ST_String" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           A representative string that sets the control's width.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
   </xsd:attributeGroup>
   <xsd:attributeGroup name="AG_GetContentAttributes">
     <xsd:annotation>
       <xsd:documentation>
         Attributes for dynamic controls that support the getContent callback.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:attribute name="getContent" type="ST_Delegate" use="required">
       <xsd:annotation>
         <xsd:documentation>
           Callback that returns the dynamic content for this control.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
   </xsd:attributeGroup>
   <xsd:attributeGroup name="AG_DynamicContentAttributes">
     <xsd:annotation>
       <xsd:documentation>
         Attributes for controls that support dynamic content.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:attribute name="invalidateContentOnDrop" type="xsd:boolean" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           Whether to fire callback for dynamic content each time the control is dropped.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
   </xsd:attributeGroup>
  
   <xsd:annotation>
     <xsd:documentation>
       ----------------------------------------------------------------------
       Global settings
       ----------------------------------------------------------------------
     </xsd:documentation>
   </xsd:annotation>
   <xsd:complexType name="CT_Command" mixed="false">
     <xsd:annotation>
       <xsd:documentation>
         Attribute overrides for all controls with specified built-in ID.
         For example
         &lt;command idMso="Print" enabled="false"&gt;
         disables all instances of the Print button.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:attributeGroup ref="AG_Action"/>
     <xsd:attributeGroup ref="AG_Enabled"/>
     <xsd:attributeGroup ref="AG_IDMso"/>
   </xsd:complexType>
  
   <xsd:annotation>
     <xsd:documentation>
       ----------------------------------------------------------------------
       Controls
       ----------------------------------------------------------------------
     </xsd:documentation>
   </xsd:annotation>
   <xsd:complexType name="CT_ControlBase">
     <xsd:annotation>
       <xsd:documentation>
         Base control type.
         Doesn't define ID attributes.
         Abstract type, not to be used directly.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:attributeGroup ref="AG_ControlAttributes"/>
   </xsd:complexType>
   <xsd:complexType name="CT_Control">
     <xsd:annotation>
       <xsd:documentation>
         A type of control that can be used to
         enable, disable, or clone an existing control.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:complexContent>
       <xsd:extension base="CT_ControlBase">
         <xsd:attributeGroup ref="AG_IDAttributes"/>
       </xsd:extension>
     </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="CT_ControlCloneRegular">
     <xsd:annotation>
       <xsd:documentation>
         A clone of a built-in control.
         Only the most common attributes can be applied here; to set
         control-specific properties the actual control type must be specified.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:complexContent>
       <xsd:restriction base="CT_Control">
         <xsd:attribute name="id" use="prohibited">
           <xsd:annotation>
             <xsd:documentation>
               Custom controls can't be cloned.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
       </xsd:restriction>
     </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="CT_ControlClone">
     <xsd:annotation>
       <xsd:documentation>
         A clone of built-in control that can be sized.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:complexContent>
       <xsd:restriction base="CT_Button">
         <xsd:attribute name="id" use="prohibited">
           <xsd:annotation>
             <xsd:documentation>
               Custom controls can't be cloned.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attribute name="onAction" use="prohibited">
           <xsd:annotation>
             <xsd:documentation>
               OnAction does not apply to 'control'.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
       </xsd:restriction>
     </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="CT_LabelControl">
     <xsd:annotation>
       <xsd:documentation>
         Shows text and/or icon but can't have any associated actions.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:complexContent>
       <xsd:restriction base="CT_Control">
         <xsd:attribute name="image" use="prohibited">
           <xsd:annotation>
             <xsd:documentation>
               Image does not apply to labelControl.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attribute name="imageMso" use="prohibited">
           <xsd:annotation>
             <xsd:documentation>
               ImageMso does not apply to labelControl.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attribute name="getImage" use="prohibited">
           <xsd:annotation>
             <xsd:documentation>
               GetImage does not apply to labelControl.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attribute name="keytip" use="prohibited">
           <xsd:annotation>
             <xsd:documentation>
               Keytip does not apply to labelControl.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attribute name="getKeytip" use="prohibited">
           <xsd:annotation>
             <xsd:documentation>
               GetKeyTip does not apply to labelControl.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attribute name="showImage" use="prohibited">
           <xsd:annotation>
             <xsd:documentation>
               ShowImage does not apply to labelControl.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attribute name="getShowImage" use="prohibited">
           <xsd:annotation>
             <xsd:documentation>
               GetShowImage does not apply to labelControl.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
       </xsd:restriction>
     </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="CT_ButtonRegular">
     <xsd:annotation>
       <xsd:documentation>
         A fixed-size button.
         Size of this button is determined by its container such as a menu.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:complexContent>
       <xsd:extension base="CT_Control">
         <xsd:attributeGroup ref="AG_Action"/>
         <xsd:attributeGroup ref="AG_Enabled"/>
         <xsd:attributeGroup ref="AG_Description"/>
         <xsd:attributeGroup ref="AG_Image"/>
       </xsd:extension>
     </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="CT_Button">
     <xsd:annotation>
       <xsd:documentation>
         A push-type button.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:complexContent>
       <xsd:extension base="CT_ButtonRegular">
         <xsd:attributeGroup ref="AG_SizeAttributes"/>
       </xsd:extension>
     </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="CT_VisibleButton">
     <xsd:annotation>
       <xsd:documentation>
         A button which is always visible.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:complexContent>
       <xsd:restriction base="CT_ButtonRegular">
         <xsd:attribute name="visible" use="prohibited">
           <xsd:annotation>
             <xsd:documentation>
               Visible does not apply to these buttons.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attribute name="getVisible" use="prohibited">
           <xsd:annotation>
             <xsd:documentation>
               GetVisible does not apply to these buttons.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
       </xsd:restriction>
     </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="CT_ToggleButtonRegular">
     <xsd:annotation>
       <xsd:documentation>
         A fixed-size button with an on/off state like the 'Bold' button.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:complexContent>
       <xsd:extension base="CT_ButtonRegular">
         <xsd:attribute name="getPressed" type="ST_Delegate" use="optional">
           <xsd:annotation>
             <xsd:documentation>
               Callback for whether the button is pressed.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
       </xsd:extension>
     </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="CT_ToggleButton">
     <xsd:annotation>
       <xsd:documentation>
         A button with an on/off state that can be sized.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:complexContent>
       <xsd:extension base="CT_ToggleButtonRegular">
         <xsd:attributeGroup ref="AG_SizeAttributes"/>
       </xsd:extension>
     </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="CT_VisibleToggleButton">
     <xsd:annotation>
       <xsd:documentation>
         A toggleButton which is always visible.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:complexContent>
       <xsd:restriction base="CT_ToggleButtonRegular">
         <xsd:attribute name="visible" use="prohibited">
           <xsd:annotation>
             <xsd:documentation>
               Visible does not apply to these buttons.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attribute name="getVisible" use="prohibited">
           <xsd:annotation>
             <xsd:documentation>
               GetVisible does not apply to these buttons.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
       </xsd:restriction>
     </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="CT_CheckBox">
     <xsd:annotation>
       <xsd:documentation>
         A check box.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:complexContent>
       <xsd:restriction base="CT_ToggleButtonRegular">
         <xsd:attribute name="image" use="prohibited">
           <xsd:annotation>
             <xsd:documentation>
               Image does not apply to checkBox.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attribute name="imageMso" use="prohibited">
           <xsd:annotation>
             <xsd:documentation>
               ImageMso does not apply to checkBox.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attribute name="getImage" use="prohibited">
           <xsd:annotation>
             <xsd:documentation>
               does not apply to checkBox.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attribute name="showImage" use="prohibited">
           <xsd:annotation>
             <xsd:documentation>
               ShowImage does not apply to checkBox.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attribute name="getShowImage" use="prohibited">
           <xsd:annotation>
             <xsd:documentation>
               GetShowImage does not apply to checkBox.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attribute name="showLabel" use="prohibited">
           <xsd:annotation>
             <xsd:documentation>
               ShowLabel does not apply to checkBox.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attribute name="getShowLabel" use="prohibited">
           <xsd:annotation>
             <xsd:documentation>
               GetShowLabel does not apply to checkBox.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
       </xsd:restriction>
     </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="CT_EditBox">
     <xsd:annotation>
       <xsd:documentation>
         An editBox.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:complexContent>
       <xsd:extension base="CT_Control">
         <xsd:attributeGroup ref="AG_Enabled"/>
         <xsd:attributeGroup ref="AG_Image"/>
         <xsd:attribute name="maxLength" type="ST_StringLength" use="optional">
           <xsd:annotation>
             <xsd:documentation>
               The maximum number of characters the user may enter.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attribute name="getText" type="ST_Delegate" use="optional">
           <xsd:annotation>
             <xsd:documentation>
               Callback for to populate text in the edit box before the user edits it.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attribute name="onChange" type="ST_Delegate" use="optional">
           <xsd:annotation>
             <xsd:documentation>
               Callback that fires when the user changes the editBox content.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attribute name="sizeString" type="ST_String" use="optional">
           <xsd:annotation>
             <xsd:documentation>
               A representative string that sets the control's width.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
       </xsd:extension>
     </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="CT_Item">
     <xsd:annotation>
       <xsd:documentation>
         An item in a dropdown-type control.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:attribute name="id" type="ST_UniqueID" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           The ID of an item.  Items cannot use idMso or idQ.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
     <xsd:attribute name="label" type="ST_String" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           An item label.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
     <xsd:attribute name="image" type="ST_Uri" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           An item image.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
     <xsd:attribute name="imageMso" type="ST_ID" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           A built-in image.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
     <xsd:attribute name="screentip" type="ST_String" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           The screentip.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
     <xsd:attribute name="supertip" type="ST_String" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           The supertip.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
   </xsd:complexType>
   <xsd:complexType name="CT_ComboBox">
     <xsd:annotation>
       <xsd:documentation>
         A comboBox control.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:complexContent>
       <xsd:extension base="CT_EditBox">
         <xsd:sequence>
           <xsd:element name="item" type="CT_Item" minOccurs="0" maxOccurs="1000">
             <xsd:annotation>
               <xsd:documentation>
                 An item in a comboBox.
                 When selected, the label of the item becomes text content of the comboBox.
               </xsd:documentation>
             </xsd:annotation>
           </xsd:element>
         </xsd:sequence>
         <xsd:attributeGroup ref="AG_DropDownAttributes"/>
         <xsd:attributeGroup ref="AG_DynamicContentAttributes"/>
       </xsd:extension>
     </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="CT_DropDownRegular">
     <xsd:annotation>
       <xsd:documentation>
         A dropdown-type control with a fixed size.
         Contains items followed by buttons.
         OnAction reports the selected item.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:complexContent>
       <xsd:extension base="CT_Control">
         <xsd:sequence>
           <xsd:element name="item" type="CT_Item" minOccurs="0" maxOccurs="1000">
             <xsd:annotation>
               <xsd:documentation>
                 item in the dropdown.
               </xsd:documentation>
             </xsd:annotation>
           </xsd:element>
           <xsd:element name="button" type="CT_ButtonRegular" minOccurs="0" maxOccurs="16">
             <xsd:annotation>
               <xsd:documentation>
                 Button in footer of dropdown.
               </xsd:documentation>
             </xsd:annotation>
           </xsd:element>
         </xsd:sequence>
         <xsd:attributeGroup ref="AG_Action"/>
         <xsd:attributeGroup ref="AG_Enabled"/>
         <xsd:attributeGroup ref="AG_Image"/>
         <xsd:attributeGroup ref="AG_DropDownAttributes"/>
         <xsd:attribute name="getSelectedItemID" type="ST_Delegate" use="optional">
           <xsd:annotation>
             <xsd:documentation>
               Callback that returns the ID of currently selected item.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attribute name="getSelectedItemIndex" type="ST_Delegate" use="optional">
           <xsd:annotation>
             <xsd:documentation>
               Callback that returns the index of currently selected item.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attribute name="showItemLabel" type="xsd:boolean" use="optional">
           <xsd:annotation>
             <xsd:documentation>
               Whether the label is shown or hidden on dropdown items.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
       </xsd:extension>
     </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="CT_GalleryRegular">
     <xsd:annotation>
       <xsd:documentation>
         A dropdown grid control that can be sized.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:complexContent>
       <xsd:extension base="CT_DropDownRegular">
         <xsd:attributeGroup ref="AG_Description"/>
         <xsd:attributeGroup ref="AG_DynamicContentAttributes"/>
         <xsd:attribute name="columns" type="ST_GalleryRowColumnCount" use="optional">
           <xsd:annotation>
             <xsd:documentation>
               Number of columns in dropdown gallery.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attribute name="rows" type="ST_GalleryRowColumnCount" use="optional">
           <xsd:annotation>
             <xsd:documentation>
               Number of rows in dropdown gallery.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attribute name="itemWidth" type="ST_GalleryItemWidthHeight" use="optional">
           <xsd:annotation>
             <xsd:documentation>
               Item width in pixels.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attribute name="itemHeight" type="ST_GalleryItemWidthHeight" use="optional">
           <xsd:annotation>
             <xsd:documentation>
               Item height in pixels.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attribute name="getItemWidth" type="ST_Delegate" use="optional">
           <xsd:annotation>
             <xsd:documentation>
               Callback that returns the item width.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attribute name="getItemHeight" type="ST_Delegate" use="optional">
           <xsd:annotation>
             <xsd:documentation>
               Callback that returns the item height.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attribute name="showItemLabel" type="xsd:boolean" use="optional">
           <xsd:annotation>
             <xsd:documentation>
               Whether the label is shown or hidden on gallery items.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
       </xsd:extension>
     </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="CT_Gallery">
     <xsd:annotation>
       <xsd:documentation>
         A gallery control.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:complexContent>
       <xsd:extension base="CT_GalleryRegular">
         <xsd:attributeGroup ref="AG_SizeAttributes"/>
       </xsd:extension>
     </xsd:complexContent>
   </xsd:complexType>
   <xsd:group name="EG_MenuControlsBase">
     <xsd:annotation>
       <xsd:documentation>
         A group of controls allowed in all menus.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:choice>
       <xsd:element name="control" type="CT_ControlCloneRegular">
         <xsd:annotation>
           <xsd:documentation>
             Control can enable, disable, or clone built-in controls.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
       <xsd:element name="button" type="CT_ButtonRegular">
         <xsd:annotation>
           <xsd:documentation>
             Button control.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
       <xsd:element name="checkBox" type="CT_CheckBox" >
         <xsd:annotation>
           <xsd:documentation>
             CheckBox control.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
       <xsd:element name="gallery" type="CT_GalleryRegular">
         <xsd:annotation>
           <xsd:documentation>
             Gallery control.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
       <xsd:element name="toggleButton" type="CT_ToggleButtonRegular">
         <xsd:annotation>
           <xsd:documentation>
             ToggleButton control.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
       <xsd:element name="menuSeparator" type="CT_MenuSeparator">
         <xsd:annotation>
           <xsd:documentation>
             Control group separator.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
     </xsd:choice>
   </xsd:group>
   <xsd:group name="EG_MenuOrSplitButtonRegular">
     <xsd:annotation>
       <xsd:documentation>
         Defines menu or splitButton controls.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:choice>
       <xsd:element name="splitButton" type="CT_SplitButtonRegular" >
         <xsd:annotation>
           <xsd:documentation>
             SplitButton control.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
       <xsd:element name="menu" type="CT_MenuRegular">
         <xsd:annotation>
           <xsd:documentation>
             Menu.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
       <xsd:element name="dynamicMenu" type="CT_DynamicMenuRegular">
         <xsd:annotation>
           <xsd:documentation>
             DynamicMenu.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
     </xsd:choice>
   </xsd:group>
   <xsd:group name="EG_MenuOrSplitButtonWithTitle">
     <xsd:annotation>
       <xsd:documentation>
         Menu or split button controls with title.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:choice>
       <xsd:element name="splitButton" type="CT_SplitButtonWithTitle" >
         <xsd:annotation>
           <xsd:documentation>
             SplitButton control.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
       <xsd:element name="menu" type="CT_MenuWithTitle">
         <xsd:annotation>
           <xsd:documentation>
             Menu.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
       <xsd:element name="dynamicMenu" type="CT_DynamicMenuRegular">
         <xsd:annotation>
           <xsd:documentation>
             DynamicMenu.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
     </xsd:choice>
   </xsd:group>
   <xsd:complexType name="CT_OfficeMenu">
     <xsd:annotation>
       <xsd:documentation>
         The OfficeMenu control.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
       <xsd:choice minOccurs="0" maxOccurs="1000">
         <xsd:group ref="EG_MenuControlsBase"/>
         <xsd:group ref="EG_MenuOrSplitButtonWithTitle"/>
       </xsd:choice>
     </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="CT_MenuRegular">
     <xsd:annotation>
       <xsd:documentation>
         A menu with a fixed-size button.
         Contains one or more controls or other menus.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:complexContent>
       <xsd:extension base="CT_ControlBase">
         <xsd:sequence>
           <xsd:choice minOccurs="0" maxOccurs="1000">
             <xsd:group ref="EG_MenuControlsBase"/>
             <xsd:group ref="EG_MenuOrSplitButtonRegular"/>
           </xsd:choice>
         </xsd:sequence>
         <xsd:attribute name="itemSize" type="ST_ItemSize" use="optional">
           <xsd:annotation>
             <xsd:documentation>
               The size of menu items.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attributeGroup ref="AG_Description"/>
         <xsd:attributeGroup ref="AG_IDAttributes"/>
       </xsd:extension>
     </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="CT_DynamicMenuRegular">
     <xsd:annotation>
       <xsd:documentation>
         A dynamicMenu with a fixed-size button.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:complexContent>
       <xsd:extension base="CT_ControlBase">
         <xsd:attributeGroup ref="AG_Description"/>
         <xsd:attributeGroup ref="AG_IDAttributes"/>
         <xsd:attributeGroup ref="AG_GetContentAttributes"/>
         <xsd:attributeGroup ref="AG_DynamicContentAttributes"/>
       </xsd:extension>
     </xsd:complexContent>
   </xsd:complexType>
  
   <xsd:complexType name="CT_MenuWithTitle">
     <xsd:annotation>
       <xsd:documentation>
         A menu with a fixed-size button.
         Contains one or more controls or other menus and has a 'title' attribute.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:complexContent>
       <xsd:extension base="CT_ControlBase">
         <xsd:sequence>
           <xsd:choice minOccurs="0" maxOccurs="1000">
             <xsd:group ref="EG_MenuControlsBase"/>
             <xsd:group ref="EG_MenuOrSplitButtonWithTitle"/>
           </xsd:choice>
         </xsd:sequence>
         <xsd:attributeGroup ref="AG_IDAttributes"/>
         <xsd:attribute name="itemSize" type="ST_ItemSize" use="optional">
           <xsd:annotation>
             <xsd:documentation>
               The size of menu items.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attributeGroup ref="AG_Title"/>
       </xsd:extension>
     </xsd:complexContent>
   </xsd:complexType>
  
   <xsd:complexType name="CT_Menu">
     <xsd:annotation>
       <xsd:documentation>
         A menu with a button that can be sized.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:complexContent>
       <xsd:extension base="CT_MenuRegular">
         <xsd:attributeGroup ref="AG_SizeAttributes"/>
         <xsd:attribute name="itemSize" type="ST_ItemSize" use="optional">
           <xsd:annotation>
             <xsd:documentation>
               The size of menu items. Large menu items show the 'description' attribute inline.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
       </xsd:extension>
     </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="CT_DynamicMenu">
     <xsd:annotation>
       <xsd:documentation>
         A dynamicMenu with a button that can be sized.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:complexContent>
       <xsd:extension base="CT_DynamicMenuRegular">
         <xsd:attributeGroup ref="AG_SizeAttributes"/>
       </xsd:extension>
     </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="CT_SplitButtonBase">
     <xsd:annotation>
       <xsd:documentation>
         A splitButton-type control with a fixed-size.
         SplitButton contains a button or toggleButton and a menu.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:complexContent>
       <xsd:extension base="CT_Control">
         <xsd:attributeGroup ref="AG_Enabled"/>
       </xsd:extension>
     </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="CT_SplitButtonRestricted">
     <xsd:annotation>
       <xsd:documentation>
         Attributes that do not apply to splitButton.
         They are inherited from the button inside of the splitButton.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:complexContent>
       <xsd:restriction base="CT_SplitButtonBase">
         <xsd:attribute name="label" use="prohibited">
           <xsd:annotation>
             <xsd:documentation>
               Label does not apply to splitButton, set it on the button inside the splitButton.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attribute name="getLabel" use="prohibited">
           <xsd:annotation>
             <xsd:documentation>
               GetLabel inherited from button inside splitButton.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attribute name="screentip" use="prohibited">
           <xsd:annotation>
             <xsd:documentation>
               Screentip inherited from button inside splitButton.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attribute name="getScreentip" use="prohibited">
           <xsd:annotation>
             <xsd:documentation>
               GetScreentip inherited from button inside splitButton.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attribute name="supertip" use="prohibited">
           <xsd:annotation>
             <xsd:documentation>
               Supertip inherited from button inside splitButton.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attribute name="getSupertip" use="prohibited">
           <xsd:annotation>
             <xsd:documentation>
               GetSuperTip inherited from button inside splitButton.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attribute name="image" use="prohibited">
           <xsd:annotation>
             <xsd:documentation>
               Image inherited from button inside splitButton.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attribute name="imageMso" use="prohibited">
           <xsd:annotation>
             <xsd:documentation>
               ImageMso inherited from button inside splitButton.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attribute name="getImage" use="prohibited">
           <xsd:annotation>
             <xsd:documentation>
               GetImage inherited from button inside splitButton.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attribute name="showImage" use="prohibited">
           <xsd:annotation>
             <xsd:documentation>
               ShowImage inherited from button inside splitButton.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
         <xsd:attribute name="getShowImage" use="prohibited">
           <xsd:annotation>
             <xsd:documentation>
               GetShowImage inherited from button inside splitButton.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:attribute>
       </xsd:restriction>
     </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="CT_SplitButtonRegular">
     <xsd:annotation>
       <xsd:documentation>
         A splitButton with a fixed-size.
         SplitButton contains a button or toggleButton and a menu.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:complexContent>
       <xsd:extension base="CT_SplitButtonRestricted">
         <xsd:sequence minOccurs="0">
           <xsd:choice minOccurs="0" >
             <xsd:element name="button" type="CT_VisibleButton">
               <xsd:annotation>
                 <xsd:documentation>
                   Button.
                 </xsd:documentation>
               </xsd:annotation>
             </xsd:element>
             <xsd:element name="toggleButton" type="CT_VisibleToggleButton" >
               <xsd:annotation>
                 <xsd:documentation>
                   ToggleButton.
                 </xsd:documentation>
               </xsd:annotation>
             </xsd:element>
           </xsd:choice>
           <xsd:element name="menu" type="CT_MenuRegular" >
             <xsd:annotation>
               <xsd:documentation>
                 Menu.
               </xsd:documentation>
             </xsd:annotation>
           </xsd:element>
         </xsd:sequence>
       </xsd:extension>
     </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="CT_SplitButtonWithTitle">
     <xsd:annotation>
       <xsd:documentation>
         A splitButton with a fixed-size, and title attribute.
         SplitButton contains a button or toggleButton and a menu.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:complexContent>
       <xsd:extension base="CT_SplitButtonRestricted">
         <xsd:sequence minOccurs="0">
           <xsd:choice minOccurs="0" >
             <xsd:element name="button" type="CT_VisibleButton">
               <xsd:annotation>
                 <xsd:documentation>
                   Button.
                 </xsd:documentation>
               </xsd:annotation>
             </xsd:element>
             <xsd:element name="toggleButton"
                                                                                 type="CT_VisibleToggleButton" >
               <xsd:annotation>
                 <xsd:documentation>
                   ToggleButton.
                 </xsd:documentation>
               </xsd:annotation>
             </xsd:element>
           </xsd:choice>
           <xsd:element name="menu" type="CT_MenuWithTitle" >
             <xsd:annotation>
               <xsd:documentation>
                 Menu.
               </xsd:documentation>
             </xsd:annotation>
           </xsd:element>
         </xsd:sequence>
       </xsd:extension>
     </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="CT_SplitButton">
     <xsd:annotation>
       <xsd:documentation>
         A splitButton that can be sized.
         SplitButton contains a button or toggleButton and a menu.
  
       </xsd:documentation>
     </xsd:annotation>
     <xsd:complexContent>
       <xsd:extension base="CT_SplitButtonRegular">
         <xsd:attributeGroup ref="AG_SizeAttributes"/>
       </xsd:extension>
     </xsd:complexContent>
   </xsd:complexType>
   <xsd:group name="EG_Controls">
     <xsd:annotation>
       <xsd:documentation>
         Control types.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:choice>
       <xsd:element name="control" type="CT_ControlClone">
         <xsd:annotation>
           <xsd:documentation>
             Control element can enable, disable or clone built-in controls.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
       <xsd:element name="labelControl" type="CT_LabelControl" >
         <xsd:annotation>
           <xsd:documentation>
             LabelControl.
             Shows text and/or image.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
       <xsd:element name="button" type="CT_Button" >
         <xsd:annotation>
           <xsd:documentation>
             Button control.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
       <xsd:element name="toggleButton" type="CT_ToggleButton" >
         <xsd:annotation>
           <xsd:documentation>
             ToggleButton control, a button with on/off state.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
       <xsd:element name="checkBox" type="CT_CheckBox" >
         <xsd:annotation>
           <xsd:documentation>
             CheckBox control.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
       <xsd:element name="editBox" type="CT_EditBox" >
         <xsd:annotation>
           <xsd:documentation>
             EditBox control.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
       <xsd:element name="comboBox" type="CT_ComboBox" >
         <xsd:annotation>
           <xsd:documentation>
             ComboBox control.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
       <xsd:element name="dropDown" type="CT_DropDownRegular" >
         <xsd:annotation>
           <xsd:documentation>
             DropDown control.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
       <xsd:element name="gallery" type="CT_Gallery" >
         <xsd:annotation>
           <xsd:documentation>
             Gallery control.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
       <xsd:element name="menu" type="CT_Menu" >
         <xsd:annotation>
           <xsd:documentation>
             Menu control.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
       <xsd:element name="dynamicMenu" type="CT_DynamicMenu" >
         <xsd:annotation>
           <xsd:documentation>
             DynamicMenu control.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
       <xsd:element name="splitButton" type="CT_SplitButton" >
         <xsd:annotation>
           <xsd:documentation>
             SplitButton control.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
       <xsd:element name="box" type="CT_Box" >
         <xsd:annotation>
           <xsd:documentation>
             Box control.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
       <xsd:element name="buttonGroup" type="CT_ButtonGroup" >
         <xsd:annotation>
           <xsd:documentation>
             ButtonGroup control.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
     </xsd:choice>
   </xsd:group>
  
   <xsd:annotation>
     <xsd:documentation>
       ----------------------------------------------------------------------
       Containers
       ----------------------------------------------------------------------
     </xsd:documentation>
   </xsd:annotation>
   <xsd:complexType name="CT_DialogLauncher">
     <xsd:annotation>
       <xsd:documentation>
         Opens a dialog related to its parent group.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
       <xsd:element name="button" type="CT_ButtonRegular" minOccurs="1" maxOccurs="1">
         <xsd:annotation>
           <xsd:documentation>
             Opens a dialog related to its parent group.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
     </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="CT_Box">
     <xsd:annotation>
       <xsd:documentation>
         A box control, useful for grouping controls horizontally and vertically.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:group ref="EG_Controls" minOccurs="0" maxOccurs="1000" />
     <xsd:attributeGroup ref="AG_IDCustom"/>
     <xsd:attributeGroup ref="AG_Visible"/>
     <xsd:attributeGroup ref="AG_PositionAttributes"/>
     <xsd:attribute name="boxStyle" type="ST_BoxStyle" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           Flow of controls inside the box.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
   </xsd:complexType>
   <xsd:complexType name="CT_Separator">
     <xsd:annotation>
       <xsd:documentation>
         An in-Ribbon separator. Renders as a vertical bar.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:attributeGroup ref="AG_IDCustom"/>
     <xsd:attributeGroup ref="AG_Visible"/>
     <xsd:attributeGroup ref="AG_PositionAttributes"/>
   </xsd:complexType>
   <xsd:complexType name="CT_MenuSeparator">
     <xsd:annotation>
       <xsd:documentation>
         A menuSeparator. Renders as a horizontal bar.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:attributeGroup ref="AG_IDCustom"/>
     <xsd:attributeGroup ref="AG_PositionAttributes"/>
     <xsd:attributeGroup ref="AG_Title"/>
   </xsd:complexType>
   <xsd:complexType name="CT_ButtonGroup">
     <xsd:annotation>
       <xsd:documentation>
         A ButtonGroup. A horizontal box with special visual appearance.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
       <xsd:choice minOccurs="0" maxOccurs="1000">
         <xsd:element name="control" type="CT_ControlCloneRegular">
           <xsd:annotation>
             <xsd:documentation>
               Control element can enable, disable or clone built-in controls.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:element>
         <xsd:element name="button" type="CT_ButtonRegular" >
           <xsd:annotation>
             <xsd:documentation>
               Button.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:element>
         <xsd:element name="toggleButton" type="CT_ToggleButtonRegular" >
           <xsd:annotation>
             <xsd:documentation>
               ToggleButton control, a button with on/off state.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:element>
         <xsd:element name="gallery" type="CT_GalleryRegular">
           <xsd:annotation>
             <xsd:documentation>
               Gallery control.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:element>
         <xsd:element name="menu" type="CT_MenuRegular">
           <xsd:annotation>
             <xsd:documentation>
               Menu control.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:element>
         <xsd:element name="dynamicMenu" type="CT_DynamicMenuRegular">
           <xsd:annotation>
             <xsd:documentation>
               DynamicMenu control.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:element>
         <xsd:element name="splitButton" type="CT_SplitButtonRegular">
           <xsd:annotation>
             <xsd:documentation>
               SplitButton control.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:element>
       </xsd:choice>
     </xsd:sequence>
     <xsd:attributeGroup ref="AG_IDCustom"/>
     <xsd:attributeGroup ref="AG_Visible"/>
     <xsd:attributeGroup ref="AG_PositionAttributes"/>
   </xsd:complexType>
   <xsd:complexType name="CT_Group">
     <xsd:annotation>
       <xsd:documentation>
         A group.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
       <xsd:sequence>
         <xsd:choice minOccurs="0" maxOccurs="1000">
           <xsd:group ref="EG_Controls"/>
           <xsd:element name="separator" type="CT_Separator">
             <xsd:annotation>
               <xsd:documentation>
                 Separator control.
               </xsd:documentation>
             </xsd:annotation>
           </xsd:element>
         </xsd:choice>
       </xsd:sequence>
       <xsd:element name="dialogBoxLauncher" type="CT_DialogLauncher" minOccurs="0" maxOccurs="1">
         <xsd:annotation>
           <xsd:documentation>
             DialogBoxLauncher. Opens a dialog related to its parent group.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
     </xsd:sequence>
     <xsd:attributeGroup ref="AG_IDAttributes"/>
     <xsd:attributeGroup ref="AG_Label"/>
     <xsd:attributeGroup ref="AG_Image"/>
     <xsd:attributeGroup ref="AG_PositionAttributes"/>
     <xsd:attributeGroup ref="AG_Screentip"/>
     <xsd:attributeGroup ref="AG_Visible"/>
     <xsd:attributeGroup ref="AG_Keytip"/>
   </xsd:complexType>
   <xsd:complexType name="CT_Tab">
     <xsd:annotation>
       <xsd:documentation>
         A tab that contains groups.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
       <xsd:choice minOccurs="0" maxOccurs="100">
         <xsd:element name="group" type="CT_Group">
           <xsd:annotation>
             <xsd:documentation>
               Group. Contains controls.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:element>
       </xsd:choice>
     </xsd:sequence>
     <xsd:attributeGroup ref="AG_IDAttributes"/>
     <xsd:attributeGroup ref="AG_Label"/>
     <xsd:attributeGroup ref="AG_PositionAttributes"/>
     <xsd:attributeGroup ref="AG_Visible"/>
     <xsd:attributeGroup ref="AG_Keytip"/>
   </xsd:complexType>
   <xsd:complexType name="CT_QatItems">
     <xsd:annotation>
       <xsd:documentation>
         Quick Access Toolbar items (shared or document-specific).
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
       <xsd:choice minOccurs="0" maxOccurs="1000">
         <xsd:element name="control" type="CT_ControlClone">
           <xsd:annotation>
             <xsd:documentation>
               Control element can enable, disable or clone built-in controls.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:element>
         <xsd:element name="button" type="CT_ButtonRegular">
           <xsd:annotation>
             <xsd:documentation>
               Button control.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:element>
         <xsd:element name="separator" type="CT_Separator">
           <xsd:annotation>
             <xsd:documentation>
               Control group separator.
             </xsd:documentation>
           </xsd:annotation>
         </xsd:element>
       </xsd:choice>
     </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="CT_Qat">
     <xsd:annotation>
       <xsd:documentation>
         The Quick Access Toolbar.
         Two control collections: 1) Shared - applied to all windows and documents and 2) Document - attached to a document.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
       <xsd:element name="sharedControls" type="CT_QatItems" minOccurs="0" >
         <xsd:annotation>
           <xsd:documentation>
             Set of controls shared between all windows or instances of the application.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
       <xsd:element name="documentControls" type="CT_QatItems" minOccurs="0" >
         <xsd:annotation>
           <xsd:documentation>
             Set of controls attached to the current document.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
     </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="CT_Tabs">
     <xsd:annotation>
       <xsd:documentation>
         A collection of tabs.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
       <xsd:element name="tab" type="CT_Tab" minOccurs="1" maxOccurs="100">
         <xsd:annotation>
           <xsd:documentation>
             Tab.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
     </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="CT_TabSet">
     <xsd:annotation>
       <xsd:documentation>
         A collection of contextual tab sets.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
       <xsd:element name="tab" type="CT_Tab" minOccurs="0" maxOccurs="50">
         <xsd:annotation>
           <xsd:documentation>
             A Contextual Tab.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
     </xsd:sequence>
     <xsd:attribute name="idMso" type="ST_ID" use="required">
       <xsd:annotation>
         <xsd:documentation>
           The ID of a built-in control.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
     <xsd:attributeGroup ref="AG_Visible"/>
   </xsd:complexType>
   <xsd:complexType name="CT_ContextualTabs">
     <xsd:annotation>
       <xsd:documentation>
         A collection of contextual tab sets.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
       <xsd:element name="tabSet" type="CT_TabSet" minOccurs="1" maxOccurs="100">
         <xsd:annotation>
           <xsd:documentation>
             TabSet.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
     </xsd:sequence>
   </xsd:complexType>
  
   <xsd:annotation>
     <xsd:documentation>
       ----------------------------------------------------------------------
       Root elements
       ----------------------------------------------------------------------
     </xsd:documentation>
   </xsd:annotation>
  
   <xsd:complexType name="CT_Commands">
     <xsd:annotation>
       <xsd:documentation>
         A collection of Command elements.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
       <xsd:element name="command" type="CT_Command" minOccurs="1" maxOccurs="5000">
         <xsd:annotation>
           <xsd:documentation>
             Attribute overrides for all controls with specified idMso.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
     </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="CT_Ribbon">
     <xsd:annotation>
       <xsd:documentation>
         The Ribbon which contains the tabs, contextualTabs, officeMenu, and qat control types.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:all>
       <xsd:element name="officeMenu" type="CT_OfficeMenu" minOccurs="0" maxOccurs="1">
         <xsd:annotation>
           <xsd:documentation>
             OfficeMenu.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
       <xsd:element name="qat" type="CT_Qat" minOccurs="0" maxOccurs="1">
         <xsd:annotation>
           <xsd:documentation>
             The Quick Access Toolbar.
             Two control collections: 1) Shared - applied to all windows and documents and 2) Document - attached to a document.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
       <xsd:element name="tabs" type="CT_Tabs" minOccurs="0" maxOccurs="1">
         <xsd:annotation>
           <xsd:documentation>
             A collection of tabs.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
       <xsd:element name="contextualTabs" type="CT_ContextualTabs" minOccurs="0" maxOccurs="1">
         <xsd:annotation>
           <xsd:documentation>
             A collection of contextual tab sets.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
     </xsd:all>
     <xsd:attribute name="startFromScratch" type="xsd:boolean" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           Whether startFromScratch is enabled. It's a mode that hides almost all of the standard UI.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
   </xsd:complexType>
   <xsd:complexType name="CT_MenuRoot">
     <xsd:annotation>
       <xsd:documentation>
         The root element of the customization XML returned by the getContent callback on dynamicMenus.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
       <xsd:choice minOccurs="0" maxOccurs="1000">
         <xsd:group ref="EG_MenuControlsBase"/>
         <xsd:group ref="EG_MenuOrSplitButtonRegular"/>
       </xsd:choice>
     </xsd:sequence>
     <xsd:attributeGroup ref="AG_Title"/>
     <xsd:attribute name="itemSize" type="ST_ItemSize" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           The size of menu items.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
   </xsd:complexType>
  
   <xsd:element name="menu" type="CT_MenuRoot">
     <xsd:annotation>
       <xsd:documentation>
         The root element of the customization XML used in dynamicMenu's getContent callback.
       </xsd:documentation>
     </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="CT_CustomUI">
     <xsd:annotation>
       <xsd:documentation>
         The root element of the customization file which is used to create or modify the Ribbon and other UI elements.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
       <xsd:element name="commands" type="CT_Commands" minOccurs="0" maxOccurs="1">
         <xsd:annotation>
           <xsd:documentation>
             Command overrides.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
       <xsd:element name="ribbon" type="CT_Ribbon" minOccurs="0" maxOccurs="1">
         <xsd:annotation>
           <xsd:documentation>
             Ribbon.
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
     </xsd:sequence>
     <xsd:attribute name="onLoad" type="ST_Delegate" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           Callback invoked when custom UI is loaded.
           IRibbonUI object is passed as a parameter. This object exposes Invalidate and InvalidateControl.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
     <xsd:attribute name="loadImage" type="ST_Delegate" use="optional">
       <xsd:annotation>
         <xsd:documentation>
           A callback to load all images. If specified, all controls with the image attribute set will call this callback with the attribute value passed as a string.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
   </xsd:complexType>
   <xsd:element name="customUI" type="CT_CustomUI">
     <xsd:annotation>
       <xsd:documentation>
         The root element used to create or modify the Ribbon and other UI components.
       </xsd:documentation>
     </xsd:annotation>
   </xsd:element>
 </xsd:schema>