XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
justin shellSubject: Naming elements
Author: justin shell
Date: 22 Aug 2008 11:48 PM
I am creating new elements from element attributes using the following code.

<xsl:for-each select="WTReport/Report/Transect/*/@*">
<xsl:element name="{name()}">
<xsl:value-of select="."/>
</xsl:element>
</xsl:for-each>

The problem is that all elements have the same attribute names. So I end up having many elements with the same name. What I would like is to have a new element named by combining the element name and the attribute name.

I use XSLT occasionally, but not often. So my knowledge of it and XPath are limited. I've attached the full stylesheet. Any help is appreciated.

Thanks,
Justin


DocumentTO_WinTrans.xsl

Postnext
Ivan PedruzziSubject: Naming elements
Author: Ivan Pedruzzi
Date: 24 Aug 2008 11:07 PM

Try the following

<xsl:element name="{concat(name(..),'_', name())}">


Ivan Pedruzzi
Stylus Studio Team
http://www.stylusstudio.com/xml_download.html

Posttop
justin shellSubject: Naming elements
Author: justin shell
Date: 25 Aug 2008 02:52 PM
Ivan,

Thanks. That works perfectly. I had tried something similar to this earlier and it didn't work. I used:

<xsl:element name="{name(..)}{name()}">

The "name(..)" was creating an error (whenever I removed it, the code worked). So I assumed I couldn't write it that way and looked for a different solution. But now that works, too. Not sure what I changed to make it work.

This morning, a friend suggested the following, which also works.

<xsl:for-each select="WTReport/Report/Transect/*">
<xsl:variable name="prefix" select="name()" />
<xsl:for-each select="@*">
<xsl:element name="{$prefix}_{name()}">
<xsl:value-of select="." />
</xsl:element>
</xsl:for-each>
</xsl:for-each>

Thanks again,
Justin

 
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.