If you use the <xi:include> mechanism for modular source files, you must process your source slightly differently.
Add the switch -xinclude to your invocation of xsltproc, just after xsltproc, but before the filenames for the stylesheet and the top-level source file. Note that for some versions of xsltproc it might be necessary to use two dashes for the switch, --xinclude. So now a typical invocation (using one dash) might look like
xsltproc -xinclude xsl/pretext-html.xsl ~/books/aota/animals.xml

It is easy to forget the -xinclude switch. Empty output, or cryptic error messages, are your first clue to this simple, but common, mistake.