Rule: Always start by using document order.
Unless you need to re-order elements, use the document order.
When expressions evaluate, they are return in document order:
<xsl:apply-templates select="A|B"/>
at this context:
<A/><C/><B/><C/><C/><A/>
returns:
<A/><B/><A/>