Friday, September 18, 2026

What Is XML?

// file formats

What Is XML?

XML is a text-based format for storing and exchanging structured information. It uses descriptive tags to show what each piece of data means and how different pieces of information relate to one another.

// definition

XML means Extensible Markup Language

XML stands for Extensible Markup Language.

It is a plain-text format designed to describe, organise, store and exchange structured information.

XML does this using tags that identify the meaning and structure of the data.

// example

What does XML look like?

Imagine that we want to store information about a customer.

<customer> <name>Alice Smith</name> <email>alice@example.com</email> <orders>4</orders> </customer>

The information is surrounded by tags such as <name>, <email> and <orders>.

These tags give meaning to the values rather than simply storing them in a fixed position.

// tags

Opening and closing tags

Most XML elements have an opening tag and a closing tag.

<name>Alice Smith</name>

Here:

<name>

This is the opening tag. It marks the beginning of the element.

</name>

This is the closing tag. The forward slash indicates the end of the element.

// structure

XML is hierarchical

One of XML's most important features is that elements can contain other elements.

This creates a tree-like hierarchy.

<shop> <customer> <name>Alice</name> <orders> <order> <id>1001</id> <total>49.99</total> </order> <order> <id>1002</id> <total>25.50</total> </order> </orders> </customer> </shop>

In this example, the shop contains a customer, the customer contains orders, and each order contains its own information.

// root element

An XML document needs a root element

A well-formed XML document has one outermost element that contains the rest of the document.

<customers> <customer> <name>Alice</name> </customer> <customer> <name>Ben</name> </customer> </customers>

Here, <customers> is the root element.

// attributes

XML elements can also have attributes

Attributes provide additional information about an element.

<customer id="1042" status="active"> <name>Alice Smith</name> </customer>

In this example:

id="1042" status="active"

These are attributes attached to the customer element.

// extensible

Why is XML called "extensible"?

XML does not give you a fixed set of tags.

Instead, you can create tags appropriate to the information you are describing.

<book> <title>Introduction to Data</title> <author>Jane Smith</author> </book>

A different system might use:

<product> <sku>ABC-100</sku> <price>29.99</price> </product>

The tags can therefore be designed around the type of information being stored.

// declaration

The XML declaration

XML documents may begin with a declaration such as:

<?xml version="1.0" encoding="UTF-8"?>

This tells software that the document uses XML version 1.0 and that the text is encoded using UTF-8.

Important: XML is a text format, so character encoding matters. UTF-8 is extremely common because it can represent characters from many languages and writing systems.

// escaping

Some characters need special handling

Because characters such as angle brackets are used as part of XML syntax, certain characters must be represented using special entity references when they are intended as data.

Character XML representation
< &lt;
> &gt;
& &amp;
" &quot;
' &apos;
// rules

XML has strict structural rules

XML must be well formed for an XML parser to process it correctly.

Tags must close

Elements normally need corresponding opening and closing tags.

Tags must nest correctly

Elements cannot overlap one another incorrectly.

One root element

The document must have one outermost root element.

XML is case-sensitive

<Name> and <name> are treated as different tags.

// nesting

Correct nesting matters

This is valid:

<customer> <name>Alice</name> </customer>

But this structure is invalid:

<customer> <name>Alice </customer> </name>

The elements have been closed in the wrong order.

// xml vs html

XML and HTML look similar, but they have different purposes

Both use angle-bracket tags, but they are designed for different jobs.

XML HTML
Describes and structures data Structures content for web pages
Custom tags can be created Uses predefined HTML elements
Focused on information Focused on webpage structure and presentation
Strict syntax Browsers are often more forgiving
<!-- XML --> <product> <name>Keyboard</name> <price>49.99</price> </product> <!-- HTML --> <h1>Keyboard</h1> <p>Price: £49.99</p>
// xml vs json

XML and JSON can represent similar information

XML and JSON are both commonly used to represent structured data.

For example, this XML:

<customer> <name>Alice</name> <orders>4</orders> </customer>

could be represented in JSON as:

{ "customer": { "name": "Alice", "orders": 4 } }

JSON is often more compact, while XML offers features such as attributes, namespaces and document-oriented structures that can be useful in more complex systems.

// uses

What is XML used for?

XML has been used extensively for exchanging and storing structured information across many kinds of software.

Configuration Files Data Exchange Web Services Document Formats Product Feeds Sitemaps RSS Feeds APIs Data Imports Data Exports
// real-world example

Website sitemaps commonly use XML

A website can provide an XML sitemap containing information about its pages.

<urlset> <url> <loc>https://example.com/</loc> </url> <url> <loc>https://example.com/about</loc> </url> </urlset>

Search engines and other software can process this structured information automatically.

// data management

Why XML matters in data management

XML allows information to describe its own structure.

Instead of relying purely on column positions or an external explanation, tags can identify what individual pieces of information represent.

<employee> <name>Tiago</name> <department>Technology</department> <active>true</active> </employee>

This makes XML useful when information needs to move between systems while retaining a clear hierarchical structure.

// plain text

XML is still plain text

Although XML can represent complex structures, the file itself is text.

This means an XML file can be opened in a text editor, inspected by a person and processed by software.

Readable Portable Structured Machine-Readable Text-Based
// summary

Text with structure and meaning.

XML is a text-based language for representing structured information. It uses tags, elements, attributes and hierarchical relationships to describe what data means and how different pieces of information fit together.

What Is UTF-8?

// character encoding What Is UTF-8 ? UTF-8 is a character encoding used to repre...