Misspoke the problem.
Tested the scenario above and I'm getting 2 results for XALAN as well.
Actual problem:  The data I'm using is:
<command label="one">one</command>
<command label="two">two</command>
<command label="three">three</command>
<command label="four">four</command>
<command label="five">five</command>
and the XPath I'm using is: //command[1]/@label
In XALAN, I get the result "one".  In SAXON I get the result "one four".
Yet with XALAN the count(//command[1]) is two.  So the extra step for the @label is where the two implementations diverge.
How do I get the first command in the document?