# {py:mod}`arelle.utils.validate.DetectScriptsInXhtml` ```{py:module} arelle.utils.validate.DetectScriptsInXhtml ``` ```{autodoc2-docstring} arelle.utils.validate.DetectScriptsInXhtml :allowtitles: ``` ## Module Contents ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`hasEventHandlerAttributes ` - ```{autodoc2-docstring} arelle.utils.validate.DetectScriptsInXhtml.hasEventHandlerAttributes :summary: ``` * - {py:obj}`_hasEventAttributes ` - ```{autodoc2-docstring} arelle.utils.validate.DetectScriptsInXhtml._hasEventAttributes :summary: ``` * - {py:obj}`containsScriptMarkers ` - ```{autodoc2-docstring} arelle.utils.validate.DetectScriptsInXhtml.containsScriptMarkers :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`HTML_EVENT_HANDLER_ATTRIBUTES ` - ```{autodoc2-docstring} arelle.utils.validate.DetectScriptsInXhtml.HTML_EVENT_HANDLER_ATTRIBUTES :summary: ``` ```` ### API ````{py:data} HTML_EVENT_HANDLER_ATTRIBUTES :canonical: arelle.utils.validate.DetectScriptsInXhtml.HTML_EVENT_HANDLER_ATTRIBUTES :value: > 'frozenset(...)' ```{autodoc2-docstring} arelle.utils.validate.DetectScriptsInXhtml.HTML_EVENT_HANDLER_ATTRIBUTES ``` ```` ````{py:function} hasEventHandlerAttributes(elt: typing.Any) -> bool :canonical: arelle.utils.validate.DetectScriptsInXhtml.hasEventHandlerAttributes ```{autodoc2-docstring} arelle.utils.validate.DetectScriptsInXhtml.hasEventHandlerAttributes ``` ```` ````{py:function} _hasEventAttributes(elt: typing.Any, attributes: typing.Collection[str]) -> bool :canonical: arelle.utils.validate.DetectScriptsInXhtml._hasEventAttributes ```{autodoc2-docstring} arelle.utils.validate.DetectScriptsInXhtml._hasEventAttributes ``` ```` ````{py:function} containsScriptMarkers(elt: typing.Any) -> typing.Any :canonical: arelle.utils.validate.DetectScriptsInXhtml.containsScriptMarkers ```{autodoc2-docstring} arelle.utils.validate.DetectScriptsInXhtml.containsScriptMarkers ``` ````