Link to home
Start Free TrialLog in
Avatar of daveamour
daveamourFlag for United Kingdom of Great Britain and Northern Ireland

asked on

preceding-sibling

I have a probkem using preceding-sibling

Here is my xml and xslt.  I am trying to output the Age and previous age.  This is just a contrived example to illustrate an example.

Any ideas?

Thanks

Dave

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="C:\Documents and Settings\armoud\Desktop\EEPeople.xslt"?>
<TestData>
      <item>
            <column name="Firstname" value="Fred"/>
            <column name="Surname" value="Green"/>
            <column name="Age" value="28"/>
            <column name="Sex" value="M"/>
            <column name="MemberNumber" value="58"/>
      </item>
      <item>
            <column name="Firstname" value="Dave"/>
            <column name="Surname" value="Bloggs"/>
            <column name="Age" value="38"/>
            <column name="Sex" value="M"/>
            <column name="MemberNumber" value="28"/>
      </item>
      <item>
            <column name="Firstname" value="Tiffany"/>
            <column name="Surname" value="Brown"/>
            <column name="Age" value="24"/>
            <column name="Sex" value="F"/>
            <column name="MemberNumber" value="15"/>
      </item>
</TestData>

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
      <xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
      
      <xsl:template match="/TestData/item">
            <xsl:variable name="PreviousItem" select="preceding-sibling::item/column[@name=Age]/@value"></xsl:variable>
            
            Current Age: <xsl:value-of select="column[@name='Age']/@value"></xsl:value-of><br />
            Previous Age: <xsl:value-of select="$PreviousItem"></xsl:value-of><br />
            <hr />
      
      </xsl:template>
</xsl:stylesheet>
ASKER CERTIFIED SOLUTION
Avatar of bloodredsun
bloodredsun
Flag of Australia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of daveamour

ASKER

Thanks man, your a star!

How do you learn all this stuff, I find it very unintuitive and books I have tried reading seem difficult too.

Thanks

Dave
O'Reillys XSLT book and 5 years experience. The only way comes from doing it, and it's much easier if you can do it in a decent editor like XMLSPy that gives you XPath functionality in an xml doc so you can test your expressions.

Cheers for the points and the grade.
Ok thanks

I'm using Xml Spy so at least I'm on the right path...