辅助命名空间

什么是辅助命名空间?

辅助命名空间是主架构间接引用的命名空间,即一个架构导入另一个架构,如下所示:

a.xsd imports b.xsd
b.xsd imports c.xsd

(使用a、b和c作为a.xsd、b.xsd和c.xsd的各自命名空间前缀)::

a.xsd declares b:prefix
b.xsd declares c:prefix

geotools编码器不尊重这些名称空间并写出:

"a:" , "b:" but NOT "c:"

结果是C的元素被编码为:

<null:cElement/>

何时配置辅助命名空间

如果应用程序跨越多个名称空间,这在应用程序模式中可能非常常见。

调用辅助命名空间配置的一个确定标志是,当命名空间的前缀打印为文本字符串“null”或错误消息时,例如:

java.io.IOException: The prefix "null" for element "null:something" is not bound.

备注

使用辅助命名空间时,涉及复杂FeatureType的请求必须发送到 全球OWS服务 只是,不是为了 虚拟服务 .这是因为虚拟服务仅限于单个命名空间,因此无法访问辅助命名空间。

为了允许geoserver app模式支持辅助命名空间,请执行以下步骤:

以采样命名空间为例。

步骤1:创建辅助命名空间文件夹

创建一个文件夹来表示数据/工作区目录中的辅助命名空间,在我们的示例中,它将是“sa”文件夹。

步骤2:创建文件

在下面的“sa”文件夹中创建两个文件:

  1. namespace.xml

  2. workspace.xml

步骤3:编辑文件内容

这些文件的内容如下:

namespace.xml(uri是辅助命名空间的有效uri,在本例中是采样命名空间uri)::

<namespace>
        <id>sa_workspace</id>
        <prefix>sa</prefix>
        <uri>http://www.opengis.net/sampling/1.0</uri>
</namespace>

工作区.xml::

<workspace>
        <id>sa_workspace</id>
        <name>sa</name>
</workspace>

就是这样。

工作区现在配置为使用辅助命名空间。

Next: CQL功能