Medan det är ganska kraftfullt att inkludera filer som visas i föregående avsnitt, blir det som mest användbart när det kombineras med <snippets>. De är egentligen mindre delar som kan infogas på ett annat ställe i filen. Det åskådliggörs bäst av ett exempel:
<document> <snippets> <snippet id="note"> <frame> <text> Det här infogas på två ställen i det grafiska användargränssnittet </text> </frame> </snippet> </snippets> <dialog label="test"> <column> <insert snippet="note"/> [...] <insert snippet="note"/> </column> </dialog> </document>
Sålunda definieras delen på ett ställe längst upp i XML-filen, och sedan infogas den på vilket eller vilka ställen som man vill med <insert>.
Medan exemplet inte är alltför användbart i sig, tänk på att kombinera det med en .xml
-fil inkluderad med <include>. Observera att det också går att placera delar för .rkh
-filen i samma fil. Man inkluderar helt enkelt filen där också med <include>, och infogar relevanta delar med <insert>:
<!-- Det här är en fil som heter "common_snippets.xml" --> <document> <snippet id="common_options"> <spinbox id="någonting" [...]/> [...] </snippet> <snippet id="common_note"> <text>En viktig anmärkning för den här typen av insticksprogram</text> </snippet> <snippet id="common_help"> <setting id="something">Det här gör någonting</setting> [...] </snippet> </document>
<!-- Det här är insticksprogrammets .xml-fil --> <document> <snippets> <!-- Importera common snippets --> <include file="common_snippets.xml"/> </snippets> <dialog label="test2"> <insert snippet="common_note"/> <spinbox id="någonting_insticksprogramspecifikt" [...] /> <insert snippet="common_options"/> </dialog> </document>
I likhet med att inkludera i JS, är det omvända tillvägagångssättet ofta ännu mer användbart:
<!-- Det här är en fil som heter "common_layout.xml" --> <document> <column> <insert snippet="note"> [...] <insert snippet="plugin_parameters"> </column> [...] </document>
<!-- Det här är insticksprogrammets .xml-fil --> <document> <snippets> <snippet id="note"> <text>Anmärkningen använd för det här specifika insticksprogrammet</text> </snippet> <snippet id="plugin_parameters"> <frame label="Parametrar specifika för det här insticksprogrammet"> [...] </frame> </snippet> </snippets> <dialog label="test3"> <include file="common_layout.xml"/> </dialog> </document>
Till sist, är det också möjligt att infoga delar med <insert> i andra delar, under förutsättning att det för det första bara finns en nivå av inkapsling, och för det andra att sektionen med <snippets> placeras längst upp i filen (innan en inkapslad del infogas), beroende på att satser med <insert> hanteras uppifrån och ner.