OFFICE DE LA FORMATION PROFESSIONNELLE & DE LA PROMOTION DU TRAVAIL INSTITUT SU

OFFICE DE LA FORMATION PROFESSIONNELLE & DE LA PROMOTION DU TRAVAIL INSTITUT SUPERIEUR DES TECHNOLOGIES DE L’INFORMATION ET DE LA COMMUNICATION DE SAFI D E V E L O P P E M E N T D E S A P P L I C AT I O N S W E B C O T E C L I E N T T P 1 2 : X M L _ X S D Exercice 1: Creer des schemas XML pour lesquels les documents XML suivants seront valides: <examen code="coursXML"> <titre>Outils et documents XML</titre> <Type description="QCM"/> <questions> <question> <partie/> </question> <question> <partie/> </question> <question> <partie/> </question> <question> <partie/> </question> <question> <partie/> </question> </questions> </examen> <biblio> <person xmlns:xlink="http://www.w3.or g/1999/xlink"> <name SSN="et-oui" ref="et-oui"> <first_name>Alan</first_name> <last_name>Turing</last_name> </name> <profession>computer scientist</profession> <profession>mathematician</profession > <profession>cryptographer</profession > <friend ref="a_7256"/> </person> <person xmlns:xlink="http://www.w3.or g/1999/xlink"> <name SSN="a_17280313333"> <first_name>Alonzo</first_name> <last_name>Church</last_name> </name> <profession>computer scientist</profession> <profession>logician</profession> <friend ref="et-oui" img="pas de photos"/> </person> <person xmlns:xlink="http://www.w3.or g/1999/xlink"> <name SSN="a_7256"> <first_name>Lucien</first_name> <last_name>21 janvier 1991</last_name> </name> <friend ref="a_7256"/> </person> </biblio> <xs:element name="examen"> <xs:complexType> <xs:sequence> <xs:element name="titre" type="xs:string"/> <xs:element name="type"> <xs:complexType> <xs:element name="biblio"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" ref="person"/> </xs:sequence> </xs:complexType> </xs:element> OFFICE DE LA FORMATION PROFESSIONNELLE & DE LA PROMOTION DU TRAVAIL INSTITUT SUPERIEUR DES TECHNOLOGIES DE L’INFORMATION ET DE LA COMMUNICATION DE SAFI <xs:attribute name="description" type="xs:string"/> </xs:complexType> </xs:element> <xs:element name="questions"> <xs:complexType> <xs:sequence> <xs:element name="question" minOccurs="1" maxOccurs="3"> <xs:complexType> <xs:sequence> <xs:element name="partie" /> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="code" type="xs:string"/> </xs:complexType> </xs:element> <xs:element name="person"> <xs:complexType> <xs:sequence> <xs:element ref="name"/> <xs:element minOccurs="0" maxOccurs="unbounded" ref="profession"/> <xs:element ref="friend"/> </xs:sequence> <xs:attribute name="xmlnsxlink" type="xs:string" use="required"/> </xs:complexType> </xs:element> <xs:element name="name"> <xs:complexType> <xs:sequence> <xs:element ref="first_name"/> <xs:element ref="last_name"/> </xs:sequence> <xs:attribute name="SSN" use="required" type="xs:ID"/> <xs:attribute name="ref" type="xs:string" use="optional"/> </xs:complexType> </xs:element> <xs:element name="first_name" type="xs:string"/> <xs:element name="last_name" type="xs:string"/> <xs:element name="profession" type="xs:string"/> <xs:element name="friend"> <xs:complexType> <xs:attribute name="img" type="xs:string" use="optional"/> <xs:attribute name="ref" type="xs:IDREFS" use="required"/> </xs:complexType> </xs:element> Exercice 2: Rédiger un Schema XML pour une bibliographie. Cette bibliographie :  contient des livres et des articles ;  les informations nécessaires pour un livre (élément livre) sont : o son titre général (élément titre) ; o les noms des auteurs (éléments auteur) ; o ses tomes (élément tomes) et pour chaque tome (éléments tome), leur nombre de pages (élément pages) ; o des informations générales sur son édition (élément infosEdition) comme par exemple le nom de l'éditeur (élément editeur), le lieu d'édition (élément lieuEdition), le lieu d'impression (élément lieuImpression), son numéro ISBN (élément ISBN) ;  les informations nécessaires pour un article (élément article) sont : o son titre (élément titre) ; o les noms des auteurs (éléments auteur) ; o ses références de publication (élément infosPublication) : nom du journal (élément nomJournal), numéro des pages (élément pages), année de publication (élément anneePublication) et numéro du journal (élément numéroJournal)  on réservera aussi un champ optionnel, pour chaque livre et chaque article, pour un avis (élément avis) personnel. Tester ce Schema XML avec un fichier XML que l'on écrira ex-nihilo et validera. 7 Pour lier un document XML à un schema XML local, on procède ainsi : OFFICE DE LA FORMATION PROFESSIONNELLE & DE LA PROMOTION DU TRAVAIL INSTITUT SUPERIEUR DES TECHNOLOGIES DE L’INFORMATION ET DE LA COMMUNICATION DE SAFI <balise_racine xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="mon_schema.xsd"> <xs:element name="bibliographie"> <xs:complexType> <xs:sequence> <xs:element name="livre" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element ref="titre"/> <xs:element ref="auteur" maxOccurs="unbounded"/> <xs:element name="tomes"> <xs:complexType> <xs:sequence> <xs:element name="tome" minOccurs="1" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element ref="pages"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="InfoEdition"> <xs:complexType> <xs:sequence> <xs:element name="editeur" type="xs:string"/> <xs:element name="lieuEdition" type="xs:string"/> <xs:element name="lieuImpression" type="xs:string"/> <xs:element name="ISBN" type="xs:positiveInteger"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element ref="avis" minOccurs="0" maxOccurs="1"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="article"> <xs:complexType> <xs:sequence> <xs:element ref="titre"/> <xs:element ref="auteur"/> <xs:element name="infoPub"> <xs:complexType> <xs:sequence> <xs:element name="nomJ" type="xs:string"/> <xs:element ref="pages"/> <xs:element name="anneePub" type="xs:positiveInteger"/> <xs:element name="numJ" type="xs:positiveInteger"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element ref="avis" minOccurs="0" maxOccurs="1"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="titre" type="xs:string"/> OFFICE DE LA FORMATION PROFESSIONNELLE & DE LA PROMOTION DU TRAVAIL INSTITUT SUPERIEUR DES TECHNOLOGIES DE L’INFORMATION ET DE LA COMMUNICATION DE SAFI <xs:element name="auteur" type="xs:string"/> <xs:element name="avis" type="xs:string"/> <xs:element name="pages" type="xs:positiveInteger"/> Exercice 3: Creer un schema XML pour la DTD suivante: <!ELEMENT scene (figure+)> <!ATTLIST scene unite (mm | cm) #REQUIRED repere (ortho-direct | ortho-inverse) #REQUIRED origine (haut-gauche | bas-gauche) #REQUIRED> <!ELEMENT figure (rectangle | cercle | poly)> <!ATTLIST figure couche CDATA #REQUIRED couleur (blanc | noir | hachure) #REQUIRED> <!ELEMENT cercle (centre, rayon)> <!ELEMENT centre (abscisse, ordonnee)> <!ELEMENT rayon (#PCDATA)> <!ELEMENT poly (sommet+)> <!ATTLIST poly nbsommet CDATA #REQUIRED> <!ELEMENT rectangle (sommet, sommet)> <!ELEMENT sommet (abscisse, ordonnee)> <!ATTLIST sommet num CDATA #IMPLIED> <!ELEMENT abscisse (#PCDATA)> <!ELEMENT ordonnee (#PCDATA)> <!-- fin de la DTD --> <x:element name="scene"> <x:complexType> <x:sequence> <x:element ref="figure" minOccurs="1" maxOccurs="unbounded"/> </x:sequence> <x:attribute name="unite" use="required"> <x:simpleType> <x:restriction base="x:string"> <x:enumeration value="mm"/> <x:enumeration value="cm"/> </x:restriction> </x:simpleType> </x:attribute> <x:attribute name="repere" use="required"> <x:simpleType> <x:restriction base="x:string"> <x:enumeration value="ortho- direct"/> <x:enumeration value="ortho- inverse"/> </x:restriction> </x:simpleType> </x:attribute> <x:attribute name="origine" use="required"> <x:simpleType> <x:restriction base="x:string"> <!ELEMENT graphe (sommet*) > <!ATTLIST graphe nbs CDATA #IMPLIED> <!-- nbs : nombre de sommets du graphe : entier positif ou nul --> <!ELEMENT sommet (arc*) > <!ATTLIST sommet snum ID #REQUIRED setiq CDATA #REQUIRED > <!-- snum : identificateur du sommet setiq : étiquette attachée au sommet : chaîne de caractères --> <!ELEMENT arc (aetiq) > <!ATTLIST arc sbut IDREF #REQUIRED > <!-- sbut : identifiant du sommet but --> <!ELEMENT aetiq (#PCDATA) > <!-- aetiq : étiquette de l'arc : décimal --> OFFICE DE LA FORMATION PROFESSIONNELLE & DE LA PROMOTION DU TRAVAIL INSTITUT SUPERIEUR DES TECHNOLOGIES DE L’INFORMATION ET DE LA COMMUNICATION DE SAFI <x:enumeration value="haut- gauche"/> <x:enumeration value="bas- gauche"/> </x:restriction> </x:simpleType> </x:attribute> </x:complexType> </x:element> <x:element name="figure"> <x:complexType> <x:choice> <x:element ref="rectangle"/> <x:element ref="cercle"/> <x:element ref="poly"/> </x:choice> <x:attribute name="couche" type ="x:string" use="required"/> <x:attribute name="couleur"> <x:simpleType> <x:restriction base="x:string"> <x:enumeration value="blanc"/> <x:enumeration value="noir"/> <x:enumeration value="hachure"/> </x:restriction> </x:simpleType> </x:attribute> </x:complexType> </x:element> <x:element name="rectangle"> <x:complexType> <x:sequence> <x:element ref="sommet" minOccurs="2" maxOccurs="2"/> </x:sequence> </x:complexType> </x:element> <x:element name="cercle"> <x:complexType> <x:sequence> <x:element name="centre"> <x:complexType> <x:sequence> <x:element ref="abscisse"/> <x:element ref="ordonnee"/> </x:sequence> </x:complexType> </x:element> <x:element name="rayon" type ="x:float"/> </x:sequence> </x:complexType> </x:element> <x:element name="poly"> <x:complexType> <x:sequence> <x:element ref="sommet" minOccurs="1" maxOccurs="unbounded"/> </x:sequence> <x:attribute name="nbSommets" OFFICE DE LA FORMATION PROFESSIONNELLE & DE LA PROMOTION DU TRAVAIL INSTITUT SUPERIEUR DES TECHNOLOGIES DE L’INFORMATION ET DE LA COMMUNICATION DE SAFI type="x:positiveInteger"/> </x:complexType> </x:element> <x:element name="abscisse" type ="x:float"/> <x:element name="ordonnee" type ="x:float"/> <x:element name="sommet"> <x:complexType> <x:sequence> <x:element ref="abscisse"/> <x:element ref="ordonnee"/> </x:sequence> <x:attribute name="num" type="x:positiveInteger" use="optional"/> </x:complexType> </x:element> uploads/Litterature/ m10-td12-xml-xsd.pdf

  • 22
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager