Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision | |||
|
xml_script [2026/07/26 14:45] hermann |
xml_script [2026/07/30 19:18] (current) hermann |
||
|---|---|---|---|
| Line 52: | Line 52: | ||
| * ''containerfunctor'' is a functor that also holds nested functors and containers — the same element type can nest inside itself, since containers can be placed inside other containers. | * ''containerfunctor'' is a functor that also holds nested functors and containers — the same element type can nest inside itself, since containers can be placed inside other containers. | ||
| * ''property'' attaches metadata to whatever element contains it, as a ''key''/''value'' pair. Keys are always written fully expanded — there is no property alias as in the [[ego_script|EGO Script]] format. See [[ego_script#properties|Properties]] for the catalog of recognized keys — what each one means, and which functors or model-level context they apply to. | * ''property'' attaches metadata to whatever element contains it, as a ''key''/''value'' pair. Keys are always written fully expanded — there is no property alias as in the [[ego_script|EGO Script]] format. See [[ego_script#properties|Properties]] for the catalog of recognized keys — what each one means, and which functors or model-level context they apply to. | ||
| - | * ''inputport'' and ''outputport'' are a functor's connection points. An ''outputport'' declares an ''id''; an ''inputport'' elsewhere in the document references that ''id'' through its own ''peerid'' attribute to form a connection — the XML equivalent of two functors sharing a variable name in EGO Script. An ''inputport'' element can be omitted entirely as long as the port it represents is optional, the same as omitting an optional port in EGO Script's [[ego_script#nominal_syntax|nominal syntax]]; the port then takes its default value. A required port's ''inputport'' element can't be omitted this way. | + | * ''inputport'' and ''outputport'' are a functor's connection points. An ''outputport'' declares an ''id''; an ''inputport'' elsewhere in the document references that ''id'' through its own ''peerid'' attribute to form a connection — the XML equivalent of two functors sharing a variable name in EGO Script. Forming a connection this way is exactly where automatic type conversion applies — see [[type_system|Type System]] for the full set of types and how they convert into one another. An ''inputport'' element can be omitted entirely as long as the port it represents is optional, the same as omitting an optional port in EGO Script's [[ego_script#nominal_syntax|nominal syntax]]; the port then takes its default value. A required port's ''inputport'' element can't be omitted this way. |
| * ''internalinputport'' and ''internaloutputport'' work the same way, but connect a container to the functors nested inside it, rather than connecting two ordinary functors to each other. | * ''internalinputport'' and ''internaloutputport'' work the same way, but connect a container to the functors nested inside it, rather than connecting two ordinary functors to each other. | ||
| Line 149: | Line 149: | ||
| }}; | }}; | ||
| </code> | </code> | ||
| - | |||
| - | |||