ProcessingInstruction marche pas !!!

darktonight Messages postés 51 Date d'inscription mardi 4 mars 2003 Statut Membre Dernière intervention 23 juillet 2004 - 11 mars 2003 à 16:15
darktonight Messages postés 51 Date d'inscription mardi 4 mars 2003 Statut Membre Dernière intervention 23 juillet 2004 - 12 mars 2003 à 11:49
Bonjour voila mon probleme, je parse (validant) un fichier XML avec SAX 1.0, j'utilise les handlers de facon typique comme cela est indiqué dans tous bon bouquain, tous les handlers sont reconnus lors du parsage sauf un, le processingInstruction :

public void processingInstruction()
throws SAXException{
String entete = "<?xml version="1.0"?>";
ecris(entete);
}

La classe est bien bonne, puisque si je lance directement processingInstruction(); j'ai le résultat attendu, c'est donc que SAX ne reconnait pas cet handler et qu'il ne lance donc pas la classe.
Pourquoi ???
Est ce parceque je n'ai que SAX 1.0 ?
Merci.

2 réponses

cs_Duss Messages postés 890 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 29 juillet 2004 11
12 mars 2003 à 09:13
salut,
dans quel but veux tu te servir de processingInstructions ?
cela sert si tu veux faire de la transformation avec xsl/xslt
donc si tu ne le fait pas, ta methode ne sera pas appelée par le parser, c'est normal !
Duss
0
darktonight Messages postés 51 Date d'inscription mardi 4 mars 2003 Statut Membre Dernière intervention 23 juillet 2004 1
12 mars 2003 à 11:49
Non je n'utilise pas XSLT, je veux utiliser processingINstruction pour récupérer le contenu de ma balise <?xml version="1.0" ?>
Car j'ai trouvé que processingInstruction permettait de récuperer un string target(xml) et un string data(version="1.0")
Ainsi je pourrai écrire en sortie de mon parseur un fichier xml avec la même entete et donc la même version( exemple pour quand on aura la version 1.1).
Ce qui est étonnant c'est que c'est dans la doc de SAX de Sun et que ca avait l'air de fonctionner sur leur exemple.
0
Rejoignez-nous