Caldav фильтр по диапазону дат и свойств - PullRequest
0 голосов
/ 09 апреля 2020

Я хотел бы получить события из календаря, которые находятся в заданном диапазоне И ТАКЖЕ соответствуют одному другому свойству, но, похоже, что caldav делает or между этими двумя или полностью игнорирует другое .

Пример запроса:

<?xml version="1.0" encoding="utf-8" ?>
<C:calendar-query xmlns:C="urn:ietf:params:xml:ns:caldav">
    <D:prop xmlns:D="DAV:">
        <D:getetag/>
        <C:calendar-data />
    </D:prop>
    <C:filter>
        <C:comp-filter name="VCALENDAR">
            <C:comp-filter name="VEVENT">
                <C:time-range start="19000323T064000Z" end="20400323T194000Z" />
                <C:prop-filter name="DESCRIPTION">
                    <C:text-match collation="i;ascii-casemap">Text to match</C:text-match>
                </C:prop-filter>
            </C:comp-filter>
        </C:comp-filter>
    </C:filter>
</C:calendar-query>

К сожалению, prop-filter игнорируется, и возвращаются все события в диапазоне дат (здесь специально указан огромный диапазон). Есть ли способ объединить два фильтра?

1 Ответ

0 голосов
/ 10 апреля 2020

Как узнать, к какому свойству применить фильтр временного диапазона?

Нужно ли заключать элемент <C:time-range> в элемент <C:prop-filter name="DTSTART">?

...