User Guide

Locking translated tags or blocks of code 345
Locking translated tags or blocks of code
In most cases, you want a translator to change markup so that Dreamweaver can display it, but
you want to save the original markup, not the changes. For such cases, Dreamweaver provides
special XML tags in which to wrap translated content and to refer to the original code.
When you use these XML tags, the contents of the original attributes are duplicated in Code
view. If the file is saved, the original, untranslated markup is written to the file. The untranslated
content is what Dreamweaver displays in Code view.
The syntax of the XML tags is shown in the following example:
<MM:BeginLock translatorClass="translatorClass" ¬
type="tagNameOrType" depFiles="dependentFilesList" ¬
orig="encodedOrignalMarkup">
Translated content
<MM:EndLock>
The italicized values in this example have the following significance:
The translatorClass value is the unique identifier for the translator; it is the first string in
the array that the
getTranslatorInfo() function returns.
The tagNameOrType value is a string that identifies the type of markup (or the tag name that is
associated with the markup) that is contained in the lock. The string can contain only
alphanumeric, hyphen (-), or underscore (_) characters. You can check this value in the
canInspectSelection() function of a custom Property inspector to determine if the
Property inspector is the right one for the content. For more information, see “Creating
Property inspectors for locked content” on page 349. Locked content cannot be inspected by
the Dreamweaver built-in Property inspectors. For example, specifying
type="IMG" does not
make the Image panel appear.
The dependentFilesList value is a string that contains a comma-separated list of files on
which the locked markup depends. Files are referenced as URLs, relative to the user’s
document. If the user updates one of the files named in the
dependentFilesList string,
Dreamweaver automatically retranslates the content in the document that contains the list.
The encodedOriginalMarkup value is a string that contains the original, untranslated
markup, encoded using a small subset of URL encoding (use
%22 for ", %3C for <, %3E
for >, and %25 for %
). The quickest way to URL-encode a string is to use the escape()
method. For example, if
myString equals '<img src="foo.gif">', escape(myString)
returns %3Cimg%20src=%22foo.gif%22%3E.
The following example shows the locked portion of code that might be generated from the
translation of the server-side include
<!--#include virtual="/footer.html" -->:
<MM:BeginLock translatorClass="MM_SSI" type="ssi" ¬
depFiles="C:\sites\webdev\footer.html" orig="%3C!--#include ¬
virtual=%22/footer.html%22%20--%3E">
<!-- begin footer -->
<CENTER>
<HR SIZE=1 NOSHADE WIDTH=100%>
<BR>
[<A TARGET="_top" HREF="/">home</A>]
[<A TARGET="_top" HREF="/products/">products</A>]
[<A TARGET="_top" HREF="/services/">services</A>]
[<A TARGET="_top" HREF="/support/">support</A>]