Añadida teoria de atributos

This commit is contained in:
Salatiel Genol 2022-11-14 21:14:16 +01:00
parent 7af05484d1
commit 4809ecac27
1 changed files with 62 additions and 5 deletions

67
dtd.md
View File

@ -70,19 +70,19 @@ Se suele usar el método externo cuando se utiliza para validar más de un docum
<!DOCTYPE elemento-raíz PUBLIC "identificador-público" "URI" [ declaraciones ]>
```
### Tipo de declaraciones
### Elementos
#### Elementos
#### Tipos de declaraciones
```dtd
<!ELEMENT nombre-del-elemento tipo-de-contenido>
```
El tipo de contenido permitido dentro de un elemento puede ser:
- Texto (#PCDATA)
- Texto - (#PCDATA)
- Otros elementos
- Elemento vacío (EMPTY)
- Combinación de texto y otros elementos (ANY)
- Elemento vacío - EMPTY
- Combinación de texto y otros elementos - ANY
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
@ -115,6 +115,63 @@ El tipo de contenido permitido dentro de un elemento puede ser:
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
<!-- codigo o id, pudiendo repetirse -->
<!ELEMENT articulos (codigo | id)*>
<!-- codigo o id -->
<!ELEMENT articulo ((codigo | id), nombre)>
<!-- pais y ciudad o codigo_postal -->
<!ELEMENT localidad ((pais, ciudad) | codigo_postal)>
<!-- #PCDATA (texto sin etiquetas), o codigo, o id -->
<!ELEMENT articulos (#PCDATA | codigo | id)*>
```
Si una de las opciones es #PCDATA, esta debe escribirse en primer lugar.
### Atributos
#### Tipos de declaraciones
```dtd
<!ATTLIST nombre-del-elemento nombre-del-atributo tipo-de-atributo valor-del-atributo>
```
El tipo de atributo puede ser:
- Valor por defecto - "valor"
- Atributo obligatorio - #REQUIRED
- Atributo opcional - #IMPLIED
- Atributo fijo - #FIXED "valor"
```dtd
<!-- Valor por defecto -->
<!ATTLIST f1 pais CDATA "España">
<!-- Valor obligatorio -->
<!ATTLIST f1 pais CDATA #REQUIRED>
<!-- Valor opcional -->
<!ATTLIST f1 pais CDATA #IMPLIED>
<!-- Valor fijo -->
<!ATTLIST f1 pais CDATA #FIXED "España">
```
#### 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 |
https://en.wikipedia.org/wiki/XML_schema#Languages