Official documentation for the VM* family of model manipulation languages.
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | Next revision Both sides next revision | ||
vmtl:annotations [2015/08/23 15:50] rvac |
vmtl:annotations [2015/09/21 14:44] rvac |
||
---|---|---|---|
Line 13: | Line 13: | ||
User-defined variables can be used in any VMTL pattern. They may appear wherever the host modeling language accepts a user-defined meta-attribute value, such as for representing the name of a model element. In addition, they can be manipulated via operators within VMTL annotations. | User-defined variables can be used in any VMTL pattern. They may appear wherever the host modeling language accepts a user-defined meta-attribute value, such as for representing the name of a model element. In addition, they can be manipulated via operators within VMTL annotations. | ||
- | User-defined variables always have global **scope**: once they have been set, their value can be accessed by any annotation or model attribute in the transformation specification. Their global scope makes variables suitable for identifying corresponding model elements located in different patterns. | + | User-defined variables have **global scope** within a rule application: once declared, their value can be accessed in all patterns included in the applied rule. Their global scope makes variables suitable for identifying corresponding model elements located in different patterns. |
VMTL defines a naming convention for user-defined variables: all variable names are prefixed by the ''$'' character. | VMTL defines a naming convention for user-defined variables: all variable names are prefixed by the ''$'' character. |