i am a newbie, but i think you need to do it this way using xsl:element and
xsl:attribute
you only need use xsl:element xsl:attribute if teh element and attribute
names are not known in advance (ie they are constructed from the input
data)
<xsl:element name="label">
<xsl:attribute
name="for"><xsl:value-of select="name()"/></xsl:attribute>
<xsl:value-of select="name()"/>
</xsl:element>
<xsl:element name="input">
<xsl:attribute
name="type">text</xsl:attribute>
<xsl:attribute
name="size">4</xsl:attribute>
<xsl:attribute
name="id"><xsl:value-of select="name()"/></xsl:attribute>
<xsl:attribute
name="name"><xsl:value-of select="$path"/></xsl:attribute>
<xsl:attribute
name="value"><xsl:value-of select="."/></xsl:attribute>
</xsl:element>
could more simply be written
<label for="{name()}"/><xsl:value-of select="name()"/></label>
<input type="text" size="4" id="{name()}" name="{$path}" value="{.}"/>
David
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list