just passing and saw the ref to xlinkit. actually xlinkit is a multipurpose semantic validator. you define your own validation rules and can check if they hold across distributed and heterogeneous content. gives very precise diagnosis. the uml checker is just a demo of the power. basically the most powerful validation engine available (note: I am biased as I am a member of the xlinkit team)