The unary minus operator changes the sign of a number. For example -1 is minus one, and
-0e0 is the double value negative zero.
Unary plus has very little effect: the value of +1 is the same as the value of 1.
It does, however, provide a quick way of forcing untyped values to be numeric, for example you can write
<xsl:sort select="+@price"/> to force a numeric sort, if you find
<xsl:sort select="number(@price)"/> too verbose for your tastes.