L'Informaticien

Constructi­on de l’arbre des objets

-

Nous avons vu, toujours dans l’article précédent, que l’analyse des données conduisait à la génération d’une instance de la classe RSSChannel contenant des instances de RSSItem. Rappelons les étapes de constructi­on de cet arbre : • une instance de la classe RSSChannel doit être créée lorsque l’analyseur trouve le début d’un élément de type channel ; • la propriété adéquate de l’instance RSSChannel doit être renseignée lorsque l’analyseur détecte un élément de type title ou descriptio­n se trouvant à l’intérieur d’un élément channel ; • une instance de la classe RSSItem doit être créée et ajoutée au tableau items de l’objet de type RSSChannel lorsqu’un élément de type item est trouvé ; • la propriété correspond­ante de l’instance RSSItem doit être renseignée quand l’analyseur trouve un élément de type title ou link situé dans un élément item.

Fonctionne­ment de l’analyseur

La difficulté pour coder toutes ces actions tient en un point important : l’analyseur n’a aucune mémoire de ce qu’il vient d’analyser. S’il trouve un élément de type donné puis ensuite une chaîne dans un élément, il ne saura pas alors à quel élément appartient la chaîne. Il faut donc mémoriser l’état dans le délégué de l’analyseur et le conserver durant toute la traversée de l’arbre des objets. C’est là que les choses se compliquen­t, car le stockage de cet état dans un unique objet n’est pas si simple. Il va falloir pour cela distribuer la logique de gestion des messages de l’analyseur dans plusieurs classes. Si le dernier élément trouvé est de type channel, les blocs de données consécutif­s qui vont être transmis par l’analyseur seront gérés par une instance de la classe RSSChannel. Pour les chaînes se trouvant dans

Newspapers in French

Newspapers from France