Mainly changes to MS-SQL generation
This commit is contained in:
parent
62168723e1
commit
83f163bb60
|
@ -116,7 +116,7 @@
|
||||||
</a>
|
</a>
|
||||||
</xsl:when>
|
</xsl:when>
|
||||||
<xsl:when test="@type = 'link'">
|
<xsl:when test="@type = 'link'">
|
||||||
to entity of type <a>
|
(many to many) to entities of type <a>
|
||||||
<xsl:attribute name="href">
|
<xsl:attribute name="href">
|
||||||
<xsl:value-of select="concat( '#entity-', @entity)"/>
|
<xsl:value-of select="concat( '#entity-', @entity)"/>
|
||||||
</xsl:attribute>
|
</xsl:attribute>
|
||||||
|
@ -124,7 +124,7 @@
|
||||||
</a>
|
</a>
|
||||||
</xsl:when>
|
</xsl:when>
|
||||||
<xsl:when test="@type = 'list'">
|
<xsl:when test="@type = 'list'">
|
||||||
of entities of type <a>
|
(one to many) of entities of type <a>
|
||||||
<xsl:attribute name="href">
|
<xsl:attribute name="href">
|
||||||
<xsl:value-of select="concat( '#entity-', @entity)"/>
|
<xsl:value-of select="concat( '#entity-', @entity)"/>
|
||||||
</xsl:attribute>
|
</xsl:attribute>
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
Convert ADL to MS-SQL
|
Convert ADL to MS-SQL
|
||||||
|
|
||||||
$Author: sb $
|
$Author: sb $
|
||||||
$Revision: 1.5 $
|
$Revision: 1.6 $
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<xsl:output indent="no" encoding="UTF-8" method="text"/>
|
<xsl:output indent="no" encoding="UTF-8" method="text"/>
|
||||||
|
@ -103,7 +103,8 @@
|
||||||
-- <xsl:value-of select="$product-version"/>
|
-- <xsl:value-of select="$product-version"/>
|
||||||
--
|
--
|
||||||
-- Database for application <xsl:value-of select="@name"/> version <xsl:value-of select="@version"/>
|
-- Database for application <xsl:value-of select="@name"/> version <xsl:value-of select="@version"/>
|
||||||
-- Generated for MS-SQL 2000+ using adl2mssql.xslt <xsl:value-of select="substring('$Revision: 1.5 $', 12)"/>
|
-- Generated for MS-SQL 2000+ using adl2mssql.xslt <xsl:value-of select="substring('$Revision: 1.6 $', 12)"/>
|
||||||
|
-- THIS FILE IS AUTOMATICALLY GENERATED: DO NOT EDIT IT.
|
||||||
--
|
--
|
||||||
-- Code generator (c) 2007 Cygnet Solutions Ltd
|
-- Code generator (c) 2007 Cygnet Solutions Ltd
|
||||||
--
|
--
|
||||||
|
@ -185,6 +186,10 @@
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
<!-- generate referential integrity constraints -->
|
<!-- generate referential integrity constraints -->
|
||||||
|
<!-- there's a sort-of problem with this - if we have properties at both
|
||||||
|
ends of a link (which we often do) we currently generate two identical
|
||||||
|
constraints. This doesn't seem to cause any major problems but must hurt
|
||||||
|
efficiency. It would be better if we fixed this. -->
|
||||||
<xsl:template match="adl:entity" mode="refinteg">
|
<xsl:template match="adl:entity" mode="refinteg">
|
||||||
<xsl:variable name="nearside" select="@name"/>
|
<xsl:variable name="nearside" select="@name"/>
|
||||||
<xsl:for-each select="descendant::adl:property[@type='entity']">
|
<xsl:for-each select="descendant::adl:property[@type='entity']">
|
||||||
|
@ -208,20 +213,23 @@
|
||||||
</xsl:choose>
|
</xsl:choose>
|
||||||
</xsl:for-each>
|
</xsl:for-each>
|
||||||
<xsl:for-each select="descendant::adl:property[@type='list']">
|
<xsl:for-each select="descendant::adl:property[@type='list']">
|
||||||
<xsl:variable name="farkey">
|
<xsl:variable name="ns2" select="@entity"/>
|
||||||
<xsl:choose>
|
<xsl:variable name="linkfield">
|
||||||
<xsl:when test="@farkey">
|
<xsl:call-template name="property-column-name">
|
||||||
<xsl:value-of select="@farkey"/>
|
<xsl:with-param name="property"
|
||||||
</xsl:when>
|
select="//adl:entity[@name=$ns2]//adl:property[@entity=$nearside]"/>
|
||||||
<xsl:otherwise>
|
</xsl:call-template>
|
||||||
<xsl:value-of select="../@name"/>
|
</xsl:variable>
|
||||||
</xsl:otherwise>
|
<xsl:if test="string-length( $linkfield) = 0">
|
||||||
</xsl:choose>
|
<xsl:message terminate="yes">
|
||||||
</xsl:variable>
|
ADL: ERROR: Failed to infer link field name whilst processing list property <xsl:value-of select="@name"/> of <xsl:value-of select="ancestor::adl:entity/@name"/>
|
||||||
|
Entity is '<xsl:value-of select="$ns2"/>', nearside is '<xsl:value-of select="$nearside"/>'
|
||||||
|
</xsl:message>
|
||||||
|
</xsl:if>
|
||||||
<xsl:call-template name="foreignkey">
|
<xsl:call-template name="foreignkey">
|
||||||
<xsl:with-param name="nearside" select="@entity"/>
|
<xsl:with-param name="nearside" select="@entity"/>
|
||||||
<xsl:with-param name="farside" select="../@name"/>
|
<xsl:with-param name="farside" select="../@name"/>
|
||||||
<xsl:with-param name="linkfield" select="$farkey"/>
|
<xsl:with-param name="linkfield" select="$linkfield"/>
|
||||||
<xsl:with-param name="ondelete">
|
<xsl:with-param name="ondelete">
|
||||||
<xsl:choose>
|
<xsl:choose>
|
||||||
<xsl:when test="@cascade='all'">CASCADE</xsl:when>
|
<xsl:when test="@cascade='all'">CASCADE</xsl:when>
|
||||||
|
|
Loading…
Reference in a new issue