Uporaba <snippets>

Medtem ko je vključevanje datotek, kot je prikazano v prejšnjem razdelku, precej zmogljivo, postane najbolj uporabno, če se uporablja v kombinaciji z <snippets>. Izrezki so res manjši odseki, ki jih lahko vstavite na drugo mesto v datoteki. To najbolje ponazarja primer:

<document>
        <snippets>
                <snippet id="note">
                        <frame>
                                <text>
                This will be inserted at two places in the GUI
                                </text>
                        </frame>
                </snippet>
        </snippets>
        <dialog label="test">
                <column>
                        <insert snippet="note"/>
                        [...]
                        <insert snippet="note"/>
                </column>
        </dialog>
</document>
        

Zato delček definirate na enem mestu na vrhu datoteke XML datoteko in jo nato <insert> na poljubnem mestu(-ih).

Čeprav ta primer sam po sebi ni preveč uporaben, razmislite o kombinaciji z datoteko <include>d .xml. Upoštevajte, da lahko v isto datoteko postavite tudi delčke za datoteko .rkh. Tja bi preprosto <include> tudi datoteko in <insert> ustrezni snippet (delček):

<!-- This is a file called "common_snippets.xml" -->
<document>
        <snippet id="common_options">
                <spinbox id="something" [...]/>
                [...]
        </snippet>
        <snippet id="common_note">
                <text>An important note for this type of plugin</text>
        </snippet>

        <snippet id="common_help">
                <setting id="something">This does something</setting>
                [...]
        </snippet>
</document>
        
<!-- This is the .xml file of the plugin -->
<document>
        <snippets>
                <!-- Import the common snippets -->
                <include file="common_snippets.xml"/>
        </snippets>

        <dialog label="test2">
                <insert snippet="common_note"/>
                <spinbox id="something_plugin_specific" [...] />
                <insert snippet="common_options"/>
        </dialog>
</document>
        

Podobno kot vključitev v JS je obratni pristop pogosto celo bolj uporaben:

<!-- This is a file called "common_layout.xml" -->
<document>
        <column>
                <insert snippet="note">
                [...]
                <insert snippet="plugin_parameters">
        </column>
        [...]
</document>
        
<!-- This is the .xml file of the plugin -->
<document>
        <snippets>
                <snippet id="note">
                        <text>The note used for this specific plugin</text>
                </snippet>

                <snippet id="plugin_parameters">
                        <frame label="Parameters specific to this plugin">
                                [...]
                        </frame>
                </snippet>
        </snippets>

        <dialog label="test3">
                <include file="common_layout.xml"/>
        </dialog>
</document>
        

Končno je možno tudi delčke <insert> v druge delčke, če: a) obstaja samo ena raven gnezdenja in b) ukaz <snippets> razdelek je postavljen na vrh datoteke (preden se vstavi ugnezdeni delček); to je zato, ker se stavki <insert> razrešijo od zgoraj navzdol.