Xmlparser is the xtra included with Director which handles xml function calls. It basically does a lot of work for you when you are using xml in director.
As for the purpose of xml in director, it allows multiple systems to communicate, all using the same data format. For instance, in this movie, we are using a number of sql database calls from both our systems and systems which are not under our control. Rather than parse through multiple data formats, we defined an xml schema which ensures than when I received the data and validate the format, I automatically know where each value I need is located in the transmission. That may not make a whole lot of sense, but considering 1) I just woke up :) and 2) xml in and of itself can be a complex subject, it captures the essence of what I am doing. If you want more information on XML, I suggest getting a book by O'reilly or just reading the w3c standard and whitepapers on the subject. ~matt desimone [EMAIL PROTECTED] www.syrupnyc.com > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:lingo-l- > [EMAIL PROTECTED]] On Behalf Of mike ang > Sent: Tuesday, February 26, 2002 8:51 AM > To: [EMAIL PROTECTED] > Subject: Re: <lingo-l> do command execution in list assignment? > > whats an xmlparser? whats the purpose of an xml in director? > > > -------- > mike ang > > > --- Irv Kalb <[EMAIL PROTECTED]> wrote: > >Hi Matthew, > > > >I don't think you really need to use the "do" statement here at all. > >I really don't understand what the "stackobject" variable is used > >for, but here's a way to do what you want to do. > > > >Change your "on new" handler to something like this: > > > > on new me stackScriptName, stackobject, maxsize > > > >amd save stackScriptName in a property variable instead of stackType. > >Then in your "on addnewstackobject, do this: > > > > if stack.count < maxsizeofstack) then > > newStackObject = new(script stackScriptName) > > append(stack, newStackObject) > > return stack.count > > etc. > > > >If you are trying to create a new object and at the same time are > >trying to pass in a reference to this "manager" object, then you > >probably want to do something like this: > > > >on addnewStackObject me -- <-- don't forget the "me" variable here > > if stack.count < maxsizeofstack) then > > newStackObject = new(script stackScriptname, me) > > ... <same as above> > > > >Hope this helps, > > > >Irv > > > >At 2:22 PM -0500 2/25/02, Matthew DeSimone wrote: > >>I've run into a snag here with the modified stack manager code that Irv > >>proposed a few days ago. > >> > >>As follows is my script for a type agnostic object stack manager. The > >>problem lies in the fact that I need to say stack[somestackpoint] is > >>equal to a new object of type typeofstack and name objectofstack. I am > >>at a loss as to how to properly represent this without using do. > >> > >>For instance, lets say typeofstack = "xtra" and objectofstack = > >>"xmlparser", I need do to execute "new (xtra "xmlparser")". > >>Theoretically that is what my do cmd below is doing. However, I keep > >>receiving "variable not defined" errors with the question mark after the > >>"new(" string. Is what I'm doing legal? If not, any proposed > >>suggestions on how I would go about doing it correctly? > >> > >> > >>property stack > >>property typeofstack > >>property objectofstack > >>property maxsizeofstack > >> > >>on new me, stacktype, stackobject, maxsize > >> me.maxsizeofstack = maxsize > >> me.stack = [] > >> me.typeofstack = stacktype > >> me.objectofstack = stackobject > >> return me > >>end > >> > >>on addnewstackobject > >> if (stack.count < maxsizeofstack) then > >> stack.append((do "new(" & typeofstack & " " & QUOTE & > >>string(objectofstack) & QUOTE & ")")) return stack.count > >> else > >> if ((findrecycledstackobject()) <> void) then > >> return findrecycledstackobject() > >> end if > >> end if > >> return void > >>end addnewstackobject > >> > >> > >>on findrecycledstackobject > >> repeat with control = 1 to stack.count > >> if (stack[control] = 0) then > >> stack[control] = 0 > >> return stack[control] > >> end if > >> end repeat > >> return void > >>end findrecycledstackobject > >> > >> > >>~matt desimone > >>[EMAIL PROTECTED] > >>www.syrupnyc.com > >> > >> > >> > >>[To remove yourself from this list, or to change to digest mode, go > >>to http://www.penworks.com/lingo-l.cgi To post messages to the > >>list, email [EMAIL PROTECTED] (Problems, email > >>[EMAIL PROTECTED]). Lingo-L is for learning and helping with > >>programming Lingo. Thanks!] > > > > > >-- > > > >Lingo / Director / Shockwave development for all occasions. > > > > (Home-made Lingo cooked up fresh every day just for you.) > >[To remove yourself from this list, or to change to digest mode, go to > http://www.penworks.com/lingo-l.cgi To post messages to the list, email > [EMAIL PROTECTED] (Problems, email [EMAIL PROTECTED]). Lingo-L > is for learning and helping with programming Lingo. Thanks!] > > _____________________________________________________________ > Visit Atenista.Net, Your Portal to the Atenean Community! > Click here: http://www.atenista.net > > _____________________________________________________________ > You deserve a better email address! Get personalized email @yourname > or @yourcompany from Everyone.net --> http://www.everyone.net?tag > [To remove yourself from this list, or to change to digest mode, go to > http://www.penworks.com/lingo-l.cgi To post messages to the list, email > [EMAIL PROTECTED] (Problems, email [EMAIL PROTECTED]). Lingo-L > is for learning and helping with programming Lingo. Thanks!] [To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi To post messages to the list, email [EMAIL PROTECTED] (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo. Thanks!]
