'Handle a children match
:param child:
:type child:
:param yield_children:
:type yield_children:
:return:
:rtype:'

def _match_child(self, child, yield_children):

    if ((len(child) < 0) or (child.value == '')):
        return False
    pattern_value = get_first_defined(self.values, [child.name, '__children__', None], self._default_value)
    if pattern_value:
        child.value = pattern_value
    if (yield_children or self.format_all):
        child.formatter = get_first_defined(self.formatters, [child.name, '__children__', None], self._default_formatter)
    if (yield_children or self.validate_all):
        validator = get_first_defined(self.validators, [child.name, '__children__', None], self._default_validator)
        if (validator and (not validator(child))):
            return False
    return True
