# {py:mod}`arelle.utils.validate.ValidationPlugin` ```{py:module} arelle.utils.validate.ValidationPlugin ``` ```{autodoc2-docstring} arelle.utils.validate.ValidationPlugin :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`ValidationPlugin ` - ```{autodoc2-docstring} arelle.utils.validate.ValidationPlugin.ValidationPlugin :summary: ``` ```` ### API `````{py:class} ValidationPlugin(name: str, disclosureSystemConfigUrl: pathlib.Path, validationTypes: list[str], validationRuleModules: list[types.ModuleType]) :canonical: arelle.utils.validate.ValidationPlugin.ValidationPlugin ```{autodoc2-docstring} arelle.utils.validate.ValidationPlugin.ValidationPlugin ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.utils.validate.ValidationPlugin.ValidationPlugin.__init__ ``` ````{py:method} newPluginData(cntlr: arelle.Cntlr.Cntlr, validateXbrl: arelle.ValidateXbrl.ValidateXbrl | None) -> arelle.utils.PluginData.PluginData :canonical: arelle.utils.validate.ValidationPlugin.ValidationPlugin.newPluginData ```{autodoc2-docstring} arelle.utils.validate.ValidationPlugin.ValidationPlugin.newPluginData ``` ```` ````{py:property} validationTypes :canonical: arelle.utils.validate.ValidationPlugin.ValidationPlugin.validationTypes :type: tuple[str, ...] ```{autodoc2-docstring} arelle.utils.validate.ValidationPlugin.ValidationPlugin.validationTypes ``` ```` ````{py:property} disclosureSystemConfigURL :canonical: arelle.utils.validate.ValidationPlugin.ValidationPlugin.disclosureSystemConfigURL :type: str ```{autodoc2-docstring} arelle.utils.validate.ValidationPlugin.ValidationPlugin.disclosureSystemConfigURL ``` ```` ````{py:property} disclosureSystemTypes :canonical: arelle.utils.validate.ValidationPlugin.ValidationPlugin.disclosureSystemTypes :type: tuple[tuple[str, str], ...] ```{autodoc2-docstring} arelle.utils.validate.ValidationPlugin.ValidationPlugin.disclosureSystemTypes ``` ```` ````{py:method} modelDocumentPullLoader(modelXbrl: arelle.ModelXbrl.ModelXbrl, normalizedUri: str, filepath: str, isEntry: bool, namespace: str | None, *args: typing.Any, **kwargs: typing.Any) -> arelle.ModelDocument.ModelDocument | arelle.ModelDocument.LoadingException | None :canonical: arelle.utils.validate.ValidationPlugin.ValidationPlugin.modelDocumentPullLoader :abstractmethod: ```{autodoc2-docstring} arelle.utils.validate.ValidationPlugin.ValidationPlugin.modelDocumentPullLoader ``` ```` ````{py:method} modelXbrlLoadComplete(modelXbrl: arelle.ModelXbrl.ModelXbrl, *args: typing.Any, **kwargs: typing.Any) -> arelle.ModelDocument.ModelDocument | arelle.ModelDocument.LoadingException | None :canonical: arelle.utils.validate.ValidationPlugin.ValidationPlugin.modelXbrlLoadComplete :abstractmethod: ```{autodoc2-docstring} arelle.utils.validate.ValidationPlugin.ValidationPlugin.modelXbrlLoadComplete ``` ```` ````{py:method} validateComplete(cntlr: arelle.Cntlr.Cntlr, fileSource: arelle.FileSource.FileSource, *args: typing.Any, **kwargs: typing.Any) -> None :canonical: arelle.utils.validate.ValidationPlugin.ValidationPlugin.validateComplete ```{autodoc2-docstring} arelle.utils.validate.ValidationPlugin.ValidationPlugin.validateComplete ``` ```` ````{py:method} validateFileSource(cntlr: arelle.Cntlr.Cntlr, fileSource: arelle.FileSource.FileSource, *args: typing.Any, **kwargs: typing.Any) -> None :canonical: arelle.utils.validate.ValidationPlugin.ValidationPlugin.validateFileSource ```{autodoc2-docstring} arelle.utils.validate.ValidationPlugin.ValidationPlugin.validateFileSource ``` ```` ````{py:method} validateXbrlStart(val: arelle.ValidateXbrl.ValidateXbrl, parameters: dict[typing.Any, typing.Any], *args: typing.Any, **kwargs: typing.Any) -> None :canonical: arelle.utils.validate.ValidationPlugin.ValidationPlugin.validateXbrlStart ```{autodoc2-docstring} arelle.utils.validate.ValidationPlugin.ValidationPlugin.validateXbrlStart ``` ```` ````{py:method} validateXbrlFinally(val: arelle.ValidateXbrl.ValidateXbrl, *args: typing.Any, **kwargs: typing.Any) -> None :canonical: arelle.utils.validate.ValidationPlugin.ValidationPlugin.validateXbrlFinally ```{autodoc2-docstring} arelle.utils.validate.ValidationPlugin.ValidationPlugin.validateXbrlFinally ``` ```` ````{py:method} validateXbrlDtsDocument(val: arelle.ValidateXbrl.ValidateXbrl, modelDocument: arelle.ModelDocument.ModelDocument, isFilingDocument: bool, *args: typing.Any, **kwargs: typing.Any) -> None :canonical: arelle.utils.validate.ValidationPlugin.ValidationPlugin.validateXbrlDtsDocument ```{autodoc2-docstring} arelle.utils.validate.ValidationPlugin.ValidationPlugin.validateXbrlDtsDocument ``` ```` ````{py:method} validateFinally(val: arelle.ValidateXbrl.ValidateXbrl, *args: typing.Any, **kwargs: typing.Any) -> None :canonical: arelle.utils.validate.ValidationPlugin.ValidationPlugin.validateFinally ```{autodoc2-docstring} arelle.utils.validate.ValidationPlugin.ValidationPlugin.validateFinally ``` ```` ````{py:method} disclosureSystemFromPluginSelected(model: arelle.ValidateXbrl.ValidateXbrl | arelle.ModelManager.ModelManager | arelle.ModelXbrl.ModelXbrl) -> bool :canonical: arelle.utils.validate.ValidationPlugin.ValidationPlugin.disclosureSystemFromPluginSelected ```{autodoc2-docstring} arelle.utils.validate.ValidationPlugin.ValidationPlugin.disclosureSystemFromPluginSelected ``` ```` `````