コンテンツ タイプの基本的な階層
最終更新日: 2015年3月9日
適用対象: SharePoint Foundation 2010
Microsoft SharePoint Foundation 2010 には、多くの組み込みコンテンツ タイプが含まれます。1 つを除いてすべての組み込みコンテンツ タイプは他の組み込みコンテンツ タイプから派生します。これらは、親子関係に基づく階層で整理できます。階層の最上位はシステム コンテンツ タイプです。システムの次のコンテンツ タイプはシステムの下のアイテム コンテンツ タイプです。これは、システムから派生します。また、他のすべてのコンテンツ タイプは最終的にアイテム コンテンツ タイプから派生します。
組み込みコンテンツ タイプの部分的な一覧を次の表に示します。
名前 |
ID |
---|---|
システム |
0x |
アイテム |
0x01 |
ドキュメント |
0x0101 |
イベント |
0x0102 |
案件 |
0x0103 |
お知らせ |
0x0104 |
リンク |
0x0105 |
連絡先 |
0x0106 |
メッセージ |
0x0107 |
タスク |
0x0108 |
ワークフロー履歴 |
0x0109 |
投稿 |
0x0110 |
コメント |
0x0111 |
東アジアの連絡先 |
0x0116 |
フォルダー |
0x0120 |
これらの基本コンテンツ タイプの多くは、作成できるリストの型に対応します。この対応は意図的です。詳細については、「既定のリスト コンテンツ タイプ」を参照してください。
コンテンツ タイプの親子関係は、コンテンツ タイプ ID を注意深く検査することで確認できます。たとえば、アイテムに由来するすべてのコンテンツ タイプは、そのアイテムの ID で始まる ID を持ちます。子コンテンツ タイプの ID は、親コンテンツ タイプの ID に情報を付加することで形成されます。詳細については、「コンテンツ タイプ ID」を参照してください。
組み込みコンテンツ タイプの完全な一覧については、SPBuiltInContentTypeId クラスのフィールドを確認してください。
割り当てルール
最も重要な組み込みコンテンツ タイプは、アイテム、ドキュメント、フォルダーの 3 つです。この 3 つのタイプが重要な理由は、SharePoint Foundation が、それらのコンテンツ タイプから派生したコンテンツ タイプの使用方法に関して特定のルールを適用するためです。コンテンツ タイプは、リスト アイテム、ドキュメント、およびフォルダーに適用できます。ただし、ドキュメント ライブラリに割り当てるコンテンツ タイプは、ドキュメントから継承するか、ドキュメントから派生したコンテンツ タイプから継承する必要があります。また、リストに割り当てるコンテンツ タイプはドキュメントから派生できません。この 1 組のルールに対する例外は、フォルダー コンテンツ タイプとその派生クラスです。フォルダーはリストとドキュメント ライブラリの両方に存在できます。
コンテンツ タイプ グループ
組み込みコンテンツ タイプは、リスト コンテンツ タイプ、ドキュメント、コンテンツ タイプ、フォルダー コンテンツ タイプ、_Hidden などのグループで整理されます。特定のコンテンツ タイプが所属するグループの名前を取得するには、サーバー コードで SPContentType オブジェクトの Group プロパティを読み取るか、クライアント コードで ContentType オブジェクトの同じプロパティを読み取ります。
"_Hidden" グループに属しているコンテンツ タイプは、ユーザー インターフェイスには表示されず、ユーザーがリストに適用したり、他のコンテンツ タイプのベースとして使用したりすることはできません。詳細については、「コンテンツ タイプのアクセス制御」を参照してください。
リストおよびライブラリに割り当てることのできるコンテンツ タイプを確認し、リストおよびライブラリのコンテンツ タイプがどのようにグループ化されているかを確認するには、ユーザー インターフェイスの [サイトの設定] の下にある [サイト コンテンツ タイプ] ギャラリーを確認します。さらに詳細なリスト (非表示コンテンツ タイプが含まれる) を取得するには、次のコンソール アプリケーションのようなサーバー コードを書きます。
using System;
using System.Collections;
using Microsoft.SharePoint;
namespace Test
{
class Program
{
static void Main(string[] args)
{
using (SPSite site = new SPSite("https://localhost"))
{
using (SPWeb web = site.OpenWeb())
{
// Create a sortable list of content types.
ArrayList list = new ArrayList();
foreach (SPContentType ct in web.AvailableContentTypes)
list.Add(ct);
// Sort the list on group name.
list.Sort(new CTComparer());
// Print a report.
Console.WriteLine("{0,-35} {1,-12} {2}", "Site Content Type", "Parent", "Content Type ID");
for (int i = 0; i < list.Count; i++)
{
SPContentType ct = (SPContentType)list[i];
if (i == 0 || ((SPContentType)list[i - 1]).Group != ct.Group)
{
Console.WriteLine("\n{0}", ct.Group);
Console.WriteLine("------------------------");
}
Console.WriteLine("{0,-35} {1,-12} {2}", ct.Name, ct.Parent.Name, ct.Id);
}
}
}
Console.Write("\nPress ENTER to continue...");
Console.ReadLine();
}
}
// Implements the Compare method from the IComparer interface.
// Compares two content type objects by group name, then by content type Id.
class CTComparer : IComparer
{
// The implementation of the Compare method.
int IComparer.Compare(object x, object y)
{
SPContentType ct1 = (SPContentType)x;
SPContentType ct2 = (SPContentType)y;
// First compare group names.
int result = string.Compare(ct1.Group, ct2.Group);
if (result != 0)
return result;
// If the names are the same, compare IDs.
return ct1.Id.CompareTo(ct2.Id);
}
}
}
このアプリケーションを、組み込みコンテンツ タイプのみを使用できる Web サイトで実行すると、次の出力が生成されます。
Site Content Type Parent Content Type ID
_Hidden
------------------------
System System 0x
Health Analyzer Rule Definition Item 0x01003A8AA7A4F53046158C5ABD98036A01D5
Health Analyzer Report Item 0x0100F95DB3A97E8046B58C6A54FB31F2BD46
Office Data Connection File Document 0x010100629D00608F814DD6AC8A86903AEE72AA
Universal Data Connection File Document 0x010100B4CBD48E029A4AD8B62CB0E41868F2B0
User Workflow Document Document 0x010107
Workflow Task Task 0x010801
Administrative Task Task 0x010802
Workflow History Item 0x0109
Person Item 0x010A
SharePointGroup Item 0x010B
DomainGroup Item 0x010C
RootOfList Folder 0x012001
Document Collection Folder Folder 0x0120D5
Document Content Types
------------------------
Document Item 0x0101
List View Style Document 0x010100734778F2B7DF462491FC91844AE431CF
Form Document 0x010101
Picture Document 0x010102
Master Page Document 0x010105
Wiki Page Document 0x010108
Basic Page Document 0x010109
Web Part Page Basic Page 0x01010901
Link to a Document Document 0x01010A
Dublin Core Columns Document 0x01010B
Folder Content Types
------------------------
Folder Item 0x0120
Discussion Folder 0x012002
Summary Task Folder 0x012004
Group Work Content Types
------------------------
Circulation Item 0x01000F389E14C9CE4CE486270B9D4713A5D6
New Word Item 0x010018F21907ED4E401CB4F14422ABC65304
Resource Item 0x01004C9F4486FBF54864A7B0A33D02AD19B1
Official Notice Item 0x01007CE30DD1206047728BAFD1C39A850120
Phone Call Memo Item 0x0100807FBAC5EB8A4653B8D24775195B5463
Holiday Item 0x01009BE2AB5291BF4C1A986910BD278E4F18
What's New Notification Item 0x0100A2CA87FF01B442AD93F37CD7DD0943EB
Timecard Item 0x0100C30DDA8EDB2E434EA22D793D9EE42058
Resource Group Item 0x0100CA13F2F8D61541B180952DFB25E3E8E4
Users Item 0x0100FBEEE6F0C500489B99CDA6BB16C398F7
List Content Types
------------------------
Item System 0x01
Event Item 0x0102
Reservations Event 0x0102004F51EFDEA49C49668EF9C6744C8CF87D
Schedule and Reservations Event 0x01020072BB2A38F0DB49C3A96CF4FA85529956
Schedule Event 0x0102007DBDC1392EAF4EBBBF99E41D8922B264
Issue Item 0x0103
Announcement Item 0x0104
Link Item 0x0105
Contact Item 0x0106
Message Item 0x0107
Task Item 0x0108
Post Item 0x0110
Comment Item 0x0111
East Asia Contact Item 0x0116
Special Content Types
------------------------
Unknown Document Type Document 0x010104
Press ENTER to continue...