[XML]-Manipuler les données d'une encyclopédie - Au secour XML, vous êtes mon seul espoir

Voilà je suis face à un problème avec mon encyclopédie starwars. Si vous parcourez rapidement le site, et notament les fiches, vous noterez que selon le type de fiche on a une sorte de “carte d’identité” différente. Par exemple pour les vaisseaux on parle vitesse, constructeur et prix, alors que pour un personnage on parle plus de sa naissance, sa taille et son affiliation.

Seulement toutes les fiches sont sauvées de façon strictement identique dans la base de données, en gros c’est du texte brut, avec du html pour la mise en forme dans un champ dédié à celà.

Je viens d’avoir quelques cours de XML, et je comprends mieux ce que permet de faire ce fameux XML dont sans-nom me rabache les oreilles depuis si longtemps ^^

Donc ma question : je voudrais pouvoir utiliser ces données spécifiques sur d’autres pages, comme pouvoir faire un comparatif des vaisseaux en fonction de leur taille par exemple. Aujourd’hui je ne peux le faire, mais XML me permettrait-il d’y arriver ?

Par quels moyens ?

PS: parlez doucement et en français de tout le monde hein, je débute là dedans et suis pas très compétent en prog en général :slight_smile:

Merci par avance !

XML + XSL devrait faire ton bonheur :wink:
XML permettant la structure de tes données, et XSL te permet de les afficher d’une certaines facon, de les trier etc :slight_smile:

XML (comme les bases de données d’ailleurs) peut être construit selon un modèle objet.

Je ne sais pas ce que tu veux faire, mais avant de faire du XML, essaye déjà de dégager une structure à partir de tes fiches. Je ne peux pas te guider sur Starwars, mais prenons un exemple tout bête :

Une encyclopédie botannique.

Tu aurais quoi? Et bien des plantes :

avec un nom, une espèce, une race, un nom latin.

Derrière, tu aurais les légumes, qui formeraient une catégorie, avec ses attributs propres.
Et pareil pour les fruits.

De là tu as une certaine structure (et encore une fois, j’ai pas d’exemple sous la main) te permettant de dégager un balisage adéquat, voire une fonction de stocker tes données dans la base de données qui soit correcte.

XML te permettra surtout de stocker tes données, de façon structurées
XSL de les présenter avec un autre langage de balisage (typiquement HTML ou XHTML)
CSS aussi

Par contre, pour faire des comparatifs (genre entre un X wing et un Y Wing), ça passerait plutôt par PHP et justement, une bonne base de données, mais ça c’est une autre histoire

Je suis peut-être HS, mais est-ce que tu ne pourrait pas directement mettre du xml dans ton champ “article”, quitte à avoir (éventuellement) des données redondantes avec les autres champs.
Pour un puriste de SGBDR les données redondante c’est mal, mais si c’est bien géré…
Comme ça tu défini la structure que tu veux stocker indépendamment de ta base.