W3C home > Mailing lists > Public > public-i18n-its@w3.org > January to March 2006

Re: Directionality Scope/inheritance issue (same as translatability)

From: Felix Sasaki <fsasaki@w3.org>
Date: Mon, 27 Mar 2006 14:17:09 +0900
Message-ID: <44277555.7080109@w3.org>
To: Felix Sasaki <fsasaki@w3.org>
Cc: Yves Savourel <yves@opentag.com>, public-i18n-its@w3.org
Sorry, an error, see below.

Felix Sasaki wrote:
> Yves Savourel wrote:
> 
>> Hi felix, all,
>>
>>> I think there is a way to achieve what you want, just 
>>> by going for 2) and by saying:
>>> <its:documentRules xmlns:its="http://www.w3.org/2005/11/its">
>>> 1 <its:translateRule its:translate="yes" its:selector="//textInCode"/>
>>> 2 <its:translateRule its:translate="no" its:selector="//code"/>
>>> 3 <its:translateRule its:translate="yes"
>>> its:selector="//*[@trans='true']/descendant-or-self::*"/>
>>> 4 <its:translateRule its:translate="no"
>>> its:selector="//*[@trans='false']/descendant-or-self::*"/>
>>> </its:documentRules>
>> My understanding is (was) that when we apply the its:selector expression of a rule, it selects a node, and from that node we apply
>> the data category information to the same scope described for the equivalent locale rule.
> 
> that is what you called 2), right?
>> In http://lists.w3.org/Archives/Public/public-i18n-its/2006JanMar/0290.html you said:
>>
>>> ...In my XQuery implementation, XPath expressions like "//text[@localize='no']"
>>> are interpreted as "//text[@localize='no']/descendant-or-self::*".
>> To me that means its:selector="//code" is really its:selector="//code/descendant-or-self::*", so why would we need to specify it?
> 
> Because I was wrong in that mail :( . we cannot just interpret
> //text[@localize='no']  as //text[@localize='no']/descendant-or-self::*,
> but should say //text[@localize='no'] attaches (virtually)
> its:translate="no" to all nodes //text[@localize='no'] , and then as a
> second step the inheritance comes into play. Only in this way we have
> 100% parallelism with local ITS, that is the functionality you called 2).
> 
> For a document
> 
> <text localize="no">
> <p>...</p>
> </text>
> 
> the rule
> 
> <its:translateRule its:select="//text[@localize='no']" its:translate="no"/>
> 
> would mean
> 
> <text its:global-rule-1="no" localize="no">
> <p>...</p>
> </text>
> 
> whereas
> 
> <its:translateRule
> its:select="//text[@localize='no']/descendant-or-self::*"
> its:translate="no"/>
> 
> would mean
> 
> <text its:global-rule-1="no" localize="no">
> <p its:global-rule-1="no">...</p>
> </text>
> 
> Here it does not make a difference. The difference is in the following:
> 
> global rule 1: <its:translateRule its:select="//p" its:translate="yes"/>
> global rule 2: <its:translateRule its:select="//text[@localize='no']"
> its:translate="no"/>
> 
> In the case above, <p> would be translated, the document would "look" like:
> <text its:global-rule-2="no" localize="no">
> <p its:global-rule-1="yes" its:inherited-translatability="no">...</p>
> </text>
> 
> In the case below, <p> wouldn't be translated:
> 
> <its:translateRule
> its:select="//text[@localize='no']/descendant-or-self::*"
> its:translate="no"/>
> <its:translateRule its:select="//p" its:translate="yes"/>

This should have been

global rule 1: <its:translateRule its:select="//p" its:translate="yes"/>
global rule 2: <its:translateRule
its:select="//text[@localize='no']/descendant-or-self::*"
its:translate="no"/>

- Felix

> 
> The document would look like:
> 
> <text its:global-rule-2="no" localize="no">
> <p its:global-rule-1="yes" its:global-rule-2="no"
> its:inherited-translatability="no">...</p>
> </text>
> 
> Cheers,
> 
> Felix
> 



Received on Monday, 27 March 2006 05:17:26 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:43:06 UTC