xsl-list
[Top] [All Lists]

RE: xsl grouping problem

2005-09-09 15:20:34
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>
--~--



<Prev in Thread] Current Thread [Next in Thread>