From XML’s inception circa 1996 through the initial hype blitz up to the present day, the term XML has been ubiquitous. What does it all mean, and what do you really need to know?
For starters, XML stands for Extensible Markup Language and it grew organically from the need to improve the functionality of Web technologies through the use of a more flexible and adaptable means to identify information.
XML is a metalanguage. That is, it is a language that describes other languages. While it may sound circular, even Webopedia defines it as such.
What this really means is that XML is more of a standard and supporting structure than a standalone programming language. It is a standard you can follow to create your own language and syntax that meets the XML criteria.
XML provides the facility to define tags and the structural relationship between them.
As a result, developers can create their own customized tags (the extensible part of the puzzle) in order to define, share, and validate information between computing systems and applications.
Since everything a developer creates adheres to the XML criteria and standard, it allows for customization without many of the usual perils of customization (such as a lack of interoperability and extensibility).
What Are The Benefits?
In the mind of the resident Web and XML guru who sits beside me, there are two overriding benefits.
First, the extensibility and structured nature of XML allows it to be used for communication between different systems, which otherwise would be unable to communicate.
While this sounds simple, the magnitude and impact of this benefit is tremendous. Consider this.
With the use of XML, you can now communicate not only between internal computing systems but also external systems (vendors, customers, partners, etc.) using a common technology irregardless of the platforms and technologies used for each independent system.
Phrased more simplistically, it is like having a single omniscient translator that can work between and among various nations and cultures seamlessly.
Besides the obvious benefit of information sharing and system interoperability, knowledge transfer between your different computing teams becomes easier as well.
Since XML has a clearly defined set of standards, people on Team A can easily understand and work with information from Team B.
From an internal resource standpoint, this enables easier staff rotation (and coverage) with a shortened learning curve.
From an external relationship standpoint (vendors, consultants, partners), knowledge transfer time is shortened and the actual understanding of the systems and information is enhanced.
Second, from one source of XML-based information you can format and distribute it via a multitude of different channels with minimal effort.
Through the use of extensible style language, XSL, developers can easily separate content from formatting instructions.
In this way, XSL files act as templates, allowing a single stylesheet to be used to format multiple pages of information.
Even more powerful is the ability to use several of these templates to define formatting of the same content for multiple distribution channels.
Many times with both intranet and Internet applications your audience requires data through a variety of channels such as Web, e-mail, text, handheld, wireless devices, and print.
With the use of XML and the XSL technologies (XSLT, XSL-FO, etc.) you can use a separate stylesheet to distribute the same content to multiple channels.
Thus, retrieve the content and data once, deliver many times and in many formats with ease.
While I don’t profess to be an XML expert, I do understand enough to create XML files and work with other developers’ more complex code.
In my next article, I will walk you through basic terminology and document structure to get you started.