ActionScript 3.0 :: XML, Forcing Attributes To Have Namespaces?
Aug 6, 2009
I'm writing some actionscript to provide a flash frontend to an MS Excel spreadsheet. The idea is that the user will be able to press buttons in a flash application, and that will enter data into the spreadsheet (which will be read and written as XML).
I am dynamically creating a number of objects (movieclips) which all have a number of attributes.[code]and so on. i.e sub attributes. I don't think this is possible? Only sprite and movieclips can have dynamic attributes so unless atrbY is a movieclip (which it isn't, it's a string) it isn't allowed?Each object can have suboptions with further attributes associated with the chosen suboption.Later in the program I will manipulate, read and interact with the objects and they have text display behaviours dependent on the suboption chosen. That part (should) be straightforward! heh. One the object has the attributes attached in a usable format, accessing them should be simple.This will be for a store. i.e t-shirt1 has size small, price 10, size medium, price 12, size large, price 14. t-shirt2 has size medium, price 35, size large, price 40 and so on.[code]
This format of the XML can be adjusted if it would make the parsing easier.I am currently reading the XML in, stepping through, grabbing the individual parameter such as category and then adding it as an attribute of the object and it works fine. i.e. I end up with obj.category = 'catname'. However, on suboptions I am having a problem.Should I put all the suboptions in a multidimensional array and use nested loops to apply them to the object?I would still have the problem of objX.suboptionarray[Y].suboptionprice which isn't allowed? In the above XML case Y would be 0,1 and 2 giving 3 suboptions to objX and each suboptions would hold attributes such as pvid associated with that suboption.I could go down the horrible route, obj1.suboption1subptionprice ; obj1.suboption1suboptionpname; obj1.suboption1suboptionvalue; obj1.suboption2suboptionprice; obj1.suboption2suboptionpname and so on and so on for each suboption which could be five options (small,medium,large,x-large, xx-large) and which would "work" but would be bad programming and involve splicing names to get say, the "third" suboptions' price and pvid e.t.c
Going down the route of mutidimensional arrays sounds good except that on say 50 objects I would have stacks of arrays which I'm guessing isn't great in terms of resources?.Just to add, the number of suboptions varies between object, every object has a minimum of one suboption (default option) but can have as many as needed (unlikely to be more than 5 but should be scalable). i.e some t-shirts only come in medium whereas some have many sizes.I have a fair amount of leeway on the format of the XML which I generate from the database so the formatting of that could change to make the parsing easier.
I worked on a flex application 6-7 months back. We used flex 3.5 sdk. Now we are upgrading our flex app with flex sdk 4/4.1 I am still new to flex development and I have a very basic question related to namespace. I have seen three different namespaces in flex sample applications. What is the purpose of having three diff namespaces? When do I use each of them ?
I'm trying to get data from a namespaced xml file in a flex app. There is a root namespace (xmlns="blah") and another namespace (xmlns:i="blah"), and I'm able to access most tags using the following: var ns:Namespace = doc.namespace(); var result:XMLList = doc.ns::element;
However, there are several tags that are subject to change in the application, and i'd like to not hardcode them, possibly using the elements method: var result:XMLList = doc.elements(configuredField); Is there a way to get elements with namespaces using the elements method, or a similar way to get XML elements in flex using a parameter?
I am trying to learn flex4 from adobe document and I am very confused while using three namespaces.. there is no way i can keep track of when to use what often ending up using fx inside mx or s or similarly making some stupid goofed up combinations of {fx,mx,s}.
Adobe document is huge and i am looking for some good starting point for learning flex .
I'd like to know if it's possible to store namespaces in an array?Imagine i had infinite namespaces and i'd use "for" to store them automatically, what would i need? i don't think an array would save namespaces as they are.
I have this XML object, and I need to display parts of it so that the user can copy and paste from it. However, whenever I try to, say, display the category section by doing myXML.category, it puts the namespace information in the attributes of the first <category> tag when it displays the xml. Is there a way to get rid of this?
I'm trying to compile an SWC file from a list of given ActionScript classes. I'm using the compc compiler. The problem is that there are so many classes grouped into multiple namespaces that I am finding it very tedious to specify each individual class to be included in the SWC. Is there any easier way of doing this like just simply specifying a root directory of these classes? At the moment I have something like this:
I have seen the following methods to be used in several online examples, but haven't found any documentation on the recommended way of parsing an XML feed.[code]
I'm trying to create a property that can be set by extending classed and read publicly.I couldn't think of a good naming convention for a protected property with a public getter, so I tried to do this:
public function get name():String{ return _name; } protected function set name(string:String):void {[code]......
However I get the error (when trying to set name in an extending class): 1178: Attempted access of inaccessible property name through a reference with static type testing:TestComponent.1059: Property is read-only.
Can methods declared with a custom namespace be overwritten?
Code: // secret.as package { public namespace secret = "http://www.example.com/secret";
[Code].....
If I try the above I get "1004: Namespace was not found or is not a compile-time constant." If I remove override I get "VerifyError: Error #1053: Illegal override of test in Extended."
1157: Interface members cannot be declared public, private, protected, or internal.
I'm just curious as to WHY? I don't understand the thinking behind this "law".
Does this perhaps mean that interface properties always need to be public when implemented in the target classes, and produces this error in order to help enforce that law?
I haven't tested if custom namespaces produce the same error. I'll delve deeper into this when I get the time.
Given this:public namespace foo;foo var bar:String = "baz";We can access the property "bar" like so:[code]It gives me the following error: ReferenceError: Error #1069: Property foo::bar not found on MyClass and there is no default value.On further inspection of the foo namespace I can see (in the debugger) that the URI is in the format {package}:{type}/{name}. If I try to replicate this by doing the following:[code]Does anyone know if it is possible to get access to namespaced members like this? I don't have compile time access to the namespace, but I can look up it's uri (and prefix) dynamically at run time.
I have the following packages.Within spark I have a class SeCore; and within spark.engine I have SeStepper and SeKeyboard.What I'm trying to achieve is have SeCore as being the only class that can create an instance of SeStepper or SeKeyboard. This can be achieved by moving SeCore into the spark.engine package and making the other two classes internal, but I'd like to have SeCore in the spark package if possible.I've tried making my own namespace to handle this, like so:
As the title says - is it possible to document my ActionScript packages / namespaces using the ASDoc comments and the included asdoc command line tool?
I'm up late coding and I've come to a halt here's why:
I'm looking (desperately) for something that will explain why my "public class marquePage" is not working properly. I don't have access to the actual file right now - on a friend's computer - but i'll try and make this clear, here it goes :
Code: // example : (having declared the namespaces at package level and embedded the pictures in separate classes "photosMP", etc) public var ceNom:Namespace; public var cetteListe:Array = [photos, dessins, livres, maous];
[Code].....
Somehow, the event listener doesn't want to know about namespaces... in fact, everything comes up ok except that when you click on any of the bookmarks (cetMP), nothing happens at all
Trying to migrate to AS 3.0 here, but are facing a tough time at kick-off: I have a base fla file located in a folder named "game". The "game" folder is in a folder named "northcreek" which again is in a folder named "no". For no other reason than that I read somewhere that this was smart. Anyway, I have in my (document) class under publish settings this: no.northcreek.game.Engine Both my "game.fla" and my "Engine.as" reside in the "game" folder, but I fail to reference my as-class from my fla file. What do I do wrong? It works if I simply remove all namespace names, and only type namespace, but I am trying to do it the right way here...
I am totally new to actionscript (barely could set up the IDE environment for Linux). I have trouble parsing an xml file containing some namespaces. All the tutorials and samples i found online are not working for me. the file looks like this:
Simulating Validators, how do I programmatically invalidate a TextInput because it doesn't match some external criteria? (even though it passes regexp/other internal validator tests).e.g. on lost focus, point out to the user that "confirm email" doesn't match "email" (even though both are valid email addresses). I've got a regex validator on a cell phone TextInput field that ensures the user enters with the international prefix e.g. 0044 for the UK Then I have a confirm_mobile field but I want to check the mobile TextInput against confirm_mobile TextInput.
The input on confirm_mobile could always be a valid phone number and pass the regexp test but I need to ensure field 2 == field 1 and if not then invalidate field 2 (or at least simulate the Validator behavior) to tell the user the fields don't match. I can catch this at the end via a trigger on the form submit button but still need to know how to throw a red box round "confirm_mobile" using a validator.
Code: Select allprivate function check_mobile2(evt :FocusEvent) { if (strings_match(confirm_mobile.text , mobile.text)) {
I just finished a website that requires Flash player 10, and I published in for Flash player 10, but earlier flash players still try to run it.Does anyone know where I can find a script that hides my flash movie and asks the user to upgrade, along with a link to upgrade? the link would start the upgrade installation right there so that users dont have to worry about navigating adobe's website.
I am having the (apparently common) problem, where my flash file won't update its XML source when I make changes. I've research this, and learned that I need to add a unique reference to the loader, to "fool" the browser into reloading the XML each time.
However, I'm not sure exactly where to put the unique variable. Here's my XML loading code.
Currently I have a for loop which goes through and draws a really long list of objects. Each object is contained in its own sprite and as it draws them I wanted to have a text box saying "Ojects" + nObjectsTotalLoaded + " of " + nObjectsTotal + " have been Loaded." Right now I am timing out because my loops takes so long, but i figured that if I have a textbox updating as it creates each object that it will also fix my problem with timeout.
In flex when I allow user to download a file using :
dwFile = new FileReference(); dwFile.download(downloadURL, dwFileName);
Is there a way to ensure that the downloaded file always ends up with the extension .tar or any other extension for that matter? By default I give it a name like xyz.tar, but as of now the user can tamper with filename, including its extension. Can I prevent him from doing so?
Through researching, i've discovered that the problem with using getDefinitionByName is that the compiler believes that my classes aren't being used, unless they're explicitly referenced in the code, and thus isn't compiling them into the swf.I'm having no luck finding an amicable solution to this problem though. So far the only thing that i've found which works, is explicitly mentioning the name of the class, somewhere in my code. This creates huge problems as it forces me to manually edit an additional part of the code. And really, harcoding anything is horribly sloppy.this isn't an acceptable solution as i'm designing a game with potentially hundreds of weapons, and two classes for each one. I need some way to automate this, and force them to compile.
I'm dealing with an inline hyperlink in a textarea filled with htmlText. I'm getting incredibly vexxed by this problem with having to click the link twice.I have learned here that this is because the first time a link is clicked, the text area receives focus. Then links become activated. The workaround for this, according to the article, is:
solve this by setting mouseOver = textFieldID.setFocus();
I really wish he'd set this in context, because no variant I've tried works.
Code: mouseOver=showText.setFocus(); and
Code: showSlice.mouseOver=showText.setFocus();
cause the link not to work at all. showSlice is the movie clip containing the textfield, which is called showText.This isn't as bad, but you still have to click the link twice (because I don't think this is doing anything at all):
say I've got an input field and I want the entries to be UPPERCASE, how can I set this up in flash so that these characters appear capitalized even if the user doesn't have CAPSLOCK on? I've tried myTextField.toUpperCase(); but this doesn't work.