私のvcardには、カンマ区切りの値のリストを持つCATEGORIESプロパティがあります。私が欲しいのは、このコンマ区切りのリストのどこかに渡された値を持つすべてのvcardを取得することです。
これを実現するために、フィルターを使用してCardDAVREPORTリクエストを実行しようとしています。
<C:filter test="allof">
<C:prop-filter name="CATEGORIES" test="allof">
<C:text-match collation="i;unicode-casemap"
match-type="contains"
>searched_value</C:text-match>
</C:prop-filter>
</C:filter>
このフィルターの問題は、これがプロパティ内の任意の場所で渡された値と一致することです。これは、別の値内の値とも一致することを意味します。たとえば、次のようになります。
「friends」を検索すると、「work、friends、colleagues」だけでなく「work、football_friends、coleagues」にも一致します。
WebDAVフィルターを使用して、コンマ区切りのリストで「完全な」値のみを取得する方法が見つかりません。