Adobe 38040334 Extending Dreamweaver - Page 336

The following example shows the locked portion of code that might be generated from the translation

Page 336 highlights

DREAMWEAVER CS3 330 Extending Dreamweaver • 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 whether the Property inspector is the right one for the content. For more information, see "Creating Property inspectors for locked content" on page 331. 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 , and %25 for %). The quickest way to URL-encode a string is to use the escape() method. For example, if myString equals '', 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 serverside include : [home] [products] [services] [support] [about us] [help] Creating a translator that locks code inside a script tag can cause the translator to fail. For example, suppose you have the following code:

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302
  • 303
  • 304
  • 305
  • 306
  • 307
  • 308
  • 309
  • 310
  • 311
  • 312
  • 313
  • 314
  • 315
  • 316
  • 317
  • 318
  • 319
  • 320
  • 321
  • 322
  • 323
  • 324
  • 325
  • 326
  • 327
  • 328
  • 329
  • 330
  • 331
  • 332
  • 333
  • 334
  • 335
  • 336
  • 337
  • 338
  • 339
  • 340
  • 341
  • 342
  • 343
  • 344
  • 345
  • 346
  • 347
  • 348
  • 349
  • 350
  • 351
  • 352
  • 353
  • 354
  • 355
  • 356
  • 357
  • 358
  • 359
  • 360
  • 361
  • 362
  • 363
  • 364
  • 365
  • 366
  • 367
  • 368
  • 369
  • 370
  • 371
  • 372
  • 373
  • 374
  • 375
  • 376
  • 377
  • 378
  • 379
  • 380
  • 381
  • 382
  • 383
  • 384
  • 385

DREAMWEAVER CS3
Extending Dreamweaver
330
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 whether the Property inspector is the right one for the content. For more information, see “Creating
Property inspectors for locked content” on page 331. 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>]
[<A TARGET="_top" HREF="/company/">about us</A>]
[<A TARGET="_top" HREF="/help/">help</A>]
</CENTER>
<!-- end footer -->
<MM:EndLock>
Creating a translator that locks code inside a script tag can cause the translator to fail. For example, suppose you have
the following code:
<script language="javascript">
<!--
function foo() {
alert('<bean:message key="show.message"/>');
}
// -->
</script>
Then you create a translator for the
bean:message
struts tag, the translator fails because you are creating a
MM:BeginLock
section inside a
MM:BeginLock
section. A workaround is to create a JSP wrapper around the
bean:message
tag that uses regular JSP tags like
<%= My_lookup.lookup("show.message") %>
. This causes your
translator to skip this code, and the translation succeeds.