
©Alexander Supertramp/Shutterstock.com
Key Points
- To create a better system of world-wide-web data management James Clark compiled a new markup language called XML eXtensible Markup Language.
- The development of the markup language was done through email and weekly teleconferences.
- This allows XML users to quickly and efficiently create data transfer systems.
What is XML: Everything To Know
Managing an online presence can start to become a hefty task as a business gathers more products or available information. The different backbones used for databases by different companies make it difficult to easily manage the information or transfer it to a new platform.
To create a better system of world-wide-web data management, a working group of eleven members led by James Clark compiled a new markup language, XML eXtensible Markup Language.
Quick Facts
- Creator (person)
- XML Working Group
- Release Date
- 10/02/1998
- Original Price
- Free
- Operating System
- N/A
- Developed By (company)
- XML Working Group
Interestingly, the entire development of the markup language was done through email and weekly teleconferences.
What is XML: Explained
XML stands for ‘eXtensible markup language’. It was designed to be a human and machine-readable markup language for handling data storage and transport. In reality, it doesn’t do anything.
Writing XML is much like writing HTML tags. Information is placed in between two XML tags to signify the purpose of the data.
As an example:
<code><memo>
<to>Design Team</to>
<from>Larry</from>
<heading>Project Awareness</heading>
<body>Keep track of your active tasks. Don’t forget to close finished tasks.</body>
</memo> </code>
These tags are useless as it stands. XML encoding tags are used to label the information they are wrapped around. Once the information has been labeled completely for the use case, the software has to be written to handle the information.
In fact, XML tags are not predefined at all and will vary in every use case. This is because the tags must be created by the document author. Then, a program must be written to handle these tags. The output may look something like this:
Memo
To: Design Team
From: Larry
Project Awareness
Keep track of your active tasks. Don’t forget to close finished tasks.
This allows XML users to quickly and efficiently create data transfer systems that help them to automate the process. Many computer systems store data in different document types that are incompatible with each other.
Converting files to compatible formats is time-consuming and frustrating. When massive amounts of data need to be converted to be compatible with another system, information can be lost in transition.
XML allows web developers to store information as plain text. Every software and hardware system supports plain text transfer. This way web developers can use XML tag encoding independent of compatibility with different systems to store, transfer, and share data.
The eXtensible part of XML means that most XML applications will work as expected even when new data is added or removed. This means that your .xml files can be adjusted for new purposes and be used in multiple programs or newer versions of older programs.
That means if a developer were to add new sections to our XML file like date and time, the old XML script will still be able to perform its task while the new information can be utilized for a new task or script.
So, a developer adds that information to the file like this:
<code><memo>
<date>2021-09-10</date>
<time>12:30</time>
<to>Design Team</to>
<from>Larry</from>
<heading>Project Awareness</heading>
<body>Keep track of your active tasks. Don’t forget to close finished tasks.</body>
</memo></code>
Now, they have an extended XML file with new information tags and information. The original program will still be able to spit out the note from before without any hindrance.
It can also now be used in a second program that makes use of both the old and new information. For this example, the developer only wanted to refine the output of the memo like this:
Memo
Date: 09-10-2021
Time: 12:30
To: Design Team
From: Larry
Project Awareness
Keep track of your active tasks. Don’t forget to close finished tasks.
This example shows an XML use case that is primarily for display. This is not the primary function of XML. It is meant to allow information to be easily tagged and referenced by custom scripts. Most commonly it is used to transfer data from one database to another with incompatible file types.
In this example, the tags (date), (time), (to), (from), (heading), (body), and (memo) are used by the script to create a simple layout of a memo to Larry’s Design Team. With a little extra effort, the script can also send the note directly to the members of the design team as well.
To recap, using XML for data handling simplifies:
- data sharing
- data transfer
- platform changes
- data availability

©iStock.com/vaeenma
How to use XML
XML is meant to be used to separate data from presentation. For web developers, this is essential for maintaining and updating web pages. Entire pages of information can be updated, transferred, and replaced using a custom script and an XML file.
This means that online resources and stores can quickly swap out data fields by adjusting their XML files and running the script rather than manually editing the HTML code on the page. This allows for the information on the page to be maintained separately from the format and presentation.
Thousands of different XML formats are used daily by almost every industry with an online presence. Each format is detailed for specific purposes.
Some of the most common industries to extensively use XML are:
- Stock Trading
- Financial Institutions
- Medical
- Mathematicians
- Scientific
- News
- Weather Forecasting
XML makes use of a tree structure to work efficiently. This means XML tags are all inside a root element like so:
<code><root>
<child>
<sub-child>
</sub-child>
</child>
</root></code>
Every label is defined by the author of the XML format or document. For example, if you are preparing a format to help replace product information on a website as details change, you’ll want to sort out what kind of information is displayed and stored.
Let’s pretend we are setting up an XML file for information on sales pages for an online retailer. We’ll need to sort out the information that needs to be kept.
First, we need to know what our product is. Then, we’ll need to display relevant information like a product description, dimensions, hardware, and price.
<code><?xml version=”1.0” encoding=”UTF-8”?>
<product page>
<product category = “tablet”>
<name lang=”en”>iPad Pro</name>
<price>$799</price>
<manufacturer>Apple</manufacturer>
<dimensions>height, length, and weight</dimensions>
<prod description>Sample product description</prod description>
<hardware>Hardware Specs, maybe including sub-classes for each specification</hardware>
</product>
</product page></code>
This format details the information on the page with an XML markup that helps you keep track of what each field is. Your computer will also be able to parse through these tags once you create a script to work with the file.
The top line acts as a prolog to define how characters are encoded and which version of XML to work with. This is not always required but if it is included it must be placed at the top of the XML file. The next line with (product page) is the root element.
The line after that defines the first element within the root. Our example stores information about an electronics product page. The first product is labeled into the category of “tablet”. Then sub-elements are listed detailing the different aspects of the product with XML tags to denote what each section of data represents.
XML is a simple markup language but syntax must still be followed. Some simple rules to keep in mind as you work with XML are:
- All XML elements must include a closing tag.
- XML tags are case-sensitive.
- XML elements have to be properly nested.
- XML attributes values have to be quoted every time.
- Some characters are used as syntax markers for XML like the double-dash and “greater than” symbol. If you need to use these characters in coding, you will need to use a character’s entity reference.
How to Learn XML

©Roman Samborskyi/Shutterstock.com
If you want to learn how to improve your data management workflow for your website management, you can utilize online classes and resources. Here are a few websites that offer excellent learning materials for eXtensible markup language:
- https://www.w3school.com/xml
- https://cdrh.unl.edu/articles/basicguide/XML
- https://www.sitepoint.com/really-good-introduction-xml/
- https://beginnersbook.com/2018/10/xml-tutorial-learn-xml/
- https://www.liquid-technologies.com/xml-tutorial
There are numerous free resources to learn how to work with the language and create markup language schemas. The best way to learn how to properly utilize extensible markup language is by hands-on practice.
The Difference Between XML and HTML
HyperText Markup Language, or HTML, is used by website formatters to create data presentations. eXtensible Markup Language was created to handle the data that HTML organized without changing the presentation.
Both markup languages are typically used as complementary solutions. HTML and CSS are used to create the web page presentation and visuals while eXtensible Markup Language can be used to manage the data placed throughout the page.
This is useful for updating information like descriptions, prices, dates, and anything else that may be subject to change over time. With the use of a clean markup schema, every piece of information presented on a webpage can be edited or replaced quickly and efficiently without adjusting the visuals. It also doesn’t require the information to be reformatted for compatibility purposes.
As markup languages, HyperText and eXtensible could not be more different. HTML tags are predefined. This means that learning HTML tags is useful for every project involving HTML. eXtensible markup is not defined at all. eXtensible tags are meant to be self-defined labels of what information the tag holds.
This allows for the tags to be created and managed entirely by the author. It also means that the eXtensible markups will have no effect on the HTML and can be used together.
As a general rule, formatters for websites will want to learn HTML and CSS. Website engineers, content creators, and content management will mostly focus on the use of eXtensible Markup Language.
XML Release History
eXtensible Markup Language has overgone changes throughout the years but there remain to be two releases available.
Version 1.0
Version 1 was defined in 1998. This version of the markup language has gone revisions and updates throughout the year that truly make the currently available version 1 the fifth iteration of the markup language. It was last updated and published on November 26, 2008. This version is widely implemented throughout the internet and is still recommended for use.
Version 1.1
Published on February 4th, 2004, version 1.1 was meant to add specific use functionality. It enabled the use of line-ending characters from EBCDIC platforms and the use of scripts and characters that are absent from Unicode 3.2. This version is not widely available and should only be used for very specific purposes.
XML: Continued Development
Much of the online world can manage to work out markup schemas with version 1 of eXtensible Markup Language. The updates and maintenance performed on the markup language since its inception have solidified the currently available versions.
However, there has been discussion from online entities of developing a Version 2.0. As it stands, no organization or company has announced plans to take control of this project. eXtensible Markup Language SW(Skunkworks), created by one of the original eXtensible Markup language developers, attempts to showcase what a Version 2.0 might contain.
Elements like integration of namespaces, elimination of DTDs from syntax, and eXtensible Markup Base and Information Set.
Next Up…
- The History of Fairchild Semiconductor: A Complete Guide
- The History of Cryptography
- The History of Harvard Mark 1: A Complete Guide
The image featured at the top of this post is ©Alexander Supertramp/Shutterstock.com.