This is the new way to define XML schemata; it is widely considered better than DTDs.

The major advantage it has is that it is an XML language itself, unlike DTDs, so that there is no separation between data and metadata (Which is one of the advantages of Lisp); the same tools can be used to manipulate both. This is elegant.

XSD is also powerful: it allows for extensible elements, so one xsd schema can declare an extension to elements declared in another.

While XSD could be used to describe non-xml data, the data-ontology is too restricted. Of course, you could define your own datatypes, because XML is eXtensible. Of course, to do any of this, you'd need to define your own (variant) semantics for xsd.

Check out and the w3c website:

Log in or register to write something here or to contact authors.