Un documento XML se dice "bien formado" cuando cumple una serie de reglas descritas en la especificación oficial de XML v1.0.
Podemos resumirlas en:
- El documento debe tener un solo elemento raíz.
- Todas las etiquetas (tags) abiertas deben tener su respectivas etiquetas de cierre.
- XML distingue mayúsculas de minúsculas por lo que todos los elementos y atributos deben seguir la definición.
- Todos los elementos deben estar correctamente anidados.
- Los valores de los atributos deben ir entre comillas simples o dobles.
- Cualquier elemento Vacío debe terminar con /> o debe hacerlo no vacío añadiendo una etiqueta de cierre.
- No se pueden repetir atributos en un mismo elemento. Por ejemplo, si se quiere representar múltiples autores para un libro, se debe definir el autor como un elemento y no como un atributo. Como norma general, se definirán elementos para los datos que van a ser leídos por las personas y atributos para aquellos que van a ser procesados por las máquinas.
Para probar si un documento XML esta bien formado utilizaremos un analizador sintáctico (parser)
Por ejemplo:
• Internet Explorer
• Aplicación para editar XML (por ejemplo XML Spy, Oxygen, XML Copy Editor, Notepad++, etc.)
• Analizadores en linea (w3c)
Actividades
Actividad: Descargar XML Copy Editor
Descargar XML Copy Editor en este enlace. Guárdalo e instálalo en tu equipo.
Actividad: Documentos XML bien formados
Corrige los errores de los siguientes documentos XML y comprueba que están bien formados utilizando XML Copy Editor, también puedes utilizar el analizador sintáctico de Internet Explorer o el de Notepad++ con el plugin XML Tools.
Cada documento contiene dos errores (dos errores del mismo tipo cuentan como uno sólo).
Si lo necesitas, puedes crear nuevas etiquetas o atributos realcionados con la información contenidada en el documento para corregir algún error.
A) Agenda
<?xml versión="1.0" encoding="ISO-8859-1">
<agenda>
<entrada>
<nombre-completo>Marta Elena Zorrilla
</entrada>
</agenda>
B) Escritora
<?html versión="1.0" encoding="ISO-8859-1"?>
<nombre-completo>Marta Elena Zorrilla
</nombre-completo>>
<direccion>
<calle> Avda Los Castros</calle>
<ciudad>Santander</ciudad>
<codigo-postal>39005</codigo-postal>
<region>Cantabria</region>
<pais>España</pais>
</direccion>
<tel preferente="true"> 942201363</tel>
<correo-e href="Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo."></correo-e>
C) Películas
<?xml version="1.0" encoding="UTF-8"?>
<pelicula>
<titulo>Con faldas y a lo loco</titulo>
<director>Billy Wilder</director>
</pelicula>
<pelicula>
<director>Leo McCarey</director>
<titulo>Sopa de ganso</titulo>
</pelicula>
<autor />barto</autor>
D) Deportistas
<?xml version="1.0" encoding="UTF-8"?>
<deportistas>
<deportista>
<deporte Atletismo />
<nombre>Jesse Owens</nombre>
<deportista>
<deporte Natación />
<nombre>Mark Spitz</nombre>
</deportista>
</deportistas>
E) Texto
<?xml version="1.0" encoding="UTF-8"?>
<texto>
<Titulo>XML explicado a los niños</titulo>
<párrafo>El <abreviatura>XML</abreviatura>define cómo crear
lenguajes de marcas.</párrafo>
<párrafo>Las marcas se añaden a un documento de texto
para añadir información.</párrafo>
<http://>www.example.org</http://>
</texto>
F) Información Geográfica
<?xml version="1.0" encoding="UTF-8"?>
<geografia mundial>
<pais>
<pais>España</pais>
<continente>Europa</continente>
<capital>Madrid</capital>
</pais>
</geografia mundial>
G) Programas
<?xml version="1.0" encoding="UTF-8"?>
<programas>
<programa nombre="Firefox" licencia="GPL" licencia="MPL" />
<programa nombre="OpenOffice.org" licencia=LGPL />
<programa nombre="Inkscape" licencia="GPL" />
</programas>
H) Mundiales de fútbol
<?xml version="1.0" encoding="UTF-8"?>
<mundiales-de-futbol>
<mundial>
<pais="España" />
<1982 />
</mundial>
</mundiales-de-futbol>
I) Medios de transporte
<?xml version="1.0" encoding="UTF-8"?>
<mediosDeTransporte>
<bicicleta velocidad="v<100km/h" />
<patinete velocidad maxima="50 km/h"
</mediosDeTransporte>
|