heheheheheheh thats funny.

I had to do a double take and thought "am i reading the right list here or..."

Nice work ;)


On 5/18/05, Hans Omli <[EMAIL PROTECTED]> wrote:
>  
> I don't suppose we'll be reading part 2 of this email via FlexCoders then. 
> ;-)
>  
>  ________________________________
>  From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On
> Behalf Of Gordon Smith
> Sent: Tuesday, May 17, 2005 5:15 PM
> To: 'flexcoders@yahoogroups.com'
> Subject: RE: [flexcoders] E4X in Flex 2.0, part 1: Reading XML
> 
>  
>  
> Oops... I meant to send this to an internal group, not to flexcoders. Enjoy
> the information, but, for now, don't expect this level of detail about our
> future plans. Of course, we do want your feedback on features for the next
> release, and we'll be sharing more plans with you in the future, as we get
> closer to the next release. 
>   
> Sorry, 
> Gordon 
>  
>  
> -----Original Message-----
> From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On
> Behalf Of Gordon Smith
> Sent: Tuesday, May 17, 2005 4:54 PM
> To: 'flexcoders@yahoogroups.com'
> Subject: [flexcoders] E4X in Flex 2.0, part 1: Reading XML
> 
>  
>  
>  
> 
> As you may have gathered, we've been spending a lot of time lately
> leveraging the new features of the Flash Player in the new Flex application
> model. Naturally, you'll also be able to leverage those same new features,
> so we thought we'd start giving you a run down of what's new. Of course we
> don't have beta software for you to play with yet, so for now, we'll provide
> a lot of detail so you can evaluate these new features and give guidance for
> us. 
> 
>   
> 
> XML manipulation in Flex 2.0 is going to get a lot more powerful, as well as
> faster. By the time that Flex 2.0 ships, the Flash Player will support E4X
> ("ECMAScript for XML"), a set of programming language extensions adding
> native XML support to ECMAScript. The player team is busy implementing
> Standard ECMA-357 as described in
> http://www.ecma-international.org/publications/standards/Ecma-357.htm.
>  
> 
>   
>  
> 
> Here's how the spec describes what this feature offers: "E4X adds native XML
> datatypes to the ECMAScript language, extends the semantics of familiar
> ECMAScript operators for manipulating XML objects and adds a small set of
> new operators for common XML operations, such as searching and filtering. It
> also adds support for XML literals, namespaces, qualified names and other
> mechanisms to facilitate XML processing." 
>  
> 
>   
>  
> 
> Lets take a look at a few examples of how you can read XML data using E4X. 
>  
> 
>   
>  
> 
> As in the current player, you'll be able to create variables of type XML by
> parsing a String. But XML literals will now be supported as well: 
>  
> 
>   
>  
> 
>     var employees:XML =
>         <employees>
>             <employee ssn="123-123-1234">
>                 <name first="John" last="Doe"/>
>                 <address>
>                     <street>11 Main St.</street>
>                     <city>San Francisco</city>
>                     <state>CA</state>
>                     <zip>98765</zip>
>                 </address>
>             </employee>
>             <employee ssn="789-789-7890">
>                 <name first="Mary" last="Roe"/>
>                 <address>
>                     <street>99 Broad St.</street>
>                     <city>Newton</city>
>                     <state>MA</state>
>                     <zip>01234</zip>
>                 </address>
>             </employee>
>         </employees>; 
>  
> 
>   
>  
> 
> Instead of using DOM-style APIs like firstChild, nextSibling, etc., with E4X
> you just "dot down" to grab the node you want. Multiple nodes are indexable
> with [n], similar to the elements of an Array: 
>  
> 
>   
>  
> 
>     trace(employees.employee[0].address.zip); 
>  
> 
>     --- 
>  
> 
>     98765 
>  
> 
>   
>  
> 
> To grab an attribute, you just use the .@ operator: 
>  
> 
>   
>  
> 
>     trace([EMAIL PROTECTED]);
>     --- 
>  
>  
> 
>     789-789-7890 
>  
> 
>   
>  
> 
> If you don't pick out a particular node, you get all of them, as an
> indexable list: 
>  
> 
>   
>  
> 
>     trace(employees.employee.name); 
>  
> 
>     --- 
>  
> 
>     <name first="John" last="Doe"/> 
>  
> 
>     <name first="Mary" last="Roe"/> 
>  
> 
>   
>  
> 
> (And note that nodes even toString() themselves into formatted XML!) 
>  
> 
>   
>  
>  
> 
> A handy double-dot operator lets you omit the "path" down into the XML
> expression, so you could shorten the previous three examples to 
>  
> 
>   
>  
> 
>     trace(employees..zip[0]); 
>  
>  
> 
>     trace([EMAIL PROTECTED]); 
>  
>  
> 
>     trace(employees..name); 
>  
> 
>   
> 
> You can use a * wildcard to get a list of multiple nodes or attributes with
> various names, and the resulting list is indexable: 
>  
> 
>   
>  
> 
>     trace(employees.employee[0].address.*); 
>  
> 
>     --- 
>  
> 
>     <street>11 Main St.</street> 
>  
> 
>     <city>San Francisco</city> 
>  
> 
>     <state>CA</state> 
>  
> 
>     <zip>98765</zip> 
>  
> 
>     trace([EMAIL PROTECTED]);
>     --- 
>  
> 
>     Doe 
>  
> 
>   
>  
> 
> You don't have to hard-code the identifiers for the nodes or attributes...
> they can themselves be variables: 
>  
>  
>  
> 
>   
>  
> 
>     var whichNode:String = "zip";
>     trace(employees.employee[0].address[whichNode]); 
>  
> 
>     --- 
>  
> 
>     98765 
>  
> 
>   
>  
>  
> 
>     var whichAttribute:String = "ssn";
>     trace([EMAIL PROTECTED]);
>     --- 
>  
> 
>     789-789-7890 
>  
> 
>   
>  
> 
> A new for-each loop lets you loop over multiple nodes or attributes: 
>  
> 
>   
>  
> 
>     for each (var ssn:XML in [EMAIL PROTECTED]) 
>  
> 
>     { 
>  
> 
>         trace(ssn); 
>  
> 
>     } 
>  
> 
>     --- 
>  
> 
>     123-123-1234
>     789-789-7890 
>  
> 
>   
>  
> 
> Most powerful of all, E4X supports "predicate filtering" using the syntax
> .(condition), which lets you pick out nodes or attributes that meet a
> condition you specify using a Boolean expression. For example, you can pick
> out the employee with a particular social security number like this, and get
> her state: 
>  
> 
>   
>  
> 
>     var ssnToFind:String = "789-789-7890";
>     trace(employees.employee.(@ssn == ssnToFind)..state);
>     --- 
>  
> 
>     MA 
>  
> 
>   
>  
> 
> Instead of using a simple conditional operator like ==, you can also write a
> complicated predicate filtering function to pick out the data you need. 
>  
> 
>   
>  
> 
> By the way, although none of my examples use XML namespaces, E4X has
> complete support for them. 
>  
> 
>   
>  
> 
> Compared with the current XML support in the Flash Player, E4X allows you to
> write less code and execute it faster because more processing can be done at
> the native speed of C++. 
>  
> 
>   
>  
> 
> Since E4X is so powerful, we're working to make Flex 2.0 play nicely with
> it. Components like List, ComboBox, and DataGrid will be able to accept E4X
> expressions like employees..name as a dataProvider. The <mx:XML> tag will be
> able to declare an E4X-style XML object in MXML. WebService and HTTPService
> will be able to deliver E4X-style XML objects across the wire, and they'll
> use the speed of E4X to do their own work (such as constructing and
> desconstrucing SOAP packets) faster. 
>  
> 
>   
>  
> 
> For backward compability, the new player will continue to support the
> old-style XML and XMLNode objects, with the one change that the old XML
> class will be renamed to XMLDocument. The renaming is necessary because the
> E4X standard specifies that the new type be called XML. So if you have XML
> code and you want to continue using, just use XMLDocument instead. But we'll
> be encouraging everyone to migrate to E4X because it is so much simpler,
> faster, and more expressive. 
>  
> 
>   
>  
> 
> Please let us know whether you'll find E4X useful in your particular
> applications. 
>  
> 
>   
>  
> 
> - Gordon 
>  
> 
> 
>   
>  
> 
> 
>   
>  
> 
>   
>  ________________________________
>  Yahoo! Groups Links
>  
>  
> To visit your group on the web, go to:
> http://groups.yahoo.com/group/flexcoders/
>   
> To unsubscribe from this group, send an email to:
> [EMAIL PROTECTED]
>   
> Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service. 


-- 
Regards,
Scott Barnes
http://www.mossyblog.com
http://www.flexcoder.com (Coming Soon)


 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/flexcoders/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


Reply via email to