Correction TD
Exercice 1 :
DTD:
<!DOCTYPE teams [
<!ELEMENT teams (team+)>
<!ELEMENT team (nom,nombre,competences)>
<!ATTLIST team num CDATA #REQUIRED
type CDATA #REQUIRED>
<!ELEMENT nom (#PCDATA)>
<!ELEMENT nombre (#PCDATA)>
<!ELEMENT competences (S1,S2,S3?)>
<!ELEMENT S1 (#PCDATA)>
<!ELEMENT S2 (#PCDATA)>
<!ELEMENT S3 (#PCDATA)>
]>
XSD
<xs:element name="teams">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="team">
<xs:complexType>
<xs:sequence>
<xs:element name="nom" type="xs:string"/>
<xs:element name="nombre" type="xs:unsignedByte"/>
<xs:element name="competences">
<xs:complexType>
<xs:sequence>
<xs:element name="S1" type="xs:string"/>
<xs:element name="S2" type="xs:string"/>
<xs:element minOccurs="0" name="S3"
type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="num" type="xs:unsignedByte"
use="required"/>
<xs:attribute name="type" type="xs:string"
use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Exercice 2 :
<annuaire>
<personne type= "professeur">
<nom>p</nom>
<prenom>pp</prenom>
<email>[email protected]</email</email>
</personne>
<personne >
<nom>e</nom>
<prenom>ee</prenom>
<tel portable="99 111 111">
</personne>
</annuaire>
Exercice 3:
DTD :
< !ELEMENT adressBook (card*)>
< !ELEMENT card (name, email)>
< !ELEMENT name (#PCDATA)>
< !ELEMENT email (#PCDATA)>
XSD:
<xs:element name="adressBook">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0” maxOccurs="unbounded"
name="card">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="email" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
Exercice 4:
<xs:element name="personnes">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1” name="personne">
<xs:complexType>
<xs:sequence>
<xs:element name="nom" type="xs:string"/>
<xs:element name="prenom" type="xs:string"/>
<xs:choice>
<xs:element name="tel" type="xs:string"/>
<xs:element name="email" type="xs:string"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>