# {py:mod}`arelle.ModelObjectFactory` ```{py:module} arelle.ModelObjectFactory ``` ```{autodoc2-docstring} arelle.ModelObjectFactory :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`KnownNamespacesModelObjectClassLookup ` - ```{autodoc2-docstring} arelle.ModelObjectFactory.KnownNamespacesModelObjectClassLookup :summary: ``` * - {py:obj}`DiscoveringClassLookup ` - ```{autodoc2-docstring} arelle.ModelObjectFactory.DiscoveringClassLookup :summary: ``` ```` ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`parser ` - ```{autodoc2-docstring} arelle.ModelObjectFactory.parser :summary: ``` * - {py:obj}`setParserElementClassLookup ` - ```{autodoc2-docstring} arelle.ModelObjectFactory.setParserElementClassLookup :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`elementSubstitutionModelClass ` - ```{autodoc2-docstring} arelle.ModelObjectFactory.elementSubstitutionModelClass :summary: ``` * - {py:obj}`ModelDocument ` - ```{autodoc2-docstring} arelle.ModelObjectFactory.ModelDocument :summary: ``` * - {py:obj}`ModelFact ` - ```{autodoc2-docstring} arelle.ModelObjectFactory.ModelFact :summary: ``` * - {py:obj}`SCHEMA ` - ```{autodoc2-docstring} arelle.ModelObjectFactory.SCHEMA :summary: ``` * - {py:obj}`LINKBASE ` - ```{autodoc2-docstring} arelle.ModelObjectFactory.LINKBASE :summary: ``` * - {py:obj}`VERSIONINGREPORT ` - ```{autodoc2-docstring} arelle.ModelObjectFactory.VERSIONINGREPORT :summary: ``` * - {py:obj}`RSSFEED ` - ```{autodoc2-docstring} arelle.ModelObjectFactory.RSSFEED :summary: ``` ```` ### API ````{py:data} elementSubstitutionModelClass :canonical: arelle.ModelObjectFactory.elementSubstitutionModelClass :type: dict[typing.Optional[arelle.ModelValue.QName], typing.Type[arelle.ModelObject.ModelObject]] :value: > None ```{autodoc2-docstring} arelle.ModelObjectFactory.elementSubstitutionModelClass ``` ```` ````{py:data} ModelDocument :canonical: arelle.ModelObjectFactory.ModelDocument :type: typing.Any :value: > None ```{autodoc2-docstring} arelle.ModelObjectFactory.ModelDocument ``` ```` ````{py:data} ModelFact :canonical: arelle.ModelObjectFactory.ModelFact :type: typing.Any :value: > None ```{autodoc2-docstring} arelle.ModelObjectFactory.ModelFact ``` ```` ````{py:function} parser(modelXbrl: arelle.ModelXbrl.ModelXbrl, baseUrl: str | None, target: None = None) -> tuple[lxml.etree.XMLParser, KnownNamespacesModelObjectClassLookup, DiscoveringClassLookup] :canonical: arelle.ModelObjectFactory.parser ```{autodoc2-docstring} arelle.ModelObjectFactory.parser ``` ```` ````{py:function} setParserElementClassLookup(_parser: lxml.etree.XMLParser, modelXbrl: arelle.ModelXbrl.ModelXbrl, baseUrl: str | None = None) -> tuple[lxml.etree.XMLParser, KnownNamespacesModelObjectClassLookup, DiscoveringClassLookup] :canonical: arelle.ModelObjectFactory.setParserElementClassLookup ```{autodoc2-docstring} arelle.ModelObjectFactory.setParserElementClassLookup ``` ```` ````{py:data} SCHEMA :canonical: arelle.ModelObjectFactory.SCHEMA :value: > 1 ```{autodoc2-docstring} arelle.ModelObjectFactory.SCHEMA ``` ```` ````{py:data} LINKBASE :canonical: arelle.ModelObjectFactory.LINKBASE :value: > 2 ```{autodoc2-docstring} arelle.ModelObjectFactory.LINKBASE ``` ```` ````{py:data} VERSIONINGREPORT :canonical: arelle.ModelObjectFactory.VERSIONINGREPORT :value: > 3 ```{autodoc2-docstring} arelle.ModelObjectFactory.VERSIONINGREPORT ``` ```` ````{py:data} RSSFEED :canonical: arelle.ModelObjectFactory.RSSFEED :value: > 4 ```{autodoc2-docstring} arelle.ModelObjectFactory.RSSFEED ``` ```` `````{py:class} KnownNamespacesModelObjectClassLookup(modelXbrl: arelle.ModelXbrl.ModelXbrl, fallback: lxml.etree.ElementClassLookup | None = None) :canonical: arelle.ModelObjectFactory.KnownNamespacesModelObjectClassLookup Bases: {py:obj}`lxml.etree.CustomElementClassLookup` ```{autodoc2-docstring} arelle.ModelObjectFactory.KnownNamespacesModelObjectClassLookup ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.ModelObjectFactory.KnownNamespacesModelObjectClassLookup.__init__ ``` ````{py:method} lookup(node_type: str, document: lxml.etree._Document, ns: str | None, ln: str) -> typing.Type[lxml.etree.ElementBase] | None :canonical: arelle.ModelObjectFactory.KnownNamespacesModelObjectClassLookup.lookup ```{autodoc2-docstring} arelle.ModelObjectFactory.KnownNamespacesModelObjectClassLookup.lookup ``` ```` ````` `````{py:class} DiscoveringClassLookup(modelXbrl: arelle.ModelXbrl.ModelXbrl, baseUrl: str | None, fallback: lxml.etree.ElementClassLookup | None = None) :canonical: arelle.ModelObjectFactory.DiscoveringClassLookup Bases: {py:obj}`lxml.etree.PythonElementClassLookup` ```{autodoc2-docstring} arelle.ModelObjectFactory.DiscoveringClassLookup ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.ModelObjectFactory.DiscoveringClassLookup.__init__ ``` ````{py:method} lookup(document: lxml.etree._Document, proxyElement: lxml.etree._Element) -> typing.Type[arelle.ModelObject.ModelObject] :canonical: arelle.ModelObjectFactory.DiscoveringClassLookup.lookup ```{autodoc2-docstring} arelle.ModelObjectFactory.DiscoveringClassLookup.lookup ``` ```` `````