Adobe 38040334 Extending Dreamweaver - Page 261

Editing EDML files

Page 261 highlights

DREAMWEAVER CS3 255 Extending Dreamweaver Example The following example deletes all the participants of the sbObj server behavior, except the participants that are protected by the EDML file's delete tag. function deleteServerBehavior(sbObj) { dwscripts.deleteSB(sbObj); } Editing EDML files You must maintain Dreamweaver coding conventions when you edit a file. Pay attention to the dependency of one element upon another. For example, if you update the tags that are being inserted, you might also need to update the search patterns. Note: EDML files were new in Dreamweaver MX. If you are working with legacy server behaviors, see the earlier versions of the Extending Dreamweaver manuals. Regular expressions You must understand regular expressions as they are implemented in JavaScript 1.5. You must also know when it is appropriate to use them in the server behavior EDML files. For example, regular expressions cannot be used in quickSearch values, but they are used in the content of the searchPattern tag to find and extract data. Regular expressions describe text strings by using characters that are assigned with special meanings (metacharacters) to represent the text, break it up, and process it according to predefined rules. Regular expressions are powerful parsing and processing tools because they provide a generalized way to represent a pattern. Good reference books on JavaScript 1.5 have a regular expression section or chapter. This section examines how Dreamweaver server behavior EDML files use regular expressions in order to find arguments in your runtime code and extract their values. Each time a user edits a server behavior, prior argument values need to be extracted from the instances of the runtime code. You use regular expressions for the extraction process. You should understand a few metacharacters and metasequences (special character groupings) that are useful in server behavior EDML files, as described in the following table: Regular expression \ / ... /i ( ...) \s* Description Escapes special characters. For example: \. reverts the metacharacter back to a literal period; \/ reverts the forward slash to its literal meaning; and, \) reverts the parenthesis to its literal meaning. Ignores case when searching for the metasequence. Creates a parenthetical subexpression within the metasequence. Searches for white spaces. The EDML tag declares that runtime code needs to be searched. Each ... subtag defines one pattern in the runtime code that must be identified. For the Redirect If Empty example, there are two patterns. In the following example, to extract argument values from ,write a regular expression that identifies any string rs and new__url:

  • 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
255
Example
The following example deletes all the participants of the
sbObj
server behavior, except the participants that are
protected by the EDML file’s
delete
tag.
function deleteServerBehavior(sbObj) {
dwscripts.deleteSB(sbObj);
}
Editing EDML files
You must maintain Dreamweaver coding conventions when you edit a file. Pay attention to the dependency of one
element upon another. For example, if you update the tags that are being inserted, you might also need to update the
search patterns.
Note:
EDML files were new in Dreamweaver MX. If you are working with legacy server behaviors, see the earlier
versions of the Extending Dreamweaver manuals.
Regular expressions
You must understand regular expressions as they are implemented in JavaScript 1.5. You must also know when it is
appropriate to use them in the server behavior EDML files. For example, regular expressions cannot be used in
quickSearch
values, but they are used in the content of the
searchPattern
tag to find and extract data.
Regular expressions describe text strings by using characters that are assigned with special meanings (metachar-
acters) to represent the text, break it up, and process it according to predefined rules. Regular expressions are
powerful parsing and processing tools because they provide a generalized way to represent a pattern.
Good reference books on JavaScript 1.5 have a regular expression section or chapter. This section examines how
Dreamweaver server behavior EDML files use regular expressions in order to find arguments in your runtime code
and extract their values. Each time a user edits a server behavior, prior argument values need to be extracted from
the instances of the runtime code. You use regular expressions for the extraction process.
You should understand a few metacharacters and metasequences (special character groupings) that are useful in
server behavior EDML files, as described in the following table:
The EDML tag
<searchPatterns whereToSearch="directive">
declares that runtime code needs to be
searched. Each
<searchPattern>...</searchPattern>
subtag defines one pattern in the runtime code that must
be identified. For the Redirect If Empty example, there are two patterns.
In the following example, to extract argument values from
<% if (@@rs@@.EOF)
Response.Redirect("@@new__url@@"); %>,
write a regular expression that identifies any string
rs
and
new__url
:
Regular expression
Description
\
Escapes special characters. For example: \. reverts the metacharacter back to a literal period; \/ reverts the
forward slash to its literal meaning; and, \) reverts the parenthesis to its literal meaning.
/ ... /i
Ignores case when searching for the metasequence.
( ...)
Creates a parenthetical subexpression within the metasequence.
\s*
Searches for white spaces.