Bonjour,
J'ai une appli qui reçoit des données XML en entrée, chaque XML a le même format défini par le XSD suivant :
et ça marche très bien avec des XML "simples".
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
31
32
33
34
35
36
37
38 <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:include schemaLocation="commonTypes.xsd"/> <xs:include schemaLocation="civilStatusTypes.xsd"/> <xs:element name="InsertionCivilStatusRequest"> <xs:complexType> <xs:sequence> <xs:element name="Tracability"> <xs:complexType> <xs:sequence> <xs:element name="UserId" type="TUserIdVide"/> <xs:element name="OriginId" type="TOriginId"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="CivilStatus"> <xs:complexType> <xs:sequence> <xs:element name="FirstName" type="TFirstNameVide"/> <xs:element name="LastName" type="TLastName"/> <xs:element name="Gender" type="TGender"/> <xs:element name="BirthDate" type="TBirthDate"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Identifier"> <xs:complexType> <xs:sequence> <xs:element name="RequestId" type="TReqId"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
Sauf que les XML que je reçois seront en fait signés électroniquement avec un certificat de signature, ce qui fait que, au final, les XML auront une balise <Signature> en plus à la fin du document XML.
Du coup, le XML n'est plus valide par rapport au XSD. J'aimerais donc pouvoir préciser qu'une balise <Signature> peut être présente mais sans en spécifier le contenu car je ne vais pas redéfinir le XSD d'une signature électronique.
Est-il possible de définir une balise "libre", c'est-à-dire de définir uniquement le nom de la balise et que celle-ci contienne n'importe quelle arborescence ?
Sinon est-il possible de définir le schéma standard d'une signature électronique en faisant référence à une URL par exemple ?
merci d'avance
Le marlou
Partager