Ejemplo 2 de <xsl:attribute>

Este ejemplo muestra cómo se deben emplear las plantillas de valores de atributos para utilizar el contenido del documento de origen XML como el nombre de un atributo.

Archivo XML (attribute.xml)

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="attribute.xsl"?>
<investment>
   <type>stock</type>
   <name>Microsoft</name>
   <price type="high">100</price>
   <price type="low">94</price>
</investment>

Archivo XSLT (attribute.xml)

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:output method="xml" indent="yes"/>

<xsl:template match="investment">
   <xsl:element name="{type}">
      <xsl:attribute name="name" >
         <xsl:value-of select="name"/>
      </xsl:attribute>
      <xsl:for-each select="price">
      <xsl:attribute name="{@type}" >
         <xsl:value-of select="."/>
      </xsl:attribute>
      </xsl:for-each>
   </xsl:element>
</xsl:template>
</xsl:stylesheet>

Resultados

No hay resultados con formato. Este es el resultado del procesador:

<?xml version="1.0"?>
<stock name="Microsoft" high="100" low="94">
</stock>