xsl-list
[Top] [All Lists]

RE: [xsl] Without parentnode, how to matchng first and last position of the list-item

2008-11-13 01:28:00
Dear David,

I am getting error: Line #121; Column #93; xsl:for-each-group is not allowed
in this position in the stylesheet!.

Here: <xsl:for-each-group select="*"
group-adjacent="string(self::p/@class[contains(.,'List')])">

Regards,
Ramkumar

-----Original Message-----
From: David Carlisle [mailto:davidc(_at_)nag(_dot_)co(_dot_)uk] 
Sent: Wednesday, November 12, 2008 5:17 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Without parentnode, how to matchng first and last
position of the list-item

<div>
<p>hmmmm</p>
<p class="FeatureListNumbered">1.Stand in a line in front.</p>
<p class="FeatureListNumbered">2.Which month has the most birthdays?</p>
<p class="FeatureH1">Problem Guide:</p>
<p class="FeatureListNumbered">1.Stand in a line in front.</p>
<p class="FeatureListNumbered">2.Which month has the most birthdays?</p>
<p>haaaa</p>
</div>




<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
 

<xsl:output indent="yes"/>

<xsl:template match="div">
<div>
<xsl:for-each-group select="*"
group-adjacent="string(self::p/@class[contains(.,'List')])">
<xsl:choose>
 <xsl:when test="self::p/@class[contains(.,'List')]">
  <list1 type="1">
   <xsl:apply-templates select="current-group()"/>
  </list1>
 </xsl:when>
 <xsl:otherwise>
   <xsl:apply-templates select="current-group()"/>
 </xsl:otherwise>
</xsl:choose>
</xsl:for-each-group>
</div>
</xsl:template>

<xsl:template match="p">
 <p>
  <xsl:apply-templates/>
 </p>
</xsl:template>

<xsl:template match="p[(_at_)class='FeatureListNumbered']/text()[1]">
 <xsl:value-of select="substring-after(.,'.')"/>
</xsl:template>
<xsl:template match="p[(_at_)class='FeatureH1']">
 <sect1><title>
  <xsl:apply-templates/></title></sect1>
</xsl:template>

</xsl:stylesheet>




$ saxon9 plist.xml plist.xsl 
<?xml version="1.0" encoding="UTF-8"?>
<div>
   <p>hmmmm</p>
   <list1 type="1">
      <p>Stand in a line in front.</p>
      <p>Which month has the most birthdays?</p>
   </list1>
   <sect1>
      <title>Problem Guide:</title>
   </sect1>
   <list1 type="1">
      <p>Stand in a line in front.</p>
      <p>Which month has the most birthdays?</p>
   </list1>
   <p>haaaa</p>
</div>



--~------------------------------------------------------------------
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>
--~--