[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: group-adjacent problem

Subject: Re: group-adjacent problem
From: Terry Ofner <tofner@xxxxxxxxxxx>
Date: Wed, 13 Feb 2008 11:03:11 -0500
Re:  group-adjacent problem
Yep. That works. Since I am processing all child elements of the <Story> element, I used apply-templates instead of copy-of. If I use copy-of, the other templates that match <ma>, <sa>, etc. are unable to do their work:

<xsl:otherwise>
	<xsl:apply-templates select="current-group()"/>
</xsl:otherwise>


Terry Ofner 1541 Northbrook Drive Indianapolis, IN 46260 Voice: 317-870-1992 Fax: 317-870-7101

tofner@xxxxxxxxxxx




On Feb 13, 2008, at 10:51 AM, Michael Kay wrote:


Just change your

<xsl:if test="self::matching_group">

into an xsl:choose/xsl:when, and add

<xsl:otherwise><xsl:copy-of select="current-group()"/></xsl:otherwise>

Michael Kay
http://www.saxonica.com/

-----Original Message-----
From: Terry Ofner [mailto:tofner@xxxxxxxxxxx]
Sent: 13 February 2008 15:39
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject:  group-adjacent problem

I have this xml input:

<title>
<ChapNum>10</ChapNum>
<ChapName>Character Development</ChapName>
<Story>
<ma>_____ 1. denouement</ma>
<ma>_____ 2. conflict</ma>
<ma>_____ 3. fourth wall</ma>
<ma>_____ 4. turning point</ma>
<ma>_____ 5. nonrealistic</ma>
<ma>_____ 6. presentational</ma>
<ma>_____ 7. representational</ma>
<ma>_____ 8. resolution</ma>
<ma>_____ 9. rising action</ma>
<ma>_____ 10. subtext</ma>
<matching_group>a. falling action</matching_group>
<matching_group>b. without reference to the audience</
matching_group>
<matching_group>c. struggle</matching_group>
<matching_group>d. highest emotional intensity</ matching_group>
<matching_group>e. exaggerated</matching_group>
<matching_group>f. direct address</matching_group>
<matching_group>g. completion</matching_group>
<matching_group>h. complications</matching_group>
<matching_group>i. implied information</matching_group>
<matching_group>j. convention of realistic theatre</
matching_group>
<sa>11. What are the elements of traditional play
structure?</sa>
<sa>12. What techniques can you employ for timely cue
pickup?</
sa>
<es>13. What steps can help you develop a
characterization?</es>
</Story>
</title>


I need to process all the elements inside the story element.
One thing I need to do is group the <matching_group>
elements. Here is one of the templates I have tried to do this:

<xsl:template match='Story[child::matching_group]'>
<xsl:for-each-group select="*" group-adjacent="name()">
<xsl:if test="self::matching_group">
   <matching-group>
   <choices columns='1'>
   <xsl:for-each select="current-group()">
   <xsl:apply-templates select="."/>
   </xsl:for-each>
   </choices>
</matching-group>
</xsl:if>
</xsl:for-each-group>
</xsl:template>

This works to group the <matching_group> elements. However,
it cuts the <ma>, <sa>, and <es> elements from the result:

    <title>
       <ChapNum>10</ChapNum>
       <ChapName>Character Development</ChapName>
       <matching-group>
          <choices columns="1">
             <choice-a>falling action</choice-a>
             <choice-b>without reference to the audience</choice-b>
             <choice-c>struggle</choice-c>
             <choice-d>highest emotional intensity</choice-d>
             <choice-e>exaggerated</choice-e>
             <choice-f>direct address</choice-f>
             <choice-g>completion</choice-g>
             <choice-h>complications</choice-h>
             <choice-i>implied information</choice-i>
             <choice-j>convention of realistic theatre</choice-j>
          </choices>
       </matching-group>
    </title>

Any hints would be appreciated.

Terry Ofner

tofner@xxxxxxxxxxx

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.