This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: How do I reference the name of a tag?


> From: jhbooth@microsoft.com [mailto:jhbooth@microsoft.com]

> how can I get at the expanded-name of sometag and someothertag?

Ah, the dreaded attributes-vs-elements issue. This works:

For this document:

<doc>
  <sometag>blah</sometag>
  <someothertag>blah blah</someothertag>
</doc>

applying this stylesheet:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">

  <xsl:template match="doc">
    <xsl:element name="result">
      <xsl:apply-templates/>
    </xsl:element>
  </xsl:template>

  <xsl:template match="doc/*">
    <xsl:element name="attribute">
      <xsl:attribute name="name">
        <xsl:value-of select="name()"/>
      </xsl:attribute>
      <xsl:element name="value">
        <xsl:value-of select="./text()"/>
      </xsl:element>
    </xsl:element>
  </xsl:template>

</xsl:stylesheet>

produces this result:

<result>
  <attribute name="sometag"><value>blah</value></attribute>
  <attribute name="someothertag"><value>blah blah</value></attribute>
</result>

HTH...

- Kevin

Kevin Williams
XML Architect
Ultraprise Corporation


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]