PropertySchema 要素 (フィールド型)
適用対象: SharePoint 2016 |SharePoint Foundation 2013 |SharePoint Online |SharePoint Server 2013
Field 要素として定義されている各プロパティで、ユーザー設定フィールド型の特別な変数プロパティのスキーマを表します。
<PropertySchema>
</PropertySchema>
重要
このトピックでは、ユーザー設定フィールド型のプロパティのレンダリングの、古い方法で使用されたマークアップについて説明します。 これは、以前のバージョンの SharePoint Foundation に対して開発されたユーザー設定フィールド型プロパティのデバッグを支援するためにのみ提供されます。 推奨される方法の詳細については、「 ユーザー設定フィールド型プロパティレンダリング」を参照してください。
要素と属性
以下のセクションで、属性、子要素、親要素について説明します。
属性
なし
子要素
親要素
注釈
ユーザー設定フィールド型には、フィールド型に基づくある列から、同じフィールド型に基づく別の列まで値が変化する特別なプロパティを設定できます。 米国の電話番号など^(\d{3})\d{3}-\d{4}$
、特定の正規表現に一致する String 値を保持するように設計されたカスタム正規表現フィールドの種類を考えてみましょう。
英国のナンバー プレート番号、米国社会保障番号、中国の電話番号などに対して個別のユーザー設定正規表現フィールド型を作成するのではなく、1 つの正規表現フィールド型を作成し、フィールドの種類に基づいて列を作成するユーザーが列ごとに一致する必要がある正規表現を設定できるようにする方が効率的です。 たとえば、"アメリカの電話番号" 列を作成するユーザーは、列の正規表現を上記の文字列に設定します。 別のユーザーが "ブラジルのポスト ボックス" 列を作成すると、列の正規表現が に ^\d{5}\-\d{3}$
設定されます。
これを行うには、ユーザー設定フィールドに、新しい列を作成するときにユーザー インターフェイス (UI) の編集可能なコントロールに表示される RegularExpression プロパティが必要です。 SharePoint Foundation の [新しいサイト列] ページと [列の作成] ページの [列の追加設定] セクションに表示されます。 ファイル内の fldtypes*.xml
PropertySchema 要素では、このような変数プロパティが宣言され、既定のレンダリング スキーマが指定されます。 オプションで、既定の値を指定することもできます。
注:
PropertySchema 要素でユーザー設定フィールド型の変数プロパティを定義すると、SharePoint Foundation によってスキーマに基づいてこれらのプロパティが自動的にレンダリングされます。
例
次の例では、 RegularExpressionMatch というユーザー設定フィールド型のプロパティ スキーマを定義します。 このスキーマは、フィールド型の列をベースにするときに、列の作成者が使用するフィールドを宣言します。 このフィールドは、列の作成者が RegularExpressionMatch フィールド型でベースにする各列に異なる正規表現を設定することが目的です。
[新しいサイト列] ページと [列の作成] ページの [列の追加設定] セクションに、DisplayName フィールドと編集可能な [テキスト] フィールドが表示されます。 MaxLength 属性は、正規表現の最大長を文字単位で設定し、DisplaySize はそれを保持するフィールドのサイズを設定します。 正規表現が DisplaySize よりも長い場合は、ユーザーはフィールドをスクロールして正規表現の残りの部分を確認できます。
この例では既定値は設定されていませんが、フィールド型の開発者が、ほとんどの場合、米国の電話番号を含む列を作成するために使用されることを知っていた場合、開発者は既定値を として <Default>^(\d{3})\d{3}-\d{4}$</Default>
設定できます。
次のコード例は、わかりやすくするために編集されています。
<FieldType>
<Field Name="TypeName">RegularExpressionMatch</Field>
…
<PropertySchema>
<Fields>
<Field Name="RegularExpression"
DisplayName="Regular Expression To Match"
MaxLength="500"
DisplaySize="100"
Type="Text">
<Default></Default>
</Field>
</Fields>
</PropertySchema>
…
</FieldType>