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 ]> <!DOCTYPE elemento-raíz PUBLIC "identificador-público" "URI" [ declaraciones ]>
``` ```
### Tipo de declaraciones ### Elementos
#### Elementos #### Tipos de declaraciones
```dtd ```dtd
<!ELEMENT nombre-del-elemento tipo-de-contenido> <!ELEMENT nombre-del-elemento tipo-de-contenido>
``` ```
El tipo de contenido permitido dentro de un elemento puede ser: El tipo de contenido permitido dentro de un elemento puede ser:
- Texto (#PCDATA) - Texto - (#PCDATA)
- Otros elementos - Otros elementos
- Elemento vacío (EMPTY) - Elemento vacío - EMPTY
- Combinación de texto y otros elementos (ANY) - Combinación de texto y otros elementos - ANY
```xml ```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?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. 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 https://en.wikipedia.org/wiki/XML_schema#Languages