IEML Syntax
Prof. Pierre Lévy, CRC, FRSC
University of Ottawa
www.ieml.org
Version 3.0 (14 February 2008)
The Information Economy MetaLanguage (IEML) provides a communications platform that comprehends the classes of human transactions and the classes of things that are involved in human transactions, such as services, skills, authority, entities with skills and/or authority money, and so on: human affairs. IEML allows these classes to be uniquely identified and exploited as tools for describing and measuring societal phenomena.
Each class of human affairs is represented as a flow. A flow is a relationship between things that play three different roles: source, destination, and translator. In IEML, every human affair can be characterized as emanating from a specific location in IEML space, the source. Depending on the nature of the affair, the destination and translator roles may be played by locations in IEML space. The general term for what is flowing from a source to a destination is information. The location in IEML space that plays the translator role, if any, serves as the vehicle used to move information from source to destination.
Flows are themselves locations in IEML space, and flows generally consist of other flows. The only exception is that a role may be played by one of six primitives. All of IEML, with its power to specify locations in semantic subspace, is derived from these six primitives. The primitives comprise the first of IEML's six layers. The other five layers consist of flows: the flows at layer 2 consist of primitives, the flows at layer 3 consist of flows at layer 2, the flows at layer 4 consist of flows at layer 3, and so on.
The primary focus of this document is the STAR-IEML syntax, which is designed for compactness and usability in communications among IEML practitioners. There is also an XML-based IEML syntax. Like all XML vocabularies, the latter is directly useful in electronic computing applications.
Words that look like this are defined in the Glossary.
STAR-IEML expressions look like this.
When STAR-IEML syntax is used, but the usage is not intended to be a complete IEML expression, it looks like this (i.e., no leading star or trailing stars appear). However, when they appear in tables, even complete IEML expressions are shown without stars, in order to conserve space. All of the valid STAR-IEML expressions that appear in this document are links; click on any such expression to see its representation in XML.
When the symbol == appears between two complete or incomplete IEML expressions, it means that both expressions represent the same set.
Expressions in XML notation look like this.
In IEML there are six primitives U:, A:, S:, B:, T: and the placeholder primitive E:. Each of them appears in its own primitive category, of which it is the only member. In addition, there are four other primitive categories, O:, M:, F: and I:, that are combinations of primitive categories.
| Descriptor in the English language |
Primitive | Primitive Category |
Members of This Primitive Category |
This Primitive Category is a Member of These Primitive Categories |
| virtual | U: | U: | U: |
U: O: F: I: |
| actual | A: | A: | A: |
A: O: F: I: |
| sign | S: | S: | S: |
S: M: F: I: |
| being | B: | B: | B: |
B: M: F: I: |
| thing | T: | T: | T: |
T: M: F: I: |
| empty | E: | E: | I: | |
| verbs | O: | U: A: |
O: F: I: |
|
| nouns | M: |
S: B: T: |
M: F: I: |
|
| full | F: |
F: U: A: O: S: B: T: M: |
I: | |
| information | I: |
I: E: F: U: A: O: S: B: T: M: |
I: |
In IEML, a category is either a set of primitives (a primitive category) or a set of flows (a generated category). A category may have many members, or only one member, or, in the case of "empty" categories, no members. The symbols for categories are the building blocks of IEML-STAR syntax.
| category | e.g. a set of flows that includes the notion of price |
| flow | e.g. the notion of price |
| instance | e.g. a price of ten dollars |
If a category has only one member, the distinction between it and its only member is blurred. For example, the primitive category S: is notated the same way as the only member of that category.
Every category is at a specific layer, and all of its members, if any, are at that same layer. Categories at layer 1 are called primitive categories. Primitive categories are specified by uppercase letters.
Everything that is expressible in IEML is represented by the primitive category I: (information). The trailing colon : is a layer mark indicating that the category is at layer 1. Layer 1 is called the primitive layer.
The dialectic tension between what is virtual and what is actual helps to characterize human affairs as actions. Actions are expressed as IEML verbs. Verbs are flows whose sources are either virtuality or actuality. The primitive category O: (verb) is comprised of the primitive categories U: (virtual) and A: (actual).
Whatever is not actual is virtual. The primitive category U: (virtual) has a single member. STAR-IEML does not distinguish between this category and its only member; U: is an elementary component of the STAR-IEML syntax.
Whatever is not virtual is actual. The primitive category A: (actual) has a single member. STAR-IEML does not distinguish between this category and its only member; A: is an elementary component of the STAR-IEML syntax.
A tripolar dialectic is exploited by IEML to characterize human affairs as IEML nouns. The dialectic consists of things that represent other things (signs), things that understand signs (beings), and everything else (things). Nouns are flows whose sources are either signs, beings, or things. The primitive category M: (noun) is comprised of the primitive categories S: (sign), B: (being) and T: (thing).
Whatever represents something is a sign. The primitive category S: (sign) has a single member. STAR-IEML does not distinguish between this category and its only member; S: is an elementary component of the STAR-IEML syntax.
Whatever understands signs (i.e., human beings and things that are like human beings, at least in that respect) is a being. The primitive category B: (being) has a single member. STAR-IEML does not distinguish between this category and its only member; B: is an elementary component of the STAR-IEML syntax.
A thing is whatever is neither a sign nor a being. The primitive category T: (thing) has a single member. STAR-IEML does not distinguish between this category and its only member; T: is an elementary component of the STAR-IEML syntax.
The primitive category E: (empty) has no members; it is the absence of any of the elementary components U:, A:, S:, B:, or T:. It serves the same purpose in STAR-IEML as does the zero in the representation of numbers; it is a syntactic placeholder.
The primitive category F: (full) is comprised of all five of the elementary components: U:, A:, S:, B:, and T:.
Alert readers may now wonder, what is the difference between F: and I:? The difference is that, unlike F:, I: also includes the possibility of emptiness (E:).
Not all semantics can be distinguished using only the distinctions provided by the dialectic poles virtual, actual, sign, being, and thing. In these cases, the symmetries, oppositions and inclusion structures provided by the IEML syntax may be used to map an intended semantic structure. In any case, the structures of IEML sets should map as closely as possible the structures of the corresponding semantic domains.
Human affairs can be characterized by their transferences of information. Each transference has an emitter. It may have a receiver, and the conveyance itself may also be significant. In IEML, classes of human affairs are identified as flows. Sets of flows are expressed as IEML categories. Every category is expressed as an ordered list of three components. The first component plays the source (emitter) role. The second component plays the destination (receiver) role. The third component plays the translator (conveyance) role.
Any role may be unplayed. When a role is unplayed, the role is empty. The following example specifies a layer 2 flow in which the destination and translator roles are unplayed:
However, a category may be an empty set; in this case the category is either an expressed in STAR-IEML as the empty primitive category or as an empty generated category. An empty category is a category in which all the roles are unplayed (empty).
In any given flow, all of the role players are at the same layer. The flow itself is at the layer of its role players plus one. For example, all of the role players of a flow at layer 2 are at layer 1.
Layer 1 role players are primitive categories. All other role players (role players at layers 2-5) are generated categories. Since there is no layer 7, layer 6 categories are never role players. Layers 1 through 5 are generating layers, while layers 2 through 6 are generated layers. Therefore, layers 2 through 5 are both generating and generated.
A role player may be a set. For example, if a role player is O:, then in fact the role is played by the set comprised of U: and A:. There is a process of cartesian multiplication at work in the expression of generated categories. This process is illustrated in the following examples:
In the example above, the source role is played by O:, while the destination and translator roles are unplayed. Because the source is actually a set of 2 primitive categories, and because of the cartesian multiplication implicit in the STAR-IEML syntax, the category is a set of two flows: U:E:E:. and A:E:E:.. The following example is slightly more complex:
The above example specifies a category which is a set of four flows: U:U:E:., U:A:E:., A:U:E:. and A:A:E:..
Every generated category specifies a generative set operation in which each of the three roles, together with its role player, if any, is a generative operand.
IEML is structured in six layers. The foundational layer is called the primitive layer; it consists of the primitive categories discussed in the preceding section. The remaining five layers consist of categories (generated categories) of flows, with each succeeding layer's flows being constructed from the categories in the layer beneath it (the "layer n -1").
Each of the six layers has a special punctuation mark called a layer mark. In STAR-IEML, expressions of primitive categories and generated categories always end with a layer mark that specifies its layer.
| Layer | Layer Name | Flows at this layer consist of generative operands at layer | Layer Mark |
| 1 | primitive | (no flows at this layer) | : |
| 2 | event | 1 | . |
| 3 | relation | 2 | - |
| 4 | idea | 3 | ' |
| 5 | phrase | 4 | , |
| 6 | seme | 5 | _ |
The flows and categories at each generated layer (i.e., each of the layers 2 to 6) are called the same name as the name of the layer. For example, a flow or category of flows at layer 2 (the event layer) is called an event, while a flow or category at layer 3 is called a relation, and so on.
In the following example, there are four layer marks. Each of the three colons terminates the expression of a primitive (layer 1) category; the colon is the layer mark of the primitive layer. The final dot terminates the expression of an event (layer 2) category in which the three preceding primitive category expressions respectively specify the source, destination, and translator roles.
In any STAR-IEML expression, the rightmost layer mark specifies the layer of the category that is being expressed. Any preceding layer marks terminate its generative operands, or the generative operands of its generative operands, etc. The following example specifies a category at the relation layer; its generative operands are event categories whose generative operands are primitives.
Each of the six layers can be considered a semantic space consisting of a finite number of distinct points.
| layer number | layer name | order of magnitude of the number of points in the semantic space at this layer | |
| 1 | primitive | 6 | |
| 2 | event | 216 | |
| 3 | relation | 106 | |
| 4 | idea | 1018 | |
| 5 | phrase | 1054 | |
| 6 | seme | 10162 |
At each of the layers 2 to 6, each of the points consists of 1, 2, or 3 points at the layer n - 1. The points at layer n - 1 are the role players at layer n.
In STAR-IEML, if a translator role is unplayed at any level, the expression of the category can be terminated by a layer mark without specifying a placeholder for it. For example, the following three STAR-IEML expressions are equivalent:
Similarly, if both the destination and translator roles are unplayed, the expression can end immediately after the source role player is specified. The following three STAR-IEML expressions are equivalent:
In all such cases, the trailing empty category expressions are implicit.
There are 63 (216) single-event categories in IEML. In STAR-IEML, 25 of them can be represented by a specific lowercase letter, or by two lowercase letters. In the table below, one of these 25 categories is shown in each cell. In each cell, the first line shows the shortest way to notate the event in STAR-IEML -- one of the 25 lowercase-letter codes. Below that is the descriptor in the English language. At the bottom of each cell, the event is notated in terms of its primitive role players.
|
wo. generate possible U:U:. |
wa. operate U:A:. |
y. know U:S:. |
o. want U:B:. |
e. be able U:T:. |
|
wu. perceive A:U:. |
we. reconstitute A:A:. |
u. express A:S:. |
a. commit A:B:. |
i. do A:T:. |
|
j. signifier mutation S:U:. |
g. document mutation S:A:. |
s. thought S:S:. |
b. language S:B:. |
t. memory S:T:. |
|
h. meaning mutation B:U:. |
c. personal mutation B:A:. |
k. society B:S:. |
m. affect B:B:. |
n. world B:T:. |
|
p. referent mutation T:U:. |
x. material mutation T:A:. |
d. truth T:S:. |
f. life T:B:. |
l. space T:T:. |
In STAR-IEML, there are two kinds of operations that result in sets of primitives or flows: generative set operations (see above) and non-generative set operations. The latter kind includes union, intersection and difference operations. Non-generative set operators are infix operators, i.e., they appear between their two operands. The two operands are sets, i.e., they are primitive or generated categories, or they are sets which result from other non-generative set operations.
Non-generative set operations must be surrounded by the group operator ( ). Within any group, all of the operands must be at the same layer.
STAR-IEML's union operator is |. The result of a union operation is the set whose members are all of the members in the sets that are its operands.
The player of the source role in the above event category is the union of U: and M:. Since M: is itself the set (S:|B:|T:), the set of events in the category is (U:.|S:.|B:.|T:.).
STAR-IEML's intersection operator is &. The result of an intersection operation is the set whose members appear in both of the sets that are its operands.
The player of the source role in the above event category is the intersection of U: and M:. Since M: is itself the set (S:|B:|T:), and since U: is not a member of that set, the result is the empty set. (At the primitive layer, this set is notated E:; at the event layer, it is notated E:..)
STAR-IEML's difference operator is ^. The result of a difference operation is the set whose members appear in only one of the sets that are its operands.
The player of the source role in the above event category is the difference between U: and M:. Since M: is itself the set (S:|B:|T:), and since U: is not a member of that set, the result is (U:.|S:.|B:.|T:.).
When a sequence of non-generative set operations is notated, e.g. (U:.|S:.|B:.|T:.), the order of operations is left to right. For example, in the foregoing incomplete STAR-IEML expression, the first operation is (U:.|S:.), the second operation is
and the third operation is
If an order of operations other than left-to-right is desired, the group operator ( ) may be used to give precedence to the operations specified within a group over the operations specified outside it.
In the following example, the two expressions are identical except that in the second expression, a group operator changes the order of operations in such a way as to yield a different result:
In (1), the first (leftmost) operation, (U:^M:), yields (U:|S:|B:|T:) (remember: M: == (S:|B:|T:)). The second operation, ((U:|S:|B:|T:)|O:), yields (U:|S:|B:|T:|A:) (remember: O: == (U:|A:)).
In (2), the first (innermost) operation, (M:|O:), yields (S:|B:|T:|U:|A:). The second operation, (U:^(S:|B:|T:|U:|A:)), yields (S:|B:|T:|A:).
Group operators can be nested inside one another. The number of levels of nesting is unlimited.
A diagonal generative set operation is a cartesian multiplication whose resulting set does not include any members in which two or more of the role players are not identical. The diagonal operator is { }.
In order to explain diagonal generative set operations, we must first review the default cartesian multiplication process. In the STAR-IEML expression M:M:., the category M: plays both the source and destination roles. The results of the default (i.e., non-diagonal) cartesian multiplication process can be rendered in the form of a table, as follows:
| S:S:. | S:B:. | S:T:. |
| B:S:. | B:B:. | B:T:. |
| T:S:. | T:B:. | T:T:. |
If instead a diagonal generative set operation is specified, all of the flows in which two or more of the role players are not identical are removed from the resulting set. In the case of the above example, there are only three flows in the result: the three flows whose sources and destinations are the same. The role players whose operands must match in order to produce a member in the resulting set are wrapped in { } characters.
| S:S:. | ||
| B:B:. | ||
| T:T:. |
The above table illustrates the reason why the { } operator indicates a so-called "diagonal" generative set operation: where the two or more operands are identical sets, the result is the same subset as would normally appear on the diagonal of a table. However, the same procedure can be applied to non-identical operands.
For cases where multiple diagonal generative set operations appear in an IEML expression, STAR-IEML provides a way to allow specific operands to refer to each other, using matching identifying decimal numbers. These identifying numbers, called parameter identifiers, appear immediately before the closing diagonal operator }.
In the above example, all four of the diagonal operands must match in each member of the set that results from the generative set operation being specified. The above example yields:
The above example yields:
When diagonal operands have no parameter identifiers, they treated as though they refer to each other. In other words, the lack of a parameter identifier is itself a unique parameter identifier. For example,
is equivalent to
Sometimes, it is necessary to specify a broader category than the one which is actually intended, and to indicate that what is actually intended is a subset of that category. STAR-IEML's undetermined subset operator, < >, is useful for this purpose.
It is desirable to be able to address undetermined subset operations from outside a given IEML expression, in order to say, for example, that a particular undetermined subset should be considered a particular subset for some purpose. In order to facilitate such addressing, undetermined subsets may have unique identifying decimal numbers, called parameter identifiers. These appear immediately before the closing undetermined subset operator >.
In the above example, the first undetermined subset is <O:1>. Its parameter identifier is 1. Since O: is the set (U:|A:), the undetermined subset may be any one of the following:
Note: E: is not a possibility because E: is not an element of O:. (O: is itself a subset of F: that excludes E:.)
The second undetermined subset in the above example is <F:2>. It may be any combination of U:, A:, S:, B:, and T:.
Whitespace characters, i.e. spaces, tabs, carriage returns and/or linefeeds can be inserted in any numbers and in any combinations, anywhere in a STAR-IEML expression. This feature can be used in combination with comments (see below) to present IEML expressions with explanatory materials without compromising their parsability.
Instantiators are used to specify particular instances of the classes of human affairs that are being specified as IEML categories. In STAR-IEML, every instantiator begins with the instantiator start delimiter ([) and ends with the instantiator end delimiter (]). The syntax and conventions that govern the text that appears between the two brackets is not constrained by STAR-IEML, except that the instantiator end delimiter (]) cannot appear in an instantiator.
When a category has one or more instantiators, they must appear after the layer mark for the last role player at layer n - 1, and before the layer mark for that category, along with any comments associated with that category.
Within an instantiator, whitespace is significant and all whitespace characters must be preserved by STAR-IEML parsers.
| Category | Category Descriptor |
Instance Indication (non-IEML) |
Category with Instantiator |
Interpretation |
| b.o.- u.u.-' |
language | en | b.o.-u.u.-[en]' | the English language |
| b.o.- u.u.-' |
language | sp | b.o.-u.u.-[sp]' | the Spanish language |
| d.i.- k.i.- t.u.-' |
price | 10$ | d.i.-k.i.-t.u.- [10$]' |
a price of 10 dollars |
| t.o.- n.o.- s.u.-' |
date | 1956-07-02 | t.o.-n.o.-s.u.- [1956-07-02]' |
the 2nd of July, 1956 |
| t.u.- t.u.-' |
number | 2450864356 | t.u.-t.u.- [2450864356]' |
the number 2450864356 |
| t.u.- n.u.-' |
proper name | Lawrence Zorpegson |
t.u.-n.u.- [Lawrence Zorpegson]' |
the name Lawrence Zorpegson |
| d.i.- l.i.-' t.u.-' l.o.- j.j.-', |
terrestrial coordinates |
23.5 S, 47 W | d.i.-l.i.-'t.u.-' l.o.-j.j.-' [23.5 S, 47 W], |
the geographic location 23.5 S, 47 W |
Comments are used to associate arbitrary texts with specific categories that appear in IEML expressions. In STAR-IEML, every comment begins with the comment start delimiter (/$) and ends with the comment end delimiter ($/). The syntax and conventions that govern the text that appears between the two brackets is not constrained by STAR-IEML, except that the comment end delimiter ($/) cannot appear in a comment.
Within a comment, whitespace is significant and all whitespace characters must be preserved by STAR-IEML parsers.
When a category has one or more comments, they must appear after the layer mark for the last role player at layer n - 1, and before the layer mark for that category, along with any instantiators associated with that category.
One application of comments is to allow discussions of particular categories within IEML expressions, as shown in the following example:
In the above example, both comments are associated with the relation that begins the expression: M:M:.O:M:.-. Both comments appear before the terminating layer mark of this relation (-).
Any number of instantiators, comments, or both can be associated with the expression of any category in IEML. STAR-IEML parsers should preserve both them and the order in which they are encountered, but they need not preserve any whitespace that appears outside any comment or instantiator.
Every generated category consists of three roles (source, destination and translator) and its expression is terminated by a layer mark. Each of its role players, too, has a terminating layer mark, and if the role players are themselves generated categories (i.e., unless they are primitive categories), their role players, too, have terminating layer marks. Even primitive categories, which have no role players, are terminated by layer marks, so there is always a terminating layer mark, regardless of which layer it indicates.
As already seen above, STAR-IEML expressions can indicate any trailing E:s of a given category implicitly, simply by terminating the category with the category's layer mark at the point where the remaining roles are played by empty categories. This permits the expression of categories whose translator and destination roles are unplayed to be abbreviated significantly, and this kind of abbreviation has been used in this document extensively.
In the XML-based IEML notation, an XML element type is provided for the empty category at each layer. Instances of the element types for empty generated categories can be used in place of the subtrees of elements that would otherwise be required; they are the "XML way" of abbreviating the expression of empty categories. The table below gives the element type name (the XML "tag") used for empty categories at each layer.
| Layer Number |
Layer Name |
Abbreviated STAR-IEML Expression |
Name of XML element type |
| 1 | primitive | E: | <E> |
| 2 | event | E:. | <emptyEvent> |
| 3 | relation | E:.- | <emptyRelation> |
| 4 | idea | E:.-' | <emptyIdea> |
| 5 | phrase | E:.-', | <emptyPhrase> |
| 6 | seme | E:.-',_ | <emptySeme> |
The number of members in the set of flows expressed as a category can be maximized by specifying that each of its role players is a category that itself includes all of the categories that are possible at its layer. Such a maximized category is called a complete category.
As already noted above, STAR-IEML's notation of the complete category at the primitive layer (the "complete primitive category") is I:; all possibilities are included in I:, including the possibility of emptiness. At the event layer, the complete category is I:I:.. At the relation layer, the complete category is I:I:.I:I:.-. At the idea layer, the complete category is:
I:I:.I:I:.-I:I:.I:I:.-I:I:.I:I:.-'
At the phrase layer, the complete category is:
At the seme layer, the complete category is:
STAR-IEML provides a way to abbreviate the expression of categories whose trailing roles (either destination and translator, or just translator) are played by complete categories. The technique is very similar to using a layer mark to make trailing E:s implicit (see above), but instead of using a layer mark at the point where the remaining roles are played by empty categories, the completion operator (~, also called the tilde operator) is used instead. This means that the remaining roles are implicitly played by complete categories. In each of the three pairs of examples shown below, the expression on the left is abbreviated, and the equivalent expression on the right is not abbreviated. The first member of each pair uses an ordinary layer mark in the same position that the second member of each pair uses the completion operator.
In the XML-based IEML notation, an XML element type is provided for the complete category at each layer. Instances of the element types for complete generated categories can be used in place of the subtrees of elements that would otherwise be required; they are the "XML way" of abbreviating the expression of complete categories. The table below gives the element type name (the XML "tag") used for complete categories at each layer.
| Layer Number |
Layer Name |
Abbreviated STAR-IEML Expression |
Name of XML element type |
| 1 | primitive | I: | <I> |
| 2 | event | I~. | <completeEvent> |
| 3 | relation | I~~- | <completeRelation> |
| 4 | idea | I~~~' | <completeIdea> |
| 5 | phrase | I~~~~, | <completePhrase> |
| 6 | seme | I~~~~~_ | <completeSeme> |
The role player duplication operator !, also called the bang operator, provides a way to specify that the category that plays the source role also plays the destination and translator roles.
The bang operator, when used, replaces the layer mark for the player of the source role.
The listing below was made from the output of:
starparser.py -dtdOnly
<!-- XML-based IEML Syntax Document Type Definition (DTD)
version 1.51 2007-12-14 -->
<!--
The following %setET; and %setAtrs; parameter entities have been
expanded everywhere they were formerly invoked, in order to
comply with the XML restriction that parameter entities
are not processed when occurring in the internal subset.
-->
<!--
<!ENTITY % setET " I | F | E | M | O | U | A | S | B | T | wo |
wa | wu | we | y | o | e | u | a | i | j | g | h | c | p | x | s
| b | t | k | m | n | d | f | l | emptyEvent | emptyRelation |
emptyIdea | emptyPhrase | emptySeme | completeEvent |
completeRelation | completeIdea | completePhrase | completeSeme
| group | union | intersection | difference | genOp |
undeterminedSubsetOf | diagonal " >
-->
<!--
<!ENTITY % setAtrs "
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase | seme
) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
">-->
<!--
commentsAndInstantiators : Any comments and/or instantiators
associated with this set. These are
associated with the set that appears at the
level that is indicated by the following layer
mark. For example: in *M:$comment$.** the
comment is associated with the set of events
terminated by the dot. Similarly, in
*M:[instantiator].** the instantiator is
associated with the set of events terminated
by the dot. A commentsAndInstantiators
attribute can have as its value any number of
instantiators and comments, in the order in
which they appeared (or should appear) in the
star expression. This is why their delimiters
are preserved.
layer : The layer of all of the members of the set.
role : The role that this set plays in the containing
category expression (layer n+1).
fillWith : "I" to fill with I (the completion operator
was used).
"E" to fill with E (the layer mark truncated
the expression of a generative operation
immediately after the source or destination.
"S" to copy source to destination (and
translator, too, if the layer number > 3) (the
role player duplication operator was used).
first : A decimal number representing the number of
characters in the entire IEML expression that
appear before the first character of the IEML
construct represented by this particular XML
element. If the IEML expression begins with
this construct, the value of the "first"
attribute is 0.
last : A decimal number representing the number of
characters in the entire IEML expression that
appear before the last character of the IEML
construct represented by this particular XML
element.
-->
<!-- A whole IEML expression. The document element type. -->
<!-- IEML stands for Information Economy Meta Language. -->
<!ELEMENT ieml ( ( I | F | E | M | O | U | A | S | B | T | wo |
wa | wu | we | y | o | e | u | a | i | j | g
| h | c | p | x | s | b | t | k | m | n | d |
f | l | emptyEvent | emptyRelation |
emptyIdea | emptyPhrase | emptySeme |
completeEvent | completeRelation |
completeIdea | completePhrase | completeSeme
| group | union | intersection | difference |
genOp | undeterminedSubsetOf | diagonal ),
( ( I | F | E | M | O | U | A | S | B | T | wo
| wa | wu | we | y | o | e | u | a | i | j
| g | h | c | p | x | s | b | t | k | m | n
| d | f | l | emptyEvent | emptyRelation |
emptyIdea | emptyPhrase | emptySeme |
completeEvent | completeRelation |
completeIdea | completePhrase |
completeSeme | group | union | intersection
| difference | genOp | undeterminedSubsetOf
| diagonal ),
( I | F | E | M | O | U | A | S | B | T | wo
| wa | wu | we | y | o | e | u | a | i | j
| g | h | c | p | x | s | b | t | k | m | n
| d | f | l | emptyEvent | emptyRelation |
emptyIdea | emptyPhrase | emptySeme |
completeEvent | completeRelation |
completeIdea | completePhrase |
completeSeme | group | union | intersection
| difference | genOp | undeterminedSubsetOf
| diagonal )?)? )>
<!ATTLIST ieml
expressionString CDATA #IMPLIED
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "Information" primitive category -->
<!ELEMENT I EMPTY>
<!ATTLIST I
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "Full" primitive category -->
<!ELEMENT F EMPTY>
<!ATTLIST F
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "Empty" (placeholder) primitive category. -->
<!ELEMENT E EMPTY>
<!ATTLIST E
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "Nouns" primitive category -->
<!ELEMENT M EMPTY>
<!ATTLIST M
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "Verbs" primitive category -->
<!ELEMENT O EMPTY>
<!ATTLIST O
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "Virtual" primitive category -->
<!ELEMENT U EMPTY>
<!ATTLIST U
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "Actual" primitive category -->
<!ELEMENT A EMPTY>
<!ATTLIST A
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "Sign" primitive category -->
<!ELEMENT S EMPTY>
<!ATTLIST S
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "Being" primitive category -->
<!ELEMENT B EMPTY>
<!ATTLIST B
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "Thing" primitive category -->
<!ELEMENT T EMPTY>
<!ATTLIST T
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "wo" event category -->
<!ELEMENT wo EMPTY>
<!ATTLIST wo
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "wa" event category -->
<!ELEMENT wa EMPTY>
<!ATTLIST wa
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "wu" event category -->
<!ELEMENT wu EMPTY>
<!ATTLIST wu
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "we" event category -->
<!ELEMENT we EMPTY>
<!ATTLIST we
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "y" event category -->
<!ELEMENT y EMPTY>
<!ATTLIST y
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "o" event category -->
<!ELEMENT o EMPTY>
<!ATTLIST o
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "e" event category -->
<!ELEMENT e EMPTY>
<!ATTLIST e
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "u" event category -->
<!ELEMENT u EMPTY>
<!ATTLIST u
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "a" event category -->
<!ELEMENT a EMPTY>
<!ATTLIST a
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "i" event category -->
<!ELEMENT i EMPTY>
<!ATTLIST i
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "j" event category -->
<!ELEMENT j EMPTY>
<!ATTLIST j
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "g" event category -->
<!ELEMENT g EMPTY>
<!ATTLIST g
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "h" event category -->
<!ELEMENT h EMPTY>
<!ATTLIST h
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "c" event category -->
<!ELEMENT c EMPTY>
<!ATTLIST c
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "p" event category -->
<!ELEMENT p EMPTY>
<!ATTLIST p
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "x" event category -->
<!ELEMENT x EMPTY>
<!ATTLIST x
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "s" event category -->
<!ELEMENT s EMPTY>
<!ATTLIST s
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "b" event category -->
<!ELEMENT b EMPTY>
<!ATTLIST b
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "t" event category -->
<!ELEMENT t EMPTY>
<!ATTLIST t
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "k" event category -->
<!ELEMENT k EMPTY>
<!ATTLIST k
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "m" event category -->
<!ELEMENT m EMPTY>
<!ATTLIST m
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "n" event category -->
<!ELEMENT n EMPTY>
<!ATTLIST n
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "d" event category -->
<!ELEMENT d EMPTY>
<!ATTLIST d
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "f" event category -->
<!ELEMENT f EMPTY>
<!ATTLIST f
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "l" event category -->
<!ELEMENT l EMPTY>
<!ATTLIST l
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "emptyEvent" placeholder category. -->
<!ELEMENT emptyEvent EMPTY>
<!ATTLIST emptyEvent
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "emptyRelation" placeholder category. -->
<!ELEMENT emptyRelation EMPTY>
<!ATTLIST emptyRelation
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "emptyIdea" placeholder category. -->
<!ELEMENT emptyIdea EMPTY>
<!ATTLIST emptyIdea
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "emptyPhrase" placeholder category. -->
<!ELEMENT emptyPhrase EMPTY>
<!ATTLIST emptyPhrase
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "emptySeme" placeholder category. -->
<!ELEMENT emptySeme EMPTY>
<!ATTLIST emptySeme
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "completeEvent" (all possibilities) category. -->
<!ELEMENT completeEvent EMPTY>
<!ATTLIST completeEvent
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "completeRelation" (all possibilities) category. -->
<!ELEMENT completeRelation EMPTY>
<!ATTLIST completeRelation
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "completeIdea" (all possibilities) category. -->
<!ELEMENT completeIdea EMPTY>
<!ATTLIST completeIdea
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "completePhrase" (all possibilities) category. -->
<!ELEMENT completePhrase EMPTY>
<!ATTLIST completePhrase
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- The "completeSeme" (all possibilities) category. -->
<!ELEMENT completeSeme EMPTY>
<!ATTLIST completeSeme
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- Container for a non-generative set operation, expressed
as a parenthesis in STAR-IEML. -->
<!ELEMENT group ( I | F | E | M | O | U | A | S | B | T | wo |
wa | wu | we | y | o | e | u | a | i | j | g |
h | c | p | x | s | b | t | k | m | n | d | f
| l | emptyEvent | emptyRelation | emptyIdea |
emptyPhrase | emptySeme | completeEvent |
completeRelation | completeIdea |
completePhrase | completeSeme | group | union
| intersection | difference | genOp |
undeterminedSubsetOf | diagonal )>
<!ATTLIST group
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- "union" non-generative set operation. -->
<!ELEMENT union ( ( setOp | union | difference |
intersection),
( setOp | union | difference |
intersection))>
<!ATTLIST union
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- "intersection" non-generative set operation. -->
<!ELEMENT intersection ( ( setOp | union | difference |
intersection),
( setOp | union | difference |
intersection))>
<!ATTLIST intersection
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- "difference" non-generative set operation. -->
<!ELEMENT difference ( ( setOp | union | difference |
intersection),
( setOp | union | difference |
intersection))>
<!ATTLIST difference
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- an operand in a non-generative set operation -->
<!ELEMENT setOp ( I | F | E | M | O | U | A | S | B | T | wo |
wa | wu | we | y | o | e | u | a | i | j | g
| h | c | p | x | s | b | t | k | m | n | d
| f | l | emptyEvent | emptyRelation |
emptyIdea | emptyPhrase | emptySeme |
completeEvent | completeRelation |
completeIdea | completePhrase | completeSeme
| group | union | intersection | difference
| genOp | undeterminedSubsetOf | diagonal )>
<!ATTLIST setOp
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- an operand in a generative set operation -->
<!ELEMENT genOp ( ( I | F | E | M | O | U | A | S | B | T | wo |
wa | wu | we | y | o | e | u | a | i | j | g
| h | c | p | x | s | b | t | k | m | n | d
| f | l | emptyEvent | emptyRelation |
emptyIdea | emptyPhrase | emptySeme |
completeEvent | completeRelation |
completeIdea | completePhrase | completeSeme
| group | union | intersection | difference
| genOp | undeterminedSubsetOf | diagonal ),
( ( I | F | E | M | O | U | A | S | B | T | wo
| wa | wu | we | y | o | e | u | a | i | j
| g | h | c | p | x | s | b | t | k | m | n
| d | f | l | emptyEvent | emptyRelation |
emptyIdea | emptyPhrase | emptySeme |
completeEvent | completeRelation |
completeIdea | completePhrase |
completeSeme | group | union | intersection
| difference | genOp | undeterminedSubsetOf
| diagonal ),
( I | F | E | M | O | U | A | S | B | T | wo |
wa | wu | we | y | o | e | u | a | i | j | g
| h | c | p | x | s | b | t | k | m | n | d |
f | l | emptyEvent | emptyRelation |
emptyIdea | emptyPhrase | emptySeme |
completeEvent | completeRelation |
completeIdea | completePhrase | completeSeme
| group | union | intersection | difference |
genOp | undeterminedSubsetOf | diagonal )?)?
)>
<!ATTLIST genOp
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!-- Container for an expression of a set that is known to be a
superset of the intended set. In STAR-IEML, the superset
appears within curly braces {}. -->
<!ELEMENT undeterminedSubsetOf ( I | F | E | M | O | U | A | S |
B | T | wo | wa | wu | we | y |
o | e | u | a | i | j | g | h |
c | p | x | s | b | t | k | m |
n | d | f | l | emptyEvent |
emptyRelation | emptyIdea |
emptyPhrase | emptySeme |
completeEvent |
completeRelation | completeIdea
| completePhrase | completeSeme
| group | union | intersection
| difference | genOp |
undeterminedSubsetOf | diagonal
)>
<!ATTLIST undeterminedSubsetOf
parameterIdentifier CDATA #IMPLIED
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!--
parameterIdentifier : If present, this is the identifying
number of the undetermined subset in
the expression.
E.g.: For <I:29>, this is "29".
For <I>, there is no "parameterIdentifier"
attribute.
-->
<!-- Container for an expression of a generative operand that is
intended to be the set which is the intersection of the set
expressed by the operand and the set(s) which is/are
expressed by at least one other generative operand at the
same layer in the same IEML expression. In STAR-IEML, the
operand appears within angle brackets <>. -->
<!ELEMENT diagonal ( I | F | E | M | O | U | A | S | B | T | wo
| wa | wu | we | y | o | e | u | a | i | j
| g | h | c | p | x | s | b | t | k | m | n
| d | f | l | emptyEvent | emptyRelation |
emptyIdea | emptyPhrase | emptySeme |
completeEvent | completeRelation |
completeIdea | completePhrase |
completeSeme | group | union | intersection
| difference | genOp | undeterminedSubsetOf
| diagonal )>
<!ATTLIST diagonal
parameterIdentifier CDATA #IMPLIED
commentsAndInstantiators CDATA #IMPLIED
layer ( primitive | event | relation | idea | phrase
| seme ) #IMPLIED
role ( source | destination | translator) #IMPLIED
fillWith ( I | E | S ) #IMPLIED
first CDATA #REQUIRED
last CDATA #REQUIRED
>
<!--
parameterIdentifier : If present, this is the identifying
number of the diagonal operand (of a
generative set operation) in the
expression.
E.g.: For {I:29}, this is "29".
For {I:}, there is no "parameterIdentifier"
attribute.
-->