Según entiendo los indicadores de frecuencia con esta declaración:
<!ELEMENT etiqueta (nombre, direccion, ciudad+, pais, codPostal, dni)>
Habría de ser obligatorio que en etiqueta hubiera de introducir algo ¿No?
Sin embargo, haciendo esto:
<etiqueta>
<nombre>Carlos Sierra Estibaliz</nombre>
<direccion calle="Pajaritos" numero="2"/>
<direccion calle="Pajaritos2" numero="4" piso="2" planta="2" />
<pais>Espanha</pais>
<codPostal>28082</codPostal>
<dni>12345678-Z</dni>
<vacio/>
<![CDATA[ select * from temas where
numUsuarios!=0]]>
Tres&&&
</etiqueta>
El analizador XML no da ningún problema, pasa algo parecido con el indicador de frecuencia ?, pero en este caso si se asignan elementos más de una vez al mismo elemento. Es como si todos los elementos funcionaran con *.
Mi otra duda se refiere a los valores predeterminados, si los atributos de direccion los tengo definidos así:
<!ATTLIST direccion
calle CDATA #REQUIRED
numero CDATA #REQUIRED
piso CDATA #FIXED "1"
planta CDATA "1">
¿Por qué con el mismo código anterior el analizador xml me muestra que piso ha tomado el valor 2? ¿No debería ser imposible variarlo? ¿Y por qué en el que no he asignado planta se queda en blanco y no toma el valor "1" por defecto?
Gracias por adelantado.