actually, here my goal is to seek to any node of dataset.
Thinks about this please :S

<canvas debug="true">
    <dataset name="languages">
        <language>
            <string id="1" name="submit">
                <value>submit</value>
            </string>
            <string id="2" name="login">
                <value>login</value>
            </string>
        </language>
    </dataset>
    <simplelayout />

    <button datapath="languages:/language/string"
text="$path{'@name=\'submit\'/@name'}"/>

</canvas>

when i use like that, button text is null(actually buttons). how can i get
it work in this way ?
Thanks
Cem

2010/2/16 jamesr <[email protected]>

>  There seems to be an issue using path outside of a datapath context being
> established. try this (tested on SWF8 locally) and note that i changed the
> format of the xml to make the access more readable.
>
> <canvas debug="true">
>
>     <dataset name="strings">
>         <submit>submittosio</submit>
>         <reset>resettosio</reset>
>     </dataset>
>
>     <button datapath="strings:/submit" text="$path{'text()'}"/>
>
> </canvas>
>
>
> P T Withington wrote:
>
> The value of the expression in the $path{} statement needs to be a string, so 
> I think you would need to say:
>
>   <button text="$path{'localized:/stri...@name=\'submit\']/@value'}"
>
> but I have not tested this.
>
> On 2010-02-15, at 18:38, cem sonmez wrote:
>
>
>
>  jamesr, I have used your same notation, but i m getting error
> *Syntax error: the token ":" was not expected at this position.*
> I have made lots of changes at the $path expression. Still nothing happens
> Another error that  i m getting
> *Lexical error. The source location is for the element that contains the
> erroneous script. The error may come from an unterminated comment.*
> Do you have an idea why this happens? Did you used this code snippet before
> you post it?
> And also does anyone have an idea about this issue?
>
> Regards
> Cem
>
> 2010/2/15 cem sonmez <[email protected]> <[email protected]>
>
>  Yes i have seen $path before, but i have never used it for any constraint.
>
>
>  $path usage has been explained well at [1].
>
>
>  I will take a look at it again and try this form.
> Thanks a lot
> Cem
>
> [1] -
>
>
>  http://www.openlaszlo.org/lps4.7/docs/developers/databinding.html#d0e96468
>
>  2010/2/15 jamesr <[email protected]> <[email protected]>
>
>  Sure! as PT mentioned, there may be overhead for using the $path method
>
>
>   i'll direct you toward, for very large applications. There are a few
> manager/registry based ways around this overhead, no problem, but the
> conversation is out of scope to your direct question to get into -- in this
> email.
>
>
>   Have you ever used the $path{} form of constraints? they take a
>
>
>   dataset:datapath pair and bind to a specific location in a dataset, which
> will update when the dataset changes. From your code snippets i'm guessing
> you haven't seen them.
>
>
>   if you have a dataset thus,
>
> <dataset name="localized">
>  <string name="submit" value="(submit in another language)"/>
>  <string name="resest" value="(reset in another language)"/>
> </dataset>
>
> then you can set up a path constraint by saying,
>
> <button text="$path{localized:/stri...@name='submit']/@value}"
>
> and this will *find* the string node with name "submit" (be sure to have
>
>
>   unique names or you'll get mulitple nodes back and the expression will be
> invalid) and use its value attribute as the text for the button.
>
>
>   more info is in the laszlo docs... i don't have a link to it handy,
>
>
>   sorry
>
>
>   -j
>
>
>
> cem sonmez wrote:
>
>
>  Thanks all for your replies.
> But i just can say that i am inexperienced about css. So all along i
>
>
>   have thought to use dataset. The problem is to change the texts dynamically
> when i set the datapath's src attribute during runtime.
>
>
>   But as you said ptw, itS more about skinning, css is more convenient to
>
>
>   use. I will look at it as well.
>
>
>   For the dataset usage. It may looks like :
>
> <dataset name="dset" src="words.xml" />
>   <datapointer id="dpointer" xpath="dset:/language">
>       <method name="getMessage" args="textId">
>           this.setAttribute('xpath', 'dset:/language');
>           this.selectChild();
>           do {
>               if (this.xpathQuery('@id') == textId) {
>                   var message = this.xpathQuery('value/text()');
>                   if ($debug)
>                       Debug.write("datapointer : " + message);
>                   return message;
>               }
>           } while (this.selectNext());
>       </method>
>   </datapointer>
>
> and i also can use it
> <button name="button1" text="${dpointer.getMessage(1)}" />
>
> I havenT just tried, but the problem is going to occur when i want to
>
>
>   change the dataset src at runtime. jamesr, the way that u mentioned likes
> mine. Can you instruct a bit more please.
>
>
>   thanks all again .
> Kind regards
> Cem
>
> 2010/2/15 P T Withington <[email protected] <mailto:[email protected]> 
> <[email protected]>>
>
>   Using a dataset is an equally valid approach, but I think it was
>   tried and found to require too much overhead.  Of course, if CSS
>   is made dynamic, perhaps it will have equivalent overhead.
>
>   Perhaps the reason some people think of CSS first is because it
>   seems i18n is like "skinning" or styling your app.
>
>   On 2010-02-15, at 12:09, jamesr wrote:
>
>
>
>  Would it not be more expedient to write a class, called perhaps
>
>
>    localtext, that takes a single field to index inside of a dataset
>   wherein a given real-world language sentence is kept, so that by
>   changing datasets you change all displayed localized text?
>
>
>  Why use CSS?
>
> P T Withington wrote:
>
>
>  There are two improvements targeted for 5.0 that will help this
>
>
>    situation:
>
>
>  LPP-8556 Add default CSS style properties to <view>
> LPP-7359 Make CSS attribute selectors dynamic
>
> There should also be one to make it so you can load a
>
>
>    stylesheet at runtime, but I can't seem to find that.  Maybe Max
>   and I only talked about it...
>
>
>  With all three of those, it should be possible to have a single
>
>
>    app that will be localized when it is loaded.  For now, you are
>   correct, you need to compile your app for each language.
>
>
>  ---
>
> With LPP-7184 Binary libraries don't work in swf9 resolved (and
>
>
>    integrated to 4.7), we believe that LZO's are now fully supported
>   in swf9 for 4.7.1 (soon to be released) and 5.0.x (in
>   development).  We'd welcome testing by anyone who needs this
>   feature.  Grab the latest 4.7.1 here:
>
>
>  http://download.openlaszlo.org/nightly/4.7/
>
>
>
> On 2010-02-15, at 11:39, Raju Bitter wrote:
>
>
>
>
>  All the internationalization based on CSS for Webtop (at least
>
>
>     with
>
>
>   the version I've used) requires you to recompile the app for a
> different language. That's not too much of a problem, just
>
>
>     generate
>
>
>   different versions of the app for different languages.
>
> It would be good to have dynamic CSS support at runtime, but a
> workaround could be to put all the strings into an LZO, with
>
>
>     different
>
>
>   LZOs for different languages. That should work, shouldn't it? Of
> course you are limited to SWF8 and DHTML then, since there's
>
>
>     still no
>
>
>   support for LZOs with AS3 based runtimes, as far as I know.
>
> 2010/2/15 P T Withington <[email protected] <mailto:[email protected]> 
> <[email protected]>>:
>
>
>
>  I believe some use CSS styles to achieve
>
>
>     internationalization, although currently LZX does not support
>   dynamically changing styles, so I'm not sure exactly how this is
>   handled.  Currently, styles need to be pre-processed by the
>   compiler.  Ideally, you would have your application server looking
>   at the browser request language preference and serve up different
>   style sheets based on that.  It may be that people are using a
>   .jsp to do this kind of dispatching.
>
>
>   In theory, you would write something like:
>
> <!-- supply style sheet based on browser language -->
> <stylesheet>
> i18ntext [label="hi"] { text: "hello" }
> </stylesheet>
>
> <class name="i18ntext" extends="text">
> <attribute name="label" type="string" />
> <attribute name="text" style="text" />
> </class>
>
> <i18ntext label="hi" />
>
>
>
>  [...]
>
>
>
>  --
> Cem SONMEZ
>
>
>  --
> Cem SONMEZ
>
>
>  --
> Cem SONMEZ
>
>
>  --
> Cem SONMEZ
>
>
>
>


-- 
Cem SONMEZ

Reply via email to