def schemaDiscoverChildElements(self, parentElement): for element in parentElement.childNodes: if element.nodeType == 1: #element ln = element.localName ns = element.namespaceURI modelObject = None if ns == XbrlConst.link: if ln == "roleType": modelObject = ModelObject.create(self, element) self.modelXbrl.roleTypes[modelObject.roleURI].append(modelObject) elif ln == "arcroleType": modelObject = ModelObject.create(self, element) self.modelXbrl.arcroleTypes[modelObject.arcroleURI].append(modelObject) elif ln == "linkbaseRef": self.schemaLinkbaseRefDiscover(element) elif ln == "linkbase": self.linkbaseDiscover(element) elif ns == XbrlConst.xsd: if ln in xsdModelObjects: modelObject = ModelObject.create(self, element) elif ln == "import" or ln == "include": self.importDiscover(element) # save document objects indexed by id if modelObject is not None and element.hasAttribute("id"): self.idObjects[element.getAttribute("id")] = modelObject # recurse to children self.schemaDiscoverChildElements(element)
def schemaDiscoverChildElements(self, parentElement): for element in parentElement.childNodes: if element.nodeType == 1: #element ln = element.localName ns = element.namespaceURI modelObject = None if ns == XbrlConst.link: if ln == "roleType": modelObject = ModelObject.create(self, element) self.modelXbrl.roleTypes[modelObject.roleURI].append( modelObject) elif ln == "arcroleType": modelObject = ModelObject.create(self, element) self.modelXbrl.arcroleTypes[ modelObject.arcroleURI].append(modelObject) elif ln == "linkbaseRef": self.schemaLinkbaseRefDiscover(element) elif ln == "linkbase": self.linkbaseDiscover(element) elif ns == XbrlConst.xsd: if ln in xsdModelObjects: modelObject = ModelObject.create(self, element) elif ln == "import" or ln == "include": self.importDiscover(element) # save document objects indexed by id if modelObject is not None and element.hasAttribute("id"): self.idObjects[element.getAttribute("id")] = modelObject # recurse to children self.schemaDiscoverChildElements(element)