We’ve said many times now that there
is no public date available on Flex 2 including beta. But as David Mendels has
said before, it’s still a ways out.
Matt
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 [email protected],
"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: <[email protected]>
> 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: [email protected]
[mailto:[email protected]]
On
> Behalf Of Gordon
Smith
> Sent: Tuesday, May 17, 2005 4:54 PM
> To: '[email protected]'
> 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