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] autoriser un namespace à n'importe quel niveau


Sujet :

Valider XML

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 14
    Points : 10
    Points
    10
    Par défaut [XSD] autoriser un namespace à n'importe quel niveau
    Bonjour !

    nous utilisons un schéma pour valider des documents XML. Il s'avère que notre éditeur XML pose des éléments spécifiques non déclarés dans le schéma pour la gestion des révisions. L'éditeur peut poser ses éléments avec un namespace précis (appelons le "http://www.toto.com"), et à n'importe quel niveau dans le xml (on peut en trouver dans n'importe quel élément)...

    J'aimerais savoir si il est possible d'adapter notre schéma pour autoriser le namespace "http://www.toto.com" dans n'importe quel élément sans le déclarer dans chaque élément du schéma. En effet, notre schéma étant très complexe, cela représenterait un travail de titan.

    Donc existe t'il une syntaxe xs qui permettrait de dire qu'on peut trouver un élément du namespace "www.toto.com" à n'importe quel niveau ?

    Merci d'avance !

  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,

    je ne suis pas sûr d'avoir bien saisi, ce sont de nouveaux éléments qui sont ajoutés par l'éditeur, ou juste l'espace de nom ? Un petit exemple serait le bienvenu.
    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 à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    va pour un exemple alors :
    Voici un bout de XML qui est valide vis à vis du schéma (schema-de-base.xsd)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <root-elem xmlns="http://www.schema-de-base.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schema-de-base.com
    ./schema-de-base.xsd">
      <elem1>
        <elem2/>
        <elem2>
          <elem3/>
        </elem2>
        <elem2/>
      </elem1>
    </root-elem>
    Or il se trouve qu'après passage dans l'éditeur on se retrouve avec ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <root-elem xmlns="http://www.schema-de-base.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schema-de-base.com
    ./schema-de-base.xsd" xmlns:toto="http://www.toto.com">
      <elem1>
        <elem2/>
        <elem2>
          <elem3><toto:modif3/></elem3>
        </elem2>
        <elem2><toto:modif2/></elem2>
        <toto:modif1/>
      </elem1>
    </root-elem>
    on voit bien ici que l'éditeur XML a ajouté ses éléments avec son namespace 'www.toto.com'.

    Or dans mon schéma il n'y a aucune mention du namespace 'www.toto.com' et encore moins des éléments "modif%". Donc mon XML n'est plus valide. Ma question serait : Comment autoriser l'insertion de n'importe quel élément du namespace 'www.toto.com' dans n'importe quel élément appartenant à 'http://www.schema-de-base.com'. En fait le schéma de base est tellement complexe que dans mon cas ce n'est pas possible de modifier la définition de chaque élément pour autoriser ce que je veux. En fait j'aimerais savoir si on ne peut pas dire simplement au schéma : "Dès que tu vois, à n'importe quel endroit, un truc du namespace 'www.toto.com', ne t'en occupe pas !"

Discussions similaires

  1. [XSD] Plusieurs element dans n'importe quel ordre.
    Par Ldoppea dans le forum Valider
    Réponses: 2
    Dernier message: 24/09/2010, 09h43
  2. Réponses: 3
    Dernier message: 29/06/2010, 09h43
  3. [XSD] Gestion des namespaces et des imports
    Par fedfil dans le forum Valider
    Réponses: 1
    Dernier message: 12/01/2006, 14h54
  4. tourner le programme de n'importe quel pc
    Par nad55 dans le forum C
    Réponses: 6
    Dernier message: 11/12/2004, 18h01
  5. Réponses: 5
    Dernier message: 14/01/2004, 20h31

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