## Documentación DTD ### Definición Es una definición de estructura y sintaxis para los documentos XML o SGML. Se puede incluir dentro del mismo documento XML, ser un archivo separado, o una mezcla de ambas. ### Tipo de documento DTD (y su declaración dentro del XML) #### XML con DTD interno ```xml ]> Abrirllave Tutoriales de informática. http://www.abrirllave.com/ ``` #### XML con DTD externo (Privado) ```xml Abrirllave Tutoriales de informática. http://www.abrirllave.com/ ``` ```dtd ``` #### XML con DTD externo (Público) ```xml Título

Párrafo

``` Se suele usar el método externo cuando se utiliza para validar más de un documento. #### XML con DTD combinado (interno y externo) ```xml --- ``` ### Elementos #### Tipos de declaraciones ```dtd ``` El tipo de contenido permitido dentro de un elemento puede ser: - Texto - (#PCDATA) - Otros elementos - Elemento vacío - EMPTY - Combinación de texto y otros elementos - ANY ```xml Carl Rúa Veintisiete, 36246 Vigo ``` ```dtd ``` #### Cardinalidad de los elementos | Operador | Cardinalidad | | -------- | ---------------------- | | ? | 0-1 (min:0,max:1) | | * | 0-n (min:0,max:muchos) | | + | 1-n (min:1,max:muchos) | Los elementos declarados en una DTD sobre los que no actúe ningún operador de cardinalidad, tendrán que aparecer obligatoriamente una única vez. #### Operador de elección de elementos Para declarar elementos que contengan elementos opcionales se utiliza el operador | ```dtd ``` Si una de las opciones es #PCDATA, esta debe escribirse en primer lugar. ### Atributos #### Tipos de declaraciones ```dtd ``` El tipo de atributo puede ser: - Valor por defecto - "valor" - Atributo obligatorio - #REQUIRED - Atributo opcional - #IMPLIED - Atributo fijo - #FIXED "valor" ```dtd ``` #### Tipos de atributos | Tipo | Descripcion | | -------------- | ------------------------------------------- | | CDATA | Texto | | (val1 \| val2) | Elección de una lista | | ID | Id único | | IDREF | Id con referencia a otro atributo id | | IDREFS | Lista de ids existentes | | NMTOKEN | Cadena de caracteres** | | NMTOKENS | Uno o varios NMTOKEN separados por espacios | | NOTATION | El nombre de una notacion | | ENTITY | El nombre de una entidad | | ENTITIES | El nombre de varias entidades | | xml:lang | Indica el idioma del contenido | | xml:space | Espacios, tabs e intros se mantienen | ### Entidades Las entidades permiten definir constantes para que se pueda hacer referencia a ellas tanto desde el propio documento dtd (parametricas) como desde el xml (generales), pero se deben declarar en el mismo documento donde se vayan a utilizar. ```dtd ``` ### Notaciones ### Secciones condicionales Las secciones condicionales sirven para definir grupos de elementos que se deban de incluir o ignorar dentro del documento xml https://en.wikipedia.org/wiki/XML_schema#Languages