Subject: Re: [xsl] Varied Results with Different Versions of Xalan, But How? From: Abel Braaksma <abel.online@xxxxxxxxx> Date: Thu, 23 Aug 2007 19:54:27 +0200 |
Cheers, -- Abel Braaksma
I have an odd problem that seems unexplainable. I'm seeing different results of a simple transformation using xalan-j_2_6_0 (and prior versions) versus xalan-j_2_7_0. The xalan-j_2_7_0 version results in duplicated output. I'm using jdk1.5.0_12. Here are examples:
XML: <?xml version='1.0'?> <document> <permission> <grp gid="101" name="group1"/> <grp gid="102" name="group2"/> </permission> </document>
XSLT: <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="html" omit-xml-declaration="yes"/>
<xsl:variable name="theData" select="/document/permission"/>
<xsl:template match="/document">
<xsl:variable name="grpcount" select="count($theData/grp)"/> <xsl:call-template name="makeGroupList">
<xsl:with-param name="groupSize" select="$grpcount"/>
</xsl:call-template>
</xsl:template>
<xsl:template name="makeGroupList">
<xsl:param name="groupSize"/>
<select name="selectName" size="{$groupSize}" multiple="true">
<xsl:apply-templates select="$theData/grp">
<xsl:sort select="@name"/>
</xsl:apply-templates>
</select>
</xsl:template>
<xsl:template match="grp"> <xsl:variable name="gid" select="./@gid"/> <option value="{$gid}"><xsl:value-of select="@name"/></option> </xsl:template> </xsl:stylesheet>
Output xalan-j_2_7_0: <select multiple="true" size="2" name="selectName"> <option value="101">group1</option> <option value="101">group1</option> <option value="102">group2</option> <option value="102">group2</option> </select>
However, the output from j_2_6_0 is as expected:
Output xalan-j_2_6_0: <select multiple="true" size="2" name="selectName"> <option value="101">group1</option> <option value="102">group2</option> </select>
If I comment out the grpcount variable definition and pass a param with a literal value in the call to the makeGroupList template, both versions of xalan produce the same output.
I'd appreciate any insight into why this is happening.
Regards, Garrel Renick
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Varied Results with Different, Renick, Garrel | Thread | RE: [xsl] Varied Results with Diffe, Renick, Garrel |
Re: [xsl] Using "match" and "name" , Andrew Welch | Date | RE: [xsl] Print parent text, Angela Williams |
Month |