[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue/common/utils/xml2sql display.xsl mssql.xsl...
From: |
Jan Ischebeck |
Subject: |
gnue/common/utils/xml2sql display.xsl mssql.xsl... |
Date: |
Tue, 23 Jul 2002 16:56:37 -0400 |
CVSROOT: /cvsroot/gnue
Module name: gnue
Changes by: Jan Ischebeck <address@hidden> 02/07/23 16:56:37
Modified files:
common/utils/xml2sql: display.xsl mssql.xsl mysql.xsl pgsql.xsl
sybase.xsl
Added files:
common/utils/xml2sql: Makefile.sample README
Log message:
add README and a sample Makefile to xml2sql
fix "no 'primary key' sql code generated" bug in all xsl files.
(bug because of syntax change between .xml and .gsd)
add INSERT data support to all database xsl files.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/utils/xml2sql/Makefile.sample?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/utils/xml2sql/README?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/utils/xml2sql/display.xsl.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/utils/xml2sql/mssql.xsl.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/utils/xml2sql/mysql.xsl.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/utils/xml2sql/pgsql.xsl.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/utils/xml2sql/sybase.xsl.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
Patches:
Index: gnue/common/utils/xml2sql/display.xsl
diff -c gnue/common/utils/xml2sql/display.xsl:1.3
gnue/common/utils/xml2sql/display.xsl:1.4
*** gnue/common/utils/xml2sql/display.xsl:1.3 Fri Jul 19 14:59:01 2002
--- gnue/common/utils/xml2sql/display.xsl Tue Jul 23 16:56:37 2002
***************
*** 41,47 ****
<xsl:variable name="name"><xsl:value-of
select="@name"/></xsl:variable>
<td><xsl:value-of select="$name"/>
<xsl:for-each select="../../primarykey/pkfield">
! <xsl:if test=". = $name"><xsl:text> </xsl:text><img
src="key.png"/></xsl:if>
</xsl:for-each>
</td>
<td><xsl:value-of select="@type"/></td>
--- 41,47 ----
<xsl:variable name="name"><xsl:value-of
select="@name"/></xsl:variable>
<td><xsl:value-of select="$name"/>
<xsl:for-each select="../../primarykey/pkfield">
! <xsl:if test="@name = $name"><xsl:text> </xsl:text><img
src="key.png"/></xsl:if>
</xsl:for-each>
</td>
<td><xsl:value-of select="@type"/></td>
Index: gnue/common/utils/xml2sql/mssql.xsl
diff -c gnue/common/utils/xml2sql/mssql.xsl:1.3
gnue/common/utils/xml2sql/mssql.xsl:1.4
*** gnue/common/utils/xml2sql/mssql.xsl:1.3 Fri Jul 19 14:59:01 2002
--- gnue/common/utils/xml2sql/mssql.xsl Tue Jul 23 16:56:37 2002
***************
*** 6,11 ****
--- 6,14 ----
<xsl:call-template name="doPrimaryKey"><xsl:with-param
name="table"><xsl:value-of select="@name"/></xsl:with-param></xsl:call-template>
<xsl:call-template name="doIndexes"><xsl:with-param
name="table"><xsl:value-of select="@name"/></xsl:with-param></xsl:call-template>
<xsl:call-template name="doConstraints"><xsl:with-param
name="table"><xsl:value-of select="@name"/></xsl:with-param></xsl:call-template>
+ </xsl:for-each>
+ <xsl:for-each select="data/tabledata">
+ <xsl:call-template name="doTableData"/>
</xsl:for-each></sql>
</xsl:template>
***************
*** 56,67 ****
<xsl:template name="doPrimaryKey">
<xsl:param name="table"></xsl:param>
<xsl:if test="$table != """>
! <xsl:if test="count(./primarykey/pkfield[text()]) > 0">
<command><xsl:text>Alter Table </xsl:text><xsl:value-of
select="$table"/><xsl:text> Add Constraint </xsl:text>
<xsl:value-of select="primarykey/@name"/><xsl:text> Primary
Key(</xsl:text>
<xsl:for-each select="primarykey/pkfield">
<xsl:if test="position() > 1"><xsl:text>, </xsl:text></xsl:if>
! <xsl:value-of select="."/>
</xsl:for-each>
<xsl:text>)
GO
--- 59,70 ----
<xsl:template name="doPrimaryKey">
<xsl:param name="table"></xsl:param>
<xsl:if test="$table != """>
! <xsl:if test="count(./primarykey/address@hidden) > 0">
<command><xsl:text>Alter Table </xsl:text><xsl:value-of
select="$table"/><xsl:text> Add Constraint </xsl:text>
<xsl:value-of select="primarykey/@name"/><xsl:text> Primary
Key(</xsl:text>
<xsl:for-each select="primarykey/pkfield">
<xsl:if test="position() > 1"><xsl:text>, </xsl:text></xsl:if>
! <xsl:value-of select="@name"/>
</xsl:for-each>
<xsl:text>)
GO
***************
*** 117,121 ****
--- 120,144 ----
</command>
</xsl:for-each>
</xsl:if>
+ </xsl:template>
+
+ <xsl:template name="doTableData">
+ <xsl:variable name="tableName" select="@tablename"/>
+ <xsl:for-each select="rows/row">
+ <command><xsl:text>Insert into </xsl:text>
+ <xsl:value-of select="$tableName"/>
+ <xsl:text> values (</xsl:text>
+ <xsl:variable name="numValues" select="count(value)"/>
+ <xsl:for-each select="value">
+ <xsl:value-of select="."/>
+ <xsl:if test="position() < $numValues">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+ </xsl:for-each>
+ <xsl:text>)
+ GO
+ </xsl:text>
+ </command>
+ </xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Index: gnue/common/utils/xml2sql/mysql.xsl
diff -c gnue/common/utils/xml2sql/mysql.xsl:1.3
gnue/common/utils/xml2sql/mysql.xsl:1.4
*** gnue/common/utils/xml2sql/mysql.xsl:1.3 Fri Jul 19 14:59:01 2002
--- gnue/common/utils/xml2sql/mysql.xsl Tue Jul 23 16:56:37 2002
***************
*** 6,11 ****
--- 6,14 ----
<xsl:call-template name="doPrimaryKey"><xsl:with-param
name="table"><xsl:value-of select="@name"/></xsl:with-param></xsl:call-template>
<xsl:call-template name="doIndexes"><xsl:with-param
name="table"><xsl:value-of select="@name"/></xsl:with-param></xsl:call-template>
<xsl:call-template name="doConstraints"><xsl:with-param
name="table"><xsl:value-of select="@name"/></xsl:with-param></xsl:call-template>
+ </xsl:for-each>
+ <xsl:for-each select="data/tabledata">
+ <xsl:call-template name="doTableData"/>
</xsl:for-each></sql>
</xsl:template>
***************
*** 64,74 ****
<xsl:template name="doPrimaryKey">
<xsl:param name="table"></xsl:param>
<xsl:if test="$table != """>
! <xsl:if test="count(./primarykey/pkfield[text()]) > 0">
<command><xsl:text>Alter Table </xsl:text><xsl:value-of
select="$table"/><xsl:text> Add Primary Key(</xsl:text>
<xsl:for-each select="primarykey/pkfield">
<xsl:if test="position() > 1"><xsl:text>, </xsl:text></xsl:if>
! <xsl:value-of select="."/>
</xsl:for-each>
<xsl:text>);</xsl:text></command>
</xsl:if>
--- 67,77 ----
<xsl:template name="doPrimaryKey">
<xsl:param name="table"></xsl:param>
<xsl:if test="$table != """>
! <xsl:if test="count(./primarykey/address@hidden) > 0">
<command><xsl:text>Alter Table </xsl:text><xsl:value-of
select="$table"/><xsl:text> Add Primary Key(</xsl:text>
<xsl:for-each select="primarykey/pkfield">
<xsl:if test="position() > 1"><xsl:text>, </xsl:text></xsl:if>
! <xsl:value-of select="@name"/>
</xsl:for-each>
<xsl:text>);</xsl:text></command>
</xsl:if>
***************
*** 120,124 ****
--- 123,144 ----
</command>
</xsl:for-each>
</xsl:if>
+ </xsl:template>
+ <xsl:template name="doTableData">
+ <xsl:variable name="tableName" select="@tablename"/>
+ <xsl:for-each select="rows/row">
+ <command><xsl:text>Insert into </xsl:text>
+ <xsl:value-of select="$tableName"/>
+ <xsl:text> values (</xsl:text>
+ <xsl:variable name="numValues" select="count(value)"/>
+ <xsl:for-each select="value">
+ <xsl:value-of select="."/>
+ <xsl:if test="position() < $numValues">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+ </xsl:for-each>
+ <xsl:text>);</xsl:text>
+ </command>
+ </xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Index: gnue/common/utils/xml2sql/pgsql.xsl
diff -c gnue/common/utils/xml2sql/pgsql.xsl:1.3
gnue/common/utils/xml2sql/pgsql.xsl:1.4
*** gnue/common/utils/xml2sql/pgsql.xsl:1.3 Fri Jul 19 14:59:01 2002
--- gnue/common/utils/xml2sql/pgsql.xsl Tue Jul 23 16:56:37 2002
***************
*** 55,66 ****
<xsl:template name="doPrimaryKey">
<xsl:param name="table"></xsl:param>
<xsl:if test="$table != """>
! <xsl:if test="count(./primarykey/pkfield[text()]) > 0">
<command><xsl:text>Create Unique Index </xsl:text><xsl:value-of
select="primarykey/@name"/><xsl:text> On </xsl:text>
<xsl:value-of select="$table"/><xsl:text>(</xsl:text>
<xsl:for-each select="primarykey/pkfield">
<xsl:if test="position() > 1"><xsl:text>, </xsl:text></xsl:if>
! <xsl:value-of select="."/>
</xsl:for-each>
<xsl:text>);</xsl:text></command>
</xsl:if>
--- 55,66 ----
<xsl:template name="doPrimaryKey">
<xsl:param name="table"></xsl:param>
<xsl:if test="$table != """>
! <xsl:if test="count(./primarykey/address@hidden) > 0">
<command><xsl:text>Create Unique Index </xsl:text><xsl:value-of
select="primarykey/@name"/><xsl:text> On </xsl:text>
<xsl:value-of select="$table"/><xsl:text>(</xsl:text>
<xsl:for-each select="primarykey/pkfield">
<xsl:if test="position() > 1"><xsl:text>, </xsl:text></xsl:if>
! <xsl:value-of select="@name"/>
</xsl:for-each>
<xsl:text>);</xsl:text></command>
</xsl:if>
***************
*** 113,121 ****
</xsl:if>
</xsl:template>
! <xsl:template name="doTableData"><xsl:variable name="tableName"
select="@tablename"/>
! <xsl:for-each select="rows/row"> <command>Insert into <xsl:value-of
select="$tableName"/> values (<xsl:variable name="numValues"
select="count(value)"/><xsl:for-each select="value"><xsl:value-of
select="."/><xsl:if test="position() < $numValues"><xsl:text>,
</xsl:text></xsl:if></xsl:for-each>);</command>
! </xsl:for-each>
</xsl:template>
-
</xsl:stylesheet>
--- 113,133 ----
</xsl:if>
</xsl:template>
! <xsl:template name="doTableData">
! <xsl:variable name="tableName" select="@tablename"/>
! <xsl:for-each select="rows/row">
! <command><xsl:text>Insert into </xsl:text>
! <xsl:value-of select="$tableName"/>
! <xsl:text> values (</xsl:text>
! <xsl:variable name="numValues" select="count(value)"/>
! <xsl:for-each select="value">
! <xsl:value-of select="."/>
! <xsl:if test="position() < $numValues">
! <xsl:text>, </xsl:text>
! </xsl:if>
! </xsl:for-each>
! <xsl:text>);</xsl:text>
! </command>
! </xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Index: gnue/common/utils/xml2sql/sybase.xsl
diff -c gnue/common/utils/xml2sql/sybase.xsl:1.3
gnue/common/utils/xml2sql/sybase.xsl:1.4
*** gnue/common/utils/xml2sql/sybase.xsl:1.3 Fri Jul 19 14:59:01 2002
--- gnue/common/utils/xml2sql/sybase.xsl Tue Jul 23 16:56:37 2002
***************
*** 6,11 ****
--- 6,14 ----
<xsl:call-template name="doPrimaryKey"><xsl:with-param
name="table"><xsl:value-of select="@name"/></xsl:with-param></xsl:call-template>
<xsl:call-template name="doIndexes"><xsl:with-param
name="table"><xsl:value-of select="@name"/></xsl:with-param></xsl:call-template>
<xsl:call-template name="doConstraints"><xsl:with-param
name="table"><xsl:value-of select="@name"/></xsl:with-param></xsl:call-template>
+ </xsl:for-each>
+ <xsl:for-each select="data/tabledata">
+ <xsl:call-template name="doTableData"/>
</xsl:for-each></sql>
</xsl:template>
***************
*** 56,67 ****
<xsl:template name="doPrimaryKey">
<xsl:param name="table"></xsl:param>
<xsl:if test="$table != """>
! <xsl:if test="count(./primarykey/pkfield[text()]) > 0">
<command><xsl:text>Alter Table </xsl:text><xsl:value-of
select="$table"/><xsl:text> Add Constraint </xsl:text>
<xsl:value-of select="primarykey/@name"/><xsl:text> Primary
Key(</xsl:text>
<xsl:for-each select="primarykey/pkfield">
<xsl:if test="position() > 1"><xsl:text>, </xsl:text></xsl:if>
! <xsl:value-of select="."/>
</xsl:for-each>
<xsl:text>)
GO
--- 59,70 ----
<xsl:template name="doPrimaryKey">
<xsl:param name="table"></xsl:param>
<xsl:if test="$table != """>
! <xsl:if test="count(./primarykey/address@hidden) > 0">
<command><xsl:text>Alter Table </xsl:text><xsl:value-of
select="$table"/><xsl:text> Add Constraint </xsl:text>
<xsl:value-of select="primarykey/@name"/><xsl:text> Primary
Key(</xsl:text>
<xsl:for-each select="primarykey/pkfield">
<xsl:if test="position() > 1"><xsl:text>, </xsl:text></xsl:if>
! <xsl:value-of select="@name"/>
</xsl:for-each>
<xsl:text>)
GO
***************
*** 117,121 ****
--- 120,144 ----
</command>
</xsl:for-each>
</xsl:if>
+ </xsl:template>
+
+ <xsl:template name="doTableData">
+ <xsl:variable name="tableName" select="@tablename"/>
+ <xsl:for-each select="rows/row">
+ <command><xsl:text>Insert into </xsl:text>
+ <xsl:value-of select="$tableName"/>
+ <xsl:text> values (</xsl:text>
+ <xsl:variable name="numValues" select="count(value)"/>
+ <xsl:for-each select="value">
+ <xsl:value-of select="."/>
+ <xsl:if test="position() < $numValues">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+ </xsl:for-each>
+ <xsl:text>)
+ GO
+ </xsl:text>
+ </command>
+ </xsl:for-each>
</xsl:template>
</xsl:stylesheet>