Обработка «Проверка валидности файла XML» позволяет выполнить проверку XML-файла на соответствие правилам заполнения в схеме XML (xsd) или пакету XDTO в конфигурации.
Проверка выполняется по двум режимам:
1. Проверка через чтение XML с указанием типа объекта (Режим проверка "0")
2. Проверка через создание нового объекта XDTO по типу и заполнение его данными файла XML, прочитанного с произвольным типом (anytype), в таком варианте проверки будут выведены все несоответствия заполняемых значений.
// Функция выполняет проверку проверку XML файла по соответствию правилам заполнения в схеме XML (.xsd) или пакету XDTO в конфигурации.
//
// Параметры:
// ФайлXML - Строка - адрес файла XML во временном хранилище
// - ДвоичныеДанные - файла XML
// URIПространстваИмен - Строка - URIПространстваИмен пакета XDTO
// СхемаXML - Строка - адрес файла схемы XML во временном хранилище
// - ТипОбъектаXDTO - тип объекта пакета XDTO в конфигурации
// - ДвоичныеДанные - схемы XML
// ИмяКорневогоЭлемента - Строка - необязательный параметр, в случае СхемаXML с типом строка
// СвояФабрикаXDTO - Неопределено - необязательный параметр, в случае использования фабрики XDTO конфигурации
// - ФабрикаXDTO - будет использоваться переданная фабрика вместо фабрики из конфигурации
// РежимПроверки - Число - "0" - проверка XML файла до первой ошибки (чтение XML с указанием типа)
// "1" - проверка XML файла по всем ошибкам (чтение XML с произвольным типом, заполнение объекта XDTO указанного типа)
//
// КодировкаФайлаXML - Строка - кодировка файла
//
// Возвращаемое значение:
// Массив - массив строк с ошибками проверки XML файла
//
Функция ПроверитьВалидностьXML(Знач ФайлXML, Знач URIПространстваИмен = Неопределено, Знач СхемаXML = Неопределено, Знач ИмяКорневогоЭлемента = "", Знач СвояФабрикаXDTO = Неопределено, Знач РежимПроверки = 0, Знач КодировкаФайлаXML = "") Экспорт
Режим проверки "0":
ЧтениеXML.ОткрытьПоток(ПотокЧтениеXML, ПараметрыЧтенияXML, , КодировкаФайлаXML);
ОбъектXDTO = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML, ТипОбъектаXDTO);
Режим проверки "1":
ЧтениеXML.ОткрытьПоток(ПотокЧтениеXML, ПараметрыЧтенияXML, , КодировкаФайлаXML);
ОбъектXDTO = брикаXDTO.ПрочитатьXML(ЧтениеXML);
НовыйОбъектХDTO = ФабрикаXDTO.Создать(ТипОбъектаXDTO);
НовыйОбъектХDTO = ЗаполнитьТипизированныйОбъектXDTOПоОбъектуXDTOПроизвольногоТипа(НовыйОбъектХDTO, ОбъектXDTO, МассивОшибок, ФабрикаXDTO);
НовыйОбъектХDTO.Проверить();
В результате функция вернет список ошибок как по переданным параметрам в саму функцию, так и по проверке файла на соответствие правилам заполнения в схеме XML.
Проверено на следующих конфигурациях и релизах:
- 1С:Библиотека стандартных подсистем, редакция 3.1, релизы 3.1.10.403
- Бухгалтерия предприятия КОРП, редакция 3.0, релизы 3.0.143.27