XML is a revolutionary (and evolutionary) markup language. It combines the generalized markup power of SGML with the simplicity of free-form markup and well-formedness rules. Its unambiguous structure and predictable syntax make it a very easy and attractive format to process with computer programs.
You are free, with XML, to design your own markup language that best fits your data. You can select element names that make sense to you, rather than use tags that are overloaded and presentation-heavy. If you like, you can formalize the language by using element and attribute declarations in the DTD.
XML has syntactic shortcuts such as entities, comments, processing
instructions, and CDATA sections. It allows you to group elements and
attributes by namespace to further organize the vocabulary of your
documents. Using the
xml:space attribute can
regulate whitespace, sometimes a tricky issue in markup in which
human readability is as important as correct formatting.
Some very useful technologies are available to help you maintain and mutate your documents. Schemas, like DTDs, can measure the validity of XML as compared to a canonical model. Schemas go even further by enforcing patterns in character data and improving content model syntax. XSLT is a rich language for transforming documents into different forms. It could be an easier way to work with XML than having to write a program, but isn't always.
This chapter gives a quick recap of XML, where it came from, ...