I have an Xml file and XSL o format it below.
I have tried to distinct the "ProgramCode" and the "programDescription"
attributes but after that i still get repeatable data of
CourseCode,CourseDescription etc
ANy helps
XML file
---------
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="new_email.xsl"?>
<Program>
<ProgramsDetails ProgramCode="PRG004" programDescription="Crazy
Training 2">
<Course CourseCode="MAT01" DurationHours="8"
CourseDescription="Maths For Beginners">
<Module ModuleCode="TEST101" ModuleDescription="Test Module" />
</Course>
<Prerequisites PreReqCourseCode="" />
</ProgramsDetails>
<ProgramsDetails ProgramCode="PRG004" programDescription="Crazy
Training 2">
<Course CourseCode="PHS101" DurationHours="36"
CourseDescription="Physics">
<Module ModuleCode="TEST101" ModuleDescription="Test Module" />
</Course>
<Prerequisites PreReqCourseCode="MAT234" />
</ProgramsDetails>
<ProgramsDetails ProgramCode="PRG004" programDescription="Crazy
Training 2">
<Course CourseCode="PHS101" DurationHours="36"
CourseDescription="Physics">
<Module ModuleCode="TEST103"
ModuleDescription="TESTMODULEWITHLONGNAME" />
</Course>
<Prerequisites PreReqCourseCode="MAT234" />
</ProgramsDetails>
<ProgramsDetails ProgramCode="PRG005" programDescription="Program 6">
<Course CourseCode="COURSE102" DurationHours="5"
CourseDescription="Course for learning Courses">
<Module ModuleCode="MODULE101" ModuleDescription="Module 1" />
</Course>
<Prerequisites PreReqCourseCode="" />
</ProgramsDetails>
<ProgramsDetails ProgramCode="PRG005" programDescription="Program 6">
<Course CourseCode="MAT01" DurationHours="8"
CourseDescription="Maths For Beginners">
<Module ModuleCode="TEST101" ModuleDescription="Test Module" />
</Course>
<Prerequisites PreReqCourseCode="" />
</ProgramsDetails>
<ProgramsDetails ProgramCode="PRG005" programDescription="Program 6">
<Course CourseCode="MAT234" DurationHours="8"
CourseDescription="Maths">
<Module ModuleCode="TEST101" ModuleDescription="Test Module" />
</Course>
<Prerequisites PreReqCourseCode="MAT01" />
</ProgramsDetails>
<ProgramsDetails ProgramCode="PRG005" programDescription="Program 6">
<Course CourseCode="MAT234" DurationHours="8"
CourseDescription="Maths">
<Module ModuleCode="TEST101" ModuleDescription="Test Module" />
</Course>
<Prerequisites PreReqCourseCode="MAT101" />
</ProgramsDetails>
<ProgramsDetails ProgramCode="PRG005" programDescription="Program 6">
<Course CourseCode="MAT234" DurationHours="8"
CourseDescription="Maths">
<Module ModuleCode="TEST101" ModuleDescription="Test Module" />
</Course>
<Prerequisites PreReqCourseCode="PHS101" />
</ProgramsDetails>
<ProgramsDetails ProgramCode="PRG005" programDescription="Program 6">
<Course CourseCode="MAT234" DurationHours="8"
CourseDescription="Maths">
<Module ModuleCode="TEST102" ModuleDescription="TestModule2" />
</Course>
<Prerequisites PreReqCourseCode="MAT01" />
</ProgramsDetails>
<ProgramsDetails ProgramCode="PRG005" programDescription="Program 6">
<Course CourseCode="MAT234" DurationHours="8"
CourseDescription="Maths">
<Module ModuleCode="TEST102" ModuleDescription="TestModule2" />
</Course>
<Prerequisites PreReqCourseCode="MAT101" />
</ProgramsDetails>
<ProgramsDetails ProgramCode="PRG005" programDescription="Program 6">
<Course CourseCode="MAT234" DurationHours="8"
CourseDescription="Maths">
<Module ModuleCode="TEST102" ModuleDescription="TestModule2" />
</Course>
<Prerequisites PreReqCourseCode="PHS101" />
</ProgramsDetails>
</Program>
Xsl file:-
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes" />
<xsl:key name="progs" match="ProgramsDetails" use="@ProgramCode" />
<xsl:key name="progs1" match="ProgramsDetails" use="@ProgramCode" />
<xsl:template match="Program">
<xsl:for-each
select="ProgramsDetails[count(.|key('progs',@ProgramCode)[1]) = 1]">
<xsl:sort select="@programDescription" />
<xsl:value-of select="@ProgramCode" /><br />
<hr size="1"/>
<xsl:value-of select="@programDescription" /><br />
<br/>
<b>Course Code:</b>
<xsl:value-of select="Course/@CourseCode"/><br />
<xsl:for-each select="key('progs', @ProgramCode)">
<xsl:sort select="Course/@CourseCode"/>
<b><xsl:value-of select="Course/@CourseCode"/>,</b> (<b><xsl:value-of
select="Course/@CourseDescription"/></b>)<br />
<br />
</xsl:for-each>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
*** Sent via Developersdex http://www.developersdex.com ***