def get_all_child_values(self, attribute=None): 
    """ Given id and attribute, returns a list of strings of non-identifier values from all WME's matching (self ^attribute value)
    
    If no attribute is specified, all child values (non-identifiers) are returned
    """
    child_values = []
    for index in range(self.GetNumberChildren()):
        wme = self.GetChild(index)
        if wme.IsIdentifier():
            continue
        if attribute == None or wme.GetAttribute() == attribute:
            child_values.append(wme.GetValueAsString())
    return child_values