'Process L{Types} objects and create the schema collection'

def build_schema(self):

    container = SchemaCollection(self)
    for t in [t for t in self.types if t.local()]:
        for root in t.contents():
            schema = Schema(root, self.url, self.options, container)
            container.add(schema)
    if (not len(container)):
        root = Element.buildPath(self.root, 'types/schema')
        schema = Schema(root, self.url, self.options, container)
        container.add(schema)
    self.schema = container.load(self.options)
    for s in [t.schema() for t in self.types if t.imported()]:
        self.schema.merge(s)
    return self.schema
