| 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 que contiene un valor por defecto y otro atributo que contiene un valor fijo
Ampliamos el documento coches.xml añadiento un nuevo subelemento motor que contiene el atributo tipo, y otro subelemento cilindrada que contine el atributo unidad.
- el atributo tipo
- contiene los siguientes tipos
- si queremos que el tipo sea gasolina, lo podemos realizar de las siguientes dos formas
- en el caso del modelo Avantime el atributo tipo y su valor lo escribimos de forma explícita
- en el caso del modelo Fabia el atributo tipo no lo escribimos
- en este caso el parser cuando lea el documento coches.xml y quiera saber que tipo de combustible utiliza el modelo Fabia leerá el documento coches.dtd y verá que este modelo de coche utiliza gasolina por defecto
- el atributo unidad
- sólo contiene cc como unidad
- para indicar que siempre la unidad será cc, lo podemos realizar de las siguientes dos formas
- en el caso del modelo Avantime el atributo unidad y su valor lo escribimos de forma explícita
- en el caso del modelo Fabia el atributo unidad no lo escribimos
- en este caso el parser cuando lea el documento coches.xml y quiera saber en que unidad se expresa la cilindrada del modelo Fabia leerá el documento coches.dtd y verá que este modelo de coche utiliza la unidad cc de forma fija
<?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>
</coche>
<coche>
<marca>Skoda</marca>
<modelo categoria="berlina">Fabia</modelo>
<motor>
<cilindrada>2000</cilindrada>
</motor>
</coche>
</coches> |
Ahora vamos a ampliar el documento coches.dtd
Compara tu código con la solución propuesta