Each time an opening brace is put into the file, a new scope begins. Scopes behave similar as in programming languages, meaning that any color name, style or procedure definition take their effect only within the scope, up to the closing brace. Thus if you redefine a style just after an opening brace, the style returns to its original definition after the closing brace. (See Defining Styles.)
In signalling charts scoping also applies to the numbering (including pre, post, format
and append), compress, vspacing, indicator, angle and text.*
chart options.
Any changes to these take effect only until the next closing brace.
Scoping explicitly does not apply to background.* and comment.*
options. Those take effect until the next such option or all the way to the
bottom of the chart. The option hscale is global, the last value you set
will be used, irrespective of scope.
Similar, with block diagrams scoping applies to all chart options, except
background.
You can nest scopes arbitrarily deep and can also manually open a new scope, such as below. This practically has no effect in any of the languages other than limiting the effect of an attribute or color/style definition.
...numbering is off here...
{
#number only in this scope
numbering=yes;
...various elements with numbers...
};
...other elements with no numbers...
For graphs, this opens an unnamed
subgraph - but that has no effect on layout. For block diagrams there is actually
no effect. For signalling charts the layout will be the same as in case
when they are not enclosed in braces (including the handling of compress,
vspacing, keep_with_next and keep_together attributes
and the use of parallel and overlap keywords). This is
true only if you do not change the layout attribute of the block, but use the default, see
Parallel Blocks. Thus if you mark
an element between the braces with parallel elements after the closing
brace can be laid out besides it.
Marking the entire block with overlap or parallel will make
elements after the block to be laid over or besides the entrie block, respectively.
See Parallel Keyword.