XML ist ähnlich wie HTML. Sowohl XML als auch HTML enthalten Markup-Symbole zur Beschreibung des Inhalts (Code) einer Seite oder Datei.
HTML beschreibt jedoch den Inhalt einer Webseite (hauptsächlich Text und grafische Bilder) nur in Bezug auf die Art und Weise, wie sie angezeigt und mit ihr interagiert werden soll.
XML beschreibt den Inhalt in Bezug darauf, welche Daten beschrieben werden. Beispielsweise könnte das Wort „phonenum“ innerhalb von Markup-Tags darauf hinweisen, dass es sich bei den nachfolgenden Daten um eine Telefonnummer handelt. Eine XML-Datei kann von einem Programm rein als Daten verarbeitet werden, oder sie kann mit ähnlichen Daten auf einem anderen Computer gespeichert oder angezeigt werden, wie eine HTML-Datei. Je nachdem, wie die Anwendung auf dem empfangenden Computer die Telefonnummer handhaben wollte, könnte sie zum Beispiel gespeichert, angezeigt oder gewählt werden.
XML gilt als erweiterbar, da die Markup-Symbole im Gegensatz zu HTML unbegrenzt und selbstdefinierend sind. Es wird erwartet, dass HTML und XML in vielen Web-Anwendungen zusammen verwendet werden. XML-Markup kann zum Beispiel innerhalb einer HTML-Seite erscheinen.