Hey, Dan...
I worked on an application with similar requirements, though the
source data was all XML, including our version of the hubfile.
However, we published to paper via a FOSI written for an SGML DTD.
Once the user selected the portion of the book (whole book, volume,
part, etc.), we ran a transforms (XSLT and/or DSSSL) to gather up all
the pieces and construct a monolithic SGML file to be formatted by the
publishing engine.
What method does your hubfile use to reference the chapters?
-Brandon 🙂