| Current Path : /var/www/iplanru/data/www/i-plan.ru/templates/yoo_everest/warp/src/Warp/Dom/ |
| Current File : /var/www/iplanru/data/www/i-plan.ru/templates/yoo_everest/warp/src/Warp/Dom/Document.php |
<?php
/**
* @package Warp Theme Framework
* @author YOOtheme http://www.yootheme.com
* @copyright Copyright (C) YOOtheme GmbH
* @license http://www.gnu.org/licenses/gpl.html GNU/GPL
*/
namespace Warp\Dom;
/**
* DOM document class with extended attributes and functions.
*/
class Document extends \DOMDocument
{
/**
* @var object
*/
public $xpath;
public function __construct($version = '1.0', $encoding = 'UTF-8')
{
parent::__construct($version, $encoding);
// set node class
$this->registerNodeClass('DOMElement', 'Warp\Dom\Element');
}
public function first($query)
{
if ($matches = $this->find($query)) {
if ($matches->length) {
return $matches->item(0);
}
}
return null;
}
public function find($query)
{
return $this->xpath()->query(CssSelector::toXPath($query, 'descendant::'));
}
public function query($expression)
{
return $this->xpath()->query($expression);
}
public function xpath()
{
if (empty($this->xpath)) {
$this->xpath = new \DOMXPath($this);
}
return $this->xpath;
}
}