def typeQname(self): try: return self._typeQname except AttributeError: if self.get("type"): self._typeQname = self.prefixedNameQname(self.get("type")) else: # check if anonymous type exists (clark qname tag + suffix) qn = self.qname if qn is not None: typeQname = ModelValue.QName( qn.prefix, qn.namespaceURI, qn.localName + anonymousTypeSuffix) else: typeQname = None if typeQname in self.modelXbrl.qnameTypes: self._typeQname = typeQname else: # try substitution group for type subs = self.substitutionGroup if subs is not None: self._typeQname = subs.typeQname else: self._typeQname = XbrlConst.qnXsdDefaultType return self._typeQname
def qname(self): try: return self._xsdQname except AttributeError: name = self.name if self.name: if self.parentQname == XbrlConst.qnXsdSchema or self.isQualifiedForm: prefix = XmlUtil.xmlnsprefix( self.modelDocument.xmlRootElement, self.modelDocument.targetNamespace) self._xsdQname = ModelValue.QName( prefix, self.modelDocument.targetNamespace, name) else: self._xsdQname = ModelValue.QName(None, None, name) else: self._xsdQname = None return self._xsdQname