Está en la página 1de 4

El documento XML representa la lista de eventos que le pueden ocurrir a un coche durante su vida

útil. Hay tres tipos de eventos: revisiones, accidentes y averías. En cada evento, hay una serie de
iezas afectadas (revisadas, dañadas o averiadas), y a cada pieza se le asigna un resultado, que indica
el estado de la pieza en la revisión, tras el accidente o tras la avería.
El elemento raíz del documento XML es coche, y tiene dos atributos obligatorios: marca y
matricula. Dentro de este elemento habrá simplemente una lista de cero o más elementos evento.

El evento tendrá obligatoriamente un atributo fecha, y opcionalmente un atributo kilometros.


Además, cada evento tendrá siempre dos elementos hijos: el primero será descripcion (que
contiene una descripción en texto del evento) y el segundo podrá ser revision, accidente o
averia en función del tipo de evento.

El contenido de cualquiera de los elementos revision, accidente y averia está formado por
parejas de pieza y resultado. El elemento pieza es el nombre de una pieza del coche, y el
resultado correspondiente indica qué le ocurre a esa pieza en el momento de la revisión, accidente
o avería.
Como hemos dicho, los elementos pieza y resultado van por parejas, es decir, cada pieza tendrá
un resultado y cada resultado una pieza. El orden será siempre pieza - resultado - pieza -
resultado - etc.

Se pide:
Añadir una línea <!DOCTYPE al documento XML para referenciar un documento DTD externo que
cumpla con todas las condiciones descritas arriba. Si se realiza todo correctamente, el documento
XML resultante será válido, y será idéntico al original excepto por la línea <!DOCTYPE añadida. No
obstante, hay que tener en cuenta que el hecho de que un documento sea válido no implica que se
cumpla todo lo indicado en esta hoja.
El documento XML representa la lista de mensajes de WhatsApp de un usuario.
El elemento raíz es whatsApp, y contiene cero o más elementos contacto seguidos de cero o más
elementos grupo. En el documento XML, siempre irán primero todos los contactos y al final todos
los grupos. No se permite que aparezca ningún contacto después del primer grupo.
Cada contacto tiene un atributo obligatorio numero, y contiene un elemento nombre y cero o más
elementos mensaje. El nombre es simplemente un texto con el nombre del contacto.
Cada mensaje tiene un atributo obligatorio fechaHora, y contiene un elemento texto (con el texto
del mensaje), opcionalmente seguido de un elemento adjunto (que se entiende que puede ser una
foto, vídeo, etc. adjunto al mensaje). Un mensaje NO puede contener más de un adjunto, y si lo
tiene éste irá siempre después del texto.
Cada adjunto tiene un atributo opcional tipo. El elemento adjunto contiene simplemente un texto
con un nombre de archivo que se supone que se corresponde con la foto, vídeo o documento adjunto
al mensaje.
Cada grupo tendrá (siempre por este orden): un elemento nombre (que es el nombre del grupo), uno
o más elementos administrador (administradores del grupo, es obligatorio que haya al menos uno,
pero pueden ser varios), cero o más elementos participante (usuarios que forman el grupo y no
son administradores, puede no haber ninguno y puede haber varios) y cero o más elementos
mensaje.

El nombre de un grupo es simplemente un texto.


Cada administrador de grupo tendrá un atributo obligatorio numero y contendrá obligatoriamente
uno y sólo un elemento nombre, con el nombre del administrador.
Cada participante en el grupo tendrá un atributo obligatorio numero y contendrá
obligatoriamente uno y sólo un elemento nombre, con el nombre del participante.
Cada mensaje de grupo tendrá exactamente la misma estructura que el mensaje de un contacto, es
decir, un elemento texto obligatorio seguido de un adjunto opcional.

Se pide:
Construir una DTD con las instrucciones indicadas arriba. Si la DTD es correcta, el documento de
ejemplo debería ser válido. Téngase en cuenta que el hecho de que el documento sea válido según la
DTD entregada no significa necesariamente que la DTD siga todas las instrucciones dadas.
El documento XML representa una consulta SELECT en lenguaje SQL.
El elemento raíz es sql, que contendrá las cláusulas select, from, where. Al igual que en SQL,
select y from son obligatorias, mientras que where es opcional.

El elemento select contendrá uno o más campoSelect. Cada campoSelect puede llevar o no un
atributo alias, y siempre contendrá el nombre de una tabla y el de un campo de esa tabla.
El elemento from contendrá una o más tablas. Cada tabla puede llevar o no un atributo alias.
El elemento where (si existe) contendrá una o más condiciones. Cada condicion estará formada
por una comparación entre dos valores (ej. una condición como ID=5 consideraremos que compara
el valor ID con el valor 5, siendo la comparación de igualdad. La comparacion irá en un atributo
(obligatorio), y los dos valores serán el contenido de la condicion.
Un valor puede ser un campo de una tabla (expresado mediante un elemento tabla seguido de un
elemento campo), o bien una constante.
El documento XML representa el contenido de un disco, con toda la estructura de carpetas y
archivos.
El elemento raíz es disco, que contendrá elementos carpeta, archivo y/o accesoDirecto en
cualquier número y cualquier orden. Además, el disco tendrá un atributo obligatorio bytes
indicando la capacidad del disco.
Cada carpeta tendrá un atributo obligatorio nombre (con el nombre de la carpeta), y podrá contener
otras carpetas, archivos y/o accesoDirectos, en cualquier número y orden.
Un accesoDirecto es un enlace a otro archivo o carpeta. El elemento accesoDirecto estará
siempre vacío (no tendrá contenido) y tendrá siempre dos atributos, llamados nombre y destino,
que indican el nombre del acceso directo y la ruta de acceso al archivo al que se refiere el acceso
directo.
Cada archivo tendrá dos atributos obligatorios: nombre (con el nombre del archivo) y bytes (con
el tamaño del archivo en bytes). El contenido del archivo será uno y sólo uno de los cuatro
elementos texto, imagen, video o comprimido.
Un texto no tendrá atributos, y su contenido será texto normal (#PCDATA).
Una imagen tendrá un atributo opcional llamado descripcion, y tres atributos obligatorios: ancho,
alto y formato. El contenido del elemento será siempre vacío.

Un video tendrá un atributo opcional llamado descripcion, y cuatro atributos obligatorios: ancho,
alto , formato y segundos. El contenido del elemento será siempre vacío.

Un archivo comprimido puede contener dentro una estructura completa de carpetas y archivos, así
que el contenido de este elemento podrá haber cualquier número de carpetas, archivos y
accesoDirectos en cualquier orden. El elemento comprimido tendrá un atributo opcional
descripcion y un atributo obligatorio formato.

También podría gustarte