3.6. Using Code Templates

3.6.1. template

The template node registers a template that can be used to avoid duplicate code when extending the generated code, and it is a child of the typesystem node.

<typesystem>
    <template name="my_template">
        // the code
    </template>
</typesystem>

Use the insert-template node to insert the template code (identified by the template’s name attribute) into the generated code base.

3.6.2. insert-template

The insert-template node includes the code template identified by the name attribute, and it can be a child of the inject-code, conversion-rule, template, custom-constructor and custom-destructor nodes.

<inject-code class="target" position="beginning">
    <insert-template name="my_template" />
</inject-code>

Use the replace node to modify the template code.

3.6.3. replace

The replace node allows you to modify template code before inserting it into the generated code, and it can be a child of the insert-template node.

<insert-template name="my_template">
   <replace from="..." to="..." />
</insert-template>

This node will replace the attribute from with the value pointed by to.