'Build an xsobject representation.
@param root: An schema XML root.
@type root: L{sax.element.Element}
@param filter: A tag filter.
@type filter: [str,...]
@return: A schema object graph.
@rtype: L{sxbase.SchemaObject}'

@classmethod
def build(cls, root, schema, filter=('*',)):

    children = []
    for node in root.getChildren(ns=Namespace.xsdns):
        if (('*' in filter) or (node.name in filter)):
            child = cls.create(node, schema)
            if (child is None):
                continue
            children.append(child)
            c = cls.build(node, schema, child.childtags())
            child.rawchildren = c
    return children
