The Solutions for Email Problems
23 October 2008
XML
The MML language is written in W3C XML Schema language, and so is inherently an XML technology. MML does, however, require some additional processing requirements beyond the capabilities of syntax validation. Since MML is an XML technology any document written in MML is automatically compatible with any other XML derived technology.
XML compatibility is definitely a solution to many problems due to the nearly unlimited capabilities of its related technologies. For instance, XPATH is a technology that takes advantage of the XML Document Object Model to perform script-like behaviors in XML syntax. XSL - Formatting Objects allow dynamic presentation definitions using the scripting ability of XPATH expressions. XQuery is an XML based technology for performing dynamic searches through XML formatted data similar to what SQL allows for databases.
Security
It is not the job of a markup language to provide security. A markup language exists merely to describe and structure data for humans to read and write. However, a well designed markup language can provide features that assist security conventions and constraints where security is a risk. MML can help make encryption easier by allowing users to supply public keys, for PKI encryption, against any email address. This intended to help openly spread the supply of public keys so that encryption may become more common.
MML also attempts to reduce risk by imposing limitations upon external resource processing, where resource refers to any external file or data that is either attached to a MML document or requested by the MML document. In MML the processing of resources is not a requirement. If there is reason to fear that a resource may come from a compromised source then the MML processing software should allow an option to simply not process the resources. MML also requires that each resource be identified by a MIME Media Type and the MML processing software must process the resource strictly according its defined MIME type. If a resource cannot be processed according to its specified MIME type then it must not be processed any further.
Presentation
MML attempts to uniquely preserve presentation for each instance of communication in a mail document. This is accomplished because each instance of communication may contain its own stylesheet references. Since each instance of communication contains its own stylesheet declarations the presentation of the document remains stable no matter how many times the document is transferred or in which method it is transferred. Stylesheets and other external resources must be cacheable so that those resources need not be continually downloaded.
Structure / Semantics
Since MML is an XML derived technology the data described by the MML language is inherently structured. Semantics is the process of describing the data so that the description may be so meaningful that it be considered data itself. By creating a well designed structure semantics can be inferred from the relationship of tag elements in a markup language. This concept could be referred to as context.
In order to increase the understandability of MML all tag and attribute names are complete English words. Abbreviations are not used in MML as such jargon reduces learning time, increases complexity, and offers no benefit to processing efficiency. Since all tags and attributes are complete English words they are more semantically relevant as data when analyzed by a human.
Every tag within the <markup> tag section is allowed to have a role attribute. The role attribute has two intentions. The first goal is to allow a space separated list of semantic or contextually relevant terms in order to increase the semantic relevance of the data MML is attempting to describe. In other words a more specific description of the data, compared to the tag name, can be provided as the value of a role attribute. This is important because tags can then be more generic and structurally focused so that a lesser variety of tags are required. The second objective of the role attribute is to incorporate use of assistive technologies, such as WAI-ARIA, RDF, OWL, or KAON.
Accessibility
From the perspective of data, accessibility is secondary to the semantics and structure of the data. If the data is well described for human consumption it is accessible. MML hopes that through stressing the importance of semantics the data described by MML will be highly accessible as a result.
Unfortunately, description and understandability of the data is only half of accessibility. The other half of accessibility is about the presentation of the data for persons with mobility disorders. MML hopes that by establishing a preserving convention for presentation the document will retain intended designs for accessibility for persons who demand special usability needs.
Internationalization
In order to increase internationalization the MML specification defines it will use the UTF-16 character set. This provides access to the entire Basic Multilingual Plane of Unicode. There is rarely an exact translation of words between various human languages, and so to be truly international the tag and attribute names defined by MML must be open to renaming in other languages where such renaming does not impose an interruption to the transfer or processing of the document. MML has not created a solution for this problem, but has identified the problem and possible solutions are being considered.
