Re: ITS Processor

Hi Yves, all

Yves Savourel さんは書きました:
> Hi Felix,
>
>   
>> Currently it seems you are separating global rules processing from 
>> everything else, e.g. in "Additional Notes" you are discussing a 
>> flag for inheritance. I'm wondering if it wouldn't be better to have 
>> a method ("applyDataCategory") which subsumes all the processing 
>> (see comment above). After all you have to implement inheritance 
>> and defaults anyway, no matter if you do only global / only local / 
>> both.
>>     
>
> I guess, one of the reason I started by just applying the rules (global and local) but not doing anything about default and
> inheritance is because in the scenarios I'm always seeing this can be done as you travers the document.
>   

ah, OK, I did not recognize that you are doing it while traversing the 
document. Sorry, my bad, now I understand.

> Not doing it in the apply() method allows to walk the tree once instead of twice (once for setting the inheritance, and once for
> doing whatever you have to do).
>   

that's clearly an advantage. In my implementation I did not have such a 
flag, so I'm walking the tree actually four times: for global, local, 
inheritance, defaults. Pretty expensive actually ... and obviously 
applying global rules + one traversal including inheritance / defaults + 
whatever you do are enough.

> But, I agree, there maybe cases where someone need to access the tree randomly and therefore each node needs to be pre-set with all
> the ITS information. That's why I was thinking of a flag in the apply() method: letting the caller to choose whether the inheritence
> must be set or not.
>
> Another thought: one may do some change in the ITS locale rules after apply() and need to re-compute the locale rules and
> inheritence from a specific node down. If he does not change global rules there is no need to re-apply them.
>   

True as well.

Felix

Received on Friday, 13 June 2008 23:54:28 UTC