【问题标题】:Why does my namespace for the KML gx extensions not work为什么我的 KML gx 扩展名称空间不起作用
【发布时间】:2021-06-01 08:54:19
【问题描述】:

我决定验证我的 KML 文件,但它返回说在命名空间区域找不到“http://www.google.com/kml/ext/2.2”。当我在浏览器中输入这个 url 时,我得到一个 not found。这个 url 被广泛发布为获取 gx 扩展的地方。为什么我看不到?

【问题讨论】:

标签: kml google-earth


【解决方案1】:

XML 中的namespace 是一个 URI 引用。统一资源标识符 (URI) 是抽象或物理资源的标识符,而统一资源定位符 (URL) 是物理资源的位置。

Google KML reference 使用 xmlns:gx="http://www.google.com/kml/ext/2.2" 命名空间 URI 定义 Google Earth KML extensions

URI http://www.google.com/kml/ext/2.2 不是可以解析为网页的物理 URL,但 gx 扩展的 XML 架构可以在此 URL 中找到:

https://developers.google.com/kml/schema/kml22gx.xsd

可以使用 xsi:schemaLocation 属性指定架构的物理位置,如下面的 KML 片段所示。

<?xml version="1.0" encoding="utf-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2"
 xmlns:gx="http://www.google.com/kml/ext/2.2"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.opengis.net/kml/2.2 http://schemas.opengis.net/kml/2.2.0/ogckml22.xsd
  http://www.google.com/kml/ext/2.2 http://developers.google.com/kml/schema/kml22gx.xsd">
...
</kml>

【讨论】:

    猜你喜欢
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-02
    • 2011-03-21
    • 2011-05-01
    相关资源
    最近更新 更多