grim/gir-tools

Rename gir2dot to gir2uml

2016-02-24, Gary Kramlich
14d9f67ff383
Parents 7d979d896f64
Children 23db5e1f5680
Rename gir2dot to gir2uml
  • +0 -121
    gir2dot.xsl
  • +121 -0
    gir2uml.xsl
  • --- a/gir2dot.xsl Wed Feb 24 23:07:08 2016 -0600
    +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
    @@ -1,121 +0,0 @@
    -<?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"
    ->
    - <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: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:template>
    -
    - <xsl:template match="gir:namespace">
    - <xsl:text>digraph {</xsl:text>
    - <xsl:value-of select="$newline-tab"/>
    - <xsl:text>graph[label="</xsl:text>
    - <xsl:value-of select="@name"/>
    - <xsl:text>"]</xsl:text>
    - <xsl:value-of select="$newline"/>
    -
    - <xsl:apply-templates select="gir:class"/>
    -
    - <xsl:value-of select="$newline"/>
    - <xsl:text>}</xsl:text>
    - <xsl:value-of select="$newline"/>
    - </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>
    --- /dev/null Thu Jan 01 00:00:00 1970 +0000
    +++ b/gir2uml.xsl Wed Feb 24 23:07:34 2016 -0600
    @@ -0,0 +1,121 @@
    +<?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"
    +>
    + <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: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:template>
    +
    + <xsl:template match="gir:namespace">
    + <xsl:text>digraph {</xsl:text>
    + <xsl:value-of select="$newline-tab"/>
    + <xsl:text>graph[label="</xsl:text>
    + <xsl:value-of select="@name"/>
    + <xsl:text>"]</xsl:text>
    + <xsl:value-of select="$newline"/>
    +
    + <xsl:apply-templates select="gir:class"/>
    +
    + <xsl:value-of select="$newline"/>
    + <xsl:text>}</xsl:text>
    + <xsl:value-of select="$newline"/>
    + </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>