ユーザー設定フィールド型の定義を作成する

最終更新日: 2015年3月9日

適用対象: SharePoint Foundation 2010

フィールド型の定義は、%ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\XML に展開される、命名パターンが fldtypes*.xml である XML ファイルです。SharePoint Foundation に付属するフィールド型は、FLDTYPES.XML ファイルにあります。フィールド定義ファイルには、SharePoint Foundation がリスト ビュー、および表示、編集、および新規作成フォームでフィールドを正しくレンダリングするのに必要な情報が含まれます。[カスタマイズ] [リスト] ページ、[サイト内の新しい列] ページ、[列の作成] ページなど、UI ページに表示されるフィールド型の名前と説明もフィールド型の定義で構成されます。最も重要な点は、定義にはコンパイルされたフィールド型を含むアセンブリに関する情報が含まれるということです。

SharePoint Foundation でユーザー設定フィールド型を認識するには、fldtypes*.xml ファイルにフィールド型の定義がある必要があります。ユーザー設定フィールド型プロジェクトの一環として Visual Studio にこれらのファイルを作成します。たとえば、米国の社会保障番号を定義したフィールド型に対するフィールド型の定義を持っていた場合、XML ファイルは fldtypes_ssn_Contoso.xml という名前にします。

注意

... \XML ディレクトリのフィールド定義が他のソリューション プロバイダーのものと簡単に識別できるように、体系的な命名パターンに従って、会社名を含めることをお勧めします。(下記の例に示すように) 同じファイルに複数のフィールド定義を持つことができます。これは、常に共に展開されるフィールド型が複数ある場合のポリシーとして推奨されることがあります。ただし、指示を簡素化するために、SharePoint Foundation SDK では、通常、ユーザー設定の各 fldtypes*.xml には 1 つのユーザー設定フィールド型しかないことを前提としています。SharePoint Foundation に付属する FLDTYPES.XML には多くのフィールド型の定義があります。このファイルの変更はサポートされていません。

以下は、フィールド型の定義に含まれる要素の一覧です。各要素の詳細については、その要素名をクリックしてください。

  <FieldTypes 要素 (フィールド型)>

fldtypes*.xml ファイルのトップ レベルのコンテナ要素。

    <FieldType 要素 (フィールド型)>

フィールド型の定義のトップ レベルのコンテナ要素。

      <Field 要素 (フィールド型)>

フィールド型の単一特性を表す要素。

      <PropertySchema 要素 (フィールド型)>

可変のフィールド型プロパティを定義する要素 (廃止)。

        <Field 要素 (フィールド型のプロパティ スキーマ)>

PropertySchema 要素内のトップ レベルのコンテナー要素 (廃止)。

      <Field 要素 (フィールド型)>

そのフィールド型に基づく列が作成されたときに設定される、ユーザー設定フィールド型の可変プロパティを表す要素 (廃止)。

            <Default 要素 (フィールド型プロパティ スキーマ)>

ユーザー設定フィールド型のプロパティの既定値を表す要素 (廃止)。

      <RenderPattern 要素 (フィールド型)>

特定の状況下でのフィールドのレンダリング方法を定義する要素 (廃止)。

フィールド型の定義の例

次の例では、2 つのユーザー設定フィールド型を定義します。

<?xml version="1.0" encoding="utf-8" ?>
<FieldTypes>
  <FieldType>
    <Field Name="TypeName">SocialSecurityNumber</Field>
    <Field Name="ParentType">Text</Field>
    <Field Name="TypeDisplayName">Social Security Number</Field>
    <Field Name="TypeShortDescription">Social Security Number (123456789, 123-45-6789)
    </Field>
    <Field Name="AllowBaseTypeRendering">TRUE</Field>
    <Field Name="FieldTypeClass">
      AdventureWorks.FieldTypes.SSNField, AdventureWorks.FieldTypes,
      Version=1.0.0.0,Culture=neutral,PublicKeyToken=90734cc53324b79c
    </Field>
  </FieldType>
  <FieldType>
    <Field Name="TypeName">USAddress</Field>
    <Field Name="ParentType">MultiColumn</Field>
    <Field Name="TypeDisplayName">US Address</Field>
    <Field Name="TypeShortDescription">US Address(12345 NE 123 St. Redmond, WA 98052)
    </Field>
    <Field Name="UserCreatable">TRUE</Field>
    <Field Name="FieldTypeClass">
      AdventureWorks.FieldTypes.USAddressField, AdventureWorks.FieldTypes,
      Version=1.0.0.0,Culture=neutral,PublicKeyToken=90734cc53324b79c
    </Field>
  </FieldType>
</FieldTypes>

オブジェクト モデルのフィールド型の定義

フィールド型ソリューションを展開すると、SharePoint Foundation オブジェクト モデルのフィールド型の定義に SPFieldTypeDefinition オブジェクトとしてアクセスできます。フィールド型の定義 XML に定義する設定のほとんどは、SPFieldTypeDefinition クラスの読み取り専用メンバーとして表されます。このクラスのプロパティのほとんどは、fldtypes*.xml ファイル内の対応する設定と同じ名前です。例外の詳細については、「Field 要素 (フィールド型)」を参照してください。

RenderPattern と PropertySchema は両方とも廃止されました。RenderPattern 要素は、SPFieldTypeDefinition でアクセスできません。PropertySchema 要素は、XML 文字列として PropertySchema プロパティで読み取ることができます。

関連項目

タスク

[ウォークスルー] ユーザー設定フィールド型を作成する

概念

ユーザー設定フィールド型

[方法] ユーザー設定フィールド クラスを作成する

ユーザー設定フィールド型のプロパティのレンダリング