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

Mukul Gandhi updated XALANJ-2646:
---------------------------------
    Description: 
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 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.

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

The codebase changes for these mentioned XSLT 3.0 implementation aspects, have 
been committed to xalan-java repo's branch xalan-j_xslt3.0.


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