def baseXsdType(self): try: return self._baseXsdType except AttributeError: if self.qname == XbrlConst.qnXbrliDateUnion: return "XBRLI_DATEUNION" elif self.qname == XbrlConst.qnXbrliDecimalsUnion: return "XBRLI_DECIMALSUNION" elif self.qname == XbrlConst.qnXbrliPrecisionUnion: return "XBRLI_PRECISIONUNION" elif self.qname == XbrlConst.qnXbrliNonZeroDecimalUnion: return "XBRLI_NONZERODECIMAL" qnameDerivedFrom = self.qnameDerivedFrom if qnameDerivedFrom is None: # want None if base type has no content (not mixed content, TBD) #self._baseXsdType = "anyType" self._baseXsdType = "noContent" elif qnameDerivedFrom.namespaceURI == XbrlConst.xsd: self._baseXsdType = qnameDerivedFrom.localName else: typeDerivedFrom = self.modelXbrl.qnameTypes.get(qnameDerivedFrom) #assert typeDerivedFrom is not None, _("Unable to determine derivation of {0}").format(qnameDerivedFrom) self._baseXsdType = typeDerivedFrom.baseXsdType if typeDerivedFrom is not None else "anyType" if self._baseXsdType == "anyType" and XmlUtil.emptyContentModel(self): self._baseXsdType = "noContent" return self._baseXsdType
def baseXsdType(self): try: return self._baseXsdType except AttributeError: if self.qname == XbrlConst.qnXbrliDateUnion: self._baseXsdType = "XBRLI_DATEUNION" elif self.qname == XbrlConst.qnXbrliDecimalsUnion: self._baseXsdType = "XBRLI_DECIMALSUNION" elif self.qname == XbrlConst.qnXbrliPrecisionUnion: self._baseXsdType = "XBRLI_PRECISIONUNION" elif self.qname == XbrlConst.qnXbrliNonZeroDecimalUnion: self._baseXsdType = "XBRLI_NONZERODECIMAL" else: qnameDerivedFrom = self.qnameDerivedFrom if qnameDerivedFrom is None: # want None if base type has no content (not mixed content, TBD) #self._baseXsdType = "anyType" self._baseXsdType = "noContent" elif isinstance(qnameDerivedFrom, list): # union if qnameDerivedFrom == XbrlConst.qnDateUnionXsdTypes: self._baseXsdType = "XBRLI_DATEUNION" # TBD implement union types else: self._baseXsdType == "anyType" elif qnameDerivedFrom.namespaceURI == XbrlConst.xsd: self._baseXsdType = qnameDerivedFrom.localName else: typeDerivedFrom = self.modelXbrl.qnameTypes.get( qnameDerivedFrom) #assert typeDerivedFrom is not None, _("Unable to determine derivation of {0}").format(qnameDerivedFrom) self._baseXsdType = typeDerivedFrom.baseXsdType if typeDerivedFrom is not None else "anyType" if self._baseXsdType == "anyType" and XmlUtil.emptyContentModel( self): self._baseXsdType = "noContent" return self._baseXsdType