/** * Creates individual Entry objects of the appropriate type and * stores them as members of this entry based upon DOM data. * * @param DOMNode $child The DOMNode to process */ protected function takeChildFromDOM($child) { $absoluteNodeName = $child->namespaceURI . ':' . $child->localName; switch ($absoluteNodeName) { case $this->lookupNamespace('apps') . ':' . 'property': $property = new Extension\Property(); $property->transferFromDOM($child); $this->_property[] = $property; break; default: parent::takeChildFromDOM($child); break; } }
public function testExtensionAttributes() { $extensionAttributes = $this->theProperty->extensionAttributes; $extensionAttributes['foo1'] = array('name' => 'foo1', 'value' => 'bar'); $extensionAttributes['foo2'] = array('name' => 'foo2', 'value' => 'rab'); $this->theProperty->extensionAttributes = $extensionAttributes; $this->assertEquals('bar', $this->theProperty->extensionAttributes['foo1']['value']); $this->assertEquals('rab', $this->theProperty->extensionAttributes['foo2']['value']); $propertyXml = $this->theProperty->saveXML(); $newProperty = new Property(); $newProperty->transferFromXML($propertyXml); $this->assertEquals('bar', $newProperty->extensionAttributes['foo1']['value']); $this->assertEquals('rab', $newProperty->extensionAttributes['foo2']['value']); }