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

XML/XSL et SOAP Discussion :

Ordre des éléments


Sujet :

XML/XSL et SOAP

  1. #1
    Membre averti
    Homme Profil pro
    Collégien
    Inscrit en
    Octobre 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Collégien
    Secteur : Alimentation

    Informations forums :
    Inscription : Octobre 2014
    Messages : 36
    Par défaut Ordre des éléments
    Bonjour! Je suis entrain de rédiger un fichier xml et j'ai de la difficulté à saisir l'ordre des éléments.
    Voici le fichier dtd que je dois respecter:


    Code xml : 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
    <!ELEMENT book (bookinfo,chapter*)>
    <!ELEMENT chapter (title,section*)>
    <!ELEMENT title (#PCDATA)>
    <!ELEMENT bookinfo (title,author,copyright)>
    <!ELEMENT author (firstname,surname)>
    <!ELEMENT copyright (year,holder)>
    <!ENTITY % divers "para|programlisting|itemizedlist|orderedlist">
    <!ELEMENT section (title,(%divers+)>
    <!ELEMENT para (#PCDATA)>
    <!ELEMENT programlisting (#PCDATA)>
    <!ELEMENT holder (#PCDATA)>
    <!ELEMENT surname (#PCDATA)>
    <!ELEMENT firstname (#PCDATA)>
    <!ELEMENT year (#PCDATA)>
    <!ELEMENT itemizedlist (listitem+)>
    <!ELEMENT orderedlist (listitem+)>
    <!ELEMENT listitem (%divers+>

    Ce que j'ai fait à date :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <book>
    <bookinfo>
    <chapter>
    <title></title>
    <section></section>
    </chapter>
    <author>
    <firstname></firstname>
    <surname></surname>
    </author>
    </bookinfo>
     
    </book>

    Pouvez-vous m'aider avec la suite des éléments?

    Merci!

  2. #2
    Membre Expert Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Par défaut
    Au commencement c'est déjà mal foutu.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <!ELEMENT book (bookinfo,chapter*)>
    Cela veut dire bookinfo et chapter soient les seules enfants admissibles de book; elles apparaissent dans un order strict : bookinfo d'abord et obligatoire, puis un nombre indéterminé de chapter, y compris le cas d'aucun de chapter (*).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <book>
        <bookinfo>
            <!-- etc etc... -->
        </bookinfo>
        <!-- zero ou un ou plus de chapter... -->
        <chapter>
            <!-- etc etc... -->
        </chapter>
    </book>
    Le rest, c'est à vous.

  3. #3
    Membre averti
    Homme Profil pro
    Collégien
    Inscrit en
    Octobre 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Collégien
    Secteur : Alimentation

    Informations forums :
    Inscription : Octobre 2014
    Messages : 36
    Par défaut
    Merci pour cette clarification, voici mon nouveau code :

    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
     
    <book>
        <bookinfo>
            <title></title>
            <author>
                <firstname></firstname>
                <surname></surname>
            </author>
            <copyright>
                <year></year>
                <holder></holder>
            </copyright>
        </bookinfo>
        <chapter>
            <title></title>
            <section>
                <title></title>
                <para></para>
                <programlisting></programlisting>
                <itemizedlist></itemizedlist>
            </section>
        </chapter>
        <chapter>
            <title></title>
            <section>
                <title></title>
                <para></para>
                <orderedlist></orderedlist>
            </section>
        </chapter>
    </book>
    Le seul élément qui me pose problème c'est listitem, pourriez-vous me dire ou devrais-je le placer?

    merci pour l'aide!

  4. #4
    Membre Expert Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Par défaut
    C'est beaucoup mieux.

    Alors l'entité dit "parameter entity" divers veut dire qu'il se représente un choix, parmi des éléments para, programlisting, itemizedlist et orderedlist, l'un ou l'autre.

    Pour para et programlisting, c'est simplement avec un contenu simple, un texte. Pour itemizedlist et orderedlist, c'est plus compliqué parce qu'ils ont itemlist comme le seul enfant possible et pourtant itemist, lui-même peut rappeler encore l'entité divers; donc, c'est une récursivité ...

    Pour référencier l'entité divers, il faut mettre un point-virgule à la fin : (%divers+ et là il me semble qu'il y a une erreur de syntaxe.

    En ce qui concerne le placement listiem qui est enfant, c'est simple. Un instance illustre la récursivité peut apparaître comme ça.
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <itemizedlist>
        <itemlist>
            <para>xyz</para>
            <programlisting>abc</programlisting>
            <orderedlist>
                <itemlist>
                    <programlisting>def</programlisting>
                </itemlist>
            </orderdist>
        </itemlist>
        <itemlist>
            <para>pqr</para>
        </itemlist>
    </itemizedlist>
    Même pour orderedlist.

    Voyez aussi, la récursion s'arrêt avec para ou programlisting et recommence avec itemizedlist et orderedlist. C'est ça que le dtd veut dire.

  5. #5
    Membre averti
    Homme Profil pro
    Collégien
    Inscrit en
    Octobre 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Collégien
    Secteur : Alimentation

    Informations forums :
    Inscription : Octobre 2014
    Messages : 36
    Par défaut
    Merci encore une fois pour ton aide, c'est très apprécié!
    Malheureusement, malgré deux heures passé à essayer, je n'y arrive pas.

    J'obtiens toujours des erreurs quand j'essaie d'intégrer itemizedlist, orderedlist and itemlist.

    Pourrais tu me donner un exemple avec tout le code ensemble?

    Merci 1000 fois!

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Hmm, pourrais-tu plutôt, toi, montrer quelques-uns des nombreux trucs que tu as essayé pendant toutes ces heures ?

    Qu'on puisse expliquer en quoi c'est pas ce qui avait été dit.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre Expert Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Par défaut
    J'ai fait, dans mes posts, des typos (évidents ? je ne sais pas ... comme itemlist au lieu de listitem qu'on doit y mettre, ou </orderdist> au lieu de </orderedlist>. Ce n'est pas trop graves, mais si vous ne faites pas d'attention ...

    Mais il y a des choses plus graves si vous n'avez pas assez d'idées en ce que j'entends à dire.

    D'abord les écritures de parameter entity dans le dtd en maint endroit sont fautes. Pour votre bénéfice, je peux re-lister ce qu'il faut s'écrire. Je veux dire aussi tout de suite qu'il vous faut le sauvegarder dans un fichier extérieur (comme book.dtd à titre d'exemple seulement).

    Je veux dire qu'il faut être chargé comme un sous-ensemble externe ('external subset') des documents xml, sinon, c'est-à-dire en le mettant comme internal subset, la syntaxe utilisée reste problèmatique et incorrect dans le détail.

    Code dtd : 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
    <!ELEMENT book (bookinfo,chapter*)>
    <!ELEMENT chapter (title,section*)>
    <!ELEMENT title (#PCDATA)>
    <!ELEMENT bookinfo (title,author,copyright)>
    <!ELEMENT author (firstname,surname)>
    <!ELEMENT copyright (year,holder)>
    <!ENTITY % divers "para|programlisting|itemizedlist|orderedlist">
    <!ELEMENT section (title, (%divers;)+)>
    <!ELEMENT para (#PCDATA)>
    <!ELEMENT programlisting (#PCDATA)>
    <!ELEMENT holder (#PCDATA)>
    <!ELEMENT surname (#PCDATA)>
    <!ELEMENT firstname (#PCDATA)>
    <!ELEMENT year (#PCDATA)>
    <!ELEMENT itemizedlist (listitem+)>
    <!ELEMENT orderedlist (listitem+)>
    <!ELEMENT listitem (%divers;)+>
    Faites beaucoup d'attention aux détails : sur ceux qui sont différents par rapport à ce que vous avez montrés.

    Et puis, dans les documents xml, vous le référenciez avec, comme l'usage normal en simplifiant beaucoup :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <!DOCTYPE book SYSTEM "book.dtd">

Discussions similaires

  1. [C#] Inverser l'ordre des éléments d'une Hashtable
    Par lancer83 dans le forum Windows Forms
    Réponses: 10
    Dernier message: 31/08/2006, 20h03
  2. [Struts] ordre des éléments dans un tableau de propriétés
    Par zais_ethael dans le forum Struts 1
    Réponses: 2
    Dernier message: 09/05/2006, 15h54
  3. [XSL][débutant]trié l'ordre des éléments d'un fichier xml
    Par pistache42 dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 19/04/2006, 10h37
  4. [XSL] Ordre des éléments présentés
    Par Cupidon dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 23/01/2006, 13h58
  5. [C#] ordre des éléments dans un datagrid
    Par liliprog dans le forum ASP.NET
    Réponses: 3
    Dernier message: 19/09/2005, 16h31

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