PB à toute heure et à tout moment. (à parcourir avec modération)

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 13-11-2012 08:46:50

Sylvie de hannut  
Membre completement Geek
Lieu: Hannut (Belgique)
Date d'inscription: 10-06-2011
Messages: 123
Pépites: 499
Banque: 0

[RESOLU] XML et PB9 : Réouverture

J'ai un fichier XML à générer au départ d'une DW contenant pas mal d'autres DW contenant chacunes des computed field.

J'ai été voir la documentation se trouvant dans la discussion "[DOC] pb9 et xml"
Il y a une méthode pour générer du XML par le code en Powerbuilder.
Je pense que c'est ce style de trt que je dois effectuer, cad balayer mes DW remplies et écrire ensuite dans un datastore contenant mon template, puis faire un saveas pour créer mon fichier XML.

Je viens vers vous afin de voir s'il n'existe pas une autre méthode plus performante.

Merci

Dernière modification par Sylvie de hannut (28-12-2012 14:30:56)

Hors ligne

 

#2 13-11-2012 15:12:14

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Re: [RESOLU] XML et PB9 : Réouverture

Ben oui tu as la bonne solution déjà je pense

Dernière modification par rincevent (13-11-2012 15:12:44)


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

#3 14-11-2012 08:10:56

Sylvie de hannut  
Membre completement Geek
Lieu: Hannut (Belgique)
Date d'inscription: 10-06-2011
Messages: 123
Pépites: 499
Banque: 0

Re: [RESOLU] XML et PB9 : Réouverture

Après mûre réflection, et surtout après en avoir parlé à un collègue, je vais travailler avec PBDOM.
Mais, j'ai épluché de la doc hier et je ne comprend pas, pour chaque balise différente, je dois créer une variable de type pbdom_element ???

PS : je n'ai jamais travaillé avec PBDOM ...

Hors ligne

 

#4 14-11-2012 09:04:18

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: [RESOLU] XML et PB9 : Réouverture

Recherche les discussions de wazou1812 ici traitant d'xml, on a plusieurs fois évoqué pbdom et tu devrais pouvoir trouver des exemples.

En regardant les archives, je pensais notamment à
- XML : supprimer des balises vides avec pbdom
- Question sur l'utilisation de PBDOM pour la création d'un fichier XML

Dernière modification par seki (14-11-2012 09:09:21)


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

 

#5 14-11-2012 09:08:43

Sylvie de hannut  
Membre completement Geek
Lieu: Hannut (Belgique)
Date d'inscription: 10-06-2011
Messages: 123
Pépites: 499
Banque: 0

Re: [RESOLU] XML et PB9 : Réouverture

J'ai vu comment retirer une balise vide, comment retiré un summary, comment aller chercher la valeur d'une balise, mais je vois pas clairement comment créer du XML avec PBDOM.
Si quelqu'un pouvait m'aider à commencer mon xml, entête + premières balises, je pourrais continuer facilement.
Voici le début du xml à faire via le xsd reçu :

Code: xsd

<?xml version="1.0" encoding="UTF-8"?>

<!-- edited with XMLSpy v2008 rel. 2 sp2 (http://www.altova.com) by SHOCK (SHOCK) -->
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
-<xs:annotation> 
     <xs:documentation>Schema for DataStore produced by formulaire_Rapport_Trimestriel</xs:documentation> 
</xs:annotation> 
-<xs:element name="dataStore"> 
    -<xs:complexType> 
       -<xs:all> 
          -<xs:element name="anneeDuRapport"> 
             -<xs:simpleType> 
                 -<xs:restriction base="xs:integer"> 
                     <xs:enumeration value="2012"/> 
                     <xs:enumeration value="2013"/>
                     <xs:enumeration value="2014"/> 
                     <xs:enumeration value="2015"/> 
                     <xs:enumeration value="2016"/> 
                 </xs:restriction>
             </xs:simpleType>
          </xs:element> 
         -<xs:element name="trimestreDuRapport"> 
             -<xs:simpleType> 
                -<xs:restriction base="xs:string"> 
                     <xs:enumeration value="trimestre1"/>
                     <xs:enumeration value="trimestre2"/>
                     <xs:enumeration value="trimestre3"/>
                     <xs:enumeration value="trimestre4"/>
                  </xs:restriction>
              </xs:simpleType>
         </xs:element>
       -<xs:element name="demandeur"> 
          -<xs:complexType> 
            -<xs:all> 
               -<xs:element name="identification">
                   -<xs:complexType>
                      -<xs:sequence> 
                         -<xs:element name="numBCE"> 
                            -<xs:simpleType> 
                               -<xs:restriction base="xs:string"> 
                                   <xs:pattern value="[0-1][0-9][0-9][0-9].[0-9][0-9][0-9].[0-9][0-9][0-9]"/>
                               </xs:restriction>
                            </xs:simpleType>
                         </xs:element>
                         <xs:element name="denomination" type="xs:string"/>
                      </xs:sequence>
                  </xs:complexType>
               </xs:element> 
..........


Pour chaque balise je dois créer un PBDOM_element, faire un create, un setname et un addcontent ??????

Merci beaucoup

Dernière modification par Sylvie de hannut (14-11-2012 09:18:00)

Hors ligne

 

#6 14-11-2012 09:18:08

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: [RESOLU] XML et PB9 : Réouverture

Sylvie de hannut a écrit:

Si quelqu'un pouvait m'aider à commencer mon xml, entête + premières balises, je pourrais continuer facilement.

Regarde Question sur l'utilisation de PBDOM pour la création d'un fichier XML il y a un exemple.


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

 

#7 14-11-2012 09:36:15

Sylvie de hannut  
Membre completement Geek
Lieu: Hannut (Belgique)
Date d'inscription: 10-06-2011
Messages: 123
Pépites: 499
Banque: 0

Re: [RESOLU] XML et PB9 : Réouverture

voici le début de mon code est-ce correct ????
Question la commande addcontent ajoute une valeur à une balise ou permet d'jouter un noeud fils, est correct ???

Code: pb

PBDOM_Document xml_doc
PBDOM_ProcessingInstruction xml_process
PBDOM_Element xml_root
PBDOM_Element xml_ds
PBDOM_Element xml_rapp_an
PBDOM_Element xml_rapp_trim
PBDOM_Element xml_demandeur
PBDOM_Element xml_dem_ident
PBDOM_Element xml_dem_bce
PBDOM_Element xml_dem_denom


//constant string root_name = "datastore"

try
    xml_doc = create PBDOM_Document
    xml_doc.newdocument("","","cXML","","http://www.w3.org/2001/XMLSchema")

    xml_process = create PBDOM_ProcessingInstruction
    xml_process.setname("xml")
    xml_process.setvalue("version", "1.0")
    xml_process.setvalue("encoding","utf-8") 

    xml_doc.addcontent(xml_process)
    destroy xml_process

    xml_root = xml_doc.getrootelement()

    // continue the document creation
   xml_ds = create PBDOM_Element
   xml_rapp_an = create PBDOM_Element
   xml_rapp_trim = create PBDOM_Element
   xml_demandeur = create PBDOM_Element
   xml_dem_ident = create PBDOM_Element
   xml_dem_bce = create PBDOM_Element
   xml_dem_denom = create PBDOM_Element

   xml_ds.SetName("dateStore")
   xml_rapp_an.SetName("anneeDuRapport")
   xml_rapp_trim.SetName("trimestreDuRapport")
   xml_demandeur.SetName("demandeur")
   xml_dem_ident.SetName("Identification")
   xml_dem_bce.SetName("numBCE")
   xml_dem_denom.SetName("denomination")
   
   xml_rapp_an.AddContent(2012)
   xml_rapp_trim.AddContent("trimestre2")
   xml_dem_bce.AddContent("0000.654.879")
   xml_dem_denom.AddContent("Denom")

                  xml_root.addContent(xml_ds)
   xml_ds.addContent(xml_rapp_an)
   xml_rapp_an.addContent(xml_rapp_trim)
   xml_ds.addContent(xml_demandeur)
   xml_demandeur.addContent(xml_dem_ident)
   xml_dem_ident.addContent(xml_dem_bce)
   xml_dem_ident.addContent(xml_dem_denom)


Y a t'il une méthode plus simple, car là j'ai pas fini vu que j'en suis au tout début du xml.

Merci beaucoup

'code=pb' la balise est case sensitive: Merci de tout écrire en minuscules

Dernière modification par Sylvie de hannut (14-11-2012 09:46:03)

Hors ligne

 

#8 14-11-2012 10:25:11

Sylvie de hannut  
Membre completement Geek
Lieu: Hannut (Belgique)
Date d'inscription: 10-06-2011
Messages: 123
Pépites: 499
Banque: 0

Re: [RESOLU] XML et PB9 : Réouverture

Avec ce code j'ai 1 erreur avec la fct newdocument : "Bad number of arguments"
Qu'est-ce qui n'est pas juste, j'ai copié la commande dans "Question sur l'utilisation de PBDOM pour la création d'un fichier XML" ????

Hors ligne

 

#9 14-11-2012 12:47:37

Sylvie de hannut  
Membre completement Geek
Lieu: Hannut (Belgique)
Date d'inscription: 10-06-2011
Messages: 123
Pépites: 499
Banque: 0

Re: [RESOLU] XML et PB9 : Réouverture

Dois-je créer un PBDOM_element, faire un create, un setname et un addcontent, pour chaque balise??????

Ou alors je peux réutiliser un PBDOM_element pour tout mon xml ???????

Merci

Hors ligne

 

#10 14-11-2012 13:05:50

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: [RESOLU] XML et PB9 : Réouverture

Il faut savoir que lorsqu'on crée un pbdom_element (par exemple pour ajouter un tag au document), une fois qu'on ajouté cet élément dans la structure on ne peut pas refaire un xml_root.addContent() pour le remettre ailleurs car pbdom indiquera qu'il a déjà un parent (à la rigueur, on peut utiliser le detach().

Pour construire tout un document
- soit tu crées autant de pbdom_element que de tags
- soit tu ne conserves qu'une variable et tu refais un destroy / create pour chaque tag

...dans un cas comme dans l'autre, ça semble un peu lourd si tu as beaucoup de balises. Il faudrait peut-être utiliser un autre moyen (datawindow/datastore, template de document où tu pourrais remplacer certaines portions par les données finales...) ?


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

 

#11 14-11-2012 13:22:38

Sylvie de hannut  
Membre completement Geek
Lieu: Hannut (Belgique)
Date d'inscription: 10-06-2011
Messages: 123
Pépites: 499
Banque: 0

Re: [RESOLU] XML et PB9 : Réouverture

ok, merci beaucoup.
Ben j'avais pensé au datastore/datawindow external.
Je pensais y copier toutes les données utiles récupérées des DW remplies précédemment.
Mais comment faire pour crééer x fois le même groupe de données dans une DW external ???
Je m'explique, dans les dw existantes on affiche les données de personnes, mais naturellement il y a plusieurs personnes, je n'en connait pas le nb à la création de mon DS.

Je suis probablement pas claire, je sais, mais je ne sais pas comment m'expliquer.
Quand on part d'une DB, au retrieve je peux avoir plusieurs lignes détails, mais si je pars d'une dw external pouvant contenir plusieurs lignes X, ensuite une fois les lignes Y, puis plusieurs lignes de type Z. et ainsi de suite
Comment je peux créer ma DW ???

J'avais pensé aussi faire un DS ne contenant dans la zone détail qu'une zone texte et chaque ligne de mon XML était un record de mon DS, écrit explicitement (<nombalise valeur>) mais là un collègue m'a dit d'utiliser PBDOM

Vous avez tout l'historique de mes pensées

Hors ligne

 

#12 14-11-2012 16:10:39

Sylvie de hannut  
Membre completement Geek
Lieu: Hannut (Belgique)
Date d'inscription: 10-06-2011
Messages: 123
Pépites: 499
Banque: 0

Re: [RESOLU] XML et PB9 : Réouverture

j'ai choisi de travailler avec PBDOM et ça marche.
J'ai réussi à créer mes premières balises imbriquées.

Seul problème je n'arrive pas à créer les début du fichier XML soit

Code: xsd

-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
 -<xs:annotation>
      <xs:documentation>Schema for DataStore produced by formulaire_Rapport_Trimestriel</xs:documentation>
   </xs:annotation>


Si quelqu'un sait comment faire je suis preneuse.

Merci beaucoup

Hors ligne

 

#13 14-11-2012 16:25:20

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: [RESOLU] XML et PB9 : Réouverture

Qu'est-ce qui ne fonctionne pas ?

Pour ajouter le préfixe "ns:" ? (il faut chercher du côté du namespace, comme pour SetAttribute())


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

 

#14 15-11-2012 08:00:48

Sylvie de hannut  
Membre completement Geek
Lieu: Hannut (Belgique)
Date d'inscription: 10-06-2011
Messages: 123
Pépites: 499
Banque: 0

Re: [RESOLU] XML et PB9 : Réouverture

Bonjour à tous
Pour le début de mon xml je n'arrive pas à avoir la balise schema complète, j'ai fait :

Code: :pb

xml_doc.newdocument("schema")
xml_doc.addcontent(xml_process)
xml_root = xml_doc.getrootelement()
xml_root.setattribute("schema","","cXML","http://www.w3.org/2001/XMLSchema",true)


j'ai essayé avec le dernier paramètre à false mais ça ne change pas, j'ai mis aussi "ns" comme param plutôt que "cXML", mais ça va pas non plus.

Que dois-je faire ?

Merci

Hors ligne

 

#15 15-11-2012 09:28:54

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: [RESOLU] XML et PB9 : Réouverture

Je relis un peu le fil... et je m'interroge : tu essaies de fabriquer un fichier xml, ou un fichier xsd ?

Dans l'exemple que tu citais, le xsd qui est posté, c'est ce qui sert à valider ton xml, ou c'est ça que tu essaies de produire ? Dans ce cas, créer un xsd dynamiquement ma raît un peut bizarroïde


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

 

#16 15-11-2012 10:02:47

Sylvie de hannut  
Membre completement Geek
Lieu: Hannut (Belgique)
Date d'inscription: 10-06-2011
Messages: 123
Pépites: 499
Banque: 0

Re: [RESOLU] XML et PB9 : Réouverture

?? ben heu non, je crée un xml ayant comme modèle le xsd reçu.

Et dans ce xsd reçu, il y a

Code: xsd

-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

je dois donc le mettre dans mon xml, ou pas ????

Suis perdue ... je connais pas grand chose en xml, et c'est mon 1er xml fait à la main

Dernière modification par Sylvie de hannut (15-11-2012 10:06:00)

Hors ligne

 

#17 15-11-2012 10:27:34

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: [RESOLU] XML et PB9 : Réouverture

Oulà... ok

Alors un xsd (= xml schema definition) ça permet de valider un xml, une fois qu'on a déjà reçu ou fabriqué ce xml. Tout comme un DTD (= document type definition).

En gros c'est une sorte de grammaire qui spécifie quels sont les tags qui pourront être utilisés dans le xml, dans quel ordre, et pour chaque tag ou chaque attribut (les valeur="toto" qui suibent parfois le nom du tag) le type des valeurs, la liste des valeurs possibles, ou des règles de validation comme "positif", "non nul", ou encore des expressions régulières (ex : [a-z0-9]{5} )

Si je remonte à ton exemple j'apprends qu'il peut y avoir
- un élément "dataStore"
- cet élement est un "type complexe" (= une structure) qui pourra contenir des données composées de "anneeDuRapport" +  "trimestreDuRapport", "demandeur"
- pour "anneeDuRapport" on spécifie que les valeurs possibles sont 2012..2016
- pour "trimestreDuRapport" on spécifie également une liste trimestre1..trimestre4
- etc

Le XML correspondant ressemblera à un truc du genre (en ajoutant un entête)

Code: xml

<?xml version="1.1" encoding="utf-16le" ?>
<dataStore>
    <anneeDuRapport>2012</anneeDuRapport>
    <trimestreDuRapport>trimestre2</trimestreDuRapport>
    <demandeur>
        <identification>
            <numBCE>1234K567Z890</numBCE>
            <denomination>truc</denomination>
        </identification>
    </demandeur>
    <!-- ton xsd s'arrête là -->
</dataStore>

Dernière modification par seki (15-11-2012 10:41:00)


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

 

#18 15-11-2012 11:31:42

Sylvie de hannut  
Membre completement Geek
Lieu: Hannut (Belgique)
Date d'inscription: 10-06-2011
Messages: 123
Pépites: 499
Banque: 0

Re: [RESOLU] XML et PB9 : Réouverture

ah ok
Donc la ligne schem ..., ne dois pas se trouver dans le xml

Génial, je comprend enfin.
Merci beaucoup

Voici où j'en suis de mon xml, si je comprend bien, il est en bonne voie et y a rien à rajouté ??

Code: xml

<?xml version="1.0" encoding="UTF-8"?>
 -<schema>-<dataStore><anneeDuRapport>2009</anneeDuRapport><trimestreDuRapport>trimestre4</trimestreDuRapport>-<demandeur>-<identification><numBCE>0407771667</numBCE><denomination>C.P.A.S. de Ciger Ville</denomination></identification>-<adresse><rue>Place Communale</rue><numero>21</numero><boite/><cp>5190</cp><localite>Jemeppe-sur-Sambre</localite></adresse><service>aide aux familles</service><agrement>123</agrement><RGB>NON</RGB><amenagementFinCarriere>NON</amenagementFinCarriere>-<signaturePapier><nom>CHR</nom><prenom/><lieu>Jemeppe-sur-Sambre</lieu><date>15/11/2012</date></signaturePapier></demandeur>-<responsable>-<identification><civilite/><nom>CHR</nom><prenom/></identification>-<telecom><tel1>071/750075</tel1><tel2/><fax/></telecom><contactOuiNon>OUI</contactOuiNon></responsable><utilisationFormulaire>fluxXML</utilisationFormulaire>-<aidesFamiliales>-<item>-<identification><civilite/><nom>LUNE</nom><prenom>Etoile</prenom></identification><age/><immatriculation>00125</immatriculation><modeFinancement>S.P.W.</modeFinancement></item></aidesFamiliales></dataStore></schema>

Hors ligne

 

#19 15-11-2012 11:55:41

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: [RESOLU] XML et PB9 : Réouverture

Tu y es presque !

...sauf que la racine de ton xml est "schema" et que ça devrait être "dataStore" (d'après le bout d'xsd que tu as donné).

3 remarques :
- il y a des '-' qui traînent dans le xml entre certains tags
- dans ton xml, je vois que numBCE = 0407771667, alors que dans le schéma on voit "<xs:pattern value="[0-1][0-9][0-9][0-9].[0-9][0-9][0-9].[0-9][0-9][0-9]"/>", les '.' valent pour n'importe quel caractère, il manquerait 2 caractères à ton code si tu essaies de valider le xml
- un schéma qui commence par "dataStore" c'est bizarre. C'est toi qui l'as fabriqué ?

Dernière modification par seki (15-11-2012 13:12:25)


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

 

#20 15-11-2012 12:50:31

Sylvie de hannut  
Membre completement Geek
Lieu: Hannut (Belgique)
Date d'inscription: 10-06-2011
Messages: 123
Pépites: 499
Banque: 0

Re: [RESOLU] XML et PB9 : Réouverture

Non c'est le client qui a envoyé le schéma à suivre.
Merci pour tout tes conseils, c'est génial

Hors ligne

 

#21 15-11-2012 13:24:00

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: [RESOLU] XML et PB9 : Réouverture

Sylvie de hannut a écrit:

Non c'est le client qui a envoyé le schéma à suivre.

Ok, il doit avoir un datastore prêt à charger le fichier xml, et il a généré le xsd à partir de celui-ci.

Content d'avoir pu dissiper quelques brumes et faire avancer le schmilblick


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

 

#22 14-12-2012 08:52:11

Sylvie de hannut  
Membre completement Geek
Lieu: Hannut (Belgique)
Date d'inscription: 10-06-2011
Messages: 123
Pépites: 499
Banque: 0

Re: [RESOLU] XML et PB9 : Réouverture

Hello, je reviens vers vous après validation de mon XML par le client.
Voici la remarque qu'il m'envoie :
"Pour que le XSL soit valide, il faut que la première ligne soit
<dataStore xmlns:xs="http://www.w3.org/2001/XMLSchema">".

Code: PB

xml_doc = create PBDOM_Document
  xml_comment = create PBDOM_Comment
  xml_comment.setText("Schema for DataStore produced by formulaire_Rapport_Trimestriel")

  xml_process = create PBDOM_ProcessingInstruction
  xml_process.setname("xml")
  xml_process.setvalue("version", "1.0")
  xml_process.setvalue("encoding","utf-8") 
  
  xml_doc.newdocument("dataStore")
  xml_doc.addcontent(xml_process)
  xml_root = xml_doc.getrootelement()
  xml_root.setattribute("xs","http://www.w3.org/2001/XMLSchema","cXML","http://www.w3.org/2001/XMLSchema",true)
  xml_root.addContent(xml_comment)


Apparement le setattribute ne fonctionne pas, voyez vous ce que je peux faire pour avoir le bon début de xml ????
Merci

Dernière modification par Sylvie de hannut (14-12-2012 09:07:36)

Hors ligne

 

#23 14-12-2012 09:24:37

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: [RESOLU] XML et PB9 : Réouverture

Pour spécifier le namespace de ton document ( dans "xmlns", "ns" = "namespace") tu peux le spécifier avec la version longue de newdocument() avec un code du genre (non testé) :

Code: pb

xml_doc.newdocument("xs", "http://www.w3.org/2001/XMLSchema", "dataStore", "", "")

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

 

#24 14-12-2012 10:29:22

Sylvie de hannut  
Membre completement Geek
Lieu: Hannut (Belgique)
Date d'inscription: 10-06-2011
Messages: 123
Pépites: 499
Banque: 0

Re: [RESOLU] XML et PB9 : Réouverture

Je viens d'essayer ta commande, PB me dit "bad number of arguments for function: newdocument"

J'ai déjà eu le problème en essayant la commande

Code: pb

  string strXML = "<dataStore xmlns = ~"http://www.w3.org/2001/XMLSchema~">"
xml_buildr = Create PBDOM_Builder
xml_doc = xml_buildr.BuildFromString(strXML)


Pb m'a dit qu'il ne connait pas la fct buildFromString, j'ai essayé avec build et là c'est passé à la compil, mais j'ai toujours pas mon paramètre dans le XML.

Je ne comprend pas
J'ai la version 9.0.3 Build 8511

Hors ligne

 

#25 14-12-2012 10:48:03

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: [RESOLU] XML et PB9 : Réouverture

Sylvie de hannut a écrit:

Je viens d'essayer ta commande, PB me dit "bad number of arguments for function: newdocument"
[...]
Je ne comprend pas
J'ai la version 9.0.3 Build 8511

Je viens de regarder dans la doc de PB9 (9.0 b5507), cette méthode existe bien en 2 versions : une courte avec 1 paramètre et une longue avec 5 paramètres.

Tu pourrais coller ton appel à NewDocument() pour voir ?


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