XML (Extensible Markup Language) is a protocol using plain text to flexibly structure data that is both human and machine readable. XML is conducive for the transmission and storage of structured data trans-Web, trans-platform, and trans-process.

There are 2 versions: XML 1.0 and XML 1.1. XML 1.0 came out in 1998 and its 5th edition from 2008 is still going as of 2012. XML 1.2 came out in 2004 and is only used by proud weirdos. I prefer JSON myself!

Here are some applications of XML:

An XML document has data marked up with customized elements. EG:

<?xml version="1.0" encoding="UTF-8"?>
  <!-- Some tags can look like HTML. /-->
    <p>Won't you guide my sleigh tonight?</p>

XML Technologies

XML Files Themselves

There are several aspects to a proper XML document:

There are several major ways that XML documents are manifested:

Generating XML Documents. XML documents can be made by hand, generated by the application itself, but often some process takes data in a database and spits it out in XML format, i.e. as an XML document. The data source of an XML document may be one or more databases, or even non-databases. Since XML documents are plain text, they can be generated by all sorts of computer processes, APIs, and languages including (but not limited to) scripts, executables (.exe), and components (.dll).

Processing XML

Once you have the XML document, then an API is needed to access and modify the data. There are two generic APIs for XML, both of which are W3C standards:

Different companies provide different APIs for accessing the W3C generic APIs for XML. EG: Microsoft provides the following APIs for the W3C APIs via its MSXML Parser, a COM object called msxml.dll, msxml2.dll, etc.

There are many tools you can use to access, modify or validate raw XML, either manually or to create programs that do so.

Presenting XML

Once you are able to access and modify the XML document, then you need to present it. Many times the processing of the XML can be done at the presentation level instead.


There are other supporting technologies related to XML.

Page Modified: (Hand noted: ) (Auto noted: )