I've created the first version of the book and sent it to JT.
This XQuery outputs the XInclude statements for reviews, ordered by the author of the book being reviewed:
xquery version "1.0"; declare namespace xi="http://www.w3.org/2001/XInclude"; declare option exist:serialize "expand-xincludes=no"; for $d in //TEI.2[descendant::sourceDesc/descendant::biblScope[@type='vol'][contains(., '20')]][descendant::classCode[contains(., 'review')]] order by $d/teiHeader/fileDesc/titleStmt/title/name/@reg return ( xs:string(concat('<!-- ', $d/@id, ': ', normalize-space($d/teiHeader/fileDesc/titleStmt/title), ' -->')), <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="{$d/@id}.xml"> <xi:fallback>{concat('MISSING XINCLUDE CONTENT: ', $d/@id, '.xml')}</xi:fallback> </xi:include> )