Skip to main content

This is documentation for Caché & Ensemble.

For information on converting to InterSystems IRIS, see the InterSystems IRIS Adoption Guide and the InterSystems IRIS In-Place Conversion Guide, both available on the WRC Distributions page (login required).

Next section

Virtual Property Shortcuts When DocType Is Unimportant

Describes virtual property shortcuts that you can use when DocType is unimportant.


Often when you need to identify a virtual property path, the specific DocType is clear from the context, so you only need to identify the segment:field path. There are also cases when a specific DocType is not important and any DocType from the schema definition that matches your search criteria is of interest. Consequently, there are two important shortcuts for virtual property syntax used in BPL, DTL, and routing rules:

  • Curly brackets


    Curly bracket syntax is available in BPL, DTL, business rules (including routing rules), search filters, or search tables. The segment:field combination inside the curly brackets may use segment and field names, or numeric positions. However, names work only when the DocType (category:structure) is clearly identified within the current context. For example, a DTL data transformation always identifies the DocType of its source and target in its <transform> element.

  • Square brackets


    Square bracket syntax is available for business rules, search tables, and search filters only. The segment must be a name; field may be a name or number. Names can only be resolved when the DocType (category:structure) is known at runtime. Ensemble can resolve a numeric field without knowing the specific message structure or schema. If there is more than one result that matches the pattern in square brackets, this syntax returns a string that contains all matching values, each value enclosed in <> angle brackets.

The following shortcuts are available only when defining routing rules: