Example: Code Generation

www.altova.com このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  The MapForce API > Overview > Examples > JScript Examples >

Example: Code Generation

The following JScript example shows how to load an existing document and generate different kinds of mapping code for it.

 

// ------------------- begin JScript example ---------------------
// Generate Code for existing mapping.
// works with Windows scripting host.
 
// ----------------- helper function ------------------
function Exit(strErrorText)
{
  WScript.Echo(strErrorText);
  WScript.Quit(-1);
}
 
function ERROR(strText, objErr)
{
  if (objErr != null)
     Exit ("ERROR: (" + (objErr.number & 0xffff) + ")" + objErr.description + " - " + strText);
  else
     Exit ("ERROR: " + strText);
}
// ---------------------------------------------------
 
// ----------------- MAIN ------------------
 
// ----- create the Shell and FileSystemObject of the windows scripting
try
{
  objWshShell = WScript.CreateObject("WScript.Shell");
  objFSO = WScript.CreateObject("Scripting.FileSystemObject");
}
catch(err)
  { Exit("Can't create WScript.Shell object"); }
 
// ----- open MapForce or access running instance and make it visible
try
{
  objMapForce = WScript.GetObject ("", "MapForce.Application");
  objMapForce.Visible = true;     // remove this line to perform background processing
}
catch(err) { WScript.Echo ("Can't access or create MapForce.Application"); }
 
// ----- open an existing mapping. adapt this to your needs!
objMapForce.OpenDocument(objFSO.GetAbsolutePathName ("Test.mfd"));
 
// ----- access the mapping to have access to the code generation methods
var objDoc = objMapForce.ActiveDocument;
 
// ----- set the code generation output properties and call the code generation methods.
// ----- adapt the output directories to your needs
try
{
  // ----- code generation uses some of these options
  var objOptions = objMapForce.Options;
 
  // ----- generate XSLT -----
  objOptions.XSLTDefaultOutputDirectory = "C:\\test\\TestCOMServer\\XSLT";
  objDoc.GenerateXSLT();
 
  // ----- generate Java Code -----
  objOptions.CodeDefaultOutputDirectory = "C:\\test\\TestCOMServer\\Java";
  objDoc.GenerateJavaCode();
 
  // ----- generate CPP Code, use same cpp code options as the last time -----
  objOptions.CodeDefaultOutputDirectory = "C:\\test\\TestCOMServer\\CPP";
  objDoc.GenerateCppCode();
 
  // ----- generate C# Code, use options C# code options as the last time -----
  objOptions.CodeDefaultOutputDirectory = "C:\\test\\TestCOMServer\\CHash";
  objDoc.GenerateCHashCode();
}
catch (err)
  { ERROR ("while generating XSL or program code", err); }
 
 
// hide MapForce to allow it to shut down
objMapForce.Visible = false;
 
// -------------------- end example ---------------------


(C) 2019 Altova GmbH