[xsl] Navigating <xsl:for-each-group> groups

Subject: [xsl] Navigating <xsl:for-each-group> groups
From: "Rick Quatro rick@xxxxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 13 Nov 2015 14:53:53 -0000
As I am processing a for-each-group, I want to check some of the elements
within the group that are before or after the current node. I can use
preceding-sibling and following-sibling axes, but it doesn't seem like these
are restricted to the current-group. Is there a good way to query what is
before or after the current node of a group, while insuring that the query
stays within the group? Thanks. -Rick


<?xml version="1.0" encoding="UTF-8"?>
    <one>Number one</one>
    <two>Number two</two>
    <three>Number three</three>
    <four>Number four</four>
    <five>Number five</five>
    <one>Number one2</one>
    <two>Number two2</two>
    <four>Number four2</four>
    <five>Number five2</five>


<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
    <xsl:output indent="yes"/>
    <xsl:template match="/">
        <xsl:apply-templates select="root"/>
    <xsl:template match="root">
        <xsl:for-each-group select="*" group-starting-with="one">
            <xsl:call-template name="precGroup">
                <xsl:with-param name="precGroup" select="current-group()"/>
    <xsl:template name="precGroup">
        <xsl:param name="precGroup"/>
        <xsl:for-each select="$precGroup">
            <xsl:message select="."/>
    <xsl:template match="*">
        <xsl:copy-of select="."/>

Current Thread