IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

XML : modifier le préfixe de l'espace de nommage [WD17]


Sujet :

WinDev

  1. #1
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut XML : modifier le préfixe de l'espace de nommage
    Bonjour,

    Je développe un module de génération de flux XML et je rencontre un problème pour lequel je ne trouve pas de solution.

    J'ai choisi d'utiliser les fonctions PCSoft pour la manipulation des documents XML.

    Il se trouve que chacune des balises du document doit porter le préfixe "xsi"... mais je ne trouve aucune fonction permettant de modifier le préfixe la balise.

    Je vois une fonction qui "se rapproche" de mon but : XMLNamespace (http://doc.pcsoft.fr/fr-FR/?3081039&product=WD)
    Sauf qu'elle permet uniquement de récupérer ce namespace mais pas de le définir...

    Avez-vous une piste ?

    PS : j'envisage de coder mon générateur de XML façon fEcrit... mais bon j'aimerais pouvoir coder 10 fois plus vite !
    SQL : le véritable Esperanto

    "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris)

    MERCI DE NE PAS M'ENVOYER DE MESSAGE PRIVE POUR DES QUESTIONS TECHNIQUES SANS MON ACCORD !

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 81
    Points : 91
    Points
    91
    Par défaut
    Bonjour,

    J'ai le même problème. J'ai posté un message il y a une semaine mais rien

    Le xsd veut une balise racine avec un préfixe.
    J'ai posé la question au ST avec un projet test mais sans réponse.
    Pour l'instant je fais un recherche-remplace en fin de traitement mais c'est pas très joli....

  3. #3
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut
    aïe aïe aïe... on fait pareil mfs

    bon moi aussi j'ai mailé le ST (sans projet en mode branleur)... mais peu d'espoir.

    Merci pour ton retour !
    SQL : le véritable Esperanto

    "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris)

    MERCI DE NE PAS M'ENVOYER DE MESSAGE PRIVE POUR DES QUESTIONS TECHNIQUES SANS MON ACCORD !

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 303
    Points : 812
    Points
    812
    Par défaut
    Bonjour,

    Il y a un exemple dans l'aide en ligne:
    http://doc.pcsoft.fr/fr-FR/?1000018803


  5. #5
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut
    Merci pour la tentative mais il ne s'agit pas exactement de ce que nous cherchons.

    En effet l'exemple cité présente la déclaration d'un namespace mais pas son utilisation en tant que préfixe des balises...

    En gros ce qu'on veut c'est :

    <?xml version="1.0" encoding="UTF-8" ?>
    <xsi:BaliseDocument xmlnssi="http://www.w3.org/VotreUrl" xsi:noNamespaceSchemaLocation="VotreFichier.xsd">
    <xsi:Suite>
    Exemple pour type xmlNamespace
    </xsi:Suite>
    </xsi:BaliseDocument>
    SQL : le véritable Esperanto

    "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris)

    MERCI DE NE PAS M'ENVOYER DE MESSAGE PRIVE POUR DES QUESTIONS TECHNIQUES SANS MON ACCORD !

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 81
    Points : 91
    Points
    91
    Par défaut
    Le problème ne situe pas aux niveaux des namesspaces, WD sait le faire :

    //noeud racine
    lNoeudRacine = lDocLSL.lsl

    //encodage
    lDocLSL..Encodage = "ISO-8859-15"
    lDocLSL..Version = "1.0"

    //namespaces
    lNamespace..Nom = "lsl"
    lNamespace..URI = "urn:ac-grenoble.fr:lsl:import"
    Ajoute(lNoeudRacine..NamespaceDéclaré, lNamespace)
    //
    lNamespace..Nom = "ds"
    lNamespace..URI = "http://www.w3.org/2000/09/xmldsig#"
    Ajoute(lNoeudRacine..NamespaceDéclaré, lNamespace)
    //
    lNamespace..Nom = "xsi"
    lNamespace..URI = "http://www.w3.org/2001/XMLSchema-instance"
    Ajoute(lNoeudRacine..NamespaceDéclaré, lNamespace)

    lNoeudRacine:schemaLocation..Valeur = "urn:ac-grenoble.fr:lsl:import import-lsl.xsd"
    lNoeudRacine:schemaLocation..Namespace = lNamespace

    lNoeudRacine:schemaVersion = "1.0"

    Cela fonctionne. Mais le xsd veut un prefixe sur la balise racine et ça WD ne sait pas le faire ou je n'ai pas trouvé !

  7. #7
    Membre émérite
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Points : 2 533
    Points
    2 533
    Par défaut
    J'espère que cet exemple va répondre à vos questions (ou alors je n'ai pas bien compris la question ^^)

    Le résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsi:racine xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:attribut="valeur"/>
    Le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    doc est un xmlDocument
    ns est un xmlNamespace
    attr est un xmlAttribut
     
    ns.Nom = "xsi"
    ns.URI = "http://www.w3.org/2001/XMLSchema-instance"
     
    doc.racine = ""
    Ajoute(doc.racine..NamespaceDéclaré, ns)
    doc.racine..Namespace = ns
     
    attr.Nom = "attribut"
    attr.Valeur = "valeur"
    attr.Namespace = ns
     
    Ajoute(doc.racine..Attribut, attr)
     
     
    reqAsXML est une chaîne
    reqAsXML = XMLConstruitChaîne(doc, XMLSansEntête)
     
    Trace(reqAsXML)
    Si ce message vous a semblé utile, il est possible qu'il soit utile à d'autres personnes. Pensez au . Et n'oubliez pas le le moment venu !

    On n'a pas à choisir si l'on est pour ou contre la décroissance, elle est inéluctable, elle arrivera qu'on le veuille ou non.

  8. #8
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut
    Je n'ai qu'une chose à dire : t'as bien compris et t'as bien répondu !!!


    Chapeau et merci bien !
    SQL : le véritable Esperanto

    "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris)

    MERCI DE NE PAS M'ENVOYER DE MESSAGE PRIVE POUR DES QUESTIONS TECHNIQUES SANS MON ACCORD !

  9. #9
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 81
    Points : 91
    Points
    91
    Par défaut
    Un grand merci.

    3 semaines de recherche infructueuse pour une ligne de code :
    doc.racine..Namespace = monnamespace

  10. #10
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut
    +1 et résolu, de la balle !
    SQL : le véritable Esperanto

    "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris)

    MERCI DE NE PAS M'ENVOYER DE MESSAGE PRIVE POUR DES QUESTIONS TECHNIQUES SANS MON ACCORD !

  11. #11
    Membre émérite
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Points : 2 533
    Points
    2 533
    Par défaut
    Citation Envoyé par michel.souris Voir le message
    +1 et résolu, de la balle !
    ^^
    Si ce message vous a semblé utile, il est possible qu'il soit utile à d'autres personnes. Pensez au . Et n'oubliez pas le le moment venu !

    On n'a pas à choisir si l'on est pour ou contre la décroissance, elle est inéluctable, elle arrivera qu'on le veuille ou non.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 22/11/2008, 20h10
  2. [Linq To XML] Modifier l'objet, le xml ?
    Par Ticoche dans le forum Framework .NET
    Réponses: 13
    Dernier message: 28/04/2008, 11h12
  3. [Web Service][SOAP] Modifier le préfixe "SOAP-ENV" en "SOAP" de l'enveloppe
    Par fragmonster dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 15/01/2008, 10h18
  4. [XML] Modifier ou supprimer un Element
    Par FlyByck dans le forum Delphi
    Réponses: 7
    Dernier message: 01/07/2007, 01h59
  5. asp xml modifier
    Par Alex35 dans le forum ASP
    Réponses: 1
    Dernier message: 06/02/2007, 21h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo