Parses <ConditionalDerivedVariable>

        @param node: Node containing the <ConditionalDerivedVariable> element
        @type node: xml.etree.Element

        @raise ParseError: Raised when no name or value is specified for the conditional derived variable.

def parse_conditional_derived_variable(self, node):
        """
        Parses <ConditionalDerivedVariable>

        @param node: Node containing the <ConditionalDerivedVariable> element
        @type node: xml.etree.Element

        @raise ParseError: Raised when no name or value is specified for the conditional derived variable.
        """

        if 'name' in node.lattrib:
            name = node.lattrib['name']
        elif 'exposure' in node.lattrib:
            name = node.lattrib['exposure']
        else:
            self.raise_error('<ConditionalDerivedVariable> must specify a name')
            
        if 'exposure' in node.lattrib:
            exposure = node.lattrib['exposure']
        else:
            exposure = None
            
        if 'dimension' in node.lattrib:
            dimension = node.lattrib['dimension']
        else:
            dimension = None

        conditional_derived_variable = ConditionalDerivedVariable(name, dimension, exposure)
        
        self.current_regime.add_conditional_derived_variable(conditional_derived_variable)
        
        self.current_conditional_derived_variable = conditional_derived_variable
        
        self.process_nested_tags(node)