code: def build(self, name):
          "build an object for the specified typename as defined in the schema"
          if isinstance(name, basestring):
              type = self.resolver.find(name)
              if type is None:
                  raise TypeNotFound(name)
          else:
              type = name
          cls = type.name
          if type.mixed():
              data = Factory.property(cls)
          else:
              data = Factory.object(cls)
          resolved = type.resolve()
          md = data.__metadata__
          md.sxtype = resolved
          md.ordering = self.ordering(resolved)
          history = []
          self.add_attributes(data, resolved)
          for child, ancestry in type.children():
              if self.skip_child(child, ancestry):
                  continue
              self.process(data, child, history[:])
          return datf build(self, name):
          "build an object for the specified typename as defined in the schema"
          if isinstance(name, basestring):
              type = self.resolver.find(name)
              if type is None:
                  raise TypeNotFound(name)
          else:
              type = name
          cls = type.name
          if type.mixed():
              data = Factory.property(cls)
          else:
              data = Factory.object(cls)
          resolved = type.resolve()
          md = data.__metadata__
          md.sxtype = resolved
          md.ordering = self.ordering(resolved)
          history = []
          self.add_attributes(data, resolved)
          for child, ancestry in type.children():
              if self.skip_child(child, ancestry):
                  continue
              self.process(data, child, history[:])
          return data
docs: build an object for the specified typename as defined in the schema