If one has multiple output targets, it's not uncommon that one needs several publication files that are only slightly different from one another -- often there's several core settings that all targets share, with slight tweaks from target-to-target.
However, I believe there's no way to "override" settings set in one publication file by xi:include-ing another.
One idea: when looking up publication file settings, we could support several nested `<publication/>` tags. That is, when looking for `/publication/common/tableofcontents`, we could also match `/publication/publication/common/tableofcontents` or `/publication/publication/publication/common/tableofcontents` or...
When multiple are present, then we prefer the least nested. That allows for a pattern like this:
<!-- tweaked settings publication file that only chnages the level of the tableofcontents -->
<common>
<tableofcontents level="2" />
<xi:include href="./main-publication.xml"/> <!-- has root #publication element -->
</common>
</publication>
See also the mess happening at
https://github.com/TeamBasedInquiryLearning/library/pull/1036/changes where I have duplicate so much for our project with 15+ targets. If there's an existing solution that doesn't require any changes to core pretext, I'm all ears. 😅