Flash Catalyst CS5.5 provides visual editing for a subset of Flex content. This specification defines which Flex constructs are supported.
Flash Catalyst CS5.5 and Flash Builder 4.5 include a feature that can inspect a project for conformance with this schema. When you open a project in Flash Catalyst, the compatibility checker is used to disable editing of incompatible parts of the project. Documentation on the compatibility checker is provided elsewhere.
How to read this document
This document is intended to be used as a reference, not as learning material. It is a formal specification and assumes an intermediate understanding of the Flex framework and MXML language.
Generally, each section in this document is a list of rules that apply to content of that type. Some rules are stated in the negative (e.g. "this property is not allowed"), and some are stated in the positive (e.g. "only the following tags are allowed").
These rules are unrelated to Flex best practices. Flash Catalyst enables a highly predictable editing experience for compatible projects, which allows non-coders to create production-quality skins and other UI. However, the cost of this predictability is that editing is disabled wherever the project's code ventures outside of well-supported constructs.
Compatibility is not all-or-nothing: In order for Flash Catalyst to open a project, the project-wide rules must be met, and the MXML rules must be met in the main application file. Generally speaking, any other incompatibilities will simply result in reduced editing of those parts of the project. This reduced editing is described in detail elsewhere.
One more convention, before we get started: when referencing ActionScript types,
- "*" means any type.
- "XYZ" means only the exact concrete type XYZ.
- "XYZ+" means any subtype of XYZ.
- Unqualified items should be interpreted in the obvious manner, with Spark taking precedence over MX (Button refers to spark.components.Button, Parallel refers to mx.effects.Parallel).