Вы можете использовать эту функцию
<xsl:function name="ad:dateNextMonth">
<xsl:param name="curDateString"/>
<xsl:variable name="curDate" select="xs:date(concat(substring($curDateString,1,4),'-',substring($curDateString,5,2),'-',substring($curDateString,7,2)))"/>
<xsl:variable name="newDate" select="if (day-from-date($curDate) = 1) then format-date($curDate,'[MNn] [D1o] [Y]') else format-date($curDate + xs:yearMonthDuration('P1M'),'[MNn] 1st [Y]')" />
<xsl:value-of select="concat(substring(substring-before($newDate,' '),1,3),' ',substring-after($newDate,' '))" />
</xsl:function>
Применяя ее как
<xsl:value-of select="ad:dateNextMonth(ancestor::ad:Sale_Tx_Entry/ad:saleDate)" />
, она должна работать как положено. Результат с вашим примером должен быть Apr 1st 2019
.