xsl: valor-de utilizado como xsl: nombre del elemento

Tengo un archivo XML entrante con una estructura de lista:

<list>
  <listItem>
    <name>elementOne</name>
    <value>elementOneValue</name>
  </listItem>
  <listItem>
    <name>elementTwo</name>
    <value>elementTwoValue</name>
  </listItem>
</list>

Lo que estoy tratando de convertir a esta estructura:

<elementOne>elementOneValue</elementOne>
<elementTwo>elementTwoValue</elementTwo>

Esta es una lógica fácil de implementar con XSL, pero me encuentro con complicaciones.

<xsl:for-each select="/list/listItem">
  <xsl:element name="<xsl:value-of select="name"/>">
    <xsl:value-of select="value"/>
  </xsl:element>
</xsl:for-each>

No funciona porque supongo que las comillas dobles secuenciales están rompiendo el<xsl:element> etiqueta

<xsl:for-each select="/list/listItem">
  <<xsl:value-of select="name"/>>
    <xsl:value-of select="value"/>
  </<xsl:value-of select="name"/>>
</xsl:for-each>

No funciona porque no puedo usar<< o>> y

<xsl:for-each select="/list/listItem">
  &lt;<xsl:value-of select="name"/>&gt;
    <xsl:value-of select="value"/>
  &lt;/<xsl:value-of select="name"/>&gt;
</xsl:for-each>

No funciona porque termino con> y <en mi código en lugar de analizar XML< o>. Esperaba que fuera una solución muy fácil, pero no puedo encontrar ningún registro en Internet. ¿Cuál es la solución simple que estoy pasando por alto?

Respuestas a la pregunta(3)

Su respuesta a la pregunta