Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

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


Feedback

Was this page helpful?

Additional resources