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] Gestion des namespaces et des imports


Sujet :

Valider XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de fedfil
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 91
    Par défaut [XSD] Gestion des namespaces et des imports
    Bonjour à tous,

    J'ai trois documents XSD :
    Le premier ne contient pas d'import (on l'appelera xsd1) ;
    Le second contient l'import du premier (on l'appelera xsd2) ;
    Le troisième contient l'import des deux premiers.

    Il y a sans doute plus propre mais je suis obligé de garder cette organisation (p.... de norme !!)

    J'utilise mes schemas pour parser des documents avec Xerces. ça marche très bien avec la conf suivante :
    Les deux premiers possèdent leur namespace propre ;
    Le dernier ne contient pas de namespace.
    Pour chaque doc importé, j'ajoute un import et un xmlns:...
    Ex. de xsd3
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <xsd:schema
    	targetNamespace=""
    	xmlns=""
    	xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    	xmlns:one="xsd1.xsd" 
    	xmlns:two="xsd2.xsd"	
    	elementFormDefault="qualified">
     
    	<xsd:import namespace="xsd1.xsd" schemaLocation="xsd1.xsd"/>	
    	<xsd:import namespace="xsd2.xsd" schemaLocation="xsd2.xsd"/>
    Si, je souhaite préciser le namepace du dernier (en modifiant l'attribut namespace et xmlns), Xerces me valide tous mes docs. Une idée ?

    Merci de votre aide,

    Fred

  2. #2
    Membre confirmé Avatar de fedfil
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 91
    Par défaut
    Bon, après vérif sur XMLSpy, il semblerait que les schemas fonctionnent avec l'ajout du namespace sur le troisième schema.

    Reste à trouver le bon paramêtrage pour Xerces.
    Pour l'instant, je le paramètre de la façon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    DocumentBuilderFactory domFactory = DocumentBuilderFactory
    				.newInstance();
    		domFactory.setValidating(true);
    		domFactory.setNamespaceAware(true);
    		domFactory.setSchema(schema);
    		try {
    			((DocumentBuilderFactoryImpl)domFactory).setFeature(
    					"http://apache.org/xml/features/validation/dynamic", true);
    		} catch(ParserConfigurationException pce) {
    			throw new InfrastructureException(pce);
    		}
    Si qqn a une idée, je l'en remercie d'avance

    Fred

Discussions similaires

  1. Gestion de projet: encodage des heures sur des tâches
    Par Terminator dans le forum Gestion de projet
    Réponses: 2
    Dernier message: 03/02/2015, 11h10
  2. Réponses: 4
    Dernier message: 02/04/2008, 17h51
  3. Réponses: 3
    Dernier message: 13/09/2007, 18h11
  4. Réponses: 3
    Dernier message: 23/01/2007, 08h14
  5. [XSD] autoriser un namespace à n'importe quel niveau
    Par djamonphil dans le forum Valider
    Réponses: 2
    Dernier message: 30/10/2006, 16h20

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