DEF行

当GML2写入器设置为时,DEF行控制GML应用程序模式的生成固定创建模式。

对DEF线的解释依赖于GML2作者的解释SCHEMA_MODE

固定的模式

GML实例文档输出符合FMEFeatures.xsd应用程序模式(安全模式)。亚搏在线它的名称空间前缀是fme它的URL是http://www.亚搏在线safe.com/xml/schemas/FMEFeatures.一份FMEFeatures.xsd模式文档可以在xfMapFME安装的文件夹。在大多数安装中,这个位置是:C:\Program Files\ FME_ <版本> \ xfmap

该模式声明了两个GML特性集合元素:

  • fme: schemaFeatures
  • fme: dataFeatures

(请参阅FMEFeatures.xsd的模式,xfMap文件夹中的GML元素声明fme名称空间)。每个集合元素可以包含一个或多个fme:功能元素。

fme:功能可以有一个特征类型、零个或多个属性,还可以有一个由GML规范定义的预定义几何属性。(见fme: FeatureType中的复杂类型定义FMEFeatures.xsd模式文档)。

DEF行指定fme:功能fme: schemaFeatures容器元素。的< elementName >定义其特性类型。每一个< attrName > < attrType >对定义了一个fme:房地产元素。一个额外的fme:房地产用这个名字xml_type是由< xml_type >。

例如:

当GML2写入器写出一个FME特征时,它使用它的特征类型来确定如何fme:功能元素应写入fme: dataFeature容器。

FME特性的特性类型必须等于一个DEF行(< elementName >).通过它,写入器确定数据的属性和几何形状fme:功能.几何形状是由DEF线决定的< xml_type >。它确定在fme:功能

对应关系如下表所示:

xml_type

在fme:Feature中引用的GML v2几何属性元素

xml_no_geom

没有一个

xml_point

pointProperty, multiPointProperty

xml_line

lineStringProperty, multiLineStringProperty

xml_area

polygonProperty, multiPolygonProperty

xml_text

pointProperty

创建模式

一个GML2 DEF行在GML应用程序模式中指定以下内容:

  • XML模式复杂类型定义
  • XML模式全局元素声明

XML模式复杂类型定义

这个复杂类型被命名< elementName >类型.属性指定的GML应用程序模式目标名称空间中目标名称空间前缀目标名称空间URI作家参数。它是从GML AbstractFeatureType扩展而来的。

的价值< xml_type >属性的定义中将包含哪个GML几何属性作为元素引用< elementName >类型复杂类型。

下表显示了这种关系:

xml_type

复杂类型中引用的GML v2几何属性元素

xml_no_geom

没有一个

xml_point

pointProperty, multiPointProperty

xml_line

lineStringProperty, multiLineStringProperty

xml_area

polygonProperty, multiPolygonProperty

xml_text

在CREATE模式下不支持

在上表中,如果引用了多个GML几何属性元素,则< elementName >类型复杂类型定义将在XML Schema选择元素中引用它们。

每一个< attrName > < attrType >Type复杂类型中指定一个元素声明。元素声明名称为,类型为< attrType >.的有效值< attrType >是:Xml_buffer, xml_char(width), xml_int32, xml_real32, xml_decimal(width,decimal), xml_boolean,xml_real64

一个< attrName >也可以在DEF行中加上后缀为{}表示该属性是一个简单的列表属性。为这个简单列表属性生成的GML属性将具有它的maxOccurs设置为无限

XML模式全局元素声明

该全局元素使用name声明< elementName >,它的类型是< elementName >类型,它被分配给GML_Feature置换组。