I am seeing some unexpected behaviour, when I attempt to output a document with indents, but also with html inline tags (<b>, <sub>, <sup>, <i>, etc.)

Saxon appears to recognise html inline tags, and chooses not to indent these elements.  This is exactly the behaviour that I want.  But if one inline tag immediately follows a preceding one, as in my example below, then Saxon inserts a line break.

Is this a bug, a design feature, or am I doing something silly?
Tested with Saxon HE 9.2.1.5J on a Windows7 64 bit computer.

Given:
Input file (no line breaks):
<Keyword><div xmlns="http://www.w3.org/1999/xhtml"><p>Pyrope has the general formula X<sup>2+</sup><sub>3</sub>Y<sup>3+</sup><sub>2</sub>(SiO4)<sub>3</sub>.</p></div></Keyword>

Identity transform:
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   <xsl:output encoding="utf-8" method="xml" indent="yes" />
   <xsl:template match="node() | @*">
      <xsl:copy>
         <xsl:apply-templates select="@* | node()"/>
      </xsl:copy>
   </xsl:template>
</xsl:stylesheet>

Produces:
<?xml version="1.0" encoding="utf-8"?>
<Keyword>
   <div xmlns="http://www.w3.org/1999/xhtml">
      <p>Pyrope has the general formula X<sup>2+</sup>
         <sub>3</sub>Y<sup>3+</sup>
         <sub>2</sub>(SiO4)<sub>3</sub>.</p>
   </div>
</Keyword>

Expected output (no line break after </sup>):
<Keyword>
   <div xmlns="http://www.w3.org/1999/xhtml">
      <p>Pyrope has the general formula X<sup>2+</sup><sub>3</sub>Y<sup>3+</sup><sub>2</sub>(SiO4)<sub>3</sub>.</p>
   </div>
</Keyword>

Cheers,
Steve Adcock

Dr. Stephen W. Adcock
Geochemist
Geological Survey of Canada
601 Booth St.
Ottawa
Canada K1A 0E8