PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Comment ajouter des attributs dans un nœud XML importé d'un modèle XML
Comment ajouter des attributs dans un nœud XML importé d'un modèle XML
Iniciado por Nicolas ROBIN, 07,ene. 2019 13:54 - 2 respuestas
Miembro registrado
87 mensajes
Publicado el 07,enero 2019 - 13:54
Bonjour,

J'aimerai généré un fichier facture pour Chorus Pro au format XML ressemblant à celui-ci.
J'importe dans l'environnement Windev un modèle du type de celui ci-dessous (simplifié).

en le déclarant comme suit:

Une_Facture.Flux_XML.MODELE_xmlDocument est un xmlDocument <Description="FSO1100A__IN_DP_E1_UBL_INVOICE">


<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="" ?>
<Invoice xmlns:qdt="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDatatypes-2"
xmlns:ccts="urn:oasis:names:specification:ubl:schema:xsd:CoreComponentParameters-2"
xmlns:stat="urn:oasis:names:specification:ubl:schema:xsd:DocumentStatusCode-1.0"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:udt="urn:un:unece:uncefact:data:draft:UnqualifiedDataTypesSchemaModule:2"
xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
xmlns:cec="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2"
xmlns:aife="urn:AIFE:Facture:Extension">
<cec:UBLExtensions>
<cec:UBLExtension>
<cec:ExtensionContent>
<CategoryCode>A1</CategoryCode>
</cec:ExtensionContent>
</cec:UBLExtension>
</cec:UBLExtensions>
<cbc:UBLVersionID>2.1</cbc:UBLVersionID>
<cbc:ID>TSTF1004_2016032</cbc:ID>
<cac:AccountingSupplierParty>
<cac:Party>
<cac:PartyIdentification>
<cbc:ID schemeName="1">00000000009545</cbc:ID>
</cac:PartyIdentification>
</cac:Party>
</cac:AccountingSupplierParty>
</Invoice>


Je rencontre un problème pour générer les attributs tels que "schemeName" dans cet exemple.
Depuis mon modèle, je n'ai aucun problème à générer mes nœuds mais les attributs sont générés comme nœuds et non attributs.

Et j'ai des difficultés pour utiliser les fonctions tels que XMLAjouteAttribut parce qu'il attend pour premier paramètre un document XML sous forme de chaine et refuse la variable Une_Facture.Flux_XML.MODELE_xmlDocument qui est de type xmlDocument.

Avez-vous une solution à me proposer pour ajouter des attributs s'il vous plait?

--

NR
Publicado el 18,septiembre 2019 - 14:50
Bonjour,

As-tu trouvé une solution ?
Miembro registrado
87 mensajes
Publicado el 09,octubre 2019 - 15:22
Bonjour Ted,

Oui, en fait c'était assez simple finalement.

Avec l'exemple précédent:
<cac:PartyIdentification>
<cbc:ID schemeName="1">00000000009545</cbc:ID>
</cac:PartyIdentification>


Il suffit de faire quelque chose du genre (avec la déclaration faite comme dans exemple précédent):
AVEC Une_Facture.Flux_XML.MODELE_xmlDocument.Invoice
//...
AVEC .AccountingCustomerParty
AVEC .Party
AVEC .PartyIdentification
.ID ="00000000009545"
.ID:schemeName ="1"
FIN
FIN
FIN
//...
FIN


--

NR
Mensaje modificado, 09,octubre 2019 - 15:24