def __init__(self, root, definitions): """ @param root: An XML root element. @type root: L{Element} @param definitions: A definitions object. @type definitions: L{Definitions} """ NamedObject.__init__(self, root, definitions) self.operations = {} for c in root.getChildren("operation"): op = Facade("Operation") op.name = c.get("name") op.tns = definitions.tns input = c.getChild("input") if input is None: op.input = None else: op.input = input.get("message") output = c.getChild("output") if output is None: op.output = None else: op.output = output.get("message") faults = [] for fault in c.getChildren("fault"): f = Facade("Fault") f.name = fault.get("name") f.message = fault.get("message") faults.append(f) op.faults = faults self.operations[op.name] = op
def header(self, definitions, parent, root): """Add the input/output header properties.""" if root is None: return header = Facade("Header") parent.headers.append(header) header.use = root.get("use", default="literal") ns = root.get("namespace") if ns is None: header.namespace = definitions.tns else: prefix = root.findPrefix(ns, "h0") header.namespace = (prefix, ns) msg = root.get("message") if msg is not None: header.message = msg part = root.get("part") if part is not None: header.part = part
def header(self, definitions, parent, root): """ add the input/output header properties """ if root is None: return header = Facade('Header') parent.headers.append(header) header.use = root.get('use', default='literal') ns = root.get('namespace') if ns is None: header.namespace = definitions.tns else: prefix = root.findPrefix(ns, 'h0') header.namespace = (prefix, ns) msg = root.get('message') if msg is not None: header.message = msg part = root.get('part') if part is not None: header.part = part