ISV Configuration File Schema

このピックでは、インポート/エクスポート カスタマイズ ファイルの ISV 構成セクションのスキーマ定義について説明します。 このスキーマは、カスタマイズ ソリューション ファイルのスキーマ から取り込まれています。 詳細: Microsoft Dynamics 365 Customer Engagement ソリューションを使った拡張機能のパッケージ化と配布 をご覧ください。 スキーマをダウンロードして、ファイル ISV.config.xsd を参照してください。

Schema

<?xml version="1.0"?>  
<xs:schema attributeFormDefault="unqualified"  
           elementFormDefault="qualified"  
           xmlns:xs="https://www.w3.org/2001/XMLSchema">  
  <xs:element name="configuration"  
              type="IsvConfigurationType" />  
  <xs:complexType name="IsvConfigurationType">  
    <xs:sequence>  
      <xs:element name="Root">  
        <xs:complexType>  
          <xs:sequence>  
            <xs:element name="NavBarAreas"  
                        type="NavBarAreasType"  
                        minOccurs="0"  
                        maxOccurs="1">  
            </xs:element>  
  
            <xs:element name="MenuBar"  
                        minOccurs="0"  
                        maxOccurs="1">  
              <xs:complexType>  
                <xs:sequence>  
                  <xs:element name="CustomMenus"  
                              minOccurs="0"  
                              maxOccurs="1">  
                    <xs:complexType>  
                      <xs:sequence>  
                        <xs:element name="Menu"  
                                    minOccurs="0"  
                                    maxOccurs="unbounded"  
                                    type="Menu" />  
                      </xs:sequence>  
                    </xs:complexType>  
                  </xs:element>  
                </xs:sequence>  
              </xs:complexType>  
            </xs:element>  
            <xs:element name="ToolBar"  
                        type="ToolBar"  
                        minOccurs="0"  
                        maxOccurs="1" />  
            <xs:element name="Areas"  
                        minOccurs="0"  
                        maxOccurs="1">  
              <xs:complexType>  
                <xs:all>  
                  <xs:element name="Home"  
                              type="NavigationArea"  
                              maxOccurs="1"  
                              minOccurs="0" />  
                  <xs:element name="Workplace"  
                              type="NavigationArea"  
                              maxOccurs="1"  
                              minOccurs="0" />  
                  <xs:element name="Sales"  
                              type="NavigationArea"  
                              maxOccurs="1"  
                              minOccurs="0" />  
                  <xs:element name="Marketing"  
                              type="NavigationArea"  
                              maxOccurs="1"  
                              minOccurs="0" />  
                  <xs:element name="Service"  
                              type="NavigationArea"  
                              maxOccurs="1"  
                              minOccurs="0" />  
                  <xs:element name="Reports"  
                              type="NavigationArea"  
                              maxOccurs="1"  
                              minOccurs="0" />  
                </xs:all>  
              </xs:complexType>  
            </xs:element>  
          </xs:sequence>  
        </xs:complexType>  
      </xs:element>  
      <xs:element name="Entities"  
                  minOccurs="0"  
                  maxOccurs="1">  
        <xs:complexType>  
          <xs:sequence>  
            <xs:element name="Entity"  
                        type="EntityNode"  
                        minOccurs="0"  
                        maxOccurs="unbounded" />  
          </xs:sequence>  
        </xs:complexType>  
      </xs:element>  
      <xs:element name="ServiceManagement"  
                  minOccurs="0"  
                  maxOccurs="1">  
        <xs:complexType>  
          <xs:sequence>  
            <xs:element name="AppointmentBook"  
                        minOccurs="0"  
                        maxOccurs="1">  
              <xs:complexType>  
                <xs:sequence>  
                  <xs:element name="SmoothScrollLimit"  
                              type="xs:integer"  
                              minOccurs="0"  
                              maxOccurs="1" />  
                  <xs:element name="ValidationChunkSize"  
                              type="xs:integer"  
                              minOccurs="0"  
                              maxOccurs="1" />  
                  <xs:element name="TimeBlocks"  
                              minOccurs="0"  
                              maxOccurs="1">  
                    <xs:complexType>  
                      <xs:sequence>  
                        <xs:element name="TimeBlock"  
                                    type="TimeBlockNode"  
                                    minOccurs="0"  
                                    maxOccurs="unbounded" />  
                      </xs:sequence>  
                    </xs:complexType>  
                  </xs:element>  
                </xs:sequence>  
              </xs:complexType>  
            </xs:element>  
          </xs:sequence>  
        </xs:complexType>  
      </xs:element>  
    </xs:sequence>  
    <xs:attribute name="version"  
                  type="xs:string"  
                  use="required" />  
  </xs:complexType>  
  <!--  
A Timeblock definition  
-->  
  <xs:complexType name="TimeBlockNode">  
    <xs:attribute name="EntityType"  
                  type="xs:string"  
                  use="required" />  
    <xs:attribute name="StatusCode"  
                  type="xs:string"  
                  use="required" />  
    <xs:attribute name="CssClass"  
                  type="xs:string"  
                  use="required" />  
    <xs:attribute name="Client"  
                  type="xs:string"  
                  use="optional" />  
    <xs:attribute name="AvailableOffline"  
                  type="xs:boolean"  
                  use="optional" />  
  </xs:complexType>  
  <!--  
The Homepage Left Navigation Area  
-->  
  <xs:complexType name="NavigationArea">  
    <xs:sequence>  
      <xs:element minOccurs="0"  
                  maxOccurs="unbounded"  
                  name="NavBarItem">  
        <xs:complexType>  
          <xs:sequence>  
            <xs:element name="Titles"  
                        minOccurs="1"  
                        maxOccurs="1"  
                        type="LocalizedTitles" />  
          </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="CRM_Boolean"  
                        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:sequence>  
    <xs:attribute name="code"  
                  type="xs:string"  
                  use="required" />  
  </xs:complexType>  
  <!--  
A Menu that contains 1 or more Menu Items or Sub-Menus  
-->  
  <xs:complexType name="Menu">  
    <xs:sequence>  
      <xs:element name="Titles"  
                  minOccurs="0"  
                  maxOccurs="1"  
                  type="LocalizedTitles" />  
      <xs:group ref="MenuNodes"  
                minOccurs="0"  
                maxOccurs="unbounded" />  
    </xs:sequence>  
    <xs:attribute name="AccessKey"  
                  type="CRM_AccessKey"  
                  use="optional" />  
    <xs:attribute name="ValidForCreate"  
                  type="CRM_Boolean"  
                  use="optional" />  
    <xs:attribute name="ValidForUpdate"  
                  type="CRM_Boolean"  
                  use="optional" />  
  </xs:complexType>  
  <!--  
Valid nodes that may appear inside of a Menu  
This may appear in any order and may occur as many times as needed  
-->  
  <xs:group name="MenuNodes">  
    <xs:choice>  
      <xs:element name="MenuItem"  
                  type="MenuItem" />  
      <xs:element name="MenuSpacer" />  
      <xs:element name="SubMenu"  
                  type="Menu" />  
    </xs:choice>  
  </xs:group>  
  <!--  
A Menu Item that appears in a top-level menu or in a sub-menu  
-->  
  <xs:complexType name="MenuItem">  
    <xs:sequence>  
      <xs:element name="Titles"  
                  minOccurs="1"  
                  maxOccurs="1"  
                  type="LocalizedTitles" />  
    </xs:sequence>  
    <xs:attribute name="Url"  
                  type="xs:string"  
                  use="optional" />  
    <xs:attribute name="Icon"  
                  type="xs:string"  
                  use="optional" />  
    <xs:attribute name="WinMode"  
                  type="xs:unsignedByte"  
                  use="optional" />  
    <xs:attribute name="PassParams"  
                  type="CRM_Boolean"  
                  use="optional" />  
    <xs:attribute name="WinParams"  
                  type="xs:string"  
                  use="optional" />  
    <xs:attribute name="JavaScript"  
                  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="AccessKey"  
                  type="CRM_AccessKey"  
                  use="optional" />  
    <xs:attribute name="ValidForCreate"  
                  type="CRM_Boolean"  
                  use="optional" />  
    <xs:attribute name="ValidForUpdate"  
                  type="CRM_Boolean"  
                  use="optional" />  
  </xs:complexType>  
  <!--  
A Tool Bar that contains buttons  
-->  
  <xs:complexType name="ToolBar">  
    <xs:sequence>  
      <xs:choice maxOccurs="unbounded">  
        <xs:element name="Button">  
          <xs:complexType>  
            <xs:sequence>  
              <xs:element name="Titles"  
                          minOccurs="0"  
                          maxOccurs="1"  
                          type="LocalizedTitles" />  
              <xs:element name="ToolTips"  
                          minOccurs="0"  
                          maxOccurs="1"  
                          type="LocalizedToolTips" />  
            </xs:sequence>  
            <xs:attribute name="Icon"  
                          type="xs:string"  
                          use="optional" />  
            <xs:attribute name="Url"  
                          type="xs:string"  
                          use="optional" />  
            <xs:attribute name="JavaScript"  
                          type="xs:string"  
                          use="optional" />  
            <xs:attribute name="PassParams"  
                          type="CRM_Boolean"  
                          use="optional" />  
            <xs:attribute name="WinParams"  
                          type="xs:string"  
                          use="optional" />  
            <xs:attribute name="WinMode"  
                          type="xs:unsignedByte"  
                          use="optional" />  
            <xs:attribute name="Client"  
                          type="xs:string"  
                          use="optional" />  
            <xs:attribute name="AvailableOffline"  
                          type="xs:boolean"  
                          use="optional" />  
            <xs:attribute name="AccessKey"  
                          type="CRM_AccessKey"  
                          use="optional" />  
            <xs:attribute name="ValidForCreate"  
                          type="CRM_Boolean"  
                          use="optional" />  
            <xs:attribute name="ValidForUpdate"  
                          type="CRM_Boolean"  
                          use="optional" />  
          </xs:complexType>  
        </xs:element>  
        <xs:element name="ToolBarSpacer" />  
      </xs:choice>  
    </xs:sequence>  
    <xs:attribute name="ValidForCreate"  
                  type="CRM_Boolean"  
                  use="optional" />  
    <xs:attribute name="ValidForUpdate"  
                  type="CRM_Boolean"  
                  use="optional" />  
  </xs:complexType>  
  <xs:complexType name="LocalizedTitles">  
    <xs:sequence minOccurs="1"  
                 maxOccurs="unbounded">  
      <xs:element name="Title"  
                  type="LocalizedLabel" />  
    </xs:sequence>  
  </xs:complexType>  
  <xs:complexType name="LocalizedToolTips">  
    <xs:sequence minOccurs="1"  
                 maxOccurs="unbounded">  
      <xs:element name="ToolTip"  
                  type="LocalizedLabel" />  
    </xs:sequence>  
  </xs:complexType>  
  <xs:complexType name="LocalizedLabel">  
    <xs:attribute name="LCID"  
                  type="xs:integer" />  
    <xs:attribute name="Text"  
                  type="xs:string" />  
  </xs:complexType>  
  <xs:complexType name="EntityNode">  
    <xs:all>  
      <xs:element name="MenuBar"  
                  minOccurs="0"  
                  maxOccurs="1">  
        <xs:complexType>  
          <xs:sequence>  
            <xs:element name="CustomMenus"  
                        minOccurs="0"  
                        maxOccurs="1">  
              <xs:complexType>  
                <xs:sequence>  
                  <xs:element name="Menu"  
                              minOccurs="0"  
                              maxOccurs="unbounded"  
                              type="Menu" />  
                </xs:sequence>  
              </xs:complexType>  
            </xs:element>  
          </xs:sequence>  
        </xs:complexType>  
      </xs:element>  
      <xs:element name="ToolBar"  
                  minOccurs="0"  
                  maxOccurs="1"  
                  type="ToolBar" />  
      <xs:element name="NavBar"  
                  minOccurs="0"  
                  maxOccurs="1">  
        <xs:complexType>  
          <xs:sequence>  
            <xs:element maxOccurs="unbounded"  
                        name="NavBarItem">  
              <xs:complexType>  
                <xs:sequence>  
                  <xs:element name="Titles"  
                              minOccurs="1"  
                              maxOccurs="1"  
                              type="LocalizedTitles" />  
                </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="CRM_Boolean"  
                              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:sequence>  
          <xs:attribute name="ValidForCreate"  
                        type="CRM_Boolean"  
                        use="optional" />  
          <xs:attribute name="ValidForUpdate"  
                        type="CRM_Boolean"  
                        use="optional" />  
        </xs:complexType>  
      </xs:element>  
      <xs:element name="Grid"  
                  minOccurs="0"  
                  maxOccurs="1">  
        <xs:complexType>  
          <xs:sequence>  
            <xs:element name="MenuBar">  
              <xs:complexType>  
                <xs:sequence>  
                  <xs:element name="ActionsMenu"  
                              type="Menu"  
                              minOccurs="0" />  
                  <xs:element name="Buttons"  
                              type="ToolBar"  
                              minOccurs="0" />  
                </xs:sequence>  
              </xs:complexType>  
            </xs:element>  
          </xs:sequence>  
        </xs:complexType>  
      </xs:element>  
    </xs:all>  
    <xs:attribute name="name"  
                  type="xs:string"  
                  use="required" />  
    <xs:attribute name="Client"  
                  type="CRM_Client"  
                  use="optional" />  
    <xs:attribute name="AvailableOffline"  
                  type="xs:boolean"  
                  use="optional" />  
  </xs:complexType>  
  <xs:simpleType name="CRM_Client">  
    <xs:restriction base="xs:string">  
      <xs:pattern value="((None|Outlook|Web|All|OutlookWorkstationClient|OutlookLaptopClient),?)+" />  
    </xs:restriction>  
  </xs:simpleType>  
  <xs:complexType name="NavBarAreasType">  
    <xs:sequence>  
      <xs:element name="NavBarArea"  
                  minOccurs="0"  
                  maxOccurs="unbounded">  
        <xs:complexType>  
          <xs:sequence>  
            <xs:element name="Titles"  
                        minOccurs="1"  
                        maxOccurs="1"  
                        type="LocalizedTitles" />  
          </xs:sequence>  
          <xs:attribute name="Id"  
                        type="xs:string"  
                        use="required" />  
        </xs:complexType>  
      </xs:element>  
    </xs:sequence>  
  </xs:complexType>  
  <xs:complexType name="NavBarType">  
    <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="LocalizedTitles" />  
          </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="CRM_Boolean"  
                        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="LocalizedTitles" />  
            <xs:element name="ToolTip"  
                        minOccurs="0"  
                        maxOccurs="1">  
              <xs:complexType>  
                <xs:sequence>  
                  <xs:element name="Titles"  
                              minOccurs="1"  
                              maxOccurs="1"  
                              type="LocalizedTitles" />  
                </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="ISVGuid"  
                        use="optional" />  
        </xs:complexType>  
      </xs:element>  
    </xs:choice>  
    <xs:attribute name="ValidForCreate"  
                  type="CRM_Boolean"  
                  use="optional" />  
    <xs:attribute name="ValidForUpdate"  
                  type="CRM_Boolean"  
                  use="optional" />  
  </xs:complexType>  
  <xs:simpleType name="ISVGuid">  
    <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="CRM_Boolean">  
    <xs:restriction base="xs:unsignedByte">  
      <xs:minInclusive value="0" />  
      <xs:maxInclusive value="1" />  
    </xs:restriction>  
  </xs:simpleType>  
  <xs:simpleType name="CRM_AccessKey">  
    <xs:restriction base="xs:string">  
      <xs:length value="1" />  
    </xs:restriction>  
  </xs:simpleType>  
</xs:schema>  
  

参照

サービス カレンダーの外観の構成
Microsoft Dynamics 365 Customer Engagement で使用されているスキーマ
カスタマイズ ファイルのスキーマ サポート
ExportIsvConfig