commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gnue/common/utils/xml2sql display.xsl mssql.xsl...


From: Jason Cater
Subject: gnue/common/utils/xml2sql display.xsl mssql.xsl...
Date: Fri, 19 Jul 2002 14:59:01 -0400

CVSROOT:        /cvsroot/gnue
Module name:    gnue
Changes by:     Jason Cater <address@hidden>    02/07/19 14:59:01

Modified files:
        common/utils/xml2sql: display.xsl mssql.xsl mysql.xsl pgsql.xsl 
                              sybase.xsl 

Log message:
        removed annoying tabs

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/utils/xml2sql/display.xsl.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/utils/xml2sql/mssql.xsl.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/utils/xml2sql/mysql.xsl.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/utils/xml2sql/pgsql.xsl.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/utils/xml2sql/sybase.xsl.diff?tr1=1.2&tr2=1.3&r1=text&r2=text

Patches:
Index: gnue/common/utils/xml2sql/display.xsl
diff -c gnue/common/utils/xml2sql/display.xsl:1.2 
gnue/common/utils/xml2sql/display.xsl:1.3
*** gnue/common/utils/xml2sql/display.xsl:1.2   Sat Jul 13 06:55:16 2002
--- gnue/common/utils/xml2sql/display.xsl       Fri Jul 19 14:59:01 2002
***************
*** 2,63 ****
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
version="1.0">
  <xsl:output method="html"/><xsl:template match="/schema">
  <html><head>
!       <title>Schema Display</title>
!       <style type="text/css">
!               body { background-color: white; margin-left: 10%; margin-right: 
10%; }
!               th { text-align: left; }
!               th.header { border-bottom: solid black 2px; cursor: hand; 
cursor: pointer; }
!               tr.even { background-color: white; }
!               tr.odd { background-color: #c0c0c0; }
!               table { width: 100%; }
!               img { border: solid black 1px; }
!       </style>
!       <script language="JavaScript">
!       <![CDATA[
!               function showHide(sDiv)
!               {
!                       var oDiv = document.getElementById(sDiv);
!                       if (oDiv)
!                               oDiv.style.display = oDiv.style.display == 
"none" ? "" : "none";
!               }
!       ]]>
!       </script>
  </head><body>
!       <xsl:for-each select="tables/table"><xsl:sort select="@name"/>
!               <table border="0">
!                       <tr><th class="header" colspan="6" 
onclick="showHide('address@hidden');"><xsl:value-of select="@name"/></th></tr>
!               </table>
!               <div id="address@hidden" style="display: none;">
!               <table border="0">
!               
<tr><th>Name</th><th>Type</th><th>Size</th><th>Scale</th><th>Null?</th><th>Default</th></tr>
!               <xsl:for-each select="fields/field">
!                       <xsl:variable name="tdclass">
!                               <xsl:choose>
!                               <xsl:when test="(position() mod 2) = 
0">even</xsl:when>
!                               <xsl:otherwise>odd</xsl:otherwise>
!                               </xsl:choose>
!                               </xsl:variable>
!                       <tr class="{$tdclass}">
!                               <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>
!                               <td><xsl:value-of select="@size"/></td>
!                               <td><xsl:value-of select="@scale"/></td>
!                               <td>
!                                       <xsl:choose>
!                                       <xsl:when test="@nullable = 
&quot;N&quot;"><img src="no.png"/></xsl:when>
!                                       <xsl:otherwise><img 
src="yes.png"/></xsl:otherwise>
!                                       </xsl:choose>
!                               </td>
!                               <td><xsl:value-of select="@default"/></td>
!                       </tr>
!               </xsl:for-each>
!       </table>
!       </div>
!       </xsl:for-each>
  </body></html>
  </xsl:template></xsl:stylesheet>
--- 2,63 ----
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
version="1.0">
  <xsl:output method="html"/><xsl:template match="/schema">
  <html><head>
!   <title>Schema Display</title>
!   <style type="text/css">
!     body { background-color: white; margin-left: 10%; margin-right: 10%; }
!     th { text-align: left; }
!     th.header { border-bottom: solid black 2px; cursor: hand; cursor: 
pointer; }
!     tr.even { background-color: white; }
!     tr.odd { background-color: #c0c0c0; }
!     table { width: 100%; }
!     img { border: solid black 1px; }
!   </style>
!   <script language="JavaScript">
!   <![CDATA[
!     function showHide(sDiv)
!     {
!       var oDiv = document.getElementById(sDiv);
!       if (oDiv)
!         oDiv.style.display = oDiv.style.display == "none" ? "" : "none";
!     }
!   ]]>
!   </script>
  </head><body>
!   <xsl:for-each select="tables/table"><xsl:sort select="@name"/>
!     <table border="0">
!       <tr><th class="header" colspan="6" 
onclick="showHide('address@hidden');"><xsl:value-of select="@name"/></th></tr>
!     </table>
!     <div id="address@hidden" style="display: none;">
!     <table border="0">
!     
<tr><th>Name</th><th>Type</th><th>Size</th><th>Scale</th><th>Null?</th><th>Default</th></tr>
!     <xsl:for-each select="fields/field">
!       <xsl:variable name="tdclass">
!         <xsl:choose>
!         <xsl:when test="(position() mod 2) = 0">even</xsl:when>
!         <xsl:otherwise>odd</xsl:otherwise>
!         </xsl:choose>
!         </xsl:variable>
!       <tr class="{$tdclass}">
!         <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>
!         <td><xsl:value-of select="@size"/></td>
!         <td><xsl:value-of select="@scale"/></td>
!         <td>
!           <xsl:choose>
!           <xsl:when test="@nullable = &quot;N&quot;"><img 
src="no.png"/></xsl:when>
!           <xsl:otherwise><img src="yes.png"/></xsl:otherwise>
!           </xsl:choose>
!         </td>
!         <td><xsl:value-of select="@default"/></td>
!       </tr>
!     </xsl:for-each>
!   </table>
!   </div>
!   </xsl:for-each>
  </body></html>
  </xsl:template></xsl:stylesheet>
Index: gnue/common/utils/xml2sql/mssql.xsl
diff -c gnue/common/utils/xml2sql/mssql.xsl:1.2 
gnue/common/utils/xml2sql/mssql.xsl:1.3
*** gnue/common/utils/xml2sql/mssql.xsl:1.2     Sat Jul 13 06:55:16 2002
--- gnue/common/utils/xml2sql/mssql.xsl Fri Jul 19 14:59:01 2002
***************
*** 1,121 ****
  <?xml version="1.0"?> 
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
version="1.0">
!       <xsl:template match="/schema"><sql>
!               <xsl:for-each select="tables/table">
!                       <xsl:call-template name="doTable"/>
!                       <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></sql>
!       </xsl:template>
  
!       <xsl:template name="doTable"><xsl:variable name="numFields" 
select="count(fields/field)"/><xsl:variable name="tableName" select="@name"/>
!       <command>Create Table <xsl:value-of select="$tableName"/> 
(<xsl:for-each select="fields/field">
!                       <xsl:value-of select="@name"/>
!                       <xsl:choose>
!                               <xsl:when test="@type = 
&quot;auto&quot;"><xsl:text> int identity(1,1)</xsl:text></xsl:when>
!                               <xsl:when test="@type = &quot;int&quot;">
!                                       <xsl:choose>
!                                               <xsl:when test="@size = 
2"><xsl:text> smallint</xsl:text></xsl:when>
!                                               <xsl:when test="@size = 
4"><xsl:text> int</xsl:text></xsl:when>
!                                               <xsl:when test="@size = 
8"><xsl:text> int</xsl:text></xsl:when>
!                                       </xsl:choose>
!                               </xsl:when>
!                               <xsl:when test="@type = &quot;float&quot;">
!                                       <xsl:choose>
!                                               <xsl:when test="@size = 
4"><xsl:text> float</xsl:text></xsl:when>
!                                               <xsl:when test="@size = 
8"><xsl:text> real</xsl:text></xsl:when>
!                                       </xsl:choose>
!                               </xsl:when>
!                               <xsl:when test="@type = 
&quot;decimal&quot;"><xsl:text> </xsl:text><xsl:value-of 
select="@type"/>(<xsl:value-of select="@precision"/>,<xsl:value-of 
select="@scale"/>)</xsl:when>
!                               <xsl:when test="@type = 
&quot;varchar&quot;"><xsl:text> </xsl:text><xsl:value-of 
select="@type"/>(<xsl:value-of select="@size"/>)</xsl:when>
!                               <xsl:when test="@type = 
&quot;char&quot;"><xsl:text> </xsl:text><xsl:value-of 
select="@type"/>(<xsl:value-of select="@size"/>)</xsl:when>
!                               <xsl:when test="@type = 
&quot;blob&quot;"><xsl:text> image</xsl:text></xsl:when>
!                               <xsl:when test="@type = 
&quot;date&quot;"><xsl:text> smalldatetime</xsl:text></xsl:when>
!                               <xsl:when test="@type = 
&quot;datetime&quot;"><xsl:text> datetime</xsl:text></xsl:when>
!                               <xsl:when test="@type = 
&quot;longtext&quot;"><xsl:text> text</xsl:text></xsl:when>
!                               <xsl:when test="@type = 
&quot;text&quot;"><xsl:text> </xsl:text><xsl:value-of 
select="@type"/></xsl:when>
!                               <xsl:when test="@type = 
&quot;timestamp&quot;"><xsl:text> timestamp</xsl:text></xsl:when>
!                               <xsl:otherwise><xsl:text> UNHANDLED 
TYPE(</xsl:text><xsl:value-of select="@type"/>)</xsl:otherwise>
!                       </xsl:choose>
!                       <xsl:choose>
!                               <xsl:when test="@nullable = 
&quot;N&quot;"><xsl:text> NOT 
NULL</xsl:text></xsl:when><xsl:otherwise><xsl:text> 
NULL</xsl:text></xsl:otherwise>
!                       </xsl:choose>
!                       <xsl:if test="@default != &quot;&quot;"><xsl:text> 
default </xsl:text>
!                               <xsl:choose>
!                               <xsl:when test="@default = 
&quot;getdate()&quot;">GetDate()</xsl:when>
!                               <xsl:otherwise><xsl:value-of 
select="@default"/></xsl:otherwise>
!                               </xsl:choose>
!                       </xsl:if>
!                       <xsl:if test="position() &lt; $numFields">, </xsl:if>
!               </xsl:for-each><xsl:text>)
  GO
  </xsl:text></command>
!       </xsl:template>
  
!       <xsl:template name="doPrimaryKey">
!               <xsl:param name="table"></xsl:param>
!               <xsl:if test="$table != &quot;&quot;">
!                       <xsl:if test="count(./primarykey/pkfield[text()]) &gt; 
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() &gt; 
1"><xsl:text>, </xsl:text></xsl:if>
!                                       <xsl:value-of select="."/>
!                               </xsl:for-each>
!                               <xsl:text>)
  GO
  </xsl:text></command>
!                       </xsl:if>
!               </xsl:if>
!       </xsl:template>
  
!       <xsl:template name="doIndexes">
!               <xsl:param name="table"></xsl:param>
!               <xsl:if test="$table != &quot;&quot;">
!                       <xsl:for-each select="indexes/index">
!                               <command><xsl:text>Create </xsl:text>
!                               <xsl:if test="@type = 
&quot;unique&quot;"><xsl:text>Unique </xsl:text></xsl:if>
!                               <xsl:text> Index </xsl:text><xsl:value-of 
select="@name"/><xsl:text> On </xsl:text>
!                               <xsl:value-of select="$table"/>
!                               <xsl:text>(</xsl:text>
!                               <xsl:for-each select="idxfield">
!                                       <xsl:if test="position() &gt; 
1"><xsl:text>, </xsl:text></xsl:if>
!                                       <xsl:value-of select="."/>
!                               </xsl:for-each>
!                               <xsl:text>)
  GO
  </xsl:text></command>
!                       </xsl:for-each>
!               </xsl:if>
!       </xsl:template>
  
!       <xsl:template name="doConstraints">
!               <xsl:param name="table"></xsl:param>
!               <xsl:if test="$table != &quot;&quot;">
!                       <xsl:for-each select="constraints/constraint">
!                               <command>
!                               <xsl:choose>
!                               <xsl:when test="@type = &quot;unique&quot;">
!                                       <xsl:text>Alter Table 
</xsl:text><xsl:value-of select="$table"/><xsl:text> Add Constraint </xsl:text>
!                                       <xsl:value-of 
select="@name"/><xsl:text> Unique (</xsl:text>
!                                       <xsl:for-each select="constraintfield">
!                                               <xsl:if test="position() &gt; 
1"><xsl:text>, </xsl:text></xsl:if>
!                                               <xsl:value-of select="."/>
!                                       </xsl:for-each>
!                               </xsl:when>
!                               <xsl:when test="@type = &quot;foreignkey&quot;">
!                                       <xsl:text>Alter Table 
</xsl:text><xsl:value-of select="$table"/><xsl:text> Add Constraint </xsl:text>
!                                       <xsl:value-of 
select="@name"/><xsl:text> foreign key (</xsl:text>
!                                       <xsl:value-of 
select="ref/@sourceField"/><xsl:text>) references </xsl:text>
!                                       <xsl:value-of 
select="ref/@destinationTable"/><xsl:text>(</xsl:text><xsl:value-of 
select="ref/@destinationField"/>
!                               </xsl:when>
!                               </xsl:choose>
!                               <xsl:text>)
  GO
  </xsl:text>
!                               </command>
!                       </xsl:for-each>
!               </xsl:if>
!       </xsl:template>
  </xsl:stylesheet>
--- 1,121 ----
  <?xml version="1.0"?> 
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
version="1.0">
!   <xsl:template match="/schema"><sql>
!     <xsl:for-each select="tables/table">
!       <xsl:call-template name="doTable"/>
!       <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></sql>
!   </xsl:template>
  
!   <xsl:template name="doTable"><xsl:variable name="numFields" 
select="count(fields/field)"/><xsl:variable name="tableName" select="@name"/>
!   <command>Create Table <xsl:value-of select="$tableName"/> (<xsl:for-each 
select="fields/field">
!       <xsl:value-of select="@name"/>
!       <xsl:choose>
!         <xsl:when test="@type = &quot;auto&quot;"><xsl:text> int 
identity(1,1)</xsl:text></xsl:when>
!         <xsl:when test="@type = &quot;int&quot;">
!           <xsl:choose>
!             <xsl:when test="@size = 2"><xsl:text> 
smallint</xsl:text></xsl:when>
!             <xsl:when test="@size = 4"><xsl:text> int</xsl:text></xsl:when>
!             <xsl:when test="@size = 8"><xsl:text> int</xsl:text></xsl:when>
!           </xsl:choose>
!         </xsl:when>
!         <xsl:when test="@type = &quot;float&quot;">
!           <xsl:choose>
!             <xsl:when test="@size = 4"><xsl:text> float</xsl:text></xsl:when>
!             <xsl:when test="@size = 8"><xsl:text> real</xsl:text></xsl:when>
!           </xsl:choose>
!         </xsl:when>
!         <xsl:when test="@type = &quot;decimal&quot;"><xsl:text> 
</xsl:text><xsl:value-of select="@type"/>(<xsl:value-of 
select="@precision"/>,<xsl:value-of select="@scale"/>)</xsl:when>
!         <xsl:when test="@type = &quot;varchar&quot;"><xsl:text> 
</xsl:text><xsl:value-of select="@type"/>(<xsl:value-of 
select="@size"/>)</xsl:when>
!         <xsl:when test="@type = &quot;char&quot;"><xsl:text> 
</xsl:text><xsl:value-of select="@type"/>(<xsl:value-of 
select="@size"/>)</xsl:when>
!         <xsl:when test="@type = &quot;blob&quot;"><xsl:text> 
image</xsl:text></xsl:when>
!         <xsl:when test="@type = &quot;date&quot;"><xsl:text> 
smalldatetime</xsl:text></xsl:when>
!         <xsl:when test="@type = &quot;datetime&quot;"><xsl:text> 
datetime</xsl:text></xsl:when>
!         <xsl:when test="@type = &quot;longtext&quot;"><xsl:text> 
text</xsl:text></xsl:when>
!         <xsl:when test="@type = &quot;text&quot;"><xsl:text> 
</xsl:text><xsl:value-of select="@type"/></xsl:when>
!         <xsl:when test="@type = &quot;timestamp&quot;"><xsl:text> 
timestamp</xsl:text></xsl:when>
!         <xsl:otherwise><xsl:text> UNHANDLED TYPE(</xsl:text><xsl:value-of 
select="@type"/>)</xsl:otherwise>
!       </xsl:choose>
!       <xsl:choose>
!         <xsl:when test="@nullable = &quot;N&quot;"><xsl:text> NOT 
NULL</xsl:text></xsl:when><xsl:otherwise><xsl:text> 
NULL</xsl:text></xsl:otherwise>
!       </xsl:choose>
!       <xsl:if test="@default != &quot;&quot;"><xsl:text> default </xsl:text>
!         <xsl:choose>
!         <xsl:when test="@default = &quot;getdate()&quot;">GetDate()</xsl:when>
!         <xsl:otherwise><xsl:value-of select="@default"/></xsl:otherwise>
!         </xsl:choose>
!       </xsl:if>
!       <xsl:if test="position() &lt; $numFields">, </xsl:if>
!     </xsl:for-each><xsl:text>)
  GO
  </xsl:text></command>
!   </xsl:template>
  
!   <xsl:template name="doPrimaryKey">
!     <xsl:param name="table"></xsl:param>
!     <xsl:if test="$table != &quot;&quot;">
!       <xsl:if test="count(./primarykey/pkfield[text()]) &gt; 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() &gt; 1"><xsl:text>, </xsl:text></xsl:if>
!           <xsl:value-of select="."/>
!         </xsl:for-each>
!         <xsl:text>)
  GO
  </xsl:text></command>
!       </xsl:if>
!     </xsl:if>
!   </xsl:template>
  
!   <xsl:template name="doIndexes">
!     <xsl:param name="table"></xsl:param>
!     <xsl:if test="$table != &quot;&quot;">
!       <xsl:for-each select="indexes/index">
!         <command><xsl:text>Create </xsl:text>
!         <xsl:if test="@type = &quot;unique&quot;"><xsl:text>Unique 
</xsl:text></xsl:if>
!         <xsl:text> Index </xsl:text><xsl:value-of select="@name"/><xsl:text> 
On </xsl:text>
!         <xsl:value-of select="$table"/>
!         <xsl:text>(</xsl:text>
!         <xsl:for-each select="idxfield">
!           <xsl:if test="position() &gt; 1"><xsl:text>, </xsl:text></xsl:if>
!           <xsl:value-of select="."/>
!         </xsl:for-each>
!         <xsl:text>)
  GO
  </xsl:text></command>
!       </xsl:for-each>
!     </xsl:if>
!   </xsl:template>
  
!   <xsl:template name="doConstraints">
!     <xsl:param name="table"></xsl:param>
!     <xsl:if test="$table != &quot;&quot;">
!       <xsl:for-each select="constraints/constraint">
!         <command>
!         <xsl:choose>
!         <xsl:when test="@type = &quot;unique&quot;">
!           <xsl:text>Alter Table </xsl:text><xsl:value-of 
select="$table"/><xsl:text> Add Constraint </xsl:text>
!           <xsl:value-of select="@name"/><xsl:text> Unique (</xsl:text>
!           <xsl:for-each select="constraintfield">
!             <xsl:if test="position() &gt; 1"><xsl:text>, </xsl:text></xsl:if>
!             <xsl:value-of select="."/>
!           </xsl:for-each>
!         </xsl:when>
!         <xsl:when test="@type = &quot;foreignkey&quot;">
!           <xsl:text>Alter Table </xsl:text><xsl:value-of 
select="$table"/><xsl:text> Add Constraint </xsl:text>
!           <xsl:value-of select="@name"/><xsl:text> foreign key (</xsl:text>
!           <xsl:value-of select="ref/@sourceField"/><xsl:text>) references 
</xsl:text>
!           <xsl:value-of 
select="ref/@destinationTable"/><xsl:text>(</xsl:text><xsl:value-of 
select="ref/@destinationField"/>
!         </xsl:when>
!         </xsl:choose>
!         <xsl:text>)
  GO
  </xsl:text>
!         </command>
!       </xsl:for-each>
!     </xsl:if>
!   </xsl:template>
  </xsl:stylesheet>
Index: gnue/common/utils/xml2sql/mysql.xsl
diff -c gnue/common/utils/xml2sql/mysql.xsl:1.2 
gnue/common/utils/xml2sql/mysql.xsl:1.3
*** gnue/common/utils/xml2sql/mysql.xsl:1.2     Sat Jul 13 06:55:16 2002
--- gnue/common/utils/xml2sql/mysql.xsl Fri Jul 19 14:59:01 2002
***************
*** 1,124 ****
  <?xml version="1.0"?> 
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
version="1.0">
!       <xsl:template match="/schema"><sql>
!               <xsl:for-each select="tables/table">
!                       <xsl:call-template name="doTable"/>
!                       <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></sql>
!       </xsl:template>
  
!       <xsl:template name="doTable"><xsl:variable name="numFields" 
select="count(fields/field)"/><xsl:variable name="tableName" select="@name"/>
!       <command>Create Table <xsl:value-of select="$tableName"/> 
(<xsl:for-each select="fields/field">
!                       <xsl:value-of select="@name"/>
!                       <xsl:choose>
!                               <xsl:when test="@type = 
&quot;auto&quot;"><xsl:text> int(11) auto_increment</xsl:text></xsl:when>
!                               <xsl:when test="@type = &quot;int&quot;">
!                                       <xsl:choose>
!                                               <xsl:when test="@size = 
2"><xsl:text> smallint</xsl:text></xsl:when>
!                                               <xsl:when test="@size = 
4"><xsl:text> int</xsl:text></xsl:when>
!                                               <xsl:when test="@size = 
8"><xsl:text> bigint</xsl:text></xsl:when>
!                                       </xsl:choose>
!                               </xsl:when>
!                               <xsl:when test="@type = &quot;float&quot;">
!                                       <xsl:choose>
!                                               <xsl:when test="@size = 
4"><xsl:text> float</xsl:text></xsl:when>
!                                               <xsl:when test="@size = 
8"><xsl:text> double</xsl:text></xsl:when>
!                                       </xsl:choose>
!                               </xsl:when>
!                               <xsl:when test="@type = 
&quot;decimal&quot;"><xsl:text> </xsl:text><xsl:value-of 
select="@type"/>(<xsl:value-of select="@precision"/>,<xsl:value-of 
select="@scale"/>)</xsl:when>
!                               <xsl:when test="@type = &quot;varchar&quot;">
!                                       <xsl:choose>
!                                       <xsl:when test="@size &gt; 
255"><xsl:text> text</xsl:text></xsl:when>
!                                       <xsl:otherwise><xsl:text> 
</xsl:text><xsl:value-of select="@type"/>(<xsl:value-of 
select="@size"/>)</xsl:otherwise>
!                                       </xsl:choose>
!                               </xsl:when>
!                               <xsl:when test="@type = &quot;char&quot;">
!                                       <xsl:choose>
!                                       <xsl:when test="@size &gt; 
255"><xsl:text> text</xsl:text></xsl:when>
!                                       <xsl:otherwise><xsl:text> 
</xsl:text><xsl:value-of select="@type"/>(<xsl:value-of 
select="@size"/>)</xsl:otherwise>
!                                       </xsl:choose>
!                               </xsl:when>
!                               <xsl:when test="@type = 
&quot;blob&quot;"><xsl:text> </xsl:text><xsl:value-of 
select="@type"/></xsl:when>
!                               <xsl:when test="@type = 
&quot;date&quot;"><xsl:text> </xsl:text><xsl:value-of 
select="@type"/></xsl:when>
!                               <xsl:when test="@type = 
&quot;longtext&quot;"><xsl:text> </xsl:text><xsl:value-of 
select="@type"/></xsl:when>
!                               <xsl:when test="@type = 
&quot;text&quot;"><xsl:text> </xsl:text><xsl:value-of 
select="@type"/></xsl:when>
!                               <xsl:when test="@type = 
&quot;datetime&quot;"><xsl:text> </xsl:text><xsl:value-of 
select="@type"/></xsl:when>
!                               <xsl:when test="@type = 
&quot;timestamp&quot;"><xsl:text> timestamp</xsl:text></xsl:when>
!                               <xsl:otherwise><xsl:text> UNHANDLED 
TYPE(</xsl:text><xsl:value-of select="@type"/>)</xsl:otherwise>
!                       </xsl:choose>
!                       <xsl:choose>
!                               <xsl:when test="@nullable = 
&quot;N&quot;"><xsl:text> NOT 
NULL</xsl:text></xsl:when><xsl:otherwise><xsl:text> 
NULL</xsl:text></xsl:otherwise>
!                       </xsl:choose>
!                       <xsl:if test="@default != &quot;&quot;"><xsl:text> 
default </xsl:text>
!                               <xsl:choose>
!                               <xsl:when test="@default = 
&quot;getdate()&quot;">'now'</xsl:when>
!                               <xsl:otherwise><xsl:value-of 
select="@default"/></xsl:otherwise>
!                               </xsl:choose>
!                       </xsl:if>
!                       <xsl:if test="position() &lt; $numFields">, </xsl:if>
!               </xsl:for-each>);</command>
!       </xsl:template>
  
!       <xsl:template name="doPrimaryKey">
!               <xsl:param name="table"></xsl:param>
!               <xsl:if test="$table != &quot;&quot;">
!                       <xsl:if test="count(./primarykey/pkfield[text()]) &gt; 
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() &gt; 
1"><xsl:text>, </xsl:text></xsl:if>
!                                       <xsl:value-of select="."/>
!                               </xsl:for-each>
!                               <xsl:text>);</xsl:text></command>
!                       </xsl:if>
!               </xsl:if>
!       </xsl:template>
  
!       <xsl:template name="doIndexes">
!               <xsl:param name="table"></xsl:param>
!               <xsl:if test="$table != &quot;&quot;">
!                       <xsl:for-each select="indexes/index">
!                               <command><xsl:text>Alter Table 
</xsl:text><xsl:value-of select="$table"/>
!                               <xsl:choose>
!                                       <xsl:when test="@type = 
&quot;unique&quot;"><xsl:text> Add Unique </xsl:text></xsl:when>
!                                       <xsl:otherwise><xsl:text> Add Index 
</xsl:text></xsl:otherwise>
!                               </xsl:choose>
!                               <xsl:value-of 
select="@name"/><xsl:text>(</xsl:text>
!                               <xsl:for-each select="idxfield">
!                                       <xsl:if test="position() &gt; 
1"><xsl:text>, </xsl:text></xsl:if>
!                                       <xsl:value-of select="."/>
!                               </xsl:for-each>
!                               <xsl:text>);</xsl:text></command>
!                       </xsl:for-each>
!               </xsl:if>
!       </xsl:template>
  
!       <xsl:template name="doConstraints">
!               <xsl:param name="table"></xsl:param>
!               <xsl:if test="$table != &quot;&quot;">
!                       <xsl:for-each select="constraints/constraint">
!                               <command>
!                               <xsl:choose>
!                               <xsl:when test="@type = &quot;unique&quot;">
!                                       <xsl:text>Alter Table 
</xsl:text><xsl:value-of select="$table"/><xsl:text> Add Unique </xsl:text>
!                                       <xsl:value-of 
select="@name"/><xsl:text>(</xsl:text>
!                                       <xsl:for-each select="constraintfield">
!                                               <xsl:if test="position() &gt; 
1"><xsl:text>, </xsl:text></xsl:if>
!                                               <xsl:value-of select="."/>
!                                       </xsl:for-each>
!                                       <xsl:text>);</xsl:text>
!                               </xsl:when>
!                               <xsl:when test="@type = &quot;foreignkey&quot;">
!                                       <!--<xsl:text>Alter Table 
</xsl:text><xsl:value-of select="$table"/><xsl:text> Add Constraint </xsl:text>
!                                       <xsl:value-of 
select="@name"/><xsl:text> foreign key (</xsl:text>
!                                       <xsl:value-of 
select="ref/@sourceField"/><xsl:text>) references </xsl:text>
!                                       <xsl:value-of 
select="ref/@destinationTable"/><xsl:text>(</xsl:text><xsl:value-of 
select="ref/@destinationField"/>
!                                       <xsl:text>);</xsl:text>-->
!                               </xsl:when>
!                               </xsl:choose>
!                               </command>
!                       </xsl:for-each>
!               </xsl:if>
!       </xsl:template>
  </xsl:stylesheet>
--- 1,124 ----
  <?xml version="1.0"?> 
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
version="1.0">
!   <xsl:template match="/schema"><sql>
!     <xsl:for-each select="tables/table">
!       <xsl:call-template name="doTable"/>
!       <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></sql>
!   </xsl:template>
  
!   <xsl:template name="doTable"><xsl:variable name="numFields" 
select="count(fields/field)"/><xsl:variable name="tableName" select="@name"/>
!   <command>Create Table <xsl:value-of select="$tableName"/> (<xsl:for-each 
select="fields/field">
!       <xsl:value-of select="@name"/>
!       <xsl:choose>
!         <xsl:when test="@type = &quot;auto&quot;"><xsl:text> int(11) 
auto_increment</xsl:text></xsl:when>
!         <xsl:when test="@type = &quot;int&quot;">
!           <xsl:choose>
!             <xsl:when test="@size = 2"><xsl:text> 
smallint</xsl:text></xsl:when>
!             <xsl:when test="@size = 4"><xsl:text> int</xsl:text></xsl:when>
!             <xsl:when test="@size = 8"><xsl:text> bigint</xsl:text></xsl:when>
!           </xsl:choose>
!         </xsl:when>
!         <xsl:when test="@type = &quot;float&quot;">
!           <xsl:choose>
!             <xsl:when test="@size = 4"><xsl:text> float</xsl:text></xsl:when>
!             <xsl:when test="@size = 8"><xsl:text> double</xsl:text></xsl:when>
!           </xsl:choose>
!         </xsl:when>
!         <xsl:when test="@type = &quot;decimal&quot;"><xsl:text> 
</xsl:text><xsl:value-of select="@type"/>(<xsl:value-of 
select="@precision"/>,<xsl:value-of select="@scale"/>)</xsl:when>
!         <xsl:when test="@type = &quot;varchar&quot;">
!           <xsl:choose>
!           <xsl:when test="@size &gt; 255"><xsl:text> 
text</xsl:text></xsl:when>
!           <xsl:otherwise><xsl:text> </xsl:text><xsl:value-of 
select="@type"/>(<xsl:value-of select="@size"/>)</xsl:otherwise>
!           </xsl:choose>
!         </xsl:when>
!         <xsl:when test="@type = &quot;char&quot;">
!           <xsl:choose>
!           <xsl:when test="@size &gt; 255"><xsl:text> 
text</xsl:text></xsl:when>
!           <xsl:otherwise><xsl:text> </xsl:text><xsl:value-of 
select="@type"/>(<xsl:value-of select="@size"/>)</xsl:otherwise>
!           </xsl:choose>
!         </xsl:when>
!         <xsl:when test="@type = &quot;blob&quot;"><xsl:text> 
</xsl:text><xsl:value-of select="@type"/></xsl:when>
!         <xsl:when test="@type = &quot;date&quot;"><xsl:text> 
</xsl:text><xsl:value-of select="@type"/></xsl:when>
!         <xsl:when test="@type = &quot;longtext&quot;"><xsl:text> 
</xsl:text><xsl:value-of select="@type"/></xsl:when>
!         <xsl:when test="@type = &quot;text&quot;"><xsl:text> 
</xsl:text><xsl:value-of select="@type"/></xsl:when>
!         <xsl:when test="@type = &quot;datetime&quot;"><xsl:text> 
</xsl:text><xsl:value-of select="@type"/></xsl:when>
!         <xsl:when test="@type = &quot;timestamp&quot;"><xsl:text> 
timestamp</xsl:text></xsl:when>
!         <xsl:otherwise><xsl:text> UNHANDLED TYPE(</xsl:text><xsl:value-of 
select="@type"/>)</xsl:otherwise>
!       </xsl:choose>
!       <xsl:choose>
!         <xsl:when test="@nullable = &quot;N&quot;"><xsl:text> NOT 
NULL</xsl:text></xsl:when><xsl:otherwise><xsl:text> 
NULL</xsl:text></xsl:otherwise>
!       </xsl:choose>
!       <xsl:if test="@default != &quot;&quot;"><xsl:text> default </xsl:text>
!         <xsl:choose>
!         <xsl:when test="@default = &quot;getdate()&quot;">'now'</xsl:when>
!         <xsl:otherwise><xsl:value-of select="@default"/></xsl:otherwise>
!         </xsl:choose>
!       </xsl:if>
!       <xsl:if test="position() &lt; $numFields">, </xsl:if>
!     </xsl:for-each>);</command>
!   </xsl:template>
  
!   <xsl:template name="doPrimaryKey">
!     <xsl:param name="table"></xsl:param>
!     <xsl:if test="$table != &quot;&quot;">
!       <xsl:if test="count(./primarykey/pkfield[text()]) &gt; 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() &gt; 1"><xsl:text>, </xsl:text></xsl:if>
!           <xsl:value-of select="."/>
!         </xsl:for-each>
!         <xsl:text>);</xsl:text></command>
!       </xsl:if>
!     </xsl:if>
!   </xsl:template>
  
!   <xsl:template name="doIndexes">
!     <xsl:param name="table"></xsl:param>
!     <xsl:if test="$table != &quot;&quot;">
!       <xsl:for-each select="indexes/index">
!         <command><xsl:text>Alter Table </xsl:text><xsl:value-of 
select="$table"/>
!         <xsl:choose>
!           <xsl:when test="@type = &quot;unique&quot;"><xsl:text> Add Unique 
</xsl:text></xsl:when>
!           <xsl:otherwise><xsl:text> Add Index </xsl:text></xsl:otherwise>
!         </xsl:choose>
!         <xsl:value-of select="@name"/><xsl:text>(</xsl:text>
!         <xsl:for-each select="idxfield">
!           <xsl:if test="position() &gt; 1"><xsl:text>, </xsl:text></xsl:if>
!           <xsl:value-of select="."/>
!         </xsl:for-each>
!         <xsl:text>);</xsl:text></command>
!       </xsl:for-each>
!     </xsl:if>
!   </xsl:template>
  
!   <xsl:template name="doConstraints">
!     <xsl:param name="table"></xsl:param>
!     <xsl:if test="$table != &quot;&quot;">
!       <xsl:for-each select="constraints/constraint">
!         <command>
!         <xsl:choose>
!         <xsl:when test="@type = &quot;unique&quot;">
!           <xsl:text>Alter Table </xsl:text><xsl:value-of 
select="$table"/><xsl:text> Add Unique </xsl:text>
!           <xsl:value-of select="@name"/><xsl:text>(</xsl:text>
!           <xsl:for-each select="constraintfield">
!             <xsl:if test="position() &gt; 1"><xsl:text>, </xsl:text></xsl:if>
!             <xsl:value-of select="."/>
!           </xsl:for-each>
!           <xsl:text>);</xsl:text>
!         </xsl:when>
!         <xsl:when test="@type = &quot;foreignkey&quot;">
!           <!--<xsl:text>Alter Table </xsl:text><xsl:value-of 
select="$table"/><xsl:text> Add Constraint </xsl:text>
!           <xsl:value-of select="@name"/><xsl:text> foreign key (</xsl:text>
!           <xsl:value-of select="ref/@sourceField"/><xsl:text>) references 
</xsl:text>
!           <xsl:value-of 
select="ref/@destinationTable"/><xsl:text>(</xsl:text><xsl:value-of 
select="ref/@destinationField"/>
!           <xsl:text>);</xsl:text>-->
!         </xsl:when>
!         </xsl:choose>
!         </command>
!       </xsl:for-each>
!     </xsl:if>
!   </xsl:template>
  </xsl:stylesheet>
Index: gnue/common/utils/xml2sql/pgsql.xsl
diff -c gnue/common/utils/xml2sql/pgsql.xsl:1.2 
gnue/common/utils/xml2sql/pgsql.xsl:1.3
*** gnue/common/utils/xml2sql/pgsql.xsl:1.2     Wed Jul 10 16:29:59 2002
--- gnue/common/utils/xml2sql/pgsql.xsl Fri Jul 19 14:59:01 2002
***************
*** 1,121 ****
! <?xml version="1.0"?> 
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
version="1.0">
    <xsl:template match="/schema"><sql>
!               <xsl:for-each select="tables/table">
!                       <xsl:call-template name="doSequence"/>
!                       <xsl:call-template name="doTable"/>
!                       <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>
! 
!       <xsl:template name="doSequence">
!       <xsl:if test="count(./fields/address@hidden&quot;auto&quot;]) &gt; 
0"><command>Create Sequence seq_<xsl:value-of 
select="@name"/>;</command></xsl:if>
!       </xsl:template>
! 
!       <xsl:template name="doTable"><xsl:variable name="numFields" 
select="count(fields/field)"/><xsl:variable name="tableName" select="@name"/>
!       <command>Create Table <xsl:value-of select="$tableName"/> 
(<xsl:for-each select="fields/field">
!                       <xsl:value-of select="@name"/>
!                       <xsl:choose>
!                               <xsl:when test="@type = 
&quot;auto&quot;"><xsl:text> </xsl:text>int4</xsl:when>
!                               <xsl:when test="@type = 
&quot;int&quot;"><xsl:text> </xsl:text><xsl:value-of 
select="@type"/><xsl:value-of select="@size"/></xsl:when>
!                               <xsl:when test="@type = 
&quot;float&quot;"><xsl:text> </xsl:text><xsl:value-of 
select="@type"/><xsl:value-of select="@size"/></xsl:when>
!                               <xsl:when test="@type = 
&quot;decimal&quot;"><xsl:text> </xsl:text><xsl:value-of 
select="@type"/>(<xsl:value-of select="@precision"/>,<xsl:value-of 
select="@scale"/>)</xsl:when>
!                               <xsl:when test="@type = 
&quot;varchar&quot;"><xsl:text> </xsl:text><xsl:value-of 
select="@type"/>(<xsl:value-of select="@size"/>)</xsl:when>
!                               <xsl:when test="@type = 
&quot;char&quot;"><xsl:text> </xsl:text><xsl:value-of 
select="@type"/>(<xsl:value-of select="@size"/>)</xsl:when>
!                               <xsl:when test="@type = 
&quot;blob&quot;"><xsl:text> </xsl:text>text</xsl:when>
!                               <xsl:when test="@type = 
&quot;date&quot;"><xsl:text> </xsl:text><xsl:value-of 
select="@type"/></xsl:when>
!                               <xsl:when test="@type = 
&quot;longtext&quot;"><xsl:text> </xsl:text>text</xsl:when>
!                               <xsl:when test="@type = 
&quot;text&quot;"><xsl:text> </xsl:text><xsl:value-of 
select="@type"/></xsl:when>
!                               <xsl:when test="@type = 
&quot;datetime&quot;"><xsl:text> </xsl:text><xsl:value-of 
select="@type"/></xsl:when>
!                               <xsl:when test="@type = 
&quot;timestamp&quot;"><xsl:text> </xsl:text><xsl:value-of 
select="@type"/></xsl:when>
!                               <xsl:otherwise><xsl:text> </xsl:text>UNHANDLED 
TYPE(<xsl:value-of select="@type"/>)</xsl:otherwise>
!                       </xsl:choose>
!                       <xsl:choose>
!                               <xsl:when test="@nullable = 
&quot;N&quot;"><xsl:text> </xsl:text>NOT 
NULL</xsl:when><xsl:otherwise><xsl:text> </xsl:text>NULL</xsl:otherwise>
!                       </xsl:choose>
!                       <xsl:choose>
!                               <xsl:when test="@type = 
&quot;auto&quot;"><xsl:text> </xsl:text>default nextval('seq_<xsl:value-of 
select="$tableName"/>')</xsl:when>
!                               <xsl:otherwise>
!                                       <xsl:if test="@default != 
&quot;&quot;"><xsl:text> default </xsl:text>
!                                               <xsl:choose>
!                                               <xsl:when test="@default = 
&quot;getdate()&quot;">now()</xsl:when>
!                                               <xsl:otherwise><xsl:value-of 
select="@default"/></xsl:otherwise>
!                                               </xsl:choose>
!                                       </xsl:if>
!                               </xsl:otherwise>
!                       </xsl:choose><xsl:if test="position() &lt; 
$numFields"><xsl:text>, </xsl:text></xsl:if>
!               </xsl:for-each>);</command>
!       </xsl:template>
! 
!       <xsl:template name="doPrimaryKey">
!               <xsl:param name="table"></xsl:param>
!               <xsl:if test="$table != &quot;&quot;">
!                       <xsl:if test="count(./primarykey/pkfield[text()]) &gt; 
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() &gt; 
1"><xsl:text>, </xsl:text></xsl:if>
!                                       <xsl:value-of select="."/>
!                               </xsl:for-each>
!                               <xsl:text>);</xsl:text></command>
!                       </xsl:if>
!               </xsl:if>
!       </xsl:template>
! 
!       <xsl:template name="doIndexes">
!               <xsl:param name="table"></xsl:param>
!               <xsl:if test="$table != &quot;&quot;">
!                       <xsl:for-each select="indexes/index">
!                               <command><xsl:text>Create</xsl:text>
!                               <xsl:if test="@type = 
&quot;unique&quot;"><xsl:text> Unique</xsl:text></xsl:if>
!                               <xsl:text> Index </xsl:text><xsl:value-of 
select="@name"/><xsl:text> On </xsl:text>
!                               <xsl:value-of 
select="$table"/><xsl:text>(</xsl:text>
!                               <xsl:for-each select="idxfield">
!                                       <xsl:if test="position() &gt; 
1"><xsl:text>, </xsl:text></xsl:if>
!                                       <xsl:value-of select="."/>
!                               </xsl:for-each>
!                               <xsl:text>);</xsl:text></command>
!                       </xsl:for-each>
!               </xsl:if>
!       </xsl:template>
! 
!       <xsl:template name="doConstraints">
!               <xsl:param name="table"></xsl:param>
!               <xsl:if test="$table != &quot;&quot;">
!                       <xsl:for-each select="constraints/constraint">
!                               <command>
!                               <xsl:choose>
!                               <xsl:when test="@type = &quot;unique&quot;">
!                                       <xsl:text>Create Unique Index 
</xsl:text>
!                                       <xsl:value-of 
select="@name"/><xsl:text> On </xsl:text>
!                                       <xsl:value-of 
select="$table"/><xsl:text>(</xsl:text>
!                                       <xsl:for-each select="constraintfield">
!                                               <xsl:if test="position() &gt; 
1"><xsl:text>, </xsl:text></xsl:if>
!                                               <xsl:value-of select="."/>
!                                       </xsl:for-each>
!                                       <xsl:text>);</xsl:text>
!                               </xsl:when>
!                               <xsl:when test="@type = &quot;foreignkey&quot;">
!                                       <xsl:text>Alter Table 
</xsl:text><xsl:value-of select="$table"/><xsl:text> Add Constraint </xsl:text>
!                                       <xsl:value-of 
select="@name"/><xsl:text> foreign key (</xsl:text>
!                                       <xsl:value-of 
select="ref/@sourceField"/><xsl:text>) references </xsl:text>
!                                       <xsl:value-of 
select="ref/@destinationTable"/><xsl:text>(</xsl:text><xsl:value-of 
select="ref/@destinationField"/>
!                                       <xsl:text>);</xsl:text>
!                               </xsl:when>
!                               </xsl:choose>
!                               </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>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() &lt; $numValues"><xsl:text>, 
</xsl:text></xsl:if></xsl:for-each>);</command>
         </xsl:for-each>
!       </xsl:template>
  
  </xsl:stylesheet>
--- 1,121 ----
! <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
version="1.0">
    <xsl:template match="/schema"><sql>
!     <xsl:for-each select="tables/table">
!       <xsl:call-template name="doSequence"/>
!       <xsl:call-template name="doTable"/>
!       <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>
! 
!   <xsl:template name="doSequence">
!   <xsl:if test="count(./fields/address@hidden&quot;auto&quot;]) &gt; 
0"><command>Create Sequence seq_<xsl:value-of 
select="@name"/>;</command></xsl:if>
!   </xsl:template>
! 
!   <xsl:template name="doTable"><xsl:variable name="numFields" 
select="count(fields/field)"/><xsl:variable name="tableName" select="@name"/>
!   <command>Create Table <xsl:value-of select="$tableName"/> (<xsl:for-each 
select="fields/field">
!       <xsl:value-of select="@name"/>
!       <xsl:choose>
!         <xsl:when test="@type = &quot;auto&quot;"><xsl:text> 
</xsl:text>int4</xsl:when>
!         <xsl:when test="@type = &quot;int&quot;"><xsl:text> 
</xsl:text><xsl:value-of select="@type"/><xsl:value-of 
select="@size"/></xsl:when>
!         <xsl:when test="@type = &quot;float&quot;"><xsl:text> 
</xsl:text><xsl:value-of select="@type"/><xsl:value-of 
select="@size"/></xsl:when>
!         <xsl:when test="@type = &quot;decimal&quot;"><xsl:text> 
</xsl:text><xsl:value-of select="@type"/>(<xsl:value-of 
select="@precision"/>,<xsl:value-of select="@scale"/>)</xsl:when>
!         <xsl:when test="@type = &quot;varchar&quot;"><xsl:text> 
</xsl:text><xsl:value-of select="@type"/>(<xsl:value-of 
select="@size"/>)</xsl:when>
!         <xsl:when test="@type = &quot;char&quot;"><xsl:text> 
</xsl:text><xsl:value-of select="@type"/>(<xsl:value-of 
select="@size"/>)</xsl:when>
!         <xsl:when test="@type = &quot;blob&quot;"><xsl:text> 
</xsl:text>text</xsl:when>
!         <xsl:when test="@type = &quot;date&quot;"><xsl:text> 
</xsl:text><xsl:value-of select="@type"/></xsl:when>
!         <xsl:when test="@type = &quot;longtext&quot;"><xsl:text> 
</xsl:text>text</xsl:when>
!         <xsl:when test="@type = &quot;text&quot;"><xsl:text> 
</xsl:text><xsl:value-of select="@type"/></xsl:when>
!         <xsl:when test="@type = &quot;datetime&quot;"><xsl:text> 
</xsl:text><xsl:value-of select="@type"/></xsl:when>
!         <xsl:when test="@type = &quot;timestamp&quot;"><xsl:text> 
</xsl:text><xsl:value-of select="@type"/></xsl:when>
!         <xsl:otherwise><xsl:text> </xsl:text>UNHANDLED TYPE(<xsl:value-of 
select="@type"/>)</xsl:otherwise>
!       </xsl:choose>
!       <xsl:choose>
!         <xsl:when test="@nullable = &quot;N&quot;"><xsl:text> </xsl:text>NOT 
NULL</xsl:when><xsl:otherwise><xsl:text> </xsl:text>NULL</xsl:otherwise>
!       </xsl:choose>
!       <xsl:choose>
!         <xsl:when test="@type = &quot;auto&quot;"><xsl:text> 
</xsl:text>default nextval('seq_<xsl:value-of select="$tableName"/>')</xsl:when>
!         <xsl:otherwise>
!           <xsl:if test="@default != &quot;&quot;"><xsl:text> default 
</xsl:text>
!             <xsl:choose>
!             <xsl:when test="@default = &quot;getdate()&quot;">now()</xsl:when>
!             <xsl:otherwise><xsl:value-of select="@default"/></xsl:otherwise>
!             </xsl:choose>
!           </xsl:if>
!         </xsl:otherwise>
!       </xsl:choose><xsl:if test="position() &lt; $numFields"><xsl:text>, 
</xsl:text></xsl:if>
!     </xsl:for-each>);</command>
!   </xsl:template>
! 
!   <xsl:template name="doPrimaryKey">
!     <xsl:param name="table"></xsl:param>
!     <xsl:if test="$table != &quot;&quot;">
!       <xsl:if test="count(./primarykey/pkfield[text()]) &gt; 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() &gt; 1"><xsl:text>, </xsl:text></xsl:if>
!           <xsl:value-of select="."/>
!         </xsl:for-each>
!         <xsl:text>);</xsl:text></command>
!       </xsl:if>
!     </xsl:if>
!   </xsl:template>
! 
!   <xsl:template name="doIndexes">
!     <xsl:param name="table"></xsl:param>
!     <xsl:if test="$table != &quot;&quot;">
!       <xsl:for-each select="indexes/index">
!         <command><xsl:text>Create</xsl:text>
!         <xsl:if test="@type = &quot;unique&quot;"><xsl:text> 
Unique</xsl:text></xsl:if>
!         <xsl:text> Index </xsl:text><xsl:value-of select="@name"/><xsl:text> 
On </xsl:text>
!         <xsl:value-of select="$table"/><xsl:text>(</xsl:text>
!         <xsl:for-each select="idxfield">
!           <xsl:if test="position() &gt; 1"><xsl:text>, </xsl:text></xsl:if>
!           <xsl:value-of select="."/>
!         </xsl:for-each>
!         <xsl:text>);</xsl:text></command>
!       </xsl:for-each>
!     </xsl:if>
!   </xsl:template>
! 
!   <xsl:template name="doConstraints">
!     <xsl:param name="table"></xsl:param>
!     <xsl:if test="$table != &quot;&quot;">
!       <xsl:for-each select="constraints/constraint">
!         <command>
!         <xsl:choose>
!         <xsl:when test="@type = &quot;unique&quot;">
!           <xsl:text>Create Unique Index </xsl:text>
!           <xsl:value-of select="@name"/><xsl:text> On </xsl:text>
!           <xsl:value-of select="$table"/><xsl:text>(</xsl:text>
!           <xsl:for-each select="constraintfield">
!             <xsl:if test="position() &gt; 1"><xsl:text>, </xsl:text></xsl:if>
!             <xsl:value-of select="."/>
!           </xsl:for-each>
!           <xsl:text>);</xsl:text>
!         </xsl:when>
!         <xsl:when test="@type = &quot;foreignkey&quot;">
!           <xsl:text>Alter Table </xsl:text><xsl:value-of 
select="$table"/><xsl:text> Add Constraint </xsl:text>
!           <xsl:value-of select="@name"/><xsl:text> foreign key (</xsl:text>
!           <xsl:value-of select="ref/@sourceField"/><xsl:text>) references 
</xsl:text>
!           <xsl:value-of 
select="ref/@destinationTable"/><xsl:text>(</xsl:text><xsl:value-of 
select="ref/@destinationField"/>
!           <xsl:text>);</xsl:text>
!         </xsl:when>
!         </xsl:choose>
!         </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>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() &lt; $numValues"><xsl:text>, 
</xsl:text></xsl:if></xsl:for-each>);</command>
         </xsl:for-each>
!   </xsl:template>
  
  </xsl:stylesheet>
Index: gnue/common/utils/xml2sql/sybase.xsl
diff -c gnue/common/utils/xml2sql/sybase.xsl:1.2 
gnue/common/utils/xml2sql/sybase.xsl:1.3
*** gnue/common/utils/xml2sql/sybase.xsl:1.2    Sat Jul 13 06:55:16 2002
--- gnue/common/utils/xml2sql/sybase.xsl        Fri Jul 19 14:59:01 2002
***************
*** 1,121 ****
  <?xml version="1.0"?> 
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
version="1.0">
!       <xsl:template match="/schema"><sql>
!               <xsl:for-each select="tables/table">
!                       <xsl:call-template name="doTable"/>
!                       <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></sql>
!       </xsl:template>
  
!       <xsl:template name="doTable"><xsl:variable name="numFields" 
select="count(fields/field)"/><xsl:variable name="tableName" select="@name"/>
!       <command>Create Table <xsl:value-of select="$tableName"/> 
(<xsl:for-each select="fields/field">
!                       <xsl:value-of select="@name"/>
!                       <xsl:choose>
!                               <xsl:when test="@type = 
&quot;auto&quot;"><xsl:text> numeric(11,0) identity</xsl:text></xsl:when>
!                               <xsl:when test="@type = &quot;int&quot;">
!                                       <xsl:choose>
!                                               <xsl:when test="@size = 
2"><xsl:text> smallint</xsl:text></xsl:when>
!                                               <xsl:when test="@size = 
4"><xsl:text> int</xsl:text></xsl:when>
!                                               <xsl:when test="@size = 
8"><xsl:text> int</xsl:text></xsl:when>
!                                       </xsl:choose>
!                               </xsl:when>
!                               <xsl:when test="@type = &quot;float&quot;">
!                                       <xsl:choose>
!                                               <xsl:when test="@size = 
4"><xsl:text> float</xsl:text></xsl:when>
!                                               <xsl:when test="@size = 
8"><xsl:text> real</xsl:text></xsl:when>
!                                       </xsl:choose>
!                               </xsl:when>
!                               <xsl:when test="@type = 
&quot;decimal&quot;"><xsl:text> </xsl:text><xsl:value-of 
select="@type"/>(<xsl:value-of select="@precision"/>,<xsl:value-of 
select="@scale"/>)</xsl:when>
!                               <xsl:when test="@type = 
&quot;varchar&quot;"><xsl:text> </xsl:text><xsl:value-of 
select="@type"/>(<xsl:value-of select="@size"/>)</xsl:when>
!                               <xsl:when test="@type = 
&quot;char&quot;"><xsl:text> </xsl:text><xsl:value-of 
select="@type"/>(<xsl:value-of select="@size"/>)</xsl:when>
!                               <xsl:when test="@type = 
&quot;blob&quot;"><xsl:text> image</xsl:text></xsl:when>
!                               <xsl:when test="@type = 
&quot;date&quot;"><xsl:text> smalldatetime</xsl:text></xsl:when>
!                               <xsl:when test="@type = 
&quot;datetime&quot;"><xsl:text> datetime</xsl:text></xsl:when>
!                               <xsl:when test="@type = 
&quot;longtext&quot;"><xsl:text> text</xsl:text></xsl:when>
!                               <xsl:when test="@type = 
&quot;text&quot;"><xsl:text> </xsl:text><xsl:value-of 
select="@type"/></xsl:when>
!                               <xsl:when test="@type = 
&quot;timestamp&quot;"><xsl:text> timestamp</xsl:text></xsl:when>
!                               <xsl:otherwise><xsl:text> UNHANDLED 
TYPE(</xsl:text><xsl:value-of select="@type"/>)</xsl:otherwise>
!                       </xsl:choose>
!                       <xsl:choose>
!                               <xsl:when test="@nullable = 
&quot;N&quot;"><xsl:text> NOT 
NULL</xsl:text></xsl:when><xsl:otherwise><xsl:text> 
NULL</xsl:text></xsl:otherwise>
!                       </xsl:choose>
!                       <xsl:if test="@default != &quot;&quot;"><xsl:text> 
default </xsl:text>
!                               <xsl:choose>
!                               <xsl:when test="@default = 
&quot;getdate()&quot;">GetDate()</xsl:when>
!                               <xsl:otherwise><xsl:value-of 
select="@default"/></xsl:otherwise>
!                               </xsl:choose>
!                       </xsl:if>
!                       <xsl:if test="position() &lt; $numFields">, </xsl:if>
!               </xsl:for-each>)<xsl:text>
  GO
  </xsl:text></command>
!       </xsl:template>
  
!       <xsl:template name="doPrimaryKey">
!               <xsl:param name="table"></xsl:param>
!               <xsl:if test="$table != &quot;&quot;">
!                       <xsl:if test="count(./primarykey/pkfield[text()]) &gt; 
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() &gt; 
1"><xsl:text>, </xsl:text></xsl:if>
!                                       <xsl:value-of select="."/>
!                               </xsl:for-each>
!                               <xsl:text>)
  GO
  </xsl:text></command>
!                       </xsl:if>
!               </xsl:if>
!       </xsl:template>
  
!       <xsl:template name="doIndexes">
!               <xsl:param name="table"></xsl:param>
!               <xsl:if test="$table != &quot;&quot;">
!                       <xsl:for-each select="indexes/index">
!                               <command><xsl:text>Create </xsl:text>
!                               <xsl:if test="@type = 
&quot;unique&quot;"><xsl:text>Unique </xsl:text></xsl:if>
!                               <xsl:text> Index </xsl:text><xsl:value-of 
select="@name"/><xsl:text> On </xsl:text>
!                               <xsl:value-of select="$table"/>
!                               <xsl:text>(</xsl:text>
!                               <xsl:for-each select="idxfield">
!                                       <xsl:if test="position() &gt; 
1"><xsl:text>, </xsl:text></xsl:if>
!                                       <xsl:value-of select="."/>
!                               </xsl:for-each>
!                               <xsl:text>)
  GO
  </xsl:text></command>
!                       </xsl:for-each>
!               </xsl:if>
!       </xsl:template>
  
!       <xsl:template name="doConstraints">
!               <xsl:param name="table"></xsl:param>
!               <xsl:if test="$table != &quot;&quot;">
!                       <xsl:for-each select="constraints/constraint">
!                               <command>
!                               <xsl:choose>
!                               <xsl:when test="@type = &quot;unique&quot;">
!                                       <xsl:text>Alter Table 
</xsl:text><xsl:value-of select="$table"/><xsl:text> Add Constraint </xsl:text>
!                                       <xsl:value-of 
select="@name"/><xsl:text> Unique (</xsl:text>
!                                       <xsl:for-each select="constraintfield">
!                                               <xsl:if test="position() &gt; 
1"><xsl:text>, </xsl:text></xsl:if>
!                                               <xsl:value-of select="."/>
!                                       </xsl:for-each>
!                               </xsl:when>
!                               <xsl:when test="@type = &quot;foreignkey&quot;">
!                                       <xsl:text>Alter Table 
</xsl:text><xsl:value-of select="$table"/><xsl:text> Add Constraint </xsl:text>
!                                       <xsl:value-of 
select="@name"/><xsl:text> foreign key (</xsl:text>
!                                       <xsl:value-of 
select="ref/@sourceField"/><xsl:text>) references </xsl:text>
!                                       <xsl:value-of 
select="ref/@destinationTable"/><xsl:text>(</xsl:text><xsl:value-of 
select="ref/@destinationField"/>
!                               </xsl:when>
!                               </xsl:choose>
!                               <xsl:text>)
  GO
  </xsl:text>
!                               </command>
!                       </xsl:for-each>
!               </xsl:if>
!       </xsl:template>
  </xsl:stylesheet>
--- 1,121 ----
  <?xml version="1.0"?> 
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
version="1.0">
!   <xsl:template match="/schema"><sql>
!     <xsl:for-each select="tables/table">
!       <xsl:call-template name="doTable"/>
!       <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></sql>
!   </xsl:template>
  
!   <xsl:template name="doTable"><xsl:variable name="numFields" 
select="count(fields/field)"/><xsl:variable name="tableName" select="@name"/>
!   <command>Create Table <xsl:value-of select="$tableName"/> (<xsl:for-each 
select="fields/field">
!       <xsl:value-of select="@name"/>
!       <xsl:choose>
!         <xsl:when test="@type = &quot;auto&quot;"><xsl:text> numeric(11,0) 
identity</xsl:text></xsl:when>
!         <xsl:when test="@type = &quot;int&quot;">
!           <xsl:choose>
!             <xsl:when test="@size = 2"><xsl:text> 
smallint</xsl:text></xsl:when>
!             <xsl:when test="@size = 4"><xsl:text> int</xsl:text></xsl:when>
!             <xsl:when test="@size = 8"><xsl:text> int</xsl:text></xsl:when>
!           </xsl:choose>
!         </xsl:when>
!         <xsl:when test="@type = &quot;float&quot;">
!           <xsl:choose>
!             <xsl:when test="@size = 4"><xsl:text> float</xsl:text></xsl:when>
!             <xsl:when test="@size = 8"><xsl:text> real</xsl:text></xsl:when>
!           </xsl:choose>
!         </xsl:when>
!         <xsl:when test="@type = &quot;decimal&quot;"><xsl:text> 
</xsl:text><xsl:value-of select="@type"/>(<xsl:value-of 
select="@precision"/>,<xsl:value-of select="@scale"/>)</xsl:when>
!         <xsl:when test="@type = &quot;varchar&quot;"><xsl:text> 
</xsl:text><xsl:value-of select="@type"/>(<xsl:value-of 
select="@size"/>)</xsl:when>
!         <xsl:when test="@type = &quot;char&quot;"><xsl:text> 
</xsl:text><xsl:value-of select="@type"/>(<xsl:value-of 
select="@size"/>)</xsl:when>
!         <xsl:when test="@type = &quot;blob&quot;"><xsl:text> 
image</xsl:text></xsl:when>
!         <xsl:when test="@type = &quot;date&quot;"><xsl:text> 
smalldatetime</xsl:text></xsl:when>
!         <xsl:when test="@type = &quot;datetime&quot;"><xsl:text> 
datetime</xsl:text></xsl:when>
!         <xsl:when test="@type = &quot;longtext&quot;"><xsl:text> 
text</xsl:text></xsl:when>
!         <xsl:when test="@type = &quot;text&quot;"><xsl:text> 
</xsl:text><xsl:value-of select="@type"/></xsl:when>
!         <xsl:when test="@type = &quot;timestamp&quot;"><xsl:text> 
timestamp</xsl:text></xsl:when>
!         <xsl:otherwise><xsl:text> UNHANDLED TYPE(</xsl:text><xsl:value-of 
select="@type"/>)</xsl:otherwise>
!       </xsl:choose>
!       <xsl:choose>
!         <xsl:when test="@nullable = &quot;N&quot;"><xsl:text> NOT 
NULL</xsl:text></xsl:when><xsl:otherwise><xsl:text> 
NULL</xsl:text></xsl:otherwise>
!       </xsl:choose>
!       <xsl:if test="@default != &quot;&quot;"><xsl:text> default </xsl:text>
!         <xsl:choose>
!         <xsl:when test="@default = &quot;getdate()&quot;">GetDate()</xsl:when>
!         <xsl:otherwise><xsl:value-of select="@default"/></xsl:otherwise>
!         </xsl:choose>
!       </xsl:if>
!       <xsl:if test="position() &lt; $numFields">, </xsl:if>
!     </xsl:for-each>)<xsl:text>
  GO
  </xsl:text></command>
!   </xsl:template>
  
!   <xsl:template name="doPrimaryKey">
!     <xsl:param name="table"></xsl:param>
!     <xsl:if test="$table != &quot;&quot;">
!       <xsl:if test="count(./primarykey/pkfield[text()]) &gt; 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() &gt; 1"><xsl:text>, </xsl:text></xsl:if>
!           <xsl:value-of select="."/>
!         </xsl:for-each>
!         <xsl:text>)
  GO
  </xsl:text></command>
!       </xsl:if>
!     </xsl:if>
!   </xsl:template>
  
!   <xsl:template name="doIndexes">
!     <xsl:param name="table"></xsl:param>
!     <xsl:if test="$table != &quot;&quot;">
!       <xsl:for-each select="indexes/index">
!         <command><xsl:text>Create </xsl:text>
!         <xsl:if test="@type = &quot;unique&quot;"><xsl:text>Unique 
</xsl:text></xsl:if>
!         <xsl:text> Index </xsl:text><xsl:value-of select="@name"/><xsl:text> 
On </xsl:text>
!         <xsl:value-of select="$table"/>
!         <xsl:text>(</xsl:text>
!         <xsl:for-each select="idxfield">
!           <xsl:if test="position() &gt; 1"><xsl:text>, </xsl:text></xsl:if>
!           <xsl:value-of select="."/>
!         </xsl:for-each>
!         <xsl:text>)
  GO
  </xsl:text></command>
!       </xsl:for-each>
!     </xsl:if>
!   </xsl:template>
  
!   <xsl:template name="doConstraints">
!     <xsl:param name="table"></xsl:param>
!     <xsl:if test="$table != &quot;&quot;">
!       <xsl:for-each select="constraints/constraint">
!         <command>
!         <xsl:choose>
!         <xsl:when test="@type = &quot;unique&quot;">
!           <xsl:text>Alter Table </xsl:text><xsl:value-of 
select="$table"/><xsl:text> Add Constraint </xsl:text>
!           <xsl:value-of select="@name"/><xsl:text> Unique (</xsl:text>
!           <xsl:for-each select="constraintfield">
!             <xsl:if test="position() &gt; 1"><xsl:text>, </xsl:text></xsl:if>
!             <xsl:value-of select="."/>
!           </xsl:for-each>
!         </xsl:when>
!         <xsl:when test="@type = &quot;foreignkey&quot;">
!           <xsl:text>Alter Table </xsl:text><xsl:value-of 
select="$table"/><xsl:text> Add Constraint </xsl:text>
!           <xsl:value-of select="@name"/><xsl:text> foreign key (</xsl:text>
!           <xsl:value-of select="ref/@sourceField"/><xsl:text>) references 
</xsl:text>
!           <xsl:value-of 
select="ref/@destinationTable"/><xsl:text>(</xsl:text><xsl:value-of 
select="ref/@destinationField"/>
!         </xsl:when>
!         </xsl:choose>
!         <xsl:text>)
  GO
  </xsl:text>
!         </command>
!       </xsl:for-each>
!     </xsl:if>
!   </xsl:template>
  </xsl:stylesheet>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]