Powerbuilder pour les completement Geeks !

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