Form XML schema
적용 대상: CRM 2015 on-prem, CRM Online
The following is the schema definition for form customizations for Microsoft Dynamics CRM. For more information, see 엔터티 양식 사용자 지정. You can find this schema in the SDK\Schemas\FormXML.xsd
file in the SDK package. Microsoft Dynamics CRM SDK 패키지를 다운로드합니다.
Schema
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://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: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="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: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:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="showlabels"
type="xs:boolean" />
<xs:attribute name="addedby"
type="xs:string" />
</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="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" />
<!--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" />
</xs:choice>
<!-- Parameters for the 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: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="UnboundLookupStyle"
type="xs:string"
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 quickformcollection 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:choice>
<!-- Parameters for the tabs control -->
<xs:choice minOccurs="1"
maxOccurs="unbounded">
<xs:element name="DefaultTabId"
type="xs:string"
minOccurs="0"
maxOccurs="1" />
</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>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="id"
type="xs:string" />
<xs:attribute name="classid"
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: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: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="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 ="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:schema>
참고 항목
개념
엔터티 양식 사용자 지정
관리형 솔루션 만들기, 설치 및 업데이트
비관리형 솔루션 만들기, 내보내기 또는 가져오기
기타 리소스
Microsoft Dynamics CRM 2015 and Microsoft Dynamics CRM Online
Send comments about this topic to Microsoft.
© 2014 Microsoft Corporation. All rights reserved.