I would use
<xsl:for-each-group group-adjacent="self::line or self::line_first or
self::line_last">
<xsl:choose>
<xsl:when test="current-grouping-key()">
<stanza><xsl:copy-of select="current-group()"/></stanza>
</xsl:when>
<xsl:otherwise>
<xsl:copy-of select="current-group()"/>
</
</
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Jeff Hatch [mailto:hatchjk(_at_)ldschurch(_dot_)org]
Sent: 09 September 2005 14:52
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] xsl grouping problem
I've been chewing on this for some time now and would love
some suggestions.
Coming from a document-centric environment, I am given xml
that looks like this:
<chapter>
<para>This is a paragraph in the chapter</para>
<line_first>This is first line of a stanza of poetry</line_first>
<line>This is line of poetry</line>
<line>This is line of poetry</line>
<line>This is line of poetry</line>
<line_last>This is last line of a stanza of poetry</line_last>
<para>This is a paragraph in the chapter</para>
</chapter>
The challenge is to perform copy and grouping operations to
a) copy all existing
structure as is, using copy-of, which is not a problem.
However, to the above
xml I wish to apply additional structure to create a poem stanza:
<chapter>
<para>This is a paragraph in the chapter</para>
<stanza>
<line_first>This is first line of poetry</line_first>
<line>This is line of poetry</line>
<line>This is line of poetry</line>
<line>This is line of poetry</line>
<line_last>This is last line of poetry</line_last>
</stanza>
<para>This is a paragraph in the chapter</para>
</chapter>
My difficulty stems from being dealt two dissimilar element
names at the
beginning and end of the block of xml that needs to be
grouped. My attempts to
do this with group-starting-with and group-ending-with have
failed. Performing
group-adjacent on the <line> elements miss the first_ and
last_line elements.
Any thoughts?
--------------------------------------------------------------
----------------
This message may contain confidential information, and is
intended only for the use of the individual(s) to whom it
is addressed.
--------------------------------------------------------------
----------------
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--