Example #1
0
 /**
  * @param \DOMNode $node
  * @param string|NULL $prefix
  * @param string $uri
  * @return bool
  */
 private function canAddNamespaceToNode(\DOMNode $node, $prefix, $uri)
 {
     $prefix = empty($prefix) ? NULL : $prefix;
     $currentUri = $node->lookupNamespaceUri($prefix);
     $hasNoNamespace = empty($node->namespaceURI);
     if ($hasNoNamespace && empty($prefix)) {
         return FALSE;
     } elseif (empty($currentUri)) {
         return $currentUri !== $uri;
     }
     return FALSE;
 }
Example #2
0
 /**
  * @param string $nodeName
  * @param \stdClass $properties
  * @param \DOMNode $parent
  * @return string
  */
 private function getNamespaceForNode($nodeName, \stdClass $properties, \DOMNode $parent)
 {
     $prefix = substr($nodeName, 0, strpos($nodeName, ':'));
     $xmlns = $this->getNamespacePropertyName($prefix);
     return isset($properties->{$xmlns}) ? $properties->{$xmlns} : $parent->lookupNamespaceUri(empty($prefix) ? NULL : $prefix);
 }