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

Valider XML Discussion :

[XSD] Lire un fichier xml typé namespace xmlns xsd


Sujet :

Valider XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 7
    Par défaut [XSD] Lire un fichier xml typé namespace xmlns xsd
    Bonjour,

    j'ai un problème simple et je suis étonné de n'avoir pu trouver un réponse malgrès mes 3 heures de recherche sur le net.

    j'ai un fichier xml, pour faire un output xslt pas de soucis, utiliser un objet .net tel que xmlReader pas de problème non plus.
    Je créer un fichier xsd pour typer mon fichier xml et dès que j'ajoute le namespace xmlns à l'élément racine de mon fichier, plus rien ne marche....impossible de parser??? dès que je retire le namespace cela remarche nikel....

    bref est ce que quelqu'un peut me dire pourquoi ? voir me dire comment faire pour fixer ce problème.

    Merci

  2. #2
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Par défaut
    votre ajout est bien placé sur lélément racine et du type suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <nom_de_votre_racine xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="chemin_et_nom_de_votre_xsd.xsd">
    Si cela bloque malgré tout, il se pourrait que votre xml schema ne correspondent pas à votre xml tout simplement

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 7
    Par défaut
    après quelques essais infructueux je préfère que vous me disiez ou j'ai pu me tromper...
    voici mon schema
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    <?xml version="1.0" encoding="utf-8"?>
    <xs:schema  xmlns="http://heddeToweb/Clients"
           targetNamespace="http://heddeToweb/Clients"
         attributeFormDefault="unqualified" elementFormDefault="qualified"
        xmlns:xs ="http://www.w3.org/2001/XMLSchema">
     
        <xs:element name="Clients">
            <xs:complexType>
                <xs:sequence >
                    <xs:element ref="Client" maxOccurs="unbounded"></xs:element>
                    <xs:element name="MaxID" ></xs:element>
                   </xs:sequence>
     
            </xs:complexType>        
        </xs:element>
        <xs:element name="Client" type="ClientType"></xs:element>
     
        <xs:complexType name="ClientType">
            <xs:sequence>
                <xs:element name="Prenom" type="xs:string" nillable="false"></xs:element>
                <xs:element name="Nom" type="xs:string" nillable="false"></xs:element>
                <xs:element name="Telephone" type="xs:string"></xs:element>
                <xs:element name="DateInscription" type="xs:string"></xs:element>
                <xs:element name="Status" type="StatusType"></xs:element>
            </xs:sequence>
            <xs:attribute name="id" type="xs:string"></xs:attribute>
        </xs:complexType>
     
        <xs:simpleType name="StatusType">
            <xs:restriction base="xs:string">
                <xs:enumeration value="Activated">
                </xs:enumeration>
                <xs:enumeration value="Deleted">              
                </xs:enumeration>
            </xs:restriction>
     
        </xs:simpleType>
     
    </xs:schema>
    voici le fichier xml
    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
    23
     
    <?xmlversion="1.0" encoding="utf-8"?>
        <Clients xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="App_Data/ClientsType.xsd"
         >
      <Client id="1">
        <Prenom>Jean-Michel</Prenom>
        <Nom>Laroche</Nom>
        <Telephone>02.78.54.63.20</Telephone>
        <DateInscription>02/06/2007</DateInscription>
        <Status>Activated</Status>
      </Client>
      <Client id="2">
        <Prenom>renaud</Prenom>
        <Nom>delard</Nom>
        <Telephone>06.13.14.47.10</Telephone>
        <DateInscription>02/11/2008</DateInscription>
        <Status>Activated</Status>
      </Client>
     
      <MaxID>2</MaxID>
     
    </Clients>
    Merci de votre aide

  4. #4
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Par défaut
    le problème vient que dans le xml schema vous utiliser un namesapce qui n'est pas présent dans le XML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xmlns="http://heddeToweb/Clients"
    essaye avec ton xml modifié comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <Clients xmlns="http://heddeToweb/Clients" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://heddeToweb/Clients
    App_Data/ClientsType.xsd">

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 7
    Par défaut
    ma grand mère disait : il faut souffrir pour être beau, moi je dirais plutôt il faut souffrir pour faire de l'xml....
    je dis çà, car j'ai une nouvelle galère ! je ne peux plus enregistrer mes modifs dans mon fichier xml car il y a sans cesse des conflits de processus...enfin bref ...

    j'ai tenté de mettre en place le code que tu m'a passé, mais sans succès...

    peut être que je comprendrais mieux, si tu pouvais me dire pourquoi mon code ne fonctionne pas alors qu'il me semble totalement similaire à cet exemple

    http://msdn.microsoft.com/fr-fr/library/1bkbyzbb.aspx

    merci

  6. #6
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Par défaut
    Dans l'exemple que tu donnes les mêmes namespace sont présent dans le XML et dans le XSD.
    Dans ton cas , il y a un namespace supllémentaire dans le XSD, ce qui oblige à des modifications lors de l'appel de celui -ci

Discussions similaires

  1. Créer et lire un fichier xml
    Par Bruno1905 dans le forum C++Builder
    Réponses: 14
    Dernier message: 13/06/2007, 11h11
  2. Lire un fichier Xml(xmlns)
    Par Kiboumz dans le forum VB.NET
    Réponses: 3
    Dernier message: 30/01/2007, 18h57
  3. [Xml/Xsd]valider son fichier Xml avec un schéma xsd
    Par ePoX dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/02/2006, 22h30
  4. Réponses: 1
    Dernier message: 17/01/2006, 07h42
  5. Réponses: 2
    Dernier message: 27/05/2004, 00h40

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