标识符(Identifier)
- URL:
https://standards.isotc211.org/19115/-1/1/req/metadata-minimal-xml/defines-abstract-classes
- 解释: 这个 URL 指向一个特定的标准,详细说明了元数据最小实例中需要定义的抽象类。
包含于(Included in)
- 要求类 4:元数据信息最小交换 (ISO 19115-1)
- 解释: 该命名空间要求包含在 ISO 19115-1 标准的要求类 4 中,涉及最小元数据信息交换的规范。
声明(Statement)
- 解释: 该声明描述了最小元数据 XML 实例文档中应该如何处理和定义抽象类:
- 定义抽象类:最小元数据 XML 实例文档应定义从 XML 命名空间 mcc 中的抽象类。这些抽象类用于构建符合 ISO/TS 19139-1:2019 和 8.2 中实施规则的 XML 模式。
- 必需元素的属性数据类型:所需的各种必需元素的属性数据类型包括以下几种:
- Abstract_ResourceDescription:资源描述的抽象类。
- Abstract_Extent:空间或时间范围的抽象类。
- Abstract_TypedDate:类型化日期的抽象类。
- Abstract_Responsibility:责任的抽象类。
指导(Guidance)
- 解释: 尽管这些抽象类不会出现在实例文档中,但为了验证文档的正确性,仍需要导入 mcc 命名空间模式。这些抽象类的存在是为了确保 XML 模式的结构和内容符合规定的标准和要求。
示例解读
假设我们要创建一个最小元数据 XML 实例文档,以下是一个简单的示例,其中导入了 mcc 命名空间以确保文档的验证:
理解抽象类和具体类
-
抽象类 (Abstract Classes):
- 抽象类提供通用属性和结构,但不能直接实例化。
- 例如:
Abstract_TypedDate
可能定义了日期和日期类型的通用属性,但需要具体类来实现这些属性。
-
具体类 (Concrete Classes):
- 具体类继承或实现抽象类的属性和结构,并可以在 XML 文档中实际使用。
- 例如:
gmd:CI_Date
是一个具体类,继承并实现了Abstract_TypedDate
的属性。
在实际文档中使用具体类
在实际的 XML 文档中,我们使用具体类来实例化抽象类所定义的属性和结构。这是因为具体类提供了完整的实现,而抽象类仅作为模板存在。下面是一个具体的例子,展示如何使用具体类来实现抽象类的定义:
<gmd:MD_Metadata xmlns:gmd="http://www.isotc211.org/2005/gmd"
xmlns:gco="http://www.isotc211.org/2005/gco"
xmlns:mcc="http://www.isotc211.org/2005/mcc"
xmlns:cit="http://www.isotc211.org/2005/cit"
xmlns:mri="http://www.isotc211.org/2005/mri">
<!-- 示例中的一些元素 -->
<gmd:identificationInfo>
<mri:MD_DataIdentification>
<mri:citation>
<cit:CI_Citation>
<cit:title>
<gco:CharacterString>Example Dataset</gco:CharacterString>
</cit:title>
<cit:date