[ 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