Microsoft Assistance Markup Language
This article needs additional citations for verification. (June 2006) (Learn how and when to remove this template message)
This article relies largely or entirely on a single source. (November 2019)
Microsoft Assistance Markup Language (Microsoft AML, generally referred to as 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. MAML is also used to provide help information for PowerShell Cmdlets, modules and advanced functions.
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 MAML authoring structure is divided into segments related to a type of content: conceptual, FAQ, glossary, procedure, reference, reusable content, task, troubleshooting, and tutorial. At present, there are no Microsoft released automated tools to assist in the creation of MAML - you need to create the XML files by hand.
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.
Unfortunately, there is no decent tool available for IT Pros to author MAML. You can use Notepad (which is pretty tedious). James O'Neil (former MSFT employee) shows you how you can use InfoPath to author this information, but this is far from perfect as his article suggests.