appendElement() public method

Append an child element
public appendElement ( string $name, string $content = '', array $attributes = NULL ) : Element
$name string
$content string
$attributes array
return Element
Beispiel #1
0
 /**
  * @param Document|Element $parent
  * @param \DOMElement $node
  * @param bool $addNameAttribute
  */
 public function addNode($parent, \DOMElement $node, $addNameAttribute = FALSE)
 {
     switch ($this->getType($node)) {
         case 'object':
             $result = $parent->appendElement('json:object');
             $this->appendChildNodes($result, $node, TRUE);
             break;
         case 'array':
             $result = $parent->appendElement('json:array');
             $this->appendChildNodes($result, $node, FALSE);
             break;
         case 'number':
             $result = $parent->appendElement('json:number', $node->nodeValue);
             break;
         case 'boolean':
             $result = $parent->appendElement('json:boolean', $node->nodeValue);
             break;
         case 'null':
             $result = $parent->appendElement('json:null');
             break;
         default:
             $result = $parent->appendElement('json:string', $node->nodeValue);
             break;
     }
     if ($addNameAttribute) {
         $name = $node->localName;
         if ($node->hasAttributeNS(self::XMLNS_JSONDOM, 'name')) {
             $name = $node->getAttributeNS(self::XMLNS_JSONDOM, 'name');
         }
         $result['name'] = $name;
     }
 }
Beispiel #2
0
 /**
  * @param Element $parent
  * @param string $name
  * @param string $value
  */
 private function appendField(Element $parent, $name, $value)
 {
     $qname = QualifiedName::normalizeString($name, self::DEFAULT_QNAME);
     $child = $parent->appendElement($qname, $value);
     if ($qname !== $name) {
         $child->setAttributeNS(self::XMLNS, 'json:name', $name);
     }
 }
 private function appendValueTo(Element $parent, $token)
 {
     $itemNode = $parent->appendElement(strtolower($token->name));
     if (!empty($token->parameters)) {
         $parametersNode = $this->getWrapperNode($itemNode, $this->_nodeNames['parameters']);
         foreach ($token->parameters as $name => $parameter) {
             $parameterNode = $parametersNode->appendElement(strtolower($name));
             $this->appendValueNode($parameterNode, strtolower(isset($this->_parameters[$name]) ? $this->_parameters[$name] : $this->_nodeNames['default-type']), $parameter);
         }
     }
     if (!empty($token->value)) {
         $tokenType = $token->type ?: (isset($this->_components[$token->name]) ? $this->_components[$token->name] : 'unknown');
         if (is_array($tokenType)) {
             $tokenValues = $this->getValuesAsList($token->value, $tokenType);
             foreach ($tokenValues as $tokenName => $tokenValue) {
                 $this->appendValueNode($itemNode, $tokenName, $tokenValue);
             }
         } else {
             $this->appendValueNode($itemNode, strtolower($tokenType), $token->value);
         }
     }
 }