예제 #1
0
 public function testExtensionAttributes()
 {
     $extensionAttributes = $this->category->extensionAttributes;
     $extensionAttributes['foo1'] = array('name' => 'foo1', 'value' => 'bar');
     $extensionAttributes['foo2'] = array('name' => 'foo2', 'value' => 'rab');
     $this->category->extensionAttributes = $extensionAttributes;
     $this->assertEquals('bar', $this->category->extensionAttributes['foo1']['value']);
     $this->assertEquals('rab', $this->category->extensionAttributes['foo2']['value']);
     $categoryXml = $this->category->saveXML();
     $newCategory = new Extension\Category();
     $newCategory->transferFromXML($categoryXml);
     $this->assertEquals('bar', $newCategory->extensionAttributes['foo1']['value']);
     $this->assertEquals('rab', $newCategory->extensionAttributes['foo2']['value']);
 }
예제 #2
0
 /**
  * Constructor for ZendGData\Books\Extension\BooksCategory which
  * Describes a books category
  *
  * @param string|null $term An identifier representing the category within
  *        the categorization scheme.
  * @param string|null $scheme A string containing a URI identifying the
  *        categorization scheme.
  * @param string|null $label A human-readable label for display in
  *        end-user applications.
  */
 public function __construct($term = null, $scheme = null, $label = null)
 {
     $this->registerAllNamespaces(\ZendGData\Books::$namespaces);
     parent::__construct($term, $scheme, $label);
 }
 protected function takeChildFromDOM($child)
 {
     $absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
     switch ($absoluteNodeName) {
         case $this->lookupNamespace('atom') . ':' . 'author':
             $author = new Extension\Author();
             $author->transferFromDOM($child);
             $this->_author[] = $author;
             break;
         case $this->lookupNamespace('atom') . ':' . 'category':
             $category = new Extension\Category();
             $category->transferFromDOM($child);
             $this->_category[] = $category;
             break;
         case $this->lookupNamespace('atom') . ':' . 'contributor':
             $contributor = new Extension\Contributor();
             $contributor->transferFromDOM($child);
             $this->_contributor[] = $contributor;
             break;
         case $this->lookupNamespace('atom') . ':' . 'id':
             $id = new Extension\Id();
             $id->transferFromDOM($child);
             $this->_id = $id;
             break;
         case $this->lookupNamespace('atom') . ':' . 'link':
             $link = new Extension\Link();
             $link->transferFromDOM($child);
             $this->_link[] = $link;
             break;
         case $this->lookupNamespace('atom') . ':' . 'rights':
             $rights = new Extension\Rights();
             $rights->transferFromDOM($child);
             $this->_rights = $rights;
             break;
         case $this->lookupNamespace('atom') . ':' . 'title':
             $title = new Extension\Title();
             $title->transferFromDOM($child);
             $this->_title = $title;
             break;
         case $this->lookupNamespace('atom') . ':' . 'updated':
             $updated = new Extension\Updated();
             $updated->transferFromDOM($child);
             $this->_updated = $updated;
             break;
         default:
             parent::takeChildFromDOM($child);
             break;
     }
 }