appendChild($parentNode->ownerDocument->createElement($name, $value)); } /** * Create and store an instance of DOMXPath for given document * * @param DOMDocument $dom * @return void */ protected function createXPath(DOMDocument $dom) { $this->xpath = new DOMXPath($dom); } /** * Evaluate an XPath expression and return its result * * @param string $expr XPath expression * @param DOMNode $node Context node * @return mixed */ protected function evaluate($expr, DOMNode $node = null) { return (isset($node)) ? $this->xpath->evaluate($expr, $node) : $this->xpath->evaluate($expr); } /** * Run an XPath query and return its result * * @param string $query XPath query * @param DOMNode $node Context node * @return \DOMNodeList */ protected function query($query, DOMNode $node = null) { return (isset($node)) ? $this->xpath->query($query, $node) : $this->xpath->query($query); } }