# {py:mod}`arelle.ModelRenderingObject` ```{py:module} arelle.ModelRenderingObject ``` ```{autodoc2-docstring} arelle.ModelRenderingObject :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`LytMdlTableModel ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.LytMdlTableModel :summary: ``` * - {py:obj}`LytMdlTableSet ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.LytMdlTableSet :summary: ``` * - {py:obj}`LytMdlTable ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.LytMdlTable :summary: ``` * - {py:obj}`LytMdlHeaders ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.LytMdlHeaders :summary: ``` * - {py:obj}`LytMdlGroup ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.LytMdlGroup :summary: ``` * - {py:obj}`LytMdlHeader ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.LytMdlHeader :summary: ``` * - {py:obj}`LytMdlCell ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.LytMdlCell :summary: ``` * - {py:obj}`LytMdlConstraint ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.LytMdlConstraint :summary: ``` * - {py:obj}`LytMdlBodyCells ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.LytMdlBodyCells :summary: ``` * - {py:obj}`LytMdlBodyCell ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.LytMdlBodyCell :summary: ``` * - {py:obj}`StrctMdlNode ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlNode :summary: ``` * - {py:obj}`StrctMdlTableSet ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlTableSet :summary: ``` * - {py:obj}`StrctMdlTable ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlTable :summary: ``` * - {py:obj}`StrctMdlBreakdown ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlBreakdown :summary: ``` * - {py:obj}`StrctMdlStructuralNode ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlStructuralNode :summary: ``` * - {py:obj}`DefnMdlTable ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlTable :summary: ``` * - {py:obj}`DefnMdlBreakdown ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlBreakdown :summary: ``` * - {py:obj}`DefnMdlDefinitionNode ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDefinitionNode :summary: ``` * - {py:obj}`DefnMdlClosedDefinitionNode ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode :summary: ``` * - {py:obj}`DefnMdlConstraintSet ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlConstraintSet :summary: ``` * - {py:obj}`DefnMdlRuleSet ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlRuleSet :summary: ``` * - {py:obj}`DefnMdlRuleDefinitionNode ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode :summary: ``` * - {py:obj}`DefnMdlRelationshipNode ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlRelationshipNode :summary: ``` * - {py:obj}`DefnMdlConceptRelationshipNode ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode :summary: ``` * - {py:obj}`DefnMdlDimensionRelationshipNode ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode :summary: ``` * - {py:obj}`DefnMdlOpenDefinitionNode ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlOpenDefinitionNode :summary: ``` * - {py:obj}`DefnMdlAspectNode ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlAspectNode :summary: ``` ```` ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`definitionNodes ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.definitionNodes :summary: ``` * - {py:obj}`parentChildOrder ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.parentChildOrder :summary: ``` * - {py:obj}`aspectStrctNodes ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.aspectStrctNodes :summary: ``` * - {py:obj}`defnMdlLabelsView ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.defnMdlLabelsView :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`NoneType ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.NoneType :summary: ``` * - {py:obj}`OPEN_ASPECT_ENTRY_SURROGATE ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.OPEN_ASPECT_ENTRY_SURROGATE :summary: ``` * - {py:obj}`UNREPORTED_ASPECT_SORT_VALUE ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.UNREPORTED_ASPECT_SORT_VALUE :summary: ``` * - {py:obj}`EMPTY_SET ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.EMPTY_SET :summary: ``` * - {py:obj}`EMPTY_DICT ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.EMPTY_DICT :summary: ``` * - {py:obj}`ROLLUP_SPECIFIES_MEMBER ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.ROLLUP_SPECIFIES_MEMBER :summary: ``` * - {py:obj}`ROLLUP_IMPLIES_DEFAULT_MEMBER ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.ROLLUP_IMPLIES_DEFAULT_MEMBER :summary: ``` * - {py:obj}`ROLLUP_FOR_CONCEPT_RELATIONSHIP_NODE ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.ROLLUP_FOR_CONCEPT_RELATIONSHIP_NODE :summary: ``` * - {py:obj}`ROLLUP_FOR_DIMENSION_RELATIONSHIP_NODE ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.ROLLUP_FOR_DIMENSION_RELATIONSHIP_NODE :summary: ``` * - {py:obj}`ROLLUP_FOR_CLOSED_DEFINITION_NODE ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.ROLLUP_FOR_CLOSED_DEFINITION_NODE :summary: ``` * - {py:obj}`ROLLUP_FOR_OPEN_DEFINITION_NODE ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.ROLLUP_FOR_OPEN_DEFINITION_NODE :summary: ``` * - {py:obj}`ROLLUP_FOR_DEFINITION_NODE ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.ROLLUP_FOR_DEFINITION_NODE :summary: ``` * - {py:obj}`TABLE_PERIOD_SELECTORS ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.TABLE_PERIOD_SELECTORS :summary: ``` * - {py:obj}`coveredAspectToken ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.coveredAspectToken :summary: ``` * - {py:obj}`aspectNodeAspectCovered ` - ```{autodoc2-docstring} arelle.ModelRenderingObject.aspectNodeAspectCovered :summary: ``` ```` ### API ````{py:data} NoneType :canonical: arelle.ModelRenderingObject.NoneType :value: > 'type(...)' ```{autodoc2-docstring} arelle.ModelRenderingObject.NoneType ``` ```` ````{py:data} OPEN_ASPECT_ENTRY_SURROGATE :canonical: arelle.ModelRenderingObject.OPEN_ASPECT_ENTRY_SURROGATE :value: > '\udbff' ```{autodoc2-docstring} arelle.ModelRenderingObject.OPEN_ASPECT_ENTRY_SURROGATE ``` ```` ````{py:data} UNREPORTED_ASPECT_SORT_VALUE :canonical: arelle.ModelRenderingObject.UNREPORTED_ASPECT_SORT_VALUE :value: > '\udbfe' ```{autodoc2-docstring} arelle.ModelRenderingObject.UNREPORTED_ASPECT_SORT_VALUE ``` ```` ````{py:data} EMPTY_SET :canonical: arelle.ModelRenderingObject.EMPTY_SET :type: set[typing.Any] :value: > 'set(...)' ```{autodoc2-docstring} arelle.ModelRenderingObject.EMPTY_SET ``` ```` ````{py:data} EMPTY_DICT :canonical: arelle.ModelRenderingObject.EMPTY_DICT :type: dict[typing.Any, typing.Any] :value: > None ```{autodoc2-docstring} arelle.ModelRenderingObject.EMPTY_DICT ``` ```` ````{py:data} ROLLUP_SPECIFIES_MEMBER :canonical: arelle.ModelRenderingObject.ROLLUP_SPECIFIES_MEMBER :value: > 1 ```{autodoc2-docstring} arelle.ModelRenderingObject.ROLLUP_SPECIFIES_MEMBER ``` ```` ````{py:data} ROLLUP_IMPLIES_DEFAULT_MEMBER :canonical: arelle.ModelRenderingObject.ROLLUP_IMPLIES_DEFAULT_MEMBER :value: > 2 ```{autodoc2-docstring} arelle.ModelRenderingObject.ROLLUP_IMPLIES_DEFAULT_MEMBER ``` ```` ````{py:data} ROLLUP_FOR_CONCEPT_RELATIONSHIP_NODE :canonical: arelle.ModelRenderingObject.ROLLUP_FOR_CONCEPT_RELATIONSHIP_NODE :value: > 3 ```{autodoc2-docstring} arelle.ModelRenderingObject.ROLLUP_FOR_CONCEPT_RELATIONSHIP_NODE ``` ```` ````{py:data} ROLLUP_FOR_DIMENSION_RELATIONSHIP_NODE :canonical: arelle.ModelRenderingObject.ROLLUP_FOR_DIMENSION_RELATIONSHIP_NODE :value: > 4 ```{autodoc2-docstring} arelle.ModelRenderingObject.ROLLUP_FOR_DIMENSION_RELATIONSHIP_NODE ``` ```` ````{py:data} ROLLUP_FOR_CLOSED_DEFINITION_NODE :canonical: arelle.ModelRenderingObject.ROLLUP_FOR_CLOSED_DEFINITION_NODE :value: > 5 ```{autodoc2-docstring} arelle.ModelRenderingObject.ROLLUP_FOR_CLOSED_DEFINITION_NODE ``` ```` ````{py:data} ROLLUP_FOR_OPEN_DEFINITION_NODE :canonical: arelle.ModelRenderingObject.ROLLUP_FOR_OPEN_DEFINITION_NODE :value: > 6 ```{autodoc2-docstring} arelle.ModelRenderingObject.ROLLUP_FOR_OPEN_DEFINITION_NODE ``` ```` ````{py:data} ROLLUP_FOR_DEFINITION_NODE :canonical: arelle.ModelRenderingObject.ROLLUP_FOR_DEFINITION_NODE :value: > 7 ```{autodoc2-docstring} arelle.ModelRenderingObject.ROLLUP_FOR_DEFINITION_NODE ``` ```` ````{py:data} TABLE_PERIOD_SELECTORS :canonical: arelle.ModelRenderingObject.TABLE_PERIOD_SELECTORS :value: > None ```{autodoc2-docstring} arelle.ModelRenderingObject.TABLE_PERIOD_SELECTORS ``` ```` `````{py:exception} ResolutionException(code: str, message: str, **kwargs: typing.Any) :canonical: arelle.ModelRenderingObject.ResolutionException Bases: {py:obj}`Exception` ````{py:method} add_note() :canonical: arelle.ModelRenderingObject.ResolutionException.add_note ```` ```{py:class} args :canonical: arelle.ModelRenderingObject.ResolutionException.args ``` ````{py:method} with_traceback() :canonical: arelle.ModelRenderingObject.ResolutionException.with_traceback ```` ````` ````{py:class} LytMdlTableModel(entryPointUrl: str | None) :canonical: arelle.ModelRenderingObject.LytMdlTableModel ```{autodoc2-docstring} arelle.ModelRenderingObject.LytMdlTableModel ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.ModelRenderingObject.LytMdlTableModel.__init__ ``` ```` ````{py:class} LytMdlTableSet(lytMdlTableModel: arelle.ModelRenderingObject.LytMdlTableModel, strctMdlTableSet: arelle.ModelRenderingObject.StrctMdlTableSet, label: str | None, srcFile: str | None, srcLine: int | None, srcLinkrole: str | None) :canonical: arelle.ModelRenderingObject.LytMdlTableSet ```{autodoc2-docstring} arelle.ModelRenderingObject.LytMdlTableSet ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.ModelRenderingObject.LytMdlTableSet.__init__ ``` ```` `````{py:class} LytMdlTable(lytMdlTableSet: arelle.ModelRenderingObject.LytMdlTableSet, strctMdlTable: arelle.ModelRenderingObject.StrctMdlTable) :canonical: arelle.ModelRenderingObject.LytMdlTable ```{autodoc2-docstring} arelle.ModelRenderingObject.LytMdlTable ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.ModelRenderingObject.LytMdlTable.__init__ ``` ````{py:method} lytMdlAxisHeaders(axis: str) -> arelle.ModelRenderingObject.LytMdlHeaders | None :canonical: arelle.ModelRenderingObject.LytMdlTable.lytMdlAxisHeaders ```{autodoc2-docstring} arelle.ModelRenderingObject.LytMdlTable.lytMdlAxisHeaders ``` ```` ````{py:method} headerDepth(axis: str, includeOpenAspectEntrySurrogates: bool = False) -> int :canonical: arelle.ModelRenderingObject.LytMdlTable.headerDepth ```{autodoc2-docstring} arelle.ModelRenderingObject.LytMdlTable.headerDepth ``` ```` ````{py:method} numBodyCells(axis: str) -> int :canonical: arelle.ModelRenderingObject.LytMdlTable.numBodyCells ```{autodoc2-docstring} arelle.ModelRenderingObject.LytMdlTable.numBodyCells ``` ```` ````` ````{py:class} LytMdlHeaders(lytMdlTable: arelle.ModelRenderingObject.LytMdlTable, axis: str) :canonical: arelle.ModelRenderingObject.LytMdlHeaders ```{autodoc2-docstring} arelle.ModelRenderingObject.LytMdlHeaders ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.ModelRenderingObject.LytMdlHeaders.__init__ ``` ```` ````{py:class} LytMdlGroup(lytMdlHeaders: arelle.ModelRenderingObject.LytMdlHeaders, label: str | None, srcFile: str | None, srcLine: int | None) :canonical: arelle.ModelRenderingObject.LytMdlGroup ```{autodoc2-docstring} arelle.ModelRenderingObject.LytMdlGroup ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.ModelRenderingObject.LytMdlGroup.__init__ ``` ```` `````{py:class} LytMdlHeader(lytMdlGroup: arelle.ModelRenderingObject.LytMdlGroup) :canonical: arelle.ModelRenderingObject.LytMdlHeader ```{autodoc2-docstring} arelle.ModelRenderingObject.LytMdlHeader ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.ModelRenderingObject.LytMdlHeader.__init__ ``` ````{py:property} maxNumLabels :canonical: arelle.ModelRenderingObject.LytMdlHeader.maxNumLabels :type: int ```{autodoc2-docstring} arelle.ModelRenderingObject.LytMdlHeader.maxNumLabels ``` ```` ````` `````{py:class} LytMdlCell() :canonical: arelle.ModelRenderingObject.LytMdlCell ```{autodoc2-docstring} arelle.ModelRenderingObject.LytMdlCell ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.ModelRenderingObject.LytMdlCell.__init__ ``` ````{py:method} labelXmlText(iLabel: int, default: str = '') -> str | None :canonical: arelle.ModelRenderingObject.LytMdlCell.labelXmlText ```{autodoc2-docstring} arelle.ModelRenderingObject.LytMdlCell.labelXmlText ``` ```` ````` ````{py:class} LytMdlConstraint(lytMdlCell: arelle.ModelRenderingObject.LytMdlCell, tag: str | None) :canonical: arelle.ModelRenderingObject.LytMdlConstraint ```{autodoc2-docstring} arelle.ModelRenderingObject.LytMdlConstraint ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.ModelRenderingObject.LytMdlConstraint.__init__ ``` ```` ````{py:class} LytMdlBodyCells(lytMdlParent: arelle.ModelRenderingObject.LytMdlTable | arelle.ModelRenderingObject.LytMdlBodyCells, axis: str) :canonical: arelle.ModelRenderingObject.LytMdlBodyCells ```{autodoc2-docstring} arelle.ModelRenderingObject.LytMdlBodyCells ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.ModelRenderingObject.LytMdlBodyCells.__init__ ``` ```` ````{py:class} LytMdlBodyCell(lytMdlParent: arelle.ModelRenderingObject.LytMdlTable, isOpenAspectEntrySurrogate: bool = False) :canonical: arelle.ModelRenderingObject.LytMdlBodyCell ```{autodoc2-docstring} arelle.ModelRenderingObject.LytMdlBodyCell ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.ModelRenderingObject.LytMdlBodyCell.__init__ ``` ```` ````{py:function} definitionNodes(nodes: collections.abc.Iterable[typing.Any]) -> list[typing.Any] :canonical: arelle.ModelRenderingObject.definitionNodes ```{autodoc2-docstring} arelle.ModelRenderingObject.definitionNodes ``` ```` ````{py:function} parentChildOrder(node: arelle.ModelFormulaObject.ModelFormulaResource) -> str | None :canonical: arelle.ModelRenderingObject.parentChildOrder ```{autodoc2-docstring} arelle.ModelRenderingObject.parentChildOrder ``` ```` ````{py:function} aspectStrctNodes(strctNode: StrctMdlNode | None) -> dict[int, set[typing.Any]] :canonical: arelle.ModelRenderingObject.aspectStrctNodes ```{autodoc2-docstring} arelle.ModelRenderingObject.aspectStrctNodes ``` ```` `````{py:class} StrctMdlNode(strctMdlParentNode: arelle.ModelRenderingObject.StrctMdlNode | None, defnMdlNode: arelle.ModelRenderingObject.DefnMdlDefinitionNode | None = None) :canonical: arelle.ModelRenderingObject.StrctMdlNode ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlNode ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlNode.__init__ ``` ````{py:attribute} abstract :canonical: arelle.ModelRenderingObject.StrctMdlNode.abstract :type: bool :value: > None ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlNode.abstract ``` ```` ````{py:attribute} tableNode :canonical: arelle.ModelRenderingObject.StrctMdlNode.tableNode :type: DefnMdlTable | None :value: > None ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlNode.tableNode ``` ```` ````{py:attribute} aspectEntryObjectId :canonical: arelle.ModelRenderingObject.StrctMdlNode.aspectEntryObjectId :type: str :value: > None ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlNode.aspectEntryObjectId ``` ```` ````{py:attribute} parentOrdinateContext :canonical: arelle.ModelRenderingObject.StrctMdlNode.parentOrdinateContext :type: bool :value: > None ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlNode.parentOrdinateContext ``` ```` ````{py:attribute} hasOpenNode :canonical: arelle.ModelRenderingObject.StrctMdlNode.hasOpenNode :type: bool :value: > None ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlNode.hasOpenNode ``` ```` ````{py:property} axis :canonical: arelle.ModelRenderingObject.StrctMdlNode.axis :type: str ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlNode.axis ``` ```` ````{py:property} depth :canonical: arelle.ModelRenderingObject.StrctMdlNode.depth :type: int ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlNode.depth ``` ```` ````{py:method} aspectsCovered(inherit: bool = False) -> set[typing.Any] :canonical: arelle.ModelRenderingObject.StrctMdlNode.aspectsCovered ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlNode.aspectsCovered ``` ```` ````{py:method} hasAspect(aspect: int, inherit: bool = True) -> typing_extensions.Self | None :canonical: arelle.ModelRenderingObject.StrctMdlNode.hasAspect ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlNode.hasAspect ``` ```` ````{py:property} parentChildOrder :canonical: arelle.ModelRenderingObject.StrctMdlNode.parentChildOrder :type: str | None ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlNode.parentChildOrder ``` ```` ````{py:property} hasRollUpChild :canonical: arelle.ModelRenderingObject.StrctMdlNode.hasRollUpChild :type: bool ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlNode.hasRollUpChild ``` ```` ````{py:property} tagSelectors :canonical: arelle.ModelRenderingObject.StrctMdlNode.tagSelectors :type: set[str | None] ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlNode.tagSelectors ``` ```` ````{py:property} leafNodeCount :canonical: arelle.ModelRenderingObject.StrctMdlNode.leafNodeCount :type: int ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlNode.leafNodeCount ``` ```` ````{py:property} cardinalityAndDepth :canonical: arelle.ModelRenderingObject.StrctMdlNode.cardinalityAndDepth :type: tuple[int, int] ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlNode.cardinalityAndDepth ``` ```` ````{py:method} objectId(refId: str = '') -> str | None :canonical: arelle.ModelRenderingObject.StrctMdlNode.objectId ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlNode.objectId ``` ```` ````{py:property} xlinkLabel :canonical: arelle.ModelRenderingObject.StrctMdlNode.xlinkLabel :type: str | None ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlNode.xlinkLabel ``` ```` ````{py:property} structuralDepth :canonical: arelle.ModelRenderingObject.StrctMdlNode.structuralDepth :type: int ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlNode.structuralDepth ``` ```` ````{py:property} childRollupStrctNode :canonical: arelle.ModelRenderingObject.StrctMdlNode.childRollupStrctNode :type: arelle.ModelRenderingObject.StrctMdlNode | None ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlNode.childRollupStrctNode ``` ```` ````{py:method} headerAndSource(role: str | None = None, lang: str | None = None, evaluate: bool = True, returnGenLabel: bool = True, returnMsgFormatString: bool = False, recurseParent: bool = True, returnStdLabel: bool = True, layoutMdlSortOrder: bool = False) -> tuple[typing.Any, typing.Any] :canonical: arelle.ModelRenderingObject.StrctMdlNode.headerAndSource ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlNode.headerAndSource ``` ```` ````{py:method} header(role: str | None = None, lang: str | None = None, evaluate: bool = True, returnGenLabel: bool = True, returnMsgFormatString: bool = False, recurseParent: bool = True, returnStdLabel: bool = True, layoutMdlSortOrder: bool = False) -> typing.Any :canonical: arelle.ModelRenderingObject.StrctMdlNode.header ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlNode.header ``` ```` ````{py:property} isAbstract :canonical: arelle.ModelRenderingObject.StrctMdlNode.isAbstract :type: bool ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlNode.isAbstract ``` ```` ````{py:property} isEntryAspect :canonical: arelle.ModelRenderingObject.StrctMdlNode.isEntryAspect :type: bool ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlNode.isEntryAspect ``` ```` ````{py:method} isEntryPrototype(default: bool = False) -> bool :canonical: arelle.ModelRenderingObject.StrctMdlNode.isEntryPrototype ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlNode.isEntryPrototype ``` ```` ````{py:method} evaluate(evalObject: arelle.ModelObject.ModelObject, evalMethod: typing.Callable[[arelle.formula.XPathContext.XPathContext, ...], typing.Any], otherAxisStructuralNode: arelle.ModelRenderingObject.StrctMdlNode | None = None, evalArgs: tuple[typing.Any, ...] = (), handleXPathException: bool = True, **kwargs: typing.Any) -> typing.Any :canonical: arelle.ModelRenderingObject.StrctMdlNode.evaluate ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlNode.evaluate ``` ```` ````{py:method} hasValueExpression(otherAxisStructuralNode: arelle.ModelRenderingObject.StrctMdlNode | None = None) -> bool :canonical: arelle.ModelRenderingObject.StrctMdlNode.hasValueExpression ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlNode.hasValueExpression ``` ```` ````{py:method} evalValueExpression(fact: typing.Any, otherAxisStructuralNode: arelle.ModelRenderingObject.StrctMdlNode | None = None) -> typing.Any :canonical: arelle.ModelRenderingObject.StrctMdlNode.evalValueExpression ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlNode.evalValueExpression ``` ```` ````{py:property} hasBreakdownWithoutNodes :canonical: arelle.ModelRenderingObject.StrctMdlNode.hasBreakdownWithoutNodes :type: bool ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlNode.hasBreakdownWithoutNodes ``` ```` ````` `````{py:class} StrctMdlTableSet(defnMdlTable: arelle.ModelRenderingObject.DefnMdlDefinitionNode | None) :canonical: arelle.ModelRenderingObject.StrctMdlTableSet Bases: {py:obj}`arelle.ModelRenderingObject.StrctMdlNode` ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlTableSet ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlTableSet.__init__ ``` ````{py:attribute} abstract :canonical: arelle.ModelRenderingObject.StrctMdlTableSet.abstract :type: bool :value: > None ```` ````{py:attribute} tableNode :canonical: arelle.ModelRenderingObject.StrctMdlTableSet.tableNode :type: DefnMdlTable | None :value: > None ```` ````{py:attribute} aspectEntryObjectId :canonical: arelle.ModelRenderingObject.StrctMdlTableSet.aspectEntryObjectId :type: str :value: > None ```` ````{py:attribute} parentOrdinateContext :canonical: arelle.ModelRenderingObject.StrctMdlTableSet.parentOrdinateContext :type: bool :value: > None ```` ````{py:attribute} hasOpenNode :canonical: arelle.ModelRenderingObject.StrctMdlTableSet.hasOpenNode :type: bool :value: > None ```` ````{py:property} axis :canonical: arelle.ModelRenderingObject.StrctMdlTableSet.axis :type: str ```` ````{py:property} depth :canonical: arelle.ModelRenderingObject.StrctMdlTableSet.depth :type: int ```` ````{py:method} aspectsCovered(inherit: bool = False) -> set[typing.Any] :canonical: arelle.ModelRenderingObject.StrctMdlTableSet.aspectsCovered ```` ````{py:method} hasAspect(aspect: int, inherit: bool = True) -> typing_extensions.Self | None :canonical: arelle.ModelRenderingObject.StrctMdlTableSet.hasAspect ```` ````{py:property} parentChildOrder :canonical: arelle.ModelRenderingObject.StrctMdlTableSet.parentChildOrder :type: str | None ```` ````{py:property} hasRollUpChild :canonical: arelle.ModelRenderingObject.StrctMdlTableSet.hasRollUpChild :type: bool ```` ````{py:property} tagSelectors :canonical: arelle.ModelRenderingObject.StrctMdlTableSet.tagSelectors :type: set[str | None] ```` ````{py:property} leafNodeCount :canonical: arelle.ModelRenderingObject.StrctMdlTableSet.leafNodeCount :type: int ```` ````{py:property} cardinalityAndDepth :canonical: arelle.ModelRenderingObject.StrctMdlTableSet.cardinalityAndDepth :type: tuple[int, int] ```` ````{py:method} objectId(refId: str = '') -> str | None :canonical: arelle.ModelRenderingObject.StrctMdlTableSet.objectId ```` ````{py:property} xlinkLabel :canonical: arelle.ModelRenderingObject.StrctMdlTableSet.xlinkLabel :type: str | None ```` ````{py:property} structuralDepth :canonical: arelle.ModelRenderingObject.StrctMdlTableSet.structuralDepth :type: int ```` ````{py:property} childRollupStrctNode :canonical: arelle.ModelRenderingObject.StrctMdlTableSet.childRollupStrctNode :type: arelle.ModelRenderingObject.StrctMdlNode | None ```` ````{py:method} headerAndSource(role: str | None = None, lang: str | None = None, evaluate: bool = True, returnGenLabel: bool = True, returnMsgFormatString: bool = False, recurseParent: bool = True, returnStdLabel: bool = True, layoutMdlSortOrder: bool = False) -> tuple[typing.Any, typing.Any] :canonical: arelle.ModelRenderingObject.StrctMdlTableSet.headerAndSource ```` ````{py:method} header(role: str | None = None, lang: str | None = None, evaluate: bool = True, returnGenLabel: bool = True, returnMsgFormatString: bool = False, recurseParent: bool = True, returnStdLabel: bool = True, layoutMdlSortOrder: bool = False) -> typing.Any :canonical: arelle.ModelRenderingObject.StrctMdlTableSet.header ```` ````{py:property} isAbstract :canonical: arelle.ModelRenderingObject.StrctMdlTableSet.isAbstract :type: bool ```` ````{py:property} isEntryAspect :canonical: arelle.ModelRenderingObject.StrctMdlTableSet.isEntryAspect :type: bool ```` ````{py:method} isEntryPrototype(default: bool = False) -> bool :canonical: arelle.ModelRenderingObject.StrctMdlTableSet.isEntryPrototype ```` ````{py:method} evaluate(evalObject: arelle.ModelObject.ModelObject, evalMethod: typing.Callable[[arelle.formula.XPathContext.XPathContext, ...], typing.Any], otherAxisStructuralNode: arelle.ModelRenderingObject.StrctMdlNode | None = None, evalArgs: tuple[typing.Any, ...] = (), handleXPathException: bool = True, **kwargs: typing.Any) -> typing.Any :canonical: arelle.ModelRenderingObject.StrctMdlTableSet.evaluate ```` ````{py:method} hasValueExpression(otherAxisStructuralNode: arelle.ModelRenderingObject.StrctMdlNode | None = None) -> bool :canonical: arelle.ModelRenderingObject.StrctMdlTableSet.hasValueExpression ```` ````{py:method} evalValueExpression(fact: typing.Any, otherAxisStructuralNode: arelle.ModelRenderingObject.StrctMdlNode | None = None) -> typing.Any :canonical: arelle.ModelRenderingObject.StrctMdlTableSet.evalValueExpression ```` ````{py:property} hasBreakdownWithoutNodes :canonical: arelle.ModelRenderingObject.StrctMdlTableSet.hasBreakdownWithoutNodes :type: bool ```` ````` `````{py:class} StrctMdlTable(strctMdlParentNode: arelle.ModelRenderingObject.StrctMdlNode | None, defnMdlTable: arelle.ModelRenderingObject.DefnMdlDefinitionNode | None) :canonical: arelle.ModelRenderingObject.StrctMdlTable Bases: {py:obj}`arelle.ModelRenderingObject.StrctMdlNode` ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlTable ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlTable.__init__ ``` ````{py:method} strctMdlFirstAxisBreakdown(axis: str) -> arelle.ModelRenderingObject.StrctMdlNode | None :canonical: arelle.ModelRenderingObject.StrctMdlTable.strctMdlFirstAxisBreakdown ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlTable.strctMdlFirstAxisBreakdown ``` ```` ````{py:attribute} abstract :canonical: arelle.ModelRenderingObject.StrctMdlTable.abstract :type: bool :value: > None ```` ````{py:attribute} tableNode :canonical: arelle.ModelRenderingObject.StrctMdlTable.tableNode :type: DefnMdlTable | None :value: > None ```` ````{py:attribute} aspectEntryObjectId :canonical: arelle.ModelRenderingObject.StrctMdlTable.aspectEntryObjectId :type: str :value: > None ```` ````{py:attribute} parentOrdinateContext :canonical: arelle.ModelRenderingObject.StrctMdlTable.parentOrdinateContext :type: bool :value: > None ```` ````{py:attribute} hasOpenNode :canonical: arelle.ModelRenderingObject.StrctMdlTable.hasOpenNode :type: bool :value: > None ```` ````{py:property} axis :canonical: arelle.ModelRenderingObject.StrctMdlTable.axis :type: str ```` ````{py:property} depth :canonical: arelle.ModelRenderingObject.StrctMdlTable.depth :type: int ```` ````{py:method} aspectsCovered(inherit: bool = False) -> set[typing.Any] :canonical: arelle.ModelRenderingObject.StrctMdlTable.aspectsCovered ```` ````{py:method} hasAspect(aspect: int, inherit: bool = True) -> typing_extensions.Self | None :canonical: arelle.ModelRenderingObject.StrctMdlTable.hasAspect ```` ````{py:property} parentChildOrder :canonical: arelle.ModelRenderingObject.StrctMdlTable.parentChildOrder :type: str | None ```` ````{py:property} hasRollUpChild :canonical: arelle.ModelRenderingObject.StrctMdlTable.hasRollUpChild :type: bool ```` ````{py:property} tagSelectors :canonical: arelle.ModelRenderingObject.StrctMdlTable.tagSelectors :type: set[str | None] ```` ````{py:property} leafNodeCount :canonical: arelle.ModelRenderingObject.StrctMdlTable.leafNodeCount :type: int ```` ````{py:property} cardinalityAndDepth :canonical: arelle.ModelRenderingObject.StrctMdlTable.cardinalityAndDepth :type: tuple[int, int] ```` ````{py:method} objectId(refId: str = '') -> str | None :canonical: arelle.ModelRenderingObject.StrctMdlTable.objectId ```` ````{py:property} xlinkLabel :canonical: arelle.ModelRenderingObject.StrctMdlTable.xlinkLabel :type: str | None ```` ````{py:property} structuralDepth :canonical: arelle.ModelRenderingObject.StrctMdlTable.structuralDepth :type: int ```` ````{py:property} childRollupStrctNode :canonical: arelle.ModelRenderingObject.StrctMdlTable.childRollupStrctNode :type: arelle.ModelRenderingObject.StrctMdlNode | None ```` ````{py:method} headerAndSource(role: str | None = None, lang: str | None = None, evaluate: bool = True, returnGenLabel: bool = True, returnMsgFormatString: bool = False, recurseParent: bool = True, returnStdLabel: bool = True, layoutMdlSortOrder: bool = False) -> tuple[typing.Any, typing.Any] :canonical: arelle.ModelRenderingObject.StrctMdlTable.headerAndSource ```` ````{py:method} header(role: str | None = None, lang: str | None = None, evaluate: bool = True, returnGenLabel: bool = True, returnMsgFormatString: bool = False, recurseParent: bool = True, returnStdLabel: bool = True, layoutMdlSortOrder: bool = False) -> typing.Any :canonical: arelle.ModelRenderingObject.StrctMdlTable.header ```` ````{py:property} isAbstract :canonical: arelle.ModelRenderingObject.StrctMdlTable.isAbstract :type: bool ```` ````{py:property} isEntryAspect :canonical: arelle.ModelRenderingObject.StrctMdlTable.isEntryAspect :type: bool ```` ````{py:method} isEntryPrototype(default: bool = False) -> bool :canonical: arelle.ModelRenderingObject.StrctMdlTable.isEntryPrototype ```` ````{py:method} evaluate(evalObject: arelle.ModelObject.ModelObject, evalMethod: typing.Callable[[arelle.formula.XPathContext.XPathContext, ...], typing.Any], otherAxisStructuralNode: arelle.ModelRenderingObject.StrctMdlNode | None = None, evalArgs: tuple[typing.Any, ...] = (), handleXPathException: bool = True, **kwargs: typing.Any) -> typing.Any :canonical: arelle.ModelRenderingObject.StrctMdlTable.evaluate ```` ````{py:method} hasValueExpression(otherAxisStructuralNode: arelle.ModelRenderingObject.StrctMdlNode | None = None) -> bool :canonical: arelle.ModelRenderingObject.StrctMdlTable.hasValueExpression ```` ````{py:method} evalValueExpression(fact: typing.Any, otherAxisStructuralNode: arelle.ModelRenderingObject.StrctMdlNode | None = None) -> typing.Any :canonical: arelle.ModelRenderingObject.StrctMdlTable.evalValueExpression ```` ````{py:property} hasBreakdownWithoutNodes :canonical: arelle.ModelRenderingObject.StrctMdlTable.hasBreakdownWithoutNodes :type: bool ```` ````` `````{py:class} StrctMdlBreakdown(strctMdlParentNode: arelle.ModelRenderingObject.StrctMdlNode, defnMdlBreakdown: arelle.ModelRenderingObject.DefnMdlDefinitionNode | None, axis: str) :canonical: arelle.ModelRenderingObject.StrctMdlBreakdown Bases: {py:obj}`arelle.ModelRenderingObject.StrctMdlNode` ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlBreakdown ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlBreakdown.__init__ ``` ````{py:method} siblingBreakdownNode() -> tuple[arelle.ModelRenderingObject.StrctMdlNode, ...] :canonical: arelle.ModelRenderingObject.StrctMdlBreakdown.siblingBreakdownNode ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlBreakdown.siblingBreakdownNode ``` ```` ````{py:property} strctMdlAncestorBreakdownNode :canonical: arelle.ModelRenderingObject.StrctMdlBreakdown.strctMdlAncestorBreakdownNode :type: typing_extensions.Self ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlBreakdown.strctMdlAncestorBreakdownNode ``` ```` ````{py:property} strctMdlEffectiveChildNodes :canonical: arelle.ModelRenderingObject.StrctMdlBreakdown.strctMdlEffectiveChildNodes :type: collections.abc.Iterable[arelle.ModelRenderingObject.StrctMdlNode] ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlBreakdown.strctMdlEffectiveChildNodes ``` ```` ````{py:method} setHasOpenNode() -> None :canonical: arelle.ModelRenderingObject.StrctMdlBreakdown.setHasOpenNode ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlBreakdown.setHasOpenNode ``` ```` ````{py:method} inheritedAspectValue(*args: typing.Any) -> typing.Any :canonical: arelle.ModelRenderingObject.StrctMdlBreakdown.inheritedAspectValue ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlBreakdown.inheritedAspectValue ``` ```` ````{py:attribute} abstract :canonical: arelle.ModelRenderingObject.StrctMdlBreakdown.abstract :type: bool :value: > None ```` ````{py:attribute} tableNode :canonical: arelle.ModelRenderingObject.StrctMdlBreakdown.tableNode :type: DefnMdlTable | None :value: > None ```` ````{py:attribute} aspectEntryObjectId :canonical: arelle.ModelRenderingObject.StrctMdlBreakdown.aspectEntryObjectId :type: str :value: > None ```` ````{py:attribute} parentOrdinateContext :canonical: arelle.ModelRenderingObject.StrctMdlBreakdown.parentOrdinateContext :type: bool :value: > None ```` ````{py:attribute} hasOpenNode :canonical: arelle.ModelRenderingObject.StrctMdlBreakdown.hasOpenNode :type: bool :value: > None ```` ````{py:property} axis :canonical: arelle.ModelRenderingObject.StrctMdlBreakdown.axis :type: str ```` ````{py:property} depth :canonical: arelle.ModelRenderingObject.StrctMdlBreakdown.depth :type: int ```` ````{py:method} aspectsCovered(inherit: bool = False) -> set[typing.Any] :canonical: arelle.ModelRenderingObject.StrctMdlBreakdown.aspectsCovered ```` ````{py:method} hasAspect(aspect: int, inherit: bool = True) -> typing_extensions.Self | None :canonical: arelle.ModelRenderingObject.StrctMdlBreakdown.hasAspect ```` ````{py:property} parentChildOrder :canonical: arelle.ModelRenderingObject.StrctMdlBreakdown.parentChildOrder :type: str | None ```` ````{py:property} hasRollUpChild :canonical: arelle.ModelRenderingObject.StrctMdlBreakdown.hasRollUpChild :type: bool ```` ````{py:property} tagSelectors :canonical: arelle.ModelRenderingObject.StrctMdlBreakdown.tagSelectors :type: set[str | None] ```` ````{py:property} leafNodeCount :canonical: arelle.ModelRenderingObject.StrctMdlBreakdown.leafNodeCount :type: int ```` ````{py:property} cardinalityAndDepth :canonical: arelle.ModelRenderingObject.StrctMdlBreakdown.cardinalityAndDepth :type: tuple[int, int] ```` ````{py:method} objectId(refId: str = '') -> str | None :canonical: arelle.ModelRenderingObject.StrctMdlBreakdown.objectId ```` ````{py:property} xlinkLabel :canonical: arelle.ModelRenderingObject.StrctMdlBreakdown.xlinkLabel :type: str | None ```` ````{py:property} structuralDepth :canonical: arelle.ModelRenderingObject.StrctMdlBreakdown.structuralDepth :type: int ```` ````{py:property} childRollupStrctNode :canonical: arelle.ModelRenderingObject.StrctMdlBreakdown.childRollupStrctNode :type: arelle.ModelRenderingObject.StrctMdlNode | None ```` ````{py:method} headerAndSource(role: str | None = None, lang: str | None = None, evaluate: bool = True, returnGenLabel: bool = True, returnMsgFormatString: bool = False, recurseParent: bool = True, returnStdLabel: bool = True, layoutMdlSortOrder: bool = False) -> tuple[typing.Any, typing.Any] :canonical: arelle.ModelRenderingObject.StrctMdlBreakdown.headerAndSource ```` ````{py:method} header(role: str | None = None, lang: str | None = None, evaluate: bool = True, returnGenLabel: bool = True, returnMsgFormatString: bool = False, recurseParent: bool = True, returnStdLabel: bool = True, layoutMdlSortOrder: bool = False) -> typing.Any :canonical: arelle.ModelRenderingObject.StrctMdlBreakdown.header ```` ````{py:property} isAbstract :canonical: arelle.ModelRenderingObject.StrctMdlBreakdown.isAbstract :type: bool ```` ````{py:property} isEntryAspect :canonical: arelle.ModelRenderingObject.StrctMdlBreakdown.isEntryAspect :type: bool ```` ````{py:method} isEntryPrototype(default: bool = False) -> bool :canonical: arelle.ModelRenderingObject.StrctMdlBreakdown.isEntryPrototype ```` ````{py:method} evaluate(evalObject: arelle.ModelObject.ModelObject, evalMethod: typing.Callable[[arelle.formula.XPathContext.XPathContext, ...], typing.Any], otherAxisStructuralNode: arelle.ModelRenderingObject.StrctMdlNode | None = None, evalArgs: tuple[typing.Any, ...] = (), handleXPathException: bool = True, **kwargs: typing.Any) -> typing.Any :canonical: arelle.ModelRenderingObject.StrctMdlBreakdown.evaluate ```` ````{py:method} hasValueExpression(otherAxisStructuralNode: arelle.ModelRenderingObject.StrctMdlNode | None = None) -> bool :canonical: arelle.ModelRenderingObject.StrctMdlBreakdown.hasValueExpression ```` ````{py:method} evalValueExpression(fact: typing.Any, otherAxisStructuralNode: arelle.ModelRenderingObject.StrctMdlNode | None = None) -> typing.Any :canonical: arelle.ModelRenderingObject.StrctMdlBreakdown.evalValueExpression ```` ````{py:property} hasBreakdownWithoutNodes :canonical: arelle.ModelRenderingObject.StrctMdlBreakdown.hasBreakdownWithoutNodes :type: bool ```` ````` `````{py:class} StrctMdlStructuralNode(strctMdlParentNode: arelle.ModelRenderingObject.StrctMdlNode | None, defnMdlNode: arelle.ModelRenderingObject.DefnMdlDefinitionNode | None, zInheritance: typing.Any = None, contextItemFact: typing.Any = None, tableNode: arelle.ModelRenderingObject.DefnMdlTable | None = None, rendrCntx: arelle.formula.XPathContext.XPathContext | None = None) :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode Bases: {py:obj}`arelle.ModelRenderingObject.StrctMdlNode` ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlStructuralNode ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlStructuralNode.__init__ ``` ````{py:property} modelXbrl :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.modelXbrl :type: arelle.ModelXbrl.ModelXbrl | None ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlStructuralNode.modelXbrl ``` ```` ````{py:property} structuralDepth :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.structuralDepth :type: int ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlStructuralNode.structuralDepth ``` ```` ````{py:method} siblingBreakdownNode() -> tuple[arelle.ModelRenderingObject.StrctMdlNode, ...] :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.siblingBreakdownNode ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlStructuralNode.siblingBreakdownNode ``` ```` ````{py:property} strctMdlEffectiveChildNodes :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.strctMdlEffectiveChildNodes :type: collections.abc.Iterable[arelle.ModelRenderingObject.StrctMdlNode] ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlStructuralNode.strctMdlEffectiveChildNodes ``` ```` ````{py:property} strctMdlAncestorBreakdownNode :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.strctMdlAncestorBreakdownNode :type: arelle.ModelRenderingObject.StrctMdlBreakdown | None ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlStructuralNode.strctMdlAncestorBreakdownNode ``` ```` ````{py:method} constraintSet(tagSelectors: set[str | None] | None = None) -> typing.Any :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.constraintSet ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlStructuralNode.constraintSet ``` ```` ````{py:method} constraintTags() -> list[typing.Any] | None :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.constraintTags ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlStructuralNode.constraintTags ``` ```` ````{py:method} aspectsCovered(inherit: bool = False) -> set[int] :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.aspectsCovered ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlStructuralNode.aspectsCovered ``` ```` ````{py:method} hasAspect(aspect: int, inherit: bool = True) -> typing_extensions.Self | None :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.hasAspect ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlStructuralNode.hasAspect ``` ```` ````{py:method} dimRAV(aspect: typing.Any, value: typing.Any) -> typing.Any :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.dimRAV ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlStructuralNode.dimRAV ``` ```` ````{py:method} aspectValue(aspect: int, inherit: bool = True, dims: set[typing.Any] | None = None, depth: int = 0, tagSelectors: set[str | None] | None = None) -> typing.Any :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.aspectValue ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlStructuralNode.aspectValue ``` ```` ````{py:property} tableDefinitionNode :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.tableDefinitionNode :type: typing.Any ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlStructuralNode.tableDefinitionNode ``` ```` ````{py:property} leafNodeCount :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.leafNodeCount :type: int ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlStructuralNode.leafNodeCount ``` ```` ````{py:method} setHasOpenNode() -> None :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.setHasOpenNode ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlStructuralNode.setHasOpenNode ``` ```` ````{py:method} inheritedAspectValue(otherAxisStructuralNode: arelle.ModelRenderingObject.StrctMdlNode | None, view: typing.Any, aspect: int, tagSelectors: set[str | None] | None, xAspectStructuralNodes: dict[int, set[typing.Any]], yAspectStructuralNodes: dict[int, set[typing.Any]], zAspectStructuralNodes: dict[int, set[typing.Any]]) -> typing.Any :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.inheritedAspectValue ```{autodoc2-docstring} arelle.ModelRenderingObject.StrctMdlStructuralNode.inheritedAspectValue ``` ```` ````{py:attribute} abstract :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.abstract :type: bool :value: > None ```` ````{py:attribute} tableNode :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.tableNode :type: DefnMdlTable | None :value: > None ```` ````{py:attribute} aspectEntryObjectId :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.aspectEntryObjectId :type: str :value: > None ```` ````{py:attribute} parentOrdinateContext :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.parentOrdinateContext :type: bool :value: > None ```` ````{py:attribute} hasOpenNode :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.hasOpenNode :type: bool :value: > None ```` ````{py:property} axis :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.axis :type: str ```` ````{py:property} depth :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.depth :type: int ```` ````{py:property} parentChildOrder :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.parentChildOrder :type: str | None ```` ````{py:property} hasRollUpChild :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.hasRollUpChild :type: bool ```` ````{py:property} tagSelectors :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.tagSelectors :type: set[str | None] ```` ````{py:property} cardinalityAndDepth :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.cardinalityAndDepth :type: tuple[int, int] ```` ````{py:method} objectId(refId: str = '') -> str | None :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.objectId ```` ````{py:property} xlinkLabel :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.xlinkLabel :type: str | None ```` ````{py:property} childRollupStrctNode :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.childRollupStrctNode :type: arelle.ModelRenderingObject.StrctMdlNode | None ```` ````{py:method} headerAndSource(role: str | None = None, lang: str | None = None, evaluate: bool = True, returnGenLabel: bool = True, returnMsgFormatString: bool = False, recurseParent: bool = True, returnStdLabel: bool = True, layoutMdlSortOrder: bool = False) -> tuple[typing.Any, typing.Any] :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.headerAndSource ```` ````{py:method} header(role: str | None = None, lang: str | None = None, evaluate: bool = True, returnGenLabel: bool = True, returnMsgFormatString: bool = False, recurseParent: bool = True, returnStdLabel: bool = True, layoutMdlSortOrder: bool = False) -> typing.Any :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.header ```` ````{py:property} isAbstract :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.isAbstract :type: bool ```` ````{py:property} isEntryAspect :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.isEntryAspect :type: bool ```` ````{py:method} isEntryPrototype(default: bool = False) -> bool :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.isEntryPrototype ```` ````{py:method} evaluate(evalObject: arelle.ModelObject.ModelObject, evalMethod: typing.Callable[[arelle.formula.XPathContext.XPathContext, ...], typing.Any], otherAxisStructuralNode: arelle.ModelRenderingObject.StrctMdlNode | None = None, evalArgs: tuple[typing.Any, ...] = (), handleXPathException: bool = True, **kwargs: typing.Any) -> typing.Any :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.evaluate ```` ````{py:method} hasValueExpression(otherAxisStructuralNode: arelle.ModelRenderingObject.StrctMdlNode | None = None) -> bool :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.hasValueExpression ```` ````{py:method} evalValueExpression(fact: typing.Any, otherAxisStructuralNode: arelle.ModelRenderingObject.StrctMdlNode | None = None) -> typing.Any :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.evalValueExpression ```` ````{py:property} hasBreakdownWithoutNodes :canonical: arelle.ModelRenderingObject.StrctMdlStructuralNode.hasBreakdownWithoutNodes :type: bool ```` ````` ````{py:function} defnMdlLabelsView(mdlObj: arelle.ModelObject.ModelObject) -> tuple[tuple[str, str], ...] :canonical: arelle.ModelRenderingObject.defnMdlLabelsView ```{autodoc2-docstring} arelle.ModelRenderingObject.defnMdlLabelsView ``` ```` `````{py:class} DefnMdlTable :canonical: arelle.ModelRenderingObject.DefnMdlTable Bases: {py:obj}`arelle.ModelFormulaObject.ModelFormulaResource` ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlTable ``` ````{py:method} init(modelDocument: arelle.ModelDocument.ModelDocument) -> None :canonical: arelle.ModelRenderingObject.DefnMdlTable.init ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlTable.init ``` ```` ````{py:method} clear() -> None :canonical: arelle.ModelRenderingObject.DefnMdlTable.clear ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlTable.clear ``` ```` ````{py:property} isMerged :canonical: arelle.ModelRenderingObject.DefnMdlTable.isMerged :type: bool ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlTable.isMerged ``` ```` ````{py:property} parentTableNode :canonical: arelle.ModelRenderingObject.DefnMdlTable.parentTableNode :type: typing_extensions.Self ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlTable.parentTableNode ``` ```` ````{py:property} parentChildOrder :canonical: arelle.ModelRenderingObject.DefnMdlTable.parentChildOrder :type: str | None ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlTable.parentChildOrder ``` ```` ````{py:property} descendantArcroles :canonical: arelle.ModelRenderingObject.DefnMdlTable.descendantArcroles :type: tuple[str, ...] ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlTable.descendantArcroles ``` ```` ````{py:property} ancestorArcroles :canonical: arelle.ModelRenderingObject.DefnMdlTable.ancestorArcroles :type: tuple[] ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlTable.ancestorArcroles ``` ```` ````{py:property} aspectModel :canonical: arelle.ModelRenderingObject.DefnMdlTable.aspectModel :type: str ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlTable.aspectModel ``` ```` ````{py:property} filterRelationships :canonical: arelle.ModelRenderingObject.DefnMdlTable.filterRelationships :type: list[arelle.ModelDtsObject.ModelRelationship] ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlTable.filterRelationships ``` ```` ````{py:property} definitionLabelsView :canonical: arelle.ModelRenderingObject.DefnMdlTable.definitionLabelsView :type: tuple[tuple[str, str], ...] ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlTable.definitionLabelsView ``` ```` ````{py:method} filteredFacts(xpCtx: arelle.formula.XPathContext.XPathContext, facts: collections.abc.Iterable[arelle.ModelInstanceObject.ModelFact]) -> typing.Any :canonical: arelle.ModelRenderingObject.DefnMdlTable.filteredFacts ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlTable.filteredFacts ``` ```` ````{py:property} renderingXPathContext :canonical: arelle.ModelRenderingObject.DefnMdlTable.renderingXPathContext :type: arelle.formula.XPathContext.XPathContext | None ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlTable.renderingXPathContext ``` ```` ````{py:property} propertyView :canonical: arelle.ModelRenderingObject.DefnMdlTable.propertyView :type: tuple[tuple[str, str | None], ...] ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlTable.propertyView ``` ```` ````{py:property} definitionNodeView :canonical: arelle.ModelRenderingObject.DefnMdlTable.definitionNodeView :type: str ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlTable.definitionNodeView ``` ```` ````` `````{py:class} DefnMdlBreakdown :canonical: arelle.ModelRenderingObject.DefnMdlBreakdown Bases: {py:obj}`arelle.ModelFormulaObject.ModelFormulaResource` ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlBreakdown ``` ````{py:attribute} strctMdlRollupType :canonical: arelle.ModelRenderingObject.DefnMdlBreakdown.strctMdlRollupType :value: > None ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlBreakdown.strctMdlRollupType ``` ```` ````{py:method} init(modelDocument: arelle.ModelDocument.ModelDocument) -> None :canonical: arelle.ModelRenderingObject.DefnMdlBreakdown.init ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlBreakdown.init ``` ```` ````{py:property} isMerged :canonical: arelle.ModelRenderingObject.DefnMdlBreakdown.isMerged :type: bool ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlBreakdown.isMerged ``` ```` ````{py:method} hasAspect(*args: typing.Any) -> bool :canonical: arelle.ModelRenderingObject.DefnMdlBreakdown.hasAspect ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlBreakdown.hasAspect ``` ```` ````{py:property} parentTableNode :canonical: arelle.ModelRenderingObject.DefnMdlBreakdown.parentTableNode :type: arelle.ModelRenderingObject.DefnMdlTable | None ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlBreakdown.parentTableNode ``` ```` ````{py:property} parentChildOrder :canonical: arelle.ModelRenderingObject.DefnMdlBreakdown.parentChildOrder :type: str | None ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlBreakdown.parentChildOrder ``` ```` ````{py:property} descendantArcroles :canonical: arelle.ModelRenderingObject.DefnMdlBreakdown.descendantArcroles :type: tuple[str, str] ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlBreakdown.descendantArcroles ``` ```` ````{py:property} ancestorArcroles :canonical: arelle.ModelRenderingObject.DefnMdlBreakdown.ancestorArcroles :type: tuple[str, str] ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlBreakdown.ancestorArcroles ``` ```` ````{py:property} childrenCoverSameAspects :canonical: arelle.ModelRenderingObject.DefnMdlBreakdown.childrenCoverSameAspects :type: bool ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlBreakdown.childrenCoverSameAspects ``` ```` ````{py:method} aspectsCovered() -> set[typing.Any] :canonical: arelle.ModelRenderingObject.DefnMdlBreakdown.aspectsCovered ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlBreakdown.aspectsCovered ``` ```` ````{py:property} constraintSets :canonical: arelle.ModelRenderingObject.DefnMdlBreakdown.constraintSets :type: dict[typing.Any, typing.Any] ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlBreakdown.constraintSets ``` ```` ````{py:property} isAbstract :canonical: arelle.ModelRenderingObject.DefnMdlBreakdown.isAbstract :type: bool ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlBreakdown.isAbstract ``` ```` ````{py:method} cardinalityAndDepth(structuralNode: arelle.ModelRenderingObject.StrctMdlNode, **kwargs: typing.Any) -> tuple[int, int] :canonical: arelle.ModelRenderingObject.DefnMdlBreakdown.cardinalityAndDepth ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlBreakdown.cardinalityAndDepth ``` ```` ````{py:property} propertyView :canonical: arelle.ModelRenderingObject.DefnMdlBreakdown.propertyView :type: tuple[tuple[str, str | None], ...] ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlBreakdown.propertyView ``` ```` ````{py:property} definitionNodeView :canonical: arelle.ModelRenderingObject.DefnMdlBreakdown.definitionNodeView :type: str ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlBreakdown.definitionNodeView ``` ```` ````{py:property} definitionLabelsView :canonical: arelle.ModelRenderingObject.DefnMdlBreakdown.definitionLabelsView :type: tuple[tuple[str, str], ...] ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlBreakdown.definitionLabelsView ``` ```` ````` `````{py:class} DefnMdlDefinitionNode :canonical: arelle.ModelRenderingObject.DefnMdlDefinitionNode Bases: {py:obj}`arelle.ModelFormulaObject.ModelFormulaResource` ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDefinitionNode ``` ````{py:attribute} aspectModel :canonical: arelle.ModelRenderingObject.DefnMdlDefinitionNode.aspectModel :value: > 'dimensional' ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDefinitionNode.aspectModel ``` ```` ````{py:method} init(modelDocument: arelle.ModelDocument.ModelDocument) -> None :canonical: arelle.ModelRenderingObject.DefnMdlDefinitionNode.init ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDefinitionNode.init ``` ```` ````{py:property} isMerged :canonical: arelle.ModelRenderingObject.DefnMdlDefinitionNode.isMerged :type: bool ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDefinitionNode.isMerged ``` ```` ````{py:property} parentTableNode :canonical: arelle.ModelRenderingObject.DefnMdlDefinitionNode.parentTableNode :type: arelle.ModelRenderingObject.DefnMdlTable | None ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDefinitionNode.parentTableNode ``` ```` ````{py:property} descendantArcroles :canonical: arelle.ModelRenderingObject.DefnMdlDefinitionNode.descendantArcroles :type: tuple[str, str] ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDefinitionNode.descendantArcroles ``` ```` ````{py:method} hasAspect(structuralNode: arelle.ModelRenderingObject.StrctMdlStructuralNode, aspect: int) -> bool :canonical: arelle.ModelRenderingObject.DefnMdlDefinitionNode.hasAspect ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDefinitionNode.hasAspect ``` ```` ````{py:method} aspectValueDependsOnVars(aspect: typing.Any) -> bool :canonical: arelle.ModelRenderingObject.DefnMdlDefinitionNode.aspectValueDependsOnVars ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDefinitionNode.aspectValueDependsOnVars ``` ```` ````{py:property} variablename :canonical: arelle.ModelRenderingObject.DefnMdlDefinitionNode.variablename :type: str | None ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDefinitionNode.variablename ``` ```` ````{py:property} variableQname :canonical: arelle.ModelRenderingObject.DefnMdlDefinitionNode.variableQname :type: arelle.ModelValue.QName | None ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDefinitionNode.variableQname ``` ```` ````{py:method} aspectValue(xpCtx: arelle.formula.XPathContext.XPathContext, aspect: int, inherit: bool = True) -> list[typing.Any] | None :canonical: arelle.ModelRenderingObject.DefnMdlDefinitionNode.aspectValue ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDefinitionNode.aspectValue ``` ```` ````{py:method} aspectsCovered() -> set[typing.Any] :canonical: arelle.ModelRenderingObject.DefnMdlDefinitionNode.aspectsCovered ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDefinitionNode.aspectsCovered ``` ```` ````{py:property} constraintSets :canonical: arelle.ModelRenderingObject.DefnMdlDefinitionNode.constraintSets :type: dict[None, typing_extensions.Self] ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDefinitionNode.constraintSets ``` ```` ````{py:property} tagSelector :canonical: arelle.ModelRenderingObject.DefnMdlDefinitionNode.tagSelector :type: str | None ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDefinitionNode.tagSelector ``` ```` ````{py:property} valueExpression :canonical: arelle.ModelRenderingObject.DefnMdlDefinitionNode.valueExpression :type: str | None ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDefinitionNode.valueExpression ``` ```` ````{py:property} hasValueExpression :canonical: arelle.ModelRenderingObject.DefnMdlDefinitionNode.hasValueExpression :type: bool ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDefinitionNode.hasValueExpression ``` ```` ````{py:method} compile() -> None :canonical: arelle.ModelRenderingObject.DefnMdlDefinitionNode.compile ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDefinitionNode.compile ``` ```` ````{py:method} evalValueExpression(xpCtx: arelle.formula.XPathContext.XPathContext, fact: arelle.formula.XPathContext.ContextItem) -> typing.Any :canonical: arelle.ModelRenderingObject.DefnMdlDefinitionNode.evalValueExpression ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDefinitionNode.evalValueExpression ``` ```` ````{py:property} isAbstract :canonical: arelle.ModelRenderingObject.DefnMdlDefinitionNode.isAbstract :type: bool ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDefinitionNode.isAbstract ``` ```` ````{py:method} cardinalityAndDepth(structuralNode: arelle.ModelRenderingObject.StrctMdlNode, **kwargs: typing.Any) -> tuple[int, int] :canonical: arelle.ModelRenderingObject.DefnMdlDefinitionNode.cardinalityAndDepth ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDefinitionNode.cardinalityAndDepth ``` ```` ````{py:property} definitionNodeView :canonical: arelle.ModelRenderingObject.DefnMdlDefinitionNode.definitionNodeView :type: str ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDefinitionNode.definitionNodeView ``` ```` ````{py:property} definitionLabelsView :canonical: arelle.ModelRenderingObject.DefnMdlDefinitionNode.definitionLabelsView :type: tuple[tuple[str, str], ...] ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDefinitionNode.definitionLabelsView ``` ```` ````{py:property} parentChildOrder :canonical: arelle.ModelRenderingObject.DefnMdlDefinitionNode.parentChildOrder :type: str | None ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDefinitionNode.parentChildOrder ``` ```` ````` `````{py:class} DefnMdlClosedDefinitionNode :canonical: arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode Bases: {py:obj}`arelle.ModelRenderingObject.DefnMdlDefinitionNode` ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode ``` ````{py:attribute} strctMdlRollupType :canonical: arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode.strctMdlRollupType :value: > None ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode.strctMdlRollupType ``` ```` ````{py:method} init(modelDocument: arelle.ModelDocument.ModelDocument) -> None :canonical: arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode.init ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode.init ``` ```` ````{py:property} abstract :canonical: arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode.abstract :type: str | None ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode.abstract ``` ```` ````{py:property} isAbstract :canonical: arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode.isAbstract :type: bool ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode.isAbstract ``` ```` ````{py:property} parentChildOrder :canonical: arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode.parentChildOrder :type: str | None ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode.parentChildOrder ``` ```` ````{py:property} descendantArcroles :canonical: arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode.descendantArcroles :type: tuple[str, str] ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode.descendantArcroles ``` ```` ````{py:property} ancestorArcroles :canonical: arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode.ancestorArcroles :type: tuple[str, str, str, str] ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode.ancestorArcroles ``` ```` ````{py:method} filteredFacts(xpCtx: arelle.formula.XPathContext.XPathContext, facts: collections.abc.Iterable[arelle.ModelInstanceObject.ModelFact]) -> set[arelle.ModelInstanceObject.ModelFact] :canonical: arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode.filteredFacts ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode.filteredFacts ``` ```` ````{py:property} childrenCoverSameAspects :canonical: arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode.childrenCoverSameAspects :type: bool ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode.childrenCoverSameAspects ``` ```` ````{py:attribute} aspectModel :canonical: arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode.aspectModel :value: > 'dimensional' ```` ````{py:property} isMerged :canonical: arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode.isMerged :type: bool ```` ````{py:property} parentTableNode :canonical: arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode.parentTableNode :type: arelle.ModelRenderingObject.DefnMdlTable | None ```` ````{py:method} hasAspect(structuralNode: arelle.ModelRenderingObject.StrctMdlStructuralNode, aspect: int) -> bool :canonical: arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode.hasAspect ```` ````{py:method} aspectValueDependsOnVars(aspect: typing.Any) -> bool :canonical: arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode.aspectValueDependsOnVars ```` ````{py:property} variablename :canonical: arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode.variablename :type: str | None ```` ````{py:property} variableQname :canonical: arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode.variableQname :type: arelle.ModelValue.QName | None ```` ````{py:method} aspectValue(xpCtx: arelle.formula.XPathContext.XPathContext, aspect: int, inherit: bool = True) -> list[typing.Any] | None :canonical: arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode.aspectValue ```` ````{py:method} aspectsCovered() -> set[typing.Any] :canonical: arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode.aspectsCovered ```` ````{py:property} constraintSets :canonical: arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode.constraintSets :type: dict[None, typing_extensions.Self] ```` ````{py:property} tagSelector :canonical: arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode.tagSelector :type: str | None ```` ````{py:property} valueExpression :canonical: arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode.valueExpression :type: str | None ```` ````{py:property} hasValueExpression :canonical: arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode.hasValueExpression :type: bool ```` ````{py:method} compile() -> None :canonical: arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode.compile ```` ````{py:method} evalValueExpression(xpCtx: arelle.formula.XPathContext.XPathContext, fact: arelle.formula.XPathContext.ContextItem) -> typing.Any :canonical: arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode.evalValueExpression ```` ````{py:method} cardinalityAndDepth(structuralNode: arelle.ModelRenderingObject.StrctMdlNode, **kwargs: typing.Any) -> tuple[int, int] :canonical: arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode.cardinalityAndDepth ```` ````{py:property} definitionNodeView :canonical: arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode.definitionNodeView :type: str ```` ````{py:property} definitionLabelsView :canonical: arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode.definitionLabelsView :type: tuple[tuple[str, str], ...] ```` ````` `````{py:class} DefnMdlConstraintSet :canonical: arelle.ModelRenderingObject.DefnMdlConstraintSet Bases: {py:obj}`arelle.ModelFormulaObject.ModelFormulaRules` ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlConstraintSet ``` ````{py:method} init(modelDocument: arelle.ModelDocument.ModelDocument) -> None :canonical: arelle.ModelRenderingObject.DefnMdlConstraintSet.init ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlConstraintSet.init ``` ```` ````{py:method} isMerged() -> bool :canonical: arelle.ModelRenderingObject.DefnMdlConstraintSet.isMerged ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlConstraintSet.isMerged ``` ```` ````{py:method} hasAspect(structuralNode: arelle.ModelRenderingObject.StrctMdlStructuralNode, aspect: int, inherit: bool = False) -> bool :canonical: arelle.ModelRenderingObject.DefnMdlConstraintSet.hasAspect ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlConstraintSet.hasAspect ``` ```` ````{py:method} aspectValue(xpCtx: arelle.formula.XPathContext.XPathContext | None, aspect: int, inherit: bool = False) -> typing.Any :canonical: arelle.ModelRenderingObject.DefnMdlConstraintSet.aspectValue ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlConstraintSet.aspectValue ``` ```` ````{py:method} aspectValueDependsOnVars(aspect: int) -> bool :canonical: arelle.ModelRenderingObject.DefnMdlConstraintSet.aspectValueDependsOnVars ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlConstraintSet.aspectValueDependsOnVars ``` ```` ````{py:method} aspectsCovered() -> set[int] :canonical: arelle.ModelRenderingObject.DefnMdlConstraintSet.aspectsCovered ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlConstraintSet.aspectsCovered ``` ```` ````{py:method} aspectsModelCovered() -> set[int] :canonical: arelle.ModelRenderingObject.DefnMdlConstraintSet.aspectsModelCovered ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlConstraintSet.aspectsModelCovered ``` ```` ````{py:method} cardinalityAndDepth(structuralNode: arelle.ModelRenderingObject.StrctMdlNode, **kwargs: typing.Any) -> tuple[int, int] :canonical: arelle.ModelRenderingObject.DefnMdlConstraintSet.cardinalityAndDepth ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlConstraintSet.cardinalityAndDepth ``` ```` ````` `````{py:class} DefnMdlRuleSet :canonical: arelle.ModelRenderingObject.DefnMdlRuleSet Bases: {py:obj}`arelle.ModelRenderingObject.DefnMdlConstraintSet`, {py:obj}`arelle.ModelFormulaObject.ModelFormulaResource` ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlRuleSet ``` ````{py:method} init(modelDocument: arelle.ModelDocument.ModelDocument) -> None :canonical: arelle.ModelRenderingObject.DefnMdlRuleSet.init ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlRuleSet.init ``` ```` ````{py:property} tagName :canonical: arelle.ModelRenderingObject.DefnMdlRuleSet.tagName :type: str | None ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlRuleSet.tagName ``` ```` ````{py:method} isMerged() -> bool :canonical: arelle.ModelRenderingObject.DefnMdlRuleSet.isMerged ```` ````{py:method} hasAspect(structuralNode: arelle.ModelRenderingObject.StrctMdlStructuralNode, aspect: int, inherit: bool = False) -> bool :canonical: arelle.ModelRenderingObject.DefnMdlRuleSet.hasAspect ```` ````{py:method} aspectValue(xpCtx: arelle.formula.XPathContext.XPathContext | None, aspect: int, inherit: bool = False) -> typing.Any :canonical: arelle.ModelRenderingObject.DefnMdlRuleSet.aspectValue ```` ````{py:method} aspectValueDependsOnVars(aspect: int) -> bool :canonical: arelle.ModelRenderingObject.DefnMdlRuleSet.aspectValueDependsOnVars ```` ````{py:method} aspectsCovered() -> set[int] :canonical: arelle.ModelRenderingObject.DefnMdlRuleSet.aspectsCovered ```` ````{py:method} aspectsModelCovered() -> set[int] :canonical: arelle.ModelRenderingObject.DefnMdlRuleSet.aspectsModelCovered ```` ````{py:method} cardinalityAndDepth(structuralNode: arelle.ModelRenderingObject.StrctMdlNode, **kwargs: typing.Any) -> tuple[int, int] :canonical: arelle.ModelRenderingObject.DefnMdlRuleSet.cardinalityAndDepth ```` ````` `````{py:class} DefnMdlRuleDefinitionNode :canonical: arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode Bases: {py:obj}`arelle.ModelRenderingObject.DefnMdlConstraintSet`, {py:obj}`arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode` ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode ``` ````{py:method} init(modelDocument: arelle.ModelDocument.ModelDocument) -> None :canonical: arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.init ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.init ``` ```` ````{py:property} merge :canonical: arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.merge :type: str | None ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.merge ``` ```` ````{py:property} isMerged :canonical: arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.isMerged :type: bool ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.isMerged ``` ```` ````{py:property} constraintSets :canonical: arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.constraintSets :type: dict[str | None, arelle.ModelObject.ModelObject | typing_extensions.Self] ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.constraintSets ``` ```` ````{py:method} hasAspect(structuralNode: arelle.ModelRenderingObject.StrctMdlStructuralNode, aspect: int, inherit: bool = False) -> bool :canonical: arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.hasAspect ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.hasAspect ``` ```` ````{py:property} aspectsInTaggedConstraintSet :canonical: arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.aspectsInTaggedConstraintSet :type: set[int] ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.aspectsInTaggedConstraintSet ``` ```` ````{py:method} compile() -> None :canonical: arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.compile ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.compile ``` ```` ````{py:property} propertyView :canonical: arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.propertyView :type: tuple[tuple[str, str | None], ...] ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.propertyView ``` ```` ````{py:method} aspectValue(xpCtx: arelle.formula.XPathContext.XPathContext | None, aspect: int, inherit: bool = False) -> typing.Any :canonical: arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.aspectValue ```` ````{py:method} aspectValueDependsOnVars(aspect: int) -> bool :canonical: arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.aspectValueDependsOnVars ```` ````{py:method} aspectsCovered() -> set[int] :canonical: arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.aspectsCovered ```` ````{py:method} aspectsModelCovered() -> set[int] :canonical: arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.aspectsModelCovered ```` ````{py:method} cardinalityAndDepth(structuralNode: arelle.ModelRenderingObject.StrctMdlNode, **kwargs: typing.Any) -> tuple[int, int] :canonical: arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.cardinalityAndDepth ```` ````{py:attribute} strctMdlRollupType :canonical: arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.strctMdlRollupType :value: > None ```` ````{py:property} abstract :canonical: arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.abstract :type: str | None ```` ````{py:property} isAbstract :canonical: arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.isAbstract :type: bool ```` ````{py:property} parentChildOrder :canonical: arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.parentChildOrder :type: str | None ```` ````{py:property} descendantArcroles :canonical: arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.descendantArcroles :type: tuple[str, str] ```` ````{py:property} ancestorArcroles :canonical: arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.ancestorArcroles :type: tuple[str, str, str, str] ```` ````{py:method} filteredFacts(xpCtx: arelle.formula.XPathContext.XPathContext, facts: collections.abc.Iterable[arelle.ModelInstanceObject.ModelFact]) -> set[arelle.ModelInstanceObject.ModelFact] :canonical: arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.filteredFacts ```` ````{py:property} childrenCoverSameAspects :canonical: arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.childrenCoverSameAspects :type: bool ```` ````{py:attribute} aspectModel :canonical: arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.aspectModel :value: > 'dimensional' ```` ````{py:property} parentTableNode :canonical: arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.parentTableNode :type: arelle.ModelRenderingObject.DefnMdlTable | None ```` ````{py:property} variablename :canonical: arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.variablename :type: str | None ```` ````{py:property} variableQname :canonical: arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.variableQname :type: arelle.ModelValue.QName | None ```` ````{py:property} tagSelector :canonical: arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.tagSelector :type: str | None ```` ````{py:property} valueExpression :canonical: arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.valueExpression :type: str | None ```` ````{py:property} hasValueExpression :canonical: arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.hasValueExpression :type: bool ```` ````{py:method} evalValueExpression(xpCtx: arelle.formula.XPathContext.XPathContext, fact: arelle.formula.XPathContext.ContextItem) -> typing.Any :canonical: arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.evalValueExpression ```` ````{py:property} definitionNodeView :canonical: arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.definitionNodeView :type: str ```` ````{py:property} definitionLabelsView :canonical: arelle.ModelRenderingObject.DefnMdlRuleDefinitionNode.definitionLabelsView :type: tuple[tuple[str, str], ...] ```` ````` `````{py:class} DefnMdlRelationshipNode :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode Bases: {py:obj}`arelle.ModelRenderingObject.DefnMdlClosedDefinitionNode` ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlRelationshipNode ``` ````{py:method} init(modelDocument: arelle.ModelDocument.ModelDocument) -> None :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.init ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlRelationshipNode.init ``` ```` ````{py:method} aspectsCovered() -> set[int] :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.aspectsCovered ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlRelationshipNode.aspectsCovered ``` ```` ````{py:property} conceptQname :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.conceptQname :type: arelle.ModelValue.QName | None ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlRelationshipNode.conceptQname ``` ```` ````{py:property} linkrole :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.linkrole :type: str | None ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlRelationshipNode.linkrole ``` ```` ````{py:property} formulaAxis :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.formulaAxis :type: str | None ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlRelationshipNode.formulaAxis ``` ```` ````{py:property} generations :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.generations :type: int ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlRelationshipNode.generations ``` ```` ````{py:property} relationshipSourceQnamesAndExpressions :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.relationshipSourceQnamesAndExpressions :type: list[str | arelle.ModelValue.QName | None] ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlRelationshipNode.relationshipSourceQnamesAndExpressions ``` ```` ````{py:property} linkroleExpression :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.linkroleExpression :type: str | None ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlRelationshipNode.linkroleExpression ``` ```` ````{py:property} formulaAxisExpression :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.formulaAxisExpression :type: str | None ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlRelationshipNode.formulaAxisExpression ``` ```` ````{py:property} generationsExpression :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.generationsExpression :type: str | None ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlRelationshipNode.generationsExpression ``` ```` ````{py:method} compile() -> None :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.compile ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlRelationshipNode.compile ``` ```` ````{py:method} variableRefs(progs: arelle.formula.XPathParser.RecursiveFormulaTokens = [], varRefSet: set[arelle.ModelValue.QName] | None = None) -> set[arelle.ModelValue.QName] :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.variableRefs ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlRelationshipNode.variableRefs ``` ```` ````{py:method} evalRrelationshipSourceQnames(xpCtx: arelle.formula.XPathContext.XPathContext, fact: arelle.formula.XPathContext.ContextItem = None) -> list[typing.Any] :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.evalRrelationshipSourceQnames ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlRelationshipNode.evalRrelationshipSourceQnames ``` ```` ````{py:method} evalLinkrole(xpCtx: arelle.formula.XPathContext.XPathContext, fact: arelle.formula.XPathContext.ContextItem = None) -> typing.Any :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.evalLinkrole ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlRelationshipNode.evalLinkrole ``` ```` ````{py:method} evalFormulaAxis(xpCtx: arelle.formula.XPathContext.XPathContext, fact: arelle.formula.XPathContext.ContextItem = None) -> typing.Any :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.evalFormulaAxis ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlRelationshipNode.evalFormulaAxis ``` ```` ````{py:method} evalGenerations(xpCtx: arelle.formula.XPathContext.XPathContext, fact: arelle.formula.XPathContext.ContextItem = None) -> typing.Any :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.evalGenerations ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlRelationshipNode.evalGenerations ``` ```` ````{py:method} cardinalityAndDepth(structuralNode: arelle.ModelRenderingObject.StrctMdlNode, **kwargs: typing.Any) -> tuple[int, int] :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.cardinalityAndDepth ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlRelationshipNode.cardinalityAndDepth ``` ```` ````{py:method} lenDepth(nestedRelationships: collections.abc.Iterable[typing.Any], includeSelf: bool) -> tuple[int, int] :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.lenDepth ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlRelationshipNode.lenDepth ``` ```` ````{py:property} propertyView :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.propertyView :type: tuple[tuple[str, str | None], ...] ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlRelationshipNode.propertyView ``` ```` ````{py:attribute} strctMdlRollupType :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.strctMdlRollupType :value: > None ```` ````{py:property} abstract :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.abstract :type: str | None ```` ````{py:property} isAbstract :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.isAbstract :type: bool ```` ````{py:property} parentChildOrder :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.parentChildOrder :type: str | None ```` ````{py:property} descendantArcroles :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.descendantArcroles :type: tuple[str, str] ```` ````{py:property} ancestorArcroles :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.ancestorArcroles :type: tuple[str, str, str, str] ```` ````{py:method} filteredFacts(xpCtx: arelle.formula.XPathContext.XPathContext, facts: collections.abc.Iterable[arelle.ModelInstanceObject.ModelFact]) -> set[arelle.ModelInstanceObject.ModelFact] :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.filteredFacts ```` ````{py:property} childrenCoverSameAspects :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.childrenCoverSameAspects :type: bool ```` ````{py:attribute} aspectModel :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.aspectModel :value: > 'dimensional' ```` ````{py:property} isMerged :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.isMerged :type: bool ```` ````{py:property} parentTableNode :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.parentTableNode :type: arelle.ModelRenderingObject.DefnMdlTable | None ```` ````{py:method} hasAspect(structuralNode: arelle.ModelRenderingObject.StrctMdlStructuralNode, aspect: int) -> bool :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.hasAspect ```` ````{py:method} aspectValueDependsOnVars(aspect: typing.Any) -> bool :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.aspectValueDependsOnVars ```` ````{py:property} variablename :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.variablename :type: str | None ```` ````{py:property} variableQname :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.variableQname :type: arelle.ModelValue.QName | None ```` ````{py:method} aspectValue(xpCtx: arelle.formula.XPathContext.XPathContext, aspect: int, inherit: bool = True) -> list[typing.Any] | None :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.aspectValue ```` ````{py:property} constraintSets :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.constraintSets :type: dict[None, typing_extensions.Self] ```` ````{py:property} tagSelector :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.tagSelector :type: str | None ```` ````{py:property} valueExpression :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.valueExpression :type: str | None ```` ````{py:property} hasValueExpression :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.hasValueExpression :type: bool ```` ````{py:method} evalValueExpression(xpCtx: arelle.formula.XPathContext.XPathContext, fact: arelle.formula.XPathContext.ContextItem) -> typing.Any :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.evalValueExpression ```` ````{py:property} definitionNodeView :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.definitionNodeView :type: str ```` ````{py:property} definitionLabelsView :canonical: arelle.ModelRenderingObject.DefnMdlRelationshipNode.definitionLabelsView :type: tuple[tuple[str, str], ...] ```` ````` `````{py:class} DefnMdlConceptRelationshipNode :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode Bases: {py:obj}`arelle.ModelRenderingObject.DefnMdlRelationshipNode` ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode ``` ````{py:attribute} strctMdlRollupType :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.strctMdlRollupType :value: > None ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.strctMdlRollupType ``` ```` ````{py:method} init(modelDocument: arelle.ModelDocument.ModelDocument) -> None :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.init ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.init ``` ```` ````{py:method} hasAspect(structuralNode: arelle.ModelRenderingObject.StrctMdlStructuralNode, aspect: int) -> bool :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.hasAspect ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.hasAspect ``` ```` ````{py:property} arcrole :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.arcrole :type: str | None ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.arcrole ``` ```` ````{py:property} arcQname :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.arcQname :type: arelle.ModelValue.QName | None ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.arcQname ``` ```` ````{py:property} linkQname :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.linkQname :type: arelle.ModelValue.QName | None ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.linkQname ``` ```` ````{py:method} compile() -> None :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.compile ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.compile ``` ```` ````{py:method} variableRefs(progs: arelle.formula.XPathParser.RecursiveFormulaTokens = [], varRefSet: set[arelle.ModelValue.QName] | None = None) -> set[arelle.ModelValue.QName] :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.variableRefs ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.variableRefs ``` ```` ````{py:method} evalArcrole(xpCtx: arelle.formula.XPathContext.XPathContext, fact: arelle.formula.XPathContext.ContextItem = None) -> typing.Any :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.evalArcrole ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.evalArcrole ``` ```` ````{py:method} evalLinkQname(xpCtx: arelle.formula.XPathContext.XPathContext, fact: arelle.formula.XPathContext.ContextItem = None) -> typing.Any :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.evalLinkQname ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.evalLinkQname ``` ```` ````{py:method} evalArcQname(xpCtx: arelle.formula.XPathContext.XPathContext, fact: arelle.formula.XPathContext.ContextItem = None) -> typing.Any :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.evalArcQname ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.evalArcQname ``` ```` ````{py:property} arcroleExpression :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.arcroleExpression :type: str | None ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.arcroleExpression ``` ```` ````{py:property} linkQnameExpression :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.linkQnameExpression :type: str | None ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.linkQnameExpression ``` ```` ````{py:property} arcQnameExpression :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.arcQnameExpression :type: str | None ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.arcQnameExpression ``` ```` ````{py:property} isOrSelfAxis :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.isOrSelfAxis :type: bool ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.isOrSelfAxis ``` ```` ````{py:method} coveredAspect(ordCntx: arelle.formula.XPathContext.XPathContext | None = None) -> int :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.coveredAspect ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.coveredAspect ``` ```` ````{py:method} relationships(structuralNode: arelle.ModelRenderingObject.StrctMdlNode, **kwargs: typing.Any) -> list[typing.Any] :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.relationships ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.relationships ``` ```` ````{py:method} aspectsCovered() -> set[int] :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.aspectsCovered ```` ````{py:property} conceptQname :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.conceptQname :type: arelle.ModelValue.QName | None ```` ````{py:property} linkrole :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.linkrole :type: str | None ```` ````{py:property} formulaAxis :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.formulaAxis :type: str | None ```` ````{py:property} generations :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.generations :type: int ```` ````{py:property} relationshipSourceQnamesAndExpressions :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.relationshipSourceQnamesAndExpressions :type: list[str | arelle.ModelValue.QName | None] ```` ````{py:property} linkroleExpression :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.linkroleExpression :type: str | None ```` ````{py:property} formulaAxisExpression :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.formulaAxisExpression :type: str | None ```` ````{py:property} generationsExpression :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.generationsExpression :type: str | None ```` ````{py:method} evalRrelationshipSourceQnames(xpCtx: arelle.formula.XPathContext.XPathContext, fact: arelle.formula.XPathContext.ContextItem = None) -> list[typing.Any] :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.evalRrelationshipSourceQnames ```` ````{py:method} evalLinkrole(xpCtx: arelle.formula.XPathContext.XPathContext, fact: arelle.formula.XPathContext.ContextItem = None) -> typing.Any :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.evalLinkrole ```` ````{py:method} evalFormulaAxis(xpCtx: arelle.formula.XPathContext.XPathContext, fact: arelle.formula.XPathContext.ContextItem = None) -> typing.Any :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.evalFormulaAxis ```` ````{py:method} evalGenerations(xpCtx: arelle.formula.XPathContext.XPathContext, fact: arelle.formula.XPathContext.ContextItem = None) -> typing.Any :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.evalGenerations ```` ````{py:method} cardinalityAndDepth(structuralNode: arelle.ModelRenderingObject.StrctMdlNode, **kwargs: typing.Any) -> tuple[int, int] :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.cardinalityAndDepth ```` ````{py:method} lenDepth(nestedRelationships: collections.abc.Iterable[typing.Any], includeSelf: bool) -> tuple[int, int] :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.lenDepth ```` ````{py:property} propertyView :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.propertyView :type: tuple[tuple[str, str | None], ...] ```` ````{py:property} abstract :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.abstract :type: str | None ```` ````{py:property} isAbstract :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.isAbstract :type: bool ```` ````{py:property} parentChildOrder :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.parentChildOrder :type: str | None ```` ````{py:property} descendantArcroles :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.descendantArcroles :type: tuple[str, str] ```` ````{py:property} ancestorArcroles :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.ancestorArcroles :type: tuple[str, str, str, str] ```` ````{py:method} filteredFacts(xpCtx: arelle.formula.XPathContext.XPathContext, facts: collections.abc.Iterable[arelle.ModelInstanceObject.ModelFact]) -> set[arelle.ModelInstanceObject.ModelFact] :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.filteredFacts ```` ````{py:property} childrenCoverSameAspects :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.childrenCoverSameAspects :type: bool ```` ````{py:attribute} aspectModel :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.aspectModel :value: > 'dimensional' ```` ````{py:property} isMerged :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.isMerged :type: bool ```` ````{py:property} parentTableNode :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.parentTableNode :type: arelle.ModelRenderingObject.DefnMdlTable | None ```` ````{py:method} aspectValueDependsOnVars(aspect: typing.Any) -> bool :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.aspectValueDependsOnVars ```` ````{py:property} variablename :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.variablename :type: str | None ```` ````{py:property} variableQname :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.variableQname :type: arelle.ModelValue.QName | None ```` ````{py:method} aspectValue(xpCtx: arelle.formula.XPathContext.XPathContext, aspect: int, inherit: bool = True) -> list[typing.Any] | None :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.aspectValue ```` ````{py:property} constraintSets :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.constraintSets :type: dict[None, typing_extensions.Self] ```` ````{py:property} tagSelector :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.tagSelector :type: str | None ```` ````{py:property} valueExpression :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.valueExpression :type: str | None ```` ````{py:property} hasValueExpression :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.hasValueExpression :type: bool ```` ````{py:method} evalValueExpression(xpCtx: arelle.formula.XPathContext.XPathContext, fact: arelle.formula.XPathContext.ContextItem) -> typing.Any :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.evalValueExpression ```` ````{py:property} definitionNodeView :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.definitionNodeView :type: str ```` ````{py:property} definitionLabelsView :canonical: arelle.ModelRenderingObject.DefnMdlConceptRelationshipNode.definitionLabelsView :type: tuple[tuple[str, str], ...] ```` ````` `````{py:class} DefnMdlDimensionRelationshipNode :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode Bases: {py:obj}`arelle.ModelRenderingObject.DefnMdlRelationshipNode` ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode ``` ````{py:attribute} strctMdlRollupType :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.strctMdlRollupType :value: > None ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.strctMdlRollupType ``` ```` ````{py:method} init(modelDocument: arelle.ModelDocument.ModelDocument) -> None :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.init ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.init ``` ```` ````{py:method} hasAspect(structuralNode: arelle.ModelRenderingObject.StrctMdlStructuralNode, aspect: int) -> bool :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.hasAspect ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.hasAspect ``` ```` ````{py:method} aspectValue(xpCtx: arelle.formula.XPathContext.XPathContext, aspect: int, inherit: bool = False) -> typing.Any :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.aspectValue ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.aspectValue ``` ```` ````{py:method} aspectsCovered() -> set[arelle.ModelValue.QName | None] :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.aspectsCovered ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.aspectsCovered ``` ```` ````{py:property} dimensionQname :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.dimensionQname :type: arelle.ModelValue.QName | None ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.dimensionQname ``` ```` ````{py:method} compile() -> None :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.compile ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.compile ``` ```` ````{py:method} variableRefs(progs: arelle.formula.XPathParser.RecursiveFormulaTokens = [], varRefSet: set[arelle.ModelValue.QName] | None = None) -> set[arelle.ModelValue.QName] :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.variableRefs ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.variableRefs ``` ```` ````{py:method} evalDimensionQname(xpCtx: typing.Any, fact: typing.Any = None) -> arelle.ModelValue.QName | None :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.evalDimensionQname ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.evalDimensionQname ``` ```` ````{py:property} isOrSelfAxis :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.isOrSelfAxis :type: bool ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.isOrSelfAxis ``` ```` ````{py:method} coveredAspect(structuralNode: arelle.ModelRenderingObject.StrctMdlStructuralNode | None = None) -> typing.Any :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.coveredAspect ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.coveredAspect ``` ```` ````{py:method} relationships(structuralNode: arelle.ModelRenderingObject.StrctMdlStructuralNode, **kwargs: typing.Any) -> typing.Any :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.relationships ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.relationships ``` ```` ````{py:method} dimRelationships(structuralNode: arelle.ModelRenderingObject.StrctMdlStructuralNode, getMembers: bool = False, getDimQname: bool = False) -> typing.Any :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.dimRelationships ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.dimRelationships ``` ```` ````{py:property} conceptQname :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.conceptQname :type: arelle.ModelValue.QName | None ```` ````{py:property} linkrole :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.linkrole :type: str | None ```` ````{py:property} formulaAxis :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.formulaAxis :type: str | None ```` ````{py:property} generations :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.generations :type: int ```` ````{py:property} relationshipSourceQnamesAndExpressions :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.relationshipSourceQnamesAndExpressions :type: list[str | arelle.ModelValue.QName | None] ```` ````{py:property} linkroleExpression :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.linkroleExpression :type: str | None ```` ````{py:property} formulaAxisExpression :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.formulaAxisExpression :type: str | None ```` ````{py:property} generationsExpression :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.generationsExpression :type: str | None ```` ````{py:method} evalRrelationshipSourceQnames(xpCtx: arelle.formula.XPathContext.XPathContext, fact: arelle.formula.XPathContext.ContextItem = None) -> list[typing.Any] :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.evalRrelationshipSourceQnames ```` ````{py:method} evalLinkrole(xpCtx: arelle.formula.XPathContext.XPathContext, fact: arelle.formula.XPathContext.ContextItem = None) -> typing.Any :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.evalLinkrole ```` ````{py:method} evalFormulaAxis(xpCtx: arelle.formula.XPathContext.XPathContext, fact: arelle.formula.XPathContext.ContextItem = None) -> typing.Any :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.evalFormulaAxis ```` ````{py:method} evalGenerations(xpCtx: arelle.formula.XPathContext.XPathContext, fact: arelle.formula.XPathContext.ContextItem = None) -> typing.Any :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.evalGenerations ```` ````{py:method} cardinalityAndDepth(structuralNode: arelle.ModelRenderingObject.StrctMdlNode, **kwargs: typing.Any) -> tuple[int, int] :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.cardinalityAndDepth ```` ````{py:method} lenDepth(nestedRelationships: collections.abc.Iterable[typing.Any], includeSelf: bool) -> tuple[int, int] :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.lenDepth ```` ````{py:property} propertyView :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.propertyView :type: tuple[tuple[str, str | None], ...] ```` ````{py:property} abstract :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.abstract :type: str | None ```` ````{py:property} isAbstract :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.isAbstract :type: bool ```` ````{py:property} parentChildOrder :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.parentChildOrder :type: str | None ```` ````{py:property} descendantArcroles :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.descendantArcroles :type: tuple[str, str] ```` ````{py:property} ancestorArcroles :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.ancestorArcroles :type: tuple[str, str, str, str] ```` ````{py:method} filteredFacts(xpCtx: arelle.formula.XPathContext.XPathContext, facts: collections.abc.Iterable[arelle.ModelInstanceObject.ModelFact]) -> set[arelle.ModelInstanceObject.ModelFact] :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.filteredFacts ```` ````{py:property} childrenCoverSameAspects :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.childrenCoverSameAspects :type: bool ```` ````{py:attribute} aspectModel :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.aspectModel :value: > 'dimensional' ```` ````{py:property} isMerged :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.isMerged :type: bool ```` ````{py:property} parentTableNode :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.parentTableNode :type: arelle.ModelRenderingObject.DefnMdlTable | None ```` ````{py:method} aspectValueDependsOnVars(aspect: typing.Any) -> bool :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.aspectValueDependsOnVars ```` ````{py:property} variablename :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.variablename :type: str | None ```` ````{py:property} variableQname :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.variableQname :type: arelle.ModelValue.QName | None ```` ````{py:property} constraintSets :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.constraintSets :type: dict[None, typing_extensions.Self] ```` ````{py:property} tagSelector :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.tagSelector :type: str | None ```` ````{py:property} valueExpression :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.valueExpression :type: str | None ```` ````{py:property} hasValueExpression :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.hasValueExpression :type: bool ```` ````{py:method} evalValueExpression(xpCtx: arelle.formula.XPathContext.XPathContext, fact: arelle.formula.XPathContext.ContextItem) -> typing.Any :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.evalValueExpression ```` ````{py:property} definitionNodeView :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.definitionNodeView :type: str ```` ````{py:property} definitionLabelsView :canonical: arelle.ModelRenderingObject.DefnMdlDimensionRelationshipNode.definitionLabelsView :type: tuple[tuple[str, str], ...] ```` ````` ````{py:data} coveredAspectToken :canonical: arelle.ModelRenderingObject.coveredAspectToken :value: > None ```{autodoc2-docstring} arelle.ModelRenderingObject.coveredAspectToken ``` ```` `````{py:class} DefnMdlOpenDefinitionNode :canonical: arelle.ModelRenderingObject.DefnMdlOpenDefinitionNode Bases: {py:obj}`arelle.ModelRenderingObject.DefnMdlDefinitionNode` ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlOpenDefinitionNode ``` ````{py:attribute} strctMdlRollupType :canonical: arelle.ModelRenderingObject.DefnMdlOpenDefinitionNode.strctMdlRollupType :value: > None ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlOpenDefinitionNode.strctMdlRollupType ``` ```` ````{py:method} init(modelDocument: arelle.ModelDocument.ModelDocument) -> None :canonical: arelle.ModelRenderingObject.DefnMdlOpenDefinitionNode.init ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlOpenDefinitionNode.init ``` ```` ````{py:property} childrenCoverSameAspects :canonical: arelle.ModelRenderingObject.DefnMdlOpenDefinitionNode.childrenCoverSameAspects :type: bool ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlOpenDefinitionNode.childrenCoverSameAspects ``` ```` ````{py:attribute} aspectModel :canonical: arelle.ModelRenderingObject.DefnMdlOpenDefinitionNode.aspectModel :value: > 'dimensional' ```` ````{py:property} isMerged :canonical: arelle.ModelRenderingObject.DefnMdlOpenDefinitionNode.isMerged :type: bool ```` ````{py:property} parentTableNode :canonical: arelle.ModelRenderingObject.DefnMdlOpenDefinitionNode.parentTableNode :type: arelle.ModelRenderingObject.DefnMdlTable | None ```` ````{py:property} descendantArcroles :canonical: arelle.ModelRenderingObject.DefnMdlOpenDefinitionNode.descendantArcroles :type: tuple[str, str] ```` ````{py:method} hasAspect(structuralNode: arelle.ModelRenderingObject.StrctMdlStructuralNode, aspect: int) -> bool :canonical: arelle.ModelRenderingObject.DefnMdlOpenDefinitionNode.hasAspect ```` ````{py:method} aspectValueDependsOnVars(aspect: typing.Any) -> bool :canonical: arelle.ModelRenderingObject.DefnMdlOpenDefinitionNode.aspectValueDependsOnVars ```` ````{py:property} variablename :canonical: arelle.ModelRenderingObject.DefnMdlOpenDefinitionNode.variablename :type: str | None ```` ````{py:property} variableQname :canonical: arelle.ModelRenderingObject.DefnMdlOpenDefinitionNode.variableQname :type: arelle.ModelValue.QName | None ```` ````{py:method} aspectValue(xpCtx: arelle.formula.XPathContext.XPathContext, aspect: int, inherit: bool = True) -> list[typing.Any] | None :canonical: arelle.ModelRenderingObject.DefnMdlOpenDefinitionNode.aspectValue ```` ````{py:method} aspectsCovered() -> set[typing.Any] :canonical: arelle.ModelRenderingObject.DefnMdlOpenDefinitionNode.aspectsCovered ```` ````{py:property} constraintSets :canonical: arelle.ModelRenderingObject.DefnMdlOpenDefinitionNode.constraintSets :type: dict[None, typing_extensions.Self] ```` ````{py:property} tagSelector :canonical: arelle.ModelRenderingObject.DefnMdlOpenDefinitionNode.tagSelector :type: str | None ```` ````{py:property} valueExpression :canonical: arelle.ModelRenderingObject.DefnMdlOpenDefinitionNode.valueExpression :type: str | None ```` ````{py:property} hasValueExpression :canonical: arelle.ModelRenderingObject.DefnMdlOpenDefinitionNode.hasValueExpression :type: bool ```` ````{py:method} compile() -> None :canonical: arelle.ModelRenderingObject.DefnMdlOpenDefinitionNode.compile ```` ````{py:method} evalValueExpression(xpCtx: arelle.formula.XPathContext.XPathContext, fact: arelle.formula.XPathContext.ContextItem) -> typing.Any :canonical: arelle.ModelRenderingObject.DefnMdlOpenDefinitionNode.evalValueExpression ```` ````{py:property} isAbstract :canonical: arelle.ModelRenderingObject.DefnMdlOpenDefinitionNode.isAbstract :type: bool ```` ````{py:method} cardinalityAndDepth(structuralNode: arelle.ModelRenderingObject.StrctMdlNode, **kwargs: typing.Any) -> tuple[int, int] :canonical: arelle.ModelRenderingObject.DefnMdlOpenDefinitionNode.cardinalityAndDepth ```` ````{py:property} definitionNodeView :canonical: arelle.ModelRenderingObject.DefnMdlOpenDefinitionNode.definitionNodeView :type: str ```` ````{py:property} definitionLabelsView :canonical: arelle.ModelRenderingObject.DefnMdlOpenDefinitionNode.definitionLabelsView :type: tuple[tuple[str, str], ...] ```` ````{py:property} parentChildOrder :canonical: arelle.ModelRenderingObject.DefnMdlOpenDefinitionNode.parentChildOrder :type: str | None ```` ````` ````{py:data} aspectNodeAspectCovered :canonical: arelle.ModelRenderingObject.aspectNodeAspectCovered :value: > None ```{autodoc2-docstring} arelle.ModelRenderingObject.aspectNodeAspectCovered ``` ```` `````{py:class} DefnMdlAspectNode :canonical: arelle.ModelRenderingObject.DefnMdlAspectNode Bases: {py:obj}`arelle.ModelRenderingObject.DefnMdlOpenDefinitionNode` ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlAspectNode ``` ````{py:attribute} includeUnreportedValue :canonical: arelle.ModelRenderingObject.DefnMdlAspectNode.includeUnreportedValue :type: bool :value: > None ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlAspectNode.includeUnreportedValue ``` ```` ````{py:method} init(modelDocument: arelle.ModelDocument.ModelDocument) -> None :canonical: arelle.ModelRenderingObject.DefnMdlAspectNode.init ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlAspectNode.init ``` ```` ````{py:property} descendantArcroles :canonical: arelle.ModelRenderingObject.DefnMdlAspectNode.descendantArcroles :type: tuple[str, str, str, str] ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlAspectNode.descendantArcroles ``` ```` ````{py:property} filterRelationships :canonical: arelle.ModelRenderingObject.DefnMdlAspectNode.filterRelationships :type: list[arelle.ModelDtsObject.ModelRelationship | arelle.ModelFormulaObject.ModelConceptName] ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlAspectNode.filterRelationships ``` ```` ````{py:method} hasAspect(structuralNode: arelle.ModelRenderingObject.StrctMdlStructuralNode, aspect: int) -> bool :canonical: arelle.ModelRenderingObject.DefnMdlAspectNode.hasAspect ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlAspectNode.hasAspect ``` ```` ````{py:method} aspectsCovered(varBinding: arelle.formula.FormulaEvaluator.VariableBinding | None = None) -> set[int | arelle.ModelValue.QName] :canonical: arelle.ModelRenderingObject.DefnMdlAspectNode.aspectsCovered ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlAspectNode.aspectsCovered ``` ```` ````{py:method} aspectValue(xpCtx: arelle.formula.XPathContext.XPathContext, aspect: int, inherit: bool = False) -> set[arelle.ModelValue.QName] | None :canonical: arelle.ModelRenderingObject.DefnMdlAspectNode.aspectValue ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlAspectNode.aspectValue ``` ```` ````{py:method} filteredFactsPartitions(xpCtx: arelle.formula.XPathContext.XPathContext, facts: collections.abc.Iterable[arelle.ModelInstanceObject.ModelFact]) -> typing.Any :canonical: arelle.ModelRenderingObject.DefnMdlAspectNode.filteredFactsPartitions ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlAspectNode.filteredFactsPartitions ``` ```` ````{py:property} propertyView :canonical: arelle.ModelRenderingObject.DefnMdlAspectNode.propertyView :type: tuple[tuple[str, str | None], ...] ```{autodoc2-docstring} arelle.ModelRenderingObject.DefnMdlAspectNode.propertyView ``` ```` ````{py:attribute} strctMdlRollupType :canonical: arelle.ModelRenderingObject.DefnMdlAspectNode.strctMdlRollupType :value: > None ```` ````{py:property} childrenCoverSameAspects :canonical: arelle.ModelRenderingObject.DefnMdlAspectNode.childrenCoverSameAspects :type: bool ```` ````{py:attribute} aspectModel :canonical: arelle.ModelRenderingObject.DefnMdlAspectNode.aspectModel :value: > 'dimensional' ```` ````{py:property} isMerged :canonical: arelle.ModelRenderingObject.DefnMdlAspectNode.isMerged :type: bool ```` ````{py:property} parentTableNode :canonical: arelle.ModelRenderingObject.DefnMdlAspectNode.parentTableNode :type: arelle.ModelRenderingObject.DefnMdlTable | None ```` ````{py:method} aspectValueDependsOnVars(aspect: typing.Any) -> bool :canonical: arelle.ModelRenderingObject.DefnMdlAspectNode.aspectValueDependsOnVars ```` ````{py:property} variablename :canonical: arelle.ModelRenderingObject.DefnMdlAspectNode.variablename :type: str | None ```` ````{py:property} variableQname :canonical: arelle.ModelRenderingObject.DefnMdlAspectNode.variableQname :type: arelle.ModelValue.QName | None ```` ````{py:property} constraintSets :canonical: arelle.ModelRenderingObject.DefnMdlAspectNode.constraintSets :type: dict[None, typing_extensions.Self] ```` ````{py:property} tagSelector :canonical: arelle.ModelRenderingObject.DefnMdlAspectNode.tagSelector :type: str | None ```` ````{py:property} valueExpression :canonical: arelle.ModelRenderingObject.DefnMdlAspectNode.valueExpression :type: str | None ```` ````{py:property} hasValueExpression :canonical: arelle.ModelRenderingObject.DefnMdlAspectNode.hasValueExpression :type: bool ```` ````{py:method} compile() -> None :canonical: arelle.ModelRenderingObject.DefnMdlAspectNode.compile ```` ````{py:method} evalValueExpression(xpCtx: arelle.formula.XPathContext.XPathContext, fact: arelle.formula.XPathContext.ContextItem) -> typing.Any :canonical: arelle.ModelRenderingObject.DefnMdlAspectNode.evalValueExpression ```` ````{py:property} isAbstract :canonical: arelle.ModelRenderingObject.DefnMdlAspectNode.isAbstract :type: bool ```` ````{py:method} cardinalityAndDepth(structuralNode: arelle.ModelRenderingObject.StrctMdlNode, **kwargs: typing.Any) -> tuple[int, int] :canonical: arelle.ModelRenderingObject.DefnMdlAspectNode.cardinalityAndDepth ```` ````{py:property} definitionNodeView :canonical: arelle.ModelRenderingObject.DefnMdlAspectNode.definitionNodeView :type: str ```` ````{py:property} definitionLabelsView :canonical: arelle.ModelRenderingObject.DefnMdlAspectNode.definitionLabelsView :type: tuple[tuple[str, str], ...] ```` ````{py:property} parentChildOrder :canonical: arelle.ModelRenderingObject.DefnMdlAspectNode.parentChildOrder :type: str | None ```` `````