RELAX NG has no ability to apply default attribute data to an element's list of attributes (i.e., changing the XML info set), while W3C XML Schema does.Again, this design is intentional and is to separate validation and augmentation.Validation of an instance document against a schema can be regarded as a conceptually separate operation from XML parsing.In practice, however, many schema validators are integrated with an XML parser.The W3C XML Schema language in particular can be quite verbose, while a DTD can be terse and relatively easily editable.Likewise, WXS's formal mechanism for associating a document with a schema can pose a potential security problem.All XML documents must be well-formed, but it is not required that a document be valid unless the XML parser is "validating", in which case the document is also checked for conformance with its associated schema.
The process of checking to see if a XML document conforms to a schema is called validation, which is separate from XML's core concept of syntactic well-formedness.
DTDs are perhaps the most widely supported schema language for XML.
Because DTDs are one of the earliest schema languages for XML, defined before XML even had namespace support, they are widely supported.
There are several different languages available for specifying an XML schema. The primary purpose of a schema language is to specify what the structure of an XML document can be.
This means which elements can reside in which other elements, which attributes are and are not legal to have on a particular element, and so forth.