I'm working on a process that combines XDPs with an DDX and Assembler Service. Now I have come across a situaition where if I combine two specific XDPs (each with its own Masterpages) then the last one (the one that gets included into the other) will loose its Connection to its Masterpage and instead use the Masterpage of the first one. This is also shown when I view the combined XDP in Designer. The pattern I have found is that the problem occurs when a form withut pagination element (xdp/config/present/pagination) is combined with one that does have it. Then the first form will dictate that there will be no pagination element and the second one will suffer. I hope that I will be able to fix this with XSLT when I have understood what should be fixed and when.
who likes the new forum where formatting works with IE.
I havent faced this issue personally but just a thought - are the Masterpages & Content areas named differently in the XDP's? If you leave the default naming on them then the references in the second XDP might just reference the first Masterpage by name as they both are named the same.
What you are observing is expected behaviour. When you are assembling one XDP after the other, second XDP is stitched w.r.t. the first and properties retained are of the first XDP (base XDP). You cannot have different master pages in the same XDP. By default, the first XDP in the assembly is taken as the base document, the one whose properties will be retained but if you want any other XDP to be treated as base XDP you can add the attribute baseDocument=="true" for that XDP.
<XDP source="xdpIn1" baseDocument="false"/>
<XDP source="xdpIn2" baseDocument="true"/>
I hope it answers your query.
I have tried some things now and what seams to work is to remove attribute relation in element pageSet of the second form. Do you think that could work in the long run, or will it not work every where or will it have side-affects? This process is only used for Printing multiple forms in one go, and the changes I make will only apply during the "process lifetime" in memory.