It's a simple grouping problem.
<!-- group <Parameter/>s by <Name/> -->
<xsl:key name="params" match="Parameter" use="Name"/>
<xsl:template match="Parent">
<xsl:apply-templates select="Class/Parameter[generate-id() =
generate-id(key('params', Name))]"/>
</xsl:template>
<xsl:template match="Parameter">
<xsl:value-of select=Name"/>
</xsl:template>
More information at http://www.jenitennison.com/xslt/grouping/muenchian.xml.
Regards,
Joerg
Raghava Rao wrote:
How can repitition be avoided with xsl for the example input xml and
output html file given below:
Input XML
<Parent>
<Class>
<Parameter>
<Name>P1</Name>
<Type>str</Type>
</Parameter>
<Parameter>
<Name>P2</Name>
<Type>int</Type>
</Parameter>
<Parameter>
<Name>P3</Name>
<Type>str</Type>
</Parameter>
<Parameter>
<Name>P4</Name>
<Type>str</Type>
</Parameter>
</Class>
<Class>
<Parameter>
<Name>P5</Name>
<Type>str</Type>
</Parameter>
<Parameter>
<Name>P1</Name>
<Type>str</Type>
</Parameter>
<Parameter>
<Name>P6</Name>
<Type>str</Type>
</Parameter>
</Class>
</Parent>
output HTML
Parameters are:
P1
P2
P3
P4
P5
P6
Thank you.
Raghava
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list