Bonjour, je souhaite valider mon fichier xml grâce à un xmlschema.
Je viens de m'y mettre alors je ne m'y connais pas trop, voici mon problème :
Failed to invoke method parse in class org.exist.xmlrpc.RpcConnection: org.xml.sax.SAXParseException: cvc-complex-type.3.2.2: Attribute 'id_auteur' is not allowed to appear in element 'auteur'.
Apparemment mon Xmlschema m'interdit d'ajouter un attribut à l'élément auteur ... Est ce que quelqu'un pourrait me dire pourquoi ?
Fichier xsd :
Fichier xml :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 <xsd:element name="Bibliotheque"> <xsd:complexType> <xsd:sequence> <xsd:element name="auteurs"> <xsd:complexType> <xsd:sequence> <xsd:element maxOccurs="unbounded" name="auteur"> <xsd:complexType> <xsd:sequence> <xsd:element name="nom" type="xsd:string" /> <xsd:element name="prenom" type="xsd:string" /> <xsd:element name="date_naissance" type="xsd:dateTime" /> <xsd:element name="id_livre" maxOccurs="unbounded" type="xsd:IDREF" /> </xsd:sequence> <xsd:attribute name="id_auteur" type="xsd:ID" /> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> .... </Bibliotheque>
J'avais aussi essayer avec des refs et j'ai eu le même problème, quelque chose doit être mal écrit.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?xml version="1.0" encoding="iso-8859-1"?> <Bibliotheque xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://localhost:8080/exist/test/test.xsd"> <auteurs> <auteur id_auteur = "a1"> <nom>Hugo</nom> <prenom>Victor</prenom> <date_naissance>1696-09-01T00:00:00Z</date_naissance> <id_livre>l1</id_livre> <id_livre>l2</id_livre> </auteur> ...
Par ailleurs j'ai quelques questions, à la base cette id_auteur apparaissait en tant qu'élément dans mon élément "auteur". Est ce que le fait de le passer en attribut donne un avantage ? (niveau accès ou autres)
Merci pour votre aide !
Partager