特征表示

除了FME工作台添加到所有特性中的通用FME特性属性之外(参见关于Feature Type属性),该格式添加了本主题中描述的特定于格式的属性。

发送给SVG编写器的任何特性都有几个属性,编写器使用这些属性来确定该特性在SVG中的几何表示形式。当作者检查特性时,这种处理就开始了svg_type属性。一旦作者确定了该属性的值,它就可以处理完成几何转换过程所需的其他属性信息。例如,如果该特性具有svg_typesvg_arc,然后写入器将检索svg_primary_axissvg_secondary_axissvg_start_anglesvg_rotation属性来确定哪些几何属性值将存在于特征的路径元素表示中。

所有格式特定的属性都以svg_和是在本节的表中预定义的。除了格式属性外,SVG编写器还可以处理用户定义的属性。作者从传入的特性中提取这些用户属性,并将它们插入输出元素的属性列表。为了确定要提取哪些属性,编写器检查其映射文件的属性DEF行。特征的特征类型必须匹配DEF要进行此提取的行类型。用户定义的属性在SVG元素的属性列表中限定名前缀下定义fme.生成SVG DTD的扩展以适应这些用户定义的属性。该扩展在文档的内部文档类型声明中定义。

在生成元素的属性列表时,编写器将检查属性值的内容,以确定是否有属性值<字符。如果这些值存在,则使用& lt;“;分别。属性值使用引号()分隔符。

下表列出了发送给SVG编写器的所有特性的通用格式属性。除了svg_color svg_fill_color,该表中的所有属性都直接映射到属性名,可以在单个SVG元素上设置属性名。所选SVG元素的属性名前面加了svg_字符串来生成FME属性名。

属性名称

内容

svg_color

用来描边元素的颜色。该字符串的格式为三个逗号分隔的值,分别表示红色、绿色和蓝色的有序强度。单个强度值是十进制字符串,取值范围为0到1,其中1为最大值。见下面关于颜色的说明。

范围:

字符串

0.0, 1.0, 0.0, 1.0, 0.0, 1.0

默认值:没有一个

svg_fill_color

用来填充元素的颜色。该字符串的格式为三个逗号分隔的值,分别表示红色、绿色和蓝色的有序强度。每个强度值代表的小数可以取值范围从0到1,其中1是最高的。该值不适用于svg_linesvg_arc特性。见下面关于颜色的说明。

范围:

字符串

0.0, 1.0, 0.0, 1.0, 0.0, 1.0

默认值:没有一个

svg_id

元素的唯一标识符。直接映射到元素id属性。有关适用的值,请参阅XML 1.0规范。强烈建议用户不要创建以“FME_”开头的id。

范围:字符串

默认的没有一个

svg_class

将一个类名或一组类名赋值给元素。

直接映射到元素属性。有关适用值,请参阅SVG 1.1规范。

范围:字符串

默认的没有一个

svg_style

指定元素的样式信息。直接映射到元素风格属性。有关适用值,请参阅SVG 1.1规范。

范围:字符串

默认的没有一个

svg_onfocusin

标识元素接收焦点时要调用的脚本方法。直接映射到元素onfocusin属性。

范围:字符串(必须匹配可用的脚本方法ID)

默认的:没有

svg_onfocusout

标识当元素失去焦点时要调用的脚本方法。直接映射到元素onfocusout属性。

范围:字符串(必须匹配可用的脚本方法ID)

默认的:没有

svg_onclick

标识当在元素上单击指向设备按钮时要调用的脚本方法。直接映射到元素onclick属性。

范围:字符串(必须匹配可用的脚本方法ID)

默认的:没有

svg_onmousedown

标识当在元素上按下指向设备按钮时要调用的脚本方法。直接映射到元素onmousedown属性。

范围:字符串(必须匹配可用的脚本方法ID)

默认的:没有

svg_onmouseup

标识在元素上释放指向设备按钮时要调用的脚本方法。直接映射到元素onmouseup属性。

范围:字符串(必须匹配可用的脚本方法ID)

默认的:没有

svg_onmouseover

标识当指针设备按钮移动到元素时要调用的脚本方法。直接映射到元素鼠标移到目标上属性。

范围:字符串(必须匹配可用的脚本方法ID)

默认的没有一个

svg_onmousemove

标识当指针设备按钮移动到元素上时要调用的脚本方法。直接映射到元素需要属性。

范围:字符串(必须匹配可用的脚本方法ID)

默认的:没有

svg_onmouseout

标识当指针设备按钮从元素移开时要调用的脚本方法。直接映射到元素这个很属性。

范围:字符串(必须匹配可用的脚本方法ID)

默认的:没有

注意:

的属性fme_colorsvg_color两者都可以用于设置元素的值中风属性。fme_colorsvg_color转换为SVG的RGB函数语法。对于在一个特性上指定了多个颜色属性的情况,优先级顺序为svg_color,然后fme_color

对属性进行相同的处理fme_fill_color svg_fill_color,但是这两个值都可以用来设置元素的' fill '属性。

此外,如果svg_colorsvg_fill_color不匹配FME颜色规格,即“r,g,b”,其中r,g,b在[0..,然后写入器将简单地将指定的值转换到SVG中中风填满属性分别。如果用户需要通过传递FME的“r,g,b”语法,例如,使用SVG预定义的颜色名称,“红”,“黑”等,这是很有用的。,或者如果用户想使用渐变填充。用户定义的SVG模板(参见编写器的模板)模板关键字)可以定义几个梯度引用的FME特征svg_fill_color属性。

考虑以下SVG编写器的模板。它定义了MyGradientlinearGradient可以通过设置FME特性来引用svg_fill_color属性为值,url (# MyGradient)

<?xml version="1.0" encoding="UTF-8" standalone="no"?>