# {py:mod}`arelle.ValidateXbrlDimensions` ```{py:module} arelle.ValidateXbrlDimensions ``` ```{autodoc2-docstring} arelle.ValidateXbrlDimensions :allowtitles: ``` ## Module Contents ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`loadDimensionDefaults ` - ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.loadDimensionDefaults :summary: ``` * - {py:obj}`checkBaseSet ` - ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.checkBaseSet :summary: ``` * - {py:obj}`domainTargetRoles ` - ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.domainTargetRoles :summary: ``` * - {py:obj}`xdtCycle ` - ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.xdtCycle :summary: ``` * - {py:obj}`drsPriItems ` - ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.drsPriItems :summary: ``` * - {py:obj}`drsPolymorphism ` - ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.drsPolymorphism :summary: ``` * - {py:obj}`checkConcept ` - ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.checkConcept :summary: ``` * - {py:obj}`checkContext ` - ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.checkContext :summary: ``` * - {py:obj}`checkFact ` - ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.checkFact :summary: ``` * - {py:obj}`isFactDimensionallyValid ` - ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.isFactDimensionallyValid :summary: ``` * - {py:obj}`priItemElrHcRels ` - ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.priItemElrHcRels :summary: ``` * - {py:obj}`findPriItemElrHcRels ` - ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.findPriItemElrHcRels :summary: ``` * - {py:obj}`priItemsOfElrHc ` - ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.priItemsOfElrHc :summary: ``` * - {py:obj}`checkFactElrHcs ` - ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.checkFactElrHcs :summary: ``` * - {py:obj}`dimensionMemberUsable ` - ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.dimensionMemberUsable :summary: ``` * - {py:obj}`findUsableMembersInDomainELR ` - ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.findUsableMembersInDomainELR :summary: ``` * - {py:obj}`usableEnumerationMembers ` - ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.usableEnumerationMembers :summary: ``` * - {py:obj}`enumerationMemberUsable ` - ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.enumerationMemberUsable :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`NONDEFAULT ` - ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.NONDEFAULT :summary: ``` * - {py:obj}`NOT_FOUND ` - ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.NOT_FOUND :summary: ``` * - {py:obj}`MEMBER_USABLE ` - ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.MEMBER_USABLE :summary: ``` * - {py:obj}`MEMBER_NOT_USABLE ` - ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.MEMBER_NOT_USABLE :summary: ``` ```` ### API ````{py:data} NONDEFAULT :canonical: arelle.ValidateXbrlDimensions.NONDEFAULT :value: > 'intern(...)' ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.NONDEFAULT ``` ```` ````{py:function} loadDimensionDefaults(val: arelle.ModelManager.ModelManager | arelle.ModelXbrl.ModelXbrl) -> None :canonical: arelle.ValidateXbrlDimensions.loadDimensionDefaults ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.loadDimensionDefaults ``` ```` ````{py:function} checkBaseSet(val: arelle.ValidateXbrl.ValidateXbrl | arelle.ModelXbrl.ModelXbrl, arcrole: str, ELR: str, relsSet: arelle.ModelRelationshipSet.ModelRelationshipSet) -> None :canonical: arelle.ValidateXbrlDimensions.checkBaseSet ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.checkBaseSet ``` ```` ````{py:function} domainTargetRoles(val: arelle.ModelXbrl.ModelXbrl, fromELR: str, rels: list[arelle.ModelDtsObject.ModelRelationship], fromConcepts: set[arelle.ModelObject.ModelObject] | None = None, ELRs: set[str] | None = None) -> set[str] :canonical: arelle.ValidateXbrlDimensions.domainTargetRoles ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.domainTargetRoles ``` ```` ````{py:function} xdtCycle(val: arelle.ModelXbrl.ModelXbrl, ELRs: set[str], rels: list[arelle.ModelDtsObject.ModelRelationship], fromConcepts: set[arelle.ModelObject.ModelObject]) -> list[arelle.ModelDtsObject.ModelRelationship] | None :canonical: arelle.ValidateXbrlDimensions.xdtCycle ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.xdtCycle ``` ```` ````{py:function} drsPriItems(val: arelle.ModelXbrl.ModelXbrl, fromELR: str, fromPriItem: arelle.ModelObject.ModelObject, priItems: set[arelle.ModelObject.ModelObject] | None = None) -> set[arelle.ModelObject.ModelObject] :canonical: arelle.ValidateXbrlDimensions.drsPriItems ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.drsPriItems ``` ```` ````{py:function} drsPolymorphism(val: arelle.ModelXbrl.ModelXbrl, fromELR: str, rels: list[arelle.ModelDtsObject.ModelRelationship], priItems: set[arelle.ModelObject.ModelObject], visitedMbrs: set[arelle.ModelObject.ModelObject] | None = None) -> list[arelle.ModelDtsObject.ModelRelationship] | None :canonical: arelle.ValidateXbrlDimensions.drsPolymorphism ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.drsPolymorphism ``` ```` ````{py:function} checkConcept(val: arelle.ValidateXbrl.ValidateXbrl, concept: arelle.ModelDtsObject.ModelConcept) -> None :canonical: arelle.ValidateXbrlDimensions.checkConcept ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.checkConcept ``` ```` ````{py:function} checkContext(val: arelle.ValidateXbrl.ValidateXbrl, cntx: arelle.ModelInstanceObject.ModelContext) -> None :canonical: arelle.ValidateXbrlDimensions.checkContext ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.checkContext ``` ```` ````{py:function} checkFact(val: arelle.ValidateXbrl.ValidateXbrl, f: arelle.ModelInstanceObject.ModelFact, otherFacts: set[arelle.ModelInstanceObject.ModelFact] | None = None) -> None :canonical: arelle.ValidateXbrlDimensions.checkFact ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.checkFact ``` ```` ````{py:function} isFactDimensionallyValid(val: arelle.ValidateXbrl.ValidateXbrl | arelle.ModelXbrl.ModelXbrl, f: arelle.ModelInstanceObject.ModelFact | arelle.PrototypeInstanceObject.FactPrototype, setPrototypeContextElements: bool = False, otherFacts: set[arelle.ModelInstanceObject.ModelFact] | None = None) -> bool :canonical: arelle.ValidateXbrlDimensions.isFactDimensionallyValid ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.isFactDimensionallyValid ``` ```` ````{py:function} priItemElrHcRels(val: arelle.ModelXbrl.ModelXbrl | arelle.formula.XPathContext.XPathContext, priItem: arelle.ModelDtsObject.ModelConcept, ELR: str | None = None) -> dict[str, list[arelle.ModelDtsObject.ModelRelationship]] :canonical: arelle.ValidateXbrlDimensions.priItemElrHcRels ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.priItemElrHcRels ``` ```` ````{py:function} findPriItemElrHcRels(val: arelle.ModelXbrl.ModelXbrl, priItem: arelle.ModelObject.ModelObject, ELR: str | None = None, elrHcRels: collections.defaultdict[str, list[arelle.ModelDtsObject.ModelRelationship]] | None = None, seenPrimaryItems: set[tuple[str | None, arelle.ModelObject.ModelObject]] | None = None) -> dict[str, list[arelle.ModelDtsObject.ModelRelationship]] :canonical: arelle.ValidateXbrlDimensions.findPriItemElrHcRels ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.findPriItemElrHcRels ``` ```` ````{py:function} priItemsOfElrHc(val: arelle.ModelXbrl.ModelXbrl, priItem: arelle.ModelObject.ModelObject, hcELR: str, relELR: str, priItems: set[arelle.ModelObject.ModelObject] | None = None) -> set[arelle.ModelObject.ModelObject] :canonical: arelle.ValidateXbrlDimensions.priItemsOfElrHc ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.priItemsOfElrHc ``` ```` ````{py:data} NOT_FOUND :canonical: arelle.ValidateXbrlDimensions.NOT_FOUND :value: > 0 ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.NOT_FOUND ``` ```` ````{py:data} MEMBER_USABLE :canonical: arelle.ValidateXbrlDimensions.MEMBER_USABLE :value: > 1 ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.MEMBER_USABLE ``` ```` ````{py:data} MEMBER_NOT_USABLE :canonical: arelle.ValidateXbrlDimensions.MEMBER_NOT_USABLE :value: > 2 ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.MEMBER_NOT_USABLE ``` ```` ````{py:function} checkFactElrHcs(val: arelle.ModelXbrl.ModelXbrl, f: arelle.ModelInstanceObject.ModelFact, ELR: str, hcRels: list[arelle.ModelDtsObject.ModelRelationship], setPrototypeContextElements: bool = False) -> bool :canonical: arelle.ValidateXbrlDimensions.checkFactElrHcs ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.checkFactElrHcs ``` ```` ````{py:function} dimensionMemberUsable(val: arelle.ValidateXbrl.ValidateXbrl, dimConcept: arelle.ModelDtsObject.ModelConcept, memConcept: arelle.ModelObject.ModelObject, domELR: str) -> bool :canonical: arelle.ValidateXbrlDimensions.dimensionMemberUsable ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.dimensionMemberUsable ``` ```` ````{py:function} findUsableMembersInDomainELR(val: arelle.ValidateXbrl.ValidateXbrl, rels: list[arelle.ModelDtsObject.ModelRelationship], ELR: str, usableMembers: set[arelle.ModelDtsObject.ModelConcept], unusableMembers: set[arelle.ModelDtsObject.ModelConcept], toConceptELRs: collections.defaultdict[arelle.ModelDtsObject.ModelConcept, set[str]]) -> None :canonical: arelle.ValidateXbrlDimensions.findUsableMembersInDomainELR ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.findUsableMembersInDomainELR ``` ```` ````{py:function} usableEnumerationMembers(val: arelle.ValidateXbrl.ValidateXbrl, enumConcept: arelle.ModelDtsObject.ModelConcept | None) -> set[arelle.ModelDtsObject.ModelConcept] :canonical: arelle.ValidateXbrlDimensions.usableEnumerationMembers ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.usableEnumerationMembers ``` ```` ````{py:function} enumerationMemberUsable(val: arelle.ValidateXbrl.ValidateXbrl, enumConcept: arelle.ModelDtsObject.ModelConcept | None, memConcept: arelle.ModelDtsObject.ModelConcept | None) -> bool :canonical: arelle.ValidateXbrlDimensions.enumerationMemberUsable ```{autodoc2-docstring} arelle.ValidateXbrlDimensions.enumerationMemberUsable ``` ````