本主题介绍 ArcGIS for Desktop 如何支持与地理空间元数据相关的 ISO TC 211 标准。无论您是第一次接触元数据、ISO 元数据标准还是曾经接触过 ISO 元数据,本主题都将有助于您理解 ArcGIS for Desktop 生成有效 ISO 元数据 XML 文档的方式。
ISO 元数据标准
ISO 元数据不是一个标准。而是一组标准,且每个标准对应元数据内容的不同方面和信息的存储方式。讨论 ArcGIS for Desktop 中为这些标准提供的支持级别之前,必须先清楚不同标准的名称和编号以及它们控制的项目元数据的方面。
内容标准
FGDC 的数字地理空间元数据内容标准 (CSDGM) 是内容标准,同样的,一些 ISO 标准也是内容标准。内容标准确定项目的元数据中应该提供哪些信息。例如,它们指示当标题和日期是必需内容,且条件会更改必需内容时,您可以提供标题和日期。内容标准也可以指定义标准。
地理空间元数据标准涉及许多概念。特定区域的专家相互配合以定义提出那些概念的方法。最终创建了许多 ISO 元数据标准来支持其他各组的工作。下面列出了两种最重要的支持标准,而其他几种标准则为描述空间数据及其时态属性提供了框架。所有 ISO 元数据标准都是独立开发和维护的。
- ISO 19110:2005 地理信息 -- 要素分类的方法和 ISO 19110:2011 修订案 1
定义地理要素类型的一种分类方法。将要素类型及其属性和关联的有关信息收集到要素目录当中,并记录为数据集或文本文档。此信息对于理解和使用要素数据而言至关重要。
- ISO 19157:2013 地理信息 -- 数据质量
定义评估地理空间数据质量并传达结果的常规步骤。例如,评估质量的方法基于数据产品规范。修订的标准将取代之前构成 ISO 19115:2003 的数据质量标准,如下所示:
- ISO 19113:2002 地理信息 -- 质量原则
- ISO 19114:2003 地理信息 -- 质量评估程序
- ISO 19138:2006 地理信息 -- 数据质量测量
主要 ISO 元数据标准如下:
- ISO 19115:2003 地理信息 -- 元数据和 ISO 19115:2006 技术勘误表 1
提供用于描述和查找地理空间数据的结构,包括数据的存储时间和存储位置、内容概述、属性、质量、相应用途、分布机制、信息联系方等。可用于描述所有类型的地理空间资源,包括文本文档和非地理信息。此标准包括在数据质量标准 ISO 19113:2002、ISO 19114:2003 和 ISO 19138:2006 中定义的内容。此标准只能够引用描述要素属性的外部 ISO 19110:2005 文档。此标准被 ISO 19115-1:2014 所取代。
- ISO 19119:2005 地理信息 -- 服务和 ISO 19119:2008 修订案 1
提供一种描述服务的方式以支持在信息对目录可用时进行查找。同时,定义概念来指定服务、界面和操作之间的关系及将其组合起来以完成更大任务的方法。此标准的元数据内容部分被 ISO 19115-1:2014 所取代。
- ISO 19115-2:2009 地理信息 -- 元数据 --
第 2 部分:影像数据与格网数据的扩展
扩展 ISO 19115:2003,方法是添加描述用于收集地理空间数据的传感器及其所收集的数据(包括转换原始数据的方法)所需要的概念。
- ISO 19115-1:2014 地理信息 -- 元数据 --
第 1 部分:基础知识
ISO 19115:2003 的修订包括用于 ISO 19119:2005 中所定义的描述服务的元数据概念。添加了一些新的元素,并且扩展了许多代码列表;新的代码列表值包括在 ISO 19115:2003 的 North American Profile 中定义的值。
描述数据质量的概念已移动到 ISO 19157:2013;但是,此标准支持包括 ISO 19115-1 元数据文档中的那些概念。此标准也支持包括定义于 ISO 19110 in an ISO 19115-1 元数据文档中的要素目录概念。ISO 19115-1:2014 可向后与 ISO 19115:2003 兼容。使用较早版本的标准创建的元数据可以保持不变,且可以使用更新的规范创建新的元数据。
执行规范
执行规范决定元数据内容的交换格式。这也可以指编码标准或序列化格式。
每个 ISO 元数据内容标准都与执行规范相关联 - 描述内容的 XML 格式的一个文档和一套 XML 模式。XML 是唯一受支持的格式。一些执行规范会发布为带有各自编码的独立标准;其他规范则会作为内容标准的附录并且共享相同编码。
上文介绍的内容标准与下图所示的执行规范相关联:
- ISO 19136:2007 地理信息 -- 地理标记语言 (GML)
定义以 XML 格式指定与许多支持 ISO 元数据内容标准关联的概念(包括下方列出的概念)的方法。作为描述基本地理空间概念的框架,此标准被大多数其他执行规范使用。
- ISO 19103:2005 地理信息 -- 概念模式语言:定义测量单位和基本数据类型
- ISO 19107:2003 地理信息 -- 空间模式:定义空间几何和拓扑内容
- ISO 19108:2002 地理信息 -- 时态模式:定义时态几何、拓扑和参考系统
- ISO 19109:2005 地理信息 -- 应用程序方案的规则:定义指定要素的方法
- ISO 19111:2007 地理信息 -- 空间参考坐标:定义记录坐标参考系的方法
- ISO 19123:2005 地理信息 -- coverage 几何和函数方案:定义记录栅格数据的方法
- ISO 19139:2007 地理信息 -- 元数据 -- XML 模式执行
修改一些内容并定义 ISO 19115:2003 和 19115:2006 技术勘误表 1 的 XML 格式。此标准还定义了从内容标准提供的 UML 图中来创建 XML 模式的通用规则。此标准中为 ISO 19115:2003 提供执行规范的部分将被 ISO 19115-3 取代。
- OpenGIS 目录服务执行规范
定义 ISO 19119:2008 修订案 1 的 XML 格式。ISO 19119 是一种 ISO 元数据内容标准,而 XML 模式则是为执行此标准而开发的,这些模式只会作为 OGC Web 目录服务 (CSW) 规范的一部分发布。它们没有通过任何 ISO XML 模式资料档案库发布。因为 ISO 19115-1:2014 包括 ISO 19119:2008 定义的内容,此标准中为 ISO 19119 提供执行规范的部分将被 ISO 19115-3 取代。
- ISO 19139-2:2012 地理信息 -- 元数据 -- XML 模式执行 -- 第 2 部分:影像数据与格网数据的扩展
定义 ISO 19115-2:2009 的 XML 格式。它提供的 XML 模式是使用 ISO 19139 中定义的编码规则从 ISO 19115-2 UML 模型中创建的。虽然此规范需要使用 ISO 19139:2007 提供的数据类型定义,但基于 ISO 19139-2 的元数据文档与 ISO 19139 元数据文档不兼容。
- ISO 19110:2011 地理信息 -- 要素分类的方法修订案 1,附录 E
定义 ISO 19110:2005 的 XML 格式。修订 ISO 19110 时,会将 XML 模式作为原始标准的附录包括进来。虽然基于 ISO 19139:2007 和 ISO 19136:2007 规范对 ISO 19110:2005 定义的一些内容进行了格式化,但是这并不意味着 ISO 19119:2005 内容可以直接包括在 ISO 19139:2007 XML 文档中。
因为这些标准是独立创建和修订的,所以当主要元数据执行规范包括支持标准规范时会出现问题。如果将支持标准中的信息直接包括在另一个标准中,那么对支持标准的修订则不会自动更新其他标准 - 必须单独修订其他标准以包括相同更改,但是此更改将在不同的时间线上发生。例如,以数据质量标准和规范的新版本修订数据质量信息模型时,根据 ISO 19139:2007 创建的元数据将始终以 ISO 19115:2003 描述的方式表示数据质量信息。
如果一个执行规范使用另一个执行规范中定义的数据类型,这是一种单向信息流。例如,ISO 19115-2:2009 扩展 ISO 19115:2003。但是,ISO 19139-2:2012 的执行规范通过使文档与两种相不兼容的不同 XML 格式相关联整合 ISO 19139:2007 中的数据类型。
开发最新执行规范时,努力使其与彼此更加兼容,并对未来修订标准和规范时的中断进行限制。
CSDGM 和 ISO 内容标准之间的关系
假设您第一次接触 ISO 元数据标准,但熟悉 FGDC CSDGM 标准,此处将介绍以上 ISO 元数据内容标准如何与 CSDGM 的不同部分相关联。尽管 CSDGM 实体和属性部分与 ISO 19110:2005 标准相对应,CSDGM 中定义的大部分内容与 ISO 19115:2003 标准中定义的内容直接对应。
ISO 19115:2003 的 North American Profile 是一个修改 ISO 19115:2003 的区域专用标准。它的作用之一是向 ISO 19115:2003 代码列表中添加与 CSDGM 中定义的元素值相对应的值。CSDGM 的基础是向文本文档中输入内容,并且在描述资源格式时建议某些元素中的标准化值(例如音频 - 可能用于记录野生动物的声音)。ISO 19115:2003 吸收了受控词汇的思想,即必须从预定义代码列表中选择值。描述项目格式的 ISO 元数据代码列表没有音频资源值。North American Profile 通过向不同的 ISO 代码列表列表中添加值(包括向音频资源的格式代码列表中添加值)来简化这两种内容标准之间的过渡。
标准修订为 ISO 19115-1:2014 时,通常会整合 North American Profile 中定义的内容校正。因此,CSDGM 与 ISO 19115-1:2014 更好地对应。
对于 FGDC CSDGM 元数据,元数据解析程序工具 mp 定义标准执行规范。三种序列化格式是 mp 工具可接受的输入格式:XML、SGML 和结构化文本。该实用程序同样输出这三种格式以及两种不同的 HTML 格式。
如果只考虑 CSDGM 元数据的 XML 格式,则存在三种不同的规范。除 mp 工具外,可在网站中找到 XML DTD 和 XML 模式。尽管大体上相同,但每个规范之间仍然存在着细微的差别。
每个 ISO 元数据内容标准只与一个执行规范和一种序列化格式相关联。
ISO 元数据标准的下一部分内容
定期对 ISO 元数据标准进行修订以保证它们持续有效。内容标准的修订完成后,它的相关执行规范也必须进行相应更新。目前正在进行修订和开发以下元数据内容标准和执行规范:
- ISO 19115-3 地理信息 -- 元数据 -- 第 3 部分:元数据基础知识的 XML 模式执行
将定义 ISO 19115-1:2014 的 XML 格式。ISO 19115-3 将不会为支持 ISO 19115-1:2014 的内容标准提供规范。相反,ISO 19115-3 将根据需要提供方法以包括按照其他执行规范格式化的内容。这样,即使分别提供那些概念规范,项目元数据也可以包括数据质量信息和要素目录信息。可以在不影响 ISO 19115-3 的情况下独立修订支持内容标准。基于 ISO 19136:2007 中定义的数据类型序列化基本的地理空间概念。
此标准将取代为 ISO 19115:2003 提供执行规范的 ISO 19139:2007 部分,以及为 ISO 19119:2005 提供执行规范的 OGC CSW 规范部分。此规范将在不久后完成。
- ISO 19157-2 地理信息 -- 数据质量 -- 第 2 部分:XML 模式执行
将定义 ISO 19157:2013 的 XML 格式。ISO 19157:2013 中的概念是基于 ISO 19115-1:2003 提供的概念加以描述的,例如,定义联系方的方法和引用资源的方法。ISO 19115-3 将提供这些数据类型的执行规范。
- ISO 19139-1 地理信息 -- 元数据 -- XML 模式执行
将对 ISO 19139:2007 进行修订,使其只从元数据内容标准提供的 UML 模型中定义生成 XML 模式的规则。
-
ISO 19110 地理信息 -- 要素分类的方法
正在对现有要素编目标准进行审核,这是日常维护的一部分。内容标准修订完成后,执行规范也必须进行更新。由于它们是在相同的文档中提供的,因此它们可以同时更新,也可以将执行规范移动到编码不同的其他文档中。
- ISO 19115-2 地理信息 -- 元数据 --
第 2 部分: 影像数据与格网数据的扩展
正在对此标准进行审核,这是日常维护的一部分。将按照 ISO 19115-1:2014 和 ISO 19115-3 更新它以及它的执行规范。
ArcGIS for Desktop 支持的标准
根据内容标准 ISO 19115:2003 与 2006 技术勘误表以及执行规范 ISO 19139:2007,使用 ArcGIS for Desktop 中的 ISO 19139 Metadata Implementation Specification 元数据样式创建与导出的元数据有效。
根据内容标准 ISO 19115:2003 与 2006 技术勘误表,使用 ArcGIS for Desktop 中的 INSPIRE Metadata Directive 元数据样式或 North American Profile of ISO19115 2003 元数据样式创建的元数据有效。对于 INSPIRE 样式,根据欧洲社区的 INSPIRE 元数据执行规则:基于 EN ISO 19115 和 EN ISO 19119 的技术指南(版本 1.2),元数据内容同样有效。对于 North American Profile 样式,根据 North American Profile of ISO 19115:2003 - 地理信息 - 元数据(NAP - 元数据,版本 1.2),元数据内容同样有效。
使用 INSPIRE Metadata Directive 元数据样式或 North American Profile of ISO19115 2003 元数据样式且描述数据的元数据已导出时,根据执行规范 ISO 19139:2007,生成的 XML 文件有效。如果描述服务的元数据已导出,根据执行规范 OGC Web 目录服务 (CSW),此元数据有效;对于包含服务元数据描述的 ISO 19139 元数据文档,此规范包含可以对该文档进行验证的 XML 模式。
ArcGIS for Desktop 使用方法以内部 ArcGIS 元数据格式存储内容,并将内容导出为当前 ArcGIS 元数据样式的相应 XML 格式;当新元数据标准变为可用时,该系统可迅速适应。元数据内容标准发生变化时,用于编辑的新元数据元素和页面可被添加到 ArcGIS 元数据编辑器以收集更多内容。新元数据样式可以使用新页面和新 XSLT 变换生成符合新执行规范的 XML 文件。
Esri 工作人员已参与上述 ISO 元数据标准的修订并密切监控对它们作出的更改。新元数据样式可用时,可以将 ArcGIS for Desktop 设为使用此新样式;现有 ArcGIS 元数据内容会保持不变。
验证 ISO 元数据文档
遗憾的是,单纯将执行规范作为标准并不意味着可以直接验证与这些规范相对应的 XML 文档。本部分将剖析 XML 文档的一些分支,例如如何验证 XML 文件、XML 模式如何发布,以及 ISO 元数据 XML 文档的意义何在。
XML 简介
可扩展标记语言 (XML) 被设计为一种用于存储和传输数据的灵活机制。相反,HTML 则被设计用于显示数据。XML 和 HTML 均不会做出任何行为。XML 仅显示标签中的数据。HTML 显示一组浏览器知晓如何显示的预定义标签中的数据。可扩展样式表语言转换 (XSLT) 样式表提供将 XML 文档中的数据转换为其他可由浏览器显示的格式(如 HTML 文档)的说明。
所有 XML 文档必须遵循一套基本规则 - 格式必须正确。格式正确的 XML 文档具有正确的 XML 语法。例如,XML 文档必须具有根元素,标签必须闭合并适当嵌套,属性值必须用引号括起来。
XML 文档的有效性是可以选择的。有效的 XML 文档是指符合某个模式规则的格式正确的 XML 文档。用于定义 XML 文档结构的模式。例如,它可以指定允许哪些元素存在于文档中、哪些元素中可以包含其他哪些元素、哪些元素中可包含何种类型的数据、哪些元素是必需的,以及元素必须以哪种顺序进行显示。XML 模式可以是 XML 文档类型定义 (DTD) 或 XML 模式 (XSD)。ISO Metadata Implementation Specification 提供了一组 XML 模式 (XSD) 文档。
一些字符在 XML 文档中具有特殊的含义。例如,大于号 (>) 和小于号 (<) 字符用于围绕一些文本放置标签并用于创建 XML 元素。元素的文本中包含普通的大于号字符时将出现错误,因为该字符会被解释为新 XML 元素标签的开头。元素文本中出现“与”号 (&) 时也会产生错误,因为“与”号用于表示特殊字符引用。下面介绍的所有特殊字符,包括单引号 (') 和双引号 ("),均应替换为相应的实体引用:> 替换大于号,< 替换小于号,& 替换“与”号,' 替换单引号, " 替换双引号。请注意, HTML 文档支持的许多实体参考在 XML 文档中不受支持。
XML 文档的首行可能是 XML 声明,该声明用于定义 XML 的版本和文档中使用的编码。如果没有声明,则默认的 XML 版本为 1.0。如果未指定编码,则假定编码为 UTF-8 或 UTF-16,具体由 XML 文档的字节顺序标记决定。ArcGIS for Desktop 元数据编辑器和元数据地理处理工具始终生成 UTF-8 编码的 XML 文档。
要了解有关 XML 和 XML 文档语法的详细信息,请参阅 http://www.w3schools.com/xml。
XML 命名空间
两个 XML 模式可以定义名称相同但含义不同的元素。当不同 XML 模式中的元素出现在同一个 XML 文档中时,可使用 XML 命名空间来避免元素命名冲突,其中不同的命名空间与各个 XML 模式相关联。
命名空间指的是 XML 元素名称的前缀,通过冒号与名称隔开,例如 <prefix:name>。通过提供 xmlns 属性并将统一资源标识符 (URI) 与将用作前缀的字符串相关联,可以定义命名空间,例如 xmlns:prefix=URI。必须在将使用前缀的 XML 元素的开始标签中声明命名空间。但是,通常在该文档根元素的开始标签中声明文档中使用的所有命名空间。在下面的示例中,定义了两个命名空间 a 和 b 以区分内部信息和外部信息:
<a:order xmlns:a="http://store.com/inventory" xmlns:b="http://store.com/customers">
<a:name>patio table</a:name>
<a:cost>650.00</a:cost>
<a:email>shipping@store.com</a:email>
<b:name>Jane Smith</b:name>
<b:email>customer@gmail.com</b:email>
</a:order>
命名空间的 URI 并不是有效的 Internet 位置。虽然 URI 看上去像统一资源定位器 (URL),它的作用仅在于确定一组 XML 元素的名称。
如果有一个命名空间的使用频率高于其他命名空间,则可以为 XML 文档指定默认的命名空间,例如 xmlns=URI。指定默认的命名空间后,您就不必为所有与该命名空间相关的元素提供同一个前缀。文档中所有不具备前缀的 XML 元素均为该默认命名空间的成员。再次使用前一个示例,但这次将命名空间 “a” 的 URI 指定为默认命名空间:
<order xmlns="http://store.com/inventory" xmlns:b="http://store.com/customers">
<name>patio table</name>
<cost>650.00</cost>
<email>shipping@store.com</email>
<b:name>Jane Smith</b:name>
<b:email>customer@gmail.com</b:email>
</order>
在这两个示例中,XML 元素成本与命名空间 URI http://store.com/inventory 相关联。如果您有 XSLT 样式表可以将以此格式指定的顺序转换到可打印的文档中,则同一 XSLT 会以相同的方式处理上述两个示例并生成相同的结果。如果识别出同时定义这两组元素的 XML 模式,则上述 XML 文档示例将得到验证 - 上述两个示例均被视为有效。
在 ISO Metadata Implementation Specification 中,每组 XML 模式均与由三个字母构成的字符串和特定的命名空间 URI 相关联。按照惯例,由三个字母构成的字符串始终用作在相关 XML 模式中定义的 XML 元素的前缀。例如,ISO 19115 中定义的大部分元数据元素都与在 ISO 19139 文档中指定的命名空间 URI http://www.isotc211.org/2005/gmd 相关联;如果没有在 XML 文档中为该 URI 指定默认的命名空间,则这些元素将使用前缀 gmd。
ISO Metadata Implementation Specification 提供了许多 XML 模式,因此可定义许多 XML 文档中使用的命名空间和前缀。只需为实际出现在 XML 文档中的元素提供命名空间和前缀声明。
验证 XML 文档
XML 文档必须具有正确的格式。XML 文档的有效性是可以选择的。有效的 XML 文档是指符合某个模式规则的格式正确的 XML 文档。必须向 XML 文档添加模式引用以对其进行验证。
在 XML 声明的后面添加对 XML DTD 的引用,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE order SYSTEM "http://store.com/order-format.dtd">
<order xmlns="http://store.com/inventory" xmlns:b="http://store.com/customers">
…
</order>
首先声明 XML 文档的根元素,然后指定 DTD 的存储位置。
使用文档中根元素开始标签中的属性添加 XML 模式引用,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<order xmlns="http://store.com/inventory" xmlns:b="http://store.com/customers"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://store.com/order-format.xsd">
…
</order>
首先,声明 XMLSchema 实例命名空间。然后,chemaLocation 属性指定了 XML 模式的存储位置。
处理 XML 文档需要使用不同的软件工具。执行 XSLT 样式表中定义的转换操作时需要 XSLT 引擎或处理器。XML 解析程序用于添加、删除、读取元素和属性及其值,并用于在 XML 文档的结构中执行各种其他操作。非验证型 XML 解析程序可以进行检查以确保 XML 文档的格式正确。除其他操作以外,验证型 XML 解析程序还可以使用引用的 XML 模式根据该模式中指定的规则来确定 XML 文档是否有效。
将 XML 模式引用加入到 XML 文档中后,验证型 XML 解析程序可以进行检查以确定该文档是否有效。
可以写入 XML 模式以解释元数据内容标准中定义的大多数规则。但它们不能评估 ISO 元数据内容标准 UML 模型中定义的所有规则。例如,如果使用 XML 模式,则元素的值不受同级元素值的控制。
Schematron 是一种基于规则的语言,可用于使用 XPath 查询来评估 XML 文档,并用于在发现问题时显示纯语言错误。Schematron 可用于协助进行 XML 模式验证,以确定 XML 文档是否遵守了内容标准中定义但该模式无法进行评估的规则。因为 Schematron 是 XML 文档,它们通常会转换为 XSLT 变换;然后,生成的 XSLT 可用于通过 XSLT 处理器验证 XML 文档。ISO 19115-3 将为 Schematrons 和 XML 模式提供验证。
ArcGIS for Desktop 使用 Microsoft .NET Framework XML 解析程序和 XSLT 处理器来处理元数据。该技术仅支持 XSLT 1.0。因此,只有基于 XSLT 1.0 的 XSLT 样式表可以使用 ArcGIS for Desktop 软件运行。基于 XSLT 2.0 创建的 Schematron 无法转换为将在 ArcGIS for Desktop 中运行的 XSLT 样式表。
使用 ArcGIS for Desktop 验证元数据
ArcGIS for Desktop 元数据编辑器通过对由特定页面管理的元数据内容进行测试来对元数据进行内部验证。这些测试的基础是由内容标准指定的规则和与当前 ArcGIS 元数据样式相关的执行规范。所有的内容标准规则均考虑在内,甚至包括可在执行规范的 XML 模式中进行测试的规则以外的其他规则。元数据编辑器的内容列表会快速说明哪些页面的内容将被视为对元数据样式无效。
制作良好的元数据内容需要一定的时间。通过 ArcGIS 元数据编辑器,您可以原样保存您的内容并在以后继续完成,即使在您需要停止工作时该元数据被视为无效的情况下也是如此。
ArcGIS for Desktop 可以满足大量客户的不同需求。大多数组织喜欢遵照社区标准来创建元数据。但一些组织具有不同的内部需求;按照元数据标准的 XML 模式,其元数据文档将被视为无效。ArcGIS 允许这些组织根据其自身的需求来生成元数据。因此,当将项目的元数据内容导出为某一标准的 XML 格式时,生成的 XML 文件将不包含 XML 模式引用。
如果项目的元数据内容完整,可以有选择地进行测试,以确定其对于与该元数据样式相关的元数据标准的 XML 模式是否有效。要完成此操作,可使用“描述”选项卡的“验证”按钮来运行“验证元数据”地理处理工具。当其对话框打开时,对当前元数据样式进行相应的工具参数设置。下方屏面截图中说明了与 ISO 19139 元数据样式相关联的设置:
该工具首先将项目的 ArcGIS 元数据内容导出为元数据标准的 XML 格式 - 本例中为 ISO 19139 XML 格式。然后根据工具参数中提供的信息将 XML 模式引用插入到导出的 XML 文档中。下面的示例介绍了 xsi:schemaLocation 属性是如何根据上例中提供的信息生成的:
<?xml version="1.0" encoding="UTF-8"?>
<MD_Metadata xmlns="http://www.isotc211.org/2005/gmd"
xmlns:gco="http://www.isotc211.org/2005/gco"
xmlns:gts="http://www.isotc211.org/2005/gts"
xmlns:srv="http://www.isotc211.org/2005/srv"
xmlns:gml="http://www.opengis.net/gml"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.isotc211.org/2005/gmd
http://www.isotc211.org/schemas/2005/metadataEntity.xsd">
…
</MD_Metadata>
如果可以,必须在 xsi:schemaLocation 属性中声明目标命名空间,以使该命名空间与 XML 模式的目标命名空间相一致。目标命名空间可指示 XML 文档中的哪些元素符合指定的 XML 模式并将得到验证。其他 XML 模式(如 FGDC CSDGM 模式)可能不需要指定目标命名空间。
最后,使用 .NET Framework XML 解析程序对导出的含 xsi:schemaLocation 属性的 XML 文件进行验证。.NET Framework 提供的所有警告或错误消息都将以工具消息的形式进行报告。ArcGIS for Desktop 完全按照错误消息的生成对其进行报告。
ISO 元数据 XML 模式资料档案库
存在许多发布了不同 ISO Metadata Implementation Specification XML 模式的官方位置或资料档案库。但并不是所有的规范都在每个位置中进行了发布。正因如此,要决定使用哪些模式来验证 XML 文档是否真的符合特定标准十分困难。在文档 INSPIRE 元数据实施规则 v1.2 的 2.1.2 节“ISO 模式位置”中对这一困境进行了介绍。
随着对不同执行规范的日益开发,GML 已从 OGC 标准发展为 ISO 标准。GML 内容仅用于 ISO 元数据 XML 文档,以根据需要记录时间和几何形状。较旧版本的 GML 最初用在 ISO 元数据 XML 模式中,该版本的 GML 和 ISO 元数据 XML 模式使用一个命名空间。较新版本的 GML 使用不同的命名空间。
虽然对 GML 标准的更改几乎或根本不会对根据 ISO 元数据内容标准生成的元数据 XML 文档造成影响,但对 GML 命名空间的更改会导致这些 XML 文档的验证方式变得复杂。XML 模式指定了待验证的目标命名空间。如果 XML 文档使用命名空间 G1 而 XML 模式将命名空间 G1 作为验证目标,则将验证该文档的内容和结构是否正确。如果 XML 文档使用命名空间 G1 而 XML 模式将命名空间 G2 作为目标,则即使该文档的内容和结构都正确,也不会对该文档进行验证。通常,如果将 XML 文档的命名空间从 G1 更改为 G2,那么只要文档使用的内容在 G1 和 G2 中相同,就可以对文档成功进行验证。
在不同位置发布的不同 ISO 元数据 XML 模式均引用不同版本的 GML XML 模式,因此它们以不同的 GML 命名空间为目标。在考虑使用哪个 XML 模式进行验证时,其中一个重要的因素是该 XML 模式以哪个 GML 命名空间为目标。下面是不同资料档案库的列表,您可以在其中找到各种 ISO 元数据 XML 模式以及这些模式使用的 GML 命名空间。
- http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/
它是 ISO 19139 标准文档中提供的官方模式集的模式位置。这些模式已更新为使用新的 GML 3.2.1 命名空间: http://www.opengis.net/gml/3.2。它们直接引用由同一 ISO 模式资料档案库提供的 ISO 19136 版本的 GML 3.2.1 模式:http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19136_Schemas/。
该位置不含其他已发布的 ISO 元数据标准的 XML 模式,如 ISO 19119、ISO 19110 或 ISO 19139-2。发布到该位置的其他 XML 模式只有一个,即 ISO 19135-2 地理信息 - 项目注册过程 - 第 2 部分 XML 模式执行的 TC 211 XML 模式。只有那些基于 ISO 19115:2003 并使用新 GML 命名空间的地理空间元数据 XML 文档才可以通过这些 XML 模式进行验证。
http://standards.iso.org/ittf/PubliclyAvailableStandards/ 是所有公用标准的官方 ISO 资料档案库。虽然 ISO 19135-2、ISO 19136 和 ISO 19139 XML 模式在此位置继续可用,但它们不再出现在资料档案库提供的标准列表里。
- http://schemas.opengis.net/iso/19139/20070417/
这是其中一个用于在 OGC 模式资料档案库中提供官方 ISO 19139 模式的位置。这些模式已更新为使用新的 GML 3.2.1 命名空间。它们即为发布到资料档案库 #1 的相同 XML 模式;但它们直接引用由同一 OGC 模式资料档案库提供的 GML 3.2.1 模式,而非资料档案库 #1 提供的。
该位置不含任何其他已发布的 ISO 元数据标准的 XML 模式,如 ISO 19119、ISO 19110 或 ISO 19139-2。因此,只有那些含 ISO 19115 元数据内容并使用新 GML 命名空间的 XML 文档才可以通过这些 XML 模式进行验证。
- http://schemas.opengis.net/iso/19139/20060504/
这是另一个用于在 OGC 模式资料档案库中提供官方 ISO 19139 模式的位置。这些模式使用旧版的 GML 3.2.0 命名空间:http://www.opengis.net/gml。这些模式即为发布到资料档案库 #4 和 #5 的相同 XML 模式。这些模式引用了在同一位置提供的旧版 GML XML 模式的副本。
该位置还包含 ISO 19119 的 XML 模式。因此,包含 ISO 19115 和 ISO 19119 元数据内容并使用旧版 GML 命名空间的 XML 文档可通过这些 XML 模式进行验证。
- http://www.isotc211.org/schemas/2005/
这是 ISO 19139 XML 模式在官方 ISO 资料档案库 #1 尚不提供这些模式时的原始发布位置。虽然在 XML 模式同一位置可用,但该位置提供的 HTML 页面中具有 ISO 元数据模式链接,可通过此链接转到资料档案库 #5。
虽然该位置不会显示 XML 模式的目录,但如果提供 XML 模式文件的完整路径,仍然可以使用此处提供的原始 XML 模式。这些模式使用旧版的 GML 3.2.0 命名空间。这些模式即为发布到资料档案库 #3 和 #5 的相同 ISO 19139 模式。这些模式引用了在同一位置提供的旧版 GML XML 模式的副本。
该位置不含任何其他已发布的 ISO 元数据标准的 XML 模式,如 ISO 19119、ISO 19110 或 ISO 19139-2。因此,只有那些含 ISO 19115 元数据内容并使用旧版 GML 命名空间的 XML 文档才可以通过这些 XML 模式进行验证。
- http://www.isotc211.org/2005/
这是另一个可通过 TC 211 委员会访问 ISO 元数据 XML 模式的位置。尽管资料档案库 #1 是官方资料档案库,但是可以通过与资料档案库 #4 相关联的 URL 访问 HTML 页面,将用户导向此位置。
如果认为在与命名空间 URIs 关联的 URL 上提供 ISO 19139 XML 模式会带来更很好的效果,则可在此发布该模式。在此处可用的 ISO 19139 XML 模式使用的是旧版 GML 3.2.0 命名空间。这些模式即为发布到资料档案库 #3 和 #4 的相同 ISO 19139 模式。这些模式引用了在同一位置提供的旧版 GML XML 模式的副本。
使用此位置作为正在进行不同执行规范的 XML 模式资料档案库。因此,它提供了其他 ISO 元数据标准的 XML 模式,包括:两种不同版本的 ISO 19110 XML 模式,ISO 19135-2、ISO 19139-2 和 ISO 19145 的 XML 模式 地理信息 -- 表示地理点位置的注册表。未给定支持 ISO 19119 的 XML 模式。
某些在此位置的 XML 模式,如 ISO 19110,使用的是旧版 GML 命名空间并且引用了在此位置的 GML 模式。其他的,如 ISO 19139-2,引用的是在资料档案库 #1 中发布的 ISO 19139 XML 模式的版本,而且使用的是新版 GML 3.2.1 命名空间。
- https://github.com/ISO-TC211/XML
这是正在进行不同 TC 211 执行规范的新的 XML 模式资料档案库。
- http://standards.iso.org/iso
这是新的所有公用标准的官方 ISO 资料档案库。几个 TC 211 执行规范在此位置可用,包括 ISO 19110、ISO 19136 和 ISO 19139,ISO 19119 的 XML 模式不可用。然而,此时技术问题导致至少某些 ISO 19139 XML 模式和一些其他模式无法使用。
鉴于有多种选择,目前尚不清楚应使用哪组官方 XML 模式验证元数据。
很多国际 ISO 元数据专用标准的内容与以上列出的不同资料档案库相关联。它们之间真正的不同之处仅在于使用的 GML 命名空间版本不同。在所有其他方面,模式的实际内容都是相同的。INSPIRE 文档建议您应根据自己的情况,使用一组基于 GML 特定版本的模式来验证元数据。该元数据验证的整体方法很有意义。
TC 211 XML 管理委员会已试着解决关于上述不同 XML 模式资料档案库之间的一致性问题。希望未来新的资料档案库 #7 能够提供一组一致的、满足所有 ISO TC 211 标准的官方 XML 模式。
XML 模式和 ArcGIS for Desktop
ArcGIS for Desktop 元数据系统旨在使用标准组织在 web 上托管的官方模式来验证元数据,因为它们是官方模式。如果模式不是官方模式,则不能进行打包,也不能通过软件进行分发。
使用 ISO 19139 Metadata Implementation Specification 元数据样式时,ArcGIS for Desktop 使用资料档案库 #4 中的 XML 模式来验证 ISO 19139 元数据文档。选择此资料档案库的原因如下:它是第一个提供一组可访问的官方 XML 稳定模式的资料档案库;它早于 #1 中所描述的资料档案库;这些模式与 CSW 标准相关联。由于 ArcGIS for Desktop 使用了 #4 资料档案库中的 XML 模式验证元数据,因此 ArcGIS for Desktop 客户能够在稳定的环境下创建符合 ISO 19139 的元数据。以此样式导出的元数据使用旧版 GML 3.2.0 命名空间 - http://www.opengis.net/gml - 将使用任意一种 ISO 19139 XML 模式进行成功验证,这些模式均使用 GML 3.2.0 命名空间(#3、#4 和 #5)。
使用 ISO 19139 Metadata Implementation Specification GML 3.2 元数据样式时,资料档案库 #1 中的 XML 模式将用于验证 ISO 19139 元数据文档。如果导出使用 GML 3.2 命名空间的元数据很重要,则要使用此元数据样式,并且要使用 XML 模式的替代组对元数据进行验证。以此样式导出的元数据使用新版的 GML 3.2.1 命名空间 - http://www.opengis.net/gml/3.2 - 将使用任意一种 ISO 19139 XML 模式进行成功验证,这些模式均使用 GML 3.2.1 命名空间(#1 和 #2;同时寄希望于未来的 #7 )。
当打开“验证元数据”工具的对话框时,您可以对用于验证某项目元数据的设置进行更改,且可以用一组不同的 XML 模式来替代与当前元数据样式相关联的模式。通过创建始终使用首选设置的自定义元数据样式,也可以对设置进行永久更改。例如,您可以使用组织内部网络上提供的一组 XML 模式而非 internet 上 TC 211 委员会提供的模式来验证元数据。ArcGIS 元数据工具包提供了关于如何创建自定义元数据样式的信息,您可从 Esri 支持网站上下载该信息。
如果您选择使用错误的一组 ISO 19139 XML 模式来验证由 ArcGIS for Desktop 导出的 XML 文档,则验证将失败。如果您通过在导出的 XML 文档中的 GML 命名空间声明结尾处添加或移除 /3.2 来更改此声明,则可通过其他 XML 模式组成功验证此文件。
当 TC 211 XML 管理委员会新建一个稳定的资料档案库后,将更新 ArcGIS for Desktop 以针对 XML 模式的不同资料档案库导出并验证 ISO 19139 XML 文档。
最后介绍一下 XLink
XLink 是支持查询和引用 XML 文档各部分的 W3C 推荐。XLink XML 模式已纳入 ISO TC 211 标准。然而,从整体来看,软件社区从未广泛采用过这些模式。Internet 浏览应用程序本身不支持这些模式。除了 XLink 支持任意 XML 模式的这种形式,Microsoft 生产的 XML 软件均不支持 XLink。
然而,ISO 19139 XML 模式却支持 XLink,且全部可选。因此,在 ISO 19139 兼容的 XML 文件中无需使用 XLink。
当用户与某个 XML 文档进行交互时,XLink 则十分有用,这是因为用户可以很容易诠释和理解 XML 文档的两个部分之间关联的意义。如果您通过键入 XML 数据,从头开始创建 XML 文档,那么利用 XLink 将有助于节省时间、改善维护成本以及防止基本数据输入错误。
ArcGIS for Desktop 会使用不同的方法来解决这些相同元数据维护的问题。元数据文档中多次重复使用的部分会保存至单独的 XML 文件中。之后,在必要时,可将这些 XML 片段加载到项目的元数据中。这些功能以不同的方式有效地提供了和 XLink 相同的好处。
当元数据导出为 ISO 19139 格式后,通常会生成一个完整的 ISO 19139 文档。此结果是有意设计的 - 将确保提供一个可读的完整元数据文档,且用户可在不依赖任何专用软件的情况下在组织外部对其进行明确验证。从 ArcGIS for Desktop 导出的 ISO 19139 元数据 XML 文件只会在必要时,以及当 XLink 是处理内容的最佳方法时,谨慎使用 XLink。