MatML is an extensible markup language (XML)
developed especially for the interchange of materials information. Perhaps the
best way to describe MatML is by example and in contrast to HTML. Materials
property data distributed on the World Wide Web in documents using hypertext markup language
(HTML) present two problems for computer
applications intending to use the data: interpretation and interoperability.

Figure 1 contains an HTML code fragment for aluminum alloy data. Since the data are
not self-describing, one would need a complete data dictionary and glossary of terms
as well as exact detailed knowledge of the document structure in order to write a
computer application that uses these data without human intervention. In Figure 1,
for example, it would be necessary to distinguish the descriptors of the material
(1350, metal, aluminum alloy, ASTM B230, H18) from the property data (table of
axial-stress fatigue strengths in ksi units). Assuming a consistent structure within
and across documents from the data source, it would then be possible to parse and
interpret those data programmatically for subsequent use in another computer
application. In the absence of tightly and consistently structured documents, a data
dictionary, and a glossary of terms, however, interpretation arises as a key
stumbling block for automated use of the materials property data contained in HTML
documents.

If interpretation of data were not an issue, the computer application developed to
parse and use the data would likely encounter serious difficulties were it to try
using data from other structurally dissimilar sources. Interoperability, then, would
be a limiting condition for the use of the computer application across structurally
dissimilar data sources even if data dictionaries and glossaries of terms were available.

MatML addresses the problems of interpretation and interoperability for materials
property data exchanged via the World Wide Web. The example given in Figure 1 might
be coded as in Figure 2 and would allow an application to interpret and use materials
data regardless of their sources.

HTML tags specify only how the data are to be formatted for display and convey no description
of the data themselves. While this aspect of HTML has enabled the publication of billions of
web documents, it, nonetheless, represents a serious drawback to those who wish to automate
the processing of the data contained in those documents. To address this problem, the
Extensible Markup Language was developed and released
by the World Wide Web Consortium (W3C), an international group
of approximately 500 member organizations dedicated to developing common protocols that promote
the evolution of the Web and ensure its interoperability.

XML enables communities, such as materials scientists and engineers in the case of MatML, to
define their own domain-specific tags and document structure, i.e., they can create their own
languages for data management and exchange that, in turn, permit efficient parsing and
interpretation of those data via software.

The descriptive nature of the MatML tags, such as <Name>, <Class>, and <Subclass>
is plainly evident, permitting the language to be far more intelligible than non-descriptive
fixed tagsets such as HTML. At the same time, MatML defines a coherent and consistent document
structure for its tags, which ensures that any programming language can be used to parse and process
the data in whatever manner required.