Invokes the EDMexpressCompiler to produce one or more long form schema from short form schemata found on the specified input file(s). The short form schemata may be collected from separate files. The result of this command will be a new source Express file containing the specified long form schema. This function will have no effect on the EDMdatabase.
The EDMexpressCompiler performs normal compilation checking, i.e. syntax checking, check for unresolved references etc., hence a diagnostic report can be produced by this operation.
Header:
#include "sdai.h"
Prototype:
EdmiError edmiRemoteMakeLongForm(SdaiServerContext serverContextId,
SdaiString inputFiles,
SdaiString diagnosticFile,
SdaiString longFormSchemata,
SdaiOptions options,
SdaiString longFormFile,
SdaiInteger *warnings,
SdaiInteger *errors,
SdaiInvocationId *edmiInvocationId);
Arguments:
serverContextId |
Context identification, from edmiDefineServerContext |
inputFiles |
The name of the file(s) containing EXPRESS short form schema. If more than one file is specified, delimit each file name with a comma. The wild card symbol "*" is also a permitted character in a filename. The default file extension is ".exp". |
diagnosticFile |
The file name for diagnostic information generated by this function. If this argument is NULL or an empty string, the diagnostic information will be written to the _EDMinterface_ current output device. |
longFormSchemata |
The name of one or more Express schema that will be included in the resulting long form schema. When more than one schema name is specified, each schema name must be delimited by a comma. Schema names are case insensitive. |
options |
See description of available options below. |
longFormFile |
The name of a file that will contain the generated Express source of the specified long form schema. |
warnings |
A variable that will receive the number of warnings detected by the _EDMexpressCompiler_ in the current invocation. |
errors |
A variable that will receive the number of errors detected by the EDMexpressCompiler in the current invocation. |
edmiInvocationId |
Currently not used. |
Options: Descriptions:
EDM_EXPRESS_EXTENSION |
The compiler will accept EDM extensions to Express |
TC2 |
The schemas will be parsed in accordance with Technical Corrigendum no.2 |
EXPRESS_EDITION_2 |
Supports edition 2 of the Express language in the short form schemata. |
EDITION_1_LONGFORM |
Generates Express edition 1 longform schemata. |
HTML_ERROR_LISTING |
Compilation diagnostics will be written in HTML on files in the directory defined by the system variable EDMS_TMP_DIR. The diagnostic report may be presented by an HTML browser. |
EXTENSIVE_DIAGNOSTICS |
Sets the highest available diagnostics report level. |
DIAGNOSTICS_FOR_INTERFACED_ONLY |
Diagnostics information will only be generated for the interfaced short form schemata. |
REPLACE_SCHEMA_NAME_REPORT |
A report of the substituted string literals will be issued as a part of the diagnostic report from this command. The report will be checked to ensure that all substitutions are correct. Any errors, must be corrected in the long form schema with a text editor. |
IGNORE_EMPTY_SELECT |
No error message will be produced when the compiler detects that a SELECT definition, with an empty selection list, is interfaced from one schema to another. |
DIAGNOSTICS_FOR_ROOT_ONLY |
Diagnostics information will not be generated for the interfaced short form schemata. |
TAG_LONG_FORM |
An Express comment will be placed before each interfaced item to describe the reason for the interfacing, the originating schema etc. |
NO_DIAGNOSTICS |
No diagnostics will be produced by this function. The required checking is performed when compiling the generated long form schema. |
INTERFACED_SCHEMAS_REPORT |
A list of the interfaced schemata for each long form schema will be written as part of the diagnostic report. |
REPLACE_SCHEMA_NAMES |
String literals that define schema names of the short form schemata will be replaced with long form schema names in the resulting long form schema. This prevents error messages when compiling the resulting long from schema. |
Returns:
A completion code of datatype EdmiError is the returned function value. The completion code has the following values:
Completion code = 0 : Operation successfully performed.
Completion code != 0: Error in operation. Completion code is an _EDMinterface_ error code. Use edmiGetErrorText to get the error text corresponding to the error code.