Bonjour,
Je souhaiterai connaitre le valeur d'une entité interne (ie déclaration contenue dans le doctype), à savoir par exemple :
Sur un forum ami, une personne m'a conseillé de parser avec XMLReader (ce que j'ai fait), mais ce parser n'a pas l'air de vouloir prendre en compte mon noeud <!DOCTYPE> (si on peut appeler cela un noeud)
me retourne : 7 10 1 14 1 14 1 14 1 3 (le document est valide !)
- 7 correspond à <?xml-stylesheet type="text/xsl" href="xhtml.xsl"?>
- 10 correspond à <root> (la racine de mon document
Je n'ai pas de type 6 (XMLReader::ENTITY)
Comment (une autre méthode, peut-être) récupérer cet entité...
Merci par avance
Modifié par djaps (29 Nov 2009 - 12:03)
Je souhaiterai connaitre le valeur d'une entité interne (ie déclaration contenue dans le doctype), à savoir par exemple :
<?xml version="1.0" encoding="ISO-8859-1" standalone="no" ?>
<?xml-stylesheet type="text/xsl" href="xhtml.xsl"?>
<!DOCTYPE root SYSTEM "djaps.dtd" [
<!ENTITY wifi "<abbr xml:lang='en' title='ADSL via Wireless Fidelity'>WiFi</abbr>">
]>
<root>...</root> <!-- ce document n'est pas vide [cligne] -->
Sur un forum ami, une personne m'a conseillé de parser avec XMLReader (ce que j'ai fait), mais ce parser n'a pas l'air de vouloir prendre en compte mon noeud <!DOCTYPE> (si on peut appeler cela un noeud)
function findentity() {
$xml = new XMLReader();
$xml->open('code_ci_dessus.xml');
$xml->setParserProperty(3,true); #valide le document [cligne]
$n=0;
while($xml->read()) {
if ( $n++<10 ) {
echo $xml->nodeType." ";
}
if ( $xml->nodeType == 6 ) { # 6 pour déclaration entités
echo "name : ".$xml->name;
echo " / value : ".$xml->value;
}
}
$xml->close();
}
findentity();
me retourne : 7 10 1 14 1 14 1 14 1 3 (le document est valide !)
- 7 correspond à <?xml-stylesheet type="text/xsl" href="xhtml.xsl"?>
- 10 correspond à <root> (la racine de mon document
Je n'ai pas de type 6 (XMLReader::ENTITY)

Comment (une autre méthode, peut-être) récupérer cet entité...
Merci par avance
Modifié par djaps (29 Nov 2009 - 12:03)