Is this a place where I can ask for some help on the valueForKeyPath method as 
implemented in Javascript in a WebKit browser such as Mobile Safari? If not, 
then where is a better venue for my question?

In Dashcode I have defined a data source from an remote XML file, and the XML 
looks like this:

    <waters>
      <water>
        <name water_id='79'>Agean Sea at Kos, Greece</name>
        <collectors>
          <collector collector_id='20'>
            <last_name>Calarco</last_name>
          </collector>
        </collectors>
        <description>Pascal collected...</description>
      </water>
      <water>
        <name water_id='37'>Amazon River, Peru</name>
        <collectors>
          <collector collector_id='8'>
            <last_name>Morgan</last_name>
          </collector>
        </collectors>
        <description>Mom collected...</description>
      </water>
    </waters>

I have then bound elements like name, last_name, and description to various 
interface elements. Through Javascript I have been able to manipulate these 
elements as well the collector_id attribute. All this works as expected.

Unfortunately, I am unable to access the water_id attribute. While the water_id 
attribute displays as a part of my data source and list views, whenever I try 
to actually access the water_id attribute my application crashes as illustrated 
by the linked screen shot. [1]

To debug the situation I created a button with the following code using the 
valueForKeyPath, and as you can see I can access other elements and attributes 
but not the water_id attribute:

  function getID(event)
  {
    // get my data
    var d = dashcode.getDataSource( 'list' );
                  
    // the following code works
    //var r = d.valueForKeyPath( 'selection.collectors.collector.$collector_id' 
);
  
    // this code works too
    //var r = d.valueForKeyPath( 'selection.collectors.collector.last_name' );
          
    // so does this code
    //var r = d.valueForKeyPath( 'selection.name' );
  
    // why doesn't this code work! water_id is an attribute of the name element
    var r = d.valueForKeyPath( 'selection.name.$water_id' );
  
    // echo
    alert( r );
  }

What am I doing wrong? Any assistance or pointers would be greatly appreciated.

[1] screen shot - http://infomotions.com/tmp/screen-dump.png

-- 
Eric Lease Morgan


_______________________________________________
webkit-help mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-help

Reply via email to