4 pièce(s) jointe(s)
[XSD] Problème de namespace
Bonjour,
je n'arrive pas à valider le fichier XML suivant :
Code:
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> |
avec les fichiers XSD suivants :
archives_echanges_v0-1_archivedelivery.xsd :
Code:
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> |
et archives_echanges_v0-1_archive.xsd:
Code:
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> |
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#.
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