|
Subject: [xsl] I need tools XML/XSL/XSD for generation os SQL JOIN...Again: From: Cristobal Galiano Fernandez <c.galiano@xxxxx> Date: Wed, 31 Oct 2001 21:11:30 +0100 |
Hi everybody!
I need urgently tools ( XML/XSL/XSD) for generate automaticaly JOINs of
varias table schema BD..
.
1) A file XML (XSD preference) must exists for definitions of tables and
relations ship's (PKs,FKs...)
Example:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Relaciones entre tablas
.cada tabla contiene la clave primaria (PK) y las foráneas (FK) -->
<Tablas Id="Tablas">
<Tabla Id="LOOKUP_ALUMNOS_SEL" IdNum="1">
<PK>
<Col>ID_ALUMNO_SEL</Col>
</PK>
<FK>
<Tabla Id="LOOKUP_PROVINCIAS" />
<!-- El text() es la columna de la tabla LOOKUP_ALUMNOS_SEL -->
<!-- @FK es la columna de la tabla LOOKUP_PROVINCIAS -->
<!-- Generará T1.ID_PROVINCIA_ALU = T7.ID_PROVINCIA -->
<Col FK="ID_PROVINCIA">ID_PROVINCIA_ALU</Col>
</FK>
<FK>
<Tabla Id="LOOKUP_SEXOS" />
<Col FK="ID_SEXO">ID_SEXO_ALUMNO</Col>
</FK>
</Tabla>
<Tabla Id="LOOKUP_CCAA" IdNum="2">
<PK>
<Col>ID_CCAA</Col>
</PK>
<FK>
<Tabla Id="LOOKUP_TIPOS_CCAA" />
<Col FK="ID_TIPO_CCAA">ID_TIPO_CCAA</Col>
</FK>
</Tabla>
<Tabla Id="LOOKUP_CONTINENTES" IdNum="3">
<PK>
<Col>ID_COMARCA</Col>
</PK>
</Tabla>
<Tabla Id="LOOKUP_COMARCAS" IdNum="4">
<PK>
<Col>ID_COMARCA</Col>
</PK>
<FK>
<Tabla Id="LOOKUP_PROVINCIAS" />
<Col FK="ID_PROVINCIA">ID_PROVINCIA</Col>
</FK>
</Tabla>
<Tabla Id="LOOKUP_PAISES" IdNum="5">
<PK>
<Col>ID_PAIS</Col>
</PK>
<FK>
<Tabla Id="LOOKUP_CONTINENTES" />
<Col FK="ID_CONTINENTE">ID_CONTINENTE</Col>
</FK>
</Tabla>
<Tabla Id="LOOKUP_POBLACIONES" IdNum="6">
<PK>
<Col>ID_POBLACION</Col>
</PK>
<FK>
<Tabla Id="LOOKUP_COMARCAS" />
<Col FK="ID_COMARCA">ID_COMARCA</Col>
</FK>
<FK>
<Tabla Id="LOOKUP_PROVINCIAS" />
<Col FK="ID_PROVINCIA">ID_PROVINCIA</Col>
</FK>
</Tabla>
<Tabla Id="LOOKUP_PROVINCIAS" IdNum="7">
<PK>
<Col>ID_PROVINCIA</Col>
</PK>
<FK>
<Tabla Id="LOOKUP_CCAA" />
<Col FK="ID_CCAA">ID_CCAA</Col>
</FK>
<FK>
<Tabla Id="LOOKUP_PAISES" />
<Col FK="ID_PAIS">ID_PAIS</Col>
</FK>
</Tabla>
<Tabla Id="LOOKUP_SEXOS" IdNum="8">
<PK>
<Col>ID_SEXO</Col>
</PK>
</Tabla>
<Tabla Id="LOOKUP_TIPOS_CCAA" IdNum="9">
<PK>
<Col>ID_tipo_ccaa</Col>
</PK>
</Tabla>
</Tablas>
<!-- count(IdNum)= -->
2) My input is an XML file with the tables target
Example:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- -->
<Argums>
<File>TablasRelaciones.XML</File> <!-- Fichero con relaciones entre tablas
-->
<Tabla>LOOKUP_ALUMNOS_SEL</Tabla> <!-- Tablas que se cruzan -->
<Tabla>LOOKUP_PROVINCIAS</Tabla>
<Tabla>LOOKUP_PAISES</Tabla>
<Tabla>LOOKUP_CONTINENTES</Tabla>
</Argums>
3) Mi output is a SQL sentence with the JOIN's condition (in XML format)
<?xml version="1.0" encoding="UTF-16"?>
<SQL Tipo="JOIN">
<SELECT></SELECT>
<FROM>
<Tabla>LOOKUP_ALUMNOS_SEL T1</Tabla>
<Tabla>LOOKUP_CONTINENTES T3</Tabla>
<Tabla>LOOKUP_PAISES T5</Tabla>
<Tabla>LOOKUP_PROVINCIAS T7</Tabla>
</FROM>
<WHERE>
<Join>T1.ID_PROVINCIA_ALU = T7.ID_PROVINCIA</Join>
<Join>T5.ID_CONTINENTE = T3.ID_CONTINENTE</Join>
<Join>T7.ID_PAIS = T5.ID_PAIS</Join>
</WHERE>
</SQL>
4) NB. Is posible that in my input an intermediate table,necesary for the
JOIN (with Foreing's Keys) don't exits.
Can anybody help me (us) writing this generaly and simple :)) XML/XSL/XSD
code ?
Thanks in advance
Cristóbal Galiano Fdez
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Comparison of nodes minus, Jörg Heinicke | Thread | [xsl] Urgent:Concat values of two e, Kim |
| Re: [xsl] Position or Count, Jeni Tennison | Date | Re: [xsl] Infinite Loop when trying, Thomas B. Passin |
| Month |