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);