PR0374 — Validació de Documents XML
Objectius
- Crear definicions DTD internes i externes
- Crear esquemes XSD amb tipus simples i complexos
- Associar DTD i XSD als documents XML
- Validar documents amb eines externes
Lliurament
Format: Carpeta comprimida .zip amb nom PR0374_nom_cognom.zip
Termini: Consulteu la programació d'aula
Eina de validació recomanada: VS Code amb extensió XML (Red Hat) o XMLSpy
Exercici 1 — DTD per a un catàleg de productes
Crea el fitxer cataleg.xml amb almenys 3 productes, on cada producte tingui:
- Atribut
id(ID obligatori) - Atribut
categoria(enumeració:electronica,roba,alimentacio) - Atribut
disponible(boolean:true/false, per defectetrue) - Element
nom(text, obligatori) - Element
preu(text, obligatori) - Element
descripcio(text, opcional) - Element
tagsamb zero o més elementstag
Crea el fitxer extern cataleg.dtd i associa'l al document. Valida el document amb l'eina escollida.
Captura: Inclou un screenshot de la validació exitosa.
Exercici 2 — XSD per a un sistema de reserves
Dissenya un sistema de reserves d'hotel. Crea reserves.xml i reserves.xsd on una reserva tingui:
id(atribut, format: RES-000 fins RES-999 — usa pattern XSD)dataEntradaidataSortida(tipusxs:date)client(element complex amb:nom,cognom,email,telefonopcional)habitacio(element complex amb atributs:numero(integer),tipus(enumeració:individual,doble,suite))preu(decimal, ha de ser positiu:xs:minExclusive value="0")observacions(text opcional, màx 500 caràcters)
Inclou almenys 2 reserves vàlides. Afegeix un tercer document reserves_invalid.xml amb un error deliberat (p. ex., data en format incorrecte) i captura l'error de validació.
Exercici 3 — Migració DTD → XSD
Pren el DTD de la biblioteca del RA4 (biblioteca.dtd) i crea el seu equivalent biblioteca.xsd. Millora la validació original:
any: integer amb rang 1000-2026isbn: string amb patternISBN-[0-9]{3}-[0-9]{2}-[0-9]{5}-[0-9]{2}-[0-9]{1}idioma: enumeració (ca, es, en, fr, de, it)preu: decimal ≥ 0 (novetat respecte al DTD)genere: text (2-50 caràcters)
Valida el biblioteca.xml original contra el nou XSD i documenta les diferències de validació entre DTD i XSD en un fitxer diferencies.md.
Criteris d'avaluació
| Criteri | Pes |
|---|---|
| DTD correcte i ben associat | 30% |
| XSD amb tipus i restriccions correctes | 40% |
| Migració DTD → XSD amb millores | 20% |
| Captures de validació (èxit i error) | 10% |