As you point out,
Now, if you're trying to represent /pages/ as XML container objects then you
do have a problem, because pages and paragraphs are probably not contiguous.
But the document structure (paragaphs) and the manifestation structure (paged
book) are totally different paradigms, and can't be represented as the same
structural object.
Nonetheless, pages are in fact legitimate characteristics of a book. And they can't
be accommodated in an XML structure. So instead re use the "pagenum" positional
element as a substitute.
If you want examples, every html page that is not xhtml-compliant is a legitimate
document that hasn't fit the model. They can be forced into the model, but only
by changing the document.