[ 
https://issues.apache.org/jira/browse/XALANJ-2739?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mukul Gandhi resolved XALANJ-2739.
----------------------------------
    Resolution: Fixed

I'm marking this issue as resolved. The fix for this has been committed to 
xalanj xsl3 dev repos branch, with commit id 
c12291090d5917df8d952875e12b3de9dab45bec.

> map:get on values returned by map:keys doesn't find a map entry
> ---------------------------------------------------------------
>
>                 Key: XALANJ-2739
>                 URL: https://issues.apache.org/jira/browse/XALANJ-2739
>             Project: XalanJ2
>          Issue Type: Bug
>      Security Level: No security risk; visible to anyone(Ordinary problems in 
> Xalan projects.  Anybody can view the issue.) 
>          Components: Xalan-CmdLine
>    Affects Versions: The Latest Development Code
>         Environment: Windows 11, Java 8
>            Reporter: Martin Honnen
>            Assignee: Mukul Gandhi
>            Priority: Major
>         Attachments: for-return-map-keys1.xsl
>
>
> This is a bug report on the XSLT 3.0 development branch of Xalan.
> I have tried the new XDM/XPath 3.1 map feature but I see some odd failure, 
> the function map:keys returns a sequence of (supposedly) map key values but 
> somehow using map:get with those keys doesn't find any value.
>  
> XSLT code (run against any XML input file):
>  
>  
> {code:java}
> <?xml version="1.0" encoding="utf-8"?>
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
>   version="3.0"
>   xmlns:xs="http://www.w3.org/2001/XMLSchema";
>   xmlns:map="http://www.w3.org/2005/xpath-functions/map";
>   xmlns:array="http://www.w3.org/2005/xpath-functions/array";
>   exclude-result-prefixes="xs map array">
>   <xsl:output method="xml" indent="yes"/>
>   <xsl:template match="/">
>     <test>
>       <xsl:comment>Run with <xsl:value-of 
> select="system-property('xsl:vendor')"/> at <xsl:value-of 
> select="current-dateTime()"/></xsl:comment>
>       <xsl:variable name="map1" select="map { 'foo' : 'bar', 'data' : [1,2,3] 
> }"/>
>       <value key="foo">
>         <xsl:value-of select="map:get($map1, 'foo')"/>
>       </value>
>       <map-key-values>
>         <xsl:for-each select="map:keys($map1)">
>            <value key="{.}">
>               <xsl:value-of select="map:get($map1, .)"/>
>            </value>
>         </xsl:for-each>
>       </map-key-values>
>     </test>
>   </xsl:template>
> </xsl:stylesheet>
> {code}
>  
> Result is e.g.
> {code:java}
> <?xml version="1.0" encoding="UTF-8"?><test>
>   <!--Run with Apache Software Foundation at 2024-05-29T12:55:37+02:00-->
>   <value key="foo">bar</value>
>   <map-key-values>
>     <value key="data"/>
>     <value key="foo"/>
>   </map-key-values>
> </test>{code}
> so somehow the returned keys from map:keys don't work as intended with 
> map:get.
>  
> Expected result would include e.g.
>  
> {code:java}
>    <map-key-values>
>       <value key="foo">bar</value>
>       <value key="data">1 2 3</value>
>    </map-key-values>{code}
>  
>  
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to