Introduction to XML

XML stands for Extensible Markup Language. The development of XML started somewhere around the 1996 timeframe. In 1998, the W3C made it a official standard. XML’s derived directly from SGML, another document language from the 80’s (standardized in 1986). The developers of XML took parts of SGML together with their experience from HTML and create a language which is not less powerful or capable, but a lot more structured and easier in use. Where SGML was primarily used for technical documentation and less for formating data, it’s the other way around with XML.

If you open a XML document in a text editor, you will notice that it looks a lot like HTML. At first glance you will probably notice that the first tag is XML, instead of HTML, but other than that, the tags are different and looks familiar. However, if you open the same XML document with a browser, you will see that it looks just like what you just saw when you opened it with a text editor. And this is where the journey begins.

HTML has tags to define and format font-type, -size, tables, frames and colors. XML by its very nature knows nothing about those tags. XML has to rely on an external source that tells the browser how to format the XML tags.

You might get that feeling that you have heard about that before, and if you are “in love” with Cascading Stylesheets (CSS)(ver. 1 & 2), you have. CSS is a helper to HTML and XML in some ways. In HTML usage, Stylesheets are referenced in the source code of your website to format the output without them, HTML would look a lot less pretty. And CSS are one way to format XML output as well.

Two roads diverge in a yellow wood

The other method is utilizing XSL-files. XSL means Extensible Stylesheet Language. The components within XSL is made of are called XSLT – XSL-Transformations – and XSL-FO – XSL-Formating Objects. Together they perform two very important tasks. Number one being the formating
(XSL-FO) and number two the converting, or the (XSL)tranformation, of XML documents over to HTML, XML-FO (of course), TeX and even PDF.

United we stand?

HTML has been responsible for a couple of my nervous breakdowns while working as an HTML monkey. The phrase, “It works with Internet Explorer, but it doesn’t work with Netscape!”, has been present for some time in my world or any webmaster’s world each day. Seven out of ten times that I am asked to fix and clean up some source code, it is because of a cross-browser issue. In recent years Opera has added to the list that no longer just contains Netscape.

To find out how Internet Explorer, Netscape Navigator/Mozilla, Opera and Konqueror (Linux only) support XML, stay tuned, as it will be covered in another tutorial soon.

If you have any comments, questions or suggestions, feel free to post them on the forums.