As you know, XML data that is brought to a client generally comes in two forms. The first form of data contains elements that define how the content of the document should be displayed. The XHTML document we created in tutorial 5 is an example of the first form of data. The second form of data contains elements that do not define how the document's content should be presented. Since XML was not designed to be a presentation language, the majority of XML documents contain the second form of data—that is, data without specific presentation instructions. XML's strength lies not in its ability to present data, but in its ability to package data into a format that can be validated and easily moved.
If we want to present XML data in a Web browser, it would make sense to transform this XML into another language that is designed for presentation and is in XML format, such as XHTML. Extensible Stylesheet Language (XSL) is designed to transform XML into XHTML and other XML formats so that the XML can be presented in a browser. Currently, XSL primarily transforms XML into XHTML. In the future, though, we could see XSL transforming XML into speech or other formats. This tutorial will cover the presentation of data using cascading style sheets (CSS), XSL, and XSL Transformations (XSLT). Let's begin by looking at XHTML and CSS.