def __build_schema_nodes(self, schema_entries, types=None): """Fill individual <schema> nodes for every service that are part of this app. """ #TODO: This is called by build_schema() # schema_entries is a type that is based on the services, types is # usually None schema_nodes = odict() for pref in schema_entries.namespaces: schema = self.__get_schema_node(pref, schema_nodes, types) # append import tags for namespace in schema_entries.imports[pref]: import_ = etree.SubElement(schema, "{%s}import"% namespaces.ns_xsd) import_.set("namespace", namespace) if types is None: import_.set('schemaLocation', "%s.xsd" % self.get_namespace_prefix(namespace)) # append simpleType and complexType tags for node in schema_entries.namespaces[pref].types.values(): schema.append(node) # append element tags for node in schema_entries.namespaces[pref].elements.values(): schema.append(node) return schema_nodes
def __init__(self, app): self.namespaces = odict() self.imports = odict() self.tns = app.get_tns() self.app = app self.classes = odict()
def __init__(self): self.elements = odict() self.types = odict()