name: HtmlExtension class_comment: "# * XPath expression translator HTML extension.\n# *\n# * This component\ \ is a port of the Python cssselect library,\n# * which is copyright Ian Bicking,\ \ @see https://github.com/SimonSapin/cssselect.\n# *\n# * @author Jean-Fran\xE7\ ois Simon \n# *\n# * @internal" dependencies: - name: ExpressionErrorException type: class source: Symfony\Component\CssSelector\Exception\ExpressionErrorException - name: FunctionNode type: class source: Symfony\Component\CssSelector\Node\FunctionNode - name: Translator type: class source: Symfony\Component\CssSelector\XPath\Translator - name: XPathExpr type: class source: Symfony\Component\CssSelector\XPath\XPathExpr properties: [] methods: - name: translateLang visibility: public parameters: - name: xpath - name: function comment: "# * XPath expression translator HTML extension.\n# *\n# * This component\ \ is a port of the Python cssselect library,\n# * which is copyright Ian Bicking,\ \ @see https://github.com/SimonSapin/cssselect.\n# *\n# * @author Jean-Fran\xE7\ ois Simon \n# *\n# * @internal\n# */\n# class\ \ HtmlExtension extends AbstractExtension\n# {\n# public function __construct(Translator\ \ $translator)\n# {\n# $translator\n# ->getExtension('node')\n# ->setFlag(NodeExtension::ELEMENT_NAME_IN_LOWER_CASE,\ \ true)\n# ->setFlag(NodeExtension::ATTRIBUTE_NAME_IN_LOWER_CASE, true);\n# }\n\ # \n# public function getPseudoClassTranslators(): array\n# {\n# return [\n# 'checked'\ \ => $this->translateChecked(...),\n# 'link' => $this->translateLink(...),\n#\ \ 'disabled' => $this->translateDisabled(...),\n# 'enabled' => $this->translateEnabled(...),\n\ # 'selected' => $this->translateSelected(...),\n# 'invalid' => $this->translateInvalid(...),\n\ # 'hover' => $this->translateHover(...),\n# 'visited' => $this->translateVisited(...),\n\ # ];\n# }\n# \n# public function getFunctionTranslators(): array\n# {\n# return\ \ [\n# 'lang' => $this->translateLang(...),\n# ];\n# }\n# \n# public function\ \ translateChecked(XPathExpr $xpath): XPathExpr\n# {\n# return $xpath->addCondition(\n\ # '(@checked '\n# .\"and (name(.) = 'input' or name(.) = 'command')\"\n# .\"and\ \ (@type = 'checkbox' or @type = 'radio'))\"\n# );\n# }\n# \n# public function\ \ translateLink(XPathExpr $xpath): XPathExpr\n# {\n# return $xpath->addCondition(\"\ @href and (name(.) = 'a' or name(.) = 'link' or name(.) = 'area')\");\n# }\n#\ \ \n# public function translateDisabled(XPathExpr $xpath): XPathExpr\n# {\n# return\ \ $xpath->addCondition(\n# '('\n# .'@disabled and'\n# .'('\n# .\"(name(.) = 'input'\ \ and @type != 'hidden')\"\n# .\" or name(.) = 'button'\"\n# .\" or name(.) =\ \ 'select'\"\n# .\" or name(.) = 'textarea'\"\n# .\" or name(.) = 'command'\"\n\ # .\" or name(.) = 'fieldset'\"\n# .\" or name(.) = 'optgroup'\"\n# .\" or name(.)\ \ = 'option'\"\n# .')'\n# .') or ('\n# .\"(name(.) = 'input' and @type != 'hidden')\"\ \n# .\" or name(.) = 'button'\"\n# .\" or name(.) = 'select'\"\n# .\" or name(.)\ \ = 'textarea'\"\n# .')'\n# .' and ancestor::fieldset[@disabled]'\n# );\n# //\ \ todo: in the second half, add \"and is not a descendant of that fieldset element's\ \ first legend element child, if any.\"\n# }\n# \n# public function translateEnabled(XPathExpr\ \ $xpath): XPathExpr\n# {\n# return $xpath->addCondition(\n# '('\n# .'@href and\ \ ('\n# .\"name(.) = 'a'\"\n# .\" or name(.) = 'link'\"\n# .\" or name(.) = 'area'\"\ \n# .')'\n# .') or ('\n# .'('\n# .\"name(.) = 'command'\"\n# .\" or name(.) =\ \ 'fieldset'\"\n# .\" or name(.) = 'optgroup'\"\n# .')'\n# .' and not(@disabled)'\n\ # .') or ('\n# .'('\n# .\"(name(.) = 'input' and @type != 'hidden')\"\n# .\" or\ \ name(.) = 'button'\"\n# .\" or name(.) = 'select'\"\n# .\" or name(.) = 'textarea'\"\ \n# .\" or name(.) = 'keygen'\"\n# .')'\n# .' and not (@disabled or ancestor::fieldset[@disabled])'\n\ # .') or ('\n# .\"name(.) = 'option' and not(\"\n# .'@disabled or ancestor::optgroup[@disabled]'\n\ # .')'\n# .')'\n# );\n# }\n# \n# /**\n# * @throws ExpressionErrorException" - name: translateSelected visibility: public parameters: - name: xpath comment: null - name: translateInvalid visibility: public parameters: - name: xpath comment: null - name: translateHover visibility: public parameters: - name: xpath comment: null - name: translateVisited visibility: public parameters: - name: xpath comment: null - name: getName visibility: public parameters: [] comment: null traits: - Symfony\Component\CssSelector\Exception\ExpressionErrorException - Symfony\Component\CssSelector\Node\FunctionNode - Symfony\Component\CssSelector\XPath\Translator - Symfony\Component\CssSelector\XPath\XPathExpr interfaces: []