xml-psychiatrist has a number of interesting features:
- Basic structural validation
- Regular expressions for matching things
- Type checking using the Common Lisp type system
- Namespace support (still relatively experimental, since I have never
found much use for XML namespaces and therefore have never used them much).
- The full power of Common Lisp. You can define your own functions for
validating data (see 3), or you can even extend
the framework itself (see 4).