| 
<?php/**
 * This file contains the CssParserModelElement class.
 *
 * PHP Version 5.3
 *
 * @category Css
 * @package  CssParser
 * @author   Gonzalo Chumillas <[email protected]>
 * @license  https://raw2.github.com/soloproyectos/php.common-libs/master/LICENSE BSD 2-Clause License
 * @link     https://github.com/soloproyectos/php.common-libs
 */
 namespace com\soloproyectos\common\css\parser\model;
 use \DOMElement;
 use com\soloproyectos\common\css\parser\filter\CssParserFilter;
 
 /**
 * Class CssParserModelElement.
 *
 * This class represents an element in a CSS expression.
 *
 * @category Css
 * @package  CssParser
 * @author   Gonzalo Chumillas <[email protected]>
 * @license  https://raw2.github.com/soloproyectos/php.common-libs/master/LICENSE BSD 2-Clause License
 * @link     https://github.com/soloproyectos/php.common-libs
 */
 class CssParserModelElement
 {
 /**
 * Tagname.
 * @var string
 */
 private $_tagName;
 
 /**
 * List of filters.
 * @var array of CssParserFilter objects
 */
 private $_filters;
 
 /**
 * Constructor.
 *
 * @param string $tagName Tagname
 */
 public function __construct($tagName)
 {
 $this->_filters = array();
 $this->_tagName = $tagName;
 }
 
 /**
 * Gets the tagname.
 *
 * @return string
 */
 public function getTagName()
 {
 return $this->_tagName;
 }
 
 /**
 * Gets the filters.
 *
 * @return array of CssParserFilter
 */
 public function getFilters()
 {
 return $this->_filters;
 }
 
 /**
 * Adds a filter.
 *
 * @param CssParserFilter $filter Filter object
 *
 * @return void
 */
 public function addFilter($filter)
 {
 array_push($this->_filters, $filter);
 }
 
 /**
 * Does the node match?
 *
 * @param DOMElement $node DOMElement object
 *
 * @return boolean
 */
 public function match($node)
 {
 return $this->_tagName == "*" || $node->nodeName == $this->_tagName;
 }
 }
 
 |