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 :

[xml et xsd ] probleme de declaration


Sujet :

Valider XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 760
    Par défaut [xml et xsd ] probleme de declaration
    Bonjour,
    Je n'arrive pas a utiliser xmllint afin de valider mes documents que je nommerai document.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
     
    <document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="./document.xsd">
    </document>
    et document.xsd (X 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
    <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
     
    <xs:element name="document">
    	<xs:complexType>
    		<xs:sequence>
    			<xs:element name="docinfo" type="docinfoComplexType"/>
    			<xs:element name="section" type="sectionComplexType"/>
    		</xs:sequence>
    	</xs:complexType>
    </xs:element>
     
    ...
     
    </xs:schema>
    . Ces deux fichiers sont situés dans le meme repertoire. Mon problem principal est que xmllint --valid se plaint de ne pas trouver les dtds... Que dois je faire ?

    Leurs declaration sont elles correctes?
    D'avance merci.


    Comment puis je voir independamment de la dtd si les fichiers sont "well-formed"?

  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,

    l'option --valid indique à xmllint de valider à partir d'une DTD ; pour valider contre un schéma, il faut employer l'option --schema.
    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é
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 760
    Par défaut
    Merci.
    J'ai utilisé la command
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xmllint --shema document.xsd document.xml
    est ça l'air d'etre correcte et en plus de controller les deux fichiers. ("validité" _cela ce dit aussi avec Xschema, non?_ et "well formed"). Par contre il semble que je sois obligé de preciser le nom de ufichier *.xsd que je veux utiliser....

    Dans la foulée, j'aurais une petite question : on ne peut definir des contraintes de type que sur des string? Car j'ai essayé d'imposer à un integer un nombre maximal et minimal de chiffre mais cela n'a pas l'air d'etre valide.
    J'ai donc remplacer par cela.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <xs:simpleType name="number">
    	<xs:restriction base="xs:string">
    		<xs:pattern value="([0-9])*"/>
    		<xs:minLength value="6"/>
    		<xs:maxLength value="10"/>
    	</xs:restriction>
    </xs:simpleType>

  4. #4
    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
    Tu peux raccourcir ta définition de type simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <xs:simpleType name="number"> 
       <xs:restriction base="xs:string"> 
          <xs:pattern value="[0-9]{6,10}"/> 
       </xs:restriction> 
    </xs:simpleType>
    Tu peux également envisager de restreindre un xs:integer avec les facettes xs:minInclusive et xs:maxInclusive, mais j'ai peur qu'en spécifiant des nombres à 10 chiffres, tu excèdes les valeurs autorisées par l'implémentation. Mais je n'en suis pas certain...
    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

Discussions similaires

  1. [JAXB] JAVA, XML et XSD
    Par billynirvana dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 19/05/2005, 11h39
  2. Réponses: 11
    Dernier message: 02/05/2005, 19h30
  3. [xml-xsl][debutant]probleme de recuperation d'url
    Par psychogore dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 19/04/2005, 17h09
  4. xml-xsl-fo : probleme d'affichage d'un tableau
    Par clindoeil dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 12/12/2003, 12h46
  5. [Traduction] probleme de declaration
    Par Mercilius dans le forum Langage
    Réponses: 3
    Dernier message: 03/04/2003, 16h16

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