Transform Exception. Adding Attribute after Sub-element
===

I have this XML:

        <root>   
          <tab name="Detail">
            <section name="mysection">
              <items level="1">
                <Idx_name>9</Idx_name>
                <Type>mytype</Type>
                <item name="myname">
                  <Grams um="(g)">9,0</Grams>
                  <Pre-infusion>Max</Pre-infusion>
                </item>
                <Std._Mode>On</Std._Mode>
                <Price>100</Price>
              </items>
            </section>   
        </tab> 
    </root>

and this XSLT:

    <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
      <xsl:output method="xml" indent="yes"/>
      <xsl:strip-space elements="*"/>
      <xsl:template match="node()">
        <xsl:copy>
          <xsl:copy-of select="@*"/>
          <xsl:apply-templates select="node()"/>
    	</xsl:copy>
      </xsl:template>
      <xsl:template match="items/*">
    	<xsl:choose>
          <xsl:when test="not(name()='item')">
            <xsl:attribute name="{name()}"><xsl:value-of select="."/></xsl:attribute>
          </xsl:when>
          <xsl:otherwise>
            <xsl:copy>
              <xsl:copy-of select="@*"/>
              <xsl:value-of select="."/>
            </xsl:copy>
          </xsl:otherwise>
    	</xsl:choose>
      </xsl:template>
    </xsl:stylesheet>

Now, what I want is:

    <root>
      <tab name="Detail">
        <section name="mysection">
          <items level="1" Idx_name="9" Type="mytype" Std._Mode="On" Price="100">
            <item name="myname">9,0Max</item>
          </items>
        </section>
      </tab>
    </root>

I obtain the error: "An attribute cannot be added after a child"

Unluckily, I can not change the order of elements in the node items of my original XML

How can I do it ?
 
Thanks

Ivan