You are on page 1of 9

Exercice4 (XSD)

4.1,4.2et4.3:
<xs:schemaxmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"attributeFormDefault="unqualified">
<xs:elementname="bibliographie">
<xs:complexType>
<xs:sequence>
<xs:elementref="livres"/>
<xs:elementref="articles"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:elementname="livres">
<xs:complexType>
<xs:sequence>
<xs:elementref="livre"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:elementname="livre">
<xs:complexType>
<xs:sequence>
<xs:elementref="titre"/>
<xs:elementref="auteur"/>
<xs:elementref="tomes"/>
<xs:elementref="infoedition"/>
<xs:elementref="avis"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:elementname="auteurr">
<xs:complexType>
<xs:sequence>
<xs:elementref="nom"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:elementname="tomes">
<xs:complexType>
<xs:sequence>
<xs:elementref="tome"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:elementname="tome">
<xs:complexType>
<xs:sequence>
<xs:elementref="pages"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:elementname="infoedition">
<xs:complexType>
<xs:sequence>
<xs:elementref="editeur"/>
<xs:elementref="lieuedition"/>
<xs:elementref="lieuimpression"/>
<xs:elementref="isbn"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:elementname="articles">
<xs:complexType>
<xs:sequence>
<xs:elementref="article"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:elementname="article">
<xs:complexType>
<xs:sequence>
<xs:elementref="titre"/>
<xs:elementref="auteur"/>
<xs:elementref="infpublication"/>
<xs:elementref="avis"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:elementname="auteur">
<xs:complexType>
<xs:sequence>
<xs:elementref="noaut"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:elementname="infpublication">
<xs:complexType>
<xs:sequence>
<xs:elementref="nomjournal"/>
<xs:elementref="pages"/>
<xs:elementref="anneepublication"/>
<xs:elementref="numerojournale"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="titre" type="xs:string"/>
<xs:element name="nom" type="xs:string"/>
<xs:elementname="editeur" type="xs:string"/>
<xs:elementname="lieuedition"type="xs:string"/>
<xs:element name="pages" type="xs:string"/>
<xs:elementname="lieuimpression"type="xs:string"/>
<xs:elementname="isbn" type="xs:integer"/>
<xs:elementname="numerojournale"type="xs:string"/>
<xs:elementname="nomjournal"type="xs:integer"/>
<xs:elementname="anneepublication"type="xs:string"/>
<xs:elementname="noaut" type="xs:string"/>
<xs:elementname="avis" type="xs:string"/>
</xs:schema>
DéfinitiondumotXSD,AbréviationpourXMLSchemaDefinition.Ils'agitd'uneextension du nom
d'unfichierqui comporteunedéfinitionXMLSchema.
4.4et4.5:
<?xmlversion="1.0"encoding="ISO-8859-1"?>
<xsd:schemaxmlns:xsd='http://www.w3.org/2001/XMLSchema'>
<!--Déclarations detypessimples-->
<xsd:simpleType name="typeISBN">
<xsd:restrictionbase="xsd:string">
<xsd:patternvalue="[0-9]{10}"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleTypename="typePages">
<xsd:restrictionbase="xsd:string">
<xsd:patternvalue="[0-9]+[à][0-9]+"/>
</xsd: xsd:restriction>
</xsd:simpleType>
<!--Déclarations des élémentsdetypesimple-->
<xsd:elementname="auteur"type="xsd:string"/>
<xsd:elementname="pages"type="xsd:positiveInteger"/>
<xsd:elementname="editeur"type="xsd:string"/>
<xsd:elementname="lieuEdition"type="xsd:string"/>
<xsd:elementname="lieuImpression"type="xsd:string"/>
<xsd:elementname="ISBN"type="typeISBN"/>
<xsd:elementname="anneePublication"type="xsd:gYear"/>
<xsd:elementname="numéroJournal"type="xsd:positiveInteger"/>
<xsd:elementname="avis"type="xsd:string"/>
<!--Déclarations desélémentsdetypecomplexe-->
<xsd:elementname="titre">
<xsd:complexType>
<xsd:attributename="sousTitre"type="xsd:string"use="optional"/>
</xsd:complexType>
</xsd:element>
<xsd:elementname="infosEdition">
<xsd:complexType>
<xsd:sequence>
<xsd:elementref="editeur"/>
<xsd:elementref="lieuEdition"/>
<xsd:elementref="lieuImpression"/>
<xsd:elementref="ISBN"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:elementname="tome">
<xsd:complexType>
<xsd:attributename="nbPages"type="xsd:string"use="required"/>
<xsd:attributename="sousTitre"type="xsd:string"use="optional"/>
</xsd:complexType>
</xsd:element>
<xsd:elementname="tomes">
<xsd:complexType>
<xsd:sequence>
<xsd:elementref="tome"minOccurs="1"maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:elementname="livre">
<xsd:complexType>
<xsd:sequence>
<xsd:elementref="titre"/>
<xsd:sequenceid="auteur"maxOccurs="unbounded"/>
<xsd:elementref="tomes"/>
<xsd:elementref="infosEdition"/>
<xsd:elementref="avis"minOccurs="0"maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:elementname="infosPublication">
<xsd:complexType>
<xsd:sequence>
<xsd:elementref="pages"/>
<xsd:elementref="anneePublication"/>
<xsd:elementref="numéroJournal"/>
</xsd:sequence>
<xsd:attributename="nomJournal"type="xsd:string"
use="optional"default="FeuilledeChou"/>
</xsd:complexType>
</xsd:element>
<xsd:elementname="article">
<xsd:complexType>
<xsd:sequence>
<xsd:elementref="titre"/>
<xsd:element ref="auteur"minOccurs="1"
maxOccurs="unbounded"/>
<xsd:elementref="infosPublication"/>
<xsd:elementref="avis" minOccurs="0"
maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:elementname="biblio">
<xsd:complexType>
<xsd:choiceminOccurs="0"maxOccurs="unbounded">
<xsd:elementref="livre"/>
<xsd:elementref="article"/>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>

You might also like