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
Mike SappSubject: XSLT Transformation
Author: Mike Sapp
Date: 20 Jan 2008 09:20 PM
Hello,

Im having trouble with a transformation. The target release date is getting multiple results. Ive tried to do the following however I only need one result in the Release Attribute of the result xml file:

XSLT conversion:

<xsl:template match="/">
<xsl:for-each select="a:ReleaseUploadDocument/a:Releases/a:Release">
<document>
<Release>
<xsl:attribute name="releaseDate">
<xsl:value-of select="a:Tracks/a:Track/a:NonExclusiveRelDate[1]"/>
</xsl:attribute>
</Release
</document>


Target is:
<document>
<release releaseDate="XX">
<track-list>
<track></track>
</track-list>
</release>
</document>

Source is:
<ReleaseUploadDocument>
<Releases>
<Release>
<Tracks>
<Track>
<NonExclusiveRelDate>2008-12-1</NonExclusiveRelDate>
</Track>
<Track>
<NonExclusiveRelDate>2008-12-1</NonExclusiveRelDate>
</Track>
</Tracks>
</Release>
<Release>
<Tracks>
<Track>
<NonExclusiveRelDate>2008-2-1</NonExclusiveRelDate>
</Track>
<Track>
<NonExclusiveRelDate>2008-2-1</NonExclusiveRelDate>
</Track>
</Tracks>
</Release>
</Releases>
</ReleaseUploadDocument>


Any help would be greatly appreciated

Postnext
James DurningSubject: XSLT Transformation
Author: James Durning
Date: 21 Jan 2008 12:09 PM
Not exactly sure, but perhaps parentheses are needed:

<xsl:value-of select="(a:Tracks/a:Track/a:NonExclusiveRelDate)[1]"/>

Postnext
Mike SappSubject: XSLT Transformation
Author: Mike Sapp
Date: 21 Jan 2008 06:47 PM
That did the trick! Thank you-!

Just to confirm, parenthesis would mean that output would only be one value? (im still learning-)

Posttop
James DurningSubject: XSLT Transformation
Author: James Durning
Date: 22 Jan 2008 10:28 AM
Parentheses groups all the nodes together so that the [1] takes the first of these nodes.

Otherwise the [1] applies to each node as it is being queried, and since each NonExclusiveRelDate is the first node in the Track node, you get all of them.

 
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.