I was never very good at those spot-the-difference competitions, but I can't actually see where your current output and desired output differ.
But I think your error is here:
<xsl:template match="n1:MobilStandard/TransItem">
<Item>
<ID>
<xsl:value-of select="preceding-sibling::Trans[1]/Docket"/>
... a TransItem doesn't have a preceding sibling called Trans, you need to do "../preceding-sibling::Trans[1]/Docket"
As Sam says, this is a lot easier if you use xsl:for-each-group. If you need a 1.0 solution, look at Muenchian grouping:
http://www.jenitennison.com/xslt/grouping
Michael Kay
http://www.saxonica.com/
Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference