# {py:mod}`arelle.ValidateXbrl` ```{py:module} arelle.ValidateXbrl ``` ```{autodoc2-docstring} arelle.ValidateXbrl :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`ValidateXbrl ` - ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`arcNamesTo21Resource ` - ```{autodoc2-docstring} arelle.ValidateXbrl.arcNamesTo21Resource :summary: ``` * - {py:obj}`xlinkTypeValues ` - ```{autodoc2-docstring} arelle.ValidateXbrl.xlinkTypeValues :summary: ``` * - {py:obj}`xlinkActuateValues ` - ```{autodoc2-docstring} arelle.ValidateXbrl.xlinkActuateValues :summary: ``` * - {py:obj}`xlinkShowValues ` - ```{autodoc2-docstring} arelle.ValidateXbrl.xlinkShowValues :summary: ``` * - {py:obj}`xlinkLabelAttributes ` - ```{autodoc2-docstring} arelle.ValidateXbrl.xlinkLabelAttributes :summary: ``` * - {py:obj}`periodTypeValues ` - ```{autodoc2-docstring} arelle.ValidateXbrl.periodTypeValues :summary: ``` * - {py:obj}`balanceValues ` - ```{autodoc2-docstring} arelle.ValidateXbrl.balanceValues :summary: ``` ```` ### API ````{py:data} arcNamesTo21Resource :canonical: arelle.ValidateXbrl.arcNamesTo21Resource :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.arcNamesTo21Resource ``` ```` ````{py:data} xlinkTypeValues :canonical: arelle.ValidateXbrl.xlinkTypeValues :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.xlinkTypeValues ``` ```` ````{py:data} xlinkActuateValues :canonical: arelle.ValidateXbrl.xlinkActuateValues :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.xlinkActuateValues ``` ```` ````{py:data} xlinkShowValues :canonical: arelle.ValidateXbrl.xlinkShowValues :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.xlinkShowValues ``` ```` ````{py:data} xlinkLabelAttributes :canonical: arelle.ValidateXbrl.xlinkLabelAttributes :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.xlinkLabelAttributes ``` ```` ````{py:data} periodTypeValues :canonical: arelle.ValidateXbrl.periodTypeValues :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.periodTypeValues ``` ```` ````{py:data} balanceValues :canonical: arelle.ValidateXbrl.balanceValues :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.balanceValues ``` ```` `````{py:class} ValidateXbrl(testModelXbrl: arelle.ModelXbrl.ModelXbrl) :canonical: arelle.ValidateXbrl.ValidateXbrl ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.__init__ ``` ````{py:attribute} authority :canonical: arelle.ValidateXbrl.ValidateXbrl.authority :type: str | None :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.authority ``` ```` ````{py:attribute} authParam :canonical: arelle.ValidateXbrl.ValidateXbrl.authParam :type: dict[str, typing.Any] :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.authParam ``` ```` ````{py:attribute} consolidated :canonical: arelle.ValidateXbrl.ValidateXbrl.consolidated :type: bool :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.consolidated ``` ```` ````{py:attribute} domainMembers :canonical: arelle.ValidateXbrl.ValidateXbrl.domainMembers :type: set[arelle.ModelDtsObject.ModelConcept] :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.domainMembers ``` ```` ````{py:attribute} DTSreferenceResourceIDs :canonical: arelle.ValidateXbrl.ValidateXbrl.DTSreferenceResourceIDs :type: dict[str, typing.Any] :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.DTSreferenceResourceIDs ``` ```` ````{py:attribute} extensionImportedUrls :canonical: arelle.ValidateXbrl.ValidateXbrl.extensionImportedUrls :type: set[str] :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.extensionImportedUrls ``` ```` ````{py:attribute} genericArcArcroles :canonical: arelle.ValidateXbrl.ValidateXbrl.genericArcArcroles :type: set[str] :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.genericArcArcroles ``` ```` ````{py:attribute} hasExtensionCal :canonical: arelle.ValidateXbrl.ValidateXbrl.hasExtensionCal :type: bool :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.hasExtensionCal ``` ```` ````{py:attribute} hasExtensionDef :canonical: arelle.ValidateXbrl.ValidateXbrl.hasExtensionDef :type: bool :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.hasExtensionDef ``` ```` ````{py:attribute} hasExtensionLbl :canonical: arelle.ValidateXbrl.ValidateXbrl.hasExtensionLbl :type: bool :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.hasExtensionLbl ``` ```` ````{py:attribute} hasExtensionPre :canonical: arelle.ValidateXbrl.ValidateXbrl.hasExtensionPre :type: bool :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.hasExtensionPre ``` ```` ````{py:attribute} hasExtensionSchema :canonical: arelle.ValidateXbrl.ValidateXbrl.hasExtensionSchema :type: bool :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.hasExtensionSchema ``` ```` ````{py:attribute} ixdsDocs :canonical: arelle.ValidateXbrl.ValidateXbrl.ixdsDocs :type: list[arelle.ModelDocument.ModelDocument] :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.ixdsDocs ``` ```` ````{py:attribute} ixdsFootnotes :canonical: arelle.ValidateXbrl.ValidateXbrl.ixdsFootnotes :type: dict[str, typing.Any] :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.ixdsFootnotes ``` ```` ````{py:attribute} ixdsHeaderCount :canonical: arelle.ValidateXbrl.ValidateXbrl.ixdsHeaderCount :type: int :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.ixdsHeaderCount ``` ```` ````{py:attribute} ixdsReferences :canonical: arelle.ValidateXbrl.ValidateXbrl.ixdsReferences :type: dict[str, typing.Any] :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.ixdsReferences ``` ```` ````{py:attribute} ixdsRelationships :canonical: arelle.ValidateXbrl.ValidateXbrl.ixdsRelationships :type: list[arelle.ModelObject.ModelObject] :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.ixdsRelationships ``` ```` ````{py:attribute} ixdsRoleRefURIs :canonical: arelle.ValidateXbrl.ValidateXbrl.ixdsRoleRefURIs :type: dict[typing.Any, typing.Any] :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.ixdsRoleRefURIs ``` ```` ````{py:attribute} ixdsArcroleRefURIs :canonical: arelle.ValidateXbrl.ValidateXbrl.ixdsArcroleRefURIs :type: dict[typing.Any, typing.Any] :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.ixdsArcroleRefURIs ``` ```` ````{py:attribute} unconsolidated :canonical: arelle.ValidateXbrl.ValidateXbrl.unconsolidated :type: bool :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.unconsolidated ``` ```` ````{py:attribute} priorFormulaOptionsRunIDs :canonical: arelle.ValidateXbrl.ValidateXbrl.priorFormulaOptionsRunIDs :type: str | None :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.priorFormulaOptionsRunIDs ``` ```` ````{py:attribute} primaryItems :canonical: arelle.ValidateXbrl.ValidateXbrl.primaryItems :type: set[typing.Any] :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.primaryItems ``` ```` ````{py:attribute} remoteResourceLocElements :canonical: arelle.ValidateXbrl.ValidateXbrl.remoteResourceLocElements :type: set[arelle.ModelObject.ModelObject] :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.remoteResourceLocElements ``` ```` ````{py:attribute} annotationsCount :canonical: arelle.ValidateXbrl.ValidateXbrl.annotationsCount :type: int :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.annotationsCount ``` ```` ````{py:attribute} arcroleRefURIs :canonical: arelle.ValidateXbrl.ValidateXbrl.arcroleRefURIs :type: dict[str, str | arelle.ModelObject.ModelObject | arelle.PrototypeDtsObject.PrototypeObject] | None :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.arcroleRefURIs ``` ```` ````{py:attribute} conceptNames :canonical: arelle.ValidateXbrl.ValidateXbrl.conceptNames :type: dict[str, typing.Any] | None :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.conceptNames ``` ```` ````{py:attribute} containsRelationship :canonical: arelle.ValidateXbrl.ValidateXbrl.containsRelationship :type: bool :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.containsRelationship ``` ```` ````{py:attribute} documentTypeEncoding :canonical: arelle.ValidateXbrl.ValidateXbrl.documentTypeEncoding :type: str :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.documentTypeEncoding ``` ```` ````{py:attribute} elementIDs :canonical: arelle.ValidateXbrl.ValidateXbrl.elementIDs :type: dict[str, arelle.ModelObject.ModelObject] | None :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.elementIDs ``` ```` ````{py:attribute} extendedElementName :canonical: arelle.ValidateXbrl.ValidateXbrl.extendedElementName :type: arelle.ModelValue.QName | None :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.extendedElementName ``` ```` ````{py:attribute} hasAbstractItem :canonical: arelle.ValidateXbrl.ValidateXbrl.hasAbstractItem :type: bool :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.hasAbstractItem ``` ```` ````{py:attribute} hasContextFragment :canonical: arelle.ValidateXbrl.ValidateXbrl.hasContextFragment :type: bool :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.hasContextFragment ``` ```` ````{py:attribute} hasDimension :canonical: arelle.ValidateXbrl.ValidateXbrl.hasDimension :type: bool :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.hasDimension ``` ```` ````{py:attribute} hasDomain :canonical: arelle.ValidateXbrl.ValidateXbrl.hasDomain :type: bool :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.hasDomain ``` ```` ````{py:attribute} hasEnumeration :canonical: arelle.ValidateXbrl.ValidateXbrl.hasEnumeration :type: bool :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.hasEnumeration ``` ```` ````{py:attribute} hasHypercube :canonical: arelle.ValidateXbrl.ValidateXbrl.hasHypercube :type: bool :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.hasHypercube ``` ```` ````{py:attribute} hasLinkPart :canonical: arelle.ValidateXbrl.ValidateXbrl.hasLinkPart :type: bool :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.hasLinkPart ``` ```` ````{py:attribute} hasLinkRole :canonical: arelle.ValidateXbrl.ValidateXbrl.hasLinkRole :type: bool :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.hasLinkRole ``` ```` ````{py:attribute} hasNonAbstractElement :canonical: arelle.ValidateXbrl.ValidateXbrl.hasNonAbstractElement :type: bool :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.hasNonAbstractElement ``` ```` ````{py:attribute} hasNonAbstraceElement :canonical: arelle.ValidateXbrl.ValidateXbrl.hasNonAbstraceElement :type: bool :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.hasNonAbstraceElement ``` ```` ````{py:attribute} hasTuple :canonical: arelle.ValidateXbrl.ValidateXbrl.hasTuple :type: bool :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.hasTuple ``` ```` ````{py:attribute} hasType :canonical: arelle.ValidateXbrl.ValidateXbrl.hasType :type: bool :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.hasType ``` ```` ````{py:attribute} inSchemaTop :canonical: arelle.ValidateXbrl.ValidateXbrl.inSchemaTop :type: bool :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.inSchemaTop ``` ```` ````{py:attribute} ixdsTuples :canonical: arelle.ValidateXbrl.ValidateXbrl.ixdsTuples :type: dict[str, arelle.ModelObject.ModelObject] :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.ixdsTuples ``` ```` ````{py:attribute} metaContentTypeEncoding :canonical: arelle.ValidateXbrl.ValidateXbrl.metaContentTypeEncoding :type: str :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.metaContentTypeEncoding ``` ```` ````{py:attribute} referencedNamespaces :canonical: arelle.ValidateXbrl.ValidateXbrl.referencedNamespaces :type: set[str] :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.referencedNamespaces ``` ```` ````{py:attribute} roleRefURIs :canonical: arelle.ValidateXbrl.ValidateXbrl.roleRefURIs :type: dict[str, str | arelle.ModelObject.ModelObject | arelle.PrototypeDtsObject.PrototypeObject] | None :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.roleRefURIs ``` ```` ````{py:attribute} schemaArcroleTypes :canonical: arelle.ValidateXbrl.ValidateXbrl.schemaArcroleTypes :type: dict[str, typing.Any] :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.schemaArcroleTypes ``` ```` ````{py:attribute} schemaRoleTypes :canonical: arelle.ValidateXbrl.ValidateXbrl.schemaRoleTypes :type: dict[str, typing.Any] :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.schemaRoleTypes ``` ```` ````{py:attribute} typedDomainQnames :canonical: arelle.ValidateXbrl.ValidateXbrl.typedDomainQnames :type: set[arelle.ModelValue.QName] :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.typedDomainQnames ``` ```` ````{py:attribute} valUsedPrefixes :canonical: arelle.ValidateXbrl.ValidateXbrl.valUsedPrefixes :type: set[str] :value: > None ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.valUsedPrefixes ``` ```` ````{py:method} close(reusable: bool = True) -> None :canonical: arelle.ValidateXbrl.ValidateXbrl.close ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.close ``` ```` ````{py:method} validate(modelXbrl: arelle.ModelXbrl.ModelXbrl, parameters: dict[typing.Any, typing.Any] | None = None) -> None :canonical: arelle.ValidateXbrl.ValidateXbrl.validate ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.validate ``` ```` ````{py:method} checkLinks(modelLinks: set[arelle.ModelDtsObject.ModelLink]) -> None :canonical: arelle.ValidateXbrl.ValidateXbrl.checkLinks ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.checkLinks ``` ```` ````{py:method} checkDuplicateFacts(facts: list[arelle.ModelInstanceObject.ModelFact], duplicateType: arelle.ValidateDuplicateFacts.DuplicateType) -> None :canonical: arelle.ValidateXbrl.ValidateXbrl.checkDuplicateFacts ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.checkDuplicateFacts ``` ```` ````{py:method} checkFacts(facts: list[arelle.ModelInstanceObject.ModelFact], inTuple: dict[typing.Any, typing.Any] | None = None) -> None :canonical: arelle.ValidateXbrl.ValidateXbrl.checkFacts ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.checkFacts ``` ```` ````{py:method} checkFactsDimensions(facts: list[arelle.ModelInstanceObject.ModelFact]) -> None :canonical: arelle.ValidateXbrl.ValidateXbrl.checkFactsDimensions ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.checkFactsDimensions ``` ```` ````{py:method} checkIxTupleContent(tf: arelle.ModelInstanceObject.ModelInlineFact, parentTuples: dict[typing.Any, typing.Any]) -> None :canonical: arelle.ValidateXbrl.ValidateXbrl.checkIxTupleContent ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.checkIxTupleContent ``` ```` ````{py:method} checkContexts(contexts: collections.abc.Iterable[arelle.ModelInstanceObject.ModelContext]) -> None :canonical: arelle.ValidateXbrl.ValidateXbrl.checkContexts ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.checkContexts ``` ```` ````{py:method} checkContextsDimensions(contexts: collections.abc.Iterable[arelle.ModelInstanceObject.ModelContext]) -> None :canonical: arelle.ValidateXbrl.ValidateXbrl.checkContextsDimensions ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.checkContextsDimensions ``` ```` ````{py:method} checkUnits(units: collections.abc.Iterable[arelle.ModelInstanceObject.ModelUnit]) -> None :canonical: arelle.ValidateXbrl.ValidateXbrl.checkUnits ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.checkUnits ``` ```` ````{py:method} fwdCycle(relsSet: arelle.ModelRelationshipSet.ModelRelationshipSet, rels: list[arelle.ModelDtsObject.ModelRelationship], noUndirected: bool, fromConcepts: set[arelle.ModelDtsObject.ModelConcept | arelle.ModelFormulaObject.ModelCustomFunctionSignature | arelle.ModelInstanceObject.ModelInlineFact], cycleType: str = 'directed', revCycleRel: arelle.ModelDtsObject.ModelRelationship | None = None) -> list[str | arelle.ModelDtsObject.ModelRelationship] | None :canonical: arelle.ValidateXbrl.ValidateXbrl.fwdCycle ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.fwdCycle ``` ```` ````{py:method} revCycle(relsSet: arelle.ModelRelationshipSet.ModelRelationshipSet, toConcept: arelle.ModelDtsObject.ModelConcept, turnbackRel: arelle.ModelDtsObject.ModelRelationship, fromConcepts: set[arelle.ModelDtsObject.ModelConcept | arelle.ModelFormulaObject.ModelCustomFunctionSignature | arelle.ModelInstanceObject.ModelInlineFact]) -> list[str | arelle.ModelDtsObject.ModelRelationship] | None :canonical: arelle.ValidateXbrl.ValidateXbrl.revCycle ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.revCycle ``` ```` ````{py:method} segmentScenario(element: arelle.ModelObject.ModelObject | arelle.ModelInstanceObject.ModelDimensionValue | None, contextId: str, name: str, sect: str, topLevel: bool = True) -> None :canonical: arelle.ValidateXbrl.ValidateXbrl.segmentScenario ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.segmentScenario ``` ```` ````{py:method} isGenericObject(elt: arelle.ModelObject.ModelObject | lxml.etree._Element | None, genQname: arelle.ModelValue.QName | None) -> bool :canonical: arelle.ValidateXbrl.ValidateXbrl.isGenericObject ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.isGenericObject ``` ```` ````{py:method} isGenericLink(elt: arelle.ModelObject.ModelObject) -> bool :canonical: arelle.ValidateXbrl.ValidateXbrl.isGenericLink ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.isGenericLink ``` ```` ````{py:method} isGenericArc(elt: arelle.ModelObject.ModelObject) -> bool :canonical: arelle.ValidateXbrl.ValidateXbrl.isGenericArc ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.isGenericArc ``` ```` ````{py:method} isGenericResource(elt: arelle.ModelObject.ModelObject) -> bool :canonical: arelle.ValidateXbrl.ValidateXbrl.isGenericResource ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.isGenericResource ``` ```` ````{py:method} isGenericLabel(elt: arelle.ModelObject.ModelObject) -> bool :canonical: arelle.ValidateXbrl.ValidateXbrl.isGenericLabel ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.isGenericLabel ``` ```` ````{py:method} isGenericReference(elt: arelle.ModelObject.ModelObject) -> bool :canonical: arelle.ValidateXbrl.ValidateXbrl.isGenericReference ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.isGenericReference ``` ```` ````{py:method} executeCallTest(modelXbrl: arelle.ModelXbrl.ModelXbrl, name: str, callTuple: tuple[typing.Any, ...], testTuple: tuple[typing.Any, ...]) -> None :canonical: arelle.ValidateXbrl.ValidateXbrl.executeCallTest ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.executeCallTest ``` ```` ````{py:method} getPluginData(pluginName: str) -> arelle.utils.PluginData.PluginData | None :canonical: arelle.ValidateXbrl.ValidateXbrl.getPluginData ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.getPluginData ``` ```` ````{py:method} setPluginData(pluginData: arelle.utils.PluginData.PluginData) -> None :canonical: arelle.ValidateXbrl.ValidateXbrl.setPluginData ```{autodoc2-docstring} arelle.ValidateXbrl.ValidateXbrl.setPluginData ``` ```` `````