Répétez apres moi :J'aime PBAdonf. J'aime PBAdonf. J'aime PBAdonf.

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 26-08-2017 15:37:41

xian911  
Membre
Date d'inscription: 04-08-2016
Messages: 8
Pépites: 42
Banque: 0

PBDOM : encore un soucis

Bonjour,

Cette année, pas mal de xml à générer. Je bricole avec pbdom  et je dois dire qu'en général je trouve mon bonheur ( et aussi beaucoup grace aux conseils éclairés de Seki . Mails là je cale depuis des heures et ça me rend

Je dois obtenir :

<?xml version="1.0" encoding="utf-8"?>
<Banque xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" CodeBanque="99990" NatureIntegration="INITIAL" TypeFichier="TEST" TypeGarantie="DEPOTS" VersionFGD="4.00" xsi:noNamespaceSchemaLocation="FGD-VUC-4.00.xsd">

Mais j'obtiens :

<?xml version="1.0" encoding="UTF-8"?>
<Banque xsi="http://www.w3.org/2001/XMLSchema-instance" CodeBanque="99990" VersionFGD="4.00" TypeFichier="TEST" TypeGarantie="DEPOTS" NatureIntegration="INITIAL" xsi:noNamespaceSchemaLocation="FGD-VUC-4.00.xsd">

Je ne parviens pas à ajouter ce fichu xmlns:

Mon code :

Code: pb

PBDOM_Document              doc
PBDOM_ProcessingInstruction xml_process
PBDOM_Element               Banque
STRING ls_ini_file
ls_ini_file = gnv_app.of_getappinifile()
ls_ini_file = gnv_app.of_getappinifile()
ldt_runtime = datetime(today(),now())
ls_runtime = string(date(ldt_runtime),"YYYY-MM-DD")+"T"+string(time(ldt_runtime),"hh:mm:ss")
ls_codebanque = profilestring(ls_ini_file, "VUC", "CodeBanque", "99990")
ls_typegarantie = profilestring(ls_ini_file, "VUC", "TypeGarantie", "DEPOTS")
ls_typefichier = profilestring(gls_ini_file, "VUC", "TypeFichier", "TEST")

TRY
doc = CREATE PBDOM_Document
xml_process = create PBDOM_ProcessingInstruction
xml_process.setname("xml")
xml_process.setvalue("version", "1.0")
xml_process.setvalue("encoding", "UTF-8") 
doc.NewDocument("Banque")
Banque = doc.GetRootElement()
doc.addcontent(xml_process)
   
destroy xml_process
Banque = doc.GetRootElement()

Banque.SetAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance")
Banque.SetAttribute("VersionFGD",  "4.00") 
Banque.SetAttribute("CodeBanque",ls_codebanque) 
Banque.SetAttribute("TypeFichier",ls_typefichier) 
Banque.SetAttribute("TypeGarantie",ls_typegarantie) 
Banque.SetAttribute("NatureIntegration", "INITIAL") 
Banque.SetAttribute("noNamespaceSchemaLocation", "FGD-VUC-4.00.xsd","xsi"," ",false)

//PBDOM Errors trapping

CATCH ( PBDOM_Exception pbde )   
  MessageBox( "PBDOM Exception", pbde.getMessage() )
CATCH ( PBXRuntimeError re )   
  MessageBox( "PBNI Exception", re.getMessage() )
END TRY

d'avance de vos lumières.

Hors ligne

 

#2 28-08-2017 09:39:09

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: PBDOM : encore un soucis

Merci pour

xmlns:xsi n'est pas un attribut, c'est une déclaration de namespace

Rappelle-toi cette réponse à propos de pbdom_element_name.SetNamespace() et ça devrait t'aider.


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22