OrganizationalItemItemsFilterDataフィルターのBasedOnSchemasオプションの目的を理解しようとしています。
ドキュメントには、「指定されたスキーマを使用しているアイテムのみを返すようにBasedOnSchemas条件を取得または設定する」と明記されています。したがって、特定のスキーマのコンポーネントのみを取得できるはずです。
これが私のコードです:
LinkToSchemaData[] schemaLinks = new[] {
new LinkToSchemaData { IdRef = "tcm:113-362325-8" }
};
OrganizationalItemItemsFilterData filter =
new OrganizationalItemItemsFilterData();
filter.BaseColumns = ListBaseColumns.Extended;
filter.ItemTypes = new ItemType[] { ItemType.Component };
filter.Recursive = true;
filter.BasedOnSchemas = schemaLinks;
XElement items = client.GetListXml("tcm:113-14192-2", filter);
ただし、 XElementitems
には、スキーマtcm:113-362325-8のコンポーネントだけでなく、複数のタイプのコンポーネントが含まれます。
スキーマに基づくコンポーネントのみを取得するにはどうすればよいですか?