No-no-no :) Framework code is an extension, an add-on. There is absolutely no reason it should get into "default" namespace. There is enough frustration as it is about all sorts of non-built-in AS3 code that Adobe tossed into Flash CS, and made the use mandatory. Please don't add even more to it. All these http.../mx, http.../halo etc namespaces are no default. A lot of people using Flex (compiler) don't need them and don't want them.
Too little profit for too many changes. If you want to make really good template language - forget about XML at all, it's not meant to be a good template language, it has never been designed to be it. The benefits of having XML as a template language are that other tools support it already and that it is familiar to the users. If you lose the first benefit and you confuse your users, you are left with nothing. After all, I seriously think that what namespace there should be is irrelevant, the actual task is to make it so it is most flexible. Flexible, in my understanding is "possible to substitute or remove". I.e. if I wanted to put List class into default namespace, while not using Flex framework, I wouldn't have to deal with any naming collisions. This is, by the way, quite realistic requirement, because, for reasons beyond my comprehension, in Flex framework, List names a graphical component, while any programmer with some experience would expect List to be a data structure. Well, it's like Java classes are in java.lang.* package, Lisp default functions are in common-lisp-user package, .NET core classes are in Windows.* namespace etc. Default namespace is for the programmers, not the language (and they shouldn't really use it too, unless maybe for experiments). After all, you really look at it from a perspective of someone who only used MXML for one particular thing and that's why the solution you are trying to offer might look logical to you, but it absolutely doesn't fit in other use cases. As I mentioned above: UIComponent isn't a requirement for MXML, so, if, as you suggested before, these namespaces were defined in UIComponent, other legitimate uses would suffer from it because they would have to bring in UIComponent class, and you really don't want to feed that monstrously obese piece of code to the compiler, once your entire project may be 10000 (ten thousands!) times smaller than that thing. Now, is there a particular class, which is a requirement for MXML? - no, there isn't any. So, you don't have a place to store these namespaces, even if it was somehow technically possible. Using some other template language to generate AS3? - yup, that's interesting :) I was once thinking about some very simple language for describing resource files. My first idea was CSS, but then I realized it is overly complex (has redundant parts), then I looked at Protobuf - cool, but it would be difficult to add Flash-specific things and it already requires things impossible in Flash (64-bit integers). I was thinking about something like JSON, but it's overly verbose and doesn't allow references. I finally stopped at symbolic expressions, but got some other things to do :) Though I think that it could actually work. Best. Oleg