1
0
Fork 0

Add ownerDocument attribute to nodes

pull/49/head
Felix Becker 2016-10-08 14:53:13 +02:00
parent 987308fc0a
commit fbdf1aa414
2 changed files with 15 additions and 1 deletions

View File

@ -21,8 +21,22 @@ class ReferencesAdder extends NodeVisitorAbstract
*/ */
private $previous; private $previous;
/**
* @var mixed
*/
private $document;
/**
* @param mixed $document The value for the ownerDocument attribute
*/
public function __construct($document = null)
{
$this->document = $document;
}
public function enterNode(Node $node) public function enterNode(Node $node)
{ {
$node->setAttribute('ownerDocument', $this->document);
if (!empty($this->stack)) { if (!empty($this->stack)) {
$node->setAttribute('parentNode', end($this->stack)); $node->setAttribute('parentNode', end($this->stack));
} }

View File

@ -143,7 +143,7 @@ class PhpDocument
$traverser->addVisitor(new NameResolver); $traverser->addVisitor(new NameResolver);
// Add parentNode, previousSibling, nextSibling attributes // Add parentNode, previousSibling, nextSibling attributes
$traverser->addVisitor(new ReferencesAdder); $traverser->addVisitor(new ReferencesAdder($this));
// Add column attributes to nodes // Add column attributes to nodes
$traverser->addVisitor(new ColumnCalculator($this->content)); $traverser->addVisitor(new ColumnCalculator($this->content));