Esto no trae problemas si trabajamos solos; pero, ¿y si trabajamos en equipo?, ¿y si queremos exportar nuestros documentos? ¿qué estándar seguiremos?
Ej:
"A" puede escribir el nombre como sigue:
<nombre>Juan</nombre>
Sin embargo, "B" puede hacerlo así:
<nombre id="Juan"/>
Las 2 versiones son igual de correctas pero son diferentes; si extrapolamos esto a muchas marcas, entonces la lectura y/o modificación de documentos por diferentes personas puede ser un caos.
Para resolver estos problemas, proporcionando un pequeño estandar acerca de la sintaxis a utilizar, XML ofrece dos posibles soluciones:
| SÍMBOLO | SIGNIFICADO (Indica...) |
| , | Secuencia de elementos |
| ? | 0 o 1 ocurrencias |
| * | 0 o más ocurrencias |
| + | 1 o más ocurrencias |
| Empty | que el elemento está vacío. Estos elementos NO tienen etiqueta de cierre. |
| Any | Cualquier contenido es válido.
Yo no recomiendo su uso. |
| #PCDATA | que el contenido de la cadena puede ser una cadena de texto. |
EJ:
<!ELEMENT cliente (nombre,apellidos,nif?,tlf*,direccion+)>
<!ELEMENT nombre (#PCDATA)>
<!ELEMENT apellidos(ape1,ape2?)>
.....
Además de esto, tambien podemos indicar que existen varias alternativas; para ello se usa el símbolo | (relación OR). Ej:
<!ELEMENT apellidos (#PCDATA|(ape1,ape2))>>
<!ELEMENT ape1 (#PCDATA)>
<!ELEMENT ape2 (#PCDATA)>
indica q se puede elejir entre teclear los 2 apellidos juntos o por separado:
| VALOR | SIGNIFICADO |
| CDATA | El atributo será una cadena de caracteres.
No todos los caracteres son válidos. Usaremos secciones PCDATA cuando queramos incluir los carácteres no válidos. |
| ID | El atributo sirve para identificar al elemento dentro del documento.
Sólo puede haber un atributo de tipo ID por elemento. |
| IDREF/S | Este atributo se empleará para referenciar a otros elementos del documento a partir de su ID. |
| ENTITY/S | Contiene nombres de entidades. Ver siguiente apdo. |
| NMTOKEN/S | Contiene una única cadena de texto (ed, una sola palabra). |
| (<<enumerados>>) | Aquí especificamos EL conjunto de valores q puede tomar el atributo; esto lo hacemos separandolos con |. |
Valores por defecto
| VALOR | SIGNIFICADO |
| #REQUIRED | Con esto indicamos que es obligatorio darle un valor al atributo. |
| #IMPLIED | Con esto indicamos que es opcional darle un valor al atributo. |
| <<valor>> | Podemos poner un valor (NO lista de valores) opcional directamente; entonces, si no se le otorga un nuevo valor posteriormente, asumirá el dado (ed, es el valor x por defecto).
No es obligatorio darle un valor en el doc. |
| #FIXED <<valor>>> | Con esto obligamos a q el atributo tome necesariamente el valor especificado en <<valor>> |
| Faltas ortográficas Por: Guillem | 17/4/2010
|
| credibilidad Por: juanjo | 22/7/2010
|
| ¡La gramática del artículo es inadmisible! Por: Alexis Advance | 09/12/2010
|
![]() Manu45 | Prentice Hall | 28/12/2010 |
| ¿Qué esperáis? Por: Javi | 30/12/2010
|
| Faltas de ortografía Por: juandecon | 17/1/2011
|