Microsoft Assistance Markup Language (Microsoft AML, generally referred to as MAML) is an
XML
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable ...
-based
markup language developed by the Microsoft User Assistance Platform team to provide user assistance ("
online help
Online help is topic-oriented, procedural or reference information delivered through computer software. It is a form of user assistance. The purpose of most online help is to assist in using a software application, web application or operating sys ...
") for the Microsoft
Windows Vista
Windows Vista is a major release of the Windows NT operating system developed by Microsoft. It was the direct successor to Windows XP, which was released five years before, at the time being the longest time span between successive releases of ...
operating system. It makes up the Assistance Platform on Windows Vista.
MAML is also used to provide help information for
PowerShell
PowerShell is a task automation and configuration management program from Microsoft, consisting of a command-line shell and the associated scripting language. Initially a Windows component only, known as Windows PowerShell, it was made open-sou ...
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
Microsoft Compiled HTML Help is a Microsoft proprietary online help format, consisting of a collection of HTML pages, an index and other navigation tools. The files are compressed and deployed in a binary format with the extension .CHM, for Com ...
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
DocBook is a semantic markup language for technical documentation. It was originally intended for writing technical documents related to computer hardware and software, but it can be used for any other sort of documentation.
As a semantic languag ...
). 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. This feature was considered a highlight of Project Longhorn, but Microsoft decided against including it in the final Vista release.
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 use many different formats, including DHTML
Dynamic HTML, or DHTML, is a term which was used by some browser vendors to describe the combination of HTML, style sheets and client-side scripts (JavaScript, VBScript, or any other supported scripts) that enabled the creation of interactive ...
, XAML
Extensible Application Markup Language (XAML ) is a declarative XML-based language that Microsoft developed for initializing structured values and objects. It is available under Microsoft's Open Specification Promise.
XAML is used extensively ...
, RTF, and printed material.
* The rendering transformation applies style sheets and displays the final content to users.
Authoring
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.
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.
Format
The h1s help file format, along with the HelpPane viewer, is found in Windows Vista and Windows 7. The format is similar to Microsoft Help 2 hxs. 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
* MHTML
MHTML, an initialism of "MIME encapsulation of aggregate HTML documents", is a Web archive file format used to combine, in a single computer file, the HTML code and its companion resources (such as images) that are represented by external hyperl ...
* Sandcastle
Sand art is the practice of modelling sand into an artistic form, such as sand brushing, sand sculpting, sand painting, or creating sand bottles. A sandcastle is a type of sand sculpture resembling a miniature building, often a castle. The dr ...
* WinHelp
Microsoft WinHelp is a proprietary format for online help files that can be displayed by the Microsoft Help browser ''winhelp.exe'' or ''winhlp32.exe''. The file format is based on Rich Text Format (RTF). It remained a popular Help platform from ...
References
External links
Microsoft Vista User Experience Guidelines
at the MSDN Library
Assistance Platform Team Blog
at the Microsoft Developer Network (discontinued)
Sandcastle MAML Guide
{{Document markup languages
Markup languages
Assistance Markup Language
Online help
Windows Vista