<xsl:apply-templates select="element-flags"/>
<xsl:apply-templates select="element-implementation"/>
<xsl:apply-templates select="clocking-interaction"/>
+ <xsl:apply-templates select="indexing-capabilities"/>
+ <xsl:apply-templates select="dyn-params"/>
<xsl:apply-templates select="pads"/>
<xsl:apply-templates select="element-properties"/>
<xsl:apply-templates select="element-signals"/>
<xsl:text> </xsl:text>
</xsl:template>
+ <xsl:template match="requires-clock">
+ <xsl:text> element requires a clock </xsl:text>
+ </xsl:template>
+
+ <xsl:template match="provides-clock">
+ <xsl:text> element provides a clock: </xsl:text>
+ <xsl:value-of select="@name"/>
+ <xsl:text> </xsl:text>
+ </xsl:template>
+
<xsl:template match="clocking-interaction">
<xsl:text>Clocking Interaction: </xsl:text>
+ <xsl:choose>
+ <xsl:when test="count(*) = 0">
+ <xsl:text> none </xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates select="*"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:text> </xsl:text>
+ </xsl:template>
+
+ <xsl:template match="indexing-capabilities">
+ <xsl:text> element can do indexing</xsl:text>
+ </xsl:template>
+
+ <xsl:template match="dyn-params">
+ <xsl:text> Dynamic Parameters: </xsl:text>
+ <xsl:choose>
+ <xsl:when test="count(*) = 0">
+ <xsl:text> none </xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ </xsl:otherwise>
+ </xsl:choose>
<xsl:text> </xsl:text>
</xsl:template>
<xsl:template match="element-properties">
<xsl:text>Element Arguments: </xsl:text>
- <xsl:text> </xsl:text>
<xsl:apply-templates select="element-property"/>
+ <xsl:text> </xsl:text>
</xsl:template>
<xsl:template match="default">
<xsl:text> </xsl:text>
</xsl:template>
+ <xsl:template match="params">
+ <xsl:for-each select="type">
+ <xsl:text>, </xsl:text>
+ <xsl:value-of select="."/>
+ <xsl:text> arg</xsl:text>
+ <xsl:value-of select="position()"/>
+ </xsl:for-each>
+ </xsl:template>
+
+ <xsl:template match="signal">
+ <xsl:text> "</xsl:text>
+ <xsl:value-of select="name"/>
+ <xsl:text>" :</xsl:text>
+ <xsl:value-of select="return-type"/>
+ <xsl:text> user_function </xsl:text>
+ <xsl:value-of select="concat ('(', object-type, '* object')"/>
+ <xsl:apply-templates select="params"/>
+ </xsl:template>
+
<xsl:template match="element-signals">
<xsl:text>Element Signals: </xsl:text>
+ <xsl:choose>
+ <xsl:when test="count(*) = 0">
+ <xsl:text> none </xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:for-each select="signal">
+ <xsl:apply-templates select="."/>
+ <xsl:text>, gpointer user_data); </xsl:text>
+ </xsl:for-each>
+ </xsl:otherwise>
+ </xsl:choose>
<xsl:text> </xsl:text>
</xsl:template>
<xsl:template match="element-actions">
<xsl:text>Element Actions: </xsl:text>
+ <xsl:choose>
+ <xsl:when test="count(*) = 0">
+ <xsl:text> none </xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:for-each select="signal">
+ <xsl:apply-templates select="."/>
+ <xsl:text>); </xsl:text>
+ </xsl:for-each>
+ </xsl:otherwise>
+ </xsl:choose>
<xsl:text> </xsl:text>
</xsl:template>