<?xml version="1.0" encoding="ISO-8859-1" ?>

<xsl:stylesheet
  version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns="http://www.w3.org/TR/xhtml1/strict"
>

<xsl:template match="/">
  <xsl:apply-templates select="//project" />
</xsl:template>

<!--
*object* = {}
*object*[*attribute*] = *type*
-->

<xsl:template match="project">
	<xsl:for-each select="object">
		<xsl:variable name="object"><xsl:value-of select="@name" /></xsl:variable>
		<xsl:value-of select="$object"/><xsl:text> = {}
</xsl:text>
		<xsl:for-each select="attribute">
			<xsl:call-template name="printField">
				<xsl:with-param name="object"   ><xsl:value-of select="$object"/></xsl:with-param>
				<xsl:with-param name="attribute"><xsl:value-of select="@name"  /></xsl:with-param>
				<xsl:with-param name="type"     ><xsl:value-of select="@type"  /></xsl:with-param>
				<xsl:with-param name="card"     ><xsl:value-of select="@card"  /></xsl:with-param>
			</xsl:call-template>
		</xsl:for-each>
		<xsl:text>
</xsl:text>
	</xsl:for-each>
</xsl:template>

<xsl:template name="printField">
	<xsl:param name="object"></xsl:param>
	<xsl:param name="attribute"></xsl:param>
	<xsl:param name="type"></xsl:param>
	<xsl:param name="card"></xsl:param>
	<xsl:value-of select="$object"/><xsl:text disable-output-escaping="yes">["</xsl:text>
		<xsl:value-of select="$attribute"/>
	<xsl:text disable-output-escaping="yes">"] = "</xsl:text>
		<xsl:value-of select="$type"/>
	<xsl:text disable-output-escaping="yes">"
</xsl:text>
</xsl:template>

<xsl:template match="/project" mode="primarykey">
</xsl:template>

</xsl:stylesheet>

