in reply to How to implement XML languages

What about schema checking?

While not answering your entire question I thought I'd point out Andy Wardley's XML::Schema

-- vek --