<xsl:variable name="prev"
select="(preceding::d:book[1]
+ |preceding::d:set[1]
|preceding::d:preface[1]
|preceding::d:chapter[1]
|preceding::d:appendix[1]
<xsl:variable name="next"
select="(following::d:book[1]
+ |following::d:set[1]
|following::d:preface[1]
|following::d:chapter[1]
|following::d:appendix[1]
<xsl:variable name="prev"
select="(preceding::d:book[1]
+ |preceding::d:set[1]
|preceding::d:preface[1]
|preceding::d:chapter[1]
|preceding::d:appendix[1]
<xsl:variable name="next"
select="(following::d:book[1]
+ |following::d:set[1]
|following::d:preface[1]
|following::d:chapter[1]
|following::d:appendix[1]