FME特征构建
构造一个FME特征,一个映射规则,比如右0,即<功能图>必须激活元素。当右0停用(参见标题为映射规则状态(激活、执行、挂起和取消激活)xfMap映射规则的可能状态)。
我们将使用以下输入XML文档,点1.xml,以说明如何从xfMap文档中创建特征映射规则,功能.xmp,指示XML读取器构造FME特征。
点1.xml
0.324 0.233 0.596 0.874 0.948 0.554 <
上面的XML文档包含两个<点>我们希望FME特性映射到的元素。为此,我们必须在<功能图>当<点>元素开始标记已读取。
注:回想一下,当XML读取器读取输入XML文档流中元素E的开始标记时,当R与E匹配时,来自活动搜索集的映射规则R被激活。
以下xfMap文档,功能.xmp,包含要素映射规则右第,定义在<功能图>元素,匹配<点>元素。
功能.xmp
<功能图><!”!--将此映射规则称为Rp-->
当上述XML(点1.xml)和xfMap(功能.xmp)文档被输入到XML读取器中,并构造了两个FME特征。以下是构造特征的FME日志:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
功能类型:'
属性:xml\u type“具有值xml\u no\u geom”
几何体类型:未知(0)
=============================================================
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
功能类型:'
属性:xml\u type“具有值xml\u no\u geom”
几何体类型:未知(0)
=============================================================
下面是发生的情况:
步骤 |
功能搜索集内容(步骤后) |
映射规则的状态右第(步骤后) |
|
1 |
功能搜索集已初始化: 没有激活任何特征映射规则,因此<功能图>元素包含在特征搜索集中。 |
{右第} |
去激活 |
2 |
XML读取器读取<积分>元素: 要素搜索集中没有匹配的映射规则<积分>元素。未激活任何映射规则。读者继续阅读文章的内容<积分>元素。 |
{右第} |
去激活 |
三。 |
XML读取器读取开始标记a<点>元素: 映射规则卢比在特征搜索集中匹配<点>元素。卢比已激活。卢比也处于执行状态,因为<点>元素当前是上下文元素。 自卢比定义在<功能图>元素,卢比指示XML读取器开始构建新的FME功能。 既然激活了特征映射规则,那么特征搜索集将被修改为包含来自<功能内容图>元素。(The)功能.xmpxfMap文档没有<功能内容图>元素,则特征搜索集将变为空集)。 |
{} |
激活,执行 |
4 |
XML读取器读取<颜色>元素。要素搜索集中没有匹配的映射规则<颜色>元素(要素搜索集为空)。 |
{} |
激活,暂停 |
5 |
XML读取器读取<红色>元素。同样,不会激活任何映射规则。 |
{} |
激活,暂停 |
6 |
这个<红色>元素被读取,结束标记被读取。这个<红色>元素没有激活任何映射规则,因此没有任何映射规则被取消激活。 |
{} |
激活,暂停 |
7 |
5) 对于<绿色>和<蓝色>元素。 |
{} |
激活,暂停 |
8 |
这个<颜色>已读取元素结束标记。这个<颜色>元素没有激活任何映射规则,因此没有任何映射规则被取消激活。 |
{} |
激活,执行 |
9 |
XML读取器是<位置>元素。未激活任何要素映射规则(要素搜索映射为空)。 |
{} |
激活,暂停 |
10 |
这个<位置>已读取元素结束标记。这个<升位置>元素没有激活任何映射规则,因此没有任何映射规则被取消激活。 |
{} |
激活,执行 |
11 |
这个<点>已读取元素结束标记。 右第已停用(请参阅映射规则状态节)。当右第停用。 现在没有激活的特征映射规则,因此特征搜索集现在包含在中定义的所有映射规则<功能图>元素(即,右第). |
{右第} |
去激活 |
12 |
第二个步骤重复步骤3)到11)<点>输入流的元素。XML读取器再次输出一个空白的FME特性。 |
... |
... |
13 |
这个<积分>已读取元素结束标记。XML读取器已完成对输入XML文档的读取。 |
{} |
去激活 |
XML读取器构造的FME特性总是带有xml类型属性。此属性始终初始化为xml\u否\u geom. 到目前为止,XML读取器只构造了空白特性:对于构造FME特性的其他部分的读取器,一个特征映射规则应包含以下元素:
- 特征类型元素:是一个可选元素,用于指示XML读取器设置FME功能的功能类型。
- 属性元素:是一个可选元素,用于指示XML读取器为FME功能设置一个或多个属性。
- 几何元素:是一个可选元素,用于指示XML读取器构造FME的几何体。