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 on a Windows7 64 bit computer.

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:apply-templates select="@* | node()"/>

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

Expected output (no line break after </sup>):
   <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>

Steve Adcock

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