Exercice 3.3
1
<!-- Type pour les listes d'entiers -->
2
<xsd:simpleType name="IntList">
3
<xsd:list itemType="xsd:integer"/>
4
</xsd:simpleType>
5
<!-- Type pour les listes de 5 entiers -->
6
<xsd:simpleType name="telType">
7
<xsd:restriction base="IntList">
8
<xsd:length value="5"/>
9
</xsd:restriction>
10
</xsd:simpleType>
instanciation : <telephone>01 23 45 67 89</telephone>
2ème solution : on considère un numéro de téléphone composé par exemple de 10 chiffre. (exemple : 0123456789 )
nombre de chiffres sur le numéro de téléphone :
1
<xs:simpleType name="telType">
2
<xs:restriction base="xs:integer">
3
<xs:totalDigits value="10" />
4
</xs:restriction>
5
</xs:simpleType>
instanciation : <telephone>0123456789</telephone>
emailType : de type pattern
1
<xsd:simpleType name="emailType">
2
<xsd:restriction base="xsd:string">
3
<xsd:pattern value="(.)+@(.)+"/>
4
</xsd:restriction>
5
</xsd:simpleType>
Donc contactType deviendra :
1
<xsd:complexType name="contactType">
2
<xsd:sequence>
3
<xsd:element name="nom" type="xsd:string"/>
4
<xsd:element name="prenom" type="xsd:string"/>
5
<xsd:element name="telephone" type="telType" />
6
<xsd:element name="email" type="emailType" maxoccurs="unbounded"/>
7
</xsd:sequence>
8
</xsd:complexType>