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
Piet HeinSubject: Reaching element within same parent (Newbie?)
Author: Piet Hein
Date: 18 Jun 2007 01:10 AM
Originally Posted: 18 Jun 2007 01:09 AM
I am trying to reach the <value> element within the same parent as the <name> element I found.

<COL><DATA>
<xsl:if test="subrecord/name='txt_Country'"> <xsl:value-of select="following::value" />
</xsl:if>
</DATA></COL>

Source XML consists of a lot of the following

<subrecord id="3277">
<element>175</element>
<name>txt_Country</name>
<title>Country</title>
<type>Text</type>
<value>Germany</value>
</subrecord>

Can someone help me getting 'Germany' within <DATA></DATA>, because following::value does not do the trick ?

Thnx

Postnext
Elias HuterSubject: Reaching element within same parent (Newbie?)
Author: Elias Huter
Date: 18 Jun 2007 07:17 AM
Is the subrecord ID unique? If that's the case you could link them via the ID.

Postnext
Piet HeinSubject: Reaching element within same parent (Newbie?)
Author: Piet Hein
Date: 18 Jun 2007 07:28 AM
ID is indeed unique, but I do not know them. I only know the value of Name.

Postnext
Alberto MassariSubject: Reaching element within same parent (Newbie?)
Author: Alberto Massari
Date: 18 Jun 2007 08:06 AM
Hi Piet,
the context of the XSLT snippet you have is the parent node of subrecord (as you are doing <xsl:if test="subrecord/name='txt_Country'">), so you should write <xsl:value-of select="subrecord/value"/>

Alberto

Postnext
Piet HeinSubject: Reaching element within same parent (Newbie?)
Author: Piet Hein
Date: 18 Jun 2007 08:48 AM
Unfortunately /subrecord/value exists multiple times in the source XML, I need the one in the subrecord where name = 'txt_Country'. Your solution only addresses the first /subrecord/value in the source.

Posttop
Alberto MassariSubject: Re: Reaching element within same parent (Newbie?)
Author: Alberto Massari
Date: 18 Jun 2007 09:06 AM
Hi Piet,
in this case your entire xsl:if is wrong, as it will always return
'true' if there is at least one subrecord that has a name equal to
'txt_Country'.

You will need to add a loop on subrecord, and remove the 'subrecord'
part from both the xsl:if and xsl:value-of. You will have to decide
where the loop needs to be (before the COL element or before the DATA
element, or even before)

Hope this helps,
Alberto

 
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.