Thanks Michael, it fixed one problem but introduced another.
Input XML:
<play>
<title>MACBETH</title>
<scene act="1">
<stage-direction>A wild open place. Thunder and lightning. Three
Witches enter.</stage-direction>
<actor>1ST WITCH</actor>
<speach>When shall we three meet again</speach>
<speach>In thunder, lightning, or in rain?</speach>
<actor>2ND WITCH</actor>
<speach>When the rough-and-tumble's done,</speach>
<speach>When the battle's lost and won.</speach>
....
</scene act="1">
....
</play>
Transformation:
<xsl:template match="play">
<xsl:for-each-group select="*" group-adjacent="(@act, '?')[1]">
<xsl:choose>
<xsl:when test="@act">
<act>
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</act>
</xsl:when>
<xsl:otherwise>
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each-group>
</xsl:template>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
Result:
Only the first scene of every act grouping is copied. The other scenes
are dropped. Why would this be?
--~------------------------------------------------------------------
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>
--~--