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

APIs XML Discussion :

Parser un xsd avec API Java


Sujet :

APIs XML

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Développeur Java
    Inscrit en
    Mars 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2014
    Messages : 4
    Points : 6
    Points
    6
    Par défaut Parser un xsd avec API Java
    Bonjour à tous,

    Je suis sur un projet sur le parsing d'un fichier xsd. Je suis sensé avoir comme Input un fichier "xsd" je suis sensé pouvoir dégager ses différentes éléments ainsi que ses attributs comme son type l'ennumération le use ... etc. Finalement à pouvoir parser un fichier xsd avec du code Java.

    J'ai trouvé des dizaine d'APIs Xsom, jaxb, DOM mais à vrai dire je ne sais pas laquelle choisir ou comment procéder.

    je joint une partie du fichier xsd que je veux parser.

    Merci pour vos réponses. Votre aide sera vraiement le bienvenue.

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    <xs:element name="S80.G01.00">
    	<xs:complexType>
    		<xs:sequence>
    			<xs:element ref="S80.G01.00.001.002" minOccurs="1" maxOccurs="1"  />
    			<xs:element ref="S80.G01.00.002" />
    			<xs:element ref="S80.G01.00.003.001" />
    			<xs:element ref="S80.G01.00.003.006" />
    			<xs:element ref="S80.G01.00.003.007" />
    			<xs:element ref="S80.G01.00.003.009" />
    			<xs:element ref="S80.G01.00.003.010" />
    			<xs:element ref="S80.G01.00.003.012" minOccurs="0" maxOccurs="1" />
    			<xs:element ref="S80.G01.00.003.013" minOccurs="0" maxOccurs="1" />
    			<xs:element ref="S80.G01.00.003.016" />
    			<xs:element ref="S80.G01.00.003.017" />
    			<xs:element ref="S80.G01.00.004.001" minOccurs="0" maxOccurs="1"/>
    			<xs:element ref="S80.G01.00.004.002" minOccurs="0" maxOccurs="1"/>
    			<xs:element ref="S80.G01.00.005" minOccurs="1" maxOccurs="1"/>
    			<xs:element ref="S80.G01.00.006"/>
    			<xs:element ref="S80.G01.00.007.001" minOccurs="0" maxOccurs="1"/>
    			<xs:element ref="S80.G01.00.007.002" minOccurs="0" maxOccurs="1"/>
    		</xs:sequence>
    	</xs:complexType>
    </xs:element>
    <xs:element name="S10.G01.00.002">
    	<xs:complexType>
    		<xs:attribute name="section" type="xs:string" use="optional"/>
    	</xs:complexType>
    </xs:element>
    <xs:element name="S10.G01.00.004">
    	<xs:complexType>
    		<xs:attribute name="section" type="xs:string" use="required"/>
    	</xs:complexType>
    </xs:element>
    <xs:element name="S10.G01.00.005">
    	<xs:complexType>
    		<xs:attribute name="section" type="xs:string" use="required"/>
    	</xs:complexType>
    </xs:element>
    <xs:element name="S10.G01.00.006">
    	<xs:complexType>
    		<xs:attribute name="section" type="xs:string" use="optional"/>
    	</xs:complexType>
    </xs:element>
    <xs:element name="S10.G01.00.007">
    	<xs:complexType>
    		<xs:attribute name="section" type="xs:string" use="optional"/>
    	</xs:complexType>
    </xs:element>
    <xs:element name="S10.G01.00.008">
    	<xs:complexType>
    		<xs:attribute name="section" type="xs:string" use="required"/>
    	</xs:complexType>
    </xs:element>
    <xs:element name="S10.G01.00.009">
        <xs:complexType>
            <xs:simpleContent>
                <xs:extension base="xs:string">
                    <xs:attribute name="Option" use="required">
                        <xs:simpleType>  
                            <xs:restriction base="xs:string">  
                               <xs:enumeration value="40"/>
    				<xs:enumeration value="42"/>
    				<xs:enumeration value="50"/>
    				<xs:enumeration value="52"/>
    				<xs:enumeration value="53"/>
    				<xs:enumeration value="58"/>
    				<xs:enumeration value="60"/> 
                            </xs:restriction>  
                        </xs:simpleType>  
                    </xs:attribute>  
                </xs:extension>
            </xs:simpleContent>
        </xs:complexType>

  2. #2
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    Dom est un modèle général pour structurer d'une façon parlante sur les informations reconnus comme quelque peu géneriques dans la cadre dom de xml, ceux qui sont portés par un document xml. Son discours est pour une portée "universel" (dans son univers qu'il fait le sien, bien entendu). Il n'est par conséquence pas spécialisé et ne se limité pas à xsd. Donc, si vous voulez "dégager [un schéma de] ses différentes éléments ainsi que ses attributs", il n'est capable de le faire sauf quelqu'un s'engage de faire tous les mécaniques d'en donner les sens qu'il dégage.

    Jaxb est déstiné pour faire le binding sur un xml pour mapper les infos portés par des xml aux modèles d'objets et vise versa. Si le modèle d'objet est doté pleinement les sens sémantiques qui se parlent dans l'univers schématique, ça peut faire ce que vous voulez faire mais c'est un chemin très très long...

    Il me semble XSOM est le candidat primaire pour le faire. Qu'est-ce que vous avez comme ressentiments à l'égard de XSOM ? Qu'on ne s'en sort des informations qu'on veut avoir de par XSOM exige encore beaucoup de travail mais bien plus abordable que les deux autres, il me semble.

Discussions similaires

  1. API Java pour parser un XML avec des balises avec nom de package
    Par rebelle49 dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 11/08/2014, 13h22
  2. [DOM4J] Parser un xsd avec dom4j
    Par ensi08 dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 29/08/2008, 00h29
  3. [XSD] Parser XSD avec API JAXP
    Par ALIAS200 dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 14/04/2007, 11h16
  4. Probleme avec la recherche directe de methodes sur une Class (API java.lang.reflect)
    Par CyberChouan dans le forum API standards et tierces
    Réponses: 14
    Dernier message: 25/01/2007, 17h12
  5. [DTD] Cherche une API JAVA pour parser une DTD
    Par nice dans le forum Format d'échange (XML, JSON...)
    Réponses: 13
    Dernier message: 15/06/2006, 16h00

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