As computers (and developers) became more sophisticated, it became apparent that we could define more than just the look of the text on the screen. It is often useful to define the actual content type of information.
For example, take my name: Jennifer Kyrnin. The computer sees this as just a random collection of letters. You, as the reader, have to assign meaning to it. In this case, it is the name of the author of this article, but in other situations my name could mean different things:
- in the About structure my name would represent the Web Design/HTML Guide
- in my family tree, my name would represent the daughter of Judy and Layard
- in the Symantec org chart my name would represent a former Senior Marketing Web Developer
- in Netcom human resources my name would represent a former Webmaster
- in Uzbekistan my name would represent a former English teacher for World Languages University
None of that information is defined by HTML.
When you define the content of your documents, you are creating structured information. Structured information is simply information that has more to it than just the text on the screen. When you put my name in a structured environment, you tell the computer more than just the letters "Jennifer Kyrnin". You tell it that you are writing about Jennifer Kyrnin, Web Design/HTML Guide for About.com or about Jennifer Kyrnin, daughter of Judy and Layard.
There are many types of structured information that you use every day. An address book holds information in a structured format. Each entry is defined, and each part of an entry is defined - such as the name, address, city, and phone number. Organizational charts hold structured information - name, department, and title. Even this document is structured into the About.com template, document title, article text, and navigation.
So, What is XML?
To return to the definition of the first page, XML is a document markup language for defining structured information. It is a language used by computers to define hidden information about the structure of a document.
One thing to note. XML, unlike HTML, isn't really a language of tags. As I showed on the first page, HTML is made up of tags (like <p>, <ul>, and <li>) that define the structure and look of a Web page. This group of tags is very rigid and doesn't change depending upon who uses it. XML doesn't have a set of tags or rules for use in that fashion. Rather, XML is the definition of how to create the tags in the first place.
XML Can Create Tags
Some say that XML is a meta language, or a language for building other languages. In a sense, this is true. When you are creating, for example, an address book, you might create tags such as:
Then, when you build your address book document, you would write:
<entry id="1"> <name>Jennifer Kyrnin</name> <address>123 Stone Street</address> <city>Jackson</city> <email>email@example.com</email> </entry>
There are several languages that have already been created using XML. Such as:
- MathML - for writing mathematics
- SVG (Scalable Vector Graphics) - for creating and editing images
- SMIL - for multimedia
- XHTML - for Web pages
XML is a computer language for defining markup languages to create structured documents. You can use XML to create tags for defining your own documents or use tag languages created with XML for compatibility across the Internet.