Form XML schema
The following is the schema definition for form customizations for model-driven apps. More information: Customize forms. Download the schemas.
Schema
<?xml version="1.0"?>
<xs:schema xmlns:xs="https://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:include schemaLocation="RibbonCore.xsd" />
<xs:element name="form"
type="FormType" />
<xs:complexType name="ClientFileIncludeAttributeType">
<xs:attribute name="src"
use="required">
<xs:simpleType>
<xs:restriction base ="xs:string">
<xs:pattern value ="(\$webresource:|/)(.)+"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="ClientResourcesType">
<xs:all>
<xs:element name="internalresources"
minOccurs ="0"
maxOccurs ="1">
<xs:complexType>
<xs:all>
<xs:element name ="clientincludes"
minOccurs ="0"
maxOccurs ="1">
<xs:complexType >
<xs:choice minOccurs="0"
maxOccurs ="100000" >
<xs:element name ="internaljscriptfile"
type="ClientFileIncludeAttributeType"
minOccurs ="0"
maxOccurs ="1" />
<xs:element name ="internalcssfile"
type="ClientFileIncludeAttributeType"
minOccurs ="0"
maxOccurs ="1" />
</xs:choice>
</xs:complexType >
</xs:element>
<xs:element name ="clientvariables"
minOccurs="0"
maxOccurs ="1">
<xs:complexType>
<xs:sequence>
<xs:element name ="internaljscriptvariable"
minOccurs ="0"
maxOccurs ="100000">
<xs:complexType>
<xs:attribute name="name"
use ="required">
<xs:simpleType>
<xs:restriction base ="xs:string">
<xs:pattern value="LOCID_([A-Za-z0-9_])+"/>
<xs:maxLength value ="32"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name ="resourceid"
use="required" >
<xs:simpleType>
<xs:restriction base ="xs:string">
<xs:pattern value="([A-Za-z0-9_.])+"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="isvresources"
minOccurs ="0"
maxOccurs ="1">
<xs:complexType>
<xs:sequence>
<xs:element name ="clientincludes"
minOccurs ="0"
maxOccurs ="1">
<xs:complexType >
<xs:sequence>
<xs:element name ="webresource"
minOccurs ="0"
maxOccurs ="100000">
<xs:complexType>
<xs:attribute name="path"
type="xs:string"
use ="required"/>
<xs:attribute name="type"
use ="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="jscript"/>
<xs:enumeration value ="css" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexType name="FormDisplayConditionsType">
<xs:choice minOccurs="0"
maxOccurs="1">
<xs:element name="Everyone"
minOccurs="1"
maxOccurs="1">
<xs:complexType>
</xs:complexType>
</xs:element>
<xs:element name="Role"
minOccurs="1"
maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="Id"
type="FormGuidType"
use="required" />
</xs:complexType>
</xs:element>
</xs:choice>
<xs:attribute name="FallbackForm"
type="xs:boolean"
use="optional" />
<xs:attribute name="Order"
type="xs:integer"
use="optional" />
</xs:complexType>
<xs:complexType name="FormLocalizedLabel">
<xs:attribute name="LCID"
type="xs:integer" />
<xs:attribute name="Text"
type="xs:string" />
</xs:complexType>
<xs:complexType name="FormLocalizedTitles">
<xs:sequence minOccurs="1"
maxOccurs="unbounded">
<xs:element name="Title"
type="FormLocalizedLabel" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="FormNavBarAreasType">
<xs:sequence>
<xs:element name="NavBarArea"
minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Titles"
minOccurs="1"
maxOccurs="1"
type="FormLocalizedTitles" />
</xs:sequence>
<xs:attribute name="Id"
type="xs:string"
use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="FormNavBarType">
<xs:choice minOccurs="0"
maxOccurs="100000">
<xs:element minOccurs="0"
maxOccurs="1"
name="NavBarItem">
<xs:complexType>
<xs:sequence>
<xs:element name="Titles"
minOccurs="1"
maxOccurs="1"
type="FormLocalizedTitles" />
</xs:sequence>
<xs:attribute name="Icon"
type="xs:string"
use="required" />
<xs:attribute name="Url"
type="xs:string"
use="required" />
<xs:attribute name="Id"
type="xs:string"
use="required" />
<xs:attribute name="PassParams"
type="FormCRM_Boolean"
use="optional" />
<xs:attribute name="Sequence"
type="xs:nonNegativeInteger"
use="optional" />
<xs:attribute name="Area"
type="xs:string"
use="optional" />
<xs:attribute name="Client"
type="xs:string"
use="optional" />
<xs:attribute name="AvailableOffline"
type="xs:boolean"
use="optional" />
</xs:complexType>
</xs:element>
<xs:element name="NavBarByRelationshipItem"
minOccurs="0"
maxOccurs="1">
<xs:complexType>
<xs:all>
<xs:element name="Titles"
minOccurs="0"
maxOccurs="1"
type="FormLocalizedTitles" />
<xs:element name="ToolTip"
minOccurs="0"
maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="Titles"
minOccurs="1"
maxOccurs="1"
type="FormLocalizedTitles" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Privileges"
minOccurs="0"
maxOccurs ="1">
<xs:complexType>
<xs:sequence >
<xs:element name ="Privilege"
minOccurs ="1"
maxOccurs ="100000">
<xs:complexType>
<xs:attribute name ="Entity"
type ="xs:string"
use ="required"/>
<xs:attribute name="Privilege"
type ="xs:string"
use ="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
<xs:attribute name="RelationshipName"
type="xs:string"
use="required" />
<xs:attribute name="Id"
type="xs:string"
use="required" />
<xs:attribute name="Area"
type="xs:string"
use="optional" />
<xs:attribute name="TitleResourceId"
type="xs:string"
use="optional" />
<xs:attribute name="Client"
type="xs:string"
use="optional" />
<xs:attribute name="AvailableOffline"
type="xs:boolean"
use="optional" />
<xs:attribute name="Icon"
type="xs:string"
use="optional" />
<xs:attribute name="Sequence"
type="xs:nonNegativeInteger"
use="optional" />
<xs:attribute name="Show"
type="xs:boolean"
use="optional" />
<xs:attribute name="ViewId"
type="FormISVGuid"
use="optional" />
</xs:complexType>
</xs:element>
</xs:choice>
<xs:attribute name="ValidForCreate"
type="FormCRM_Boolean"
use="optional" />
<xs:attribute name="ValidForUpdate"
type="FormCRM_Boolean"
use="optional" />
</xs:complexType>
<xs:complexType name="FormNavigationType">
<xs:all>
<xs:element name="NavBarAreas"
type="FormNavBarAreasType"
minOccurs="0"
maxOccurs="1" />
<xs:element name="NavBar"
type="FormNavBarType"
minOccurs="0"
maxOccurs="1" />
</xs:all>
</xs:complexType>
<xs:complexType name ="FormParametersType">
<xs:choice minOccurs="1"
maxOccurs ="100000">
<xs:element name ="querystringparameter"
type="FormQueryStringParameterType"
minOccurs ="0"
maxOccurs ="1" />
</xs:choice>
</xs:complexType>
<xs:complexType name="FormQueryStringParameterType">
<xs:attribute name="name"
type="FormQueryStringParameterNameAttributeType"
use="required" />
<xs:attribute name="type"
type="FormParameterAttributeType"
use="required" />
</xs:complexType>
<xs:complexType name="FormType">
<xs:all>
<xs:element name="ancestor"
minOccurs="0"
maxOccurs="1">
<xs:complexType>
<xs:attribute name="id"
type="FormGuidType"
use="required" />
</xs:complexType>
</xs:element>
<xs:element name="hiddencontrols"
minOccurs="0"
maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="data"
minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="id"
type="xs:string" />
<xs:attribute name="datafieldname"
type="xs:string" />
<xs:attribute name="classid"
type="FormGuidType" />
<xs:attribute name="relationship"
type="xs:string" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="controlDescriptions"
minOccurs="0"
maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="controlDescription"
minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="customControl"
minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="parameters"
minOccurs="0"
maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:any minOccurs="0"
maxOccurs="unbounded"
processContents="skip"></xs:any>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="id"
type="FormGuidType"
use="required" />
<xs:attribute name="formFactor"
type="xs:integer"
use="optional" />
<xs:attribute name="name"
type="xs:string"
use="optional" />
<xs:attribute name="version"
type="xs:string"
use="optional" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="forControl"
type="xs:string"
use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="tabs"
minOccurs="1"
maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="tab"
minOccurs="1"
maxOccurs="100">
<xs:complexType>
<xs:all>
<xs:element name="labels"
type="FormXmlLabelsType"
minOccurs="0"
maxOccurs="1" />
<xs:element name="tabheader"
type="FormXmlHeaderFooterType"
minOccurs="0"
maxOccurs="1"/>
<xs:element name="tabfooter"
type="FormXmlHeaderFooterType"
minOccurs="0"
maxOccurs="1"/>
<xs:element name="columns"
minOccurs="1"
maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="column"
minOccurs="1"
maxOccurs="3">
<xs:complexType>
<xs:sequence>
<xs:element name="sections"
minOccurs="0"
maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="section"
minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:all>
<xs:element name="labels"
type="FormXmlLabelsType"
minOccurs="0"
maxOccurs="1" />
<xs:element name="rows"
minOccurs="0"
maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="row"
minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="cell"
minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:all>
<xs:element name="labels"
type="FormXmlLabelsType"
minOccurs="0"
maxOccurs="1" />
<xs:element name="control"
type="FormXmlControlType"
minOccurs="0"
maxOccurs="1" />
<xs:element name="events"
type="FormXmlEventsType"
minOccurs="0"
maxOccurs="1" />
</xs:all>
<xs:attribute name="auto"
type="xs:boolean" />
<xs:attribute name="addedby"
type="xs:string" />
<xs:attributeGroup ref="FormXmlCellCommon"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="addedby"
type="xs:string" />
<xs:attributeGroup ref="FormXmlRowCommon"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="addedby"
type="xs:string" />
</xs:complexType>
</xs:element>
</xs:all>
<xs:attribute name="group"
type="xs:string" />
<xs:attribute name="name"
type="xs:string" />
<xs:attribute name="showlabel"
type="xs:boolean" />
<xs:attribute name="labelid"
type="FormGuidType"
use="optional" />
<xs:attribute name="showbar"
type="xs:boolean" />
<xs:attribute name="id"
type="FormGuidType" />
<xs:attribute name="IsUserDefined"
type="xs:string" />
<xs:attribute name="height"
type="xs:string" />
<xs:attribute name="locklevel"
type="xs:nonNegativeInteger" />
<xs:attribute name="layout"
type="xs:string" />
<xs:attribute name="addedby"
type="xs:string" />
<xs:attribute name="visible"
type="xs:boolean" />
<xs:attribute name="availableforphone"
type="xs:boolean" />
<xs:attribute name="rowheight"
type="xs:nonNegativeInteger"
use="optional" />
<xs:attribute name="autoexpand"
type="xs:boolean"
use="optional" />
<xs:attributeGroup ref="FormXmlSectionCommon"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="addedby"
type="xs:string" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="width"
type="FormPercentageType"
use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="events"
type="FormXmlEventsType"
minOccurs="0"
maxOccurs="1" />
</xs:all>
<xs:attribute name="group"
type="xs:string" />
<xs:attribute name="name"
type="xs:string" />
<xs:attribute name="verticallayout"
type="xs:boolean" />
<xs:attribute name="showlabel"
type="xs:boolean" />
<xs:attribute name="labelid"
type="FormGuidType"
use="optional" />
<xs:attribute name="id"
type="FormGuidType" />
<xs:attribute name="IsUserDefined"
type="xs:string" />
<xs:attribute name="locklevel"
type="xs:nonNegativeInteger" />
<xs:attribute name="addedby"
type="xs:string" />
<xs:attribute name="expanded"
type="xs:boolean" />
<xs:attribute name="visible"
type="xs:boolean" />
<xs:attribute name="availableforphone"
type="xs:boolean" />
<xs:attribute name="collapsible"
type="xs:boolean" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="showlabels"
type="xs:boolean" />
<xs:attribute name="addedby"
type="xs:string" />
<xs:attribute name="filterby"
type="xs:string" />
<xs:attribute name="dashboardCategory"
type="xs:string" />
<xs:attribute name="timeframe"
type="xs:string" />
<xs:attribute name="primaryentitylogicalname"
type="xs:string" />
<xs:attribute name="entityview"
type="xs:string" />
<xs:attribute name="tilespresent"
type="xs:boolean" />
</xs:complexType>
</xs:element>
<xs:element name="header"
type="FormXmlHeaderFooterType"
minOccurs="0"
maxOccurs="1"/>
<xs:element name="footer"
type="FormXmlHeaderFooterType"
minOccurs="0"
maxOccurs="1"/>
<xs:element name="events"
type="FormXmlEventsType"
minOccurs="0"
maxOccurs="1" />
<xs:element name="formLibraries"
type="FormXmlLibraryType"
minOccurs="0"
maxOccurs="1" />
<xs:element name="externaldependencies"
type="FormXmlExternalDependenciesType"
minOccurs="0"
maxOccurs="1" />
<xs:element name="formparameters"
type="FormParametersType"
minOccurs="0"
maxOccurs="1">
<xs:unique name="UniqueName">
<xs:selector xpath ="./querystringparameter"/>
<xs:field xpath ="@name"/>
</xs:unique>
</xs:element>
<xs:element name ="clientresources"
type ="ClientResourcesType"
minOccurs ="0"
maxOccurs ="1"></xs:element>
<xs:element name="Navigation"
type="FormNavigationType"
minOccurs="0"
maxOccurs="1"/>
<xs:element name="DisplayConditions"
type="FormDisplayConditionsType"
minOccurs="0"
maxOccurs="1" />
<xs:element name="RibbonDiffXml"
type="RibbonEntityDiffXmlType"
minOccurs="0"
maxOccurs="1" />
</xs:all>
<xs:attribute name="enablerelatedinformation"
type="xs:boolean" />
<xs:attribute name="relatedInformationCollapsed"
type="xs:boolean" />
<xs:attribute name="hasmargin"
type="xs:boolean" />
<xs:attribute name="addedby"
type="xs:string" />
<xs:attribute name="shownavigationbar"
type="xs:boolean" />
<xs:attribute name="showImage"
type="xs:boolean" />
<xs:attribute name="maxWidth"
use="optional">
<xs:simpleType>
<xs:restriction base="xs:positiveInteger">
<xs:minInclusive value="400" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="FormXmlControlType">
<xs:sequence>
<xs:element name="labels"
type="FormXmlLabelsType"
minOccurs="0"
maxOccurs="1" />
<xs:element name="parameters"
minOccurs="0"
maxOccurs="1">
<xs:complexType>
<xs:choice minOccurs="1"
maxOccurs="1">
<!-- LATER: (TobinZ, 2008-07-24) - Divide this list up into sets that are valid together. -->
<xs:choice minOccurs="1"
maxOccurs="unbounded">
<xs:element name="Url"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="PassParameters"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
<xs:element name="Security"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
<xs:element name="Scrolling"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="Border"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="Preload"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="IsPassword"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
<xs:element name="IsColorValue"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
<!--Web Resource related parameters. Included in this section since they
can include Url, PassParameters etc-->
<xs:element name="Height"
type="xs:unsignedInt"
minOccurs="0"
maxOccurs="1"/>
<xs:element name="Width"
type="xs:unsignedInt"
minOccurs="0"
maxOccurs="1"/>
<xs:element name="AltText"
type="xs:string"
minOccurs="0"
maxOccurs="1"/>
<xs:element name="SizeType"
type="WebResourceSizeType"
minOccurs="0"
maxOccurs="1"/>
<xs:element name="ShowInROF"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
<xs:element name="ShowOnMobileClient"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
<xs:element name="HorizontalAlignment"
type="ImageHorizontalAlignmentType"
minOccurs="0"
maxOccurs="1"/>
<xs:element name="VerticalAlignment"
type="ImageVerticalAlignmentType"
minOccurs="0"
maxOccurs="1"/>
<xs:element name="Data"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="WebResourceId"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<!--Parameters for Rich Editor Control-->
<xs:element name="ReadOnly"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
<xs:element name="ShowDialogs"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
<xs:element name="IsViewExpandable"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
<xs:element name="HideToolbar"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
<xs:element name="ToolbarJSON"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="ExpandedToolbarJSON"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="HiddenToolbarJSON"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="ClassName"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
</xs:choice>
<!--Parameters for unbound lookup control-->
<xs:choice minOccurs="1"
maxOccurs="unbounded">
<xs:element name="TargetEntities"
minOccurs="0"
maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="TargetEntity"
minOccurs="1"
maxOccurs="unbounded">
<xs:complexType>
<xs:all>
<xs:element name="EntityLogicalName"
type="xs:string"
minOccurs="1"
maxOccurs="1" />
<xs:element name="DefaultViewId"
type="FormGuidType"
minOccurs="0"
maxOccurs="1" />
<xs:element name="IsDeDupLookup"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
<xs:element name="UnboundLookupStyle"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
</xs:all>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
<!-- Parameters for the subgrid control and and reference panel subgrid control -->
<xs:choice minOccurs="1"
maxOccurs="unbounded">
<xs:element name="ViewId"
type="FormGuidType"
minOccurs="0"
maxOccurs="1" />
<xs:element name="IsUserView"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
<xs:element name="IsUserChart"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
<xs:element name="RelationshipName"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="RelationshipRoleOrdinal"
type="RelationshipRoleOrdinalType"
minOccurs="0"
maxOccurs="1" />
<xs:element name="TargetEntityType"
type="xs:string"
minOccurs="1"
maxOccurs="1" />
<xs:element name="AutoExpand"
type="GridResizeType"
minOccurs="0"
maxOccurs="1" />
<xs:element name="RecordsPerPage"
type="xs:unsignedShort"
minOccurs="0"
maxOccurs="1" />
<xs:element name="MaxRowsBeforeScroll"
type="xs:integer"
minOccurs="0"
maxOccurs="1" />
<xs:element name="EnableQuickFind"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
<xs:element name="EnableJumpBar"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
<xs:element name="EnableViewPicker"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
<xs:element name="ViewIds"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="ChartGridMode"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="VisualizationId"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="EnableChartPicker"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
<xs:element name="EnableContextualActions"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
<xs:element name="TeamTemplateId"
type="FormGuidType"
minOccurs="0"
maxOccurs="1" />
<xs:element name="GridUIMode"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="ReferencePanelSubgridIconUrl"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
</xs:choice>
<!-- Parameters for Power BI Tile control -->
<xs:choice minOccurs="1"
maxOccurs="unbounded">
<xs:element name="PowerBIDashboardId"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="TileId"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="TileUrl"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
</xs:choice>
<!-- Parameters for the lookup control -->
<xs:choice minOccurs="1"
maxOccurs="unbounded">
<xs:element name="DefaultViewId"
type="FormGuidType"
minOccurs="0"
maxOccurs="1" />
<xs:element name="FilterRelationshipName"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="DependentAttributeName"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="DependentAttributeType"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="AutoResolve"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
<xs:element name="ResolveEmailAddress"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
<xs:element name="DefaultViewReadOnly"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
<xs:element name="ViewPickerReadOnly"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
<xs:element name="AllowFilterOff"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
<xs:element name="DisableMru"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
<xs:element name="DisableQuickFind"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
<xs:element name="DisableViewPicker"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
<xs:element name="AvailableViewIds"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="EntityLogicalName"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="IsInlineNewEnabled"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
<xs:element name="InlineViewIds"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="UnboundLookupTypes"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="UnboundLookupBrowse"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
<xs:element name="UnboundLookupControlType"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="ShowAsBreadcrumbControl"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
</xs:choice>
<!-- Parameters for the TextBox -->
<xs:choice minOccurs="1"
maxOccurs="unbounded">
<xs:element name="MaxLength"
type="xs:integer"
minOccurs="0"
maxOccurs="1" />
<xs:element name="Format"
type="FormatType"
minOccurs="0"
maxOccurs="1" />
</xs:choice>
<!-- Parameters for the Label -->
<xs:choice minOccurs="1"
maxOccurs="unbounded">
<xs:element name="IsTitle"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
</xs:choice>
<!-- Parameters for the Numbers (i.e Whole, Decimal, Currency)-->
<xs:choice minOccurs="1"
maxOccurs="unbounded">
<xs:element name="MinValue"
type="xs:double"
minOccurs="0"
maxOccurs="1" />
<xs:element name="MaxValue"
type="xs:double"
minOccurs="0"
maxOccurs="1" />
<xs:element name="Precision"
type="xs:integer"
minOccurs="0"
maxOccurs="1" />
</xs:choice>
<!-- Parameters for the PickList Control and Two Value Option(Radio) Control -->
<xs:choice minOccurs="1"
maxOccurs="unbounded">
<xs:element name="DefaultValue"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="OptionSetId"
type="FormGuidType"
minOccurs="0"
maxOccurs="1" />
</xs:choice>
<!-- Parameters for the quickformcollection control and reference panel quick form collection control -->
<xs:choice minOccurs="1"
maxOccurs="unbounded">
<xs:element name="QuickForms"
type="xs:string"
minOccurs="1"
maxOccurs="1" />
<xs:element name="ControlMode"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="ReferencePanelQuickFormCollectionIconUrl"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="DisplayAsCustomer360Tile"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
</xs:choice>
<!-- Parameters for the tabs control -->
<xs:choice minOccurs="1"
maxOccurs="unbounded">
<xs:element name="DefaultTabId"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="ShowArticleTab"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
<xs:group ref="SearchWidgetControlParameters"
minOccurs="0"
maxOccurs="unbounded" />
</xs:choice>
<!-- Link Control parameters -->
<xs:choice minOccurs="1"
maxOccurs="unbounded">
<xs:element name="LinkControlDefinitionId"
type="FormGuidType"
minOccurs="0"
maxOccurs="1" />
<xs:element name="ShowLinkControlLabel"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
</xs:choice>
<!-- Bing Maps Control parameters -->
<xs:choice minOccurs="1"
maxOccurs="unbounded">
<xs:element name="AddressField"
type="xs:string"
minOccurs="1"
maxOccurs="1" />
</xs:choice>
<!-- Timer Control parameters -->
<xs:choice minOccurs="1"
maxOccurs="unbounded">
<xs:element name="FailureTimeField"
type="xs:string"
minOccurs="1"
maxOccurs="1" />
<xs:element name="SuccessConditionName"
type="xs:string"
minOccurs="1"
maxOccurs="1" />
<xs:element name="SuccessConditionValue"
type="xs:string"
minOccurs="1"
maxOccurs="1" />
<xs:element name="FailureConditionName"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="FailureConditionValue"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="WarningConditionName"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="WarningConditionValue"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="CancelConditionName"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="CancelConditionValue"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="PauseConditionName"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="PauseConditionValue"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
</xs:choice>
<!-- Search Widget parameters -->
<xs:choice minOccurs="1"
maxOccurs="unbounded">
<xs:group ref="SearchWidgetControlParameters"
minOccurs="0"
maxOccurs="unbounded" />
</xs:choice>
<!-- Queue Control parameters -->
<xs:choice minOccurs="1"
maxOccurs="unbounded">
<xs:element name="StreamObjects"
minOccurs="1"
maxOccurs="1" >
<xs:complexType>
<xs:sequence>
<xs:element name="ShowAsTiles"
type="xs:boolean"
minOccurs="1"
maxOccurs="1" />
<xs:element name="StreamObject"
minOccurs="1"
maxOccurs="unbounded" >
<xs:complexType>
<xs:sequence>
<xs:element name="LogicalEntityName"
type="xs:string"
minOccurs="1"
maxOccurs="1" />
<xs:choice minOccurs="1"
maxOccurs="1">
<!-- Parameters for stream objects of type queue -->
<xs:choice minOccurs="1"
maxOccurs="unbounded">
<xs:element name="QueueId"
type="FormGuidType"
minOccurs="1"
maxOccurs="1" />
<xs:element name="QueueViewId"
type="FormGuidType"
minOccurs="1"
maxOccurs="1" />
</xs:choice>
<!-- Parameters for stream objects of type entity view -->
<xs:choice minOccurs="1"
maxOccurs="unbounded">
<xs:element name="EntityViewId"
type="FormGuidType"
minOccurs="1"
maxOccurs="1" />
</xs:choice>
<!-- Parameters for stream objects of type saved query on queue -->
<xs:choice minOccurs="1"
maxOccurs="unbounded">
<xs:element name="SavedQueryID"
type="FormGuidType"
minOccurs="1"
maxOccurs="1" />
<xs:element name="QueueViewIdForSavedQuery"
type="FormGuidType"
minOccurs="1"
maxOccurs="1" />
</xs:choice>
</xs:choice>
</xs:sequence>
<xs:attribute name="type"
type="xs:nonNegativeInteger"
use="required" />
<xs:attribute name="id"
type="FormGuidType"
use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
<!-- Date Range Control parameters -->
<xs:choice minOccurs="1"
maxOccurs="unbounded">
<xs:element name="AttributeLogicalName"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="TimeFrame"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
</xs:choice>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="id"
type="xs:string" />
<xs:attribute name="uniqueid"
type="FormGuidType" />
<xs:attribute name="classid"
type="FormGuidType" />
<xs:attribute name="labelid"
type="FormGuidType" />
<xs:attribute name="datafieldname"
type="xs:string" />
<xs:attribute name="disabled"
type="xs:boolean" />
<xs:attribute name="addedby"
type="xs:string" />
<xs:attribute name="isunbound"
type="xs:boolean" />
<xs:attribute name="isrequired"
type="xs:boolean" />
<xs:attribute name="relationship"
type="xs:string" />
<xs:attribute name="indicationOfSubgrid"
type="xs:boolean" />
</xs:complexType>
<xs:complexType name="FormXmlLibraryType">
<xs:sequence>
<xs:element name="Library"
minOccurs="1"
maxOccurs="50">
<xs:complexType>
<xs:attribute name="name"
type="xs:string"
use="required" />
<xs:attribute name="libraryUniqueId"
type="xs:string"
use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="CrmEventType">
<xs:restriction base="xs:string">
<xs:enumeration value="DataEvent" />
<xs:enumeration value="ControlEvent" />
</xs:restriction>
</xs:simpleType>
<xs:complexType name="FormXmlHandlerType">
<xs:sequence>
<xs:element name="dependencies"
minOccurs="0"
maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="dependency"
minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="id"
type="xs:string" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="functionName"
type="xs:string"
use="required" />
<xs:attribute name="libraryName"
type="xs:string"
use="required" />
<xs:attribute name="handlerUniqueId"
type="xs:string"
use="required" />
<xs:attribute name="enabled"
type="xs:boolean" />
<xs:attribute name="passExecutionContext"
type="xs:boolean" />
<xs:attribute name="parameters"
type="xs:string" />
</xs:complexType>
<xs:complexType name="FormXmlEventsType">
<xs:sequence>
<xs:element name="event"
minOccurs="1"
maxOccurs="unbounded">
<xs:complexType>
<xs:all>
<xs:element name="Handlers"
minOccurs="0"
maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="Handler"
type="FormXmlHandlerType"
minOccurs="0"
maxOccurs="50" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="InternalHandlers"
minOccurs="0"
maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="Handler"
type="FormXmlHandlerType"
minOccurs="0"
maxOccurs="50" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="dependencies"
minOccurs="0"
maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="dependency"
minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="id"
type="xs:string" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
<xs:attribute name="name"
type="xs:string" />
<xs:attribute name="BehaviorInBulkEditForm"
type="BehaviorInBulkEditForm" />
<xs:attribute name="application"
type="xs:boolean" />
<xs:attribute name="active"
type="xs:boolean" />
<xs:attribute name="eventType"
type="CrmEventType" />
<xs:attribute name="attribute"
type="xs:string" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="FormXmlExternalDependenciesType">
<xs:sequence>
<xs:element name="dependency"
minOccurs="1"
maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="id"
type="xs:string" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="FormXmlLabelsType">
<xs:sequence>
<xs:element name="label"
minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="description"
use="required"
type="xs:string" />
<xs:attribute name="languagecode"
use="required"
type="xs:positiveInteger" />
<xs:attribute name="addedby"
type="xs:string" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="FormXmlHeaderFooterType">
<xs:sequence>
<xs:element name="rows"
minOccurs="1"
maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="row"
minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="cell"
minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:all>
<xs:element name="labels"
type="FormXmlLabelsType"
minOccurs="0"
maxOccurs="1" />
<xs:element name="control"
type="FormXmlControlType"
minOccurs="0"
maxOccurs="1" />
</xs:all>
<xs:attributeGroup ref="FormXmlCellCommon"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attributeGroup ref="FormXmlRowCommon"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="id"
type="FormGuidType"
use="required" />
<xs:attributeGroup ref="FormXmlSectionCommon" />
</xs:complexType>
<xs:attributeGroup name="FormXmlSectionCommon">
<xs:attribute name="columns"
type="xs:nonNegativeInteger" />
<xs:attribute name="labelwidth"
type="xs:nonNegativeInteger" />
<xs:attribute name="celllabelalignment"
use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Center"/>
<xs:enumeration value="Left"/>
<xs:enumeration value="Right"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="celllabelposition"
use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Top"/>
<xs:enumeration value="Left"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:attributeGroup>
<xs:attributeGroup name="FormXmlRowCommon">
<xs:attribute name="height"
type="xs:string" />
</xs:attributeGroup>
<xs:attributeGroup name="FormXmlCellCommon">
<xs:attribute name="id"
type="FormGuidType" />
<xs:attribute name="showlabel"
type="xs:boolean" />
<xs:attribute name="labelid"
type="FormGuidType"
use="optional" />
<xs:attribute name="locklevel"
type="xs:nonNegativeInteger" />
<xs:attribute name="rowspan"
type="xs:nonNegativeInteger" />
<xs:attribute name="colspan"
type="xs:nonNegativeInteger" />
<xs:attribute name="userspacer"
type="xs:boolean" />
<xs:attribute name="ispreviewcell"
type="xs:boolean"/>
<xs:attribute name="visible"
type="xs:boolean" />
<xs:attribute name="availableforphone"
type="xs:boolean" />
<xs:attribute name="isstreamcell"
type="xs:boolean" />
<xs:attribute name="ischartcell"
type="xs:boolean" />
<xs:attribute name="istilecell"
type="xs:boolean" />
</xs:attributeGroup>
<xs:simpleType name="BehaviorInBulkEditForm">
<xs:restriction base="xs:string">
<xs:enumeration value="Disabled" />
<xs:enumeration value="EnabledButNoRender" />
<xs:enumeration value="Enabled" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="FormCRM_Boolean">
<xs:restriction base="xs:unsignedByte">
<xs:minInclusive value="0" />
<xs:maxInclusive value="1" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="FormGuidType">
<xs:annotation>
<xs:documentation xml:lang="en">
The representation of a GUID, generally the id of an element.
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="\{[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}\}" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="FormISVGuid">
<xs:restriction base="xs:string">
<xs:pattern value="\{?[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\}?" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name ="FormParameterAttributeType">
<xs:restriction base ="xs:string">
<xs:enumeration value ="Boolean" />
<xs:enumeration value ="DateTime" />
<xs:enumeration value ="Double" />
<xs:enumeration value ="EntityType" />
<xs:enumeration value ="Integer" />
<xs:enumeration value ="Long" />
<xs:enumeration value ="PositiveInteger" />
<xs:enumeration value ="SafeString" />
<xs:enumeration value ="UniqueId" />
<xs:enumeration value ="UnsignedInt" />
</xs:restriction>
</xs:simpleType >
<xs:simpleType name ="FormParameterPassAsAttributeType">
<xs:restriction base ="xs:string">
<xs:enumeration value ="QueryString" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="FormPercentageType">
<xs:restriction base="xs:string">
<xs:pattern value="^(100|[0-9]{1,2})%$" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="FormQueryStringParameterNameAttributeType">
<xs:restriction base="xs:string">
<xs:pattern value="(?![cC][rR][mM]_)([A-Za-z0-9])+([_])+([A-Za-z0-9_])*"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="GridResizeType">
<xs:restriction base="xs:string">
<xs:enumeration value="Auto"/>
<xs:enumeration value="Fixed"/>
<xs:enumeration value="AutoWithFixedMax"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ImageHorizontalAlignmentType">
<xs:restriction base ="xs:string">
<xs:enumeration value ="Left" />
<xs:enumeration value ="Right" />
<xs:enumeration value ="Center" />
<xs:enumeration value ="NotSet" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ImageVerticalAlignmentType">
<xs:restriction base ="xs:string">
<xs:enumeration value ="Top" />
<xs:enumeration value ="Middle" />
<xs:enumeration value ="Bottom" />
<xs:enumeration value ="NotSet" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="RelationshipRoleOrdinalType">
<xs:restriction base="xs:unsignedByte">
<xs:enumeration value="1" />
<xs:enumeration value="2" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name ="WebResourceSizeType">
<xs:restriction base ="xs:string">
<xs:enumeration value ="StretchToFit" />
<xs:enumeration value ="StretchMaintainAspectRatio" />
<xs:enumeration value ="Original" />
<xs:enumeration value ="Specific" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="FormatType">
<xs:restriction base ="xs:string">
<xs:enumeration value ="SingleLineOfText" />
<xs:enumeration value ="WholeNumber" />
<xs:enumeration value ="DecimalNumber" />
<xs:enumeration value ="Currency" />
<xs:enumeration value="Date" />
<xs:enumeration value="DateTime" />
<xs:enumeration value="DateAndTime" />
<xs:enumeration value="Url" />
<xs:enumeration value="Ticker" />
<xs:enumeration value="Email" />
<xs:enumeration value="TextArea" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="solutionactionType">
<xs:restriction base="xs:string">
<xs:enumeration value="Added" />
<xs:enumeration value="Removed" />
<xs:enumeration value="Modified" />
</xs:restriction>
</xs:simpleType >
<xs:attributeGroup name="FormXmlBaseElementCommon">
<xs:attribute name="solutionaction"
type="solutionactionType" />
</xs:attributeGroup>
<xs:complexType name ="solutionStringType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attributeGroup ref="FormXmlBaseElementCommon"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name ="solutionBooleanType">
<xs:simpleContent>
<xs:extension base="xs:boolean">
<xs:attributeGroup ref="FormXmlBaseElementCommon"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name ="solutionFormGuidType">
<xs:simpleContent>
<xs:extension base="FormGuidType">
<xs:attributeGroup ref="FormXmlBaseElementCommon"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name ="solutionUnsignedIntType">
<xs:simpleContent>
<xs:extension base="xs:unsignedInt">
<xs:attributeGroup ref="FormXmlBaseElementCommon"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name ="solutionWebResourceSizeType">
<xs:simpleContent>
<xs:extension base="WebResourceSizeType">
<xs:attributeGroup ref="FormXmlBaseElementCommon"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name ="solutionImageHorizontalAlignmentType">
<xs:simpleContent>
<xs:extension base="ImageHorizontalAlignmentType">
<xs:attributeGroup ref="FormXmlBaseElementCommon"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name ="solutionFormatType">
<xs:simpleContent>
<xs:extension base="FormatType">
<xs:attributeGroup ref="FormXmlBaseElementCommon"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name ="solutionImageVerticalAlignmentType">
<xs:simpleContent>
<xs:extension base="ImageVerticalAlignmentType">
<xs:attributeGroup ref="FormXmlBaseElementCommon"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name ="solutionRelationshipRoleOrdinalType">
<xs:simpleContent>
<xs:extension base="RelationshipRoleOrdinalType">
<xs:attributeGroup ref="FormXmlBaseElementCommon"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name ="solutionGridResizeType">
<xs:simpleContent>
<xs:extension base="GridResizeType">
<xs:attributeGroup ref="FormXmlBaseElementCommon"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name ="solutionUnsignedShortType">
<xs:simpleContent>
<xs:extension base="xs:unsignedShort">
<xs:attributeGroup ref="FormXmlBaseElementCommon"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:group name="SearchWidgetControlParameters">
<xs:choice>
<xs:element name="FilterResults"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="AllowChangingFiltersOnUI"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
<xs:element name="ShowLanguageFilter"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
<xs:element name="ShowDepartmentFilter"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
<xs:element name="EnableAutoSuggestions"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
<xs:element name="SearchForAutoSuggestionsUsing"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="EnableRating"
type="xs:boolean"
minOccurs="0"
maxOccurs="1" />
<xs:element name="ShowRatingUsing"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="AutoSuggestionSource"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="SelectPrimaryCustomer"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="NumberOfResults"
type="xs:unsignedInt"
minOccurs="0"
maxOccurs="1" />
<xs:element name="ShowContextualActions"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="ActionList"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="ReferencePanelSearchWidgetIconUrl"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
<xs:element name="SelectDefaultLanguage"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
</xs:choice>
</xs:group>
</xs:schema>
See also
Customize forms
Create, install, and update a managed solution
Create, export, or import an Unmanaged solution
Form XML schema