diff --git a/src/NodeVisitors/ReferencesAdder.php b/src/NodeVisitors/ReferencesAdder.php index 0d62a80..96059b3 100644 --- a/src/NodeVisitors/ReferencesAdder.php +++ b/src/NodeVisitors/ReferencesAdder.php @@ -21,8 +21,22 @@ class ReferencesAdder extends NodeVisitorAbstract */ 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) { + $node->setAttribute('ownerDocument', $this->document); if (!empty($this->stack)) { $node->setAttribute('parentNode', end($this->stack)); } diff --git a/src/PhpDocument.php b/src/PhpDocument.php index 8a264c6..b0f9ede 100644 --- a/src/PhpDocument.php +++ b/src/PhpDocument.php @@ -143,7 +143,7 @@ class PhpDocument $traverser->addVisitor(new NameResolver); // Add parentNode, previousSibling, nextSibling attributes - $traverser->addVisitor(new ReferencesAdder); + $traverser->addVisitor(new ReferencesAdder($this)); // Add column attributes to nodes $traverser->addVisitor(new ColumnCalculator($this->content));