|
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:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<first>First</first>
<second>Second</second>
<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>
</root>
XSLT:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="xs"
version="2.0">
<xsl:output indent="yes"/>
<xsl:template match="/">
<xsl:apply-templates select="root"/>
</xsl:template>
<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:call-template>
</xsl:for-each-group>
</xsl:template>
<xsl:template name="precGroup">
<xsl:param name="precGroup"/>
<xsl:for-each select="$precGroup">
<xsl:message select="."/>
</xsl:for-each>
</xsl:template>
<xsl:template match="*">
<xsl:copy-of select="."/>
</xsl:template>
</xsl:stylesheet>
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] xslt 1.0 duplicates refre, Michael Kay mike@xxx | Thread | Re: [xsl] Navigating <xsl:for-each-, Martin Honnen martin |
| Re: [xsl] xslt 1.0 duplicates refre, Michael Kay mike@xxx | Date | Re: [xsl] Navigating <xsl:for-each-, Martin Honnen martin |
| Month |