This simple example illustrates how to use the express compiler,
including the following points: 
- how to compile short form schemas
- how to create complex entities
- how to add short names

The batch file included in this directory does all that.  

First, you see that a merged file examples.exp is built which contains both
express schemas from example_1.exp and example_2.exp files.
It is needed because these two schemas are in short form relationship:
example_2 schema has "USE FROM example_2;" interface specification.

Next, notice -D"jsdai.properties=." switch on the command line.
It tells to use the jsdai.properties file from the current directory.
And in the jsdai.properties file, the location of the ExpressCompilerRepo
repository, which is necessary for the express compiler to run, is specified. 

Now, look at the command line switches of the express compiler itself.
The order of the switches in not significant.

-is switch  switches off a strict implementation of a feature of ISO 10303-11
that does not have any effect with these simple schemas but that could really 
cause  problems for JSDAI with some short form schemas 
with interfaced SELECT data types.
One might say that -is switch just implements a more sensible and improved
ISO 10303-11. 

-express examples.exp  switch tell the express compiler to compile the express 
schemas inside examples.exp file.

-relax switch is a switch that hopefully again does nothing in this case.
If there are some non-syntax errors or warning during parsing, without this
switch the next passes and backend would not start.
So it is safer not to use this switch, unless some insignificant error message
cannot be avoided, then this switch allows to complete the job and you 
perhaps still may get correct output data.

-java switch tells to generate java packages for these two schemas.
So two subdirectories containing the java packages will appear in the current
directory:
jsdai\SExample_1\
and 
jsdai\SExample_2\

-binaries switch makes the binary files with the sdai models with the 
dictionary data of the two schemas to be added to their java packages.
So the files
EXAMPLE_1_DICTIONARY_DATA and EXAMPLE_2_DICTIONARY_DATA will appear in the
corresponding subdirectories.

-complex examples.ce  switch tells the express compiler to create complex 
entities that are defined in the examples.ce file.
In this case, one complex entity will be created, i.e, the java entity class
for it will be generate in SExample_2 package 
and also the instance of its entity definition will be  created in the
dictionary model of that schema.

-short_names switch tells the express compiler to add to the dictionary 
optional short names for the entities. The short names are read from 
example_1.SN and example_2.SN files in SHORT_NAMES subdirectory of the
current directory, as a different directory for short names is not specified
with -short_name_dir switch.           

-p21 examples.p21 switch tell the express compiler to export the repository
to ISO 10303-21  format file with the name examples.p21.
You can use this file to browse the dictionary if you do not feel like using
SdaiEdit which you should use for that purpose, really.                     


