PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Xsd - UBL
Débuté par Dirk CORNIL, 09 fév. 2023 19:49 - 2 réponses
Membre enregistré
17 messages
Posté le 09 février 2023 - 19:49
Bonjour,

J'utilise le xsd https://docs.oasis-open.org/ubl/os-UBL-2.1/xsd/maindoc/UBL-Invoice-2.1.xsd afin de générer des factures UBL

Lorsqu'une facture comporte plusieurs lignes, le parser XML me renvoie l'erreur

error on line 1710 at column 19: Namespace prefix ns1 on InvoiceLine is not defined

Comment peut-on résoudre cela au mieux ?

Merci d'avance

--
Dirk
Posté le 31 mai 2023 - 16:59
hello,
Sais tu donner le code que tu utilises ? pour que l'on puisse t'aider
bien à toi
Membre enregistré
909 messages
Posté le 31 mai 2023 - 19:14
Bonjour, il manque probablement l'espace de noms dans l'en-tête du document XML. Dans le cas de la facture électronique espagnole, j'ai résolu le problème avec le code suivant :

MyDoc is WL.XMLDocument //, description="Facturaev3_2_1"

nNamespace3 is xmlNamespace
nNamespace3..Name = "ns3"
nNamespace3.URI = "https://www.facturae.gob.es/formato/Versiones/Facturaev3_2_2.xml"

nNamespace2 is xmlNamespace
nNamespace2.Name = "ns2"
nNamespace2.URI = "http://www.w3.org/2000/09/xmldsig#"

nNode is dynamic WL.xmlNode
nNode = MyDoc.Facturae

Add(nNode..NamespaceDeclared, nNamespace2)
Add(nNode..NamespaceDeclared, nNamespace3)
//nNode.noNamespaceSchemaLocation..Namespace..URI = "Facturaev3_2_1"
nNode..Namespace = nNamespace3


Où je définis les espaces de noms qui apparaissent dans l'importation XSD. Vous pouvez ensuite insérer les nœuds du fichier XML.

Rubén