XQuery Functions
Feature Data Functions
FME provides several functions which may be used within XQuery scripts. These functions allow XQuery scripts and templates to access and manipulate feature attribute values. All feature functions are prefixed with thefme命名空间前缀。
![Closed](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
This function retrieves the value of an attribute from the current feature. It has two declarations:
fme:get-attribute(
fme:get-attribute(
If a second parameter is provided, and the feature does not have a value for the given attribute name, the function will simply return the value of the second parameter. The second parameter may be any type of XQuery value: string, number, XML node, nested function call, etc.
If a second parameter is not provided, and the feature has no value for the given attribute, the function will simply return an empty sequence.
在使用它们的上下文中,将转换此函数返回的字符串值以序列化。特别是,如果将该值插入XML文档中,则任何XML语法都将被转义。例如,<characters will become<and>会变成>。Thefme:get-xml-attribute功能ion may be used to return XML nodes. Similarly, if the value is being inserted into a JSON document, the value will be enclosed in quotes, and reserved characters will be escaped. Thefme:get-json-attribute可用于返回JSON对象or arrays.
Example:
Consider a feature with the following attributes:
Attribute | Value |
---|---|
name |
Oranjestad |
location |
The fme:get-attribute function returns the following results:
XQuery | Result |
---|---|
{ “位置”:fme: get-attribute(“位置”) } |
{ “地点” :" } |
![Closed](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
This function retrieves the contents of a list attribute from the current feature. It also has two declarations:
fme:get-list-attribute(
fme:get-list-attribute(
If no delimiter parameter is provided, the function will return the list attribute as a sequence of individual items. If a delimiter parameter is provided, the function will serialize the contents of the list attribute into a single string, using the value of the delimiter parameter as a delimiter.
As with thefme:get-attribute功能ion, all string values returned by this function will be converted to be valid XML or JSON strings, depending on the context of the function call. Thefme:get-xml-list-attribute功能ion may be used to retrieve a list of XML nodes, and thefme:get-json-list-attribute功能ion may be used to retrieve a list of JSON objects or arrays.
Example:
Consider a feature with the following attributes:
Attribute |
Value |
---|---|
dates{0} |
21-08-2010 |
dates{1} |
22-08-2010 |
dates{2} |
23-08-2010 |
The fme:get-list-attribute function returns the following results:
XQuery | Result |
---|---|
|
|
{fme:get-list-attribute( "dates", "," )} |
|
{ "dates" : fme:get-list-attribute("dates") } |
{ "dates" : [ "21-08-2010", "22-08-2010", "23-08-2010" ] } |
![Closed](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
This function retrieves attributes containing XML nodes. It has only one declaration:
fme:get-xml-attribute(
If the given attribute contains XML text, this function will parse the text and return an XML node. If the attribute does not contain XML text, the function will return an empty sequence.
Example:
Consider a feature with the following attributes:
Attribute | Value |
---|---|
name |
Oranjestad |
location |
FME:Get-XML-Attribute函数返回以下结果:
XQuery | Result |
---|---|
fme:get-xml-attribute("location" ) |
|
fme:get-xml-attribute("name" ) |
![Closed](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
This function is similar to the fme:get-xml-attribute function, but retrieves list attributes. It has two declarations:
fme:get-xml-list-attribute(<属性名称>)
fme:get-xml-list-attribute(
The function attempts to parse each value in the list attribute into an XML node. Values which are not valid XML will be skipped. If the delimiter parameter is provided, it will be copied into the return sequence between each parsed XML value.
Example:
Consider a feature with the following attributes:
Attribute | Value |
---|---|
person{0} |
|
person{1} |
|
person{2} |
The fme:get-xml-list-attribute function may be used as shown below:
XQuery | Result |
---|---|
<人们> |
<人们> |
![Closed](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
This function retrieves attributes containing JSON objects or arrays. It has only one declaration:
fme:get-json-attribute(
If the given attribute contains JSON values, this function will parse the text and return a JSON object or array. If the attribute does not contain JSON text, the function will return an empty sequence.
Example:
Consider a feature with the following attributes:
Attribute | Value |
---|---|
name |
Oranjestad |
location |
{ "type" : "point”, "x" : -70.037, "y" : 12.519 } |
Thefme:get-json-attribute功能ion returns the following results:
XQuery | Result |
---|---|
{ "location" : fme:get-json-attribute( "location" ) } |
{ “地点” : { "type" : "point”, "x" : -70.037, "y" : 12.519 } } |
fme:get-json-attribute( "name" ) |
![Closed](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
此函数类似于fme:get-json-属性函数,但检索列表属性。它只有一个声明:
fme:get-json-list-attribute(
The function attempts to parse each value in the list attribute into a JSON object or array. Values which are not valid JSON will be skipped.
Example:
Consider a feature with the following attributes:
Attribute | Value |
---|---|
person{0} |
{ "name" : "John Doe", "age" : 25 } |
person{1} |
{ "name" : "Juan Domingo", "age" : 27 } |
person{2} | { "name" : "Johann Deuter", "age" : 29 } |
Thefme:get-json-attribute功能ion may be used as shown below:
XQuery | Result |
---|---|
{ "people" : fme:get-json-list-attribute( "person{}" ) } |
{ "people" : [ { "name" : "John Doe", "age" : 25 }, { "name" : "Juan Domingo", "age" : 27 }, { "name" : "Johann Deuter", "age" : 29 } ] } |
![Closed](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
This function allows access to a feature’s coordinate system. If a feature has a coordinate system, the function will return the name of the coordinate system. If the feature does not have a coordinate system, no value will be returned.
![Closed](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
This function is very simple. It returns a boolean (true/false) value indicating whether or not an attribute exists on the current feature. It has one declaration:
fme:has-attribute(
Example:
Consider a feature which has only one attribute: ‘name’. Thefme:has-attribute功能ion returns the following results:
XQuery | Result |
---|---|
fme:has-attribute("name") |
true |
fme:has-attribute("id") |
false |
![Closed](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
This function returns a boolean (true/false) value indicating whether or not all of the attributes listed as parameters exist on the current feature. It has one declaration:
fme:has-all-attributes(
Example:
Consider a feature which has a ‘name’ and an ‘id’ attribute. Thefme:has-all-attributes功能ion returns the following results:
XQuery | Result |
---|---|
fme:has-all-attributes( "name" ) |
true |
fme:has-all-attributes( "name", "id" ) |
true |
fme:has-all-attributes( "otherattr" ) |
false |
fme:has-all-attributes( "name", "other", "id" ) |
false |
![Closed](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
This function returns a boolean (true/false) value indicating whether or not any of the attributes listed as parameters exist on the current feature. It has one declaration:
FME:具有任何属性(<属性名称>)
Example:
Consider a feature which has a ‘name’ and an ‘id’ attribute. Thefme:has-any-attributes功能ion returns the following results:
XQuery | Result |
---|---|
fme:has-any-attributes( "name" ) |
true |
FME:具有任何属性(“名称”,“ID”) |
true |
fme:has-any-attributes( "otherattr" ) |
false |
fme:has-any-attributes( "name", "other", "id" ) |
true |
![Closed](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
This function sets the value of a feature attribute. It has two declarations:
fme:set-attribute(<属性名称>,<值序列>)
fme:set-attribute(
特征属性将被设置为序列化d value of the sequence of values. If the sequence contains more than one value, the values will be concatenated into a delimited string, and the attribute will be set to this concatenated value. The default delimiter is a comma, but the third parameter may be used to provide a different delimiter.
This function does not return a value.
Example
The following XML document is the context item for the examples in this section.
<区域> 583.776 区域>
<城市>布雷德城市>
国家>
After running the following query:
fme:set-attribute( "name_xml", /country/name ),
fme:set-attribute( "area", /country/area/text() ),
fme:set-attribute( "city_list", /country/cities/city/text() ),
fme:set-attribute( "city_list2", /country/cities/city/text(), "|" )
The feature has the following attributes:
Attribute | Value |
---|---|
name_xml |
|
area |
583.776 |
city_list |
Plymouth.Brades |
city_list2 |
Plymouth|Brades |
![Closed](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
This function is very similar to thefme:append-attribute功能ion, but it appends to the value of a feature attribute, rather than replacing the attribute value. It has two declarations:
fme:append-attribute(
fme:append-attribute(
The serialized value of the sequence of values will be appended to the feature attribute. If the sequence contains more than one value, the values will be concatenated into a delimited string before being appended to the attribute. The default delimiter is a comma, but the third parameter may be used to provide a different delimiter.
This function does not return a value.
![Closed](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
This function sets the value of a feature list attribute. It has only one declaration:
fme:set-list-attribute(
The function serializes each value in the sequence into an element in the list attribute.
This function does not return a value.
Example:
The following XML document is the context item for the examples in this section.
国家>
国家>
国家>
After running the following query:
fme:set-list-attribute( "names", /countries/country/name/text() ),
fme:set-list-attribute( "capitals", /countries/country/capital )
The feature has the following attributes:
Attribute | Value |
---|---|
names{0} |
Montserrat |
names{1} |
Christmas Island |
names{2} |
Aruba |
capitals{0} |
|
capitals{1} |
|
capitals{2} |
![Closed](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
This function is very similar to thefme:set-list-attribute功能ion, but it appends to the list attribute, rather than overwriting existing values. It has only one declaration:
FME:Append列表 - 属性(<属性名称>,<值序列>)
The function serializes each value in the sequence into an element in the list attribute. Existing list values will be preserved, with the new values appended to the end of the list.
This function does not return a value.
Feature Processing Functions
Using thexmltemplater.andJSONTemplater, the template can include the results of processing a sub-template. There are two functions that allow sub-templates to be processed.
![Closed](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
This function will evaluate a template, or set of templates, on features which enter the transformer through the corresponding input ports. The function will return the value of the sub-templates that get processed. This function has two declarations:
fme:process-features( )
fme:process-features( ,
在这两种情况下,第一个参数是一个模板name, or list of template names. If no additional parameters are given, the function will execute the listed templates on all features which entered the transformer through the input ports which correspond to those templates. The features will be processed in the order they arrived at the transformer.
The second and third parameters can be used to filter the features which are to be processed. The second parameter should contain an attribute name, or a list of attribute names. The third parameter should contain an attribute value, or a list of values. These parameters should always have the same number of items listed. When the function is called, it will only execute the listed sub-templates on those features which match the following criteria:
- The feature entered the transformer through one of the input ports corresponding to one of the templates listed in the first parameter.
- For each of the attributes listed in the second parameter, the feature’s attribute value matches the corresponding value in the third parameter.
Example:
The following function call will execute the HOUSE sub-template on all features that entered the transformer through the HOUSE input port.
fme:process-features( "HOUSE" )
以下函数调用将在通过房屋输入端口输入变压器的所有功能上执行房屋子模板,以及通过业务输入端口输入的所有功能的业务子模板。这些功能将按到达变压器的顺序处理。
fme:process-features( ("HOUSE", "BUSINESS" ) )
The following function call will execute the HOUSE sub-template on all features that entered the transformer though the HOUSE input port, and whosenum_floorsattribute is equal to 3.
fme:process-features( "HOUSE", "num_floors", 3 )
The following function call will execute the HOUSE sub-template on all features that entered the transformer through the HOUSE input port, and whosevillage_id属性等于idattribute of the feature currently being processed.
fme:process-features( "HOUSE", "village_id", fme:get-attribute( "id" ) )
The following function call will execute the HOUSE sub-template on all features that entered the transformer through the HOUSE input port, and whosenum_floorsattribute is equal to 3, and whosevillage_id属性等于idattribute of the feature currently being processed.
fme:process-features( "HOUSE", ( "num_floors", "village_id" ), ( 3, fme:get-attribute("id") ) )
![Closed](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
This function will evaluate a template, or set of templates. Unlike thefme:process-features功能ion, it will evaluate the template on the same feature as the template that contains the function call is being evaluated on. The function has only one declaration:
fme:process-template( )
此函数的唯一参数是模板名称或模板名称列表。如果提供了多个名称,则将按照列出的顺序进行评估模板。
Example:
The following function call will execute the OWNER template.
FME:流程模板(“所有者”)
The following function call will execute the OWNER and ADDRESS templates.
fme:process-template( ( "OWNER", "ADDRESS" ) )
Geometry Data Functions
FME provides a number of functions for accessing geometry data using XQuery. All geometry data functions are prefixed with the “geom” namespace prefix.
![Closed](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
This function returns the dimension of the geometry currently being processed, as an integer value.
![Closed](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
This function returns the name of the geometry currently being processed. If the geometry does not have a name, this function will not return a value.
![Closed](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
This function is almost identical to thefme:get-attribute功能ion. It returns the value of atraiton the geometry currently being processed. It has two declarations:
geom:get-trait(
geom:get-trait(
If a second parameter is provided, and the geometry does not have a value for the given trait, the function will simply return the value of the second parameter. The second parameter may be any type of XQuery value: string, number, XML node, nested function call, etc.
If a second parameter is not provided, and the geometry has no value for the given trait, the function will not return a value.
![Closed](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
These functions return the x/y/z values of a point geometry. They will not return a value if they are executed on a non-point geometry.
Examples:
{
"x" : geom:get-x-coord(),
"y" : geom:get-y-coord(),
“z”:geom:get-z-coord()
}
![Closed](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
These functions return x/y/z values of the start point of linear geometries, such as lines, arcs and paths. If the geometry is a point, these functions will return the x/y/z values of the point geometry. These functions will not return a value for any other type of geometry.
![Closed](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
These functions return x/y/z values of the end point of linear geometries, such as lines, arcs and paths. If the geometry is a point, these functions will return the x/y/z values of the point geometry. These functions will not return a value for any other type of geometry.
![Closed](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
This function returns a string containing the point values of all points in the geometry being processed. For curved geometries, such as ellipses and arcs, the points in the stroked version will be used. This function has three declarations:
geom:get-points()
geom:get-points(
geom:get-points(
The axis order parameter is a string, indicating which order the x, y and z coordinates should appear in the string. If the parameter is not given, the order “xyz” is used. The second parameter indicates the delimiter which is to be used between the x, y, and z values in a point, while the third parameter indicates the delimiter which is to be used between each point. The default axis delimiter is a comma, and the default point delimiter is a space.
Example:
geom:get-points( "xy" )
geom:get-points( "yxz" )
geom:get-points(“yx”,“/”,“”)
geom:get-points( "xyz", " ", "," )
The last example reverses the default axis and point separators, using a space between the axes and a comma between each point.
![Closed](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
This function returns information about arc geometries. If the current geometry is not an arc, the function will not return a value. The function has the following declaration:
geom:get-arc-data( )
The function expects to be passed a list of strings naming the data which it is to return. The function will return the values as a sequence, in the order they are listed in the function call. Valid names are:
bulge | primary-radius | secondary-radius |
start-angle | sweep-angle | rotation |
中心X. | 中心y. | 中心Z. |
start-x | start-y | start-z |
中X. | 中午 | 中午 |
end-x | end-y | end-z |
Example:
GEOM:GET-ARC-DATA(“扫描角度”)
geom:get-arc-data( "center-x", "center-y", "center-z" )
![Closed](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
This function returns data about ellipse geometries. If the current geometry is not an ellipse, the function will not return a value. The function has the following declaration:
GEOM:get-ellipse-data( )
The function expects to be passed a list of strings naming the data which it is to return. The function will return the values as a sequence, in the order they are listed in the function call. Valid names are:
中心X. | 中心y. | 中心Z. |
rotation | primary-radius | secondary-radius |
Example:
GEOM:Get-ellipse-data(“主半径”,“二级半径”)
GEOM:get-ellipse-data( "rotation" )
![Closed](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
此函数返回有关文本几何形状的信息。如果当前几何形状不是文本几何形状,则该函数不会返回值。该函数具有以下声明:
geom:get-text-data( )
The function expects to be passed a list of strings naming the data which it is to return. The function will return the values as a sequence, in the order they are listed in the function call. Valid names are:
Example:
geom:get-text-data( "rotation" )
geom:get-text-data( "size", "string" )
Geometry Processing Functions
When evaluating a template, XQuery functions now have access to geometry. By default, the geometry which is accessed is simply the geometry associated with the feature which is being processed. However, using the functions described in this section, the geometry which is being processed may be changed. For example, if a feature’s geometry is an aggregate, the几何学:process-parts功能可用于顺序地评估聚合的每个部分上的子模板。虽然正在评估这些子模板,但上面列出的几何数据函数将访问聚合的各个部分,而不是整体的聚合。
Note that it is possible for a template to be called recursively, if a different geometry is being accessed in each evaluation of the template. This allows the processing of nested aggregate geometries to arbitrary depths, simply by using the几何学:process-parts功能ion.
Each of these functions, except the几何学:process-points功能ion, takes a parameter which defines which template to run for different geometry types. This mapping is done using an XML element, named ‘conf’ which contains attributes for the different geometry types. The attribute values contain the name of the template which is to be run for that geometry type. If a geometry does not have a type attribute in the conf element, or if the attribute contains an empty string, no template will be evaluated.
Example:
If the following conf element is passed to a function, the function will evaluate the ROAD template on all line geometries, the POI template on all point geometries, and the PARCEL template on all polygon geometries.
The following values are valid geometry type names for the conf element:
aggregate | box | brepsolid |
composite-solid | composite-surface | csgsolid |
donut | ellipse | extrusion |
face | line | mesh |
multi-area | multi-curve | multi-point |
multi-solid | 多面 | multi-text |
null | 小路 | 观点 |
观点cloud | polygon | raster |
rectangle-face | text | triangle-fan |
triangle-strip |
In addition to the above type names, there are a number of attributes which may be used in the conf element to name a template to run for a group of related geometry types.
Conf Attribute Name | Effect |
---|---|
all | The named template will be evaluated for geometries of any type. |
area | 将为多边形,甜甜圈和椭圆形几何评估命名模板。 |
curve | The named template will be evaluated for line, arc and path geometries. |
collection | The named template will be evaluated for aggregates and multi-geometries, such as multi-points, multi-curves, etc. |
如果不止一个conf属性名称适用于几何形状,则将使用更具体的属性名称的值。因此,如果没有适用其他属性,则只能使用“所有”的值。
Example:
If the following conf element is passed to a function, the function will evaluate the PATH template on all line and arc geometries, the PATH template on path geometries, and the OTHER template on all other geometries.
While these conf elements name a template to run geometries of a particular type, ageometry traitmay be used to name a template which is to be run for a particulargeometry instance。将特定几何图形中的“Geometry_Template”的特性设置为模板名称将使函数运行该几何图形的模板,而不是在Conf元素中命名的模板。
![Closed](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
This function will evaluate a sub-template, based on the type of the geometry currently being processed. This allows a different sub-template to be run for each geometry type. This function has the following declaration:
GeOM:过程 - 几何(
As described above, the conf element parameter, or thegeometry_template特性将指示为每个几何类型运行的模板。
Example:
几何学:process-geometry(
![Closed](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
If the geometry currently being processed is a collection (an aggregate or multi-geometry), this function will evaluate a sub-template for each part of the collection. The individual geometries will be processed in the order they appear in the collection, and a sub-template will be chosen based on the type of the geometry. This function may be used to evaluate a template recursively, for example if an aggregate geometry contains another aggregate geometry. As with the other functions in this section, this function takes a conf element as a parameter, which indicates which templates to run for different geometry types.
This function can also be used to evaluate sub-templates on the parts of geometries which are not typically thought of as collections. For example, if the geometry being processed is a path, this function may be used to evaluate a sub-template on each segment of the path. Similarly, if the current geometry is a donut, this function may be used to evaluate a sub-template on each inner boundary of the donut.
如果正在处理的几何图形不是集合,路径或多组几何形状,则此功能不会返回任何内容。
Example:
几何学:process-parts(
![Closed](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
此函数在构成当前正在处理的几何图形上的所有点上评估子模板。例如,如果当前几何形状是一行,则该函数将在行中的每个顶点上评估子模板。如果当前几何形状是多边形,则该函数将在多边形边界中的每个顶点上评估子模板。将滚动弧和椭圆,并将在划线或多边形中的每个点进行评估子模板。此功能有一个声明;与此部分中的其他函数不同,它不采取Confement,但替代单个字符串参数。
几何学:process-points(
Example:
几何学:process-points( "WAYPOINT" )
几何学:process-boundary
If the geometry being processed is an area, this function can be used to evaluate a sub-template on the boundary of the area. This function only applies to polygon, donut and ellipse geometries. It has the following declaration.
几何学:process-boundary(
Since the boundary of an area will always be a line, arc or path, these are the only conf attributes which are used by the function, along with the more generic ‘curve’ and ‘all’ attributes. The几何学:process-parts功能ion may be used to evaluate a sub-template for each inner boundary of a donut.
发表的参数
TheXqueryfactory.can retrieve the values of any published parameters (or macros) in a workspace (or mapping file). These values are global variables in a query, and may be accessed using the ‘fme’ prefix and the parameter/macro name. For example, to access thefme_home.macro value, the$fme:FME_HOMEvariable may be used. Due to a restriction of the XQuery language, parameters/macros whose names begin with a number are not accessible in this way.