Записывает объявление XML. Если формируется XML-документ, а не фрагмент XML-документа, то в начало документа надо поместить его объявление. Для того чтобы поместить в документ его объявление, необходимо вызвать данный метод. При этом в начало документа помещается текст следующего вида: <?xml version="1.0"?>. Если при открытии файла или установке строки была указана кодировка, то в объявление также помещается и атрибут 'encoding'. Например: <?xml version="1.0" encoding="UTF-8"?>. Запись объявления XML должна выполняться перед другими операциями записи XML.
Синтаксис
ЗаписатьОбъявлениеXML()Примеры платформы
ЗаписьXML.ОткрытьФайл("c:/docs/data/xml");
ЗаписьXML.ЗаписатьОбъявлениеXML();Полное описание, параметры и ограничения
ЗаписьУзловDOM.ЗаписатьОбъявлениеXML (DOMNodeWriter.WriteXMLDeclaration)
ЗаписьУзловDOM (DOMNodeWriter)
ЗаписатьОбъявлениеXML (WriteXMLDeclaration)
Доступен, начиная с версии 8.1.
Синтаксис:
ЗаписатьОбъявлениеXML()
Описание:
Записывает объявление XML.
Если формируется XML-документ, а не фрагмент XML-документа, то в начало документа надо поместить его объявление. Для того чтобы поместить в документ его объявление, необходимо вызвать данный метод. При этом в начало документа помещается текст следующего вида: <?xml version="1.0"?>.
Если при открытии файла или установке строки была указана кодировка, то в объявление также помещается и атрибут 'encoding'. Например: <?xml version="1.0" encoding="UTF-8"?>.
Запись объявления XML должна выполняться перед другими операциями записи XML.
Доступность:
Тонкий клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Пример:
ЗаписьXML.ОткрытьФайл("c:/docs/data/xml");
ЗаписьXML.ЗаписатьОбъявлениеXML();
Использование в версии:
Доступен, начиная с версии 8.1.
Методическая информация
Практические примеры
ЗаписьУзловDOM: объявление XML и внутренний DTD
Запись открывается на собственном ДокументDOM. Объявление XML должно идти до остальных операций, DTD задан без внешнего файла.
Где и как запускать
Синтаксический пример в серверном обработчике или толстом клиенте. Дерево создаётся из собственной строки либо собственным конструктором в памяти. Здесь 1С, браузер, файлы и сеть не запускались.
Подготовка
Документ и запись создаются в памяти. Имя order одинаково в DTD и записываемом корневом элементе.
Используется двухаргументный вариант ЗаписатьТипДокумента с внутренним подмножеством, без SYSTEM- или PUBLIC-файла.
Документ = Новый ДокументDOM("", "order");
Запись = Новый ЗаписьУзловDOM;
Запись.Открыть(Документ);
Запись.ЗаписатьОбъявлениеXML();
Запись.ЗаписатьТипДокумента("order", "<!ELEMENT order (#PCDATA)>");
Запись.ЗаписатьНачалоЭлемента("order");
Запись.ЗаписатьТекст("BOOK");
Запись.ЗаписатьКонецЭлемента();
Фрагмент = Запись.УзелDOM;
Запись.Закрыть();
Сообщить("Узлов фрагмента: " + Строка(Фрагмент.ДочерниеУзлы.Количество()));Разбор по шагам
Откройте запись для своего документа.
Запишите объявление XML первым, затем внутренний DTD и элемент с текстом.
Получите собственный фрагмент и закройте объект записи.
Как проверить результат
Вызов объявления предшествует записи типа документа и элемента.
УзелDOM — результат записи в объектную модель, а не строка и не уже сохранённый файл.
Ожидаемый результат
Приведён короткий пример синтаксиса с указанными ограничениями. Он не выполнялся здесь в 1С; проверьте реальные результаты в своём учебном контексте.
На что обратить внимание
При неподдерживаемой операции или режиме записи возможно исключение; этот пример не обещает произвольную комбинацию узлов как валидный XML.
Само объявление DTD не выполняет проверку данных по DTD и не загружает внешнюю схему.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.