0% found this document useful (0 votes)
110 views6 pages

Developpement Des Applications Web Cote Client: Tp12: XML - XSD

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
110 views6 pages

Developpement Des Applications Web Cote Client: Tp12: XML - XSD

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

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
WEB COTE CLIENT
TP12 : XML_XSD
Exercice 1:
Creer des schemas XML pour lesquels les documents XML suivants seront valides:
<examen code="coursXML"> <biblio>
<titre>Outils et documents <person xmlns:xlink="http://www.w3.or
XML</titre> g/1999/xlink">
<Type description="QCM"/> <name SSN="et-oui" ref="et-oui">
<questions> <first_name>Alan</first_name>
<question> <last_name>Turing</last_name>
<partie/> </name>
</question> <profession>computer
<question> scientist</profession>
<partie/> <profession>mathematician</profession
</question> >
<question> <profession>cryptographer</profession
<partie/> >
</question> <friend ref="a_7256"/>
<question> </person>
<partie/> <person xmlns:xlink="http://www.w3.or
</question> g/1999/xlink">
<question> <name SSN="a_17280313333">
<partie/> <first_name>Alonzo</first_name>
</question> <last_name>Church</last_name>
</questions> </name>
</examen> <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:element name="biblio">


<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element name="titre" <xs:element maxOccurs="unbounded" ref="person"/>
type="xs:string"/> </xs:sequence>
<xs:element name="type"> </xs:complexType>
<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 <xs:element name="person">


name="description" type="xs:string"/> <xs:complexType>
</xs:complexType> <xs:sequence>
</xs:element> <xs:element ref="name"/>
<xs:element name="questions"> <xs:element minOccurs="0" maxOccurs="unbounded"
<xs:complexType> ref="profession"/>
<xs:sequence> <xs:element ref="friend"/>
<xs:element name="question" </xs:sequence>
minOccurs="1" maxOccurs="3"> <xs:attribute name="xmlnsxlink" type="xs:string"
<xs:complexType> use="required"/>
<xs:sequence> </xs:complexType>
<xs:element </xs:element>
name="partie" /> <xs:element name="name">
</xs:sequence> <xs:complexType>
</xs:complexType> <xs:sequence>
</xs:element> <xs:element ref="first_name"/>
</xs:sequence> <xs:element ref="last_name"/>
</xs:complexType> </xs:sequence>
</xs:element> <xs:attribute name="SSN" use="required"
</xs:sequence> type="xs:ID"/>
<xs:attribute name="code" <xs:attribute name="ref" type="xs:string"
type="xs:string"/> use="optional"/>
</xs:complexType> </xs:complexType>
</xs:element> </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+)> <!ELEMENT graphe (sommet*) >
<!ATTLIST scene unite (mm | cm) <!ATTLIST graphe nbs CDATA #IMPLIED>
#REQUIRED <!-- nbs : nombre de sommets du
repere (ortho-direct | graphe : entier positif ou nul -->
ortho-inverse) #REQUIRED <!ELEMENT sommet (arc*) >
origine (haut-gauche | <!ATTLIST sommet snum ID #REQUIRED
bas-gauche) #REQUIRED> setiq CDATA #REQUIRED >
<!ELEMENT figure (rectangle | cercle | <!-- snum : identificateur du sommet
poly)> setiq : étiquette attachée au
<!ATTLIST figure couche CDATA #REQUIRED sommet : chaîne de caractères -->
couleur (blanc | noir <!ELEMENT arc (aetiq) >
| hachure) #REQUIRED> <!ATTLIST arc sbut IDREF #REQUIRED >
<!ELEMENT cercle (centre, rayon)> <!-- sbut : identifiant du sommet but
<!ELEMENT centre (abscisse, ordonnee)> -->
<!ELEMENT rayon (#PCDATA)> <!ELEMENT aetiq (#PCDATA) >
<!ELEMENT poly (sommet+)> <!-- aetiq : étiquette de l'arc :
<!ATTLIST poly nbsommet CDATA décimal -->
#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">
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>

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy