I try to validate a XML with a DTD files :
XML
<?xml version="1.0"?>
<!DOCTYPE LISTE_RAPPORT SYSTEM "../sys/\DTD_doc_visu.DTD">
<LISTE_RAPPORT>
<SUJET NUMERO="2">
<TITRE>AAA</TITRE>
<PROF_RESP>AAA</PROF_RESP>
<ETUDIANT>AAA</ETUDIANT>
<FICHIER_RAPPORT>AAA</FICHIER_RAPPORT>
<FICHIER_PRESENTATIONAAA</FICHIER_PRESENTATION>
<DATE_PRESENTATION>AAA</DATE_PRESENTATION>
</SUJET>
</LISTE_RAPPORT>
DTD
<!ELEMENT LISTE_RAPPORT (SUJET)>
<!ELEMENT SUJET (TITRE, PROF_RESP, ETUDIANT+, FICHIER_RAPPORT?, FICHIER_PRESENTATION?, DATE_PRESENTATION?)>
<!ATTLIST SUJET
NUMERO CDATA #REQUIRED
<!ELEMENT TITRE (#PCDATA)>
<!ELEMENT PROF_RESP (#PCDATA)>
<!ELEMENT ETUDIANT (#PCDATA)>
<!ELEMENT FICHIER_RAPPORT (#PCDATA)>
<!ELEMENT FICHIER_PRESENTATION (#PCDATA)>
<!ELEMENT DATE_PRESENTATION (#PCDATA)>
PHP
$append = domxml_open_file($fichier_XML);
if(domxml_doc_validate($append, $error)){
XMLSPY says that the path are correct, I've tried :
file://C:\Program Files\EasyPHP1-7\www\sys\DTD_doc_visu.DTD"
"C:\Program Files\EasyPHP1-7\www\sys\DTD_doc_visu.DTD"
But there is always the same message :
Warning: Sablotron error on line 1: XML parser error 4: not well-formed (invalid token) in c:\program files\easyphp1-7\www\sys\fonctions_prive.php on line 97
Warning: domxml_doc_validate(): Could not load the external subset "C:\Program Files\EasyPHP1-7\www\sys\DTD_doc_visu.DTD" in ...
But XMLSPY validate my DTD and XML,
Please Heeeeelp ;-)