Transforming xml using xslt

Here should go questions about transforming XML with XSLT and FOP.
szpt9m
Posts: 1

Transforming xml using xslt

Mon Nov 17, 2014 1:35 pm

Hi All,

I am new to xslt and working on a project to transfer one xml into another.

The issue I am getting is while iterating and assigning values as shown below.

Example XML1:

Code: Select all

<something:Main id="id8" modifiedDate="2014-11-14 14:33:33">
<something:Parent>FirstValue</something:Parent>
<something:Parent>SecondValue</something:Parent>
<something:Parent>ThirdValue</something:Parent>
<something:Parent>FourthValue</something:Parent>
<something:Parent>FifthValue</something:Parent>
<something:Parent>SixthValue</something:Parent>
</something:Main>


Now when i use xslt to get each values for further processing it is taking first value everytime. Like

Code: Select all

<xsl:for-each select="//something:Main/something:Parent">
<xsl:variable name="ClassId">
<xsl:value-of select="//something:Parent" />
</xsl:variable>
<xsl:element name="Testing">
<xsl:attribute name="ClassID">
<xsl:value-of select="$ClassId" />
</xsl:attribute>
</xsl:element>
</xsl:for-each>


Here for the first iteration it will print "FirstValue" but in second iteration as well, instead of printing second value it is priting FirstValue. Could you please tell me where am I going wrong?

Thanks.
adrian
Posts: 2453

Re: Transforming xml using xslt

Tue Nov 18, 2014 6:40 pm

Hi,

You're not using the current context (.) in the for-each statement.
http://www.w3schools.com/xsl/xsl_for_each.asp
Instead of

Code: Select all

<xsl:value-of select="//something:Parent"/>

Try

Code: Select all

<xsl:value-of select="." />

Regards,
Adrian
Adrian Buza
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com

Return to “XSLT and FOP”

Who is online

Users browsing this forum: No registered users and 0 guests