perhaps we could make each animal have a list of the other animals in it's xml that each have settings on how often they are attacked.
That might get a little cumbersome when you add new animals, because then you'd have to go through all the other xmls and change the lists.
How about classifications instead?
They could be tagged as "cowardly", "defensive", "territorial", or "belligerent". The cowardly ones would run away, while the defensive ones would fight back if they got attacked. Territorial creatures would attack if you got too close, and belligerent ones would attack on sight. Additional tags like "stationary" and "wandering" would help, as well as "predator", "prey", and "monster". These would work in combination, of course, so an ogre could be a wandering belligerent monster (roams around the map looking for somebody to kill) while a buffalo might be a stationary territorial prey (stays in one spot, but attacks if you get too close).