Microsoft Assistance Markup Language

Microsoft Assistance Markup Language (Microsoft AML, MAML) is an XML-based markup language developed by the Microsoft User Assistance Platform team to provide user assistance ("online help") for the Microsoft Windows Vista operating system. It makes up the Assistance Platform on Windows Vista.

MAML is also used to provide help information for PowerShell V2 Cmdlets, modules and advanced functions.

Concept
MAML is a departure from all previous types of user assistance for Windows operating systems. Some of its features have been available in .NET Framework 2, but more options shipped with the release of .NET Framework 3. Previously, user assistance for Windows operating systems used Microsoft Compiled HTML Help files, which contains little machine-readable semantic information.

The most significant aspect of MAML is that it shifts the production of user assistance to the concept of structured authoring (somewhat similar to DITA or DocBook). Documents and their constituent elements are defined by their context. With MAML, the emphasis is on content and the tasks a user performs with a computer, not the features of the software. Presentation is managed as part of the rendering engine when a user requests a topic.

The structured feature of MAML means that it can express a wide range of active concepts as well. One notable feature is guided help (active content wizard), which allows the help file to either run a task automatically or highlight the parts of the screen a user should interact with step-by-step. The feature was a notable aspect of Project Longhorn, yet Microsoft opted not to incorporate it into the ultimate release of Vista.

The MAML authoring structure is divided into segments related to a type of content: conceptual, FAQ, glossary, procedure, reference, reusable content, task, troubleshooting, and tutorial.

Presentation
Three levels of transformation occur when a topic is displayed: structure, presentation, and rendering:
 * The structural transformation contains reusable content and applies conditional logic to determine the structure that content should take when it is displayed, and the content of the text itself.
 * The presentation transformation enables content authored in MAML to be used in many different formats, including DHTML, XAML, RTF, and printed material.
 * The rendering transformation applies style sheets and displays the final content to users.

Authoring
There are no tools to assist in creating MAML; therefore, the XML files must be created manually.

An application such as Notepad, Notepad++, or Infopath may be used to manually create MAML content.

Format
MAML content uses the h1s help file format, which, along with the HelpPane viewer, is found in Windows Vista and Windows 7. The format is similar to Microsoft Help 2 .hxs files. A third party "xHelpMarkup" tool for compiling and decompiling exists, but it is only a wrapper around the BDD 2007 apcompnt and apss.dll tools.