Try group-adjacent="concat(local-name(), if (self::figure) then position() else
0))"
which will work for your example though it may not match your general intent...
Michael Kay
Saxonica
On 28 Mar 2018, at 16:53, Rick Quatro rick(_at_)rickquatro(_dot_)com
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> wrote:
Hi All,
I have a <step> element that looks something like this:
<steps>
<step>
<para>Intro stuff</para>
<para>More intro stuff</para>
<figure/>
<figure/>
<para>Conclusion stuff</para>
<para>More conclusion stuff</para>
</step>
</steps>
I want 4 separate groups:
1) First two <para> elements.
2) First <figure>
3) Second <figure>
4) Last two <para> elements.
Here is my stylesheet:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform
<http://www.w3.org/1999/XSL/Transform>"
xmlns:xs="http://www.w3.org/2001/XMLSchema
<http://www.w3.org/2001/XMLSchema>"
exclude-result-prefixes="xs"
version="2.0">
<xsl:template match="/steps">
<xsl:apply-templates select="step"/>
</xsl:template>
<xsl:template match="step">
<xsl:for-each-group select="*" group-starting-with="figure">
<xsl:message select="count(current-group())"></xsl:message>
</xsl:for-each-group>
</xsl:template>
</xsl:stylesheet>
I get the first two groups, but the last two <para> elements are part of the
last <figure>'s group instead of being separate.
I tried using group-by="figure" but I don't get any output. Any help would be
appreciated. Thank you very much.
Rick
Rick Quatro
Carmen Publishing Inc.
rick(_at_)frameexpert(_dot_)com <mailto:rick(_at_)frameexpert(_dot_)com>
FrameMaker toys: www.frameexpert.com/store <http://www.frameexpert.com/store>
585-366-4017
XSL-List info and archive <http://www.mulberrytech.com/xsl/xsl-list>
EasyUnsubscribe <-list/293509> (by email <>)
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--