特征表示
除了FME工作台添加到所有特性中的通用FME特性属性之外(参见关于Feature Type属性),该格式添加了本主题中描述的特定于格式的属性。
发送给SVG编写器的任何特性都有几个属性,编写器使用这些属性来确定该特性在SVG中的几何表示形式。当作者检查特性时,这种处理就开始了svg_type属性。一旦作者确定了该属性的值,它就可以处理完成几何转换过程所需的其他属性信息。例如,如果该特性具有svg_type的svg_arc,然后写入器将检索svg_primary_axis,svg_secondary_axis,svg_start_angle和svg_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_line或svg_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_color和svg_color两者都可以用于设置元素的值中风属性。fme_color和svg_color转换为SVG的RGB函数语法。对于在一个特性上指定了多个颜色属性的情况,优先级顺序为svg_color,然后fme_color.
对属性进行相同的处理fme_fill_color svg_fill_color,但是这两个值都可以用来设置元素的' fill '属性。
此外,如果svg_color或svg_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"?>