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