Pratique de MySQL et PHP- P70:Quand la première édition de ce livre est parue, en janvier 2001, la réputation de MySQL et de PHP était déjà bien établie. Ces deux outils étaient connus pour être fiables, performants, pratiques et bien adaptés à une utilisation très spécialisée : la production dynamique de pages HTML. | Export de données XML 323 EXPORT DE DONNÉES XML Passons maintenant à la pratique en commençant par la mise en forme d une base de données relationelle en XML. Commençons par discuter des principes avant de montrer comment réaliser un module PHP qui permet d exporter tout ou partie de notre base de films. Comment passer d une base MySQL à XML Les règles de transformation d une base relationnelle en XML ne vont pas forcément de soi. Il y a plusieurs choix à faire dont certains sont naturels et d autres plus ou moins arbitraires. Éléments ou attributs La première solution immédiate consiste à conserver la structure plate de la base relationnelle et à transcrire chaque table par un élément ayant le nom de la table ou un dérivé par exemple Films . Cet élément contient lui-même un élément pour chaque ligne ayant pour nom un autre dérivé du nom de la table par exemple Film sans s enfin chaque attribut de la table est représenté par un élément constituant ainsi un troisième niveau dans l arbre. Il existe au moins une autre possibilité. Au lieu de représenter les attributs de la table par des éléments on peut les représenter par des attributs XML de l élément représentant la ligne. Voici ce que cela donnerait pour la table Film avec deux films. Exemple Représentation de Film avec des attributs xml version encoding ISO-8859-1 Films Film titre Sleepy Hollow annee 1999 code_pays USA genre Fantastique id_realisateur 13 Film titre Eyes Wide Shut annee 1999 code_pays USA genre Thriller id_realisateur 101 Films Cette méthode présente quelques avantages. Tout d abord elle est assez proche conceptuellement de la représentation relationnelle. Chaque ligne d une table devient un élément XML chaque attribut de la ligne devient un attribut XML de l élément. La structure est plus fidèlement retranscrite et notamment le fait 324 Chapitre 8. XML qu une ligne d une table forme un tout manipulé solidairement par les langages. En SQL par exemple on n accède