This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: sorting before selecting by position



Hip hei! 

Of course..

Thanks you're a player..

-----Original Message-----
From: owner-xsl-list@lists.mulberrytech.com
[mailto:owner-xsl-list@lists.mulberrytech.com]On Behalf Of
Jarno.Elovirta@nokia.com
Sent: Monday, 20 August 2001 7:36 p.m.
To: xsl-list@lists.mulberrytech.com
Subject: RE: [xsl] sorting before selecting by position


Hip hei!

Replace

> 	<xsl:template match="//rs">
> 		<rs>
> 			<xsl:apply-templates 
> select="z[position() &gt; 14]">
> 			<xsl:sort select="@loc" 
> data-type="text" order="ascending"/>
> 			</xsl:apply-templates>
> 		</rs>
> 	</xsl:template>
> 
> 	<xsl:template match="//z">
> 		<z>
> 			<xsl:for-each select="@*">
> 				<xsl:copy>
> 					<xsl:apply-templates 
> select="@* |  text()"/>
> 				</xsl:copy>
> 			</xsl:for-each>
> 		</z>
> 
> 	</xsl:template>

with

<xsl:template match="rs">
  <rs>
    <xsl:apply-templates select="z">
      <xsl:sort select="@loc" data-type="text" order="ascending"/>
    </xsl:apply-templates>
  </rs>
</xsl:template>

<xsl:template match="z">
  <xsl:if test="position() &gt; 14">
    <z>
      <xsl:for-each select="@*">
        <xsl:copy>
          <xsl:apply-templates select="@* |  text()"/>
        </xsl:copy>
      </xsl:for-each>
    </z>
  </xsl:if>
</xsl:template>

And it should work. Note that in the match patterns you don't have to use
"//rs", as all elements are descendants of the root node, so a simple "rs"
will suffice

Jarno

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]