def deserialize_condition(self, workflow, start_node):
<EOL>condition = None<EOL>spec_name = None<EOL>for node in start_node.childNodes:<EOL><INDENT>if node.nodeType != minidom.Node.ELEMENT_NODE:<EOL><INDENT>continue<EOL><DEDENT>if node.nodeName.lower() == '<STR_LIT>':<EOL><INDENT>if spec_name is not None:<EOL><INDENT>_exc('<STR_LIT>' % spec_name)<EOL><DEDENT>if node.firstChild is None:<EOL><INDENT>_exc('<STR_LIT>')<EOL><DEDENT>spec_name = node.firstChild.nodeValue<EOL><DEDENT>elif node.nodeName.lower() in _op_map:<EOL><INDENT>if condition is not None:<EOL><INDENT>_exc('<STR_LIT>')<EOL><DEDENT>condition = self.deserialize_logical(node)<EOL><DEDENT>else:<EOL><INDENT>_exc('<STR_LIT>' % node.nodeName)<EOL><DEDENT><DEDENT>if condition is None:<EOL><INDENT>_exc('<STR_LIT>')<EOL><DEDENT>if spec_name is None:<EOL><INDENT>_exc('<STR_LIT>' % start_node.nodeName)<EOL><DEDENT>return condition, spec_name<EOL>
Reads the conditional statement from the given node.

workflow -- the workflow with which the concurrence is associated
start_node -- the xml structure (xml.dom.minidom.Node)