Materialize the controlled property by an artificial property with the given path.
Materializing properties is the process to derive a value from a property path (like Property A->Property B->Property C
) and store it as an artificial property of a document instance.
Normalize Value Lists
For maximum compatibility make sure that in case of value lists, the separation of list elements should be normalized.
This is only required for macros that render lists and in case you need to render the resulting multi-list. It is recommended that values are separated by comma, since these representation is easily merged.
To materialize a property based on the current property (i.e. the property whose control this is), a property paths must be specified that originates on the property.
A property Persons of doctype Organization is holding references to persons:
Property Control | Artificial Property Name | Artificial Property Value | Explanation |
---|
mat:Name | Persons->Name | Hanna, Sarah, John | Materializes the name of the Person(s). |
mat:Address->City | Persons->Address->City | New York, Rio, Tokio | Materializes the names of the person's city names. |
To use the materialized properties in queries (Where clause), use the following syntax.
$<Persons->Name>=[Hanna]
$<Persons->Address->City>=[New York]
In case more than one materialization is required, simply repeat the definition.
mat:Name, mat:Address->City