next(); * * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * * @param Reader $reader * @return mixed */ static function xmlDeserialize(Reader $reader) { $reader->pushContext(); $reader->elementMap['{DAV:}prop'] = 'Sabre\Xml\Deserializer\enum'; $elems = Deserializer\keyValue( $reader, 'DAV:' ); $reader->popContext(); $principalMatch = new self(); if (array_key_exists('self', $elems)) { $principalMatch->type = self::SELF; } if (array_key_exists('principal-property', $elems)) { $principalMatch->type = self::PRINCIPAL_PROPERTY; $principalMatch->principalProperty = $elems['principal-property'][0]['name']; } if (!empty($elems['prop'])) { $principalMatch->properties = $elems['prop']; } return $principalMatch; } }