'Add <operation/> children'

def add_operations(self, root, definitions):

    dsop = Element('operation', ns=soapns)
    for c in root.getChildren('operation'):
        op = Facade('Operation')
        op.name = c.get('name')
        sop = c.getChild('operation', default=dsop)
        soap = Facade('soap')
        soap.action = ('"%s"' % sop.get('soapAction', default=''))
        soap.style = sop.get('style', default=self.soap.style)
        soap.input = Facade('Input')
        soap.input.body = Facade('Body')
        soap.input.headers = []
        soap.output = Facade('Output')
        soap.output.body = Facade('Body')
        soap.output.headers = []
        op.soap = soap
        input = c.getChild('input')
        if (input is None):
            input = Element('input', ns=wsdlns)
        body = input.getChild('body')
        self.body(definitions, soap.input.body, body)
        for header in input.getChildren('header'):
            self.header(definitions, soap.input, header)
        output = c.getChild('output')
        if (output is None):
            output = Element('output', ns=wsdlns)
        body = output.getChild('body')
        self.body(definitions, soap.output.body, body)
        for header in output.getChildren('header'):
            self.header(definitions, soap.output, header)
        faults = []
        for fault in c.getChildren('fault'):
            sf = fault.getChild('fault')
            if (sf is None):
                continue
            fn = fault.get('name')
            f = Facade('Fault')
            f.name = sf.get('name', default=fn)
            f.use = sf.get('use', default='literal')
            faults.append(f)
        soap.faults = faults
        self.operations[op.name] = op
