Aller au contenu

Les Schémas XML et PHP


Aenoa
Aller à la solution Solutionné par Portekoi,

Sujets conseillés

Bonjour bonjour !

Je travailles actuellement sur un projet de "mini-CMS" pour un jeu vidéo, et je suis heurté à un problème de taille.

En effet, vu qu'il s'agit d'un CMS, toute personne pourra l'obtenir et toute personne pourra donc uploader son propre XML.

Toutefois, le XML doit répondre à une structure bien précise, et c'est là que ça bloque: comment faire?

J'ai regardé au niveau de simplexml avec la fonction "new DOM" et "->validate" mais cela reste très obscur pour moi.

Voici ma fonction faisant le traitement du xml:

function import_xml_to_array($xml_address)	{		$xmlstr = simplexml_load_file($xml_address);				$returned_var = array();		$returned_var['clan_NAME']	= $xmlstr->name;		$returned_var['clan_URL']	= $xmlstr->web;		$returned_var['clan_MAIL']	= $xmlstr->email;		$returned_var['clan_TITLE']	= $xmlstr->title;		$returned_var['clan_TAG']	= $xmlstr['nick'];				$returned_var['member'] = array();		$i = 0;		foreach($xmlstr->member as $member)		{			$returned_var['member'][$i]				= array();			$returned_var['member'][$i]['ID']		= $member['id'];			$returned_var['member'][$i]['NICK']		= $member['nick'];			$returned_var['member'][$i]['NAME']		= $member->name;			$returned_var['member'][$i]['EMAIL']	= $member->email;			$returned_var['member'][$i]['ICQ']		= $member->icq;			$returned_var['member'][$i]['REMARK']	= $member->remark;			$i ++;		}				return $returned_var;	}

et voici une structure basique du xml en question: (la balise <member> est répétable)


<?xml version="1.0"?>	<!DOCTYPE squad SYSTEM "A2Squad.dtd">	<?xml-stylesheet href="A2Squad.xsl" type="text/xsl"?><squad nick="NULL">	<name>contenu1</name>	<email>contenu2</email>	<web>contenu3</web>	<picture>image_avatar</picture>	<title>N/A</title>		<member id="0" nick="Invalid">			<name>membre_champ1</name>			<email>membre_champ2</email>			<icq>membre_champ3</icq>			<remark>membre_champ4</remark>		</member></squad>

j'ai trouvé ces quelques sites expliquant comment faire, mais cela reste très mystérieux pour moi.

http://xmlfr.org/w3c/TR/xmlschema-0/

http://www.grappa.univ-lille3.fr/~torre/Enseignement/Cours/XML/xmlschema.php

Auriez-vous une idée de comment faire de manière simple et compréhensible ?

Cordialement,

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...