In XSLT 2.0, use
Code:
<xsl:for-each-group select="*" group-starting-with="Item">
<Item>
... item details ...
<xsl:for-each select="current-group()[self::DeliveryInfo]">
... delivery details
</xsl:for-each>
</Item>
</xsl:for-each>
In XSLT 1.0, it's much more difficult. The simplest approach is along the lines
Code:
<xsl:for-each select="Item">
<Item>
... item details ...
<xsl:variable name="here" select="$generate-id()"/>
<xsl:for-each select="following-sibling::DeliveryInfo[generate-id(preceding-sibling::Item[1]) = $here]">
... delivery details ...
</xsl:for-each>
<xsl:for-each>
When asking XSLT questions, please always say which version you are using since the answers are often very different. Also use [ c o d e ] and [ / c o d e ] to delimit your code to make it readable.