Сводка
Использует программное обеспечение .NET 3.5 XML для трансформации метаданных элемента ArcGIS или любого файла XML с использованием таблицы стилей XSLT 1.0 и для сохранения результатов в файл XML.
Шаблоны XSLT могут использоваться для выполнения разнообразных изменений метаданных ArcGIS или файлов XML. Некоторые шаблоны XSLT поставляются с ArcGIS Desktop. Они могут быть использованы для сохранения копии метаданных элемента в файл XML, сохранения копии отображения метаданных в файл HTML и и изменения содержания метаданных элемента. Эти шаблоны XSLT можно найти в папке <ArcGIS Installation Location>\Metadata\Stylesheets:
Более подробнее об этих шаблонах XSLT, поставляемых с ArcGIS Desktop
Вы можете создать свои собственные шаблоны XSLT для выполнения задач с помощью предоставленных в качестве примеров шаблонов. Например, вы можете написать шаблон, выполняющий следующее:
- Обновить адреса или телефонные номера. Создайте модель, которая запускает этот процесс и использует инструмент Импортер метаданных для сохранения обновленных метаданных в исходный элемент ArcGIS.
- Удалить информацию, которая не должна быть доступна всем, до экспорта или публикации метаданных. Создайте модель, затем запустить этот процесс до запуска инструментов Экспорт метаданных или Издатель метаданных.
- Экспортируйте информацию в файлы XML или HTML, которые могут быть использованы на веб-сайте. Создать скрипт, периодически запускающий этот процесс.
Шаблоны XSLT, которые изменяют метаданные ArcGIS, не должны удалять информацию в элементах метаданных Esri и Binary, кроме тех случаев, когда выходные XML будут использоваться вне ArcGIS.
Использование
Выходной файл, созданный шаблоном XSLT, может быть отформатирован как XML, HTML или текст, например. Имя выходного файла по умолчанию, которое будет предоставлено этим инструментом, будет иметь расширение .xml. Если шаблон XSLT, который вы используете, не производит файл XML, вам необходимо предоставить имя файла с более подходящим расширением файла.
Этот инструмент не может обрабатывать метаданные элемента ArcGIS или автономный файл метаданных XML с помощью шаблона XSL, предоставленного ArcGIS Desktop 9.3.1 и более ранних версий, т.к. они не используют технологию XSLT 1.0. Они используют более позднюю технологию, которая не поддерживается .NET 3.5 Framework. Эти шаблоны XSL также не могут использоваться с помощью редактора метаданных ArcGIS.
Параметр XSLT не может использоваться для передачи строки или имени файла XML в шаблон XSLT, который затем может использовать его для изменения метаданных элемента. Например, шаблон XSLT может принять номер телефона, переданный в виде строки, и обновить все номера телефонов в метаданных. Если файл XML передан с этим параметром, шаблон XSLT может объединить информацию, которую содержит, с исходными метаданными.
Обратитесь к файлу add unique identifier.xslt, поставляемому с ArcGIS, за примером того, как передать значение, и к файлу merge upgraded FGDC with existing.xslt за примером объединения информации в отдельный файл XML с метаданными элемента ArcGIS.
Если вы хотите создать пользовательский шаблон XSLT для отображения или экспорта метаданных или файлов XML в ArcGIS, обратитесь к документации Microsoft за .NET 3.5 Framework, чтобы получить полный перечень элементов, функций и синтаксиса XSLT и XPath, которые он поддерживает. В дополнение к некоторым стандартным функциям XSLT доступны некоторые функции, относящиеся к .NET.
Если вы хотите использовать пользовательский шаблон как внутри, так и вне ArcGIS, вы будете иметь больше шансов на успех, если ограничите себя до использования элементов, функций и синтаксиса XSLT 1.0 и XPath 1.0. Приложения, созданные не корпорацией Microsoft, скорее всего не будут поддерживать какие-либо функции XSLT или XPath, относящиеся к .NET.
Шаблоны XSLT, которые используются исключительно с этим инструментом геообработки и редактором метаданных ArcGIS, могут применять некоторые пользовательские функции XSLT, предоставленные ArcGIS для улучшения обработки и отображения метаданных. Чтобы использовать эти функции, шаблон XSLT должен ссылаться на URI пространства имен функции ArcGIS XSLT http://www.esri.com/metadata/, например, <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:esri="http://www.esri.com/metadata/">.
Функции ArcGIS XSLT должны начинаться с префикса, присвоенного пространству имен функции ArcGIS XSLT. Если пространству имен функции ArcGIS XSLT присваивается префикс esri, как в примере выше, функция GuidGen() будет использоваться следующим образом <xsl:value-of select="esri:GuidGen()" />.
- GuidGen() – Возвращает новое значение глобально уникального идентификатора (GUID), который не включает фигурные скобки ({ and }). Например, GUID может быть включен в метаданные, чтобы уникально идентифицировать документ метаданных или источник, который он описывает. За примером обратитесь к файлу add unique identifier.xslt, поставляемому с ArcGIS.
- decodenodeset() – Если элемент XML содержит извлеченные XHTML или XML, эта функция возвратит набор узлов, который может использоваться вместе с функцией msxsl:node-set для обработки отдельных элементов, которые ранее не учитывались. За примерами обратитесь к файлам ESRIISO2.xslt и ItemDescription.xslt, поставляемым с ArcGIS. Например, свойства пространственной привязки элемента автоматически сохраняются в метаданных элемента в качестве извлеченных XML-данных. Резюме и содержимое об ограничении использования, которое может быть помечено в редакторе метаданных во время подготовки к публикации в ArcGIS Online, сохранено в качестве извлеченного XHTML.
- splitcoords() – Список пар координат x,y, разделенных запятыми, преобразуется в список, разделенный пробелами. За примером обратитесь к файлу upgrade ESRI-ISO to ArcGIS94.xslt, поставляемому с ArcGIS.
- strtoupper() – Изменяет входную текстовую строку, в которой будут использоваться только заглавные буквы. За примером обратитесь к файлу add unique identifier.xslt, поставляемому с ArcGIS.
- striphtml() – Если элемент XML содержит извлеченные XHTML или XML, эта функция возвратит текст, содержащийся в элементе, удалив предварительно все пометки. То есть весь текст между двумя знаками меньше (<) или больше (>) будет восприниматься как пометка и будет удален. За примерами обратитесь к файлам ESRIISO2.xslt, ItemDescription.xslt и prep metadata for export.xslt, поставляемым с ArcGIS. Например, при подготовке к экспорту содержимого резюме и использования элементов ограничения для стандартного формата метаданных любые существующие пометки XHTML, будут удалены из содержимого метаданных.
- strtolower() – Изменяет входную строку текста для использования только строчных букв. За примерами обратитесь к файлам auxCountries.xslt, auxLanguages.xslt и auxUCUM.xslt, поставляемым с ArcGIS.
Параметр Источник метаданных имеет сложный тип данных. Если вы используете этот инструмент в модели, создайте переменную для параметра Источник Метаданных в ModelBuilder, щелкнув правой кнопкой инструмент, указав Создать переменную, выбрав Из параметра и щелкнув Источник Метаданных.
Если элемент ArcGIS имеет метаданные, которые были созданы в ArcGIS Desktop 9.3.1 или более ранней версии с помощью редактора метаданных FGDC, и метаданные элемента были обновлены до метаданных ArcGIS, метаданные ArcGIS все еще будут включать исходные элементы XML метаданных FGDC. Метаданные также будут включать другие элементы метаданных ArcGIS.
Можно экспортировать элементы исходных метаданных FGDC с помощью этого инструмента и файла _MPXML2.xsl, поставляемого с ArcGIS. В приведенном выше примере этот файл будет только экспортировать исходное содержимое метаданных формата FGDC – информацию, отображаемую под заголовком Метаданные FGDC (только для чтения) на закладке закладка Описание. Элементы FGDC будут расположены в корректном порядке в выходном файле XML.
Экспортированный файл может быть проверен с помощью Схемы FGDC XML или DTD, или утилиты метаданных USGS, которая известна как mp. Переводчик метаданных USGS MP выполняет эту операцию внутренне перед обработкой содержимого метаданных элемента формата FGDC.
Метаданные, которые опубликованы на внешнем сайте в формате HTML, будут проиндексированы с помощью систем поиска в Интернете, такой как Google, если на сайте правильно раскрыто его содержание.
Синтаксис
arcpy.conversion.XSLTransform(source, xslt, output, {xsltparam})
Параметр | Объяснение | Тип данных |
source | Элемент, метаданные которого будут конвертированы, или отдельный файл XML, который будет конвертирован. | Data Element; Layer |
xslt | Файл стиля XSLT 1.0, совместимый с W3C, который определяет выполняемую трансформацию. Вместе с ArcGIS предоставляется несколько стилей, доступных в папке <ArcGIS Installation Location>\Metadata\Stylesheets. | File |
output | Создаваемый файл, содержащий конвертированные метаданные. Тип файла, созданного в зависимости от выходного метода, указанного в шаблоне XSLT. | File |
xsltparam (Дополнительный) | Файл XML или строка, которая будет перенесена в шаблон XSLT. Чтобы получить этот параметр в шаблоне XSLT, добавьте <xsl:param name="gpparam" /> поверх шаблона XSLT после элемента xsl:output и до первого элемента xsl:template. Пример см. в файле add unique identifier.xslt. | File; String |
Пример кода
Экспорт метаданных в файл HTML
Использует шаблон XSLT ArcGIS.xsl, поставляемый с ArcGIS, для экспорта метаданных в файл 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", "#")
Параметры среды
Информация о лицензиях
- Basic: Да
- Standard: Да
- Advanced: Да