docs: def _setContent(self):
          '''JRB What is the difference between instance data
          ns, name, -- type definition?
          sKlass, sKlassNS? -- element declaration?
          '''
          kw = KW.copy()
          definition = []
          if self._is_array:
              # SOAP-ENC:Array
              if _is_xsd_or_soap_ns(self.sKlassNS) is False and self.sKlass == 'Array':
                  raise ContainerError, 'unknown type: (%s,%s)'\
                      %(self.sKlass, self.sKlassNS)
                      
              # No need to xsi:type array items since specify with
              # SOAP-ENC:arrayType attribute.
              definition += [\
                  '%sclass %s(ZSI.TC.Array, TypeDefinition):' % (ID1, self.getClassName()),
                  '%s#complexType/complexContent base="SOAP-ENC:Array"' %(ID2),
                  '%s%s' % (ID2, self.schemaTag()),
                  '%s%s' % (ID2, self.typeTag()),
                  '%s%s' % (ID2, self.pnameConstructor()),
                  ]
  
              append = definition.append
              if  self._kw_array.get('ofwhat') is None:
                  append('%s%s.__init__(self, None, None, pname=pname, childnames=\'item\', undeclared=True, **kw)' %(ID3, self.sKlass))
              else:
                  append('%(id3)sofwhat = %(ofwhat)s(None, typed=False)' %self._kw_array)
                  append('%(id3)satype = %(atype)s' %self._kw_array)
                  append('%s%s.__init__(self, atype, ofwhat, pname=pname, childnames=\'item\', **kw)' %(ID3, self.sKlass))
  
              self.writeArray(definition)
              return
      
          definition += [\
              '%sclass %s(TypeDefinition):' % (ID1, self.getClassName()),
              '%s%s' % (ID2, self.schemaTag()),
              '%s%s' % (ID2, self.typeTag()),
              '%s%s' % (ID2, self.pnameConstructor()),
              '%s%s' % (ID3, self.nsuriLogic()),
              '%sTClist = [%s]' % (ID3, self.getTypecodeList()),
              ]
                  
          definition.append(
              '%(ID3)sattributes = %(atc)s = attributes or {}' %{
                  'ID3':ID3, 'atc':self.attribute_typecode}
          )
  
          #
          # Special case: anyType restriction
          isAnyType = (self.sKlassNS, self.sKlass) == (SCHEMA.XSD3, 'anyType')
          if isAnyType:
              del definition[0]
              definition.insert(0,
                  '%sclass %s(ZSI.TC.ComplexType, TypeDefinition):' % (
                               ID1, self.getClassName())
              )
              definition.insert(1, 
                  '%s#complexType/complexContent restrict anyType' %(
                                 ID2)
              )
          
          # derived type support
          definition.append('%sif extend: TClist += ofwhat'%(ID3))
          definition.append('%sif restrict: TClist = ofwhat' %(ID3))
          if len(self.attrComponents) > 0:
              definition.append('%selse:' %(ID3))
              for l in self.attrComponents: 
                  definition.append('%s%s'%(ID4, l))
                  
          if isAnyType:
              definition.append(\
                  '%sZSI.TC.ComplexType.__init__(self, None, TClist, pname=pname, **kw)' %(
                      ID3),
              )
              
              # pyclass class definition
              definition += self.getPyClassDefinition()
              kw['pyclass'] = self.getPyClass()
              definition.append('%(ID3)sself.pyclass = %(pyclass)s' %kw)  
              self.writeArray(definition)
              return
              
          definition.append('%s'   % self.getBasesLogic(ID3))
          prefix = NAD.getAlias(self.sKlassNS)
          typeClassName = type_class_name(self.sKlass)
          if self.restriction:
              definition.append(\
                  '%s%s.%s.__init__(self, pname, ofwhat=TClist, restrict=True, **kw)' %(
                      ID3, prefix, typeClassName),
              )
              definition.insert(1, '%s#complexType/complexContent restriction' %ID2)
              self.writeArray(definition)
              return
          
          if self.extension:
              definition.append(\
                  '%s%s.%s.__init__(self, pname, ofwhat=TClist, extend=True, attributes=attributes, **kw)'%(
                      ID3, prefix, typeClassName),
              )
              definition.insert(1, '%s#complexType/complexContent extension' %(ID2))
              self.writeArray(definition)
              return
              
          raise Wsdl2PythonError,\
              'ComplexContent must be a restriction or extension'