Share via


コンテンツ タイプ ID

コンテンツ タイプ ID は、コンテンツ タイプを一意に識別するもので、再帰的になるように設計されています。コンテンツ タイプ ID は、コンテンツ タイプの系列を、つまりそのコンテンツ タイプが継承した親コンテンツ タイプのラインをカプセル化します。各コンテンツ タイプ ID が親コンテンツ タイプ ID を含み、その親コンテンツ タイプはそれ自身の親の ID を含むため、最終的にシステム (System) コンテンツ タイプ ID にまで遡って含みます。コンテンツ タイプ ID を解析することにより、そのコンテンツ タイプがどのコンテンツ タイプを継承しており、その 2 つのコンテンツ タイプの関係がどうなっているかを調べることができます。

Windows SharePoint Services は、プッシュ ダウン操作のために、この情報を使用してコンテンツ タイプ間の関係を調べます。

有効なコンテンツ タイプ ID は、次の 2 つのうちのどちらかの規約を使用して作成できます。

  • 親のコンテンツ タイプ ID + 2 つの 16 進数値 (2 つの 16 進数値を "00" にすることはできません)

  • 親のコンテンツ タイプ ID + "00" + 16 進数の GUID

特殊ケースとして、システム (System) コンテンツ タイプは "0x" というコンテンツ タイプ ID を持ちます。システム (System) コンテンツ タイプは、その他のすべてのコンテンツ タイプから最終的に継承されるように固定されたコンテンツ タイプです。

その他のコンテンツ タイプについては、どのコンテンツ タイプも必ず上記方法のどちらかを使用して有効なコンテンツ タイプ ID を作成する必要があります。

注意

コンテンツ タイプ ID は、サイト コレクション内で一意である必要があります。

基本的に、1 つ目のコンテンツ タイプ ID 生成手法は、新しいコンテンツ タイプを表すのに 2 桁の 16 進数しか要さないという点で簡潔さが強調されます。2 つめのアプローチは、新しいコンテンツ タイプを表す GUID を含んでおり、一意性が強調されます。各アプローチが、特定の状況に適しています。

親のコンテンツ タイプ ID + 2 つの 16 進数値

Windows SharePoint Services は、プラットフォームに含まれている既定のコンテンツ タイプのコンテンツ タイプ ID の生成にこの規約を使用します。たとえば、基本コンテンツ タイプであるアイテム (Item) のコンテンツ タイプ ID は、0x01 です。これは、アイテム (Item) コンテンツ タイプがシステム (System) の直接の子であることを意味します。ドキュメント (Document) コンテンツ タイプのコンテンツ タイプ ID は 0x0101 で、フォルダ (Folder) コンテンツ タイプのコンテンツ タイプ ID は 0x0120 です。以下の図に示すように、これらのコンテンツ タイプ ID を解析することにより、ドキュメント (Document) とフォルダ (Folder) が両方ともがアイテム (Item) の直接の子であることがわかり、さらにアイテム (Item) はシステム (System) を直接継承していることがわかります。

ドキュメント コンテンツ タイプ ID

この規約を使用すると、コンテンツ タイプがどのコンテンツ タイプを継承しているかということがわかるだけでなく、2 つのコンテンツ タイプがどの点で共通の祖先を持つかということもわかります。

以下の図に、前述の 4 つのコンテンツ タイプの関係を示します。各コンテンツ タイプ ID の一意の部分を青色のテキストで示してあります。

既定のコンテンツ タイプ ID の階層の例

親のコンテンツ タイプ ID + "00" + 16 進数の GUID

Windows SharePoint Services は、以下の場合のコンテンツ タイプ ID の作成にこのコンテンツ タイプ ID 生成規約を使用します。

  • サイト コンテンツ タイプ。ユーザーが他のコンテンツ タイプを基にして作成したものです。

  • リスト コンテンツ タイプ。これは、サイト コンテンツ タイプをそのリストに追加したときにリストにコピーされます。

たとえば、コンテンツ タイプ ID が "0x010100D5C2F139516B419D801AC6C18942554D" のコンテンツ タイプを持っている場合、そのコンテンツ タイプは以下のどちらかであったことがわかります。

  • ドキュメント (Document) コンテンツ タイプの直接の子であるサイト コンテンツ タイプ

  • ドキュメント (Document) サイト コンテンツ タイプがリストに追加されたときに作成されたリスト コンテンツ タイプ

自分が作成したのではないコンテンツ タイプの直接の子となるコンテンツ タイプを識別するには、GUID アプローチを使用することをお勧めします。親コンテンツ タイプが以下のどちらかである場合は、GUID アプローチを使用します。

  • Windows SharePoint Services に含まれている、ドキュメント (Document) など既定のコンテンツ タイプ。

  • サードパーティによって作成されたコンテンツ タイプ。こうすると、コンテンツ タイプ ID を確実に一意にすることができ、後から親コンテンツ タイプの作成者により作成されたコンテンツ タイプと重複することがありません。

ただし、GUID アプローチを使用してコンテンツ タイプを一意に識別したら、その後のそのコンテンツタイプの子の識別には最初の方法を使用できます。コンテンツ タイプ内で使用された GUID は、自分が作成するコンテンツ タイプの名前空間の役割を果たします。そのコンテンツ タイプを基にした子は、すべて 2 桁の 16 進数だけで識別できます。コンテンツ タイプ ID の最大の長さには制限があるため、このアプローチによりコンテンツ タイプの "世代" 数を最大限に増やすことが可能になります。

コンテンツ タイプ ID の長さ

コンテンツ タイプ ID の最大の長さは 512 バイトです。2 桁の 16 進数文字が 1 バイトに収まるため、各コンテンツ タイプ ID の有効な最大の長さは 1024 文字になります。

たとえば、Windows SharePoint Services の既定のコンテンツ タイプであるドキュメント (Document) を基に、myDocument という新しいコンテンツ タイプを作成するものとします。myDocument のコンテンツ タイプ ID は、ドキュメント (Document) のコンテンツ タイプ ID の 0x0101 で始めて、00 を続け、さらに GUID を続けます。これで、myDocument コンテンツ タイプは一意に識別され、Windows SharePoint Services が同じコンテンツ タイプ ID を持つ他の既定コンテンツ タイプを後から追加する可能性を確実に避けることができます (2 桁の 16 進数を追加しただけの場合は、これが起こる可能性があります)。一方、myDocument から派生するコンテンツ タイプのコンテンツ タイプ ID を生成するには、単に myDocument のコンテンツ タイプ ID に 2 桁の 16 進数を追加するだけの方法をとることができます。これにより、コンテンツ タイプ ID の長さが最小限に保たれるため、作成できるコンテンツ タイプの "世代" 数を最大限に増やすことができます。

以下の図に、このシナリオを示します。各コンテンツ タイプ ID の一意の部分を青色のテキストで示してあります。

コンテンツ タイプ ID 階層の例

Windows SharePoint Services 3.0 に含まれている既定のコンテンツ タイプの一覧については、「コンテンツ タイプの基本的な階層」を参照してください。

See Also

概念

コンテンツ タイプについて

別のコンテンツ タイプに基づいたコンテンツ タイプの作成

コンテンツ タイプの基本的な階層