/**
  * Object getter
  * @param string $a_name
  * @return mixed
  */
 public function __get($a_name)
 {
     if (!$this->document) {
         return parent::__get($a_name);
     }
     return $this->document->{$a_name};
 }
 /**
  * Object getter
  * @param string $a_name
  * @return mixed
  */
 public function &__get($a_name)
 {
     try {
         return parent::__get($a_name);
     } catch (ZException $e) {
         return $this->document->{$a_name};
     }
 }