Development time on my current project would be reduced considerably 
(as much as half) if I had access to this type of functionality. 

The $64M question...WHEN WILL FLEX 2.0  BE AVAILABLE - EVEN IN A 
BETA FORMAT?????


Thanks,

-Dave



--- In flexcoders@yahoogroups.com, "Jeff Steiner" <[EMAIL PROTECTED]> wrote:
> That is flat out increadible.
> 
> I can't wait!
> 
> Jeff
> http://www.flexauthority.com
> 
> ----- Original Message ----- 
> From: "Jeff Beeman" <[EMAIL PROTECTED]>
> To: <flexcoders@yahoogroups.com>
> Sent: Tuesday, May 17, 2005 5:04 PM
> Subject: RE: [flexcoders] E4X in Flex 2.0, part 1: Reading XML
> 
> 
> This is very exciting!  I'm especially excited about the double-
dot and
> wildcard operators.  Thanks for this update, as it'll help with 
planning
> for future projects.  Keep 'em coming!
> 
>  
> 
>  
> 
> /******************************************
> * Jeff Beeman
> ******************************************/
> 
>   _____  
> 
> 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] <mailto:[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] 
<mailto:[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]
> <mailto:[EMAIL PROTECTED]
subject=Unsubscribe> 
>   
> * Your use of Yahoo! Groups is subject to the Yahoo! Terms of
> Service <http://docs.yahoo.com/info/terms/> .




 
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