Adobe Extending Dreamweaver CS4 User Manual
Page 346

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