87        $elems = 
$reader->parseInnerTree([
 
   88            '{urn:ietf:params:xml:ns:caldav}comp-filter'   => 
'Sabre\\CalDAV\\Xml\\Filter\\CompFilter',
 
   89            '{urn:ietf:params:xml:ns:caldav}prop-filter'   => 
'Sabre\\CalDAV\\Xml\\Filter\\PropFilter',
 
   90            '{urn:ietf:params:xml:ns:caldav}param-filter'  => 
'Sabre\\CalDAV\\Xml\\Filter\\ParamFilter',
 
   91            '{urn:ietf:params:xml:ns:caldav}calendar-data' => 
'Sabre\\CalDAV\\Xml\\Filter\\CalendarData',
 
   92            '{DAV:}prop'                                   => 
'Sabre\\Xml\\Element\\KeyValue',
 
  100        if (!is_array($elems)) $elems = [];
 
  102        foreach ($elems as $elem) {
 
  104            switch ($elem[
'name']) {
 
  107                    $newProps[
'properties'] = array_keys($elem[
'value']);
 
  113                    foreach ($elem[
'value'] as $subElem) {
 
  115                            if (!is_null($newProps[
'filters'])) {
 
  116                                throw new BadRequest(
'Only one top-level comp-filter may be defined');
 
  118                            $newProps[
'filters'] = $subElem[
'value'];
 
  127        if (is_null($newProps[
'filters'])) {
 
  132        foreach ($newProps as 
$key => $value) {
 
An exception for terminatinating execution or to throw for unit testing.
const NS_CALDAV
This is the official CalDAV namespace.
CalendarQueryReport request parser.
static xmlDeserialize(Reader $reader)
The deserialize method is called during xml parsing.
The Reader class expands upon PHP's built-in XMLReader.
Implementing the XmlDeserializable interface allows you to use a class as a deserializer for a specif...