Квалифицированная форма.
Полное описание, параметры и ограничения
ФормаПредставленияXS.Квалифицированная (XSForm.Qualified)
ФормаПредставленияXS (XSForm)
Квалифицированная (Qualified)
Доступен, начиная с версии 8.1.
Описание:
Квалифицированная форма.
Использование в версии:
Доступен, начиная с версии 8.1.
Методическая информация
Практические примеры
Построить новую XSD с корневым строковым элементом
Конструктор СхемаXML создаёт пустую модель. Добавляем собственное объявление book типа xs:string и проверяем её структуру и DOM.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Запускайте в отдельной серверной учебной процедуре. Код создаёт новую собственную модель без чтения чужой XSD и без изменения метаданных.
Схема содержит один глобальный элемент book со строковым типом xs:string. Это не составной товар Product из других уроков.
Схема = Новый СхемаXML;
Схема.ПространствоИмен = "urn:guide:new-schema";
Схема.Версия = "1.0";
Схема.Язык = "ru";
Схема.ПрефиксСхемыДляСхемыXML = "xs";
Схема.ФормаЭлементовПоУмолчанию = ФормаПредставленияXS.Квалифицированная;
Элемент = Новый ОбъявлениеЭлементаXS;
Элемент.Имя = "book";
Элемент.ИмяТипа = Новый РасширенноеИмяXML("http://www.w3.org/2001/XMLSchema", "string");
Схема.Содержимое.Добавить(Элемент);
Схема.ОбновитьЭлементDOM();
Набор = Новый НаборСхемXML;
Набор.Добавить(Схема);
Если Не Набор.Проверить() Тогда
ВызватьИсключение "Построенная собственная схема не прошла проверку";
КонецЕсли;
Сообщить(Схема.ОбъявленияЭлементов.Количество() = 1);
Полученный = Схема.ОбъявленияЭлементов.Получить("book", "urn:guide:new-schema");
Если Полученный = Неопределено Тогда
ВызватьИсключение "Новый собственный элемент не попал в объявления";
КонецЕсли;
Сообщить(Полученный.Имя = "book");
Сообщить(Полученный.ЭтоГлобальноеОбъявление);
Сообщить(Полученный.ОпределениеТипа().Имя = "string");
Сообщить(Схема.ЭлементDOM.ПолучитьАтрибут("targetNamespace") = "urn:guide:new-schema");Разбор по шагам
Конструктор СхемаXML создаёт новую модель; namespace, язык и метка версии задаются в ней явно.
Новый ОбъявлениеЭлементаXS сначала отсоединён. ИмяТипа — расширенное XML-имя встроенного string.
Содержимое.Добавить присоединяет объявление к схеме как глобальное.
ОбновитьЭлементDOM формирует её DOM-представление, Набор.Проверить проверяет структуру схемы.
Ищем добавленный элемент по имени/URI, проверяем отсутствие до чтения свойств и его встроенный строковый тип.
Как проверить результат
Пять сообщений Истина.
Одна собственная глобальная декларация book, targetNamespace соответствует новому URI.
Ожидаемый результат
Новая собственная схема построена из компонентов, а не только прочитана из XML.
На что обратить внимание
Проверка схемы не проверяет XML-экземпляр с данными.
Содержимое — коллекция компонентов модели, не список книг.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.