The name can be 2-part, the first part specifying a scope. Application ForeignColors is an example. The term names are
applicable to the entire collection, both in case and sequence order. When the resource name is sufficient to
identify the underlying resource, the system name is optional . However, if more than one resource is managed by a provider, then the system name is required to identify
the provider. The system name may also be required if the external system requires a name with a format not supported by eXPL eg. a name
starting with a dollar symbol.
The optional properties are a list of name-value pairs. The name is a 1, 2 or 3-part name. The value must be a literal. If a system property
requires a name that does not comply ith eXPL format, then the provider will need to map an eXPL name to an external name.
Export-only
resource name export [ = "system-name"]
[ ( properties ) ];
The axiom header is replace by the "export" keyword. The resource name in this case identifies the name of a template which
produces solution axioms to be exported. This template will be automatically created if not included in the program. The other parts of
the declaration are the same as for the Import-only case.
Import+Export
resource
name axiom (
term-names ), export
name
[ = "system-name"]
[ ( properties ) ];
The export part follows the import axiom header, separated by a comma. Note the export resource name is independent of the
import one. The InWords application has an example of a bi-directional declaration and also
uses a resource name to match that of program's only template. Here is the resource declaration and template:
resource lexicon
axiom(word, definition),
export in_words;
template in_words (regex word ? "^in[^ ]+", definition);