I've used Trang and it's quite good: http://www.thaiopensource.com/relaxng/trang.html
I know there are other tools, but this one is open source and free. It's also o/s independent since it's java.
It's not great though. You really should define this first if possible.
Not exactly. There's quite a bit of le-way there. You should read about Trang. If you were right, nobody would ever have bothered and there are dozens of these out there, most proprietary.
Anyway, it provides a good starting point if you've found or inherited an already formatted xml file.