grim/gir-tools

Add an ignore file

2016-02-25, Gary Kramlich
a016214e942f
Add an ignore file
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:gir="http://www.gtk.org/introspection/core/1.0"
xmlns:exsl="http://exslt.org/common"
version="1.0"
exclude-result-prefixes="exsl"
extension-element-prefixes="exsl"
>
<xsl:output method="text"/>
<xsl:strip-space elements="*"/>
<xsl:variable name="newline" select="'&#10;'"/>
<xsl:variable name="tab" select="'&#9;'"/>
<xsl:variable name="newline-tab">
<xsl:value-of select="$newline"/>
<xsl:value-of select="$tab"/>
</xsl:variable>
<xsl:template match="gir:property">
<xsl:value-of select="@name"/>
<xsl:text> : </xsl:text>
<xsl:value-of select="gir:type/@name"/>
<xsl:text>&lt;br/&gt;</xsl:text>
</xsl:template>
<xsl:template match="gir:parameter">
<xsl:value-of select="@name"/>
<xsl:text> : </xsl:text>
<xsl:value-of select="gir:type/@name"/>
</xsl:template>
<xsl:template match="gir:instance-parameter"/>
<xsl:template match="gir:parameters">
<xsl:apply-templates select="(gir:instance-parameter|gir:parameter)"/>
</xsl:template>
<xsl:template name="common-method">
<xsl:param name="name"/>
<xsl:value-of select="$name"/>
<xsl:text> (</xsl:text>
<xsl:apply-templates select="gir:parameters"/>
<xsl:text>)</xsl:text>
<xsl:if test="gir:return-value">
<xsl:text> : </xsl:text>
<xsl:value-of select="gir:return-value/gir:type/@name"/>
</xsl:if>
<xsl:text>&lt;br/&gt;</xsl:text>
</xsl:template>
<xsl:template match="gir:method">
<xsl:call-template name="common-method">
<xsl:with-param name="name" select="@name"/>
</xsl:call-template>
</xsl:template>
<xsl:template match="gir:virtual-method">
<xsl:variable name="name">
<xsl:text>&lt;i&gt;</xsl:text>
<xsl:value-of select="@name"/>
<xsl:text>&lt;/i&gt;</xsl:text>
</xsl:variable>
<xsl:call-template name="common-method">
<xsl:with-param name="name" select="$name"/>
</xsl:call-template>
</xsl:template>
<xsl:template match="gir:class">
<xsl:variable name="content">
<xsl:text>digraph {</xsl:text>
<xsl:value-of select="$newline-tab"/>
<xsl:value-of select="$tab"/>
<xsl:value-of select="@name"/>
<xsl:text>[shape="none" label=&lt;&lt;table&gt;</xsl:text>
<xsl:text>&lt;tr&gt;&lt;td&gt;</xsl:text>
<xsl:value-of select="@name"/>
<xsl:if test="@abstract = '1'">
<xsl:text>&lt;br/&gt;&lt;i&gt;abstract&lt;/i&gt;</xsl:text>
</xsl:if>
<xsl:text>&lt;/td&gt;&lt;/tr&gt;</xsl:text>
<xsl:text>&lt;tr&gt;&lt;td&gt;</xsl:text>
<xsl:apply-templates select="gir:property"/>
<xsl:text>&lt;/td&gt;&lt;/tr&gt;</xsl:text>
<xsl:text>&lt;tr&gt;&lt;td&gt;</xsl:text>
<xsl:apply-templates select="(gir:method|gir:virtual-method)"/>
<xsl:text>&lt;/td&gt;&lt;/tr&gt;</xsl:text>
<xsl:text>&lt;/table&gt;&gt;]</xsl:text>
<xsl:value-of select="$newline"/>
<xsl:value-of select="$newline"/>
<xsl:text>}</xsl:text>
<xsl:value-of select="$newline"/>
</xsl:variable>
<xsl:variable name="filename">
<xsl:value-of select="@name"/>
<xsl:text>.dot</xsl:text>
</xsl:variable>
<exsl:document href="{$filename}" method="text">
<xsl:copy-of select="$content"/>
</exsl:document>
</xsl:template>
<xsl:template match="gir:namespace">
<xsl:apply-templates select="gir:class"/>
</xsl:template>
<xsl:template match="gir:repository">
<xsl:apply-templates select="gir:namespace"/>
</xsl:template>
<xsl:template match="/">
<xsl:apply-templates select="gir:repository"/>
</xsl:template>
</xsl:stylesheet>