Skip to main content
Share Your Experience: Take the 2024 Developer Survey

Extensible Markup Language (XML) is a flexible, structured document format that defines human- and machine-readable encoding rules.

XML (Extensible Markup Language) is a set of rules for encoding documents in both human-readable and machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards.

XML is extensible. It lets you define your own tags.

The most attractive feature of XML has to be its ability to allow its user to create their own tags. The tags that can be created will be similar to tags in HTML. But with XML you are afforded the opportunity to define your own tags.

XML is a language that is very similar to HTML. But it’s much more flexible because it allows to create custom tags. In this way XML acts like a meta-language: a language that allows us to create or define other languages. For example, with XML we can create other languages, such as RSS.

In short, XML is:

  • designed to transport and store data; and
  • a flexible text format derived from SGML (ISO 8879).
  • a markup language much like
  • designed to be self-descriptive

The design goals of XML emphasize simplicity, generality, and usability over the Internet. It is a textual data format with strong support via Unicode for the languages of the world. Although the design of XML focuses on documents, it is widely used for the representation of arbitrary data structures – for example in web services, configuration/settings, and GUI, workflow, and task definition.

Many application programming interfaces (APIs) have been developed to aid software developers with processing XML data, and several schema languages exist to aid in the definition of XML-based languages. Schemas are usually defined with an external namespace, but XML also allows you to define tags within the document itself.

XML Technologies

  • (the XML Query language) is a language for querying XML documents much like querying relational databases.
  • (the XML Path language) is a language for finding information in an XML document; it is a subset of of XQuery.
  • (eXtensible Stylesheet Language Transformations) is used to transform XML documents.
  • (the XML Linking language) defines methods for creating links within XML documents.
  • (the XML Pointer language) allows hyperlinks to point to specific parts (fragments) of XML documents.

Example Document

The following text is defined using XHTML and entity references; the text serves as an example of XML syntax and structure:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "" [
  <!ENTITY hello "Hello, World!">
<html xmlns="">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />


The following links provide additional information to learn about XML: