Universidad de Costa Rica
Escuela de Ciencias de la
Computación e Informática
Profesor Adolfo Di Mare
CI-1201
I Semestre 2009
[<=] [home] [<>] [\/] [=>]
CI-1201 Programación II

Tarea #5 [solución]

Transformación de una tabla relacional a un documento XML (sin códigos)

  WORD
+---------+------+------------------+
| ID_WORD | LANG | DESCR            |
+---------+------+------------------+
| 0001111 |  es  | automotor        |
| 0001234 |  en  | number doors     |
| 0001234 |  es  | cantidad puertas |
| 1110111 |  es  | color            |
| 1110123 |  es  | azul             |
| 2220000 |  en  | brand            |
| 2220000 |  es  | marca            |
| 2220011 |  en  | phone            |
| 2220021 |  es  | mecánico         |
+---------+------+------------------+
  WORD (continuación)
+---------+------+------------------+
| ID_WORD | LANG | DESCR            |
+---------+------+------------------+
| 2220022 |  es  | revisión         |
| 2220023 |  es  | dueño            |
| 2220024 |  es  | aceite           |
| 5000001 |  es  | alógeno          |
| 5000002 |  es  | nombre           |
| 5000003 |  es  | fecha            |
| 5000004 |  es  | monto            |
| 5000005 |  es  | dirección        |
| 6660011 |  es  | foto             |
+---------+------+------------------+
  ERAV_STRING
+-----------+------+--------------------------------+
| ID_STRING | LANG | DESCR                          |
+-----------+------+--------------------------------+
|  7700001  |  **  | hyundai                        |
|  7700002  |  **  | toyota                         |
|  7700021  |  **  | Juan Piña                      |
|  7700022  |  es  | 200 Sur del Palo de Guayaba    |
|  7700022  |  en  | 200 South of the Guayaba tree  |
|  7700024  |  **  | Pedro Mecánico                 |
|  7700025  |  es  | 3 kms al este del Guayabero    |
|  7700025  |  en  | 2 miles east from Guayabero    |
+-----------+------+--------------------------------+
Figura 1

      Modifique su implementación de la tarea anterior para que en el documento XML aparezcan los nombres de atributos y las hileras de valores tomados de la tabla "WORD" que se muestra en la Figura 1, de manera que ya no aparezcan todos esos códigos numéricos. Es necesario definir el lenguaje que se usará para obtener las hileras que decodifica, que en este ejemplo es "es" para el español y "en" para el inglés.

<entity ID_ENT="2220222">
    <record ATTRIB="automotor">
        <attrib REL_TYPE="s" ATTRIB="marca" VAL="hyundai" />

        <record ATTRIB="dueño">
            <attrib REL_TYPE="s" ATTRIB="nombre" VAL="Pedro Mecánico" />
            <attrib REL_TYPE="i" ATTRIB="phone" VAL="77538888" />
            <attrib REL_TYPE="s" ATTRIB="dirección" VAL="3 kms al este del Guayabero" />
        </record>

        <record REL_TYPE="e" ATTRIB="aceite">
            <attrib ATTRIB="fecha" VAL="20051302" />
        </record>

    </record>
</entity>
Figura 2

      En algunas ocasiones ocurrirá que no existe la hilera para un lenguaje. Por ejemplo, se ha usado el vocablo "phone" porque en la tabla "WORD" no aparece "teléfono" como hilera correspondiente al código "2220011". Para aquellas códigos cuya hilera es la misma en cualquier lenguaje, como es el caso de "Pedro Mecánico", la hilera de lenguaje que se usa es "**".

      Entregue su tarea por correo electrónico, como lo hizo anteriormente.

[mailto:] Entrega de Tareas

Tiempo de entrega: 1 semana
Modalidad: En parejas

Soluciones

[mailto:] Adolfo Di Mare <adolfo@di-mare.com>.
Copyright © 2009
Derechos de autor reservados © 2009
[home] <> [/\]