Selecciona el Idioma

domingo, 9 de junio de 2013

DTD (XML/XSL)

DTD (Document Type Difinition) Define que elementos son acceptados y en que posiciones han de estar dentro de un document XML. Este DTD estará en referencia dentro de un documento XML y deberá definir : - Léxico - Reglas sintácticas

Veamos un ejemplo (sin almohadilla inicial en Element, para ejecutar código dentro del XML)(ni almohadilla en Doctype):


<#!DOCTYPE colegio 

[<#!ELEMENT colegio (alumno*)>
<#!ELEMENT alumno (nombre, apellido, edad)>
<#!ELEMENT nombre (#PCDATA)>
<#!ELEMENT apellido (#PCDATA)>
<#!ELEMENT edad (#PCDATA)>
]>

Este DTD correspondería a un XML como el siguiente para ser correcto ( clic botón derecho y selecciona inspeccionar elemento para ver código):




 
Juan
Requena
19
 
 
Eloy
Gutierrez
22
 
 
Oscar
Ortiz
20
 
 
Anna
Domenech
18
 

Si deseamos indicar que està vacío, hemos de usar la categoría EMPTY (sin almohadillas): <#!ELEMENT home EMPTY> // Exemple:

Si deseamos indicar que puede tener cualquier conjunto de carácteres, pero ningun otro elemento (sin almohadilla en Element) usaremos #PCDATA: <#!ELEMENT nombre (#PCDATA)>

También podemos declarar un elemento que continga otro elemento . Per ejemplo: un elemento que puede tener un elemento o un elemenot :

<#!ATTLIST persona (hombre|mujer)'hombre'>

Podemos declarar, un elemento que ha de tener almenos un elemento :

<#!ELEMENT colegio (alumno+)>

Si utilizo *, estoy declarando que puede estar vacío o contener más elementos. Puedo decir que puede estar vacío o contener elementos :

<#!ELEMENT colegio (alumno*)>

ATTLIST:

Por ejemplo, si tenemos el siguiente elemento: podríamos tener la siguiente definición en el DTD (sin almohadilla):

<#!ATTLIST sexe tipus (home | dona) home>

No hay comentarios:

Publicar un comentario