Edml files, Regular expressions – Adobe Extending Dreamweaver CS4 User Manual
Page 264
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.