Adobe Extending Dreamweaver CS4 User Manual

Page 346

Advertising
background image

340

EXTENDING DREAMWEAVER CS4

Data translators

<html>

<head>
<title>Kent Tag Translator</title>
<meta http-equiv="Content-Type" content="text/html; charset=">
<script language="JavaScript">

/**********************************************************

* The getTranslatorInfo() function provides information *
* about the translator, including its class and name, *
* the types of documents that are likely to contain the *
* markup to be translated, the regular expressions that *
* a document containing the markup to be translated *
* would match (whether the translator should run on all *
* files, no files, in files with the specified *
* extensions, or in files matching the specified *
* expressions). *
**********************************************************/
function getTranslatorInfo(){

//Create a new array with 6 slots in it
returnArray = new Array(6);

returnArray[0] = "DREAMWEAVER_TEAM"; // The translatorClass
returnArray[1] = "Kent Tags"; // The title
returnArray[2] = "0"; // The number of extensions
returnArray[3] = "1"; // The number of expressions
returnArray[4] = "<kent"; // Expression
returnArray[5] = "byExpression"; // run if the file contains "<kent"
return returnArray;

}

/**************************************************************************
* The translateMarkup() function performs the actual translation. *
* In this translator, the translateMarkup() function is written *
* entirely in JavaScript (that is, it does not rely on a C library) -- *
* and it's also extremely inefficient. It's a simple example, however, *
* which is good for learning. *
***************************************************************************/
function translateMarkup(docNameStr, siteRootStr, inStr){

var outStr = ""; // The string to be returned after translation
var start = inStr.indexOf('<kent>'); // The first position of the KENT tag
// in the document.
var replCode = replaceKentTag(); // Calls the replaceKentTag() function
// to get the code that will replace KENT.

var outStr = ""; // The string to be returned after translation

//If the document does not contain any content, terminate the translation.
if ( inStr.length <= 0 ){

return "";

}

// As long as start, which is equal to the location in inStr of the
// KENT tag, is not equal to -1 (that is, as long as there is another
// KENT tag in the document)
while (start != -1){

// Copy everything up to the start of the KENT tag.
// This is very important, as translators should never change
// anything other than the markup that is to be translated.
outStr = inStr.substring(0, start);
// Replace the KENT tag with the translated HTML, wrapped in special

Advertising
This manual is related to the following products: