Re: [xsl] Count Ancestors Up To But Not Including a Given Type

Subject: Re: [xsl] Count Ancestors Up To But Not Including a Given Type
From: David Carlisle <davidc@xxxxxxxxx>
Date: Tue, 5 Feb 2008 10:15:43 GMT
<x>
<ol>
  <li>
   <ol>
    <li>
<y/>
    </li>
   </ol>
  </li>
</ol>

<ol>
  <li>
   <ul>
    <li>
     <ol>
      <li>
<y/>
      </li>
     </ol>
    </li>
   </ul>
  </li>
</ol>
</x>




<xsl:stylesheet version="2.0"
		xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
		xmlns:xs="http://www.w3.org/2001/XMLSchema";
		xmlns:f="data:,f"
		>


  <xsl:function name="f:same" as="element()*">
    <xsl:param name="n" as="element()"/>
    <xsl:sequence select="$n,$n/../..[node-name(.)=node-name($n)]/f:same(.)"/>
  </xsl:function>

<xsl:template match="y">
:<xsl:value-of select="count(f:same(../..)/name())"/>
</xsl:template>




</xsl:stylesheet>


$ saxon9 ol.xml ol.xsl
<?xml version="1.0" encoding="UTF-8"?>

  
   
    

:2
    
   
  



  
   
    
     
      

:1
      

________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
________________________________________________________________________

Current Thread