- From: Felix Sasaki <fsasaki@w3.org>
- Date: Sat, 14 Jun 2008 01:29:21 +0900
- To: Yves Savourel <yves@opentag.com>
- CC: public-i18n-its-ig@w3.org
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