ФормаПредставленияXS.Квалифицированная

Свойства · Qualified

Квалифицированная форма.

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

ФормаПредставленияXS.Квалифицированная (XSForm.Qualified)

ФормаПредставленияXS (XSForm)

Квалифицированная (Qualified)

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

Описание:
Квалифицированная форма.
Использование в версии:

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

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

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

Построить новую XSD с корневым строковым элементом

Конструктор СхемаXML создаёт пустую модель. Добавляем собственное объявление book типа xs:string и проверяем её структуру и DOM.

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

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

Подготовка

  1. Запускайте в отдельной серверной учебной процедуре. Код создаёт новую собственную модель без чтения чужой XSD и без изменения метаданных.

  2. Схема содержит один глобальный элемент 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");

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

  1. Конструктор СхемаXML создаёт новую модель; namespace, язык и метка версии задаются в ней явно.

  2. Новый ОбъявлениеЭлементаXS сначала отсоединён. ИмяТипа — расширенное XML-имя встроенного string.

  3. Содержимое.Добавить присоединяет объявление к схеме как глобальное.

  4. ОбновитьЭлементDOM формирует её DOM-представление, Набор.Проверить проверяет структуру схемы.

  5. Ищем добавленный элемент по имени/URI, проверяем отсутствие до чтения свойств и его встроенный строковый тип.

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

  1. Пять сообщений Истина.

  2. Одна собственная глобальная декларация book, targetNamespace соответствует новому URI.

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

Новая собственная схема построена из компонентов, а не только прочитана из XML.

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

  1. Проверка схемы не проверяет XML-экземпляр с данными.

  2. Содержимое — коллекция компонентов модели, не список книг.

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

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

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

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

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