git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24980 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			218 lines
		
	
	
		
			7.4 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			218 lines
		
	
	
		
			7.4 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
<?xml version="1.0"?>
 | 
						|
<xsl:stylesheet version="1.0"
 | 
						|
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 | 
						|
 | 
						|
<xsl:strip-space elements="*" /> 
 | 
						|
<xsl:output method="xml" omit-xml-declaration="yes" indent="yes" />
 | 
						|
 | 
						|
            
 | 
						|
<!-- Stuff to ignore (ignored because the rules don't do anything) -->
 | 
						|
<xsl:template match="/top/attributelist" />
 | 
						|
<xsl:template match="include/attributelist" />
 | 
						|
<xsl:template match="namespace" />
 | 
						|
<xsl:template match="typemap" />
 | 
						|
<xsl:template match="typemapcopy" />
 | 
						|
<xsl:template match="insert" />
 | 
						|
<xsl:template match="fragment" />
 | 
						|
<xsl:template match="constant" />
 | 
						|
<xsl:template match="import" /> 
 | 
						|
 | 
						|
 | 
						|
<!-- Wrap the whole thing in a top level element -->
 | 
						|
<xsl:template match="/">
 | 
						|
    <xsl:element name="module">
 | 
						|
        <xsl:attribute name="name"><xsl:value-of select="top/attributelist/attribute[@name='module']/@value"/></xsl:attribute>
 | 
						|
        <xsl:apply-templates />
 | 
						|
    </xsl:element>
 | 
						|
</xsl:template>
 | 
						|
 | 
						|
 | 
						|
 | 
						|
<xsl:template match="/top/include/import/module">
 | 
						|
    <xsl:element name="import">
 | 
						|
        <xsl:attribute name="name"><xsl:value-of select="./attributelist/attribute[@name='name']/@value"/></xsl:attribute>
 | 
						|
    </xsl:element>
 | 
						|
</xsl:template>
 | 
						|
 | 
						|
 | 
						|
<!-- A callable template that outputs the various docstrings for the current node -->
 | 
						|
<xsl:template name="DoDocstrings">
 | 
						|
    <xsl:if test="./attributelist/attribute[@name='python_autodoc' and @value!='']">
 | 
						|
        <xsl:element name="autodoc"><xsl:value-of select="./attributelist/attribute[@name='python_autodoc']/@value"/></xsl:element>
 | 
						|
    </xsl:if>
 | 
						|
    <xsl:if test="./attributelist/attribute[@name='feature_docstring' and @value!='']">
 | 
						|
        <xsl:element name="docstring"><xsl:value-of select="./attributelist/attribute[@name='feature_docstring']/@value"/></xsl:element>
 | 
						|
    </xsl:if>
 | 
						|
    <xsl:if test="./attributelist/attribute[@name='feature_refdoc' and @value!='']">
 | 
						|
        <xsl:element name="refdoc"><xsl:value-of select="./attributelist/attribute[@name='feature_refdoc']/@value"/></xsl:element>
 | 
						|
    </xsl:if>
 | 
						|
</xsl:template>
 | 
						|
 | 
						|
 | 
						|
<!-- A callable template that handles parameter lists -->
 | 
						|
<xsl:template name="DoParamList">
 | 
						|
    <xsl:if test="attributelist/parmlist">
 | 
						|
        <xsl:element name="paramlist">
 | 
						|
            <xsl:for-each select="attributelist/parmlist/parm">
 | 
						|
	        <xsl:element name="param">
 | 
						|
		    <xsl:attribute name="name"><xsl:value-of select="./attributelist/attribute[@name='name']/@value"/></xsl:attribute>
 | 
						|
		    <xsl:attribute name="type"><xsl:value-of select="./attributelist/attribute[@name='type']/@value"/></xsl:attribute>
 | 
						|
		    <xsl:attribute name="default"><xsl:value-of select="./attributelist/attribute[@name='value']/@value"/></xsl:attribute>
 | 
						|
		</xsl:element>
 | 
						|
  	    </xsl:for-each>
 | 
						|
	</xsl:element>
 | 
						|
    </xsl:if>
 | 
						|
</xsl:template>
 | 
						|
 | 
						|
 | 
						|
<!-- Check for overloaded methods -->
 | 
						|
<xsl:template name="CheckOverloaded">
 | 
						|
    <xsl:choose>
 | 
						|
        <xsl:when test="./attributelist/attribute[@name='sym_overloaded']">
 | 
						|
	   <xsl:attribute name="overloaded">yes</xsl:attribute>
 | 
						|
        </xsl:when>
 | 
						|
        <xsl:otherwise>
 | 
						|
	   <xsl:attribute name="overloaded">no</xsl:attribute>
 | 
						|
        </xsl:otherwise>
 | 
						|
    </xsl:choose>
 | 
						|
</xsl:template>
 | 
						|
 | 
						|
 | 
						|
 | 
						|
<!-- A callable template that handles functions, methods, etc. -->
 | 
						|
<xsl:template name="DoFunction">
 | 
						|
    <xsl:attribute name="name"><xsl:value-of select="./attributelist/attribute[@name='sym_name']/@value"/></xsl:attribute>
 | 
						|
    <!-- <xsl:attribute name="returntype"><xsl:value-of select="./attributelist/attribute[@name='type']/@value"/></xsl:attribute> -->
 | 
						|
    <xsl:call-template name="CheckOverloaded" />
 | 
						|
    <xsl:call-template name="DoDocstrings" />
 | 
						|
    <xsl:call-template name="DoParamList" />	        
 | 
						|
</xsl:template>
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
<!-- Create a class element with doc sub elements taken from the attributelist -->
 | 
						|
<xsl:template match="class">
 | 
						|
    <xsl:element name="class">
 | 
						|
 | 
						|
        <xsl:attribute name="name">
 | 
						|
	    <xsl:value-of select="./attributelist/attribute[@name='sym_name']/@value"/>
 | 
						|
        </xsl:attribute>
 | 
						|
        <xsl:attribute name="oldname">
 | 
						|
	    <xsl:value-of select="./attributelist/attribute[@name='name']/@value"/>
 | 
						|
        </xsl:attribute>
 | 
						|
 | 
						|
        <xsl:attribute name="module">
 | 
						|
	    <xsl:value-of select="./attributelist/attribute[@name='module']/@value"/>
 | 
						|
        </xsl:attribute>
 | 
						|
 | 
						|
	<xsl:call-template name="DoDocstrings" />
 | 
						|
        <xsl:apply-templates />
 | 
						|
 | 
						|
    </xsl:element>
 | 
						|
</xsl:template>
 | 
						|
 | 
						|
<xsl:template match="base">
 | 
						|
    <xsl:element name="baseclass">
 | 
						|
        <xsl:attribute name="name">
 | 
						|
	    <xsl:value-of select="@name"/>
 | 
						|
        </xsl:attribute>
 | 
						|
    </xsl:element>
 | 
						|
</xsl:template>
 | 
						|
 | 
						|
 | 
						|
<!-- constructor -->
 | 
						|
<xsl:template match="constructor">
 | 
						|
    <xsl:element name="constructor">
 | 
						|
        <xsl:attribute name="name">
 | 
						|
	    <xsl:value-of select="./attributelist/attribute[@name='sym_name']/@value"/>
 | 
						|
        </xsl:attribute>
 | 
						|
	<xsl:call-template name="CheckOverloaded" />
 | 
						|
 | 
						|
	<xsl:call-template name="DoDocstrings" />
 | 
						|
	<xsl:call-template name="DoParamList" />
 | 
						|
 | 
						|
    </xsl:element>
 | 
						|
</xsl:template>
 | 
						|
 | 
						|
 | 
						|
<!-- destructor -->
 | 
						|
<xsl:template match="destructor">
 | 
						|
    <xsl:element name="destructor">
 | 
						|
 | 
						|
        <xsl:attribute name="name">
 | 
						|
	    <xsl:value-of select="./attributelist/attribute[@name='sym_name']/@value"/>
 | 
						|
        </xsl:attribute>
 | 
						|
 | 
						|
	<xsl:call-template name="DoDocstrings" />
 | 
						|
	<xsl:call-template name="DoParamList" />
 | 
						|
 | 
						|
    </xsl:element>
 | 
						|
</xsl:template>
 | 
						|
 | 
						|
 | 
						|
<!-- cdecls: can be functions, methods, properties, etc. -->
 | 
						|
<xsl:template match="cdecl">
 | 
						|
    <xsl:choose>
 | 
						|
        <!-- method -->
 | 
						|
        <xsl:when test="./attributelist/attribute[@name='view' and @value='memberfunctionHandler']">
 | 
						|
	    <xsl:element name="method">
 | 
						|
	        <xsl:call-template name="DoFunction" />
 | 
						|
	    </xsl:element>
 | 
						|
        </xsl:when>
 | 
						|
 | 
						|
        <!-- staticmethod -->
 | 
						|
        <xsl:when test="./attributelist/attribute[@name='view' and @value='staticmemberfunctionHandler']">
 | 
						|
	    <xsl:element name="staticmethod">
 | 
						|
	        <xsl:call-template name="DoFunction" />
 | 
						|
	    </xsl:element>
 | 
						|
        </xsl:when>
 | 
						|
	
 | 
						|
	<!-- property -->
 | 
						|
	<xsl:when test="./attributelist/attribute[@name='view' and @value='variableHandler']">
 | 
						|
	    <xsl:element name="property">
 | 
						|
	        <xsl:attribute name="name">
 | 
						|
		    <xsl:value-of select="./attributelist/attribute[@name='sym_name']/@value"/>
 | 
						|
		</xsl:attribute>
 | 
						|
	        <xsl:attribute name="type">
 | 
						|
		    <xsl:value-of select="./attributelist/attribute[@name='type']/@value"/>
 | 
						|
		</xsl:attribute>
 | 
						|
		<xsl:choose>
 | 
						|
		    <xsl:when test="./attributelist/attribute[@name='feature_immutable']">
 | 
						|
		        <xsl:attribute name="readonly">yes</xsl:attribute>
 | 
						|
	            </xsl:when>
 | 
						|
	            <xsl:otherwise>
 | 
						|
		        <xsl:attribute name="readonly">no</xsl:attribute>
 | 
						|
	            </xsl:otherwise>
 | 
						|
		</xsl:choose>
 | 
						|
        	<xsl:call-template name="DoDocstrings" />
 | 
						|
	    </xsl:element>
 | 
						|
        </xsl:when>
 | 
						|
 | 
						|
        <!-- global function -->
 | 
						|
        <xsl:when test="./attributelist/attribute[@name='view' and @value='globalfunctionHandler']">
 | 
						|
	    <xsl:element name="function">
 | 
						|
                <xsl:attribute name="oldname">
 | 
						|
	            <xsl:value-of select="./attributelist/attribute[@name='name']/@value"/>
 | 
						|
                </xsl:attribute>
 | 
						|
	        <xsl:call-template name="DoFunction" />
 | 
						|
	    </xsl:element>
 | 
						|
        </xsl:when>
 | 
						|
 | 
						|
    </xsl:choose>
 | 
						|
</xsl:template>
 | 
						|
 | 
						|
 | 
						|
<!-- %pythoncode directives -->
 | 
						|
<xsl:template match="insert">
 | 
						|
    <xsl:if test="./attributelist/attribute[@name='section' and @value='python']">
 | 
						|
        <xsl:element name="pythoncode">
 | 
						|
	    <xsl:value-of select="./attributelist/attribute[@name='code']/@value"/>
 | 
						|
        </xsl:element>
 | 
						|
    </xsl:if>
 | 
						|
</xsl:template>
 | 
						|
 | 
						|
 | 
						|
</xsl:stylesheet>
 | 
						|
 |