XSLT 变换可用来为项目的元数据执行各种处理,包括将项目元数据的副本另存为 XML 文件、将元数据显示的副本另存为 HTML 文件以及更改项目的元数据内容。
XSLT(可扩展样式表语言转换)是一种可用来将 XML 文档变换为另一个 XML 文档的语言。XSLT 也可以将 XML 文档的内容格式化,以生成例如 HTML 页或文本文件的输出。ArcGIS Desktop 和 XML 文档一样提供对项目元数据的访问。所以,处理项目元数据的一种方法为使用 XSLT 完成任务。可以在 ArcGIS Desktop 中使用 XSLT 变换工具处理 XML 文件和元数据。XSLT 从 1999 年开始作为 W3C 规范。
ArcGIS Desktop 提供了几种 XSLT 样式表。下表对这些样式表进行了描述。也可以创建自定义 XSLT 样式表用来处理项目的元数据。
另存为 HTML 文件
下面的样式表生成用来在 描述选项卡 中显示项目元数据的 HTML 文档。它们从项目的元数据提取内容,并添加 HTML 格式说明。
可以将结果 HTML 文件合并到网站,并使用按照计划间隔运行的脚本定期更新这些文件。这些样式表经过了优化,以使用 ArcGIS Desktop 所用浏览器控件提供最佳的元数据;结果 HTML 与在其他浏览器中的显示可能会有所不同。如果要为显示创建自定义样式表,可以通过阅读 ArcGIS 元数据工具包提供的文档了解详细信息。
这些样式表位于 <ArcGIS Installation Location>\Metadata\Stylesheets 文件夹中。不能单独复制或共享这些样式表。它们会导入 ArcGIS_Imports 文件夹中许多文件的内容,用于执行大部分处理任务。
ArcGIS.xsl | 显示项目的完整元数据内容。除默认的项目描述样式以外,所有的元数据样式都会引用该文件。 |
ArcGIS_ItemDescription.xsl | 仅显示项目的简要描述。默认项目描述元数据样式会引用该文件。 |
- 打开 XSLT 变换工具。
- 将输入 XSLT 参数设置为上面其中一个 XSLT 样式表的路径。
- 将输出文件的参数设置为带有扩展名 .html 的文件。
- 运行此工具。
另存为 XML 文件
下面的样式表可以用来将项目的元数据另存为 XML 文件。其中一个样式表允许您将原始元数据的精确副本另存为 XML 文档。其他样式会从项目元数据中移除不同等级的敏感信息,并将结果另存为 XML 文件。例如,如果想要将项目元数据与公众共享,可能需要先从元数据中删除关于计算机、数据库和用户名的信息。可以创建一个运行此过程的模型或脚本,然后将结果 XML 文件发送到导出元数据工具。这些样式表位于 <ArcGIS Installation Location>\Metadata\Stylesheets\gpTools 文件夹中。
exact copy of.xslt | 以 XML 文件的形式创建项目元数据的精确副本。例如,您可能会使用此样式表将地理数据库项目的元数据副本保存至本地文件以供检查。 |
remove local storage info.xslt | 删除项目的元数据中可能存在的任意计算机名称。将根据计算机名称的位置或其环境执行不同的操作。会删除包含信息的元数据元素,或者将计算机名称从其所在的 UNC 路径中删除,或者更改元数据元素的值,以将位置识别为保留。XSLT 会在项目元数据打包之前使用。 |
remove local storage info strict.xslt | 删除与 remove local storage info.xslt 相同的信息,但同时删除所有不是以 URL 形式提供的文件路径。会删除操作系统信息、数据库类型和地理处理历史;地理处理历史大部分由文件路径和数据库连接信息组成。XSLT 用于在将地图的元数据发布为服务之前对其进行处理。 |
- 打开 XSLT 变换工具。
- 将输入 XSLT 参数设置为上面其中一个 XSLT 样式表的路径。
- 将输出文件的参数设置为带有扩展名 .xml 的文件。
- 运行此工具。
另存为模板
下面的样式表可以用来将项目的元数据另存为 XML 文件,该文件可用作元数据模板。会删除具体描述原始项目的内容。样式表位于 <ArcGIS Installation Location>\Metadata\Stylesheets\gpTools 文件夹。
generate metadata template.xslt | 将 ArcGIS 元数据内容以元数据模板的形式复制到可以导入其他项目的新 XML 文件。从模板中排除同步的元数据内容并移除任何空元素。 |
- 打开 XSLT 变换工具。
- 将输入 XSLT 参数设置为上面其中一个 XSLT 样式表的路径。
- 将输出文件的参数设置为带有扩展名 .xml 的文件。
- 运行此工具。
更新元数据
下面的样式表可用于更改项目的元数据。下列某一 XSLT 可用于处理项目的元数据、做出具体的更改并将结果另存为 XML 文件。使用元数据导入程序工具将结果保存回项目中,这会用修改后的内容替换项目的原始元数据。可以创建一个同时执行这些任务的模型或脚本。
此外,这些过程可能是更大的一系列更改的中间步骤。例如,一个过程可以更新唯一标识符、删除项目的地理处理历史、从元数据内容中删除任何计算机名称,然后将更新后的元数据保存到独立的元数据 XML 文件,再将其发布到元数据目录。
这些样式表位于 <ArcGIS Installation Location>\Metadata\Stylesheets\gpTools 文件夹中。
add unique identifier.xslt | 添加或更改唯一标识符,该标识符存储在项目的元数据中。通过此样式表修改的标识符存储在 Esri 的 PublishedDocID 元数据元素中,可使用该标识符来标识元数据目录中的文档,如 Geoportal。 |
remove geoprocessing history.xslt | 删除项目的地理处理历史。尽管所有的元数据地理处理工具都旨在保存项目的地理处理历史,但随着时间的推移,历史记录的容量变得很大,人们很难以 XML 文档的形式对项目的元数据进行处理。在这些情况下,可能需要删除项目的地理处理历史。 |
remove pre94 metadata elements.xslt | 删除任意 ESRI-ISO 格式的 XML 元素,并从项目元数据中删除 ArcGIS 元数据格式中所不包括的任意 FGDC CSDGM 格式的 XML 元素。 |
remove thumbnail.xslt | 删除项目的缩略图。尽管所有的元数据地理处理工具都旨在保存项目的缩略图,但在某些情况下可能要删除项目的缩略图。在“描述”选项卡中编辑某个项目的元数据时可以删除其缩略图。使用此脚本,可以运行批处理删除多个项目的缩略图。 |
可使用给定的样式表示例来创建您自己的 XSLT 样式表以更新元数据。例如,可以写一个样式表用来更新地址或电话号码。更新 ArcGIS 元数据的 XSLT 样式表不应从 Esri 和二进制元数据元素中删除内容。
- 创建一个模型或脚本,该模型或脚本首先使用 XSLT 变换工具处理项目元数据,之后使用“元数据导入程序”工具将更新后的 XML 文件保存回项目。
- 将 XSLT 变换工具的源元数据参数设置为模型或脚本的参数。
- 将输入 XSLT 参数设置为上面其中一个 XSLT 样式表的路径。
- 运行此工具。
其他工具使用的过程
<ArcGIS Installation Location>\Metadata\Stylesheets\gpTools 文件夹中可用的一些样式表执行的中间步骤对于导出元数据、导入元数据和升级元数据工具的操作是必要的。这些样式表通常不单独使用。但此处描述了它们的过程,以用作示例。
merge imported metadata with existing.xslt | 使用导入的 ArcGIS 元数据内容替换项目元数据中的现有 ArcGIS 元数据内容。不改变项目的原始缩略图、地理处理历史和某些项目属性。由导入元数据工具所使用。 |
merge upgraded FGDC with existing.xslt | 使用更新项目原始 CSDGM 格式元数据所生成的 ArcGIS 元数据内容替换所有现有 ArcGIS 元数据内容。不改变项目的原始缩略图、地理处理历史和某些项目属性。由升级元数据工具所使用。 |
prep metadata for export.xslt | 准备要导出的元数据。将地理处理历史中的特定条目转移到项目的官方谱系过程步骤中。针对栅格类型适当处理栅格项目属性。删除显示在元数据编辑器项目描述页上的元素的 HTML 格式。由导出元数据工具所使用。 |
remove empty elements.xslt | 移除空的 XML 元素。在使用其他样式表移除不需要的元数据内容后,空的 XML 元素可能得以保留。如果您稍后尝试验证项目的元数据,则空的 XML 元素可能会导致出现问题。例如,如果某个元素为可选元素但为空,则您会经常因为该元素没有值而收到一条错误消息,而一旦移除了空元素,元数据将变得有效。由导入元数据和升级元数据工具所使用。 |
remove FGDC required hints.xslt | 删除包含文本 REQUIRED 的任何 FGDC CSDGM 格式的元数据元素。在创建元数据时由 ArcGIS Desktop 9.3.1 添加这些文本字符串,以表示要创建有效的 FGDC CSDGM 格式元数据所需的元素。但是,验证项目的元数据时这些字符串可能会导致出现问题。当存在默认文本时,即使文本不提供有关此项目的任何信息,该元素也会被视为有效元素(因为包含了文本)。当前版本的 ArcGIS 不会添加默认文本字符串,并且这些字符串也不会升级至 ArcGIS 元数据格式以及项目的其他元数据内容。由升级元数据工具所使用。 |
remove synchronized elements.xslt | 删除由 ArcGIS 元数据同步过程添加到项目元数据的任意信息。不会导入或升级之前同步的内容。导入或升级之后,会同步元数据,且会将反映该项目当前状态的属性记录到元数据中。由导入元数据和升级元数据工具所使用。 |
remove unique identifiers.xslt | 导入内容之前从项目的元数据中删除所有唯一标识符。删除的标识符包括 ArcGIS 自动添加的标识符,和使用元数据编辑器提供的标识符。不能将标识符复制到另一个项目中;标识符应该是资源的唯一描述。如果提供的数据集带有另一种格式的元数据且必须导入,将元数据粘贴到元数据标题下的详细信息页面上的 ArcGIS 元数据编辑器中,以手动将其标识符转移到项目的元数据中。由导入元数据工具所使用。 |
upgrade ESRI-ISO to ArcGIS94.xslt | 使用 ISO 元数据编辑器向导将在 ArcGIS Desktop 9.3.1 中创建的项目的现有 ESRI-ISO 格式元数据升级为 ArcGIS 元数据格式。由升级元数据工具所使用。 |
CSDGM 格式元数据内容特定的过程
ArcGIS 早期版本提供的用于处理 FGDC CSDGM 格式元数据的 XSLT 样式表在项目元数据中仍然可用 - 这是在 描述选项卡 中 FGDC 元数据(只读)标题下显示的信息。当前版本的 ArcGIS 不使用 FGDC CSDGM 格式的元数据。但是如果有需要,XSLT 变换工具可以使用这些样式表处理 CSDGM 格式的元数据。
_MPXML2.xsl | 提取项目元数据中可能存在的所有 FGDC CSDGM 格式的元数据元素,并将其正确排列。例如,此内容可能是用 ArcGIS Desktop 9.3.1 创建的。可以通过 FGDC CSDGM XML 方案或元数据分析程序工具,mp(使用 USGS MP 元数据转换程序工具)来验证结果 XML 文档。该文件位于 <ArcGIS Installation Location>\Metadata\Stylesheets 文件夹中。 |
remove entries from FGDC lineage.xslt | 从项目元数据中可能存在的所有 FGDC CSDGM 格式的谱系信息中删除不需要的过程步骤。导入元数据和复制项目到新位置时,ArcGIS Desktop 9.3.1 会向 CSDGM 格式的谱系中添加过程步骤。这些操作经常发生,且这些条目会遮盖项目谱系中更重要的处理步骤。当前版本的 ArcGIS 不会将这些条目添加到项目谱系中,且项目其余的谱系升级为 ArcGIS 元数据格式时也不会包含这些条目。该文件位于 <ArcGIS Installation Location>\Metadata\Stylesheets\gpTools 文件夹中。 |