Attribute translation relies on the Dreamweaver parser to ignore server markup. By default, Dreamweaver already ignores the most common kinds of server markup (including ASP, CFML, and PHP); if you use server markup that has different opening and closing markers, you must modify the third-party tag database to ensure that your translator works properly. For more information on modifying the third-party tag database, see “Customizing Dreamweaver” in Using Dreamweaver.

When Dreamweaver handles preserving the original server markup, the translator generates a valid attribute value that can be viewed in the Document window. (If you use server markup only for attributes that do not have a user-visible effect, you do not need a translator.)

The translator creates an attribute value that has a visible effect in the Document window by adding a special attribute, mmTranslatedValue, to the tag that contains the server markup. The mmTranslatedValue attribute and its value are not visible in the HTML panel or in Code view, nor are they saved with the document.

The mmTranslatedValue attribute must be unique within the tag. If it is likely that your translator needs to translate more than one attribute in a single tag, you must add a routine in the translator that appends numbers to the mmTranslatedValue attribute (for example, mmTranslatedValue1, mmTranslatedValue2, and so on).

The value of the mmTranslatedValue attribute must be a URL-encoded string that contains at least one valid attribute-value pair. This means that mmTranslatedValue="src=%22open.jpg%22" is a valid translation for both src="<? if (dayType == weekday) then open.jpg else closed.jpg" ?> and <? if (dayType == weekday) then src="open.jpg" else src="closed.jpg" ?>. As mmTranslatedValue="%22open.jpg%22" contains only the value, not the attribute, it is not valid for either example.

Translating more than one attribute at a time

The mmTranslatedValue attribute can contain more than one valid attribute-value pair. Consider the following untranslated code:

 <img <? if (dayType==weekday) then src="open.jpg" width="320" height="100" else 
src="closed.jpg" width="100" height="320" ?> alt="We're open 24 hours a day from 
12:01am Monday until 11:59pm Friday">

The following example shows how the translated markup might appear:

 <img <? if (dayType==weekday) then src="open.jpg" width="320" height="100" else 
src="closed.jpg" width="100" height="320" ?> 
mmTranslatedValue="src=%22open.jpg%22 width=%22320%22 height=%22100%22" 
alt="We're open 24 hours a day from 12:01am Monday until 11:59pm Friday">

The spaces between the attribute-value pairs in the mmTranslatedValue attribute are not encoded. Because Dreamweaver looks for these spaces when it attempts to render the translated value, each attribute-value pair in the mmTranslatedValue attribute must be encoded separately and then pieced back together to form the full mmTranslatedValue attribute. For an example of this process, see A simple attribute translator example.

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License  Twitter™ and Facebook posts are not covered under the terms of Creative Commons.

Legal Notices   |   Online Privacy Policy