Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »


 
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.
Use edmiDefineOutputFunction to redefine 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.
The schema specified by this argument must be found in the file(s) specified in the <inputFiles> argument.

options

See description of available options below.
Options may be joined by using the bitwise OR operator. Default behaviour is that no subtypes be included in the returned entity extent.

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.
Three or four HTML diagnostic files will be generated with the following names:
On UNIX: s_main.html, s_err.html, s_exp0.html and optionally s_sch.html.
On Windows: s_main.htm, s_err.htm, s_exp0.htm and optionally s_sch.htm.
The root-file (s_main.htm or s_main.html) must be specified when viewing the error report in 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.
Express constructions with expressions that refer to the empty select may not be properly checked when this option is set. This option should never be set when compiling schemata that will be used as the underlying schema for data models.

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.

  • No labels