beautypg.com

Edml files, Regular expressions – Adobe Extending Dreamweaver CS4 User Manual

Page 264

background image

258

EXTENDING DREAMWEAVER CS4

Server behaviors

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:

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

<% if (@@rs@@.EOF)

Response.Redirect("@@new__url@@"); %>,

write a regular expression that identifies any string

rs

and

new__url

:

/if d ((\w+)\.EOF\) Response\.Redirect\("([^\r\n]*)"\)/i

This process searches the user’s document and, if there is a match, extracts the argument values. The first parenthetical
subexpression (

\w+

) extracts the value for

rs

. The second subexpression (

[^\r\n]*

) extracts the value for

new_url

.

Note: The character sequence "[^\r\n]*" matches any character that is not a linefeed, for the Macintosh and Windows
platforms.

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.

This manual is related to the following products: