Professional Documents
Culture Documents
Modlisation de XML : choix de structures pour la reprsentation des donnes par Erwan Amoureux (http://erwy.developpez.com/)
1 - Rgles de cration de documents XML................................................................................................................ 3 1-A - Exemple 1 : smantique............................................................................................................................... 3 1-B - Exemple 2 : de l'usage des attributs............................................................................................................ 3 1-C - Exemple 3 : une structure ordonne............................................................................................................ 4 1-D - Exemple 4 : hirarchie et arborescence.......................................................................................................5 2 - Utilisations de multiples XML.................................................................................................................................7 2-A - Problmatique du XML unique..................................................................................................................... 7 2-B - Organisation des XML.................................................................................................................................. 7
-2Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2010 - Erwan Amoureux. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://erwy.developpez.com/tutoriels/xml/modelisation-xml-choix-structures-pour-representation-donnees/
Modlisation de XML : choix de structures pour la reprsentation des donnes par Erwan Amoureux (http://erwy.developpez.com/)
On supposera que pr correspond au prnom et no au nom mais qu'en est-il de num ? Est ce un numro de tlphone interne ? Un matricule ? Un code de bureau ? Ce type d'erreur peut coter trs cher en maintenance ou en dveloppement, en particulier lors de passage de connaissance. Un format XML est fait pour tre utilis par de nombreuses personnes, son sens doit tre le plus clair possible. xml
-3Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2010 - Erwan Amoureux. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://erwy.developpez.com/tutoriels/xml/modelisation-xml-choix-structures-pour-representation-donnees/
Modlisation de XML : choix de structures pour la reprsentation des donnes par Erwan Amoureux (http://erwy.developpez.com/)
on prfrera : xml
<?xml version="1.0"?> <annuaire> <personne> <prenom>Claude</prenom> <nom>Bernard</nom> <TelFixe>0136784478</TelFixe> <TelPort>0675789078</TelPort> </personne> </annuaire>
Cette version risque en plus de devoir tre modifie, si la personne a un fixe personnel et professionnel. Verra-t-on alors apparatre TelFixePerso, TelFixePro ? Ceci posera un problme par la suite. En effet, dans tous les traitements lis au XML, de la validation la transformation tout est centr sur l'lment et donc principalement sur son nom. Rajouter un nouvel lment n'est donc jamais neutre. Il est toujours prfrable d'ajouter une nouvelle valeur d'attribut, celle-ci pouvant se permettre d'tre plus exhaustive xml
<?xml version="1.0"?> <annuaire> <personne> <prenom>Claude</prenom> <nom>Bernard</nom> <Tel type="fixe personnel">0136784478</Tel> <Tel type="fixe professionnel">0136778945</Tel> <Tel type="portable personnel">0675789078</Tel> </personne> </annuaire>
-4Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2010 - Erwan Amoureux. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://erwy.developpez.com/tutoriels/xml/modelisation-xml-choix-structures-pour-representation-donnees/
Modlisation de XML : choix de structures pour la reprsentation des donnes par Erwan Amoureux (http://erwy.developpez.com/)
xml
Il faut savoir que les langages et outils de slections sur XML permettent tous : de rcuprer le nime lment ; de connatre le nombre d'lments et/ou de slectionner automatiquement le dernier.
De fait l'attribut num ici n'est indispensable que si trois conditions sont prsentes : si l'ordre est une information pertinente ; si le fichier peut tre modifi ; si la cration/modification ne garantie pas une squence valide des lments.
<?xml version="1.0" encoding="UTF-8"?> <livre> <chapitre num="1"> <titre>A</titre> <corps>....</corps> </chapitre> <chapitre num="1.1"> <titre>AA</titre> <corps>....</corps> </chapitre> <chapitre num="1.1.1"> <titre>AAA</titre> <corps>....</corps> </chapitre> <chapitre num="1.1.2"> <titre>AAB</titre> <corps>....</corps> </chapitre> <chapitre num="1.2"> <titre>AB</titre> <corps>....</corps> </chapitre> <chapitre num="2"> <titre>B</titre> <corps>....</corps> </chapitre> <chapitre num="2.1"> <titre>BB</titre> <corps>....</corps> </chapitre> </livre>
Cette donne est naturellement arborescente. Cette forme squentielle impose de lourds traitements pour pouvoir repasser dans un format arborescent. De plus, des instructions spcifiques , en particulier en XSLT (xsl:number) permettent l'quivalent de numrotation de l'attribut num. Dans le domaine de la donne, toute donne superflue ou rpte est quivalente du bruit et introduit un risque d'erreur supplmentaire en cas de modification.
-5Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2010 - Erwan Amoureux. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://erwy.developpez.com/tutoriels/xml/modelisation-xml-choix-structures-pour-representation-donnees/
Modlisation de XML : choix de structures pour la reprsentation des donnes par Erwan Amoureux (http://erwy.developpez.com/)
<?xml version="1.0" encoding="UTF-8"?> <livre> <chapitre num="1"> <titre>A</titre> <corps>....</corps> <chapitre num="1.1"> <titre>AA</titre> <corps>....</corps> <chapitre num="1.1.1"> <titre>AAA</titre> <corps>....</corps> </chapitre> <chapitre num="1.1.2"> <titre>AAB</titre> <corps>....</corps> </chapitre> </chapitre> <chapitre num="1.2"> <titre>AB</titre> <corps>....</corps> </chapitre> </chapitre> <chapitre num="2"> <titre>B</titre> <corps>....</corps> <chapitre num="2.1"> <titre>BB</titre> <corps>....</corps> </chapitre> </chapitre> </livre>
Mais comme nous l'avons vu dans la partie prcdente, la numrotation des chapitres est redondante par rapport la structure du fichier ci-dessous. xml
<?xml version="1.0" encoding="UTF-8"?> <livre> <chapitre> <titre>A</titre> <corps>....</corps> <chapitre> <titre>AA</titre> <corps>....</corps> <chapitre> <titre>AAA</titre> <corps>....</corps> </chapitre> <chapitre> <titre>AAB</titre> <corps>....</corps> </chapitre> </chapitre> <chapitre> <titre>AB</titre> <corps>....</corps> </chapitre> </chapitre> <chapitre> <titre>B</titre> <corps>....</corps> <chapitre> <titre>BB</titre> <corps>....</corps> </chapitre> </chapitre>
-6Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2010 - Erwan Amoureux. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://erwy.developpez.com/tutoriels/xml/modelisation-xml-choix-structures-pour-representation-donnees/
Modlisation de XML : choix de structures pour la reprsentation des donnes par Erwan Amoureux (http://erwy.developpez.com/)
xml
</livre>
-7Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2010 - Erwan Amoureux. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://erwy.developpez.com/tutoriels/xml/modelisation-xml-choix-structures-pour-representation-donnees/