Viewing file: Document.php (3.14 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace Sabberworm\CSS\CSSList;
use Sabberworm\CSS\Parsing\ParserState;
/** * The root CSSList of a parsed file. Contains all top-level css contents, mostly declaration blocks, but also any @-rules encountered. */ class Document extends CSSBlockList { /** * Document constructor. * @param int $iLineNo */ public function __construct($iLineNo = 0) { parent::__construct($iLineNo); }
public static function parse(ParserState $oParserState) { $oDocument = new Document($oParserState->currentLine()); CSSList::parseList($oParserState, $oDocument); return $oDocument; }
/** * Gets all DeclarationBlock objects recursively. */ public function getAllDeclarationBlocks() { $aResult = array(); $this->allDeclarationBlocks($aResult); return $aResult; }
/** * @deprecated use getAllDeclarationBlocks() */ public function getAllSelectors() { return $this->getAllDeclarationBlocks(); }
/** * Returns all RuleSet objects found recursively in the tree. */ public function getAllRuleSets() { $aResult = array(); $this->allRuleSets($aResult); return $aResult; }
/** * Returns all Value objects found recursively in the tree. * @param (object|string) $mElement the CSSList or RuleSet to start the search from (defaults to the whole document). If a string is given, it is used as rule name filter (@see{RuleSet->getRules()}). * @param (bool) $bSearchInFunctionArguments whether to also return Value objects used as Function arguments. */ public function getAllValues($mElement = null, $bSearchInFunctionArguments = false) { $sSearchString = null; if ($mElement === null) { $mElement = $this; } else if (is_string($mElement)) { $sSearchString = $mElement; $mElement = $this; } $aResult = array(); $this->allValues($mElement, $aResult, $sSearchString, $bSearchInFunctionArguments); return $aResult; }
/** * Returns all Selector objects found recursively in the tree. * Note that this does not yield the full DeclarationBlock that the selector belongs to (and, currently, there is no way to get to that). * @param $sSpecificitySearch An optional filter by specificity. May contain a comparison operator and a number or just a number (defaults to "=="). * @example getSelectorsBySpecificity('>= 100') */ public function getSelectorsBySpecificity($sSpecificitySearch = null) { $aResult = array(); $this->allSelectors($aResult, $sSpecificitySearch); return $aResult; }
/** * Expands all shorthand properties to their long value */ public function expandShorthands() { foreach ($this->getAllDeclarationBlocks() as $oDeclaration) { $oDeclaration->expandShorthands(); } }
/** * Create shorthands properties whenever possible */ public function createShorthands() { foreach ($this->getAllDeclarationBlocks() as $oDeclaration) { $oDeclaration->createShorthands(); } }
// Override render() to make format argument optional public function render(\Sabberworm\CSS\OutputFormat $oOutputFormat = null) { if($oOutputFormat === null) { $oOutputFormat = new \Sabberworm\CSS\OutputFormat(); } return parent::render($oOutputFormat); }
public function isRootList() { return true; }
}
|