Beispiel #1
0
 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
Beispiel #2
0
 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