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] Précision sur une réponse dans la FAQ [FAQ]


Sujet :

Valider XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de femtosa
    Inscrit en
    Juin 2002
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 253
    Par défaut [XSD] Précision sur une réponse dans la FAQ
    Hello !

    Voici une question dans la FAQ dont une partie de la réponse m'échape :

    Citation Envoyé par Ce que j'ai pas compris de ce que Mathieu Lemoine
    Voici un cas simple où il n'y a qu'un seul XSD entrant en jeu, et donc qu'un seul namespace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?xml version="1.0" ?>
    <rootelement
      xmlns=http://www.example.com/MyXMLNS/
      xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
      xsi:schemaLocation="http://www.example.com/MyXMLNS/ http://www.example.com/MyXMLNS/XMLSchema.xsd">
    [...]
    </rootelement>
    Je ne comprends pas pourquoi il apparaît dans son code deux fois l'élément xmlns ? Je ne comprends pas l'utilisation de la première apparition de cette élément ... !
    En fait, je ne comprends pas du tout les trois attributs de rootelement ...

    Il parle d'un seul fichier XSD ... Mais y a deux URL ... !

    Quelqu'un a-t-il une explication à son explication ... ?

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

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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xmlns="http://www.example.com/MyXMLNS/"
    Indique un espace de noms par défaut valable pour l'élément dans lequel cet attribut figure et tous ses éléments descendants ; <rootelement> appartient donc à l'espace de noms http://www.example.com/MyXMLNS/, ainsi que tous ses descendants.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    Par cette déclaration, on indique au parseur XML que tous les éléments ou attributs préfixés par xsi appartiennent à l'espace de noms http://www.w3.org/2001/XMLSchema-instance, en l'occurrence il s'agit de l'espace de noms défini dans la spécification W3C de toutes les balises liées aux W3C XML Schemas qu'on peut trouver dans des instances XML.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xsi:schemaLocation="http://www.example.com/MyXMLNS/ http://www.example.com/MyXMLNS/XMLSchema.xsd"
    Pour décoder la valeur de cet attribut, il faut bien comprendre que la première adresse est une URI, et la deuxième une URL. Par cette déclaration, on indique au parseur XML qu'il pourra valider tout les éléments appartenant à l'espace de noms http://www.example.com/MyXMLNS/ (en l'occurrence <rootelement> et ses descendants) en utilisant le fichier XSD accessible à l'URL http://www.example.com/MyXMLNS/XMLSchema.xsd. Le préfixe xsi devant schemaLocation signale sans ambiguïté au parseur que l'attribut schemaLocation ne concerne que la validation (par l'espace de noms auquel il appartient), et qu'il n'a pas de sémantique dans l'instance XML dans laquelle il figure.

    C'est plus clair comme cela ?
    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 éclairé Avatar de femtosa
    Inscrit en
    Juin 2002
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 253
    Par défaut


    Merci beaucoup, j'aurai pas compris tout ça tout seul !! Merci à toi !

  4. #4
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    On en tiendra compte pour améliorer la réponse de la , je n'ai effectivement pas été assez précis

    à toi d'avoir soulever la question !
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

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

Discussions similaires

  1. Réponses: 40
    Dernier message: 02/11/2011, 18h41
  2. simuler un double click sur une liste dans un dbgrid
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 1
    Dernier message: 01/09/2005, 11h45
  3. Comment écrire sur une image, dans un cadre ?
    Par Nutrino dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 20/05/2005, 01h55
  4. [SQL] Conditions sur une date dans une requete
    Par poufouille dans le forum Bases de données
    Réponses: 4
    Dernier message: 17/03/2004, 15h25

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