Add Optional Children

Types may define children (object and variables) that have the Optional modelling rule. If the modelling rule is Optional (or OptionalPlaceholder), instances if the type may, or may not, have instances of these children. The Add Optional Children dialog offers an easy way to add optional children to an instance.

The Namespace is the target namespace that the children will be added to (may be different from the parent instance).

If the target namespace requires the user to supply NodeIds for the children, an additional button will appear "Generate Ids". See Generate Custom Ids for how to generate custom NodeIds.

In the tree, nodes that are empty and not grayed out, are optional children that can be added by selecting them. Note: if an optional node exists, it will not be deleted if you deselect this node in the tree. Deleting nodes is only possible in the model construction editors.

Nodes that are grayed out, are children that are mandatory, they will always exist on the instance.

If a node is "half" selected (the white '/' symbol), it means that there are sub nodes that are optional (that can be selected).

If a node is fully selected (the white 'v' symbol), it means that the node either exists or will be created and that any optional children are also selected.

Press the Ok button to apply your changes, or Cancel to exit without any changes.

Abstract Data Types:

If the type definition contains children with abstract types (red symbol), you must select a non-abstract type for the child. This is done by clicking on the red symbol and selecting a type from the browsable tree that appears.