[ https://issues.apache.org/jira/browse/XALANJ-2739?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mukul Gandhi reassigned XALANJ-2739: ------------------------------------ Assignee: Mukul Gandhi > 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