ТипПроверкиXML.СхемаXML

Свойства · XMLSchema

Проверка осуществляется на основании схемы XML.

Полное описание, параметры и ограничения

ТипПроверкиXML.СхемаXML (XMLValidationType.XMLSchema)

ТипПроверкиXML (XMLValidationType)

СхемаXML (XMLSchema)

Доступен, начиная с версии 8.1.

Описание:
Проверка осуществляется на основании схемы XML.
Использование в версии:

Доступен, начиная с версии 8.1.

Методическая информация

Практические примеры

Собственный XML: ТипПроверкиXML.СхемаXML

Показан полный собственный источник, фактический потребитель параметра и аккуратное закрытие читателя.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Тело серверной процедуры собственной обработки / общего модуля. Источники заданы в коде, рабочие данные не читаются.

  2. Дополнительную функцию разместите отдельно в том же модуле. Она читает собственную XSD в DOM, затем создаёт реальный СхемаXML через СоздатьСхемуXML(ЭлементDOM). Не передавайте ЧтениеXML прямо в СоздатьСхемуXML.

Схемы = Новый НаборСхемXML;
Схемы.Добавить(СвояСхемаКоличестваXML());
Параметры = Новый ПараметрыЧтенияXML(, , , ТипПроверкиXML.СхемаXML);
Чтение = Новый ЧтениеXML;
Чтение.УстановитьСтроку("<quantity>3</quantity>", Параметры, Схемы);
Попытка
    Пока Чтение.Прочитать() Цикл
        Если Чтение.ТипУзла = ТипУзлаXML.Текст Тогда
            Сообщить("Прочитано количество: " + Чтение.Значение);
        КонецЕсли;
    КонецЦикла;
Исключение
    Чтение.Закрыть();
    ВызватьИсключение;
КонецПопытки;
Чтение.Закрыть();
Сообщить("Чтение с собственной схемой завершено");
Тот же модуль: настоящая собственная XSD quantity типа xs:int
Функция СвояСхемаКоличестваXML()
    ТекстXSD = "<xs:schema xmlns:xs=""http://www.w3.org/2001/XMLSchema""><xs:element name=""quantity"" type=""xs:int""/></xs:schema>";
    Чтение = Новый ЧтениеXML;
    Чтение.УстановитьСтроку(ТекстXSD);
    Попытка
        ПостроительDOM = Новый ПостроительDOM;
        Документ = ПостроительDOM.Прочитать(Чтение);
    Исключение
        Чтение.Закрыть();
        ВызватьИсключение;
    КонецПопытки;
    Чтение.Закрыть();
    ПостроительСхем = Новый ПостроительСхемXML;
    Схема = ПостроительСхем.СоздатьСхемуXML(Документ.ЭлементДокумента);
    Если Схема = Неопределено Тогда
        ВызватьИсключение "Собственный корень xs:schema не распознан";
    КонецЕсли;
    Возврат Схема;
КонецФункции

Разбор по шагам

  1. Подготовьте фиксированный собственный источник.

  2. Выполните основной блок и необходимые дополнительные функции.

  3. Сравните результат с описанным контрольным случаем.

Как проверить результат

  1. Третий аргумент УстановитьСтроку — настоящий набор схем, а четвёртый аргумент конструктора параметров включает проверку. Для второго ручного опыта замените 3 на три: схема xs:int должна отклонить содержимое. Внешних schemaLocation, DTD, import/include и сетевых обращений нет.

  2. BSL и XML / XSD / DOM 1С при сборке HTML не выполнялись; данные, файлы и сеть не изменяются.

Ожидаемый результат

Режим имеет конкретную роль в чтении / записи собственного XML, а не только подпись перечисления.

На что обратить внимание

  1. ПараметрыЧтенияXML задаются конструктором: многие его свойства только для чтения и не должны присваиваться после создания.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.