<data_namespace:operator_name> <!-- The newly produced primitives have the 'result' attribute --> <data_namespace:type_name id='label' result='result_idx'/> <!-- The input primitives that have already been declared --> <data_namespace:type_name ref='label'/> <\data_namespace:operator_name>
Lets intersect an ePiX circle and segment, grab the resulting points, and stuff them into instances of the ePiX point. This operation would be written as follows:
<epix:intersect_primitives> <epix:point id='a' result='0'/> <epix:point id='d' result='1'/> <epix:segment ref='ul_aod'/> <epix:circle ref='ul_abcd'/> </epix:intersect_primitives>
Given n previously defined presentational primitives, as indicated by those types with ref
attributes, produce k
presentational
primitives. These k
primitives are stored in an array, usually in some meaningful order as defined by the operator. This allows them to be
retrieved via an index, the value of the result
attribute, and used to declare a type with a specified id
. Here, n=2
and
ul_aod
and ul_abcd
are intersected to produce points a
and d
.