Jump to content

Microsoft Assistance Markup Language

From Wikipedia, the free encyclopedia

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.[1]


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.[2] 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. This feature was considered a highlight of Project Longhorn, but Microsoft decided against including it in the final Vista release.[3]

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.


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 use many different formats, including DHTML, XAML, RTF, and printed material.
  • The rendering transformation applies style sheets and displays the final content to users.


There are no tools to assist in the creation of 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.[1]


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.[4] 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.

See also[edit]


  1. ^ a b O'Neils, James (4 March 2016). "PowerShell on-line help: A change you should make for V2 (#3) (and How to Author MAML help files for PowerShell) - James O'Neill's blog - Site Home - TechNet Blogs". Archived from the original on 2016-03-04.
  2. ^ "Microsoft "Longhorn" Help Highlights". WritersUA.
  3. ^ "Guided Help". BetaArchive.
  4. ^ "AP Help - Technical Information". www.help-info.de.

External links[edit]