Paths in Execution Environments
If you generate code from mappings, compile mappings to MapForce Server execution files (.mfx), or deploy mappings to FlowForce Server, the generated files are run by the target environment you have chosen: for example, RaptorXML Server, MapForce Server, or a C# application. For the mapping to run successfully, any relative paths must be meaningful in the environment where the mapping runs. The base paths for each target language are given below:
Target language | Base path |
---|---|
XSLT, XSLT2, XSLT3 | Path of the XSLT file. |
XQuery* | Path of the XQuery file. |
C++, C#, Java* | Working directory of the generated application. |
Built-In* (when previewing the mapping in MapForce) | Path of the mapping file (.mfd). |
Built-In* (when running the mapping with MapForce Server) | The current working directory. |
Built-In* (when running the mapping with MapForce Server under FlowForce Server control) | The working directory of the job or the working directory of FlowForce Server. |
* Languages available in MapForce Professional and Enterprise editions
Relative path to absolute path
When you generate program code, compile MapForce Server execution files (.mfx), or deploy the mapping to FlowForce Server, a relative path will be converted to an absolute path if you select the check box Make paths absolute in generated code in the mapping settings.
When you generate code and the check box is selected, MapForce resolves any relative paths based on the directory of the .mfd and makes them absolute in the generated code. This setting affects the paths of the following files:
•Input and output instance files for all file-based components;
•Access and SQLite database files used as mapping components (Professional and Enterprise editions).
Library paths in generated code
Mapping files may optionally contain path references to different libraries. For example, you can import user-defined functions from another mapping file, from custom XSLT, XQuery*, C#* or Java* libraries, or from .mff* (MapForce Function) files. For more information, see Managing Function Libraries.
* Features available in MapForce Professional and Enterprise editions
The option Make paths absolute in generated code applies only to mapping components and does not affect paths to external libraries. For all libraries other than XSLT and XQuery, the library path will be converted to an absolute path in generated code. For example, if your mapping file contains library references such as .NET .dll or Java .class files, and if you want to run the generated code in some other environment, the referenced libraries must exist at the same path in the target environment.
If you plan to generate an XSLT or XQuery file from a mapping, make the library path relative to the generated XSLT or XQuery file:
1.Open the mapping settings.
2.Select the check box Reference libraries with paths relative to generated XSLT/XQuery file. Make sure that the XSLT or XQuery library file exists at that path.