<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
           targetNamespace="http://www.facture.com" 
           xmlns="http://www.facture.com" 
           elementFormDefault="qualified">
           
	<xs:simpleType name="telephoneType">
	<xs:restriction base="xs:string">
	<xs:enumeration value="maison" />
	<xs:enumeration value="mobile" />
	<xs:enumeration value="internet" />
	<xs:enumeration value="paget" />
	</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="courrielType">
	<xs:restriction base="xs:string">
	<xs:pattern value="[a-zA-Z]+[_.a-zA-Z0-9]+@[a-zA-Z]+[_.a-zA-Z0-9]+" />
	</xs:restriction>
	</xs:simpleType>

	<xs:element name="facture">
	<xs:complexType>
	<xs:sequence>
		<xs:element name="client">
		<xs:complexType>
		<xs:sequence>
			<xs:element name="nom" type="xs:string"></xs:element>
			<xs:element name="prenom" type="xs:string"></xs:element>
			<xs:element name="adresse" type="xs:string"></xs:element>
			<xs:element name="codepostal" type="xs:string"></xs:element>
			<xs:element name="telephone" minOccurs="1" maxOccurs="unbounded">
				<xs:complexType>
				<xs:simpleContent>
				<xs:extension base="xs:string">
				<xs:attribute name="type" type="telephoneType" use="required" />
				</xs:extension>
				</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="courriel" type="courrielType"></xs:element>
		</xs:sequence>
		</xs:complexType>
		</xs:element>
		<xs:element name="vente">
		<xs:complexType>
			<xs:sequence minOccurs="1" maxOccurs="unbounded">
			<xs:element name="article">
			<xs:complexType>
				<xs:sequence>
				<xs:element name="nom" type="xs:string" />
				<xs:element name="code" type="xs:integer" />
				<xs:element name="quantite" type="xs:integer" />
				<xs:element name="prix" type="xs:decimal" />
				</xs:sequence>
			<xs:attribute name="taxable" type="xs:boolean" use="required" />
			</xs:complexType>
			</xs:element>
			</xs:sequence>
		</xs:complexType>
		</xs:element>
	</xs:sequence>
	<xs:attribute name="date" type="xs:date" />
	</xs:complexType>
	</xs:element>
</xs:schema>
