What is a <syntax> (from: E2 to E1 SHTOLO test files)
Ed Barkmeyer
edbark at nist.gov
Tue May 7 15:41:43 EDT 2002
All,
I think Jochen is right that we may need to be clearer as to what a <syntax>
object is. There seem to be three interpretations that are not quite the
same:
- some collection of Express schemas,
- the collection of Express schemas in a single "file",
- one or more short-form schemas and the transitive closure of the
"interfaces" (USE/REFERENCE) relationships out of them.
I always thought that a <syntax> corresponded to a "Part" of ISO 10303,
until Peter observed that the set of schemas in Part 53 consists of
multiple "files". (Because I also always thought of a "Part" as a
single logical "file".)
The problem with "file" is that it no longer means "the largest
unit of information submitted to a single process". It now only means
"some collection of information conveniently managed as a unit for
computer operating system purposes." So I don't think it means
anything to say a "syntax" is a "file". It is the same as the first:
some collection of Express schemas.
And we could use the first interpretation -- a "syntax" is any
collection of Express schemas packaged together. In that case, every
schema has an associated language-version-id, and putting the
language-version-id in front of the syntax associates that version
with every schema in the package. But then it is the schema that has
the language version; the syntax is just a convenience. And then we do
have to talk about E2 schemas interfacing E1 schemas and vice versa.
Or we could use the third interpretation, which *is* "the largest unit
of information submitted to a single process", that is, the set of all
schemas that are submitted to an Express parser for a single
'compilation'. Not only the file you submit but also any file that it
has to open in order to satisfy a USE/REFERENCE. (This is analogous
to the XML concept of a "document", which may consist of any number of
"files" that are incorporated by reference.)
That seems to be what Phil meant by a "syntax", and upon reflection,
I think that is the only meaning that is well-defined. And in that
view, you cannot have "an E2 schema interfacing an E1 schema". The
parser is processing a *closed* "syntax", which consists of a set of
schemas in which any unsatisfied USE/REFERENCE is an error. The
<syntax> is either E2 -- the version(4) conformance class -- or E1 --
the version(3) conformance class; it cannot be a mix.
So I agree we should define <syntax>. But "file" is the same as
"any collection of schemas". And the alternative is "all the
schemas you need". So does the language-version-id associate with
"all the schemas you need" or "each schema separately"?
-Ed
--
Edward J. Barkmeyer Email: edbark at nist.gov
National Institute of Standards & Technology
Manufacturing Systems Integration Division
100 Bureau Drive, Mail Stop 8260 Tel: +1 301-975-3528
Gaithersburg, MD 20899-8260 FAX: +1 301-975-4482
"The opinions expressed above do not reflect consensus of NIST,
and have not been reviewed by any Government authority."
More information about the wg11
mailing list