Problème de validation XML par rapport à un Schéma XSD
	
	
		Je souhaite valider des fichiers XML par rapport au schéma suivant
	Code:
	
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 
 |  
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            targetNamespace="firm:invoice"
            elementFormDefault="unqualified"
            attributeFormDefault="unqualified"
            version="1.0">
	<xsd:element name="invoice">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="client">
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element name="name" type="xsd:string"></xsd:element>
							<xsd:element name="firstname" type="xsd:string"></xsd:element>
							<xsd:element name="address">
								<xsd:complexType>
									<xsd:sequence>
										<xsd:element name="street"
											type="xsd:string">
										</xsd:element>
										<xsd:element name="postalCode"
											type="xsd:string">
										</xsd:element>
										<xsd:element name="City"
											type="xsd:string">
										</xsd:element>
									</xsd:sequence>
								</xsd:complexType>
							</xsd:element>
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
				<xsd:element name="articles" maxOccurs="1" minOccurs="1">
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element name="article" maxOccurs="unbounded" minOccurs="1">
								<xsd:complexType>
									<xsd:sequence>
										<xsd:element name="id"
											type="xsd:string">
										</xsd:element>
										<xsd:element name="description"
											type="xsd:string">
										</xsd:element>
										<xsd:element name="quantity"
											type="xsd:string">
										</xsd:element>
									</xsd:sequence>
								</xsd:complexType>
							</xsd:element>
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
 
</xsd:schema> | 
 J'ai le fichier XML suivant:
	Code:
	
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 
 |  
<?xml version="1.0" encoding="UTF-8"?>
<invoice xmlns="firm:invoice">
  <client>
    <name>Dupont</name>
    <firstname>Franck</firstname>
    <address>
      <street>32, rue de la paix</street>
      <postalCode>75001</postalCode>
      <City>Paris</City>
    </address>
  </client>
  <articles>
    <article>
      <id>1</id>
      <description>article 1</description>
      <quantity>1</quantity>
    </article>
    <article>
      <id>23</id>
      <description>article 2</description>
      <quantity>3</quantity>
    </article>
    <article>
      <id>78</id>
      <description>article 3</description>
      <quantity>2</quantity>
    </article>
    <article>
      <id>14</id>
      <description>article 4</description>
      <quantity>1</quantity>
    </article>
  </articles>
</invoice> | 
 Je valide le fichier à l'aide du code suivant:
	Code:
	
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 
 |  
 
import javax.xml.XMLConstants;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Source;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamSource;
import javax.xml.validation.Schema;
import javax.xml.validation.SchemaFactory;
import javax.xml.validation.Validator;
 
import org.w3c.dom.Document;
 
public class SchemaValidationTests
{
 
    /**
     * @param args
     */
    public static void main(String[] args)
    {
        try {
            Document document_l = null;
            DocumentBuilder parser_l;
            DocumentBuilderFactory docFactory_l = DocumentBuilderFactory.newInstance();
            docFactory_l.setNamespaceAware(true);
            parser_l = docFactory_l.newDocumentBuilder();
            document_l = parser_l.parse(SchemaValidationTests.class.getResourceAsStream("invoice.xml"));
 
            SchemaFactory factory_l = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
            Source[] sources_l = new Source[] {
                    new StreamSource(SchemaValidationTests.class.getResourceAsStream("invoice.xsd"))
            };
            Schema schema_l = factory_l.newSchema(sources_l);
            Validator validator_l = schema_l.newValidator();
            validator_l.validate(new DOMSource(document_l));
        }
        catch (Exception e) {
            e.printStackTrace();
        }
 
    }
 
} | 
 J'obtiens alors l'erreur suivante:
ERREUR :  'cvc-complex-type.2.4.a: Invalid content was found starting with element 'client'. One of '{"":client}' is expected.'
Ou est mon erreur ? Merci pour votre aide.