Está en la página 1de 16

Repaso DTD’s

9 de febrero de 2021
Realizar Práctica. Clínica
DTD: declaración
Ejemplo 1. Lista de Ventas
• Toda lista de ventas está formada por ventas
• Toda venta tiene los siguientes datos
• Importe
• Comprador
• Vendedor
• Fecha (optativa)
• Un código de factura

CONSEJO: Como en ejercicios UML, buscar y subrayar todos los sustantivos del
enunciado- serán elementos y atributos
Ejemplo 1- Resuelto
Ejercicio DTD 2.
Ejercicio DTD 2.
Ejercicio DTD 2
Ejercicio DTD 3.
• El fichero debe llevar una raíz <productos>
Dentro debe haber uno o más elementos <producto>
Dentro de productos debe haber alguno de estos <producto>, <ratón>,
<teclado> o <monitor>
Todo ratón, teclado o monitor tiene siempre un código
Todo ratón, teclado o monitor puede llevar un nombre.
Todo teclado, ratón o monitor puede llevar una descripción.

AYUDA. Le dices que el atributo es optativo con IMPLIED


OBLIGATORIO REQUIRED
Ejercicio DTD 3
DTD Ejercicio 3
Tipo de Datos- Elementos
• Los elementos pueden indicar si están compuestos por hijos o no. Si
son vacíos (EMPTY) o bien tienen información. Para reflejar que
tienen info tenemos tres opciones.
• PCDATA texto
• CDATA texto no reconocido por analizador XML
• ANY cualquier cosa compleja, como nombre, apellidos…

• El más habitual es PCDATA, si lo declaramos CDATA no sería reconocido por


analizador de XML, por tanto no aparecerían coloreadas las etiquetas, ni
formaría parte de estructura jerárquica
Tipo de Datos- Atributos
• CDATA. Es texto. Cualquier caracter
• ID Es un identificador que permite identificar al elemento de manera única en todo un
documento XML
• IDREF. Es un identificador del propio documento XML
• IDREFS Es una lista de identificadores de otros elementos (tipo1|tipo2|tipo3|…): el valor
es uno de los indicados en la lista enumerada
• NMTOKEN, no es un texto cualquiera solamente nombres válidos XML, letras, dígitos,
guión, subrayado …
• NMTOKENS Lista de nombres XML válidos
• ENTITY El tipo de atributo es una entidad declarada anteriormente
• ENTITIES. Lista de entidades.
• LOS MÁS HABITUALES SON CDATA, ENTITY Y TAMBIÉN ID
Ocurrencias

• Ejemplo BD SMS
<!ELEMENT BDsms (sms*)>
<!ELEMENT sms (teléfono, fecha, hora, mensaje, mensaje2)>
<!ELEMENT telefono (#PCDATA)
<!ELEMENT fecha (#PCDATA)
<!ELEMENT hora (#PCDATA)
<!ELEMENT mensaje (#PCDATA)
Ocurrencias
• ‘’: indica que aparece obligatoriamente una vez. Es el caso inicial en
cuanto se declara un hijo al elemento sms
• ‘+’: indica que puede haber una o más ocurrencias en el elemento
indicado <!ELEMENT sms (teléfono, fecha, hora, mensaje+)>
• ‘*’: indica que puede haber cero o más ocurrencias del elemento
indicado. <!ELEMENT sms (teléfono, fecha, hora, mensaje*)>
• ‘?’: indica que puede haber cero o una ocurrencia del elemento
indicado. <!ELEMENT sms (teléfono, fecha, hora, mensaje?)>
Opcionalidad de aparición de hijos
<!ELEMENT BDsms (sms*)>
<!ELEMENT sms (teléfono, fecha, (hora|mensaje)>
<!ELEMENT telefono (#PCDATA)
<!ELEMENT fecha (#PCDATA)
<!ELEMENT hora (#PCDATA)
<!ELEMENT mensaje (#PCDATA)

• O bien aparece hora o bien mensaje

También podría gustarte