Проверка схемы XML (Конвертация)
Краткая информация
Использует программное обеспечение .NET 3.5 Framework's XML для проверки метаданных элемента ArcGIS или файла XML. XML отмечен, чтобы видеть, следует ли он правилам структуры и содержания, обрисованными схемой XML. С этим инструментом могут использоваться схемы, записанные с использованием языков схем DTD или W3C XML.
Метаданные ArcGIS отформатированы не таким образом, что их можно проверить непосредственно относительно схемы XML. Однако другие инструменты геообработки метаданных могут экспортировать метаданные ArcGIS в файлы XML, которые отформатированы по схеме XML стандарта метаданных или по DTD; используйте этот инструмент для проверки экспортированных файлов XML или отдельного XML-файла метаданных, который уже корректно отформатирован согласно XML-схеме стандарта метаданных.
Если метаданные или файл XML являются некорректными для указанной Схемы XML или для DTD, в сообщениях или предупреждениях инструмента появятся предупреждение или ошибка, возвращенные программным обеспечением XML.
Использование
Для некоторых схем XML необходимо, чтобы вы задали место для имени в XML, которое вы хотите проверить, в то время, как для других это не требуется. Если значение предоставлено в параметре URI пространства имен (Namespace URI), когда ничего не требуется, любые сообщения об ошибках и предупреждения будут связаны с не нахождением правильной информации в XML-схеме и не будут идентифицировать, является ли XML-документ корректным или нет.
Например, если вы хотите проверить XML-документ, соответствующий стандарту Федеральный комитет географических данных (FGDC, Federal Geographic Data Committee) Content Standard for Digital Geospatial Metadata (CSDGM) с использованием XML-схемы http://www.fgdc.gov/schemas/metadata/fgdc-std-001-1998.xsd, вам не надо предоставлять значение параметра URI пространства имен (Namespace URI).
При проверке XML-документа с помощью DTD, имя проверяемого элемента надо ввести в качестве параметра URI пространства имён (Namespace URI). Например, если DOCTYPE были добавлены в XML-документ, ссылающийся на внешний DTD, этот синтаксис может выглядеть так: <!DOCTYPE metadata SYSTEM "http://www.fgdc.gov/schemas/metadata/fgdc-std-001-1998.dtd">. Чтобы проверить XML-документ с помощью этого же внешнего DTD этим инструментом, надо предоставить значение http://www.fgdc.gov/schemas/metadata/fgdc-std-001-1998.dtd в параметре URL-схемы (Schema URL). Предоставьте имя корневого элемента XML-документа в параметре URI пространства имен (Namespace URI): metadata. Содержание корневого элемента проверено.
Если проверяемый XML-документ содержит встроенную ссылку на внешние XML-схему или XML DTD, эта схема не будет использоваться для проверки. Используемая для проверки схема и пространство имён либо корневой элемент для проверки должны быть явно указаны в параметрах URL Схемы (Schema URL) и URI пространства имён (Namespace URI).
Сообщение Добавление схем... указывает на то, что схема загружается. Все ошибки и предупреждения, найденные в схеме, будут представлены здесь.
Сообщение Чтение документа... указывает на начало проверки метаданных или файла XML. Все предупреждения и ошибки, найденные в метаданных или файле XML, будут представлены здесь.
При форматировании XML-файлов метаданных для следования стандарту метаданных ISO 19139 Geographic information — Metadata — XML schema implementation и проверке их относительно версии 2005 XML-схем, предоставленных вместе с этим стандартом, инструмент сообщает о проблеме, связанной с файлами XML-схемы. Это предупреждение появляется только в программном обеспечении XML на основе платформы .NET 3.5 Framework и отображается в сообщениях инструмента следующим образом: предупреждение проверки (423:8): пустой выбор не может быть выполнен, если значение minOccurs не равно 0. Это предупреждение оповещает о наличии проблемы в 8-ом символе строки 423; оно возникает в XML-схеме coverage.xsd. Другие анализаторы XML не сообщают о проблемах с теми же Схемами XML.
-
Параметр Источник метаданных (Source Metadata) имеет сложный тип данных. Если вы используете этот инструмент в модели, создайте переменную для параметра Источник метаданных (Source Metadata) в ModelBuilde. Для этого щелкните правой кнопкой инструмент и выберите Создать переменную (Make Variable) > Из параметра (From Parameter) > Источник метаданных (Source Metadata).
-
При использовании этого инструмента в ModelBuilder, параметр Выходные метаданные (Output Metadata) получен из параметра Источник метаданных (Source Metadata).
Синтаксис
Параметр | Объяснение | Тип данных |
source |
Поле, метаданные которого будут проверены, или автономный файл XML, который будет проверен. | Data Element; Layer |
schemaurl |
Схема XML или XML DTD, которая описывает структуру и содержание корректного документа XML. | String |
nsuri (дополнительно) |
Пространство имени в XML, которое будет проверяться в XML-схеме (если это возможно), или корневой элемент документа для XML DTD. Если это значение на подходит для используемой XML-схемы, введите знак решетка (#) вместо URI пространства имен. | String |
Пример кода
Проверяет автономный файл XML, содержащий отформатированные метаданные ISO 19139 с помощью он-лайн Схемы ISO 19139 XML. Для этих Схем XML требуется, чтобы вы указали пространство имен XML, которые вы хотите проверить.
import arcpy
from arcpy import env
env.workspace = "C:/data"
#set local variables
schema = "http://www.isotc211.org/schemas/2005/gmd/metadataEntity.xsd"
namespace = "http://www.isotc211.org/2005/gmd"
arcpy.XMLSchemaValidator_conversion("metadata_19139.xml", schema, namespace)
Проверяет автономный файл XML, содержащий отформатированные метаданные FGDC CSDGM, с помощью локальной копии файлов Схемы FGDC XML. Их можно загрузить с сайта стандартов метаданных FGDC. Этим Схемам XML не требуется, чтобы вы указывали пространство имен XML, которые вы хотите проверить.
import arcpy
from arcpy import env
env.workspace = "C:/data"
#set local variables
schema = "c:/metadata/FGDCxsd/non-annotated/fgdc-std-001-1998.xsd"
arcpy.XMLSchemaValidator_conversion("metadata_fgdc.xml", schema, "#")