ライブラリ/リストをフォルダ無視でクエリする ViewAttributes Scope=Recursive オプション

標準のWebサービス(Lists.asmx)やNintexの「リストのクエリ」アクションなどでリスト/ライブラリの内部を攫う際、フォルダがあると厄介です。というのも、基本的にクエリされるのはルートのみ、つまりフォルダ配下の情報は対象外になるからです。

この問題をコンテンツ側の設定で回避することもできます。フォルダ無視を設定したビューを用意し、これを既定のビューに指定するか、もしくはクエリ側で明示的にこのビューを指定することです。

しかし、当然ながらこれが出来ないケースも少なくありません。その場合、クエリ構文のオプション ViewAttributes を次のように指定してやることで、フォルダを無視できます。

<QueryOptions><ViewAttributes Scope=”Recursive” /><QueryOptions>

以下は、Nintex Workflowの「Webサービスの呼び出し」アクションの設定例です。

また、「リストのクエリ」アクションでも、CAMLエディタでクエリ構文を編集することで、このオプションを利用できます。

technet : View Element (View)


Author

中村 和彦(シンプレッソ・コンサルティング株式会社 代表)が「ユーザ視点の SharePoint 情報」を発信します。元大手製造業 SharePoint 運用担当。現SharePoint コンサルタント。お仕事のお問い合わせはこちらまでお願いします。当ブログにおける発信内容は個人に帰属し所属組織の公式発信/見解ではありません。
FB : 中村 和彦
blog: Be・Better!
MS MVP SharePoint 2009/10-2011/9
MS MVP Office 365 2012/10-2014/9