This code:
<xsl:for-each select ="ns1:PricedItineraries">
<!-- Processing intentionally skipped -->
<xsl:for-each/>
selects all the nodes to be processed.
There is exactly one ns1:PricedItineraries
element in the provided element -- this is why the "loop" is executed only once.
Solution:
Use:
<xsl:for-each select ="ns1:PricedItineraries/ns1:PricedItinerary">
and inside this instruction remove the leading ./ns1:PricedItinerary/
from any XPath expression.