You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by "Brian Minchau (JIRA)" <xa...@xml.apache.org> on 2004/11/04 01:04:43 UTC

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

     [ http://nagoya.apache.org/jira/browse/XALANJ-1368?page=history ]

Brian Minchau updated XALANJ-1368:
----------------------------------

       Description: 
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.

  was:
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.

       Environment: 
Operating System: Other
Platform: Other

  was:
Operating System: Other
Platform: Other

          Priority: Blocker
    Xalan-keywords: PatchAvailable

Testing new "Xalan-keywords" field with the new "PatchAvailable" keyword.

> 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: Xalan-interpretive, transformation
>     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