Well yesterday only I was asked to look at including Sub templates concept in our BI Publisher based reports. Means, if we are making 100-500 reports of our product then I just keep header and footer thing[which is basically company logos and blah blah..] in a separate RTF file so that when tomorrow our product gets 5 different customers asking us to include their bank logos and stuff in all those 100-500 reports , we need not to change those 100-500 reports each for 5 times. In all, 5*(100 to 500) files change? I ignored it thinking that as compared to other problems, it might be very simple. Well , it was but I never say anything "Simple" without giving a look. :-$
So how we can do so, Simple, I will create an RTF File named as Header.rtf. And then import it in my each of the main report's RTF files. So if in future, I am asked to change the logos of entire reports in the system, I just need to change only 1 file.
STEP 1: Create a sample Header.rtf at [ I:\MyBIPTemplates ] location. Add a piece of code in it along with logo or any image just like below.
STEP 2: Now let's create a main RTF File[Template.rtf] which will simply import above Header.rtf file and use it like below 

[Note: xsl tag element call@inlines can be used in any section of the document - Header,Body, Footer etc.]
STEP 3: Now preview the Report in PDF Format, it will be shown like below
So, Finally done. Isn't it easy ? Well now coming to the explanations if any one would like to know. Here I go,
1. In Header.rtf : when I declare - it simply declares a template called Header type. Include whatever part you want to keep as common in that tag element.
2. In Template.rtf : First line - it imports the Header.rtf from the specified path location.So now template called Header will be available to Template.rtf. [Tricky part of making this file path dynamic & machine independent still I need to do ..will post it later in separate post. :-$ ]
3. In Template.rtf : Second line - I am using the template declared as Header.
Done. Enjoy ! :)

