[August 17, 2001] The purpose of the Meaning Definition Language (MDL) is "to define what XML documents mean and how they express that meaning. MDL defines what a document can mean in terms of a UML class model or RDF Schema, and defines how to extract the meaning, in terms of XPath. MDL is a simple language. It has many applications such as: (1) validating that an XML language can convey its intended meaning, (2) automated translation of documents between XML languages, (3) automated retrieval of information on the Semantic Web, (4) supporting meaning-level XML query languages, and (5) programming APIs to XML at the level of meaning, independent of document structure. MDL will enable tools and users to interface to XML at the level of meaning rather than structure. MDL-based automated XML translation and a meaning-level query language are already supported." [adapted from the white paper abstract]

Meaning Definition Language: "The problem is XML interoperability -- the proliferation of XML languages with overlapping meanings but different structures, and the need to inter-operate between them. If you develop applications for several XML languages, you need to know their structures (DTDs or schemas) and how those structures convey meaning. With even a few different languages, this makes XML applications expensive to develop and maintain... You would like to develop XML applications in terms of the meaning of the XML languages, not their structure, so that when you encounter new XML languages which convey the same meanings in different structures, your applications will interface to them automatically, without re-coding... MDL is the bridge between XML structure and meaning -- expressed precisely, in XML. It defines how the structures of an XML document (elements, attributes and XPaths) convey meanings (about objects, properties and associations)... For any XML language, you define what meaning it conveys, and how it conveys that meaning, in MDL. You can then use three MDL-based tools: (1) A meaning-level Java API for XML: to build applications with Java classes that reflect XML meanings, not structure - linking them automatically to any XML language which expresses that meaning. (2) A meaning-level XML query language: allowing users to query XML documents in terms of their meaning, without reference to their structure; to run the same query against any XML language that expresses that meaning. (3) Automated XML translation, based on meaning: allowing precise, automatic generation of XSLT to translate messages between any two XML languages that have a common MDL model..."

MDL presentation by Robert Worden at the XSLT-UK Conference, April 8 - 9, 2001, Keble College, Oxford, England. See the summary by Jeni Tennison: "...Robert Worden of Charteris spoke on the Meaning Definition Language (MDL) as a means of indicating the semantics of an XML vocabulary. The aim of MDL is to support meaning-level queries, automated XML transformation, a meaning-level API, and the Semantic Web in general. It works by associating particular nodes within an XML vocabulary to a meaning-level description of the domain, such as a UML class model (represented in XMI), RDF or DAML plus OIL (which are XML vocabularies that represent ontologies, based on RDF). Robert discussed the mappings between XML vocabularies and the underlying conceptual model that they represent. Generally, instances are represented as XML elements, although there can be a conditional aspect to the mapping, and not all instances in a particular domain will be represented within an XML document. Similarly, properties are usually represented as attributes, but it's important to identify the object that the attribute is a property of. Associations between instances are represented in many different ways within XML vocabularies. They can be represented through ID/IDREF pairs, through element nesting, or through what Robert called overloading, where several instances are bundled together within another element that represents the association. The MDL encodes these mappings and can be embedded in a schema, such that for each XML vocabulary of a particular domain, there is a mapping between it and a common conceptual model. MDL's benefits arise when users phrase queries in terms of the meaning of the information they wish to retrieve rather than having to know about a particular XML vocabulary..."

From the white paper:

"MDL addresses the data-centric end, as opposed to the text-centric end, of the XML spectrum -- XML whose primary audience is not a human reader, but a computer program which will process the information, respond to it, store data items in a database, and so on. MDL is relevant to the W3C Semantic Web Programme. A key component of the Semantic Web is RDF Schema, which can be used (on its own or with ontologies such as DAML+OIL) to define what any resource -- including an XML document -- can mean. While RDF Schema gives the means to define what an XML document means, it does not define how it means it. It does not define which structures within an XML document express particular kinds of meaning, or how you access them. That is the problem which MDL addresses -- defining what meaning is conveyed, and how it is conveyed. RDF Schema is about semantics; XML schema languages are about syntax; MDL is about the bridge between syntax and semantics."

To define what an XML document means, you need an ontology. MDL uses a minimal ontology framework built on the concepts of UML class diagrams - of objects in classes, simple properties, and associations. This is closely equivalent to RDF Schema, or a subset of DAML+OIL. MDL could be extended to handle more expressive ontologies if required. MDL defines how an XML document conveys meaning by using XPath. To define how an XML document conveys some meaning, you need to define not just what information is on each node, but also how to navigate around the document, to pick up the different kinds of meaning correctly. MDL does this systematically for all meanings about objects, simple properties, and associations, using a common XPath-based notation. That is the core of MDL. The key benefit of MDL is this: users and application developers can express their needs by saying what meaning they need to know. Using MDL, automated tools can then convert the what' into the how', to navigate XML documents to get that meaning. The user then does not need to know the how' of document structure and navigation. MDL-based tools can provide structure-independent, meaning-level interfaces to XML documents..."

XMuLator for automated XML translation: "Charteris has developed XMuLator, a tool which transforms XML documents between XML languages highly reliably and cost-effectively... XMuLator derives transformations from XML language meanings, avoiding a combinatoric explosion of language pairs. Each language's meaning content need only be defined once, to create all transformations to and from that language. Complex structural transformations are accurately done. XMuLator defines business meanings in a UML-like semantic model. It captures XML language schemas from DTDs or XDRs. You define an XML language meaning by mapping its schema onto the semantic model. XMuLator will then create the direct XSLT transformation between any two languages... A very stringent test of XML transformation is the round-trip test - transforming a message through two, three or more languages back to the first, then checking that its original meaning is preserved. XMuLator has automated support for round-trip tests, and XMuLator transformations pass the test."