One of the reasons to define XJDF was the ability to allow multiple root products.
Best solution: Quite simply use XJDF, which was designed with ganging in mind.
If you really have to use JDF in a ganging environment:
1. I understand, but I had an unclear remark that influenced your answer for "should the Part/Product nodes have FinalProduct or PartialProduct"?
→ should the ComponentType of the Output Component of Part/Product nodes include "FinalProduct" or "PartialProduct" ?
2. GangSource
So in JDF1.6 GangSource@AssemblyID then links BinderySignature with its original JobID. Fine.
How about linking to CustomerInfo? Customer Info may seem no important for a gang job but may be needed by prepress to create a slug line with the customer name beneath each BinderySignature in the gang job (but the gang creator could maybe add a string explicitly using StripMark.)
JDF defines the SheetOptimizing process which creates the gang (merge) jobs.
I did not find a final reference however about the structure of the final gang jobs (were on the old CIP4 site). Is there still some description/drawing available?
This is an older related presentation I found back Component-IntentStruct_0301.ppt
Assuming the gang job can contain some Product Parts (like Covers) from different jobs and maybe one simple final job (like a flyer) how to describe?
In older mails I found some notes (but not final decisions):