Construc­tion de l’arbre des ob­jets

L'Informaticien - - DÉVELOPPEM­ENT / IOS -

Nous avons vu, tou­jours dans l’ar­ticle pré­cé­dent, que l’ana­lyse des don­nées condui­sait à la gé­né­ra­tion d’une ins­tance de la classe RSSC­han­nel conte­nant des ins­tances de RSSI­tem. Rap­pe­lons les étapes de construc­tion de cet arbre : • une ins­tance de la classe RSSC­han­nel doit être créée lorsque l’ana­ly­seur trouve le dé­but d’un élé­ment de type chan­nel ; • la pro­prié­té adé­quate de l’ins­tance RSSC­han­nel doit être ren­sei­gnée lorsque l’ana­ly­seur dé­tecte un élé­ment de type title ou des­crip­tion se trou­vant à l’in­té­rieur d’un élé­ment chan­nel ; • une ins­tance de la classe RSSI­tem doit être créée et ajou­tée au ta­bleau items de l’ob­jet de type RSSC­han­nel lors­qu’un élé­ment de type item est trou­vé ; • la pro­prié­té cor­res­pon­dante de l’ins­tance RSSI­tem doit être ren­sei­gnée quand l’ana­ly­seur trouve un élé­ment de type title ou link si­tué dans un élé­ment item.

Fonc­tion­ne­ment de l’ana­ly­seur

La dif­fi­cul­té pour co­der toutes ces ac­tions tient en un point im­por­tant : l’ana­ly­seur n’a au­cune mé­moire de ce qu’il vient d’ana­ly­ser. S’il trouve un élé­ment de type don­né puis en­suite une chaîne dans un élé­ment, il ne sau­ra pas alors à quel élé­ment ap­par­tient la chaîne. Il faut donc mé­mo­ri­ser l’état dans le dé­lé­gué de l’ana­ly­seur et le conser­ver du­rant toute la tra­ver­sée de l’arbre des ob­jets. C’est là que les choses se compliquen­t, car le sto­ckage de cet état dans un unique ob­jet n’est pas si simple. Il va fal­loir pour ce­la dis­tri­buer la lo­gique de ges­tion des mes­sages de l’ana­ly­seur dans plu­sieurs classes. Si le der­nier élé­ment trou­vé est de type chan­nel, les blocs de don­nées consé­cu­tifs qui vont être trans­mis par l’ana­ly­seur se­ront gé­rés par une ins­tance de la classe RSSC­han­nel. Pour les chaînes se trou­vant dans

Newspapers in French

Newspapers from France

© PressReader. All rights reserved.