辅助命名空间¶
什么是辅助命名空间?¶
辅助命名空间是主架构间接引用的命名空间,即一个架构导入另一个架构,如下所示:
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”文件夹中创建两个文件:
namespace.xml
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>
就是这样。
工作区现在配置为使用辅助命名空间。