RE: [flexcoders] E4X in Flex 2.0, part 1: Reading XML
Ha ha.. :-) I was wondering why you were being so open about this stuff! No harm done, and it's only a taste of some of the great stuff we're thinking about, guys! ;-) -Sho From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Gordon SmithSent: Tuesday, May 17, 2005 5:32 PMTo: 'flexcoders@yahoogroups.com'Subject: RE: [flexcoders] E4X in Flex 2.0, part 1: Reading XML OK, OK. Next time I'll try to leak something that will get me fired.Somebody on the list can give me a job as a Flex developer.- Gordon-Original Message-From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] OnBehalf Of James WardSent: Tuesday, May 17, 2005 5:24 PMTo: flexcoders@yahoogroups.comSubject: RE: [flexcoders] E4X in Flex 2.0, part 1: Reading XMLROFL! Come on Gordon! If you are going to accidentally leak info, canyou make it a bit juicier? ;) Maybe something about some super-secretproject or the Adobe buyout or Flex 2 release dates. This is good info,but not *that* exciting!Still laughing... :)-JamesOn Tue, 2005-05-17 at 17:15 -0700, Gordon Smith wrote:> 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 => > > > > 11 Main St.> San Francisco> CA> 98765> > > > > > 99 Broad St.> Newton> MA> 01234> > > ;> > > > > > Instead of using DOM-style APIs like first
RE: [flexcoders] E4X in Flex 2.0, part 1: Reading XML
There is nothing active in our Flex.NET forums right now so don’t worry about it J From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Scott Barnes Sent: Wednesday, May 18, 2005 2:37 AM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] E4X in Flex 2.0, part 1: Reading XML You have to know the secret handshake, aswell as perform a series of trials ..i call them rights of flex-passage :) heh, umm i think they aren't even at the stage of Alpha yet, let alone any secret squiirel groups. :) ... or are they...hrmm! ;) -- 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 the Yahoo! Terms of Service.
Re: [flexcoders] E4X in Flex 2.0, part 1: Reading XML
You have to know the secret handshake, aswell as perform a series of trials ..i call them rights of flex-passage :) heh, umm i think they aren't even at the stage of Alpha yet, let alone any secret squiirel groups. :) ... or are they...hrmm! ;) -- 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/
RE: [flexcoders] E4X in Flex 2.0, part 1: Reading XML
HOW DO I JOIN THE FLEX.NET ALPHA/BETA TEST GROUP? J From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Scott Barnes Sent: Wednesday, May 18, 2005 5:13 AM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] E4X in Flex 2.0, part 1: Reading XML 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:flexcoders@yahoogroups.com] 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:flexcoders@yahoogroups.com] 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 = > > > > > 11 Main St. > San Francisco > CA > 98765 > > > > > > 99 Broad St. > Newton > MA > 01234 > > > ; > > > > > > 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); > > > --- > > > > > > > > > > > > (And note that nodes even toStr
Re: [flexcoders] E4X in Flex 2.0, part 1: Reading XML
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 = > > > > > 11 Main St. > San Francisco > CA > 98765 > > > > > > 99 Broad St. > Newton > MA > 01234 > > > ; > > > > > > 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); > > > --- > > > > > > > > > > > > (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([
Re: [flexcoders] E4X in Flex 2.0, part 1: Reading XML
That is flat out increadible. I can't wait! Jeff http://www.flexauthority.com - Original Message - From: "Jeff Beeman" <[EMAIL PROTECTED]> To: 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 = 11 Main St. San Francisco CA 98765 99 Broad St. Newton MA 01234 ; 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); --- (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.*); --- 11 Main St. San Francisco CA 98765 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.emp
RE: [flexcoders] E4X in Flex 2.0, part 1: Reading XML
Title: Message 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 SmithSent: Tuesday, May 17, 2005 5:15 PMTo: '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 SmithSent: Tuesday, May 17, 2005 4:54 PMTo: '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 = 11 Main St. San Francisco CA 98765 99 Broad St. Newton MA 01234 ; 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); --- (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.*); --- 11 Main St. San Francisco CA 98765 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
RE: [flexcoders] E4X in Flex 2.0, part 1: Reading XML
OK, OK. Next time I'll try to leak something that will get me fired. Somebody on the list can give me a job as a Flex developer. - Gordon -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of James Ward Sent: Tuesday, May 17, 2005 5:24 PM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] E4X in Flex 2.0, part 1: Reading XML ROFL! Come on Gordon! If you are going to accidentally leak info, can you make it a bit juicier? ;) Maybe something about some super-secret project or the Adobe buyout or Flex 2 release dates. This is good info, but not *that* exciting! Still laughing... :) -James On Tue, 2005-05-17 at 17:15 -0700, Gordon Smith wrote: > 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 = > > > > > 11 Main St. > San Francisco > CA > 98765 > > > > > > 99 Broad St. > Newton > MA > 01234 > > > ; > > > > > > 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 > >
RE: [flexcoders] E4X in Flex 2.0, part 1: Reading XML
ROFL! Come on Gordon! If you are going to accidentally leak info, can you make it a bit juicier? ;) Maybe something about some super-secret project or the Adobe buyout or Flex 2 release dates. This is good info, but not *that* exciting! Still laughing... :) -James On Tue, 2005-05-17 at 17:15 -0700, Gordon Smith wrote: > 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 = > > > > > 11 Main St. > San Francisco > CA > 98765 > > > > > > 99 Broad St. > Newton > MA > 01234 > > > ; > > > > > > 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); > > > --- > > > > > > > > > > > > (And note that nodes even toString() themselves into formatted > XML!) > > > > >
RE: [flexcoders] E4X in Flex 2.0, part 1: Reading XML
Title: Message 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 SmithSent: Tuesday, May 17, 2005 4:54 PMTo: '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 = 11 Main St. San Francisco CA 98765 99 Broad St. Newton MA 01234 ; 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); --- (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.*); --- 11 Main St. San Francisco CA 98765 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 emp
Re: [flexcoders] E4X in Flex 2.0, part 1: Reading XML
Title: Message The ability to choose sub-nodes within an XML document vs. just the XML document itself for a is great since sometimes I'd like to use the contents of the same document in many places through Flex as a data provider. The same way CSS styles help consildate my styles, XML helps consolidate my settings. So, if something like: volume="50" pan="0" /> dataProvider={myXMLDocument.soundsettings}, whether that XMLNode has children, just a bunch of attributes, or is just a single node, that'd be great, and really helpful. ...of course, the whole: [EMAIL PROTECTED] is just pathetically simple I almost feel guilty asking. - Original Message - From: Gordon Smith To: 'flexcoders@yahoogroups.com' Sent: Tuesday, May 17, 2005 7:53 PM 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 = 11 Main St. San Francisco CA 98765 99 Broad St. Newton MA 01234 ; 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); --- (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.*); --- 11 Main St. San Francisco CA 98765 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
RE: [flexcoders] E4X in Flex 2.0, part 1: Reading XML
Title: Message 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 = 11 Main St. San Francisco CA 98765 99 Broad St. Newton MA 01234 ; 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); --- (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.*); --- 11 Main St. San Francisco CA 98765 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 fun