ЗаписьУзловDOM: объявление XML и внутренний DTD

Учебные задачи

Запись открывается на собственном ДокументDOM. Объявление XML должно идти до остальных операций, DTD задан без внешнего файла.

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

Синтаксический пример в серверном обработчике или толстом клиенте. Дерево создаётся из собственной строки либо собственным конструктором в памяти. Здесь 1С, браузер, файлы и сеть не запускались.

Подготовка

  1. Документ и запись создаются в памяти. Имя order одинаково в DTD и записываемом корневом элементе.

  2. Используется двухаргументный вариант ЗаписатьТипДокумента с внутренним подмножеством, без SYSTEM- или PUBLIC-файла.

Документ = Новый ДокументDOM("", "order");
Запись = Новый ЗаписьУзловDOM;
Запись.Открыть(Документ);
Запись.ЗаписатьОбъявлениеXML();
Запись.ЗаписатьТипДокумента("order", "<!ELEMENT order (#PCDATA)>");
Запись.ЗаписатьНачалоЭлемента("order");
Запись.ЗаписатьТекст("BOOK");
Запись.ЗаписатьКонецЭлемента();
Фрагмент = Запись.УзелDOM;
Запись.Закрыть();
Сообщить("Узлов фрагмента: " + Строка(Фрагмент.ДочерниеУзлы.Количество()));

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

  1. Откройте запись для своего документа.

  2. Запишите объявление XML первым, затем внутренний DTD и элемент с текстом.

  3. Получите собственный фрагмент и закройте объект записи.

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

  1. Вызов объявления предшествует записи типа документа и элемента.

  2. УзелDOM — результат записи в объектную модель, а не строка и не уже сохранённый файл.

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

Приведён короткий пример синтаксиса с указанными ограничениями. Он не выполнялся здесь в 1С; проверьте реальные результаты в своём учебном контексте.

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

  1. При неподдерживаемой операции или режиме записи возможно исключение; этот пример не обещает произвольную комбинацию узлов как валидный XML.

  2. Само объявление DTD не выполняет проверку данных по DTD и не загружает внешнюю схему.

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

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

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

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

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