Architecting and designing : XML schema design : XML history and topics of interest : What is an XML schema? : How DTDs differ from schemas
  
How DTDs differ from schemas
A DTD is for specifying the structure of an XML file: it gives the names of the elements, attributes, and entities that can be used, and how they fit together. Because DTDs are designed for use with text, they have no mechanism for defining the content of elements in terms of data types, because XML has no data types: text is just text. A DTD therefore cannot be used to specify numeric ranges or to define limitations or checks on the text content, only on the markup.
The XML Schema proposal provides a means of specifying element content in terms of data types, so that document type designers can provide criteria for validating the content of elements as well as the markup itself. Schemas are written as XML files, thus avoiding the need for processing software to be able to read XML Declaration Syntax, which is different from XML Instance Syntax.
Descriptions of data types
(Adapted from description found in MSDN and O’Reilly)
Primitive data types
Primitive data types are data types that are not defined in terms of other data types. The following list is of primitive data types as specified in Section 3.2 of the W3C XML 1.0 Recommendation
http://www.w3.org/TR/2000/WD-xmlschema-2-20000922/#built-in-primitive-datatypes
Review this recommendation for specifics on Lexical spaces, Value spaces, and constraints.
string
Represents a string data type.
id
Represents the XML ID type. Refers to a unique element identifier.
idref
Represents the XML IDREF type. Refers to the value of a unique ID type attribute.
idrefs
Represents the XML IDREFS type. Refers to multiple IDREFs of elements separated with spaces.
entity
Represents the XML IDREFS type. Refers to an entity declared in the schema.
entities
Represents the XML ENTITIES type. Refers to the multiple entities separated by with spaces.
nmtoken
Represents the XML NMTOKEN type. Refers to an XML name token.
nmtokens
Represents the XML NMTOKENS type. Refers to multiple XML name tokens separated with spaces.
notation
Represents the NOTATION type. Refers to a notation declared in the schema.
enumeration
Represents an enumerated data type. Valid only on Attributes.
See also
What is an XML schema?