xsl-list
[Top] [All Lists]

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

2008-02-05 03:16:12


<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. 
________________________________________________________________________

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