基本数据类型
FXG属性常用的数据类型包括以下几个类别:
<angle>
角度值可以是任意的<number>数值。角度为顺时针的。
<color>
SRGB颜色空间中的定义。<color>可以成为填充、笔画和文本颜色定义中的组成部分。取值为十六进制的RGB数值,格式是在‘#’符号后紧随六个十六进制的字符。
<coordinate>
表示在当前坐标系中从原点开始,在坐标轴(x轴代表X坐标,y轴代表Y坐标)上的长度。
<integer>
整数由一个可选的符号位和一个或多个0到9的数字组成,如果没有符号则数值是非负的。除非特别声明,<integer>的取值范围从-2147483648到2147483647。
<length>
代表长度值,数据类型为<number>。
<number> (实数值)
能够使用普通十进制或科学计数法数值。普通十进制由可选的符号位,数字和小数点组成。科学计数法为十进制数值加e或E表示。除非特别声明,<number>为单精度浮点数值(见ICC32),取值范围为-3.4e+
<percentage>
一个带有%号的<number>。百分数是对另一个数值的相对值。允许百分比取值的属性需要定义该属性参考的数据。
文档结构
FXG文档具有自身的逻辑结构。FXG文档可以包含对外部位图的引用,但在其它方面是自包含的。FXG文档不能引用其它FXG文档。FXG元素必须定义在包含FXG名字空间的XML文档中。FXG 1.0 的名字空间为'*http://ns.adobe.com/fxg/2008*'。
一个FXG文档片断由一个单独定义和一个在图形元素中定义的可选的库组成。其种类包括:
n 一个空定义(单独的图形元素)简单的文件片断包括一个图形定义,其中包含一个图形元素,例如‘Rect’。
n 复杂,具有多层嵌套的一组容器元素和图形元素
一个FXG文档片断可以为一个独立的文件或资源存在,在这种情况下FXG文档片断等同于一个FXG文档。文档片断也可以内嵌在上级XML文档中。
元素类型
FXG文档结构可以被视为基于对象图形的。换句话说,FXG文档模型代表文件渲染时运行时的情景图形。
FXG文档中的元素类型包括:
l 控制元素
控制元素决定了该部分文档的处理方式。一个Definition元素表示它的内容为一个组定义,而不是一个组的实例,因此在显示时不进行渲染。
控制元素类型包括:
n 库(Library )
n 定义(Definition )
l 对象定义元素(Object Definition Elements)
对象定义元素为FXG中能够在其它地方实例化的部分。某些特性仅被部分定义元素支持,而对另外的定义元素无效。FXG文档中的Graphic标签被视为一个对象定义元素,同时作为根元素定义了整个文档。定义元素的直接下级元素被视为一个对象定义。
l 对象实例元素(Object Instance Elements)
对象实例元素创建元素实例,其表现可以在FXG文档中其它部分定义,也可以在全局的FXG格式中。对即可以为定义元素,又可以是实例元素的情况,某些属性和元素仅对实例有效(同时也存在对实例无效的特性),例如id属性只能出现在对象实例元素中。Group元素同时为对象定义和实例,因此所有的属性和下级节点都是合法的。
l 关系元素(Relationship Elements)
FXG中的关系元素定义了两个对象元素之间的关系。例如mask元素表示用其下级(一个Group实例)剪切其上级元素(一个图形元素实例)。
Graphic元素为FXG文档的根元素,它只能作为根元素出现在FXG文档中。Graphic根元素不包括显式定义的名称,与特定环境相关的名称由外部的上下文派生产生。例如MXML编译器,将关联FXG文档中的定义和文档名称。Graphic元素可以包括一个单独的下级library元素。在功能上Graphic元素等同与Group定义元素。可以定义下级元素,但不能对其命名以及添加滤镜或进行变换。更多细节见group元素小节。
其下级节点能包括:
n Library
n Group
n 任何图形元素