| Creación de una DTD que valida documentos XML |
| Paso 2: Operativa |
Nota: La síntesis de las palabras clave y la sintaxis de las DTDs la podemos encontrar en Apéndice - Palabras clave y sintaxis de las DTDs
Añadir un atributo obligatorio
Ampliamos el documento coches.xml añadiendo un nuevo subelemento precio que contiene el atributo moneda
- el atributo moneda
- contiene los siguientes tipos
- dolares_americanos euros libras_esterlinas
- tiene que ser obligatorio
- es decir cuando se añade el elemento precio éste siempre tiene que contener el atributo moneda
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE coches SYSTEM 'coches.dtd'>
<coches>
<coche>
<marca>Renault</marca>
<modelo categoria="monovolumen">Avantime</modelo>
<motor tipo="gasolina">
<cilindrada unidad="cc">3000</cilindrada>
</motor>
<precio moneda="euros">36060</precio>
</coche>
<coche>
<marca>Skoda</marca>
<modelo categoria="berlina">Fabia</modelo>
<motor>
<cilindrada>2000</cilindrada>
</motor>
<precio moneda="euros">15025</precio>
</coche>
</coches> |
Ahora vamos a ampliar el documento coches.dtd
Este es el código ampliado del documento coches.dtd
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT coches (coche+)>
<!ELEMENT coche (marca, modelo, motor, precio)>
<!ELEMENT marca (#PCDATA)>
<!ELEMENT modelo (#PCDATA)>
<!ATTLIST modelo categoria (monovolumen | berlina | deportivo | lujo | otro) #REQUIRED>
<!ELEMENT motor (cilindrada)>
<!ATTLIST motor tipo (gasolina | diesel) "gasolina">
<!ELEMENT cilindrada (#PCDATA)>
<!ATTLIST cilindrada unidad CDATA #FIXED "cc">
<!ELEMENT precio (#PCDATA)>
<!ATTLIST precio moneda (dolares_americanos | euros | libras_esterlinas) #REQUIRED>
|