Objectif:
Les schémas permettent de décrire les modèles de données de façon plus précise.
Transposez
la DTD Livres.dtd en un schéma XSD avec les
caractéristiques suivantes :
•Une année est une chaîne de 4 caractères
compris dans l'espace 0...9
•Un livre contient exactement un titre, un
prix, une année et au moins un auteur. De plus, on
associe à des éléments de ce type
l'attribut "edition" qui précise si il s'agit d'un paperback
ou d'une édition reliée.
•Un prix est un type complexe, on lui
associe deux attributs: "valeur" et "monnaie"
("monnaie" a
un type qui dérive de
"string", son champs de valeur se limite aux chaînes "USD"
et "EUR")
Livres.dtd
<!ELEMENT livres (livre*)>
<!ELEMENT livre (titre, auteur+, année,
prix)>
<!ATTLIST livre edition CDATA
#REQUIRED>
<!ELEMENT titre (#PCDATA)>
<!ELEMENT auteur (prenom, nom,
laboratoire?, pays)>
<!ELEMENT nom (#PCDATA)>
<!ELEMENT prenom (#PCDATA)>
<!ELEMENT année (#PCDATA)>
<!ELEMENT laboratoire (#PCDATA)>
<!ELEMENT prix EMPTY>
<!ATTLIST prix
monnaie
CDATA #REQUIRED
valeur
CDATA #REQUIRED>
<!ELEMENT pays (#PCDATA)>
Solution :