3 namespace Sabberworm\CSS
;
5 use Sabberworm\CSS\CSSList\Document
;
6 use Sabberworm\CSS\Parsing\ParserState
;
9 * Parser class parses CSS from text into a data structure.
12 private $oParserState;
16 * Note that that iLineNo starts from 1 and not 0
19 * @param Settings|null $oParserSettings
22 public function __construct($sText, Settings
$oParserSettings = null, $iLineNo = 1) {
23 if ($oParserSettings === null) {
24 $oParserSettings = Settings
::create();
26 $this->oParserState
= new ParserState($sText, $oParserSettings, $iLineNo);
29 public function setCharset($sCharset) {
30 $this->oParserState
->setCharset($sCharset);
33 public function getCharset() {
34 $this->oParserState
->getCharset();
37 public function parse() {
38 return Document
::parse($this->oParserState
);