summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--db/oracle/datatypes.xml30
-rw-r--r--db/oracle/output.xsl130
-rw-r--r--locale/es.xml39
3 files changed, 181 insertions, 18 deletions
diff --git a/db/oracle/datatypes.xml b/db/oracle/datatypes.xml
new file mode 100644
index 0000000..45c803e
--- /dev/null
+++ b/db/oracle/datatypes.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<datatypes db="oracle">
+ <group label="Number" color="rgb(238,238,170)">
+ <type label="NUMERIC" length="0" sql="DECIMAL" re="INT" quote="" />
+ <type label="NUMBER" length="0" sql="DECIMAL" re="INT" quote="" />
+ <type label="Decimal" length="1" sql="DECIMAL" re="DEC" quote="" />
+ <type label="Single precision" length="0" sql="FLOAT" quote="" />
+ <type label="Double precision" length="0" sql="DOUBLE" re="DOUBLE" quote="" />
+ </group>
+
+ <group label="Character" color="rgb(255,200,200)">
+ <type label="Char" length="1" sql="CHAR" quote="'"/>
+ <type label="NCHAR" length="1" sql="NCHAR" quote="'"/>
+ <type label="Varchar2" length="1" sql="VARCHAR2" quote="'"/>
+ <type label="CLOB" length="0" sql="MEDIUMTEXT" re="TEXT" quote="'"/>
+ <type label="Binary" length="1" sql="BINARY" quote="'"/>
+ <type label="Varbinary" length="1" sql="VARBINARY" quote="'"/>
+ <type label="BLOB" length="0" sql="BLOB" re="BLOB" quote="'"/>
+ </group>
+
+ <group label="Date &amp; Time" color="rgb(200,255,200)">
+ <type label="Date" length="0" sql="DATE" quote="'" />
+ <type label="Timestamp" length="0" sql="TIMESTAMP" quote="'" />
+ </group>
+
+ <group label="Miscellaneous" color="rgb(200,200,255)">
+ <type label="ENUM" length="1" sql="ENUM" quote="" />
+ <type label="SET" length="1" sql="SET" quote="" />
+ </group>
+</datatypes>
diff --git a/db/oracle/output.xsl b/db/oracle/output.xsl
new file mode 100644
index 0000000..b0c3e59
--- /dev/null
+++ b/db/oracle/output.xsl
@@ -0,0 +1,130 @@
+<?xml version="1.0" ?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+<xsl:output method="text"/>
+
+<xsl:template name="replace-substring">
+ <xsl:param name="value" />
+ <xsl:param name="from" />
+ <xsl:param name="to" />
+ <xsl:choose>
+ <xsl:when test="contains($value,$from)">
+ <xsl:value-of select="substring-before($value,$from)" />
+ <xsl:value-of select="$to" />
+ <xsl:call-template name="replace-substring">
+ <xsl:with-param name="value" select="substring-after($value,$from)" />
+ <xsl:with-param name="from" select="$from" />
+ <xsl:with-param name="to" select="$to" />
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$value" />
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="/sql">
+
+<!-- tables -->
+ <xsl:for-each select="table">
+ <xsl:text>CREATE TABLE `</xsl:text>
+ <xsl:value-of select="@name" />
+ <xsl:text>` (
+</xsl:text>
+ <xsl:for-each select="row">
+ <xsl:text>`</xsl:text>
+ <xsl:value-of select="@name" />
+ <xsl:text>` </xsl:text>
+
+ <xsl:value-of select="datatype" />
+ <xsl:text> </xsl:text>
+
+ <xsl:if test="@null = 0">
+ <xsl:text>NOT NULL </xsl:text>
+ </xsl:if>
+
+ <xsl:if test="@autoincrement = 1">
+ <xsl:text>AUTO_INCREMENT </xsl:text>
+ </xsl:if>
+
+ <xsl:if test="default">
+ <xsl:text>DEFAULT </xsl:text>
+ <xsl:value-of select="default" />
+ <xsl:text> </xsl:text>
+ </xsl:if>
+
+ <xsl:if test="comment">
+ <xsl:text>COMMENT '</xsl:text>
+ <xsl:call-template name="replace-substring">
+ <xsl:with-param name="value" select="comment" />
+ <xsl:with-param name="from" select='"&apos;"' />
+ <xsl:with-param name="to" select='"&apos;&apos;"' />
+ </xsl:call-template>
+ <xsl:text>' </xsl:text>
+ </xsl:if>
+
+ <xsl:if test="not (position()=last())">
+ <xsl:text>,
+</xsl:text>
+ </xsl:if>
+ </xsl:for-each>
+
+<!-- keys -->
+ <xsl:for-each select="key">
+ <xsl:text>,
+</xsl:text>
+ <xsl:choose>
+ <xsl:when test="@type = 'PRIMARY'">PRIMARY KEY (</xsl:when>
+ <xsl:when test="@type = 'FULLTEXT'">FULLTEXT KEY (</xsl:when>
+ <xsl:when test="@type = 'UNIQUE'">UNIQUE KEY (</xsl:when>
+ <xsl:otherwise>KEY (</xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:for-each select="part">
+ <xsl:text>`</xsl:text><xsl:value-of select="." /><xsl:text>`</xsl:text>
+ <xsl:if test="not (position() = last())">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+ </xsl:for-each>
+ <xsl:text>)</xsl:text>
+
+ </xsl:for-each>
+
+ <xsl:text>
+)</xsl:text>
+
+ <xsl:if test="comment">
+ <xsl:text> COMMENT '</xsl:text>
+ <xsl:call-template name="replace-substring">
+ <xsl:with-param name="value" select="comment" />
+ <xsl:with-param name="from" select='"&apos;"' />
+ <xsl:with-param name="to" select='"&apos;&apos;"' />
+ </xsl:call-template>
+ <xsl:text>'</xsl:text>
+ </xsl:if>
+
+ <xsl:text>;
+
+</xsl:text>
+
+ </xsl:for-each>
+
+<!-- fk -->
+ <xsl:for-each select="table">
+ <xsl:for-each select="row">
+ <xsl:for-each select="relation">
+ <xsl:text>ALTER TABLE `</xsl:text>
+ <xsl:value-of select="../../@name" />
+ <xsl:text>` ADD FOREIGN KEY (</xsl:text>
+ <xsl:value-of select="../@name" />
+ <xsl:text>) REFERENCES `</xsl:text>
+ <xsl:value-of select="@table" />
+ <xsl:text>` (`</xsl:text>
+ <xsl:value-of select="@row" />
+ <xsl:text>`);
+</xsl:text>
+ </xsl:for-each>
+ </xsl:for-each>
+ </xsl:for-each>
+
+</xsl:template>
+</xsl:stylesheet> \ No newline at end of file
diff --git a/locale/es.xml b/locale/es.xml
index 214a8d7..b34fb5a 100644
--- a/locale/es.xml
+++ b/locale/es.xml
@@ -7,8 +7,8 @@
<string name="aligntables">Alinear tablas</string>
<string name="cleartables">Limpiar tablas</string>
<string name="confirmall">Realmente borrar todas las tablas</string>
- <string name="newtable">nueva tabla</string>
- <string name="addpending">posicionar tabla</string>
+ <string name="newtable">Nueva tabla</string>
+ <string name="addpending">Posicionar tabla</string>
<string name="tablenamelabel">Nombre</string>
<string name="tablecommentlabel">Comentario</string>
@@ -18,34 +18,37 @@
<string name="removerow">Remover campo</string>
<string name="uprow">Arriba</string>
<string name="downrow">Abajo</string>
- <string name="newrow">nuevo campo</string>
- <string name="foreigncreate">Crear llave foranea</string>
- <string name="foreignpending">hacer clic en la tabla</string>
+ <string name="newrow">Nuevo campo</string>
+ <string name="foreigncreate">Crear llave for&#225;nea</string>
+ <string name="foreignpending">Conectar llave for&#225;nea</string>
+ <string name="foreignconnect">Conectar llave for&#225;nea</string>
+ <string name="foreignconnectpending">Hacer clic en el registro</string>
<string name="confirmtable">Realmente borrar tabla</string>
<string name="confirmrow">Realmente borrar campo</string>
<!-- row edit -->
<string name="name">Nombre</string>
<string name="type">Tipo</string>
- <string name="size">Tamaño</string>
+ <string name="size">Tama&#241;o</string>
<string name="def">Valor por predeterminado</string>
<string name="notnull">NOT NULL</string>
- <string name="ai">Autoincremento</string>
+ <string name="ai">Auto incremento</string>
<string name="comment">Editar comentario</string>
<string name="commenttext">Entrar comentario para este campo</string>
<!-- windows & options -->
- <string name="windowok">OK</string>
+ <string name="windowok">Aceptar</string>
<string name="windowcancel">Cancelar</string>
<string name="throbber">Por favor esperar...</string>
- <string name="options">Optiones</string>
+ <string name="options">Opciones</string>
<string name="language">Lenguaje</string>
- <string name="db">Base de datos para nuevos diseños</string>
- <string name="optionsnotice">Algunas optiones son aplicadas solo despues de recargar totalmente la pagina. Las Cookies deben estar habilidas para optiones de trabajo.</string>
+ <string name="db">Base de datos para nuevos dise&#241;os</string>
+ <string name="optionsnotice">Algunas opciones son aplicadas solo despúes de recargar totalmente la pagina. Las cookies deben estar
+habilitadas para opciones de trabajo.</string>
<string name="snap">Tabla acceso remoto</string>
- <string name="optionsnapnotice">En pixeles, 0 = deshabilitar acceso remoto</string>
- <string name="pattern">Patron para nombres foraneos</string>
- <string name="optionpatternnotice">%T = tabla primaria, %R = llave primaria, %t = tabla foranea</string>
+ <string name="optionsnapnotice">En píxeles, 0 = deshabilitar acceso remoto</string>
+ <string name="pattern">Patrón para nombres for&#225;neos</string>
+ <string name="optionpatternnotice">%T = tabla primaria, %R = llave primaria, %t = tabla for&#225;nea</string>
<string name="hide">Esconder conectores en la tabla al arrastrar?</string>
<string name="vector">Dibujar conectores suave (si son soportados por el navegador)?</string>
@@ -63,7 +66,7 @@
<!-- io -->
<string name="saveload">Guardar / Cargar</string>
- <string name="empty">Favor de pegar el XML dentro del area de texto siguiente e intentar nuevamente.</string>
+ <string name="empty">Favor de pegar el XML dentro del &#225;rea de texto siguiente e intentar nuevamente.</string>
<string name="client">Cliente</string>
<string name="server">Servidor</string>
<string name="output">Entrada / Salida</string>
@@ -75,8 +78,8 @@
<string name="serverload">Cargar</string>
<string name="serverlist">Lista de articulos</string>
<string name="serverimport">Importar desde BD</string>
- <string name="serverloadprompt">Entrar palabra bajo la cual tu diseño fue guardado:</string>
- <string name="serversaveprompt">Entrar palabra bajo la cual tu diseño va a ser guardado:</string>
+ <string name="serverloadprompt">Entrar palabra bajo la cual tu dise&#241;o fue guardado:</string>
+ <string name="serversaveprompt">Entrar palabra bajo la cual tu dise&#241;o va a ser guardado:</string>
<string name="serverimportprompt">Entrar nombre de base de datos a ser importada:</string>
<string name="httpresponse">Respuesta del servidor</string>
<string name="http201">Guardado</string>
@@ -87,6 +90,6 @@
<!-- misc -->
<string name="xmlerror">XML error</string>
- <string name="docs">Documentacion</string>
+ <string name="docs">Documentación</string>
</locale>