<xsl:stylesheet xmlns:src="http://www.sdml.info/srcML/src" xmlns:cpp="http://www.sdml.info/srcML/cpp" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xd="http://www.pnp-software.com/XSLTdoc" xmlns:ax="http://control.ee.ethz.ch/XWeaver/AspectX" xmlns:xslt="http://xslt" version="2.0">
  
  
     <xd:doc type="stylesheet">
    
<xd:short>XSL Variable Declarations for join point of type <code>src:function</code></xd:short>
    
<xd:detail><xd:dollarVariables /></xd:detail>
    
<xd:cvsId>$Id: function.xsl 2 2005-01-19 16:09:12Z ibirrer $</xd:cvsId>
    
<xd:author>ibirrer</xd:author>
    
<xd:copyright>2004, P&amp;P Software GmbH</xd:copyright>
  
</xd:doc>

  
  
<xsl:namespace-alias stylesheet-prefix="xslt" result-prefix="xsl" />
  
  
<xsl:template match="src:function" mode="variableDeclarations">
    
<xslt:variable name="className">
      
<xslt:choose>
        
<xslt:when test="ancestor::src:class">
          
<xslt:sequence select="ancestor::src:class/src:name" />
        
</xslt:when>
        
<xslt:otherwise>
          
<xslt:sequence select="src:name/src:name[1]" />
        
</xslt:otherwise>
      
</xslt:choose>
    
</xslt:variable>
    
<xslt:variable name="functionName">
      
<xslt:choose>
        
<xslt:when test="src:name[src:name]">
          
<xslt:value-of select="src:name/src:name[last()]" />
        
</xslt:when>
        
<xslt:otherwise>
          
<xslt:value-of select="src:name" />
        
</xslt:otherwise>
      
</xslt:choose>
    
</xslt:variable>
    
<xslt:variable name="functionType" select="src:type/src:name" />
    
<xslt:variable name="paramNames" select="src:parameter_list/src:param/src:decl/src:name" />
    
<xslt:variable name="paramTypes" select="src:parameter_list/src:param/src:decl/src:type" />
  
</xsl:template>

</xsl:stylesheet>






































v