doc/stylesheets: xsl template to quote mysql table and column names
authorDaniel-Constantin Mierla <miconda@gmail.com>
Wed, 13 May 2015 20:23:43 +0000 (22:23 +0200)
committerDaniel-Constantin Mierla <miconda@gmail.com>
Wed, 13 May 2015 20:23:43 +0000 (22:23 +0200)
doc/stylesheets/dbschema_k/xsl/common.xsl
doc/stylesheets/dbschema_k/xsl/sql.xsl

index 060127e..67f624f 100644 (file)
     <xsl:template match="text()|@*"/>
     <xsl:template match="text()|@*" mode="drop"/>
 
+    <xsl:template name="quotechar">
+       <xsl:choose>
+           <xsl:when test="$db='mysql'">
+                       <xsl:text>`</xsl:text>
+           </xsl:when>
+           <xsl:otherwise>
+                       <xsl:text></xsl:text>
+               </xsl:otherwise>
+       </xsl:choose>
+    </xsl:template>
+
     <!-- Return the name of the context element, first look for a database
          specific name, use the common name if no database-specific name
          is found.
index 8b15a4f..ba55a5e 100644 (file)
@@ -55,7 +55,9 @@
        <xsl:apply-templates select="version"/>
 
        <xsl:text>CREATE TABLE </xsl:text>
+       <xsl:call-template name="quotechar"/>
        <xsl:value-of select="$table.name"/>
+       <xsl:call-template name="quotechar"/>
        <xsl:text> (&#x0A;</xsl:text>
 
        <!-- Process all columns -->
 
     <xsl:template match="column">
        <xsl:text>    </xsl:text>
+       <xsl:call-template name="quotechar"/>
        <xsl:call-template name="get-name"/>
+       <xsl:call-template name="quotechar"/>
        <xsl:text> </xsl:text>
 
        <xsl:call-template name="column.type"/>
 <!-- ################ COLREF ################  -->
 
     <xsl:template match="colref">
+       <xsl:call-template name="quotechar"/>
        <xsl:call-template name="get-column-name">
            <xsl:with-param name="select" select="@linkend"/>
        </xsl:call-template>
+       <xsl:call-template name="quotechar"/>
        <xsl:if test="not(position()=last())">
            <xsl:text>, </xsl:text>
        </xsl:if>