<HTML>
<HEAD>
<!-- Copyright 2001, 2002, 2003, 2004, 2005 Macromedia, Inc. All rights reserved. -->

<SCRIPT LANGUAGE="javascript">


//--------------------------------------------------------------------
// FUNCTION:
//   getServerModelDisplayName
//
// DESCRIPTION:
//   Returns the name that should be displayed in the UI for
//   this Server Model
//
//   This value can be accessed from JavaScript by calling the
//   function:
//     dom.serverModel.getDisplayName()
//
// ARGUMENTS:
//   None
//
// RETURNS:
//   string
//--------------------------------------------------------------------

function getServerModelDisplayName()
{
  return "XSLT";
}


//--------------------------------------------------------------------
// FUNCTION:
//   getServerModelFolderName
//
// DESCRIPTION:
//   Returns the folder name that will be used for this Server Model
//   within the Configuration folder
//
//   This value can be accessed from JavaScript by calling the
//   function:
//     dom.serverModel.getFolderName()
//
// ARGUMENTS:
//   None
//
// RETURNS:
//   string
//--------------------------------------------------------------------

function getServerModelFolderName()
{
  return "XSLT";
}


//--------------------------------------------------------------------
// FUNCTION:
//   getServerInfo
//
// DESCRIPTION:
//   Returns a JavaScript Object, which can be accessed from within
//   the JavaScript code.
//
//   The entire object can be retreived through the JavaScript function:
//     dom.serverModel.getServerInfo();
//
//   The properties: serverName, serverLanguage, and serverVersion
//   are special properties, which can also be accessed with the
//   JavaScript functions:
//     dom.serverModel.getServerName()
//     dom.serverModel.getServerLanguage()
//     dom.serverModel.getServerVersion();
//
// ARGUMENTS:
//   None
//
// RETURNS:
//   Object
//--------------------------------------------------------------------

function getServerInfo()
{
  var obj = new Object();

  obj.serverName = "XSLT";
  obj.serverLanguage = "XSLT";
  obj.serverVersion = "2.0";

  obj.recordsetDisplayName = MM.LABEL_TitleRecordset;
  obj.recordsetBaseName = MM.LABEL_RecordsetBaseName;
  obj.defaultRadioButtonSB = MM.LABEL_DynamicRadioSBFileTitleMX;
  obj.defaultCheckboxSB = MM.LABEL_DynCheckboxSBFileTitle;
  obj.defaultListboxSB = MM.LABEL_DynamicListMenuSBFileTitle;

  return obj;
}


//--------------------------------------------------------------------
// FUNCTION:
//   getServerModelExtDataNameUD4
//
// DESCRIPTION:
//   Returns the Server Model Implementation name that should be used
//   when accessing UD4 extension data files that live in the folder:
//     Configurations/ExtensionData
//
// ARGUMENTS:
//   None
//
// RETURNS:
//   string
//--------------------------------------------------------------------

function getServerModelExtDataNameUD4()
{
  return "XSLT";
}


//--------------------------------------------------------------------
// FUNCTION:
//   getFileExtensions
//
// DESCRIPTION:
//   Returns a JavaScript Array of the file extensions which will
//   be listed as potential default file extensions on the Application
//   Server configuration page within the Site definition dialog.
//
// ARGUMENTS:
//   None
//
// RETURNS:
//   Array
//--------------------------------------------------------------------

function getFileExtensions()
{
  FileExtensionArray = new Array();

  FileExtensionArray[0] = ".xsl";
  FileExtensionArray[1] = ".xslt";

  return FileExtensionArray;
}



//--------------------------------------------------------------------
// FUNCTION:
//   getServerSupportsCharset
//
// DESCRIPTION:
//   Returns true if the current server supports the given charset
//
//   The CharSet support be accessed from JavaScript by calling the
//   function:
//     dom.serverModel.getServerSupportsCharset(metaCharSetString)
//
// ARGUMENTS:
//   metaCharSetString - string - the value of the documents "charset="
//
// RETURNS:
//   Array
//--------------------------------------------------------------------

function getServerSupportsCharSet( metaCharSetString )
{
  // XSLT supports all character sets
  return true;
}

//--------------------------------------------------------------------
// FUNCTION:
//   updatePageDirective
//
// DESCRIPTION:
//   This function is called when a user changes their document encoding
//   or the document type of their document.
//
// ARGUMENTS:
//   dom - The Document DOM of the document to be opened.
//   addDirectiveIfNotFound - Optional, defaults to false, should we add
//   a page directive if we don't find one?
//
// RETURNS:
//   none
//--------------------------------------------------------------------

function updatePageDirective(dom)
{
  // should not need to do anything, since this is just XML
}


//--------------------------------------------------------------------
// FUNCTION:
//   getServerModelDelimiters
//
// DESCRIPTION:
//   Returns the script delimiters which are used by the application
//   server, and states whether each can or cannot participate in
//   merging of code blocks.
//
//   This value can be accessed from JavaScript by calling the
//   function:
//     dom.serverModel.getDelimiters()
//
// ARGUMENTS:
//   None
//
// RETURNS:
//   Array
//--------------------------------------------------------------------

function getServerModelDelimiters()
{
  DelimArray = new Array();

  // the first item in this list is used as the default
  //  delimeter type for the SBB
  DelimObject = new Object();
  DelimObject["startPattern"]="<xsl";
  DelimObject["endPattern"]=">";
  DelimObject["participateInMerge"]=false;
  DelimArray[0]=DelimObject;

  return DelimArray;
}


//--------------------------------------------------------------------
// FUNCTION:
//   getLanguageSignatures
//
// DESCRIPTION:
//   Returns the method and array signatures used by the scripting
//   language.
//
// ARGUMENTS:
//   None
//
// RETURNS:
//   Signatures object
//--------------------------------------------------------------------

function getLanguageSignatures()
{
  return new Object();
}


//--------------------------------------------------------------------
// FUNCTION:
//   inspectDynamicDataRef
//
// DESCRIPTION:
//
// ARGUMENTS:
//
// RETURNS:
//--------------------------------------------------------------------

function inspectDynamicDataRef(expression)
{
  var retArray = new Array()

  return retArray
}


//--------------------------------------------------------------------
// FUNCTION:
//   canRecognizeDocument
//
// DESCRIPTION:
//   This function is called when a user attempts to open a document
//   whose file extension matches two or more Document Types.
//
// ARGUMENTS:
//   dom - The Document DOM of the document to be opened.
//
// RETURNS:
//   integer +ve integer if document is identified.
//           -ve integer if not.
//--------------------------------------------------------------------
function canRecognizeDocument(dom)
{
  return 1;
}

</SCRIPT>
</HEAD>
<BODY>
</BODY>
</HTML>
