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

XML/XSL et SOAP Discussion :

[XML] <?xml version="1.0" ?> ne peut pas être suivi d'un élément ?


Sujet :

XML/XSL et SOAP

  1. #1
    Membre éprouvé
    Inscrit en
    Avril 2005
    Messages
    1 110
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 110
    Points : 937
    Points
    937
    Par défaut [XML] <?xml version="1.0" ?> ne peut pas être suivi d'un élément ?
    J'ai un drôle de comportement de MSXML sous Windows 2003.
    Les fichiers XML ne semblent valides que lorsque la première ligne <?xml version=...etc...?> est seule, c'est-à-dire suivie d'un retour de ligne.
    Par exemple ceci n'est pas accepté,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?xml version="1.0"?><root>...
    Mais ceci bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?xml version="1.0"?>
    <root>...
    Une idée? Merci.
    PS: pas de problème sous Windows XP ou Windows 2000

  2. #2
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    il n'y a aucune raison pour ça ne passe pas, le problème doit provenir de ce qui vient après...
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  3. #3
    Membre éprouvé
    Inscrit en
    Avril 2005
    Messages
    1 110
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 110
    Points : 937
    Points
    937
    Par défaut
    Voici un code qui n'est pas accepté, tel quel:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?xml version="1.0" encoding="ISO-10646-UCS-2" ?><brol attribut="123">
    </brol>
    Et c'est sauvé sous notepad.exe en unicode.
    Si vous avez Windows 2003, je vous invite à essayer. Je l'ai fait sur 3 machines Win2003, même problème.
    RAS sous WinXP ou Win2000. Je suis vraiment perplexe...

  4. #4
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    AMHA, cela doit plutôt venir de l'encodage que tu utilises, et qui ne doit pas être supporté par l'OS... As-tu regardé du côté de la Microsoft Knowledge Base ?
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  5. #5
    Membre éprouvé
    Inscrit en
    Avril 2005
    Messages
    1 110
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 110
    Points : 937
    Points
    937
    Par défaut
    L'encoding ISO-10646-UCS-2 est supporté comme indiqué ici: http://support.microsoft.com/kb/275883/en-us

    Je récapitule le problème.
    Ceci est considéré comme de l'XML bien formé par MSXML (4.0) sous Windows Server 2003
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?xml version="1.0" encoding="ISO-10646-UCS-2"?>
    <brol>
    </brol>
    Ceci ne l'est pas (Windows Server 2003 uniquement, j'insiste)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?xml version="1.0" encoding="ISO-10646-UCS-2"?><brol>
    </brol>
    La seule et unique différence est le retour de ligne après ?>

    Je trouve ça ahurissant. Si vous pouviez faire simplement un copié/collé du code ci-avant dans notepad, puis sauvez en unicode en donnant une extension XML au fichier. Puis double-cliquez (sous Windows Server 2003) et dites-moi ce que vous voyez sous IE.
    Voici ce que j'obtiens:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    A name was started with an invalid character. Error processing resource 'file:///D:/data/test.xml
     
    <?xml version="1.0" encoding="ISO-10646-UCS-2"?><<brol>
    -------------------------------------------------^
    Ahurissant je disais....
    Merci.

  6. #6
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Attention, IE utilise la version 3 de MSXML, même si la version 4 est installée (l'accès à MSXML 4 dans IE est possible uniquement par code).
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  7. #7
    Membre éprouvé
    Inscrit en
    Avril 2005
    Messages
    1 110
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 110
    Points : 937
    Points
    937
    Par défaut
    Je parlais de IE uniquement pour permettre de "voir" le message d'erreur. J'ai le même en programmation.

    Ceci dit tu soulèves un détail très intéressant, la version utilisée par XML. Voici ce que je fais dans mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var xmldoc=new ActiveXObject("Msxml2.DOMDocument");
    Question: quelle version de MSXML est utilisée ? (naïvement je dirais la plus récente installée, 4.0 dans mon cas)

    Je viens de faire un test comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var xmldoc=new ActiveXObject("Msxml2.DOMDocument.4.0");
    et le code litigieux semble être accepté maintenant !

  8. #8
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Citation Envoyé par camboui
    Question: quelle version de MSXML est utilisée ? (naïvement je dirais la plus récente installée, 4.0 dans mon cas)
    La naïveté ne paie pas toujours, surtout en informatique...
    MSXML 3 et MSXML 4 peuvent être installés en mode « côte à côte » sur la même machine. La version par défaut est la 3, la 4 doit être appelée par ses GUID spécifiques.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  9. #9
    Membre éprouvé
    Inscrit en
    Avril 2005
    Messages
    1 110
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 110
    Points : 937
    Points
    937
    Par défaut
    OK, merci.
    Je résouds mon problème en utilisant explicitement la version 4.0.
    En attendant, la version MSXML 3 fournie avec Windows Server 2003 semble buggée.

    N'y a-t-il pas une manipulation pour dire à MSXML que sa version par défaut est la 4.0 ? (afin que celle-là aussi soit utilisée par IE)

  10. #10
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Je ne sais pas ce qu'il en est avec IE 7, mais pour les versions précédentes, c'est malheureusement impossible...
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  11. #11
    Membre éprouvé
    Inscrit en
    Avril 2005
    Messages
    1 110
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 110
    Points : 937
    Points
    937
    Par défaut
    Ok, merci. On va dire que mon soucis est résolu

    Mais j'aurais aimé trouvé quelque part que MSXML 3 (ou celle utilisée par IE et par défaut en programmation) sous Windows Server 2003 comporte effectivement ce petit bug...

  12. #12
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Tu peux faire remonter le problème à Microsoft.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 30/05/2008, 17h43
  2. [1.1][XML] spécifier la version
    Par Monstros Velu dans le forum C#
    Réponses: 3
    Dernier message: 13/11/2007, 14h04
  3. Réponses: 5
    Dernier message: 01/06/2007, 09h53
  4. [DOM XML] Comment parser du XML avec une version 4.3 ?
    Par ouioui2000 dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 18/10/2005, 15h52

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