You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by "Joanne Tong (JIRA)" <xa...@xml.apache.org> on 2004/11/22 16:40:27 UTC

[jira] Commented: (XALANJ-1368) multiple key definitions (same name) do not work as expected on longer strings

     [ http://nagoya.apache.org/jira/browse/XALANJ-1368?page=comments#action_55735 ]
     
Joanne Tong commented on XALANJ-1368:
-------------------------------------

I have reviewed Henry's patch, and I believe it correctly resolves the problem. 

> multiple key definitions (same name) do not work as expected on longer strings
> ------------------------------------------------------------------------------
>
>          Key: XALANJ-1368
>          URL: http://nagoya.apache.org/jira/browse/XALANJ-1368
>      Project: XalanJ2
>         Type: Bug
>   Components: transformation, Xalan-interpretive
>     Versions: 2.4
>  Environment: Operating System: Other
> Platform: Other
>     Reporter: Jörg Heinicke
>     Priority: Blocker
>  Attachments: patch.j1368.txt, test.xml, test.xsl
>
> At the weekend we found a problem in Cocoon 2.1 (CVS head) using the used Xalan
> 2.4.1 and XSLTC there
> (http://marc.theaimsgroup.com/?l=xml-cocoon-dev&m=103985066026426&w=2).
> The files used for the tests were
> xml-cocoon2\src\webapp\samples\flow\examples\prefs\pages\userInfo.xsp
> and version 1.5
> http://cvs.apache.org/viewcvs.cgi/xml-cocoon2/src/java/org/apache/cocoon/components/language/markup/xsp/java/jpath.xsl
> I will attach simplified versions of both files.
> In the XSL there was a aggregated key declaration (or how is it called?):
>   <xsl:key name="JPathExprs" match="jpath:if" use="@test"/>
>   <xsl:key name="JPathExprs" match="jpath:when" use="@test"/>
>   <xsl:key name="JPathExprs" match="jpath:for-each" use="@select"/>
>   <xsl:key name="JPathExprs" match="jpath:value-of" use="@select"/>
> When applying templates like
> <xsl:apply-templates select="//jpath:if | //jpath:when | //jpath:value-of |
> //jpath:for-each"/>
> and using a template like
>   <xsl:template match="jpath:if | jpath:when | jpath:for-each | jpath:value-of">
>     <tr>
>         <td>
>             <xsl:value-of select="name()"/>
>         </td>
>         <td>
>             <xsl:value-of select="concat(@test, @select)"/>
>         </td>
>         <td>
>             <xsl:value-of select="generate-id()"/>
>         </td>
>         <td>
>             <xsl:value-of select="generate-id(key('JPathExprs', concat(@test,
> @select)))"/>
>         </td>
>         <td>
>             <xsl:value-of select="count(key('JPathExprs', concat(@test,
> @select)))"/>
>         </td>
>     </tr>
>   </xsl:template>
> the generate-id() and the count() return wrong values for strings like "check
> and firstName = ''". The generate-id() return is empty and the count() return is
> 0. But as you can guess those expressions are important for Muenchian Grouping.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-dev-help@xml.apache.org