XML schema
There are several different languages available for specifying an XML schema. Each language has its strengths and weaknesses.