An XML Schema is the World Wide Web Consortium’s (W3C) official XML document definition language. It addresses many shortcomings associated with Document Type Definitions (DTD) and has industry support from all major software corporations. An XML Schema is an XML document that defines the structure and allowable permutations that other XML documents can adopt in order to be considered a member of the common family of XML documents. Think of an XML Schema as metadata (essentially, data that describes data). As an analogy, think of how, in any object-oriented programming language, a class definition defines a family of objects or a relational database schema defines the data types and constraints to which a dataset must adhere to exist in a particular table. In both analogies, the class definition and relational database schema merely lay out some basic ground rules for restricting structure and data ranges, which in turn can be used in any application.
As previously mentioned, industry consortiums are joining together to develop XML Schemas that define common file formats for describing mathematical formulas, research documents, news articles, credit card transactions, accounting audits, medical prescriptions, and much more. Development of industry-standard XML Schemas enhances software application interoperability through the use of common XML-based file formats to express data and content. Using a common XML Schema, software applications can exchange information as an XML document that conforms to a particular XML Schema.
An XML Schema is most commonly used by an XML processor to validate XML documents. Validation is the process of verifying that an XML document conforms to the rules defined within the XML Schema. An XML processor that can perform XML Schema-based document validation (that is, an XML Schema validator) enables a developer to offload the burden of code validation from the application to the XML processor.
Cross-Reference I discuss DTDs in Chapter 3. DTDs, however, have clearly been marked for obsolescence by the W3C.
A complete discussion of applied XML Schema design is provided in Chapters 4 and 5.