Bonjour,
je n'arrive pas à valider le fichier XML suivant :
avec les fichiers XSD suivants :
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
24
25
26
27
28
29
30 <?xml version="1.0" encoding="ISO-8859-1"?> <Archive xmlns="urn:fr:gouv:ae:archive:draft:standard_echange_v0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:fr:gouv:ae:archive:draft:standard_echange_v0.1 archives_echanges_v0-1_archivedelivery.xsd"> <Data> Salut </Data> <!-- Signature --> <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> <SignedInfo> <CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> <Reference> <Transforms> <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <DigestValue>8yc4zd</DigestValue> </Reference> </SignedInfo> <SignatureValue>gSA6f+AU=</SignatureValue> <KeyInfo> <KeyName>maClePublique.pem</KeyName> </KeyInfo> </Signature> </Archive>
archives_echanges_v0-1_archivedelivery.xsd :
et archives_echanges_v0-1_archive.xsd:
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"?> <xsd:schema version="1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:fr:gouv:ae:archive:draft:standard_echange_v0.1" targetNamespace="urn:fr:gouv:ae:archive:draft:standard_echange_v0.1" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xsd:include schemaLocation="archives_echanges_v0-1_archive.xsd"/> <xsd:element name="Archive" type="ArchiveType"/> </xsd:schema>
Mon vérificateur XML/XSD me dit ceci : " exemple_delivery_deliberation.xml:13: element Signature: Schemas validity error : Element '{http://www.w3.org/2000/09/xmldsig#}Signature': This element is not expected. Expected is ( {urn:fr:gouv:ae:archive:draft:standard_echange_v0.1}Signature ) ". Je ne comprends pas pourquoi il me dit cela alors que j'ai bien spécifié ds:SignatureType et le ds devrait renvoyer au namespace http://www.w3.org/2000/09/xmldsig#.
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
24 <?xml version="1.0" encoding="ISO-8859-1"?> <xsd:schema version="1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns="urn:fr:gouv:ae:archive:draft:standard_echange_v0.1" targetNamespace="urn:fr:gouv:ae:archive:draft:standard_echange_v0.1" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/> <xsd:complexType name="ArchiveType"> <xsd:sequence> <xsd:element name="Data" type="xsd:string"/> <xsd:element name="Signature" type="ds:SignatureType" minOccurs="0"/> </xsd:sequence> </xsd:complexType> </xsd:schema>
Pour conclure, pour arriver à la validation, je dois modifier les fichiers XSD et non pas le fichier XML car celui-ci est le résultat de la librairie (que je ne peux modifier) XMLSEC.
merci à ceux qui on prit de leur temps pour me lire.
Pierre
Partager