XSLT 变换 (Conversion)

许可等级:BasicStandardAdvanced

摘要

此工具使用 .NET 3.5 XML 软件对 ArcGIS 项目的元数据或使用 XSLT 1.0 样式表的任何 XML 文件进行转换,并将结果保存至某个 XML 文件。

XSLT 样式表可用于对 ArcGIS 元数据或 XML 文件执行多种修改。ArcGIS for Desktop 提供了几种 XSLT 样式表。可以在 <ArcGIS 安装位置>\Metadata\Stylesheets 文件夹中找到这些样式表。下表描述了这些样式表。

下列样式表生成的 HTML 文档用于显示有关描述选项卡中的项目的信息。它们从项目的元数据提取内容,并将 HTML 格式说明添加至该内容。这些样式表从 ArcGIS_Imports 文件夹中的其他文件导入多个 XSLT 模板;已导入的模板执行大部分工作。如果要为显示创建自定义样式表,可以通过阅读 ArcGIS 元数据工具包提供的文档了解有关这些样式表的详细信息。

ArcGIS.xsl

显示项目的完整元数据内容。除默认的“项目描述”样式以外所有的元数据样式都会引用该文件。

ArcGIS_ItemDescription.xsl

仅显示项目的简要描述。默认“项目描述”元数据样式会引用该文件。

<ArcGIS 安装位置>\Metadata\Stylesheets\gpTools 文件夹提供了下列样式表,它们采用项目的元数据并对其进行处理,然后将生成的 XML 文档保存至一个新的 XML 文件。该操作的目标可能是在 ArcGIS 外部使用项目元数据前对该元数据进行过滤。或者,目标可能是更改项目的元数据;在这种情况下,可以将生成的 XML 文件保存回到原始项目,因为其元数据会使用元数据导入程序工具。可以创建模型或脚本,所创建的内容首先运行含有样式表的此工具以更新元数据内容,然后将更改立即保存回到该项目。下列样式表随 ArcGIS for Desktop 提供,用于执行某些明确定义的元数据任务。

add unique identifier.xslt

添加或更改唯一标识符,该标识符存储在项目的元数据中。通过此样式表修改的标识符存储在 Esri 的 PublishedDocID 元数据元素中,可使用该标识符来标识元数据目录中的文档,如 ArcIMS 元数据服务或 Geoportal。

exact copy of.xslt

以 XML 文件的形式创建项目元数据的精确副本。例如,您可能会使用此样式表将地理数据库项目的元数据副本保存至本地文件以供检查。

generate metadata template.xslt

将 ArcGIS 元数据内容以元数据模板的形式复制到可以导入其他项目的新 XML 文件。从模板中排除同步的元数据内容并移除任何空元素。

remove empty elements.xslt

移除空的 XML 元素。在使用其他样式表移除不需要的元数据内容后,空的 XML 元素可能得以保留。如果您稍后尝试验证项目的元数据,则空的 XML 元素可能会导致出现问题。例如,如果某个元素为可选元素但为空,则您会经常因为该元素没有值而收到一条错误消息,而一旦移除了空元素,元数据将变得有效。

remove entries from FGDC lineage.xslt

删除 ArcGIS Desktop 9.3.1 添加到 FGDC 格式谱系的过程步骤。当将元数据导入某个项目并将该项目复制到新位置时,会将过程步骤添加到 FGDC 格式谱系。不会将此信息添加到使用当前版本的 ArcGIS 的项目谱系,并且也不会升级至 ArcGIS 元数据格式以及其他项目谱系。

remove FGDC required hints.xslt

删除包含文本 REQUIRED 的任何 FGDC 格式的元数据元素。在创建 FGDC 格式的元数据时由 ArcGIS Desktop 9.3.1 添加这些文本字符串,以表示要创建有效的 FGDC CSDGM 元数据需要元数据元素。但是,如果您稍后尝试验证项目的元数据,则这些字符串可能会导致出现问题。当存在默认文本时该元素会被视为有效元素,这是因为即使文本不提供有关此项目的任何信息,该元素中也会包含文本。当前版本的 ArcGIS 不会添加默认文本字符串,并且这些字符串也不会升级至 ArcGIS 元数据格式以及项目的其他元数据内容。

remove geoprocessing history.xslt

删除项目的地理处理历史。尽管所有的元数据地理处理工具都旨在保存项目的地理处理历史,但随着时间的推移,历史记录的容量变得很大,人们很难以 XML 文档的形式对项目的元数据进行处理。在这些情况下,可能需要删除项目的地理处理历史。

remove local storage info.xslt

删除项目的元数据中可能存在的任意计算机名称。根据找到计算机名称的位置,可以删除包含信息的元数据元素或从 UNC 路径中删除计算机名称,或者可以更新元素的值以确定保留的位置。

remove pre94 metadata elements.xslt

删除任意 ESRI-ISO 格式 XML 元素,并从项目元数据中删除 ArcGIS 元数据格式中所不包括的任意 FGDC CSDGM 格式 XML 元素。

remove synchronized elements.xslt

删除由 ArcGIS 元数据同步过程添加到项目元数据的任意信息。

remove thumbnail.xslt

删除项目的缩略图。尽管所有的元数据地理处理工具都旨在保存项目的缩略图,但在某些情况下可能要删除项目的缩略图。您可以在在“描述”选项卡中编辑某个项目的元数据时删除其缩略图。使用此脚本,可以运行批处理删除多个项目的缩略图。

remove unique identifiers.xslt

删除项目元数据的所有唯一标识符,其中包括 ArcGIS 可能添加的所有标识符和使用元数据编辑器提供的任意标识符。不得将标识符复制到另一个项目。

_MPXML2.xsl

从项目的元数据中提取 FGDC CSDGM 格式 XML 元素(如果存在),并对其进行正确排序。通过此样式表提取的信息是在描述选项卡FGDC 元数据(只读)标题下方显示的内容。

元数据地理处理工具使用 ArcGIS for Desktop 提供的某些样式表执行部分导入、导出和升级过程:

可基于所提供的样式表来创建您自己的 XSLT 样式表以执行任务。例如,您可能会为执行以下操作而编写一个样式表:

XSLT 样式表用于修改 ArcGIS 元数据,但不应删除 ESRI 及“进制元数据元素中的信息,在 ArcGIS 外部使用输出 XML 时除外。

用法

语法

XSLTransform_conversion (source, xslt, output, {xsltparam})
参数说明数据类型
source

要进行元数据转换的项,或者要进行转换的独立 XML 文件。

Data Element; Layer
xslt

符合 W3C 规范的 XSLT 1.0 样式表文件用于定义将要执行的转换。

ArcGIS 提供了几种样式表,可以在 <ArcGIS 安装位置>\Metadata\Stylesheets 文件夹中找到这些样式表。

File
output

要创建的文件,用于包含转换后的元数据。

所创建文件的类型取决于 XSLT 样式表所指定的输出方式。

File
xsltparam
(可选)

将被传递给 XSLT 样式表的 XML 文件或字符串。

如要获得 XSLT 样式表中的此参数,需在 XSLT 样式表顶端,xsl:output 元素之后,第一个 xsl:template 元素之前添加 <xsl:param name="gpparam" />。有关示例,请参考 add unique identifier.xslt 文件。

File; String

代码实例

将元数据导出为 HTML 文件

使用 ArcGIS 提供的 XSLT 样式表 ArcGIS.xsl 将元数据导出为可在网站上使用的 HTML 文件。

import arcpy
from arcpy import env
env.workspace = "C:/data"
#set local variables
dir = arcpy.GetInstallInfo("desktop")["InstallDir"]
xslt = dir + "Metadata/Stylesheets/ArcGIS.xsl"
arcpy.XSLTransform_conversion("vegetation", xslt, "vegetation.html", "#")

环境

相关主题

许可信息

ArcGIS for Desktop Basic:是
ArcGIS for Desktop Standard:是
ArcGIS for Desktop Advanced:是
9/15/2013