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 :

structurer un calendrier en XML


Sujet :

XML/XSL et SOAP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 504
    Par défaut structurer un calendrier en XML
    Bonjour,

    Voilà, d'hab, je n'utilise jamais le XML, et je me dit que je vais finir par mourir idiot si je ne m'y intéresse pas un peu.

    Or, j'ai justement une petite appli web a faire dans laquelle je doit afficher un calendrier susceptible de contenir divers types de données (des rdv, des taches et d'autres types d'info) ainsi que des propriétés variées (vacance, férié...).

    Je me dit que ça serait p'tet l'occasion de faire générer par mon serveur un fichier XML qui stockerai mon calendrier que j'afficherai ensuite via javascript.

    Donc question, que serait une structure de stockage judicieuse pour un calendrier XML ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <calendrier>
       <semaine>
          <numero>32</numero>
          <lundi>
              <jour_du_mois>3</jour_du_mois>
              <tache>...</tache>
          </lundi>
          <mardi>
              <jour_du_mois>4</jour_du_mois>
              <vacance>true</vacance>
          </mardi>
       </semaine>
    </calendrier>
    Moi, ça me parait pas bon. Des suggestions ?

  2. #2
    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
    Pourquoi pas, même si personnellement j'aurais plutôt fait une description genre ical (indiquer en vrac tous les évènements et quand ils apparaissent, de préférence dans l'ordre,) plutôt que décrire chaque semaine et chaque jour, même quand il n'y a rien.

    Ce que je vois qui ne va pas :

    - des balises <lundi>, <mardi>, etc, non. Pas pratique pour automatiser. Remplace à la rigueur par <jour nom="lundi"> ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <jour>
      <nom>lundi</nom>
    Mais en réalité, si tu décris de toute façon tous les jours de la semaine, et que tu utilises la semaine française, tu te doutes bien que le premier <jour> est lundi et le second <jour> est mardi. Ça va pas changer, ou quand ça changera, ce sera loin d'être la seule chose à corriger.

    - la combinaison "numéro de semaine + jour de la semaine" est redondante avec le "jour du mois." En XML ou ailleurs ce genre de redondance n'est qu'un encouragement à la contradiction, à moins que l'application utilisatrice ait du mal à calculer elle-même ce genre de choses.

    - <tache> a l'air un peu trop précis. Il faudrait pas que tu aies genre <tache>, <rendez-vous> et <anniversaire>, avec toujours le même contenu. Même problème que les <lundi>, <mardi>, remplacer par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <evenement>
      <type>tache</type>
      <heure>13:00</heure>
      ...
    </evenement>
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre chevronné
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 504
    Par défaut
    Merci beaucoup d'avoir pris le temps de me répondre !

    Citation Envoyé par thelvin Voir le message
    Pourquoi pas, même si personnellement j'aurais plutôt fait une description genre ical (indiquer en vrac tous les évènements et quand ils apparaissent, de préférence dans l'ordre,) plutôt que décrire chaque semaine et chaque jour, même quand il n'y a rien.
    Pour ce point précis, l'idée est d'utiliser les librairies de gestion de dates coté serveur et ne rien laissé au client, pas même le soin de construire le calendrier, d'où la nécessité de transmettre le calendrier lui même en plus des événements.


    - des balises <lundi>, <mardi>, etc, non. Pas pratique pour automatiser. Remplace à la rigueur par <jour nom="lundi"> ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <jour>
      <nom>lundi</nom>
    Mais en réalité, si tu décris de toute façon tous les jours de la semaine, et que tu utilises la semaine française, tu te doutes bien que le premier <jour> est lundi et le second <jour> est mardi. Ça va pas changer, ou quand ça changera, ce sera loin d'être la seule chose à corriger.
    C'est le point qui me posait le plus de problème. Je vais suivre tes recommandations !

    - la combinaison "numéro de semaine + jour de la semaine" est redondante avec le "jour du mois." En XML ou ailleurs ce genre de redondance n'est qu'un encouragement à la contradiction, à moins que l'application utilisatrice ait du mal à calculer elle-même ce genre de choses.
    je comprend, mais effectivement, je veux limiter au max les calculs coté client et tout gérer au niveau serveur. C'est donc affichage pur coté client.

    Du coups, je me pose depuis longtemps la question, mais qu'est ce qui fait qu'on doit utiliser plutôt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <jour nom="Lundi"></jour>
    plutôt que

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <jour><nom>Lundi</nom></jour>
    ou inversement ?

    Et encore merci pour cette réponse !

  4. #4
    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
    Pas grand-chose.
    Une question de préférence peut-être. la version attribut <jour nom="Lundi"></jour> n'est pas extensible et assez peu adaptée aux textes riches.

    Alors que dans l'autre cas on peut prévoir des enrichissements plus tard :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <jour>
      <name xml:lang="fr">lundi</name>
      <name xml:lang="en">monday</name>
      <name xml:lang="de">Monntag</name>
    </jour>
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <jour>
      <name>lundi<fun> de Pâques !</fun></name>
    </jour>
    Par opposition, la version attribut peut sembler plus "confortable" en cela qu'elle est plus compacte, plus lisible, qu'elle assure qu'elle restera simple, unique et non extensible, ce qui simplifie sa maintenance.
    À condition qu'on soit certain que l'information qu'on met dedans est de nature à rester simple comme ça. Souvent ce sont des identifiants, des nombres, des dates, des valeurs énumérées, bref des types simples. Ici, le nom d'un jour qui ne peut prendre que 7 valeurs et ne variera pas, est très adapté.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre chevronné
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 504
    Par défaut
    un grand merci pour ces éclaircissements !

  6. #6
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    Pour ma part je préfère en général utiliser des attributs, surtout dans un cas comme ça où tu peux avoir des valeurs énumérées (que tu peux donc spécifier dans ta DTD/XSD).

    J'écrirais donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <jour nom="lundi"/>
    <evenement type="tache" heure="12h34"/>
    Déjà je trouve ça moins verbeux (donc plus lisible par un être humain, pratique pour débugguer) et ça prends moins de place en mémoire/sur le réseau.

    J'utilise les noeuds textes pour le contenu uniquement en général :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <evenement type="tache" heure="12h34">
      <commentaire>Ne pas oublier de manger aujourd'hui, marre de ces crises d'hypoglycémie !</commentaire>
    </evenement>
    Après, comme l'a dit thelvin, y'a pas vraiment de "bonne pratique" (en tout cas j'en connais pas) et c'est à la discretion du concepteur de faire les choix qu'il veut.
    Par contre je te conseille vivement de prendre en considération la place que ton fichier pourra prendre, surtout si tu le fais transiter par le réseau.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JSON] Lire structure JSON dans fichier XML
    Par Mister Nono dans le forum Format d'échange (XML, JSON...)
    Réponses: 7
    Dernier message: 01/04/2013, 13h04
  2. [XML] Structure d'un fichier XML
    Par Sytchev3 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 17/05/2012, 10h32
  3. parcourir la structure d'un document xml (fichier .xsd ou .dtd)
    Par hajlao dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 28/06/2011, 16h03
  4. Affichage de la structure d'un document XML:
    Par choko83 dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 27/03/2007, 10h44
  5. Insérer un calendrier Flash/XML dans une page PHP
    Par paricilas dans le forum Flash
    Réponses: 3
    Dernier message: 23/02/2007, 15h29

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