コード例 #1
0
ファイル: _base.py プロジェクト: jhafeeza/soaplib
    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
コード例 #2
0
ファイル: _base.py プロジェクト: jhafeeza/soaplib
 def __init__(self, app):
     self.namespaces = odict()
     self.imports = odict()
     self.tns = app.get_tns()
     self.app = app
     self.classes = odict()
コード例 #3
0
ファイル: _base.py プロジェクト: jhafeeza/soaplib
 def __init__(self):
     self.elements = odict()
     self.types = odict()