XML Schema can perform more complex validations. For example if DTD can check if the datatype of an XML element is integer or string.
Whereas XML schema can perform more complicated validations like if the xml element is a string starting with uppercase letter or a positve integer.
Finally XML schema uses XML syntax and its a natural choice for development of web services.