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

Mukul Gandhi updated XALANJ-2646:
---------------------------------
    Attachment: xsl3_for_each_group_test_files.zip

> Implementation of xslt 3.0's xsl:for-each-group instruction, for XalanJ's 
> interpretive processor
> ------------------------------------------------------------------------------------------------
>
>                 Key: XALANJ-2646
>                 URL: https://issues.apache.org/jira/browse/XALANJ-2646
>             Project: XalanJ2
>          Issue Type: New Feature
>      Security Level: No security risk; visible to anyone(Ordinary problems in 
> Xalan projects.  Anybody can view the issue.) 
>          Components: Xalan-interpretive
>            Reporter: Mukul Gandhi
>            Assignee: Mukul Gandhi
>            Priority: Major
>         Attachments: xsl3_for_each_group_test_files.zip
>
>
> I'm creating this jira issue, to track implementation of XSLT 3.0's 
> xsl:for-each-group instruction, for XalanJ's interpretive processor.
> I've done little bit of implementation for this, that seems to work fine for 
> various primary XSLT 3.0 xsl:for-each-group use cases.
> The XSLT 3.0 structural implementation for xsl:for-each-group, implementing 
> the XSLT element xsl:for-each-group, and functions fn:current-group(), 
> fn:current-grouping-key() have been completed. All the xsl:for-each-group's 
> grouping attributes, i.e 'group-by', 'group-adjacent', 'group-starting-with', 
> 'group-ending-with' have been implemented.
> Implementation of using xsl:sort element(s) with xsl:for-each-group element 
> has been fairly completed. The XSLT 3.0 spec, specifies following grammar for 
> xsl:sort element,
> <xsl:sort
>            select? = expression
>            lang? = { language }
>            order? = { "ascending" | "descending" }
>            collation? = { uri }
>            stable? = { boolean }
>            case-order? = { "upper-first" | "lower-first" }
>            data-type? = { "text" | "number" | eqname } >
>         <!-- Content: sequence-constructor -->
> </xsl:sort>
> Except the xsl:sort element's attributes 'collation' and 'stable', all other 
> attributes of xsl:sort element have been implemented to work with 
> xsl:for-each-group element.    
> Currently, xsl:for-each-group's grouping keys (i.e, value of xslt 3.0 
> function fn:current-grouping-key() for a group) can have values typed as 
> string, number or boolean (any other XPath typed value for xslt 3.0's 
> grouping keys is converted to a string value).
> The relevant working test cases, for this jira issue have been attached as 
> zip archive to this jira issue.  
> The codebase changes for these mentioned XSLT 3.0 implementation aspects, 
> have been committed to xalan-java repo's branch xalan-j_xslt3.0.



--
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