ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
Sabre\Xml\Element\KeyValue Class Reference

'KeyValue' parses out all child elements from a single node, and outputs a key=>value struct. More...

+ Inheritance diagram for Sabre\Xml\Element\KeyValue:
+ Collaboration diagram for Sabre\Xml\Element\KeyValue:

Public Member Functions

 __construct (array $value=[])
 Constructor. More...
 
 xmlSerialize (Xml\Writer $writer)
 The xmlSerialize metod is called during xml writing. More...
 
- Public Member Functions inherited from Sabre\Xml\XmlSerializable
 xmlSerialize (Writer $writer)
 The xmlSerialize method is called during xml writing. More...
 

Static Public Member Functions

static xmlDeserialize (Xml\Reader $reader)
 The deserialize method is called during xml parsing. More...
 
- Static Public Member Functions inherited from Sabre\Xml\XmlDeserializable
static xmlDeserialize (Reader $reader)
 The deserialize method is called during xml parsing. More...
 

Protected Attributes

 $value
 

Detailed Description

'KeyValue' parses out all child elements from a single node, and outputs a key=>value struct.

Attributes will be removed, and duplicate child elements are discarded. Complex values within the elements will be parsed by the 'standard' parser.

For example, KeyValue will parse:

<?xml version="1.0"?> <s:root xmlns:s="http://sabredav.org/ns"> <s:elem1>value1</s:elem1> <s:elem2>value2</s:elem2> <s:elem3 /> </s:root>

Into:

[ "{http://sabredav.org/ns}elem1" => "value1", "{http://sabredav.org/ns}elem2" => "value2", "{http://sabredav.org/ns}elem3" => null, ];

Author
Evert Pot (http://evertpot.com/) http://sabre.io/license/ Modified BSD License

Definition at line 36 of file KeyValue.php.

Constructor & Destructor Documentation

◆ __construct()

Sabre\Xml\Element\KeyValue::__construct ( array  $value = [])

Constructor.

Parameters
array$value

Definition at line 50 of file KeyValue.php.

References Sabre\Xml\Element\KeyValue\$value.

50  {
51 
52  $this->value = $value;
53 
54  }

Member Function Documentation

◆ xmlDeserialize()

static Sabre\Xml\Element\KeyValue::xmlDeserialize ( Xml\Reader  $reader)
static

The deserialize method is called during xml parsing.

This method is called staticly, this is because in theory this method may be used as a type of constructor, or factory method.

Often you want to return an instance of the current class, but you are free to return other data as well.

Important note 2: You are responsible for advancing the reader to the next element. Not doing anything will result in a never-ending loop.

If you just want to skip parsing for this element altogether, you can just call $reader->next();

$reader->parseInnerTree() will parse the entire sub-tree, and advance to the next element.

Parameters
Xml\Reader$reader
Returns
mixed

Definition at line 102 of file KeyValue.php.

References Sabre\Xml\Deserializer\keyValue().

Referenced by Sabre\DAV\Xml\Request\PropFind\xmlDeserialize(), Sabre\DAV\Xml\Request\Lock\xmlDeserialize(), Sabre\DAV\Xml\Request\SyncCollectionReport\xmlDeserialize(), and Sabre\CalDAV\Xml\Request\InviteReply\xmlDeserialize().

102  {
103 
105 
106  }
keyValue(Reader $reader, $namespace=null)
This class provides a number of &#39;deserializer&#39; helper functions.
Definition: functions.php:61
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ xmlSerialize()

Sabre\Xml\Element\KeyValue::xmlSerialize ( Xml\Writer  $writer)

The xmlSerialize metod is called during xml writing.

Use the $writer argument to write its own xml serialization.

An important note: do not create a parent element. Any element implementing XmlSerializble should only ever write what's considered its 'inner xml'.

The parent of the current element is responsible for writing a containing element.

This allows serializers to be re-used for different element names.

If you are opening new elements, you must also close them again.

Parameters
Writer$writer
Returns
void

Definition at line 75 of file KeyValue.php.

75  {
76 
77  $writer->write($this->value);
78 
79  }

Field Documentation

◆ $value

Sabre\Xml\Element\KeyValue::$value
protected

Definition at line 43 of file KeyValue.php.

Referenced by Sabre\Xml\Element\KeyValue\__construct().


The documentation for this class was generated from the following file: