Sebbene includere i file come mostrato nella sezione precedente sia abbastanza potente, diventa molto utile se usato in combinazione con <snippets>. Gli snippet sono sezioni molto più piccole che è possibile inserire in un altro punto del file. Un esempio lo illustra meglio:
<document>
<snippets>
<snippet id="note">
<frame>
<text>
Questo sarà inserito in due posizioni nell'interfaccia
</text>
</frame>
</snippet>
</snippets>
<dialog label="test">
<column>
<insert snippet="note"/>
[...]
<insert snippet="note"/>
</column>
</dialog>
</document>
Quindi, definire lo snippet in un punto all'inizio del file XML e quindi <insert> in qualsiasi punto si desideri.
Anche se questo esempio non è molto utile di per sé, pensa a combinarlo con un file <include>d .xml. Tenere presente che è possibile inserire ancheframmenti per il file .rkh nello stesso file. Si dovrebbe semplicemente <include> anche il file lì e <inserire> il frammento pertinente:
<!-- Questo è un file chiamato "common_snippets.xml" -->
<document>
<snippet id="opzioni_comuni">
<spinbox id="qualcosa" [...]/>
[...]
</snippet>
<snippet id="nota_comune">
<text>Una nota importante per questo tipo di estensione</text>
</snippet>
<snippet id="guida_comune">
<setting id="qualcosa">Questa fa qualcosa>
[...]
</snippet>
</document>
<!-- Questo è il file .xml dell'estensione -->
<document>
<snippets>
<!-- Importa i frammenti comuni -->
<include file="common_snippets.xml"/>
</snippets>
<dialog label="test2">
<insert snippet="nota_comune"/>
<spinbox id="qualcosa_specifica_della_estensione" [...] />
<insert snippet="opzioni_comuni"/>
</dialog>
</document>
Simile a inclusione in JS, l'approccio inverso è spesso ancora più utile:
<!-- Questo è un file chiamato "common_layout.xml" -->
<document>
<column>
<insert snippet="note">
[...]
<insert snippet="plugin_parameters">
</column>
[...]
</document>
<!-- Questo è il file .xml dell'estensione -->
<document>
<snippets>
<snippet id="nota">
<text>La nota utilizzata per questa estensione specifica</text>
</snippet>
<snippet id="parametri_estensione">
<frame label="Parametri specifici di questa estensione">
[...]
</frame>
</snippet>
</snippets>
<dialog label="test3">
<include file="struttura_comune.xml"/>
</dialog>
</document>
Infine, è anche possibile <inserire> frammenti in altri frammenti, a condizione che: a) ci sia un solo livello di annidamento e b) la sezione <snippets> sia posizionata all'inizio del file (prima che venga inserito un frammento annidato); questo perché le istruzioni <insert> vengono risolte dall'alto verso il basso.