DTD invalide

Fermé
Gilli Messages postés 1 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 24 avril 2007 - 24 avril 2007 à 00:05
 sivaphilippe - 24 avril 2007 à 23:55
Salut
Je travaille sur une application web.(tournant en php)
Je voudrais stocker les champs d'une table de la bdd (MySql)dans un fichier xml.
Pour cela voici une fonction que j'ai créer en php :

function f_evalcreatefichierxml($lnguserid,$lngevalid,$lngevalcampid)
{
global $strsqlns;
$strvaluetable=$strsqlns."EVAL";

//Requête sql pour récupérer les infos ds la bdd
$strsql="SELECT ID_EVAL, DESCRIPTION, ID_OWNER FROM ".$strsqlns."EVAL";


//exécution de la requete SQL
$q=f_sqlselect($strsql);
$number_of_products = f_sqlresultrowcount($q);

//création du fichier xml
$xml = '<?xml version="1.0" encoding="ISO-8859-1" ?>'.'<!DOCTYPE evaluation SYSTEM "evaluation.dtd">';
$xml .='<evaluation>';


while ($row = f_sqlresultfetcharray($q)) {

$xml .= '<EVAL>'.$row['ID_EVAL'].'</EVAL>';
$xml .= '<DESCRIPTION>'.$row['DESCRIPTION'].'</DESCRIPTION>';
$xml .= '<OWNER>'.$row['ID_OWNER'].'</OWNER>';

}
$xml .= '</evaluation>';

$fp = fopen("EvaluationMysqlToXml.xml", 'w+');
fputs($fp, $xml);
fclose($fp);

echo 'Export XML effectue !<br><a href="EvaluationMysqlToXml.xml">Voir le fichier</a>';

}






Voici le DTD qui va avec:

<?xml version="1.0" encoding="ISO-8859-1"?>

<!ELEMENT evaluation (EVAL,DESCRIPTION,OWNER)>
<!ELEMENT EVAL (#PCDATA)>
<!ELEMENT DESCRIPTION(#PCDATA)>
<!ELEMENT OWNER(#PCDATA)>


Mais j'ai une erreur de ce type la:

La page XML ne peut pas être affichée
Impossible d'afficher l'entrée XML en utilisant la feuille de style . Corrigez l'erreur, puis cliquez sur le bouton Actualiser ou réessayez ultérieurement.

--------------------------------------------------------------------------------
L'espace blanc requis était manquant. Erreur de traitement de la ressource file:///C:/dev/oxyd/home/webcompe/cpam94/back/ev...

<!ELEMENT DESCRIPTION(#PCDATA)>
----------------------^

Voila,je ne sais pas si j'étais trés clair,(ds ce cas ,je vous prie de m'excuser).
(selon moi ,il y aurait peut être une erreur au niveau de la dtd,ou au niveau de son réferencement)
Ce serait tres sympa de votre part de m'aider à ce sujet.
Merci

1 réponse

kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
24 avril 2007 à 18:02
Ta DTD ne devrait pas plutot etre :
<!ELEMENT evaluation (EVAL,DESCRIPTION,OWNER)>
<!ELEMENT EVAL (#PCDATA)>
<!ELEMENT DESCRIPTION (#PCDATA)>
<!ELEMENT OWNER (#PCDATA)> 


(Ajout d'un espace entre DESCRIPTION et (#PCDATA) pui OWNER et (#PCDATA)
0
sivaphilippe
24 avril 2007 à 23:55
je te remercie beaucoup d'avoir répondu!
oui tu as raison ,j'ai corrigé cet erreur .

voici la page css que je fais corespondre au fichier xml
evaluation {font-family: 'times new roman'; font-size:12pt; display:block;}
EVAL{color:blue; font-style:italic;}
DESCRIPTION{color:blue; font-style:italic;}
OWNER{color:blue; font-style:italic;}


voici la page que j'obtiens :
1951 Evaluation du 0/0/0 2



Mais ce que j 'aurais désirer afficher (ds cette mise en forme):

evaluation:1951
Description:Evaluation du 0/0/0
owner: 2

evaluation ,Description,owner sont mes balises

ce serait sympa si tu pouvais m'indiquer ce que je dois modifier ds mon fichier css ,voir ds mon fichier xml

Merci d'avance
0